From fb6daae1240531ef074907266b5e9cc2b0b8b45e Mon Sep 17 00:00:00 2001 From: God <10745413@qq.com> Date: Tue, 6 Sep 2022 14:09:47 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../flow/BaseAccAdjApplyCompleteDto.java | 4 ++ .../busvehicleapply/flow/GetNodeQuery.java | 5 ++- .../baseaccadjapply/BaseAccadjApplyRest.java | 2 +- .../BaseAccadjApplyService.java | 34 +++++++++++++- .../anrui/flowable/api/utils/ProcDefEnum.java | 2 +- .../api/scmapplyinbound/ScmApplyInbound.java | 10 +++-- .../scmapplyinbound/ScmApplyInboundDto.java | 10 +++-- .../scmapplyinbound/ScmApplyInboundVo.java | 10 +++-- .../SubmitScmApplyInboundDto.java | 1 - .../ScmApplyInboundService.java | 44 ++++++++++++++++++- 10 files changed, 105 insertions(+), 17 deletions(-) diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/flow/BaseAccAdjApplyCompleteDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/flow/BaseAccAdjApplyCompleteDto.java index 7c74b8a9da..a1b703766a 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/flow/BaseAccAdjApplyCompleteDto.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/flow/BaseAccAdjApplyCompleteDto.java @@ -1,10 +1,12 @@ package com.yxt.anrui.base.api.baseaccadjapply.flow; +import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicle; import com.yxt.common.core.dto.Dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; +import java.util.List; import java.util.Map; /** @@ -38,4 +40,6 @@ public class BaseAccAdjApplyCompleteDto implements Dto { private String businessSid; @ApiModelProperty(value = "分支字段及业务字段") private Map formVariables; + @ApiModelProperty("调账车辆列表") + private List baseInternalPurchaseVehicles; // 调账车辆列表 } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/flow/GetNodeQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/flow/GetNodeQuery.java index f3367f67b1..2d84a7b33e 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/flow/GetNodeQuery.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/flow/GetNodeQuery.java @@ -1,10 +1,12 @@ package com.yxt.anrui.base.api.busvehicleapply.flow; +import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicle; import com.yxt.common.core.query.Query; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; +import java.util.List; /** * @Author dimengzhe @@ -16,10 +18,11 @@ public class GetNodeQuery implements Query { private static final long serialVersionUID = -5674867230708197611L; @ApiModelProperty(value = "环节定义id") - @NotBlank(message = "参数错误:taskDefKey") private String taskDefKey; @ApiModelProperty(value = "业务sid") private String businessSid; + @ApiModelProperty("调账车辆列表") + private List baseInternalPurchaseVehicles; // 调账车辆列表 /* @ApiModelProperty(value = "分支字段及业务字段") private Map formVariables;*/ diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyRest.java index 22d26141b4..49e1f486c9 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyRest.java @@ -111,7 +111,7 @@ public class BaseAccadjApplyRest implements BaseAccadjApplyFeign { BusinessVariables bv = new BusinessVariables(); BeanUtil.copyProperties(query, bv); bv.setModelId(ProcDefEnum.BASEACCADJAPPLY.getProDefId()); - return baseAccadjApplyService.complete(bv); + return baseAccadjApplyService.complete(bv,query.getBaseInternalPurchaseVehicles()); } @Override diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java index f1e369ea3b..b6195b47c9 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java @@ -317,7 +317,8 @@ public class BaseAccadjApplyService extends MybatisBaseService baseInternalPurchaseVehicles = new ArrayList<>(); + return complete(bv,baseInternalPurchaseVehicles); } return rb; } @@ -360,12 +361,26 @@ public class BaseAccadjApplyService extends MybatisBaseService baseInternalPurchaseVehicles) { ResultBean rb = ResultBean.fireFail(); BaseAccadjApply baseAccadjApply = fetchBySid(bv.getBusinessSid()); String callInOrgSid = baseAccadjApply.getCallInOrgSid(); String callOutOrgSid = baseAccadjApply.getCallOutOrgSid(); List 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; + } + } + } + bv.getFormVariables().put("isAdj",i); if (bv.getTaskId().equals(baseAccadjApply.getTaskId())) { ResultBean resultBean = flowableFeign.handleProsess(bv); if (!resultBean.getSuccess()) { @@ -562,6 +577,21 @@ public class BaseAccadjApplyService extends MybatisBaseService baseInternalPurchaseVehicles = query.getBaseInternalPurchaseVehicles(); + 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; + } + } + } + bv.getFormVariables().put("isAdj",i); ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java index 3c56b422f9..69192bfbb6 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java @@ -29,7 +29,7 @@ public enum ProcDefEnum { FINCOSTAPPLY("费用申请","process_u0pahv0s:5:457512"), FINPAYAPPLY("付款申请","process_gin2tntb:3:457508"), BUSDELIVEREDAPPLY("出库申请","process_wgt1n66l:2:357504"), - BASEACCADJAPPLY("调账申请","process_r6pyzqoz:1:400012"), + BASEACCADJAPPLY("调账申请","process_r6pyzqoz:1:567508"), BASESHUNINVOICAPPLY("调车开票申请","process_u4xrvaso:1:400008"), BASEVEHINSTALLMODPRICE("上装调价申请","process_s0a0svth:1:492508"), SCMVEHREBATEWITHAPPLY("单车返利预提申请","process_qegarc7r:1:535004"), diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInbound.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInbound.java index 483c6a786f..6f8f3a3b77 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInbound.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInbound.java @@ -123,12 +123,16 @@ public class ScmApplyInbound extends BaseEntity { private String num; @ApiModelProperty("扣减运费") private String deductionFreight; - @ApiModelProperty("计算政策2:扣减政策1") - private String deductionPolicyTwoOne; @ApiModelProperty("计算政策3:扣减政策1") + private String deductionPolicyTwoOne; + @ApiModelProperty("计算政策4:扣减政策1") private String deductionPolicyThreeOne; - @ApiModelProperty("计算政策3:扣减政策2") + @ApiModelProperty("计算政策4:扣减政策2") private String deductionPolicyThreeTwo; + @ApiModelProperty("计算政策3:扣减政策2") + private String deductionPolicyThreeTwoo; + @ApiModelProperty("计算政策4:扣减政策3") + private String deductionPolicyFourThree; @ApiModelProperty(value = "采购类型key") private String manPurOrderTypeKey; @ApiModelProperty(value = "采购类型value") diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundDto.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundDto.java index 5b3199120a..02bf5572c2 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundDto.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundDto.java @@ -137,12 +137,16 @@ public class ScmApplyInboundDto implements Dto { private String useOrgName; @ApiModelProperty("扣减运费") private String deductionFreight; - @ApiModelProperty("计算政策2:扣减政策1") - private String deductionPolicyTwoOne; @ApiModelProperty("计算政策3:扣减政策1") + private String deductionPolicyTwoOne; + @ApiModelProperty("计算政策4:扣减政策1") private String deductionPolicyThreeOne; - @ApiModelProperty("计算政策3:扣减政策2") + @ApiModelProperty("计算政策4:扣减政策2") private String deductionPolicyThreeTwo; + @ApiModelProperty("计算政策3:扣减政策2") + private String deductionPolicyThreeTwoo; + @ApiModelProperty("计算政策4:扣减政策3") + private String deductionPolicyFourThree; @ApiModelProperty(value = "采购类型key") private String manPurOrderTypeKey; @ApiModelProperty(value = "采购类型value") diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundVo.java index fbd1563ecf..a45efddffc 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundVo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundVo.java @@ -133,12 +133,16 @@ public class ScmApplyInboundVo implements Vo { private Date priceDate; @ApiModelProperty("扣减运费") private String deductionFreight; - @ApiModelProperty("计算政策2:扣减政策1") - private String deductionPolicyTwoOne; @ApiModelProperty("计算政策3:扣减政策1") + private String deductionPolicyTwoOne; + @ApiModelProperty("计算政策4:扣减政策1") private String deductionPolicyThreeOne; - @ApiModelProperty("计算政策3:扣减政策2") + @ApiModelProperty("计算政策4:扣减政策2") private String deductionPolicyThreeTwo; + @ApiModelProperty("计算政策3:扣减政策2") + private String deductionPolicyThreeTwoo; + @ApiModelProperty("计算政策4:扣减政策3") + private String deductionPolicyFourThree; @ApiModelProperty(value = "采购类型key") private String manPurOrderTypeKey; @ApiModelProperty(value = "采购类型value") diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/SubmitScmApplyInboundDto.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/SubmitScmApplyInboundDto.java index d720880041..51b9d1eb17 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/SubmitScmApplyInboundDto.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/SubmitScmApplyInboundDto.java @@ -40,5 +40,4 @@ public class SubmitScmApplyInboundDto extends ScmApplyInboundDto { private String orgSidPath; @ApiModelProperty("员工sid") private String staffSid; - } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java index b63ca1b4f0..f71051e89a 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java @@ -179,10 +179,10 @@ public class ScmApplyInboundService extends MybatisBaseService pathSidByUserSid = sysStaffOrgFeign.getPathSidByUserSid(userSid); String createOrgSid = pathSidByUserSid.getData(); - inboundVehicle.setUseOrgSid(createOrgSid); + inboundVehicle.setUseOrgSid(createOrgSid);*/ save(inboundVehicle); // 保存车辆列表 //scmApplyInboundVehicleService.saveApplyInboundVehicleList(vehicleList, inboundVehicle.getSid(), inboundVehicle.getModelSid()); @@ -356,10 +356,27 @@ public class ScmApplyInboundService extends MybatisBaseService vehicleList = dto.getVehicleList(); if (StringUtils.isBlank(busSid)) { Map variables = BeanUtil.beanToMap(dto); ResultBean resultBean = saveOrUpdateApplyInBound(dto);//insert String businessSid = resultBean.getData().toString(); + ScmApplyInbound scmApplyInbound = fetchBySid(businessSid); + List scmApplyInboundVehicleDtos1 = new ArrayList<>(); + ScmApplyInboundDto scmApplyInboundDto = new ScmApplyInboundDto(); + for (ScmApplyInboundVehicleDto scmApplyInboundVehicleDto : vehicleList) { + String vinNo = scmApplyInboundVehicleDto.getVinNo(); + if (StringUtils.isBlank(vinNo)){ + scmApplyInboundVehicleService.deleteBySid(scmApplyInboundVehicleDto.getSid()); + BeanUtil.copyProperties(scmApplyInbound,scmApplyInboundDto); + scmApplyInboundDto.setSid(null); + scmApplyInboundVehicleDtos1.add(scmApplyInboundVehicleDto); + } + } + if (scmApplyInboundVehicleDtos1.size() > 0){ + scmApplyInboundDto.setVehicleList(scmApplyInboundVehicleDtos1); + saveOrUpdateApplyInBound(scmApplyInboundDto); + } BusinessVariables bv = new BusinessVariables(); BeanUtil.copyProperties(dto, bv); bv.setOrgSidPath(orgSidPath); @@ -378,6 +395,27 @@ public class ScmApplyInboundService extends MybatisBaseService variables = BeanUtil.beanToMap(dto); + ScmApplyInbound scmApplyInbound = fetchBySid(businessSid); + List scmApplyInboundVehicleDtos1 = new ArrayList<>(); + List scmApplyInboundVehicleDtos2 = new ArrayList<>(); + ScmApplyInboundDto scmApplyInboundDto = new ScmApplyInboundDto(); + List vehicleList = dto.getVehicleList(); + for (ScmApplyInboundVehicleDto scmApplyInboundVehicleDto : vehicleList) { + String vinNo = scmApplyInboundVehicleDto.getVinNo(); + if (StringUtils.isBlank(vinNo)){ + scmApplyInboundVehicleService.deleteBySid(scmApplyInboundVehicleDto.getSid()); + BeanUtil.copyProperties(scmApplyInbound,scmApplyInboundDto); + scmApplyInboundDto.setSid(null); + scmApplyInboundVehicleDtos1.add(scmApplyInboundVehicleDto); + }else { + scmApplyInboundVehicleDtos2.add(scmApplyInboundVehicleDto); + } + } + if (scmApplyInboundVehicleDtos1.size() > 0){ + scmApplyInboundDto.setVehicleList(scmApplyInboundVehicleDtos1); + scmApplyInboundDto.setNum(String.valueOf(scmApplyInboundVehicleDtos1.size())); + saveOrUpdateApplyInBound(scmApplyInboundDto); + } ScmApplyInbound entity = this.fetchBySid(dto.getSid()); String businessTaskid = entity.getTaskId(); BusinessVariables bv = new BusinessVariables(); @@ -390,12 +428,14 @@ public class ScmApplyInboundService extends MybatisBaseService resultBean1 = flowableFeign.startProcess(bv); UpdateFlowFieldVo uff = resultBean1.getData(); updateFlowFiled(BeanUtil.beanToMap(uff)); return resultBean1; } else if (StringUtils.isNotBlank(businessTaskid) && businessTaskid.equals(dto.getTaskId())) {//只有数据一致的时候才能进行下一步 + dto.setVehicleList(scmApplyInboundVehicleDtos2); saveOrUpdateApplyInBound(dto); bv.setTaskDefKey(entity.getTaskDefKey()); bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");