From 62c5b641067e35a88ba4ad7c91a963e1e366aacd Mon Sep 17 00:00:00 2001 From: God <10745413@qq.com> Date: Sat, 30 Jul 2022 17:10:38 +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 --- .../BaseShuntingInvoicingApplyFeign.java | 4 + ...seShuntingInvoicingApplyFeignFallback.java | 5 ++ .../busvehicleorder/BusVehicleOrderFeign.java | 4 + .../BusVehicleOrderFeignFallback.java | 5 ++ .../BaseShuntingInvoicingApplyRest.java | 8 ++ .../BaseShuntingInvoicingApplyService.java | 23 +++++- .../biz/basevehicle/BaseVehicleMapper.java | 2 +- .../biz/basevehicle/BaseVehicleMapper.xml | 2 +- .../biz/basevehicle/BaseVehicleService.java | 5 +- .../BaseVehicleCertificateMapper.java | 3 + .../BaseVehicleCertificateService.java | 4 + .../BusVehicleOrderMapper.java | 4 + .../busvehicleorder/BusVehicleOrderRest.java | 5 ++ .../BusVehicleOrderService.java | 6 ++ .../ScmVehicleReturnDetailsVo.java | 2 + .../scmvehiclereturn/ScmVehicleReturnDto.java | 4 +- .../ScmVehicleReturnFeign.java | 16 +++- .../ScmVehicleReturnQuery.java | 8 -- .../scmvehiclereturn/flow/GetNodeQuery.java | 25 ++++++ .../api/scmvehiclereturn/flow/GetNodeVo.java | 25 ++++++ .../flow/ScmVehicleReturnCompleteDto.java | 42 ++++++++++ .../flow/ScmVehicleReturnTaskQuery.java | 56 +++++++++++++ .../flow/SubmitScmVehicleReturnDto.java | 29 +++++++ .../ScmApplyInboundService.java | 7 ++ .../ScmVehicleReturnMapper.xml | 2 +- .../ScmVehicleReturnRest.java | 21 +++-- .../ScmVehicleReturnService.java | 79 +++++++++++++------ 27 files changed, 349 insertions(+), 47 deletions(-) create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/flow/GetNodeQuery.java create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/flow/GetNodeVo.java create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/flow/ScmVehicleReturnCompleteDto.java create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/flow/ScmVehicleReturnTaskQuery.java create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/flow/SubmitScmVehicleReturnDto.java diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeign.java index 2c8c3a1c42..fcc4423d0f 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeign.java @@ -107,6 +107,10 @@ public interface BaseShuntingInvoicingApplyFeign { @PostMapping("/callInOrgToCallOutOrg") public ResultBean callInOrgToCallOutOrg(@Valid @RequestBody BaseShuntingInvoicingApplyCompleteDto query); + @ApiOperation(value = "办理(同意)") + @PostMapping("/callOutSaleManageExa") + public ResultBean callOutSaleManageExa(@Valid @RequestBody BaseShuntingInvoicingApplyCompleteDto query); + @ApiOperation(value = "获取上一个环节") @GetMapping(value = "/getPreviousNodesForReject") ResultBean getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query); diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeignFallback.java index a6a875abd4..5c1d23fc59 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeignFallback.java @@ -96,6 +96,11 @@ public class BaseShuntingInvoicingApplyFeignFallback implements BaseShuntingInvo return null; } + @Override + public ResultBean callOutSaleManageExa(BaseShuntingInvoicingApplyCompleteDto query) { + return null; + } + @Override public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { return null; diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java index 3df015492c..60d162a378 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java @@ -98,6 +98,10 @@ public interface BusVehicleOrderFeign { @GetMapping("/selectDetails") ResultBean selectDetails(@RequestParam("sid") String sid); + @ApiOperation("入账审批通关修改采购订单状态") + @PostMapping("/updateState") + ResultBean updateState(@RequestParam("vehicleOrderSid") String vehicleOrderSid); + /******************************** App接口 ********************************/ @ApiOperation("手机端排产车分页列表") diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java index 7516397d0d..aa1bc90ea3 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java @@ -87,6 +87,11 @@ public class BusVehicleOrderFeignFallback implements BusVehicleOrderFeign { return null; } + @Override + public ResultBean updateState(String vehicleOrderSid) { + return null; + } + @Override public ResultBean> getAppProductionSchedulingByPageList(PagerQuery pagerQuery) { return null; diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyRest.java index be9a4e143e..aea2be1654 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyRest.java @@ -122,6 +122,14 @@ public class BaseShuntingInvoicingApplyRest implements BaseShuntingInvoicingAppl return baseShuntingInvoicingApplyService.callInOrgToCallOutOrg(bv); } + @Override + public ResultBean callOutSaleManageExa(BaseShuntingInvoicingApplyCompleteDto query) { + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + bv.setModelId(ProcDefEnum.BASESHUNINVOICAPPLY.getProDefId()); + return baseShuntingInvoicingApplyService.callOutSaleManageExa(bv); + } + @Override public ResultBean getPreviousNodesForReject(GetNodeQuery query) { return baseShuntingInvoicingApplyService.getPreviousNodesForReject(query); diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyService.java index 9851d4eb58..547252c9a4 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyService.java @@ -42,6 +42,7 @@ import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeQuery; import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo; import com.yxt.anrui.base.biz.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleService; import com.yxt.anrui.base.biz.baseshuntinginvoicinapplyeveh.BaseShuntingInvoicinApplyeVehService; +import com.yxt.anrui.base.biz.basevehiclecertificate.BaseVehicleCertificateService; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; @@ -97,6 +98,8 @@ public class BaseShuntingInvoicingApplyService extends MybatisBaseService createQueryWrapper(BaseShuntingInvoicingApplyQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -336,6 +339,25 @@ public class BaseShuntingInvoicingApplyService extends MybatisBaseService baseShuntingInvoicinApplyeVehDetailsVos = baseShuntingInvoicinApplyeVehService.fetchByMainSid(bv.getBusinessSid()); + if (bv.getTaskId().equals(baseShuntingInvoicingApply.getTaskId())) { + ResultBean resultBean = flowableFeign.handleProsess(bv); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + for (BaseShuntingInvoicinApplyeVehDetailsVo baseShuntingInvoicinApplyeVehDetailsVo : baseShuntingInvoicinApplyeVehDetailsVos) { + baseVehicleCertificateService.updateCertificateState(baseShuntingInvoicinApplyeVehDetailsVo.getVinNo()); + } + return rb.success().setData(resultBean.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + } + /** * 流程流转:调入到调出 跨分公司 * @@ -484,5 +506,4 @@ public class BaseShuntingInvoicingApplyService extends MybatisBaseService { * @param vehicleStateValue 车辆状态vlaue * @return */ - ResultBean updateByVinNo(@Param("vinNoList") List stringList, @Param("vehicleState") String vehicleState, @Param("vehicleStateValue") String vehicleStateValue); + void updateByVinNo(@Param("vinNoList") List stringList, @Param("vehicleState") String vehicleState, @Param("vehicleStateValue") String vehicleStateValue); /** * 询该车辆数组中是否包含车辆状态为采购退库状态的车辆,若有返回true,没有则返回false diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml index bf2a976bb7..609d04e3e4 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml @@ -681,7 +681,7 @@ update base_vehicle - set vehicleState = #{vehicleState} and vehicleStateValue = #{vehicleStateValue} + set vehicleState = #{vehicleState},vehicleStateValue = #{vehicleStateValue} where vinNo in #{vinNo} diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java index 1149df7dbc..6be35fbdbe 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java @@ -1053,6 +1053,7 @@ public class BaseVehicleService extends MybatisBaseService 0) { qw.notIn("bv.vinNo", params.getVinNoList()); } + qw.eq("bv.isDelete",0); //锁定状态 qw.eq("bv.lockedState", VehicleState.LockEnum.UN_LOCK.getCode()); // qw.and(wrapper -> wrapper.isNull("bv.lockedStateValue").or().eq("bv.lockedStateValue", "")); @@ -1069,10 +1070,12 @@ public class BaseVehicleService extends MybatisBaseService stringList = baseVehicleUpdateQuery.getVinNoLis(); String vehicleState = baseVehicleUpdateQuery.getVehicleState(); String vehicleStateValue = baseVehicleUpdateQuery.getVihicleStateValue(); - return baseMapper.updateByVinNo(stringList, vehicleState, vehicleStateValue); + baseMapper.updateByVinNo(stringList, vehicleState, vehicleStateValue); + return rb.success().setMsg("更新成功"); } /** diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateMapper.java index 4824d4a53c..87b39b673e 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateMapper.java @@ -89,4 +89,7 @@ public interface BaseVehicleCertificateMapper extends BaseMapper { List getAppReadyCar(@Param("modelSid") String modelSid, @Param("configSid") String configSid); String getContractPrice(String sid); + + @Update("update bus_vehicle_order set state = 1 where sid = #{vehicleOrderSid}") + void updateState(String vehicleOrderSid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderRest.java index 6dd49da2d3..d32bba6a8a 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderRest.java @@ -162,6 +162,11 @@ public class BusVehicleOrderRest implements BusVehicleOrderFeign { return rb.success().setData(vo); } + @Override + public ResultBean updateState(String vehicleOrderSid) { + return busVehicleOrderService.updateState(vehicleOrderSid); + } + /** * 手机端排产车分页列表 * diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java index 6a58f39c12..3ecf19c5d9 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java @@ -512,4 +512,10 @@ public class BusVehicleOrderService extends MybatisBaseService formVariables; +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/flow/GetNodeVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/flow/GetNodeVo.java new file mode 100644 index 0000000000..ddf953983a --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/flow/GetNodeVo.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.scm.api.scmvehiclereturn.flow; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/6/28 11:09 + * @Description + */ +@Data +public class GetNodeVo implements Vo { + private static final long serialVersionUID = 8802774014747063504L; + @ApiModelProperty(value = "节点名称") + private String name; + @ApiModelProperty(value = "节点id") + private String id; + @ApiModelProperty(value = "审批组") + private List candidateGroups; + @ApiModelProperty(value = "是否是最后环节") + private String endTask; +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/flow/ScmVehicleReturnCompleteDto.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/flow/ScmVehicleReturnCompleteDto.java new file mode 100644 index 0000000000..87a82f8ba7 --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/flow/ScmVehicleReturnCompleteDto.java @@ -0,0 +1,42 @@ +package com.yxt.anrui.scm.api.scmvehiclereturn.flow; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.util.HashMap; +import java.util.Map; + +/** + * @Author dimengzhe + * @Date 2022/6/28 9:01 + * @Description + */ +@Data +public class ScmVehicleReturnCompleteDto implements Dto { + private static final long serialVersionUID = 3240453987322803352L; + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @ApiModelProperty(value = "用户全路径sid") + @NotBlank(message = "参数错误:orgSidPath") + private String orgSidPath; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id") + @NotBlank(message = "参数错误:instanceId") + private String instanceId; + @ApiModelProperty(value = "意见") +// @NotBlank(message = "参数错误:comment") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + @ApiModelProperty(value = "分支字段及业务字段") + private Map formVariables = new HashMap<>(); +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/flow/ScmVehicleReturnTaskQuery.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/flow/ScmVehicleReturnTaskQuery.java new file mode 100644 index 0000000000..cc3403013c --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/flow/ScmVehicleReturnTaskQuery.java @@ -0,0 +1,56 @@ +package com.yxt.anrui.scm.api.scmvehiclereturn.flow; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/6/28 17:29 + * @Description 终止、撤回、驳回查询参数 + */ +@Data +public class ScmVehicleReturnTaskQuery implements Query { + private static final long serialVersionUID = -4006020771892400451L; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("任务Id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + /** + * 终止、驳回 + */ + @ApiModelProperty("任务意见") + private String comment; + /** + * 终止、撤回、驳回 + */ + @ApiModelProperty("用户Sid") + private String userSid; + /** + * 终止 + */ + @ApiModelProperty("流程实例Id") + private String instanceId; + /*@ApiModelProperty("用户Id") + private String userId; + @ApiModelProperty("节点") + private String targetKey; + @ApiModelProperty("流程变量信息") + private Map values = new HashMap<>(); + @ApiModelProperty("审批人") + private String assignee; + @ApiModelProperty("候选人") + private List candidateUsers = new ArrayList<>(); + @ApiModelProperty("审批组") + private List candidateGroups = new ArrayList<>();*/ +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/flow/SubmitScmVehicleReturnDto.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/flow/SubmitScmVehicleReturnDto.java new file mode 100644 index 0000000000..7df06192ec --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/flow/SubmitScmVehicleReturnDto.java @@ -0,0 +1,29 @@ +package com.yxt.anrui.scm.api.scmvehiclereturn.flow; + +import com.yxt.anrui.scm.api.scmapplyinbound.ScmApplyInboundDto; +import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/6/27 13:38 + * @Description + */ +@Data +public class SubmitScmVehicleReturnDto extends ScmVehicleReturnDto { + private static final long serialVersionUID = 378585162071125756L; + /*@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;*/ + +} 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 f8de6885eb..fb004930a1 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 @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.base.api.basevehicle.BaseVehicleDto; import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; +import com.yxt.anrui.base.api.busvehicleorder.BusVehicleOrderFeign; import com.yxt.anrui.base.api.commonappendix.CommonAttachTypeEnum; import com.yxt.anrui.base.common.enums.VehicleState; import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; @@ -66,6 +67,8 @@ public class ScmApplyInboundService extends MybatisBaseService listPage(PagerQuery pq) { ScmApplyInboundQuery query = pq.getParams(); @@ -408,6 +413,7 @@ public class ScmApplyInboundService extends MybatisBaseService scmApplyInboundVehicleDtos = scmApplyInboundVehicleService.fetchByMainSid(businessSid); List baseVehicleDtos = new ArrayList<>(); for (ScmApplyInboundVehicleDto scmApplyInboundVehicleDto : scmApplyInboundVehicleDtos) { @@ -466,6 +472,7 @@ public class ScmApplyInboundService extends MybatisBaseService diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnRest.java index 80b97ceca8..6ac1769611 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnRest.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnRest.java @@ -4,15 +4,14 @@ import cn.hutool.core.bean.BeanUtil; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.scm.api.flow.FlowTaskVo; +import com.yxt.anrui.scm.api.scmvehiclereturn.flow.GetNodeQuery; import com.yxt.anrui.scm.api.scmvehiclereturn.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import io.swagger.annotations.Api; -import io.swagger.annotations.ApiParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; /** @@ -56,8 +55,8 @@ public class ScmVehicleReturnRest implements ScmVehicleReturnFeign { } @Override - public ResultBean getNextNodesForSubmit(ScmVehicleReturnDto scmVehicleReturnDto) { - return scmVehicleReturnService.getNextNodesForSubmit(scmVehicleReturnDto); + public ResultBean getNextNodesForSubmit(GetNodeQuery query) { + return scmVehicleReturnService.getNextNodesForSubmit(query); } @Override @@ -73,6 +72,16 @@ public class ScmVehicleReturnRest implements ScmVehicleReturnFeign { bv.setFormVariables(BeanUtil.beanToMap(bvd)); return scmVehicleReturnService.complete(bv); } + + @Override + public ResultBean companyToDivisionOperate(ScmVehicleReturnFlowQuery scmVehicleReturnFlowQuery) { + BusinessVariables bv=new BusinessVariables(); + BeanUtil.copyProperties(scmVehicleReturnFlowQuery,bv); + bv.setModelId(ProcDefEnum.SCMVEHICLERETURN.getProDefId()); + bv.setFormVariables(BeanUtil.beanToMap(scmVehicleReturnFlowQuery)); + return scmVehicleReturnService.companyToDivisionOperate(bv); + } + @Override public ResultBean breakProcess(FlowTaskVo flowTaskVo) { return scmVehicleReturnService.breakProcess(flowTaskVo); @@ -84,7 +93,7 @@ public class ScmVehicleReturnRest implements ScmVehicleReturnFeign { } @Override - public ResultBean getPreviousNodesForReject(ScmVehicleReturnFlowDto dto) { - return scmVehicleReturnService.getPreviousNodesForReject(dto); + public ResultBean getPreviousNodesForReject(GetNodeQuery query) { + return scmVehicleReturnService.getPreviousNodesForReject(query); } } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java index 094ffe9cc5..2c52884fb0 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java @@ -2,13 +2,16 @@ package com.yxt.anrui.scm.biz.scmvehiclereturn; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchase; import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareDto; import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareFeign; import com.yxt.anrui.base.api.basemanufacturerretwareveh.BaseManufacturerRetwareVehDto; import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; import com.yxt.anrui.base.api.basevehicle.BaseVehicleUpdateQuery; +import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo; import com.yxt.anrui.base.common.enums.BillTypeEnum; import com.yxt.anrui.base.common.utils.Rule; import com.yxt.anrui.base.common.utils.domain.BillNo; @@ -25,11 +28,9 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; -import com.yxt.anrui.portal.api.sysuser.SysUser; -import com.yxt.anrui.portal.api.sysuser.SysUserFeign; -import com.yxt.anrui.portal.api.sysuser.SysUserInfoVo; -import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.portal.api.sysuser.*; import com.yxt.anrui.scm.api.scmvehiclereturn.*; +import com.yxt.anrui.scm.api.scmvehiclereturn.flow.GetNodeQuery; import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetails; import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetailsDto; import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetailssVo; @@ -49,10 +50,8 @@ import org.springframework.transaction.annotation.Transactional; import javax.validation.constraints.NotBlank; import java.math.BigDecimal; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * @Author dimengzhe @@ -102,7 +101,7 @@ public class ScmVehicleReturnService extends MybatisBaseService pagging = baseMapper.pagerList(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); @@ -193,7 +191,7 @@ public class ScmVehicleReturnService extends MybatisBaseService variables = BeanUtil.beanToMap(scmVehicleReturnDto); variables.put("isLoan", new BigDecimal(scmVehicleReturnDto.getMoney()).compareTo(new BigDecimal("0")) > 0); - ResultBean sysUserInfoVoResultBean = sysUserFeign.selectUserInfoByUserSid(scmVehicleReturnDto.getUserSid()); + ResultBean sysUserInfoVoResultBean = sysUserFeign.selectUserInfoByUserSid(scmVehicleReturnDto.getCreateBySid()); //取组织架构的全路径sid SysStaffOrg sysStaffOrg = sysStaffOrgFeign.getOrgByStaffSid(sysUserInfoVoResultBean.getData().getStaffSid()).getData(); String orgSidPath = sysStaffOrg.getOrgSidPath(); @@ -205,6 +203,7 @@ public class ScmVehicleReturnService extends MybatisBaseService>> 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()); + List candidateGroups = voList.get(0).getCandidateGroups(); + UserQuery userQuery = new UserQuery(); + userQuery.setRoleSid(candidateGroups.get(0)); + userQuery.setOrgSidPath(""); + List sysUserVos = sysUserFeign.getUserByRole(userQuery).getData(); + StringBuilder nextNodeUserSids = new StringBuilder(); + if (sysUserVos.size() > 0) { + for (SysUserVo sysUserVo : sysUserVos) { + String sid = sysUserVo.getSid(); + nextNodeUserSids.append(sid).append(","); + } + } + if (org.apache.commons.lang3.StringUtils.isBlank(nextNodeUserSids)) { + return rb.setMsg("下一环节暂无操作人员"); + } + String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(",")); + bv.setNextNodeUserSids(substring); + if (bv.getTaskId().equals(scmVehicleReturn.getTaskId())) { + ResultBean resultBean1 = flowableFeign.handleProsess(bv); + if (!resultBean1.getSuccess()) { + return rb.setMsg(resultBean1.getMsg()); + } + updateFlowFiled(BeanUtil.beanToMap(resultBean1.getData())); + return rb.success().setData(resultBean1.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + } + /** * 更新流程相关的状态 @@ -509,7 +543,7 @@ public class ScmVehicleReturnService extends MybatisBaseService resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid); ResultBean resultBean1 = sysOrganizationFeign.fetchBySid(resultBean.getData()); @@ -540,23 +574,24 @@ public class ScmVehicleReturnService extends MybatisBaseService 0); + bv.setTaskDefKey(query.getTaskDefKey()); + bv.setFormVariables(BeanUtil.beanToMap(query)); + String money = query.getFormVariables().get("money").toString(); + bv.getFormVariables().put("isLoan", new BigDecimal(money).compareTo(new BigDecimal("0")) > 0); ResultBean processCirculationNodesByMap = flowTaskFeign.getNextNodesForSubmit(bv); processCirculationNodesByMap.setCode("200"); processCirculationNodesByMap.setSuccess(true); return processCirculationNodesByMap; } - public ResultBean getPreviousNodesForReject(ScmVehicleReturnFlowDto dto) { + public ResultBean getPreviousNodesForReject(GetNodeQuery query) { BusinessVariables bv = new BusinessVariables(); - bv.setTaskDefKey(dto.getTaskDefKey()); + bv.setTaskDefKey(query.getTaskDefKey()); bv.setModelId(ProcDefEnum.SCMVEHICLERETURN.getProDefId()); - bv.setFormVariables(BeanUtil.beanToMap(dto)); + bv.setFormVariables(BeanUtil.beanToMap(query)); ResultBean processCirculationNodesByMap = flowTaskFeign.getPreviousNodesForReject(bv); processCirculationNodesByMap.setCode("200"); processCirculationNodesByMap.setSuccess(true);