From 41acd9b21c34ceab753bef0496164d7161e94a67 Mon Sep 17 00:00:00 2001 From: dimengzhe <251008545@qq.com> Date: Wed, 13 Apr 2022 23:44:41 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E9=80=80=E5=BA=93=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E5=90=8C=E6=84=8F=E3=80=81=E9=A9=B3=E5=9B=9E=E3=80=81?= =?UTF-8?q?=E7=BB=88=E6=AD=A2=E3=80=81=E6=92=A4=E5=9B=9E=E5=8F=8A=E5=AE=8C?= =?UTF-8?q?=E5=96=84=E7=BC=96=E8=BE=91=E5=9B=9E=E6=98=BE=E5=92=8C=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BF=9D=E5=AD=98=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/basevehicle/BaseVehicleReturnVo.java | 7 +- .../biz/basevehicle/BaseVehicleMapper.xml | 6 +- .../anrui/flowable/api/utils/ProcDefEnum.java | 1 + .../biz/flowtask/FlowTaskService.java | 4 +- .../ScmVehicleActualDetailsVo.java | 2 +- .../ScmVehicleActualSalesFeign.java | 3 +- .../ScmVehicleActualSalesFeignFallback.java | 2 +- .../scmvehiclereturn/ScmVehicleReturn.java | 5 + .../ScmVehicleReturnDetailsVo.java | 35 ++++ .../scmvehiclereturn/ScmVehicleReturnDto.java | 4 + .../ScmVehicleReturnFeign.java | 27 ++- .../ScmVehicleReturnFlowDto.java | 53 ++++++ .../ScmVehicleReturnFlowQuery.java | 28 +++ .../ScmVehicleReturnQuery.java | 3 + .../scmvehiclereturn/ScmVehicleReturnVo.java | 3 - .../ScmVehicleReturnDetailssVo.java | 24 +++ .../ScmVehicleActualSalesRest.java | 4 +- .../ScmVehicleActualSalesService.java | 10 +- .../ScmVehicleReturnMapper.java | 2 + .../ScmVehicleReturnMapper.xml | 9 +- .../ScmVehicleReturnRest.java | 30 ++- .../ScmVehicleReturnService.java | 179 ++++++++++++++++-- .../ScmVehicleReturnDetailsMapper.java | 3 + .../ScmVehicleReturnDetailsMapper.xml | 6 + .../ScmVehicleReturnDetailsService.java | 5 + 25 files changed, 415 insertions(+), 40 deletions(-) create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDetailsVo.java create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFlowDto.java create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFlowQuery.java create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturndetails/ScmVehicleReturnDetailssVo.java diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleReturnVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleReturnVo.java index 7e1ea885cf..0383e6f23a 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleReturnVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleReturnVo.java @@ -16,7 +16,7 @@ public class BaseVehicleReturnVo implements Vo { @ApiModelProperty(value = "品牌") private String brandName; @ApiModelProperty(value = "车型") - private String modelName; + private String vehicleAlias; @ApiModelProperty(value = "车架号") private String vinNo; @ApiModelProperty(value = "颜色") @@ -26,5 +26,10 @@ public class BaseVehicleReturnVo implements Vo { @ApiModelProperty(value = "销售指导价") private String guidedPrice; + @ApiModelProperty(value = "常用配置") + private String configName; + @ApiModelProperty(value = "入库日期") + private String priceDate; + } 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 723bcd3edd..42104fda6b 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 @@ -567,11 +567,13 @@ bv.vinNo, - bmc.carColor, + bmc.carColor color, bv.location, - bv.guidedPrice + bv.guidedPrice, + bmc.configName, + DATE_FORMAT(bv.priceDate, '%Y-%m-%d') as priceDate FROM base_vehicle bv LEFT JOIN base_vehicle_model bvm ON bv.`modelSid` = bvm.`sid` LEFT JOIN base_model_config bmc ON bv.modelConfigSid = bmc.`sid` 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 4ad4d7b990..6018bd88aa 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 @@ -15,6 +15,7 @@ public enum ProcDefEnum { ARREARSCARRYVEHICLE("欠款提车审批流程","arrears_carryvehicle:1:232589"), VEHICLEAPPLY("排产申请流程","process_9egcg169:1:242660"), RECORDAPPLICATION("入账申请","record_application_7y80d4r8:1:265008"), + SCMVEHICLERETURN("采购退库", "process_lcgh2q0g:4:235004"), ; ProcDefEnum(String proDefName, String proDefId) { diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java index 21056d227c..21c0869127 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java @@ -740,8 +740,8 @@ public class FlowTaskService extends MybatisBaseService businessComplete(BusinessVariables dto) { ResultBean rb = new ResultBean<>(); Map formVariables = dto.getFormVariables(); - formVariables.put("handleUrl", dto.getHandleUrl()); - formVariables.put("detailUrl", dto.getDetailUrl()); +// formVariables.put("handleUrl", dto.getHandleUrl()); +// formVariables.put("detailUrl", dto.getDetailUrl()); Object taskId_obj = formVariables.get("taskId"); String taskId = null; if (taskId_obj == null) { diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetailsVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetailsVo.java index 3816086e2e..aa65c24134 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetailsVo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetailsVo.java @@ -21,7 +21,7 @@ public class ScmVehicleActualDetailsVo implements Vo { @ApiModelProperty(value = "车型名称") private String modelName; @ApiModelProperty(value = "入库日期") - private Date inboundDate; + private String inboundDate; @ApiModelProperty(value = "入库价") private String inboundPrice; } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesFeign.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesFeign.java index 7b63fb8f14..7d53dcf5bc 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesFeign.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesFeign.java @@ -37,8 +37,7 @@ public interface ScmVehicleActualSalesFeign { @ApiOperation("初始化") @GetMapping("/details") @ResponseBody - ResultBean details(@RequestParam(value = "sid") String sid, - @RequestParam(value = "name") String name); + ResultBean details(@RequestParam(value = "sid", required = false) String sid); } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesFeignFallback.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesFeignFallback.java index 743fe8c4fc..67405b8193 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesFeignFallback.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesFeignFallback.java @@ -28,7 +28,7 @@ public class ScmVehicleActualSalesFeignFallback implements ScmVehicleActualSales } @Override - public ResultBean details(String sid, String name) { + public ResultBean details(String sid) { return null; } } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturn.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturn.java index 45d03f0f96..b290bfe594 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturn.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturn.java @@ -4,6 +4,8 @@ import com.yxt.common.core.domain.BaseEntity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; + /** * @Author dimengzhe * @Date 2022/4/6 16:12 @@ -18,6 +20,9 @@ public class ScmVehicleReturn extends BaseEntity { private String applicationName; @ApiModelProperty(value = "退库原因") private String reason; + @ApiModelProperty(value = "费用") + private BigDecimal money; @ApiModelProperty(value = "节点状态") private String nodeState; + } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDetailsVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDetailsVo.java new file mode 100644 index 0000000000..ab4c418fde --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDetailsVo.java @@ -0,0 +1,35 @@ +package com.yxt.anrui.scm.api.scmvehiclereturn; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetailssVo; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/4/13 11:18 + * @Description + */ +@Data +public class ScmVehicleReturnDetailsVo implements Vo { + private static final long serialVersionUID = -5246040124624468517L; + + @ApiModelProperty(value = "申请编号") + private String applicationCode; + @ApiModelProperty(value = "申请人") + private String name; + @ApiModelProperty(value = "申请日期") + private String createTime; + @ApiModelProperty(value = "退库原因") + private String reason; + @ApiModelProperty(value = "费用") + @JsonSerialize(using = ToStringSerializer.class) + private String money; + @ApiModelProperty(value = "车辆列表") + private List voList = new ArrayList<>(); +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDto.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDto.java index 522b5cfd01..532ed2d0a2 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDto.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDto.java @@ -19,6 +19,8 @@ public class ScmVehicleReturnDto implements Dto { private static final long serialVersionUID = -276598777097000627L; @ApiModelProperty(value = "sid") private String sid; + @ApiModelProperty(value = "申请编号") + private String applicationCode; @ApiModelProperty(value = "申请人sid", required = true) private String userSid; @ApiModelProperty(value = "申请人", required = true) @@ -28,6 +30,8 @@ public class ScmVehicleReturnDto implements Dto { private Date createTime; @ApiModelProperty(value = "退库原因", required = true) private String reason; + @ApiModelProperty(value = "费用") + private String money; @ApiModelProperty(value = "车辆列表") private List detailsList; } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFeign.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFeign.java index d4826ece84..32e4f167f8 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFeign.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFeign.java @@ -5,9 +5,7 @@ import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; /** * @Author dimengzhe @@ -31,8 +29,31 @@ public interface ScmVehicleReturnFeign { @ResponseBody ResultBean saveOrUpdate(@RequestBody ScmVehicleReturnDto scmVehicleReturnDto); + @ApiOperation("初始化回显") + @GetMapping("/details") + @ResponseBody + ResultBean details(@RequestParam(value = "sid", required = false) String sid); + + @ApiOperation("提交") @PostMapping("/submitVehicleReturn") @ResponseBody ResultBean submitVehicleReturn(@RequestBody ScmVehicleReturnDto scmVehicleReturnDto); + + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@RequestBody ScmVehicleReturnFlowQuery scmVehicleReturnFlowQuery); + + @ApiOperation(value = "驳回任务") + @PostMapping("/reject") + ResultBean reject(@RequestBody ScmVehicleReturnFlowDto dto); + + @ApiOperation(value = "终止任务") + @PostMapping("/breakProcess") + ResultBean breakProcess(@RequestBody ScmVehicleReturnFlowDto dto); + + @ApiOperation(value = "撤回任务") + @PostMapping("/revokeProcess") + ResultBean revokeProcess(@RequestBody ScmVehicleReturnFlowDto dto); + } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFlowDto.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFlowDto.java new file mode 100644 index 0000000000..b0dcee3539 --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFlowDto.java @@ -0,0 +1,53 @@ +package com.yxt.anrui.scm.api.scmvehiclereturn; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Author dimengzhe + * @Date 2022/4/13 10:48 + * @Description + */ +@Data +public class ScmVehicleReturnFlowDto implements Serializable { + private static final long serialVersionUID = -1771287589587315324L; + + @ApiModelProperty(value = "业务sid") + private String businessSid; + + @ApiModelProperty("任务Id") + private String taskId; + + @ApiModelProperty("用户Id") + private String userId; + @ApiModelProperty("用户Sid") + private String userSid; + + @ApiModelProperty("任务意见") + private String comment; + + @ApiModelProperty("流程实例Id") + private String instanceId; + + @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/ScmVehicleReturnFlowQuery.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFlowQuery.java new file mode 100644 index 0000000000..15eb84185c --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFlowQuery.java @@ -0,0 +1,28 @@ +package com.yxt.anrui.scm.api.scmvehiclereturn; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/4/12 22:18 + * @Description + */ +@Data +public class ScmVehicleReturnFlowQuery implements Query { + private static final long serialVersionUID = -3164237568589023489L; + + @ApiModelProperty(value = "处理意见") + private String comment; + @ApiModelProperty(value = "流程id") + private String instanceId; + @ApiModelProperty(value = "环节id") + private String taskId; + @ApiModelProperty(value = "用户sid") + private String userSid; + @ApiModelProperty(value = "业务sid") + private String businessSid; + + +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnQuery.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnQuery.java index 44ec1a1e7d..088175aef0 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnQuery.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnQuery.java @@ -18,5 +18,8 @@ public class ScmVehicleReturnQuery implements Query { @ApiModelProperty(value = "结束日期") private String applyDateEnd; + @ApiModelProperty(value = "节点状态") + private String nodeState; + } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnVo.java index 6ccd375e3d..546058f5af 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnVo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnVo.java @@ -28,7 +28,4 @@ public class ScmVehicleReturnVo implements Vo { @ApiModelProperty(value = "台数") private Integer num; - @ApiModelProperty(value = "流程状态") - private Integer flowState; - } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturndetails/ScmVehicleReturnDetailssVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturndetails/ScmVehicleReturnDetailssVo.java new file mode 100644 index 0000000000..161a86f25a --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturndetails/ScmVehicleReturnDetailssVo.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.scm.api.scmvehiclereturndetails; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/4/13 11:31 + * @Description + */ +@Data +public class ScmVehicleReturnDetailssVo implements Vo { + private static final long serialVersionUID = 5418774062719853985L; + + @ApiModelProperty(value = "车架号") + private String vinNo; + @ApiModelProperty(value = "车型名称") + private String modelName; + @ApiModelProperty(value = "常用配置") + private String configName; + @ApiModelProperty(value = "入库日期") + private String inboundDate; +} diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesRest.java index 5b9eedb884..bed5bce219 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesRest.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesRest.java @@ -40,7 +40,7 @@ public class ScmVehicleActualSalesRest implements ScmVehicleActualSalesFeign { } @Override - public ResultBean details(String sid, String name) { - return scmVehicleActualSalesService.details(sid, name); + public ResultBean details(String sid) { + return scmVehicleActualSalesService.details(sid); } } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesService.java index 59e3fa6e41..e61e75a848 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesService.java @@ -158,15 +158,17 @@ public class ScmVehicleActualSalesService extends MybatisBaseService details(String sid, String name) { + public ResultBean details(String sid) { ResultBean rb = ResultBean.fireFail(); - ScmVehicleActualSales scmVehicleActualSales = fetchBySid(sid); ScmVehicleActualSalesDetailsVo vo = new ScmVehicleActualSalesDetailsVo(); - if (scmVehicleActualSales == null) { + if (StringUtils.isBlank(sid)) { //申请日期即为当天 vo.setCreateTime(DateUtil.today()); - vo.setApplicationName(name); } else { + ScmVehicleActualSales scmVehicleActualSales = fetchBySid(sid); + if (scmVehicleActualSales == null) { + return rb.setMsg("该未售买断数据不存在"); + } vo = baseMapper.details(sid); List voList = scmVehicleActualDetailsService.detailsList(sid); } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.java index 9532932994..c2a73d6456 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturn; +import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnDetailsVo; import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -29,4 +30,5 @@ public interface ScmVehicleReturnMapper extends BaseMapper { @Param("procInstSid") String procInstSid, @Param("nodeSid") String nodeSid); + ScmVehicleReturnDetailsVo details(String sid); } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.xml index 9777b25d69..d6e72b2a03 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.xml +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.xml @@ -5,8 +5,9 @@ select sr.sid, sr.applicationCode, sr.applicationName, - sr.modifyTime, + DATE_FORMAT(sr.createTime, '%Y-%m-%d') as createTime, sr.reason, + sr.nodeState, (select count(*) from scm_vehicle_return_details sd where sd.vehicleOutSid = sr.sid) as num from scm_vehicle_return sr ${ew.customSqlSegment} @@ -20,4 +21,10 @@ nodeSid=#{nodeSid} where sid = #{businessSid} + + \ No newline at end of file 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 caac17a4c6..dd1523dec4 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 @@ -1,9 +1,6 @@ package com.yxt.anrui.scm.biz.scmvehiclereturn; -import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnDto; -import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnFeign; -import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnQuery; -import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnVo; +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; @@ -37,8 +34,33 @@ public class ScmVehicleReturnRest implements ScmVehicleReturnFeign { return scmVehicleReturnService.saveOrUpdateVehicleReturn(scmVehicleReturnDto); } + @Override + public ResultBean details(String sid) { + return scmVehicleReturnService.details(sid); + } + @Override public ResultBean submitVehicleReturn(ScmVehicleReturnDto scmVehicleReturnDto) { return scmVehicleReturnService.submitVehicleReturn(scmVehicleReturnDto); } + + @Override + public ResultBean complete(ScmVehicleReturnFlowQuery scmVehicleReturnFlowQuery) { + return scmVehicleReturnService.complete(scmVehicleReturnFlowQuery); + } + + @Override + public ResultBean reject(ScmVehicleReturnFlowDto dto) { + return scmVehicleReturnService.reject(dto); + } + + @Override + public ResultBean breakProcess(ScmVehicleReturnFlowDto dto) { + return scmVehicleReturnService.breakProcess(dto); + } + + @Override + public ResultBean revokeProcess(ScmVehicleReturnFlowDto dto) { + return scmVehicleReturnService.revokeProcess(dto); + } } 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 936192f977..064456ea81 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 @@ -1,18 +1,26 @@ package com.yxt.anrui.scm.biz.scmvehiclereturn; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.convert.Convert; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.flowable.api.flow.FlowableFeign; +import com.yxt.anrui.flowable.api.flowtask.FlowTask; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; +import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign; +import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFlowStateEnum; import com.yxt.anrui.flowable.api.sysformlink.SysFormStateVo; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; +import com.yxt.anrui.flowable.api.utils.ProcessStateEnum; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; -import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturn; -import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnDto; -import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnQuery; -import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnVo; +import com.yxt.anrui.scm.api.scmvehiclereturn.*; import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetails; +import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetailssVo; import com.yxt.anrui.scm.biz.scmvehiclereturndetails.ScmVehicleReturnDetailsService; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -25,6 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -47,6 +56,8 @@ public class ScmVehicleReturnService extends MybatisBaseService scmVehicleReturnDetailsList = scmVehicleReturnDetailsService.selectByReturnSid(sid); if (scmVehicleReturnDetailsList.size() > 0) { @@ -119,9 +143,6 @@ public class ScmVehicleReturnService extends MybatisBaseService qw = new QueryWrapper<>(); if (params != null) { //申请日期 - //状态 + qw.apply(StringUtils.isNotBlank(params.getApplyDateStart()), "date_format (sr.createTime,'%Y-%m-%d') >= date_format('" + params.getApplyDateStart() + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(params.getApplyDateEnd()), "date_format (sr.createTime,'%Y-%m-%d') <= date_format('" + params.getApplyDateEnd() + "','%Y-%m-%d')" + ); + //状态:模糊查询 + if(StringUtils.isNotBlank(params.getNodeState())){ + qw.like("sr.nodeState", params.getNodeState()); + } + } return qw; } @@ -153,12 +181,12 @@ public class ScmVehicleReturnService extends MybatisBaseService map = (Map) resultBean.getData(); + ResultBean businessResultBean = flowableFeign.businessStart(ProcDefEnum.SCMVEHICLERETURN.getProDefId(), scmVehicleReturnDto.getUserSid(), variables); + if (businessResultBean.getSuccess() && businessResultBean.getData() != null) { + Map map = (Map) businessResultBean.getData(); //更新退库业务表中的流程状态 modifyFlowState(businessSid, - ProcDefEnum.ORDERDEPOSITAPPROVE.getProDefId(),//procDefId + ProcDefEnum.SCMVEHICLERETURN.getProDefId(),//procDefId map.get("nodeState"),//state map.get("procInsId"),//procInstSid map.get("taskDefKey")//nodeSid @@ -196,4 +224,127 @@ public class ScmVehicleReturnService extends MybatisBaseService variables = Convert.toMap(String.class, Object.class, scmVehicleReturnFlowQuery); + BusinessVariables bv = BusinessVariables.builder().build(); + bv.setFormVariables(variables); + ResultBean resultBean = flowTaskFeign.businessComplete(bv); + if (!resultBean.getSuccess()) { + return resultBean; + } + String nodeState = ""; + String taskDefKey = ""; + Map map = new HashMap<>(); + map.put("businessSid", variables.get("businessSid").toString()); + if (resultBean.getData() != null) { + ResultBean> listResultBean = flowTaskFeign.getLatestTasks(resultBean.getData().getProcInsId()); + if (listResultBean.getSuccess() && listResultBean.getData() != null && listResultBean.getData().size() != 0) { + nodeState = listResultBean.getData().get(0).getName_(); + taskDefKey = listResultBean.getData().get(0).getTask_def_key_(); + } else { + nodeState = ProcessStateEnum.FINISHED.getStateName(); + taskDefKey = "Event_end"; + map.put("flowState", SysFormLinkFlowStateEnum.FINISH.getCode()); + } + } + map.put("nodeState", nodeState); + map.put("taskDefKey", taskDefKey); + sysFormLinkFeign.updateFiled(map); + return new ResultBean().success(); + } + + /** + * 驳回任务 + * + * @param dto + * @return + */ + public ResultBean reject(ScmVehicleReturnFlowDto dto) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(dto, flowTaskVo); + ResultBean> resultBean = flowTaskFeign.taskReject(flowTaskVo); + if (!resultBean.getSuccess()) { + return resultBean; + } + String nodeState = resultBean.getData().get(0).getName_(); + String taskDefKey = resultBean.getData().get(0).getTask_def_key_(); + String incomingSourceRef = resultBean.getData().get(0).getIncomingSourceRef(); + Map map = new HashMap<>(); + map.put("businessSid", dto.getBusinessSid()); + map.put("nodeState", nodeState); + map.put("taskDefKey", taskDefKey); + if (incomingSourceRef.contains("start")) { + map.put("flowState", SysFormLinkFlowStateEnum.REJECT.getCode()); + } + sysFormLinkFeign.updateFiled(map); + return new ResultBean().success(); + } + + public ResultBean breakProcess(ScmVehicleReturnFlowDto dto) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(dto, flowTaskVo); + ResultBean resultBean = flowTaskFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return resultBean; + } + Map map = new HashMap<>(); + map.put("businessSid", dto.getBusinessSid()); + map.put("nodeState", String.valueOf(resultBean.getData())); + map.put("taskDefKey", "Event_end"); + map.put("flowState", SysFormLinkFlowStateEnum.BREAK.getCode()); + sysFormLinkFeign.updateFiled(map); + return resultBean.success(); + } + + public ResultBean revokeProcess(ScmVehicleReturnFlowDto dto) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(dto, flowTaskVo); + ResultBean> resultBean = flowTaskFeign.revokeProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return resultBean; + } + String nodeState = resultBean.getData().get(0).getName_(); + String taskDefKey = resultBean.getData().get(0).getTask_def_key_(); + String inComingSourceRef = resultBean.getData().get(0).getIncomingSourceRef(); + Map map = new HashMap<>(); + map.put("businessSid", dto.getBusinessSid()); + if (inComingSourceRef.contains("start")) { + map.put("nodeState", SysFormLinkFlowStateEnum.UNCOMMITTED.getState()); + map.put("taskDefKey", taskDefKey); + map.put("flowState", SysFormLinkFlowStateEnum.UNCOMMITTED.getCode()); + } else { + map.put("nodeState", nodeState); + map.put("taskDefKey", taskDefKey); + } + sysFormLinkFeign.updateFiled(map); + return new ResultBean().success(); + } + + public ResultBean details(String sid) { + ResultBean rb = ResultBean.fireFail(); + ScmVehicleReturnDetailsVo vo = new ScmVehicleReturnDetailsVo(); + if (StringUtils.isBlank(sid)) { + //申请日期即为当天 + vo.setCreateTime(DateUtil.today()); + vo.setApplicationCode("CGTK" + DateUtil.format(DateUtil.date(), "yyyyMMdd")); + } else { + ScmVehicleReturn ScmVehicleReturn = fetchBySid(sid); + if (ScmVehicleReturn == null) { + return rb.setMsg("该采购退库申请不存在"); + } + vo = baseMapper.details(sid); + List voList = scmVehicleReturnDetailsService.detailsList(sid); + vo.setVoList(voList); + } + return rb.success().setData(vo); + } } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsMapper.java index dd10097645..372a1b12c8 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsMapper.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsMapper.java @@ -2,6 +2,7 @@ package com.yxt.anrui.scm.biz.scmvehiclereturndetails; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetails; +import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetailssVo; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -30,4 +31,6 @@ public interface ScmVehicleReturnDetailsMapper extends BaseMapper selectVinNoList(String sid); + + List detailsList(String sid); } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsMapper.xml index bab35954ce..58a5601d3b 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsMapper.xml +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsMapper.xml @@ -18,4 +18,10 @@ from scm_vehicle_return_details where vehicleOutSid = #{sid} + + \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsService.java index d2b865828f..0adf692a5c 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsService.java @@ -2,6 +2,7 @@ package com.yxt.anrui.scm.biz.scmvehiclereturndetails; import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetails; import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetailsDto; +import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetailssVo; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.core.result.ResultBean; import org.springframework.beans.BeanUtils; @@ -61,4 +62,8 @@ public class ScmVehicleReturnDetailsService extends MybatisBaseService vinNoList = baseMapper.selectVinNoList(sid); return rb.success().setData(vinNoList); } + + public List detailsList(String sid) { + return baseMapper.detailsList(sid); + } }