|
|
@ -28,16 +28,17 @@ package com.yxt.anrui.base.biz.baseaccadjapply; |
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
import cn.hutool.core.date.DateUtil; |
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
import com.alibaba.fastjson.TypeReference; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.yxt.anrui.base.api.baseaccadjapply.*; |
|
|
|
import com.yxt.anrui.base.api.baseaccadjapply.flow.BaseAccAdjApplyTaskQuery; |
|
|
|
import com.yxt.anrui.base.api.baseaccadjapply.flow.GetNodeQuery; |
|
|
|
import com.yxt.anrui.base.api.baseaccadjapply.flow.GetNodeVo; |
|
|
|
import com.yxt.anrui.base.api.baseaccadjapply.flow.SubmitBaseAccAdjApplyDto; |
|
|
|
import com.yxt.anrui.base.api.baseaccadjapplyeveh.BaseAccadjApplyeVeh; |
|
|
|
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicle; |
|
|
|
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleDetailsVo; |
|
|
|
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeQuery; |
|
|
|
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo; |
|
|
|
import com.yxt.anrui.base.biz.baseaccadjapplyeveh.BaseAccadjApplyeVehService; |
|
|
|
import com.yxt.anrui.base.biz.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleService; |
|
|
|
import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService; |
|
|
@ -45,6 +46,7 @@ import com.yxt.anrui.base.common.enums.VehicleState; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.KingDeeResult; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock; |
|
|
|
import com.yxt.anrui.flowable.api.flow.FlowableFeign; |
|
|
|
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; |
|
|
|
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; |
|
|
@ -318,7 +320,7 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
bv.setComment("重新提交"); |
|
|
|
bv.setInstanceId(dto.getInstanceId()); |
|
|
|
List<BaseInternalPurchaseVehicle> baseInternalPurchaseVehicles = new ArrayList<>(); |
|
|
|
return complete(bv,baseInternalPurchaseVehicles); |
|
|
|
return complete(bv, baseInternalPurchaseVehicles); |
|
|
|
} |
|
|
|
return rb; |
|
|
|
} |
|
|
@ -361,26 +363,33 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
return baseMapper.updateFlowFiled(map); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean complete(BusinessVariables bv,List<BaseInternalPurchaseVehicle> baseInternalPurchaseVehicles) { |
|
|
|
public ResultBean complete(BusinessVariables bv, List<BaseInternalPurchaseVehicle> baseInternalPurchaseVehicles) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BaseAccadjApply baseAccadjApply = fetchBySid(bv.getBusinessSid()); |
|
|
|
String callInOrgSid = baseAccadjApply.getCallInOrgSid(); |
|
|
|
String callOutOrgSid = baseAccadjApply.getCallOutOrgSid(); |
|
|
|
List<String> purchaseSids = baseAccadjApplyeVehService.fetchByMainSid(baseAccadjApply.getSid()); |
|
|
|
Boolean i = false; |
|
|
|
if (baseInternalPurchaseVehicles.size() > 0){ |
|
|
|
for (BaseInternalPurchaseVehicle baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) { |
|
|
|
String witPinMoney = baseInternalPurchaseVehicle.getWitPinMoney(); |
|
|
|
String sid = baseInternalPurchaseVehicle.getSid(); |
|
|
|
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = baseInternalPurchaseVehicleService.fetchBySid(sid); |
|
|
|
String witPinMoney1 = baseInternalPurchaseVehicle1.getWitPinMoney(); |
|
|
|
if (!witPinMoney.equals(witPinMoney1)){ |
|
|
|
i = true; |
|
|
|
break; |
|
|
|
if (baseInternalPurchaseVehicles != null){ |
|
|
|
if (baseInternalPurchaseVehicles.size() > 0) { |
|
|
|
for (BaseInternalPurchaseVehicle baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) { |
|
|
|
String witPinMoney = baseInternalPurchaseVehicle.getWitPinMoney(); |
|
|
|
String sid = baseInternalPurchaseVehicle.getSid(); |
|
|
|
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = baseInternalPurchaseVehicleService.fetchBySid(sid); |
|
|
|
String witPinMoney1 = baseInternalPurchaseVehicle1.getWitPinMoney(); |
|
|
|
if (!witPinMoney.equals(witPinMoney1)) { |
|
|
|
i = true; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
bv.getFormVariables().put("isAdj",i); |
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|
Map<String, Object> formVariables = bv.getFormVariables(); |
|
|
|
if (formVariables == null){ |
|
|
|
map.put("isAdj", i); |
|
|
|
bv.setFormVariables(map); |
|
|
|
} |
|
|
|
if (bv.getTaskId().equals(baseAccadjApply.getTaskId())) { |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
@ -395,8 +404,67 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
baseVehicleService.updateVehicleState(VehicleState.StockEnum.STOCK.getCode(), VehicleState.StockEnum.STOCK.getRemarks(), baseInternalPurchaseVehicle.getVinNo(), callInOrgSid); |
|
|
|
} |
|
|
|
try { |
|
|
|
List<String> stringList = baseAccadjApplyeVehService.fetchByMainSid(baseAccadjApply.getSid()); |
|
|
|
List<BaseInternalPurchaseVehicle> baseInternalPurchaseVehicles1 = new ArrayList<>(); |
|
|
|
for (String s : stringList) { |
|
|
|
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle = baseInternalPurchaseVehicleService.fetchBySid(s); |
|
|
|
baseInternalPurchaseVehicles1.add(baseInternalPurchaseVehicle); |
|
|
|
} |
|
|
|
//推送金蝶采购退库单
|
|
|
|
StkInStock stkInStock=new StkInStock(); |
|
|
|
/** |
|
|
|
* // 入库日期:FDate (必填项)
|
|
|
|
*/ |
|
|
|
stkInStock.setFDate(DateUtil.now()); |
|
|
|
/** |
|
|
|
* // 采购部门:FPurchaseDeptId (必填项)
|
|
|
|
*/ |
|
|
|
stkInStock.setFPurchaseDeptId("05.04"); |
|
|
|
/** |
|
|
|
* //采购组织:FPurchaseOrgId (必填项)
|
|
|
|
*/ |
|
|
|
stkInStock.setFPurchaseOrgId("100012"); |
|
|
|
/** |
|
|
|
* // 供应商:FSupplierId (必填项)
|
|
|
|
*/ |
|
|
|
stkInStock.setFSupplierId("010001"); |
|
|
|
/** |
|
|
|
* //分配目标组织:TOrgId (必填项)
|
|
|
|
*/ |
|
|
|
stkInStock.setTOrgId("100012"); |
|
|
|
/** |
|
|
|
* // 物料列表:FInStockEntry (必填项)
|
|
|
|
*/ |
|
|
|
List<StkInStock.FInStockEntry> fInStockEntry=new ArrayList<>(); |
|
|
|
for (BaseInternalPurchaseVehicle baseInternalPurchaseVehicle : baseInternalPurchaseVehicles1) { |
|
|
|
StkInStock.FInStockEntry sf=new StkInStock.FInStockEntry(); |
|
|
|
/** |
|
|
|
* 车辆类型 |
|
|
|
*/ |
|
|
|
sf.setCllx("03"); |
|
|
|
/** |
|
|
|
* // 批号:FLot
|
|
|
|
*/ |
|
|
|
sf.setFLot("11112222"); |
|
|
|
/** |
|
|
|
* // 物料编码:FMaterialId (必填项)
|
|
|
|
*/ |
|
|
|
sf.setFMaterialId(baseInternalPurchaseVehicle.getVinNo()); |
|
|
|
/** |
|
|
|
* // 仓库:FStockId
|
|
|
|
*/ |
|
|
|
sf.setFStockId("CK001"); |
|
|
|
/** |
|
|
|
* 物料分组 |
|
|
|
*/ |
|
|
|
sf.setWlfz("01"); |
|
|
|
fInStockEntry.add(sf); |
|
|
|
} |
|
|
|
stkInStock.setFInStockEntry(fInStockEntry); |
|
|
|
finKingDeeFeign.draftStkInStock(stkInStock); |
|
|
|
//推送金蝶销售出库单
|
|
|
|
SalOutStock salOutStock = createSalOutStock(baseAccadjApply); |
|
|
|
ResultBean<List<KingDeeResult>> listResultBean = finKingDeeFeign.draftSalOutStock(salOutStock); |
|
|
|
finKingDeeFeign.draftSalOutStock(salOutStock); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
@ -411,6 +479,12 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
SalOutStock salOutStock = new SalOutStock(); |
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
|
|
|
Date date = new Date(); |
|
|
|
List<String> stringList = baseAccadjApplyeVehService.fetchByMainSid(baseAccadjApply.getSid()); |
|
|
|
List<BaseInternalPurchaseVehicle> baseInternalPurchaseVehicles = new ArrayList<>(); |
|
|
|
for (String s : stringList) { |
|
|
|
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle = baseInternalPurchaseVehicleService.fetchBySid(s); |
|
|
|
baseInternalPurchaseVehicles.add(baseInternalPurchaseVehicle); |
|
|
|
} |
|
|
|
/** |
|
|
|
* 日期:FDate (必填项) |
|
|
|
*/ |
|
|
@ -433,37 +507,39 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
//salOutStock.setFStockOrgId("101");
|
|
|
|
|
|
|
|
List<SalOutStock.FEntity> fEntity = new ArrayList<>(); |
|
|
|
|
|
|
|
SalOutStock.FEntity fe = new SalOutStock.FEntity(); |
|
|
|
/** |
|
|
|
* 物料编码:FMaterialID |
|
|
|
*/ |
|
|
|
fe.setFMaterialID(" JX091054"); |
|
|
|
/** |
|
|
|
* 库存单位:FUnitID (必填项) |
|
|
|
*/ |
|
|
|
fe.setFUnitID("liang"); |
|
|
|
/** |
|
|
|
* 实发数量:FRealQty |
|
|
|
*/ |
|
|
|
fe.setFRealQty(1.0); |
|
|
|
/** |
|
|
|
* 批号:FLot |
|
|
|
*/ |
|
|
|
fe.setFlot("1233321"); |
|
|
|
/** |
|
|
|
* 货主:FOwnerID (必填项) |
|
|
|
*/ |
|
|
|
fe.setFOwnerID("101"); |
|
|
|
/** |
|
|
|
* 仓库:FStockID |
|
|
|
*/ |
|
|
|
fe.setFStockID("CK001"); |
|
|
|
/** |
|
|
|
* 库存状态:FStockStatusID |
|
|
|
*/ |
|
|
|
fe.setFStockStatusID("KCZT01_SYS"); |
|
|
|
fEntity.add(fe); |
|
|
|
for (BaseInternalPurchaseVehicle baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) { |
|
|
|
SalOutStock.FEntity fe = new SalOutStock.FEntity(); |
|
|
|
/** |
|
|
|
* 物料编码:FMaterialID |
|
|
|
*/ |
|
|
|
fe.setFMaterialID(" JX091054"); |
|
|
|
/** |
|
|
|
* 库存单位:FUnitID (必填项) |
|
|
|
*/ |
|
|
|
fe.setFUnitID("liang"); |
|
|
|
/** |
|
|
|
* 实发数量:FRealQty |
|
|
|
*/ |
|
|
|
fe.setFRealQty(1.0); |
|
|
|
/** |
|
|
|
* 批号:FLot |
|
|
|
*/ |
|
|
|
fe.setFlot("1233321"); |
|
|
|
/** |
|
|
|
* 货主:FOwnerID (必填项) |
|
|
|
*/ |
|
|
|
fe.setFOwnerID("101"); |
|
|
|
/** |
|
|
|
* 仓库:FStockID |
|
|
|
*/ |
|
|
|
//fe.setFStockID("CK001");
|
|
|
|
fe.setFStockID(baseInternalPurchaseVehicle.getInventoryLocationSid()); |
|
|
|
/** |
|
|
|
* 库存状态:FStockStatusID |
|
|
|
*/ |
|
|
|
fe.setFStockStatusID("KCZT01_SYS"); |
|
|
|
fEntity.add(fe); |
|
|
|
} |
|
|
|
salOutStock.setFEntity(fEntity); |
|
|
|
return salOutStock; |
|
|
|
} |
|
|
@ -579,19 +655,19 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
bv.setModelId(ProcDefEnum.BASEACCADJAPPLY.getProDefId()); |
|
|
|
List<BaseInternalPurchaseVehicle> baseInternalPurchaseVehicles = query.getBaseInternalPurchaseVehicles(); |
|
|
|
Boolean i = false; |
|
|
|
if (baseInternalPurchaseVehicles.size() > 0){ |
|
|
|
if (baseInternalPurchaseVehicles.size() > 0) { |
|
|
|
for (BaseInternalPurchaseVehicle baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) { |
|
|
|
String witPinMoney = baseInternalPurchaseVehicle.getWitPinMoney(); |
|
|
|
String sid = baseInternalPurchaseVehicle.getSid(); |
|
|
|
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = baseInternalPurchaseVehicleService.fetchBySid(sid); |
|
|
|
String witPinMoney1 = baseInternalPurchaseVehicle1.getWitPinMoney(); |
|
|
|
if (!witPinMoney.equals(witPinMoney1)){ |
|
|
|
if (!witPinMoney.equals(witPinMoney1)) { |
|
|
|
i = true; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
bv.getFormVariables().put("isAdj",i); |
|
|
|
bv.getFormVariables().put("isAdj", i); |
|
|
|
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); |
|
|
|
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
|
|
|
|
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); |
|
|
|