From 94246dc27a9db6f66a6497432ed7b38f7a425dc2 Mon Sep 17 00:00:00 2001 From: dimengzhe <251008545@qq.com> Date: Wed, 29 Jun 2022 13:33:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E4=BA=A7=E7=AE=A1=E7=90=86=E3=80=81?= =?UTF-8?q?=E6=9C=AA=E5=94=AE=E4=B9=B0=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../flow/SubmitActualSalesDto.java | 7 +- .../BaseVehicleActualSalesService.java | 95 ++++++++++++------- .../BusVehicleApplyService.java | 2 + 3 files changed, 67 insertions(+), 37 deletions(-) diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/flow/SubmitActualSalesDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/flow/SubmitActualSalesDto.java index dcda791ef3..fb7e82e795 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/flow/SubmitActualSalesDto.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/flow/SubmitActualSalesDto.java @@ -12,18 +12,17 @@ import lombok.Data; @Data public class SubmitActualSalesDto extends BaseVehicleActualSalesDto { private static final long serialVersionUID = 3584091380240114011L; - - @ApiModelProperty("业务sid") - private String businessSid; @ApiModelProperty("意见") private String comment; @ApiModelProperty("流程实例id") private String instanceId; @ApiModelProperty("任务id") private String taskId; + /* @ApiModelProperty("业务sid") + private String businessSid; @ApiModelProperty("流程定义id") private String modelId; @ApiModelProperty("下一环节的代办人sid") - private String nextNodeUserSids; + private String nextNodeUserSids;*/ } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java index 1c6653e5e0..86cba1cc47 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java @@ -8,9 +8,9 @@ import com.yxt.anrui.base.api.basevehicle.BaseVehicleUpdateQuery; import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetails; import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsVo; import com.yxt.anrui.base.api.basevehicleactualsales.*; -import com.yxt.anrui.base.api.basevehicleactualsales.flow.BaseActualSalesTaskQuery; import com.yxt.anrui.base.api.basevehicleactualsales.flow.ActualGetNodeQuery; import com.yxt.anrui.base.api.basevehicleactualsales.flow.ActualGetNodeVo; +import com.yxt.anrui.base.api.basevehicleactualsales.flow.BaseActualSalesTaskQuery; import com.yxt.anrui.base.api.basevehicleactualsales.flow.SubmitActualSalesDto; import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService; import com.yxt.anrui.base.biz.basevehicleactualdetails.BaseVehicleActualDetailsService; @@ -243,17 +243,6 @@ public class BaseVehicleActualSalesService extends MybatisBaseService resultBean = saveOrUpdateVehicleSales(dto); - if (!resultBean.getSuccess()) { - return rb.setMsg(resultBean.getMsg()); - } - //判断车辆的结算状态是否包含预买断的状态,如果是的话,返回提交失败 - boolean isTrue = isTrue(resultBean.getData().toString()); - if (isTrue) { - return rb.setMsg("提交失败!该申请中包含结算状态已是预买断状态的车辆"); - } - String businessSid = resultBean.getData(); //根据用户sid获取staffSid ResultBean userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid()); if (!userVoResultBean.getSuccess()) { @@ -266,6 +255,25 @@ public class BaseVehicleActualSalesService extends MybatisBaseService resultBean = saveOrUpdateVehicleSales(dto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + String businessSid = resultBean.getData(); + //判断车辆的结算状态是否包含预买断的状态,如果是的话,返回提交失败 + boolean isTrue = isTrue(businessSid); + if (isTrue) { + return rb.setMsg("提交失败!该申请中包含结算状态已是预买断状态的车辆"); + } //创建BusinessVariables实体对象 BusinessVariables bv = new BusinessVariables(); Map variables = BeanUtil.beanToMap(dto); @@ -275,29 +283,51 @@ public class BaseVehicleActualSalesService extends MybatisBaseService voResultBean = flowableFeign.startProcess(bv); - UpdateFlowFieldVo ufVo = voResultBean.getData(); - updateFlowFiled(BeanUtil.beanToMap(ufVo)); - return voResultBean; - } else { - return rb.setMsg("操作失败"); + baseVehicleActualSales = fetchBySid(dto.getSid()); + if (r == 1) { + ResultBean voResultBean = flowableFeign.startProcess(bv); + UpdateFlowFieldVo ufVo = voResultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(ufVo)); + return voResultBean; + } + if (r == 2) { + // ToDo:驳回到发起人后再次提交 + bv.setTaskId(baseVehicleActualSales.getTaskId()); + bv.setTaskDefKey(baseVehicleActualSales.getNodeId()); + bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); + bv.setInstanceId(dto.getInstanceId()); + return complete(bv); + } + return rb; + } + + /** + * 判断提交的流程是否被允许 + * + * @param dto + * @return + */ + private synchronized int submitBusinessData(SubmitActualSalesDto dto, BaseVehicleActualSales baseVehicleActualSales) { + int r = 0; + if (StringUtils.isBlank(dto.getSid())) { + r = 1; + } else { + baseVehicleActualSales = fetchBySid(dto.getSid()); + if (baseVehicleActualSales != null) { + String businessTaskId = baseVehicleActualSales.getTaskId(); + if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { + //新提交 + r = 1; + } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { + //二次提交//只有数据一致的时候才能进行下一步 + r = 2; } - } else if (dto.getTaskId().equals(baseVehicleActualSales.getTaskId())) { - // ToDo:驳回到发起人后再次提交 - bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); - bv.setInstanceId(dto.getInstanceId()); - return complete(bv); } else { - return rb.setMsg("操作失败"); + r = 3; } - } else { - return rb.setMsg("该申请不存在"); + } + return r; } /** @@ -318,14 +348,13 @@ public class BaseVehicleActualSalesService extends MybatisBaseService voResultBean = flowableFeign.startProcess(bv); UpdateFlowFieldVo ufVo = voResultBean.getData(); @@ -235,6 +236,7 @@ public class BusVehicleApplyService extends MybatisBaseService