diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelVehicleVersionVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelVehicleVersionVo.java new file mode 100644 index 0000000000..f8d7070ef3 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelVehicleVersionVo.java @@ -0,0 +1,32 @@ +package com.yxt.anrui.base.api.basemodelmodprice; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/8/30 9:51 + * @Description + */ +@Data +public class BaseModelVehicleVersionVo implements Vo { + private static final long serialVersionUID = -1925653992768754705L; + + @ApiModelProperty("版本编码") + private Integer moduleVersion; + + @ApiModelProperty("apk下载地址") + private String path; + + @ApiModelProperty("0.内置Activity 1.内置WebView 2.RePlugin插件") + private String type; + + @ApiModelProperty("插件名称") + private String modulePluginName; + + @ApiModelProperty("地址") + private String moduleAction; + + private String json; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodpricemodel/BaseModelModpriceModelVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodpricemodel/BaseModelModpriceModelVo.java index 7e3de0998f..306ca47771 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodpricemodel/BaseModelModpriceModelVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodpricemodel/BaseModelModpriceModelVo.java @@ -26,6 +26,7 @@ package com.yxt.anrui.base.api.basemodelmodpricemodel; +import com.yxt.anrui.base.api.basemodelmodprice.BaseModelVehicleVersionVo; import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModel; @@ -69,4 +70,7 @@ public class BaseModelModpriceModelVo implements Vo { private String incOrDecInPrice; // 价格增减数额 @ApiModelProperty("备注") private String remarks; // 备注 + + + private BaseModelVehicleVersionVo carDetailPage; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/AppBaseOutsourcingApplicationVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/AppBaseOutsourcingApplicationVo.java index 3ea7fc5013..24f1be90c4 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/AppBaseOutsourcingApplicationVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/AppBaseOutsourcingApplicationVo.java @@ -60,4 +60,6 @@ public class AppBaseOutsourcingApplicationVo implements Vo { private String modelSid; @ApiModelProperty("配置sid") private String configSid; + + private AppBaseVesionVo carDetailPage; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/AppBaseVesionVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/AppBaseVesionVo.java new file mode 100644 index 0000000000..f5a24bd103 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/AppBaseVesionVo.java @@ -0,0 +1,32 @@ +package com.yxt.anrui.base.api.baseoutsourcingapplication; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/8/30 11:00 + * @Description + */ +@Data +public class AppBaseVesionVo implements Vo { + private static final long serialVersionUID = 6536128762018795190L; + + @ApiModelProperty("版本编码") + private Integer moduleVersion; + + @ApiModelProperty("apk下载地址") + private String path; + + @ApiModelProperty("0.内置Activity 1.内置WebView 2.RePlugin插件") + private String type; + + @ApiModelProperty("插件名称") + private String modulePluginName; + + @ApiModelProperty("地址") + private String moduleAction; + + private String json; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualdetails/AppBaseVehicleActualDetailsVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualdetails/AppBaseVehicleActualDetailsVo.java index b08a7d6b5c..c4090d5df6 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualdetails/AppBaseVehicleActualDetailsVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualdetails/AppBaseVehicleActualDetailsVo.java @@ -1,5 +1,6 @@ package com.yxt.anrui.base.api.basevehicleactualdetails; +import com.yxt.anrui.base.api.basevehicleactualsales.BaseVehiVesionVo; import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -32,4 +33,6 @@ public class AppBaseVehicleActualDetailsVo implements Vo { private int dayNum; @ApiModelProperty("车辆数量") private int vehicleNum; + + private BaseVehiVesionVo carDetailPage; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehiVesionVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehiVesionVo.java new file mode 100644 index 0000000000..f806db94b3 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehiVesionVo.java @@ -0,0 +1,32 @@ +package com.yxt.anrui.base.api.basevehicleactualsales; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/8/30 10:37 + * @Description + */ +@Data +public class BaseVehiVesionVo implements Vo { + private static final long serialVersionUID = 7281325868701017122L; + + @ApiModelProperty("版本编码") + private Integer moduleVersion; + + @ApiModelProperty("apk下载地址") + private String path; + + @ApiModelProperty("0.内置Activity 1.内置WebView 2.RePlugin插件") + private String type; + + @ApiModelProperty("插件名称") + private String modulePluginName; + + @ApiModelProperty("地址") + private String moduleAction; + + private String json; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/AppCommonContractPageVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/AppCommonContractPageVo.java index 0b091a91e9..9a06bc521e 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/AppCommonContractPageVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/AppCommonContractPageVo.java @@ -1,5 +1,6 @@ package com.yxt.anrui.base.api.commoncontract; +import com.fasterxml.jackson.annotation.JsonProperty; import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,10 +23,14 @@ public class AppCommonContractPageVo implements Vo { @ApiModelProperty("经办人") private String handler; + @ApiModelProperty("车型") + private String model; + @ApiModelProperty("合同金额") private String contractPrice; @ApiModelProperty("是否显示办理按钮") + @JsonProperty("isShowUpdate") private boolean isShowUpdate; @ApiModelProperty("节点状态") diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContract.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContract.java index 20b30954fc..f3fe6ba7b4 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContract.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContract.java @@ -96,4 +96,15 @@ public class CommonContract extends BaseEntity { private BigDecimal price; @ApiModelProperty("单台订金") private BigDecimal oneDeposit; + + @ApiModelProperty(value = "节点状态") + private String nodeState; + @ApiModelProperty(value = "节点id") + private String nodeId; + @ApiModelProperty(value = "流程id") + private String procDefId; + @ApiModelProperty(value = "实例id") + private String procInstId; + @ApiModelProperty(value = "任务id") + private String taskId; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java index f98d0f0396..6a69810848 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java @@ -1,11 +1,16 @@ package com.yxt.anrui.base.api.commoncontract; +import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractCompleteDto; +import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractNodeQuery; +import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractNodeVo; +import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractTaskQuery; 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.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -150,7 +155,7 @@ public interface CommonContractFeign { public ResultBean> getContractList(@RequestBody PagerQuery pagerQuery); @ApiOperation("移动端-初始化合同审核") - @PostMapping("/getContractInfo/{contractSid}/{userSid}") + @GetMapping("/getContractInfo/{contractSid}/{userSid}") @ResponseBody public ResultBean getContractInfo(@PathVariable("contractSid") String contractSid, @PathVariable("userSid") String userSid); @@ -159,4 +164,30 @@ public interface CommonContractFeign { @ResponseBody public ResultBean saveContractInfo(@RequestBody AppCrmCustomerFileDto dto); + //====================移动端合同审核流程 + + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@Valid @RequestBody CommonContractCompleteDto query); + + @ApiOperation(value = "获取上一个环节") + @GetMapping(value = "/getPreviousNodesForReject") + ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap CommonContractNodeQuery query); + + @ApiOperation(value = "获取下一个环节") + @GetMapping(value = "/getNextNodesForSubmit") + ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap CommonContractNodeQuery query); + + @ApiOperation(value = "驳回任务") + @PostMapping(value = "/reject") + public ResultBean taskReject(@Valid @RequestBody CommonContractTaskQuery query); + + @ApiOperation(value = "撤回流程") + @PostMapping(value = "/revokeProcess") + public ResultBean revokeProcess(@Valid @RequestBody CommonContractTaskQuery query); + + @ApiOperation(value = "终止任务") + @PostMapping(value = "/breakProcess") + public ResultBean breakProcess(@Valid @RequestBody CommonContractTaskQuery query); + } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java index 3eef59cd0f..cee966c3b4 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java @@ -1,5 +1,10 @@ package com.yxt.anrui.base.api.commoncontract; +import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo; +import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractCompleteDto; +import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractNodeQuery; +import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractNodeVo; +import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractTaskQuery; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -8,6 +13,7 @@ import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.text.ParseException; +import java.util.List; import java.util.Map; /** @@ -165,4 +171,34 @@ public class CommonContractFeignFallback implements CommonContractFeign { public ResultBean saveContractInfo(AppCrmCustomerFileDto dto) { return null; } + + @Override + public ResultBean complete(CommonContractCompleteDto query) { + return null; + } + + @Override + public ResultBean> getPreviousNodesForReject(CommonContractNodeQuery query) { + return null; + } + + @Override + public ResultBean> getNextNodesForSubmit(CommonContractNodeQuery query) { + return null; + } + + @Override + public ResultBean taskReject(CommonContractTaskQuery query) { + return null; + } + + @Override + public ResultBean revokeProcess(CommonContractTaskQuery query) { + return null; + } + + @Override + public ResultBean breakProcess(CommonContractTaskQuery query) { + return null; + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractCompleteDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractCompleteDto.java new file mode 100644 index 0000000000..8417533229 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractCompleteDto.java @@ -0,0 +1,38 @@ +package com.yxt.anrui.base.api.commoncontract.flowable; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/8/30 15:00 + * @Description + */ +@Data +public class CommonContractCompleteDto implements Dto { + private static final long serialVersionUID = -1577957348084710482L; + + @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 = "意见") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractNodeQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractNodeQuery.java new file mode 100644 index 0000000000..f74b8a0b19 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractNodeQuery.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.base.api.commoncontract.flowable; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/8/30 15:02 + * @Description + */ +@Data +public class CommonContractNodeQuery implements Query { + private static final long serialVersionUID = 2719079015837709118L; + + @ApiModelProperty(value = "环节定义id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractNodeVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractNodeVo.java new file mode 100644 index 0000000000..150710637f --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractNodeVo.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.base.api.commoncontract.flowable; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/8/30 15:09 + * @Description + */ +@Data +public class CommonContractNodeVo implements Vo { + private static final long serialVersionUID = -3011038115113343705L; + + @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-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractTaskQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractTaskQuery.java new file mode 100644 index 0000000000..79a6fd6c2c --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractTaskQuery.java @@ -0,0 +1,45 @@ +package com.yxt.anrui.base.api.commoncontract.flowable; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/8/30 15:03 + * @Description + */ +@Data +public class CommonContractTaskQuery implements Query { + private static final long serialVersionUID = 4020176288666396111L; + + /** + * 终止、驳回、撤回 + */ + @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; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java index 8a7b2547ba..ec3f38812d 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java @@ -19,6 +19,7 @@ public enum BillTypeEnum { KCDDBGSQ("KCDDBG","库存地点变更申请"), JYDDDJSQ("JYDDDJSQ","简易订单订金收取"), JYDDCLYD("JYDDCLYD","简易订单车辆预定"), + XSDDHT("XSDDHT","销售订单合同"), XSDD("XSDD","销售订单"), ; 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 769b8638a1..f838e08061 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 @@ -415,7 +415,7 @@ public class BaseAccadjApplyService extends MybatisBaseService fEntity=new ArrayList<>(); diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareService.java index 5f27b496ce..5754bd66a5 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareService.java @@ -293,11 +293,11 @@ public class BaseManufacturerRetwareService extends MybatisBaseService FPURMRBENTRY=new ArrayList<>(); PurMrb.FPURMRBENTRY fp=new PurMrb.FPURMRBENTRY(); /** @@ -335,7 +335,7 @@ public class BaseManufacturerRetwareService extends MybatisBaseService0 - select IFNULL(CAST(REPLACE(MAX(contractNo), #{bill}, '') AS SIGNED),0) as code + select IFNULL(CAST(REPLACE(MAX(contractNo), #{bill}, '') AS SIGNED), 0) as code from common_contract where contractNo LIKE concat(#{bill}, '%') + + + UPDATE common_contract + SET nodeState=#{nodeState} + , nodeId=#{taskDefKey} + + , procDefId=#{procDefId} + + + , procInstId=#{procInsId} + + + , taskId=#{taskId} + + WHERE sid = #{sid} + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java index 43e098afcc..162df4edfd 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java @@ -1,11 +1,18 @@ package com.yxt.anrui.base.biz.commoncontract; +import cn.hutool.core.bean.BeanUtil; import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo; import com.yxt.anrui.base.api.commonappendix.CommonAttachTypeEnum; import com.yxt.anrui.base.api.commonappendix.PcCommonAppendixDto; import com.yxt.anrui.base.api.commoncontract.*; +import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractCompleteDto; +import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractNodeQuery; +import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractNodeVo; +import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractTaskQuery; import com.yxt.anrui.base.biz.commonappendix.CommonAppendixService; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedFeign; +import com.yxt.anrui.flowable.api.utils.ProcDefEnum; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.utils.ExportExcelUtils; import com.yxt.common.base.utils.StringUtils; @@ -524,4 +531,37 @@ public class CommonContractRest implements CommonContractFeign { ResultBean resultBean = commonContractService.saveContractInfo(dto); return rb.success(); } + + @Override + public ResultBean complete(CommonContractCompleteDto query) { + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + bv.setModelId(ProcDefEnum.CONTRACTAPPLY.getProDefId()); + return commonContractService.complete(bv); + } + + @Override + public ResultBean> getPreviousNodesForReject(CommonContractNodeQuery query) { + return commonContractService.getPreviousNodesForReject(query); + } + + @Override + public ResultBean> getNextNodesForSubmit(CommonContractNodeQuery query) { + return commonContractService.getNextNodesForSubmit(query); + } + + @Override + public ResultBean taskReject(CommonContractTaskQuery query) { + return commonContractService.taskReject(query); + } + + @Override + public ResultBean revokeProcess(CommonContractTaskQuery query) { + return commonContractService.revokeProcess(query); + } + + @Override + public ResultBean breakProcess(CommonContractTaskQuery query) { + return commonContractService.breakProcess(query); + } } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java index d5c83c63e7..cd58d16298 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java @@ -1,11 +1,15 @@ package com.yxt.anrui.base.biz.commoncontract; import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.yxt.anrui.base.api.commonappendix.CommonAppendix; import com.yxt.anrui.base.api.commoncontract.*; +import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractNodeQuery; +import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractNodeVo; +import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractTaskQuery; import com.yxt.anrui.base.biz.basemodelszconfig.BaseModelSzconfigService; import com.yxt.anrui.base.biz.basetrailer.BaseTrailerService; import com.yxt.anrui.base.biz.basevehiclebrand.BaseVehicleBrandService; @@ -25,8 +29,15 @@ import com.yxt.anrui.crm.api.crmcustomer.CrmCustomerFeign; import com.yxt.anrui.crm.api.crmcustomerfile.CrmCustomerFileFeign; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; +import com.yxt.anrui.flowable.api.flow.FlowableFeign; +import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +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.SysFormStateVo; +import com.yxt.anrui.flowable.api.utils.ProcDefEnum; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign; import com.yxt.anrui.portal.api.dictcommon.DictCommonVo; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; @@ -46,6 +57,9 @@ import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.messagecenter.api.message.MessageFeign; +import com.yxt.messagecenter.api.message.MessageFlowVo; +import com.yxt.messagecenter.api.message.MessageFlowableQuery; import org.apache.commons.lang3.StringUtils; import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; @@ -130,6 +144,12 @@ public class CommonContractService extends MybatisBaseService createQueryWrapper(CommonContractQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -990,7 +1010,7 @@ public class CommonContractService extends MybatisBaseService contract = new ArrayList<>(); - List contractImages = Arrays.asList(split1); - for (String contractImage : contractImages) { - String contractImageUrl = urlPrefix + contractImage; - contract.add(contractImageUrl); + vo.setUserSid(userSid); + if (StringUtils.isNotBlank(vo.getAppdixUrl())) { + String[] split1 = vo.getAppdixUrl().split(","); + List contract = new ArrayList<>(); + List contractImages = Arrays.asList(split1); + for (String contractImage : contractImages) { + String contractImageUrl = urlPrefix + contractImage; + contract.add(contractImageUrl); + } + vo.setContractImages(contract); } - vo.setContractImages(contract); - - String[] split2 = vo.getSceneSignUrl().split(","); - List siteSig = new ArrayList<>(); - List siteSigImages = Arrays.asList(split2); - for (String siteSigImage : siteSigImages) { - String siteSigImagesUrl = urlPrefix + siteSigImage; - siteSig.add(siteSigImagesUrl); + if (StringUtils.isNotBlank(vo.getSceneSignUrl())) { + String[] split2 = vo.getSceneSignUrl().split(","); + List siteSig = new ArrayList<>(); + List siteSigImages = Arrays.asList(split2); + for (String siteSigImage : siteSigImages) { + String siteSigImagesUrl = urlPrefix + siteSigImage; + siteSig.add(siteSigImagesUrl); + } + vo.setSiteSigImages(siteSig); } - vo.setSiteSigImages(siteSig); - - if (vo.getCustomerKey().equals("1")) { - vo.setIdCardArchives(false); - if (StringUtils.isNotBlank(vo.getSceneSignUrl())) { - - String[] split3 = vo.getSceneSignUrl().split(","); - List idCard = new ArrayList<>(); - List idCardImages = Arrays.asList(split3); - for (String idCardImage : idCardImages) { - String idCardImagesUrl = urlPrefix + idCardImage; - idCard.add(idCardImagesUrl); + if (StringUtils.isNotBlank(vo.getCustomerKey())) { + if (vo.getCustomerKey().equals("1")) { + vo.setIdCardArchives(false); + if (StringUtils.isNotBlank(vo.getSceneSignUrl())) { + + String[] split3 = vo.getSceneSignUrl().split(","); + List idCard = new ArrayList<>(); + List idCardImages = Arrays.asList(split3); + for (String idCardImage : idCardImages) { + String idCardImagesUrl = urlPrefix + idCardImage; + idCard.add(idCardImagesUrl); + } + vo.setIdCardImages(idCard); + } else { + vo.setIdCardImages(new ArrayList<>()); } - vo.setIdCardImages(idCard); - } else { - vo.setIdCardImages(new ArrayList<>()); - } - } else if (vo.getCustomerKey().equals("2")) { - vo.setIdCardArchives(true); + } else if (vo.getCustomerKey().equals("2")) { + vo.setIdCardArchives(true); // 往里添加客户档案里的身份证信息 + } } return vo; } @@ -1056,9 +1080,8 @@ public class CommonContractService extends MybatisBaseService 0) { + if (dto.getContractImages() != null) { for (String contractImage : dto.getContractImages()) { if (contractImage.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { contractImage = contractImage.replace(fileUploadComponent.getUrlPrefix(), ""); } s1 += contractImage + ","; + commonContract.setAppdixUrl(s1.substring(0, s1.length() - 1)); } - commonContract.setAppdixUrl(s1.substring(0, s1.length() - 1)); } - if (dto.getContractImages().size() > 0) { + if (dto.getContractImages() != null) { for (String siteSigImages : dto.getSiteSigImages()) { if (siteSigImages.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { siteSigImages = siteSigImages.replace(fileUploadComponent.getUrlPrefix(), ""); } s2 += siteSigImages + ","; + commonContract.setSceneSignUrl(s2.substring(0, s2.length() - 1)); } - commonContract.setSceneSignUrl(s2.substring(0, s2.length() - 1)); } - if (dto.getContractImages().size() > 0) { + if (dto.getContractImages() != null) { for (String idCardImage : dto.getIdCardImages()) { if (idCardImage.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { idCardImage = idCardImage.replace(fileUploadComponent.getUrlPrefix(), ""); } s3 += idCardImage + ","; + commonContract.setIdImagesUrl(s3.substring(0, s3.length() - 1)); } - commonContract.setIdImagesUrl(s3.substring(0, s3.length() - 1)); } - save(commonContract); + updateById(commonContract); return rb.success(); } @@ -1287,4 +1310,183 @@ public class CommonContractService extends MybatisBaseService variables = new HashMap<>(); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + bv.setFormVariables(variables); + if (bv.getTaskId().equals(commonContract.getTaskId())) { + ResultBean resultBean = flowableFeign.handleProsess(bv); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + if (!"Event_end".equals(resultBean.getData().getTaskDefKey())) { + //极光推送 + commonContract = fetchBySid(businessSid); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo,messageFlowVo); + ufVo.setProcInsId(commonContract.getProcInstId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("合同审核申请"); + messageFlowableQuery.setMsgContent(commonContract.getStaffName()+"提交的"+messageFlowableQuery.getModuleName()+",请审批"); + messageFlowableQuery.setMsgTitle("业务中心"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + } + return rb.success().setData(resultBean.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + + } + + private int updateFlowFiled(Map map) { + return baseMapper.updateFlowFiled(map); + } + + public ResultBean> getPreviousNodesForReject(CommonContractNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + bv.setFormVariables(variables); + bv.setModelId(ProcDefEnum.CONTRACTAPPLY.getProDefId()); + ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), CommonContractNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean> getNextNodesForSubmit(CommonContractNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + bv.setFormVariables(variables); + bv.setModelId(ProcDefEnum.CONTRACTAPPLY.getProDefId()); + ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), CommonContractNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean taskReject(CommonContractTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = query.getBusinessSid(); + CommonContract commonContract = fetchBySid(businessSid); + if (commonContract == null) { + return rb.setMsg("该申请不存在"); + } + String businessTaskId = commonContract.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + Map variables = new HashMap<>(); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + flowTaskVo.setValues(variables); + ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + Map map = BeanUtil.beanToMap(ufVo); + //更新业务中的流程相关的参数 + updateFlowFiled(map); + //极光推送 + commonContract = fetchBySid(businessSid); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo,messageFlowVo); + String procId = commonContract.getProcInstId(); + ufVo.setProcInsId(procId); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("合同审核申请"); + ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); + String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); + List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); + if(receiveSidList.size() == 1 && receiveSidList.get(0).equals(commonContract.getStaffSid())){ + messageFlowableQuery.setMsgContent("您提交的"+messageFlowableQuery.getModuleName()+"已被驳回,请重新提交"); + }else{ + messageFlowableQuery.setMsgContent(commonContract.getStaffName()+"提交的"+messageFlowableQuery.getModuleName()+",请审批"); + } + messageFlowableQuery.setMsgTitle("业务中心"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + return rb.success(); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean revokeProcess(CommonContractTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + CommonContract commonContract = fetchBySid(query.getBusinessSid()); + String businessTaskId = commonContract.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + return rb.success().setData(resultBean.getData()); + } + } + return rb.setMsg("操作失败,提交的数据不一致!"); + } + + public ResultBean breakProcess(CommonContractTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + CommonContract commonContract = fetchBySid(query.getBusinessSid()); + String businessTaskId = commonContract.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.java index 44574786bd..41bcc97da8 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.java @@ -157,4 +157,6 @@ public interface BusSalesOrderMapper extends BaseMapper { AppOrderDetailsVo getSaleOrderDetails(String sid); int updateFlowFiled(Map map); + + int selectNum(String bill); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml index b7afe2a08f..05b8391164 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml @@ -207,4 +207,10 @@ WHERE sid = #{sid} + + \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java index e0bba8fd0b..d4ac3aa4e2 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java @@ -46,6 +46,9 @@ import com.yxt.anrui.base.api.busvehicleorder.BusVehicleOrderFeign; import com.yxt.anrui.base.api.busvehicleorder.BusVehicleOrderVo; import com.yxt.anrui.base.api.commoncontract.CommonContractBuscenterVo; import com.yxt.anrui.base.api.commoncontract.CommonContractFeign; +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; import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDetailsVo; import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDto; import com.yxt.anrui.buscenter.api.bussalesorder.*; @@ -101,6 +104,7 @@ import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign; import com.yxt.anrui.portal.api.dictcommon.DictCommonVo; import com.yxt.anrui.portal.api.sysorganization.SysOrganization; 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.SysUserFeign; @@ -1286,7 +1290,8 @@ public class BusSalesOrderService extends MybatisBaseService resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid); + ResultBean resultBean1 = sysOrganizationFeign.fetchBySid(resultBean.getData()); + String orgCode = resultBean1.getData().getOrgCode(); + BillNo b = new BillNo(); + b.setOrgCode(orgCode); + b.setBillType(BillTypeEnum.XSDD.getBillType()); + String bill = Rule.getBill(b); + int i = baseMapper.selectNum(bill); + String billNo = Rule.getBillNo(bill, i); + return billNo; + } + /** * 初始化销售订单车型信息,以及验证销售订单的车型信息是否发生了变化 * @@ -1482,7 +1501,13 @@ public class BusSalesOrderService extends MybatisBaseService stringList = Arrays.asList(payPath.split(",")); - listVo.setEntrustImage(stringList); + if(StringUtils.isNotBlank(payPath)){ + List stringList = Arrays.asList(payPath.split(",")); + listVo.setEntrustImage(stringList); + } //根据销售订单 if (!busSalesOrder.getCustomerName().equals(listVo.getName())) { listVo.setShowImage(true); @@ -182,16 +184,47 @@ public class BusSalesOrderDepositService extends MybatisBaseService listVos = dto.getVirtualOrderList(); + listVos.removeAll(Collections.singleton(null)); + for (AppBusSalesOrderDepositListDto listDto : listVos) { + //查询付款人是否和客户一样 + BusDeposit busDeposit = busDepositService.selectByBillSid(listDto.getDepositBillSid()); + if (!busSalesOrder.getCustomerName().equals(busDeposit.getDraweeName())) { + if (listDto.getEntrustImage().isEmpty()) { + return rb.setMsg("选择的虚拟订金单中有付款人与该客户不一致,请上传款项支付委托书"); + } + } + makeUpDecimal = makeUpDecimal.add(new BigDecimal(listDto.getPrice())); + } + } BusSalesOrderDeposit busSalesOrderDeposit = baseMapper.selectByOrderSid(salesOrderSid); String depositSid = ""; if (busSalesOrderDeposit == null) { busSalesOrderDeposit = new BusSalesOrderDeposit(); BeanUtil.copyProperties(dto, busSalesOrderDeposit, "sid"); + //计算需补交订金 + if(StringUtils.isNotBlank(dto.getDepositAll())){ + if("02".equals(dto.getDepositTypeKey())){ + BigDecimal bigDecimalAll = new BigDecimal(dto.getDepositAll()); + busSalesOrderDeposit.setMakeUpDeposit(bigDecimalAll.subtract(makeUpDecimal)); + } + } depositSid = busSalesOrderDeposit.getSid(); baseMapper.insert(busSalesOrderDeposit); } else { depositSid = busSalesOrderDeposit.getSid(); BeanUtil.copyProperties(dto, busSalesOrderDeposit, "sid"); + //计算需补交订金 + if(StringUtils.isNotBlank(dto.getDepositAll())){ + if("02".equals(dto.getDepositTypeKey())){ + BigDecimal bigDecimalAll = new BigDecimal(dto.getDepositAll()); + busSalesOrderDeposit.setMakeUpDeposit(bigDecimalAll.subtract(makeUpDecimal)); + } + } baseMapper.updateById(busSalesOrderDeposit); if ("01".equals(dto.getDepositTypeKey())) { //将需补交订金设置为null @@ -208,14 +241,6 @@ public class BusSalesOrderDepositService extends MybatisBaseService listVos = dto.getVirtualOrderList(); listVos.removeAll(Collections.singleton(null)); for (AppBusSalesOrderDepositListDto listDto : listVos) { - //查询付款人是否和客户一样 - BusDeposit busDeposit = busDepositService.selectByBillSid(listDto.getDepositBillSid()); - if (!busSalesOrder.getCustomerName().equals(busDeposit.getDraweeName())) { - if (listDto.getEntrustImage().isEmpty()) { - return rb.setMsg("选择的虚拟订金单中有付款人与该客户不一致,请上传款项支付委托书"); - } - - } BusDepositFictitious busDepositFictitious = new BusDepositFictitious(); BeanUtil.copyProperties(listDto, busDepositFictitious, "sid"); busDepositFictitious.setDepositSid(depositSid); diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupMapper.xml index 31719c9ed5..d3a39cdcdc 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupMapper.xml @@ -68,6 +68,8 @@ NULL), IF(LENGTH(trim(GROUP_CONCAT(topPrice))) > 0, GROUP_CONCAT('上装价格:', topPrice), NULL), IF(LENGTH(trim(GROUP_CONCAT(moreConfig))) > 0, GROUP_CONCAT('更多配置:', moreConfig), + NULL), + IF(LENGTH(trim(GROUP_CONCAT(remarks))) > 0, GROUP_CONCAT('备注:', remarks), NULL)) as topBean, contractPath, topName diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdmaterial/BdMaterial.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdmaterial/BdMaterial.java index 0ac3b849a0..75915bc32d 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdmaterial/BdMaterial.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdmaterial/BdMaterial.java @@ -37,6 +37,13 @@ public class BdMaterial { @NotBlank(message = "物料分组:FMaterialGroup (必填项)") @JsonProperty("FMaterialGroup") private String FMaterialGroup; + + /** + *车辆类型:F_PAEZ_Base (必填项) + */ + @NotBlank(message = "车辆类型:F_PAEZ_Base ") + @JsonProperty("F_PAEZ_Base") + private String F_PAEZ_Base; private final static BdMaterial bdMaterial = new BdMaterial(); static { /** diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/purmrb/PurMrb.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/purmrb/PurMrb.java index c64c86e514..9a9a451fd0 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/purmrb/PurMrb.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/purmrb/PurMrb.java @@ -29,14 +29,14 @@ public class PurMrb { public String FStockOrgId; /** * 需求组织:FRequireOrgId (必填项) - */@NotBlank - @JsonProperty("FRequireOrgId") - public String FRequireOrgId; + *///@NotBlank + //@JsonProperty("FRequireOrgId") + //public String FRequireOrgId; /** * 采购组织:FPurchaseOrgId (必填项) - */@NotBlank - @JsonProperty("FPurchaseOrgId") - public String FPurchaseOrgId; + *///@NotBlank + //@JsonProperty("FPurchaseOrgId") + //public String FPurchaseOrgId; /** * 供应商:FSupplierID (必填项) */@NotBlank @@ -44,29 +44,29 @@ public class PurMrb { public String FSupplierID; /** * 接收方:FACCEPTORID - */@NotBlank - @JsonProperty("FACCEPTORID") - public String FACCEPTORID; + *///@NotBlank + //@JsonProperty("FACCEPTORID") + //public String FACCEPTORID; /** * 结算方:FSettleId - */@NotBlank - @JsonProperty("FSettleId") - public String FSettleId; + *///@NotBlank + //@JsonProperty("FSettleId") + //public String FSettleId; /** * 收款方:FCHARGEID - */@NotBlank - @JsonProperty("FCHARGEID") - public String FCHARGEID; + *///@NotBlank + //@JsonProperty("FCHARGEID") + //public String FCHARGEID; /** * 货主:FOwnerIdHead (必填项) - */@NotBlank - @JsonProperty("FOwnerIdHead") - public String FOwnerIdHead; + *///@NotBlank + //@JsonProperty("FOwnerIdHead") + //public String FOwnerIdHead; /** * 结算组织:FSettleOrgId (必填项) - */@NotBlank - @JsonProperty("FSettleOrgId") - public String FSettleOrgId; + *///@NotBlank + //@JsonProperty("FSettleOrgId") + //public String FSettleOrgId; /** * 物料列表 */@NotBlank @@ -90,7 +90,7 @@ public class PurMrb { * 库存单位:FUnitID (必填项) */@NotBlank @JsonProperty("FUnitID") - public String FUnitID; + public String FUnitID="liang"; /** * 批号:FLot */@NotBlank @@ -103,19 +103,19 @@ public class PurMrb { public double FRMREALQTY; /** * 补料数量:FREPLENISHQTY - */@NotBlank - @JsonProperty("FREPLENISHQTY") - public double FREPLENISHQTY; + *///@NotBlank + //@JsonProperty("FREPLENISHQTY") + //public double FREPLENISHQTY; /** * 扣款数量:FKEAPAMTQTY - */@NotBlank - @JsonProperty("FKEAPAMTQTY") - public double FKEAPAMTQTY; + *///@NotBlank + //@JsonProperty("FKEAPAMTQTY") + //public double FKEAPAMTQTY; /** * 计价单位:FPRICEUNITID (必填项) */@NotBlank @JsonProperty("FPRICEUNITID") - public String FPRICEUNITID; + public String FPRICEUNITID="liang"; /** * 仓库:FSTOCKID */@NotBlank @@ -128,24 +128,24 @@ public class PurMrb { public String FStockStatusId; /** * 计价基本数量:FPriceBaseQty - */@NotBlank - @JsonProperty("FPriceBaseQty") - public double FPriceBaseQty; + *///@NotBlank + //@JsonProperty("FPriceBaseQty") + //public double FPriceBaseQty; /** * 采购单位:FCarryUnitId (必填项) */@NotBlank @JsonProperty("FCarryUnitId") - public String FCarryUnitId; + public String FCarryUnitId="liang"; /** * 采购数量:FCarryQty - */@NotBlank - @JsonProperty("FCarryQty") - public double FCarryQty; + *///@NotBlank + //@JsonProperty("FCarryQty") + //public double FCarryQty; /** * 采购基本数量:FCarryBaseQty - */@NotBlank - @JsonProperty("FCarryBaseQty") - public double FCarryBaseQty; + *///@NotBlank + //@JsonProperty("FCarryBaseQty") + //public double FCarryBaseQty; } diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/saloutstock/SalOutStock.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/saloutstock/SalOutStock.java index d4556d6eb1..3ead780e01 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/saloutstock/SalOutStock.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/saloutstock/SalOutStock.java @@ -34,8 +34,8 @@ public class SalOutStock { private String FSaleDeptID; /** * 发货组织:FStockOrgId (必填项) - */ @JsonProperty("FStockOrgId") - private String FStockOrgId; + */ //@JsonProperty("FStockOrgId") + // private String FStockOrgId; /** * 付款方:FPayerID 同 FCustomerID */ @JsonProperty("FPayerID") diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkinstock/StkInStock.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkinstock/StkInStock.java index 211ab87918..828b2c02f6 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkinstock/StkInStock.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkinstock/StkInStock.java @@ -23,9 +23,9 @@ public class StkInStock { /** * // 收料组织:FStockOrgId (必填项) - */@JsonProperty("FStockOrgId") - @NotBlank - public String FStockOrgId; + *///@JsonProperty("FStockOrgId") + // @NotBlank + // public String FStockOrgId; /** * // 采购部门:FPurchaseDeptId (必填项) @@ -47,9 +47,9 @@ public class StkInStock { /** * // 货主:FOwnerIdHead (必填项) - */@JsonProperty("FOwnerIdHead") - @NotBlank - public String FOwnerIdHead; + *///@JsonProperty("FOwnerIdHead") + //@NotBlank + // public String FOwnerIdHead; /** * // 货主类型:FOwnerTypeIdHead (必填项) @@ -65,9 +65,9 @@ public class StkInStock { /** * // 结算组织:FSettleOrgId (必填项) - */@JsonProperty("FSettleOrgId") - @NotBlank - public String FSettleOrgId; + *///@JsonProperty("FSettleOrgId") + //@NotBlank + //public String FSettleOrgId; /** * // 物料列表:FInStockEntry (必填项) @@ -88,7 +88,7 @@ public class StkInStock { * // 库存单位:FUnitID (必填项) */@JsonProperty("FUnitID") @NotBlank - public String FUnitID; + public String FUnitID="liang"; /** * // 实收数量:FRealQty @@ -98,15 +98,15 @@ public class StkInStock { /** * // 计价数量:FPriceUnitQty - */@JsonProperty("FPriceUnitQty") - @NotBlank - public String FPriceUnitQty; + *///@JsonProperty("FPriceUnitQty") + // @NotBlank + // public String FPriceUnitQty; /** * // 采购数量:FRemainInStockQty - */@JsonProperty("FRemainInStockQty") - @NotBlank - public double FRemainInStockQty; + *///@JsonProperty("FRemainInStockQty") + // @NotBlank + //public double FRemainInStockQty; /** * // 批号:FLot diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/data_FPURMRBENTRY.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/data_FPURMRBENTRY.json index 5993c5110c..1b96dec641 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/data_FPURMRBENTRY.json +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/data_FPURMRBENTRY.json @@ -11,8 +11,8 @@ "FNumber": "@KD_Flot" }, "FRMREALQTY": @KD_FRMREALQTY, - "FREPLENISHQTY": @KD_FREPLENISHQTY, - "FKEAPAMTQTY": @KD_FKEAPAMTQTY, + "FREPLENISHQTY": @KD_FRMREALQTY, + "FKEAPAMTQTY": @KD_FRMREALQTY, "FPRICEUNITID": { "FNumber": "@KD_FPRICEUNITID" }, @@ -24,12 +24,12 @@ }, "FIsReceiveUpdateStock": false, "FGiveAway": false, - "FPriceBaseQty": @KD_FPriceBaseQty, + "FPriceBaseQty": @KD_FRMREALQTY, "FCarryUnitId": { "FNumber": "@KD_FCarryUnitId" }, - "FCarryQty": @KD_FCarryQty, - "FCarryBaseQty": @KD_FCarryBaseQty, + "FCarryQty": @KD_FRMREALQTY, + "FCarryBaseQty": @KD_FRMREALQTY, "FBILLINGCLOSE": false, "FIsStock": false } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/data_model.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/data_model.json index a25d3a01bb..0220f1ce04 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/data_model.json +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/data_model.json @@ -10,30 +10,30 @@ "FNumber": "@KD_FStockOrgId" }, "FRequireOrgId": { - "FNumber": "@KD_FRequireOrgId" + "FNumber": "@KD_FStockOrgId" }, "FPurchaseOrgId": { - "FNumber": "@KD_FPurchaseOrgId" + "FNumber": "@KD_FStockOrgId" }, "FSupplierID": { "FNumber": "@KD_FSupplierID" }, "FACCEPTORID": { - "FNumber": "@KD_FACCEPTORID" + "FNumber": "@KD_FSupplierID" }, "FSettleId": { - "FNumber": "@KD_FSettleId" + "FNumber": "@KD_FSupplierID" }, "FCHARGEID": { - "FNumber": "@KD_FCHARGEID" + "FNumber": "@KD_FSupplierID" }, "FOwnerTypeIdHead": "BD_OwnerOrg", "FOwnerIdHead": { - "FNumber": "@KD_FOwnerIdHead" + "FNumber": "@KD_FStockOrgId" }, "FPURMRBFIN": { "FSettleOrgId": { - "FNumber": "@KD_FSettleOrgId" + "FNumber": "@KD_FStockOrgId" }, "FSettleCurrId": { "FNumber": "PRE001" diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/saloutstock/data_model.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/saloutstock/data_model.json index 341094163d..c36e540865 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/saloutstock/data_model.json +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/saloutstock/data_model.json @@ -14,7 +14,7 @@ "FNumber": "@KD_FSaleDeptID" }, "FStockOrgId": { - "FNumber": "@KD_FStockOrgId" + "FNumber": "@KD_FSaleOrgId" }, "FReceiverID": { "FNumber": "@KD_FCustomerID" diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/data_FInStockEntry.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/data_FInStockEntry.json index d0f9645da6..e506d256f4 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/data_FInStockEntry.json +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/data_FInStockEntry.json @@ -29,7 +29,8 @@ "FNumber": "@KD_FUnitID" }, "FBILLINGCLOSE": false, - "FRemainInStockQty": @KD_FRemainInStockQty, + "FPriceUnitQty":@KD_FRealQty, + "FRemainInStockQty":@KD_FRealQty, "FAPNotJoinQty": 1.0, "FRemainInStockBaseQty": 1.0 } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/data_model.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/data_model.json index 827f4235f0..561664194d 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/data_model.json +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/data_model.json @@ -5,7 +5,7 @@ }, "FDate": "@KD_FDate", "FStockOrgId": { - "FNumber": "@KD_FStockOrgId" + "FNumber": "@KD_FPurchaseOrgId" }, "FDemandOrgId": { "FNumber": "" @@ -30,11 +30,11 @@ }, "FOwnerTypeIdHead": "BD_OwnerOrg", "FOwnerIdHead": { - "FNumber": "@KD_FOwnerIdHead" + "FNumber": "@KD_FPurchaseOrgId" }, "FInStockFin": { "FSettleOrgId": { - "FNumber": "@KD_FSettleOrgId" + "FNumber": "@KD_FPurchaseOrgId" }, "FSettleCurrId": { "FNumber": "PRE001" diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskUserInfo.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskUserInfo.java index 79b9363720..c05dfa8739 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskUserInfo.java +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/TaskUserInfo.java @@ -3,6 +3,15 @@ package com.yxt.anrui.flowable.api.flowtask; public class TaskUserInfo { private String assigneeName; private String assigneeHeadImage; + private String assigneeSid; + + public String getAssigneeSid() { + return assigneeSid; + } + + public void setAssigneeSid(String assigneeSid) { + this.assigneeSid = assigneeSid; + } public String getAssigneeName() { return assigneeName; 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 928eee5e8b..a67f71ac73 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 @@ -31,6 +31,7 @@ public enum ProcDefEnum { BASESHUNINVOICAPPLY("调车开票申请","process_u4xrvaso:1:400008"), BASEVEHINSTALLMODPRICE("上装调价申请","process_s0a0svth:1:492508"), SCMVEHREBATEWITHAPPLY("单车返利预提申请","process_qegarc7r:1:535004"), + CONTRACTAPPLY("合同审核","process_gd8c9xd5:1:545008"), ; ProcDefEnum(String proDefName, String proDefId) { diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java index 76db12ec30..c2c648df4a 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java @@ -28,13 +28,14 @@ package com.yxt.anrui.flowable.biz.flow; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.yxt.anrui.flowable.api.flow.*; import com.yxt.anrui.flowable.api.flowcomment.FlowComment; +import com.yxt.anrui.flowable.api.flowtask.FlowRecordVo; import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; import com.yxt.anrui.flowable.biz.flowtask.FlowTaskService; +import com.yxt.anrui.flowable.biz.process.ProcessService; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; -import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; -import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.portal.api.sysuser.UserQuery; @@ -43,6 +44,9 @@ import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; +import org.flowable.bpmn.model.ExtensionAttribute; +import org.flowable.bpmn.model.FlowElement; +import org.flowable.bpmn.model.UserTask; import org.flowable.engine.TaskService; import org.flowable.task.api.DelegationState; import org.flowable.task.api.Task; @@ -52,10 +56,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; /** * Project: anrui-parent
@@ -83,10 +84,8 @@ public class FlowableRest implements FlowableFeign { private SysUserFeign sysUserFeign; @Resource protected TaskService taskService; - @Autowired - private SysStaffOrgFeign sysStaffOrgFeign; - @Autowired - private SysOrganizationFeign sysOrganizationFeign; + @Resource + private ProcessService processService; @Override public ResultBean businessStart(BusinessVariables bv) { return flowableService.businessStart( bv); @@ -221,9 +220,19 @@ public class FlowableRest implements FlowableFeign { Logger log= LoggerFactory.getLogger(FlowableRest.class); @Override public ResultBean handleProsess(BusinessVariables dto) { + return handleProsess(dto,true); + } + + /** + * + * @param dto + * @param b 是否连续跳转环节 + * @return + */ + public ResultBean handleProsess(BusinessVariables dto,boolean b) { UpdateFlowFieldVo vo = new UpdateFlowFieldVo(); ResultBean rb = ResultBean.fireFail(); - // Map formVariables = dto.getFormVariables(); + // Map formVariables = dto.getFormVariables(); String taskId = dto.getTaskId(); if (StringUtils.isBlank(taskId)) { @@ -271,7 +280,7 @@ public class FlowableRest implements FlowableFeign { return rb.setMsg("任务不存在"); } String assignee = task.getAssignee(); - if(StringUtils.isNotBlank(assignee)&& assignee.indexOf(userSid)<0){ + if(b&&(StringUtils.isNotBlank(assignee)&& assignee.indexOf(userSid)<0)){ return rb.setMsg("当前用户不是环节的待办人,不能进行办理操作!"); } String nodeState = ""; @@ -309,6 +318,42 @@ public class FlowableRest implements FlowableFeign { vo.setNodeState(FlowComment.SETTLE.getRemark()); } } + //ResultBean flowRecordVoResultBean = flowableService.flowRecord(dto.getInstanceId(), dto.getModelId()); + List flowElements = processService.calApprovePath(dto.getModelId(), dto.getModelId(), + dto.getFormVariables()); + boolean contains=false; + for(int i=0;i candidateGroups = userTask.getCandidateGroups(); + List sysUserVoLists=new ArrayList<>(); + for(String roleSid:candidateGroups){ + UserQuery userQuery = new UserQuery(); + userQuery.setRoleSid(roleSid); + userQuery.setOrgSidPath(dto.getOrgSidPath()); + List sysUserVos = sysUserFeign.getUserByRole(userQuery).getData(); + sysUserVoLists.addAll(sysUserVos); + } + if(sysUserVoLists.size()==1&&sysUserVoLists.get(0).getSid().equals(nextUserSid)){ + contains=true; + break; + } + } + } + if(contains){ + break; + } + } + if(contains){ + dto.setUserSid(nextUserSid); + dto.setTaskId(vo.getTaskId()); + dto.setTaskDefKey(taskDefKey); + return handleProsess(dto,false); + } vo.setProcInsId(instanceId); vo.setProcDefId(task.getProcessDefinitionId()); vo.setNodeState(nodeState); @@ -316,7 +361,6 @@ public class FlowableRest implements FlowableFeign { vo.setNextNodeUserSids(nextUserSid); return rb.success().setData(vo); } - @Override public ResultBean revokeProcess(com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl) { ResultBean rb = ResultBean.fireFail(); 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 2496694ced..4a1331c39d 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 @@ -10,6 +10,7 @@ import com.yxt.anrui.flowable.api.flowcomment.FlowCommentDto; import com.yxt.anrui.flowable.api.flowtask.*; import com.yxt.anrui.flowable.api.sysform.SysForm; import com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo; +import com.yxt.anrui.flowable.biz.flow.FlowableService; import com.yxt.anrui.flowable.biz.process.ProcessService; import com.yxt.anrui.flowable.biz.sysdeployform.SysDeployFormService; import com.yxt.anrui.flowable.biz.sysprourl.SysProUrlService; @@ -110,7 +111,8 @@ public class FlowTaskService extends MybatisBaseService> taskReject(FlowTaskVo flowTaskVo) { + return taskReject_(flowTaskVo,false); + } + /** + * 驳回任务 + * + * @param flowTaskVo + */ + public ResultBean> taskReject_(FlowTaskVo flowTaskVo,boolean b) { // 当前任务 task Task task = taskService.createTaskQuery().taskId(flowTaskVo.getTaskId()).singleResult(); if (task.isSuspended()) { @@ -1230,18 +1241,38 @@ public class FlowTaskService extends MybatisBaseService { + Map map2 = flowTaskMapper.getTaskByDefKey(task.getProcessInstanceId(), targetIds.get(0)); + Map map = flowTaskMapper.getHistTaskByID(task.getProcessInstanceId(), targetIds.get(0)); + String assignee_ =item.getAssignee(); + if(map.get("ASSIGNEE_")!=null){ + assignee_ = map.get("ASSIGNEE_").toString(); + } + // String assignee_ = map.get("ASSIGNEE_").toString(); + String id_ = map2.get("id_").toString(); + /* List flowElements = processService.calApprovePath(flowTaskVo.getInstanceId(), flowTaskVo.getInstanceId(), + flowTaskVo.getValues()); + for(int i=0;i> listResultBean_2=null; + if(flowTaskVo.getUserSid().equals(assignee_)){ + flowTaskVo.setTaskId(id_); + flowTaskVo.setUserSid(assignee_); + flowTaskVo.setTargetKey(item.getId()); + listResultBean_2= taskReject_(flowTaskVo, true); + }else{taskService.setAssignee(id_, assignee_);} LatestTaskVo latestTaskVo = new LatestTaskVo(); latestTaskVo.setASSIGNEE_(item.getAssignee()); // latestTaskVo.setId_(item.getId()); - Map map = flowTaskMapper.getHistTaskByID(task.getProcessInstanceId(), targetIds.get(0)); - Map map2 = flowTaskMapper.getTaskByDefKey(task.getProcessInstanceId(), targetIds.get(0)); - String id_ = map2.get("id_").toString(); - latestTaskVo.setId_(id_); - String assignee_ = map.get("ASSIGNEE_").toString(); - taskService.setAssignee(id_, assignee_); - latestTaskVo.setName_(item.getName()); - latestTaskVo.setTask_def_key_(item.getId()); - latestTaskVo.setIncomingSourceRef(item.getIncomingFlows().get(0).getSourceRef()); + latestTaskVo.setId_(listResultBean_2!=null?listResultBean_2.getData().get(0).getId_():id_); + if(b){ + taskService.setAssignee(id_, assignee_); + } + latestTaskVo.setName_(listResultBean_2!=null?listResultBean_2.getData().get(0).getName_():item.getName()); + latestTaskVo.setTask_def_key_(listResultBean_2!=null?listResultBean_2.getData().get(0).getTask_def_key_():item.getId()); + latestTaskVo.setIncomingSourceRef(listResultBean_2!=null?listResultBean_2.getData().get(0).getIncomingSourceRef():item.getIncomingFlows().get(0).getSourceRef()); + latestTaskList.add(latestTaskVo); }); } catch (FlowableObjectNotFoundException e) { @@ -1335,13 +1366,11 @@ public class FlowTaskService extends MybatisBaseService> revokeProcess(FlowTaskVo flowTaskVo) { + public ResultBean> revokeProcess(FlowTaskVo flowTaskVo,int j) { HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().taskId(flowTaskVo.getTaskId()).singleResult(); Execution execution = runtimeService.createExecutionQuery().executionId(historicTaskInstance.getExecutionId()).singleResult(); DelegateExecution delegateExecution = (DelegateExecution) execution; - if(delegateExecution==null){ + if (delegateExecution == null) { return new ResultBean>().fail().setMsg("流程已办结,不能撤回!").setData(new ArrayList<>()); } // 获取当前节点的activityId,即xml中每个标签的ID @@ -1350,21 +1379,86 @@ public class FlowTaskService extends MybatisBaseService>().fail().setMsg("流程找不到上一环节,撤回操作失败!").setData(new ArrayList<>()); } HistoricTaskInstance historicTaskInstance1 = historyService.createHistoricTaskInstanceQuery().taskId(taskId).singleResult(); String assignee = historicTaskInstance1.getAssignee(); String userSid = flowTaskVo.getUserSid(); - if (!assignee.equals(userSid)) { + ResultBean flowRecordVoResultBean = flowableService.flowRecord(flowTaskVo.getInstanceId(), flowTaskVo.getInstanceId()); + List flowList = flowRecordVoResultBean.getData().getFlowList(); + String ybrsid=""; + int ii=0; + + FlowTask flowTask_1 = flowList.get(j+1); + List taskUserInfos_1 = flowTask_1.getTaskUserInfos(); + TaskUserInfo taskUserInfo_1 = taskUserInfos_1.get(0); + + FlowTask flowTask_0 = flowList.get(j); + List taskUserInfos_0 = flowTask_0.getTaskUserInfos(); + TaskUserInfo taskUserInfo_0 = taskUserInfos_0.get(0); + String assigneeSid1 = taskUserInfo_1.getAssigneeSid(); + String assigneeSid0 = taskUserInfo_0.getAssigneeSid(); + /* if(assigneeSid1.equals(assigneeSid0)){ + ii=1; + ybrsid=userSid; + }else{ + ybrsid=assigneeSid1; + }*/ + + if(!assigneeSid1.equals(assigneeSid0)){ + ybrsid=assignee; + }else{ + for(int i=1;i taskUserInfos = flowTask.getTaskUserInfos(); + TaskUserInfo taskUserInfo = taskUserInfos.get(0); + if(assigneeSid0.equals(taskUserInfo.getAssigneeSid())){ + ii++; + continue; + }else{ + ybrsid=flowList.get(i).getTaskUserInfos().get(0).getAssigneeSid(); + break; + } + } + } + + if (!ybrsid.equals(userSid)) { return new ResultBean>().fail().setMsg("您不是上一环节处理人,不能进行撤回操作!").setData(new ArrayList<>()); + } else { + ResultBean> listResultBean = null; + for(int i=0;i<=ii;i++){ + listResultBean = revokeProcess_(historicTaskInstance.getProcessInstanceId(),userSid); + } + return listResultBean; } + } + public ResultBean> revokeProcess(FlowTaskVo flowTaskVo) { + return revokeProcess(flowTaskVo,0); + } + + /* private ResultBean> getListResultBean(FlowTaskVo flowTaskVo, String assignee, ResultBean> listResultBean) { + List data = listResultBean.getData(); + LatestTaskVo latestTaskVo = data.get(0); + flowTaskVo.setTaskId(latestTaskVo.getId_()); + flowTaskVo.setUserSid(assignee); + // ResultBean> listResultBean1 = revokeProcess(flowTaskVo); + LatestTaskVo latestTaskVo2 = data.get(0); + String assignee_ = latestTaskVo2.getASSIGNEE_(); + if(!assignee_.equals(assignee)){ + return getListResultBean(flowTaskVo, assignee, listResultBean); + } + return listResultBean1; + }*/ + + // @Transactional(rollbackFor = Exception.class) + private ResultBean> revokeProcess_( String processInstanceId, + String assignee ) { // 流程回退到上一个节点,审批人继续审批 /* runtimeService.createChangeActivityStateBuilder().processInstanceId(historicTaskInstance.getProcessInstanceId()) .moveActivityIdTo(currentActivityId,sourceRef).changeState(); */ // 获取流程定义信息 - String processInstanceId = historicTaskInstance.getProcessInstanceId(); Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).singleResult(); ProcessDefinition processDefinition = repositoryService .createProcessDefinitionQuery() @@ -1395,7 +1489,7 @@ public class FlowTaskService extends MybatisBaseService 0) { + .processInstanceId(processInstanceId).count() > 0) { return new ResultBean>().fail().setMsg("当前已经结束不能撤回").setData(new ArrayList<>()); } // 获取活动 ID 即节点 Key @@ -1403,7 +1497,7 @@ public class FlowTaskService extends MybatisBaseService parentUserTaskKeyList.add(item.getId())); // 获取全部历史节点活动实例,即已经走过的节点历史,数据采用开始时间升序 List historicTaskInstanceList = historyService.createHistoricTaskInstanceQuery() - .processInstanceId(task.getProcessInstanceId()) + .processInstanceId(processInstanceId) .orderByHistoricTaskInstanceStartTime().asc().list(); // 数据清洗,将回滚导致的脏数据清洗掉 List lastHistoricTaskInstanceList = FlowableUtils.historicTaskInstanceClean(allElements, historicTaskInstanceList); @@ -1437,7 +1531,7 @@ public class FlowTaskService extends MybatisBaseService runTaskList = taskService.createTaskQuery() - .processInstanceId(task.getProcessInstanceId()).list(); + .processInstanceId(processInstanceId).list(); List runTaskKeyList = new ArrayList<>(); runTaskList.forEach(item -> runTaskKeyList.add(item.getTaskDefinitionKey())); // 需驳回任务列表 @@ -1459,10 +1553,14 @@ public class FlowTaskService extends MybatisBaseService { - taskService.addComment(item, historicTaskInstance.getProcessInstanceId(), + taskService.addComment(item, processInstanceId, FlowComment.RECALL.getType(), "撤回办理"); // 设置实际办理人 - taskService.setAssignee(item, userSid); + /* if(assignee.equals("0d8d8119-d476-47ce-89c2-075cd809dda6")){ + taskService.setAssignee(item, assignee); + }else{*/ + taskService.setAssignee(item, assignee); + /* }*/ }); // 最近环节 @@ -1472,14 +1570,14 @@ public class FlowTaskService extends MybatisBaseService 1) { // 1 对 多任务跳转,currentIds 当前节点(1),targetIds 跳转到的节点(多) runtimeService.createChangeActivityStateBuilder() - .processInstanceId(task.getProcessInstanceId()). + .processInstanceId(processInstanceId). moveSingleActivityIdToActivityIds(currentIds.get(0), targetIds).changeState(); } // 如果父级任务只有一个,因此当前任务可能为网关中的任务 if (targetIds.size() == 1) { // 1 对 1 或 多 对 1 情况,currentIds 当前要跳转的节点列表(1或多),targetIds.get(0) 跳转到的节点(1) runtimeService.createChangeActivityStateBuilder() - .processInstanceId(task.getProcessInstanceId()) + .processInstanceId(processInstanceId) .moveActivityIdsToSingleActivityId(currentIds, targetIds.get(0)).changeState(); } // 最近环节 @@ -1491,8 +1589,13 @@ public class FlowTaskService extends MybatisBaseService task_map = flowTaskMapper.getTaskByDefKey(historicTaskInstance.getProcessInstanceId(), item.getId()); - taskService.setAssignee(task_map.get("id_").toString(), userSid); + Map task_map = flowTaskMapper.getTaskByDefKey(processInstanceId, item.getId()); + /* if(assignee.equals("0d8d8119-d476-47ce-89c2-075cd809dda6")){ + taskService.setAssignee(task_map.get("id_").toString(), assignee); + }else{*/ + taskService.setAssignee(task_map.get("id_").toString(), assignee); + /* }*/ + latestTaskVo.setId_(task_map.get("id_").toString()); latestTaskList.add(latestTaskVo); }); 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 2f12b9625c..51235c6901 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 @@ -524,23 +524,23 @@ public class ScmApplyInboundService extends MybatisBaseService scmApplyInboundVehicleDtos) { StkInStock stkInStock=new StkInStock(); try { - stkInStock.setFPurchaseOrgId("101"); - stkInStock.setFStockOrgId("101"); - stkInStock.setFPurchaseDeptId("05.04"); - stkInStock.setFSupplierId("010001"); + stkInStock.setFPurchaseOrgId("101");//采购组织 + // stkInStock.setFStockOrgId("101");// 收料组织 + stkInStock.setFPurchaseDeptId("05.04");// 采购部门 + stkInStock.setFSupplierId("010001");// 供应商 stkInStock.setFDate(scmApplyInbound.getApplicationDate()); - stkInStock.setFOwnerIdHead("101"); - stkInStock.setFSettleOrgId("101"); + // stkInStock.setFOwnerIdHead("101");// 货主 + // stkInStock.setFSettleOrgId("101"); // 结算组织 List FInStockEntry=new ArrayList<>(); for(ScmApplyInboundVehicleDto s:scmApplyInboundVehicleDtos){ StkInStock.FInStockEntry fise=new StkInStock.FInStockEntry(); - fise.setFMaterialId(s.getVinNo()); - fise.setFRealQty(1.0); - fise.setFPriceUnitQty("1"); - fise.setFRemainInStockQty(1.0); - fise.setFLot("1234567890"); - fise.setFStockId("CK001"); - fise.setFUnitID("liang"); + fise.setFMaterialId(s.getVinNo());// 物料编码 + fise.setFRealQty(1.0);// 实收数量 + //fise.setFPriceUnitQty("1");// 计价数量 + //fise.setFRemainInStockQty(1.0);// 采购数量 + fise.setFLot("1234567890");// 批号 + fise.setFStockId("CK001");// 仓库 + //fise.setFUnitID("liang");// 库存单位 FInStockEntry.add(fise); } stkInStock.setFInStockEntry(FInStockEntry); @@ -563,10 +563,11 @@ public class ScmApplyInboundService extends MybatisBaseService baseVehicleResultBean = baseVehicleFeign.selectByVinNoAndOrgSid(s.getVinNo(),scmApplyInbound.getUseOrgSid()); - bm.setFName(baseVehicleResultBean.getData().getModelName());//物料名称 + bm.setFName(baseVehicleResultBean.getData().getVinNo());//物料名称 bm.setFMaterialGroup("03");//物料分组 bm.setFUseOrgId("100");//使用组织 bm.setTOrgIds("100020");//欧曼黑龙江 + bm.setF_PAEZ_Base("牵引");//车辆类型 list.add(bm); } }catch (Exception e){ diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionMapper.java index 28bb7450e3..3aab47a37e 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionMapper.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionMapper.java @@ -116,6 +116,6 @@ public interface ScmVehicleGressionMapper extends BaseMapper List getlastTimeEqual(@Param("vinNo") String vinNo, @Param("targetLocationSid") String targetLocationSid); - @Select("SELECT count(*) FROM scm_vehicle_gression WHERE useOrgSid = #{useOrgSid} and handleState = '1' ") - int getToDoNum(@Param("useOrgSid") String useOrgSid); + @Select("SELECT count(*) FROM scm_vehicle_gression WHERE useOrgSid = #{useOrgSid} and createBySid = #{userSid} and handleState = '1' ") + int getToDoNum(@Param("useOrgSid") String useOrgSid, @Param("userSid") String userSid); } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java index 61758537a8..926b023986 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java @@ -665,7 +665,6 @@ public class ScmVehicleGressionService extends MybatisBaseService stringResultBean = messageFeign.pushMessage(messageFlowableQuery); -// String msgSid = getMessage(ufVo, appMap, scmVehicleGression); return voResultBean; } if (r == 2) { @@ -769,7 +768,6 @@ public class ScmVehicleGressionService extends MybatisBaseService stringResultBean = messageFeign.pushMessage(messageFlowableQuery); -// String msgSid = getMessage(ufVo, appMap, scmVehicleGression); } return rb.success().setData(resultBean.getData()); @@ -874,7 +872,6 @@ public class ScmVehicleGressionService extends MybatisBaseService stringResultBean = messageFeign.pushMessage(messageFlowableQuery); -// String msgSid = getMessage(ufVo, appMap, scmVehicleGression); return rb.success(); } } @@ -1055,7 +1052,7 @@ public class ScmVehicleGressionService extends MybatisBaseService getToDoNum(String userSid) { ResultBean rb = ResultBean.fireFail(); String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData(); - int count = baseMapper.getToDoNum(useOrgSid); + int count = baseMapper.getToDoNum(useOrgSid,userSid); return rb.success().setData(String.valueOf(count)); } 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 59db4d1387..5bdad23e4d 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 @@ -268,7 +268,6 @@ public class ScmVehicleReturnService extends MybatisBaseService stringResultBean = messageFeign.pushMessage(messageFlowableQuery); -// String msgSid = getMessage(uff, appMap, scmVehicleReturn); return resultBean1; } return submitBusinessData(scmVehicleReturnDto, busSid, orgSidPath, variables); @@ -426,8 +425,6 @@ public class ScmVehicleReturnService extends MybatisBaseService stringResultBean = messageFeign.pushMessage(messageFlowableQuery); - -// String msgSid = getMessage(uff, appMap, scmVehicleReturn); } return rb1; } else { @@ -749,8 +746,6 @@ public class ScmVehicleReturnService extends MybatisBaseService stringResultBean = messageFeign.pushMessage(messageFlowableQuery); - - String msgSid = getMessage(uff, appMap, scmVehicleReturn); return resultBean; } else { return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!"); @@ -779,7 +774,6 @@ public class ScmVehicleReturnService extends MybatisBaseService codesInteger = Arrays.asList(Arrays.asList(sysProUrlVo.getUrl().split("#")).get(1).split(",")).stream().map(Integer::parseInt).collect(Collectors.toList()); int[] ints = codesInteger.stream().mapToInt(Integer::valueOf).toArray(); - ; messageJsonDto.setButtons(ints); } else { messageFlowableDto.setModuleAction(sysProUrlVo.getUrl()); diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclestayinventory/ScmVehicleStayInventoryService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclestayinventory/ScmVehicleStayInventoryService.java index d2f18ed5e7..32471e630e 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclestayinventory/ScmVehicleStayInventoryService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclestayinventory/ScmVehicleStayInventoryService.java @@ -186,17 +186,19 @@ public class ScmVehicleStayInventoryService extends MybatisBaseService scmVehicleStayInventoryVos = selInventory(record.getVin(), record.getId(), useOrgSid); - if (scmVehicleStayInventoryVos.size() <= 0) { - record.setInventoryDate("无"); - } else { - ScmVehicleStayInventoryVo scmVehicleStayInventoryVo = scmVehicleStayInventoryVos.get(0); - record.setInventoryDate(simpleDateFormat.format(scmVehicleStayInventoryVo.getLastDate())); - } - if (scmVehicleStayInventoryVos.size() <= 0) { - record.setInventoryName("无"); - } else { + if (scmVehicleStayInventoryVos.size() > 0) { + ScmVehicleStayInventoryVo scmVehicleStayInventoryVo = scmVehicleStayInventoryVos.get(0); - record.setInventoryName(scmVehicleStayInventoryVo.getLastName()); + if (scmVehicleStayInventoryVo.getLastDate() == null) { + record.setInventoryDate("无"); + } else { + record.setInventoryDate(simpleDateFormat.format(scmVehicleStayInventoryVo.getLastDate())); + } + if (StringUtils.isBlank(scmVehicleStayInventoryVo.getLastName())) { + record.setInventoryName("无"); + } else { + record.setInventoryName(scmVehicleStayInventoryVo.getLastName()); + } } } return iPage; @@ -212,7 +214,8 @@ public class ScmVehicleStayInventoryService extends MybatisBaseService appQueryWrapper(AppScmVehicleStayInventoryListPageQuery query) { + private QueryWrapper appQueryWrapper + (AppScmVehicleStayInventoryListPageQuery query) { QueryWrapper qw = new QueryWrapper<>(); qw.eq("svsi.isDelete", 0); if (StringUtils.isNotBlank(query.getUseOrgSid())) { diff --git a/anrui-system-ui/src/views/Home/Home.vue b/anrui-system-ui/src/views/Home/Home.vue index 3a5168deed..0b213a88d3 100644 --- a/anrui-system-ui/src/views/Home/Home.vue +++ b/anrui-system-ui/src/views/Home/Home.vue @@ -283,7 +283,7 @@ } else if (index == '8') { let myPopup = window.open('http://120.46.172.184/message/#/' + '?token=' + getStorage(), '_blank') } else if (index == '1') { - let myPopup = window.open('http://120.46.172.184/scm/#/' + '?token=' + getStorage(), '_blank') + let myPopup = window.open('http://127.0.0.1:9531/scm/#/' + '?token=' + getStorage(), '_blank') } else if (index == '4') { let myPopup = window.open('http://120.46.172.184/fin/#/' + '?token=' + getStorage(), '_blank') } else if (index == '5') { diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/AppCommonContractFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/AppCommonContractFeign.java index 9b7b1e1f7e..81cc8775a9 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/AppCommonContractFeign.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/AppCommonContractFeign.java @@ -1,19 +1,19 @@ package com.yxt.anrui.terminal.api.autoservice.contract; -import com.yxt.anrui.base.api.commoncontract.*; +import com.yxt.anrui.base.api.commoncontract.AppCommonContractPageVo; +import com.yxt.anrui.base.api.commoncontract.AppCommonContractQuery; +import com.yxt.anrui.base.api.commoncontract.CommonContractFeignFallback; +import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractDto; +import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractQuery; +import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractTaskQuery; 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.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import javax.validation.Valid; -import java.io.IOException; -import java.text.ParseException; -import java.util.Map; /** * Project: anrui-base(安瑞基础)
@@ -30,8 +30,8 @@ import java.util.Map; */ @Api(tags = "合同表") @FeignClient( - contextId = "anrui-base-CommonContract", - name = "anrui-base", + contextId = "anrui-terminal-CommonContract", + name = "anrui-terminal", path = "/autoservice/v1/contract", fallback = CommonContractFeignFallback.class) public interface AppCommonContractFeign { @@ -42,5 +42,38 @@ public interface AppCommonContractFeign { @ResponseBody public ResultBean> getContractList(@RequestBody PagerQuery pagerQuery); + @ApiOperation("移动端-初始化合同审核") + @GetMapping("/getContractInfo/{contractSid}/{userSid}") + @ResponseBody + public ResultBean getContractInfo(@PathVariable("contractSid") String contractSid, @PathVariable("userSid") String userSid); + + @ApiOperation("移动端-保存合同审核") + @PostMapping("/saveContractInfo") + @ResponseBody + public ResultBean saveContractInfo(@RequestBody CrmCustomerFileDto dto); + @ApiOperation("办理") + @PutMapping("/agreeContractInfo") + @ResponseBody + ResultBean agreeContractInfo(@RequestBody ContractDto dto); + + @ApiOperation("驳回") + @PutMapping("/rejectContractInfo") + @ResponseBody + ResultBean rejectContractInfo(@RequestBody ContractTaskQuery query); + + @ApiOperation("撤回") + @PutMapping("/recallContractInfo") + @ResponseBody + ResultBean recallContractInfo(@RequestBody ContractTaskQuery query); + + @ApiOperation("终止") + @PutMapping("/stopContractInfo") + @ResponseBody + ResultBean stopContractInfo(@RequestBody ContractTaskQuery query); + + @ApiOperation("获取流程操作标题") + @GetMapping("/getFlowOperateTitle") + @ResponseBody + ResultBean getFlowOperateTitle(@SpringQueryMap ContractQuery query); } \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/AppCommonContractFeignFallback.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/AppCommonContractFeignFallback.java index 50eece7314..12b53abb38 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/AppCommonContractFeignFallback.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/AppCommonContractFeignFallback.java @@ -1,6 +1,9 @@ package com.yxt.anrui.terminal.api.autoservice.contract; import com.yxt.anrui.base.api.commoncontract.*; +import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractDto; +import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractQuery; +import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractTaskQuery; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -31,4 +34,39 @@ public class AppCommonContractFeignFallback implements AppCommonContractFeign { public ResultBean> getContractList(PagerQuery pagerQuery) { return null; } + + @Override + public ResultBean getContractInfo(String contractSid, String userSid) { + return null; + } + + @Override + public ResultBean saveContractInfo(CrmCustomerFileDto dto) { + return null; + } + + @Override + public ResultBean agreeContractInfo(ContractDto dto) { + return null; + } + + @Override + public ResultBean rejectContractInfo(ContractTaskQuery query) { + return null; + } + + @Override + public ResultBean recallContractInfo(ContractTaskQuery query) { + return null; + } + + @Override + public ResultBean stopContractInfo(ContractTaskQuery query) { + return null; + } + + @Override + public ResultBean getFlowOperateTitle(ContractQuery query) { + return null; + } } \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/CommonContractInitVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/CommonContractInitVo.java new file mode 100644 index 0000000000..6ddbc5cd79 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/CommonContractInitVo.java @@ -0,0 +1,69 @@ +package com.yxt.anrui.terminal.api.autoservice.contract; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class CommonContractInitVo implements Vo { + + private static final long serialVersionUID = 8205950296578299984L; + @ApiModelProperty("合同sid") + private String contractSid; + + @ApiModelProperty("单台价格") + private String price; + + @ApiModelProperty("数量") + private String number; + + @ApiModelProperty("车型") + private String model; + + @ApiModelProperty("乙方名称") + private String partyB; + + @ApiModelProperty("合同编号") + private String contractId; + + @ApiModelProperty("合同价格") + private String contractPrice; + + @ApiModelProperty("新车买卖合同") + private List contractImages; + + @ApiModelProperty("现场签署图片") + private List siteSigImages; + + @ApiModelProperty("身份证图片") + private List idCardImages; + + @ApiModelProperty("客户类型") + private String customerKey; + + @ApiModelProperty("任务id") + private String taskId; + + @ApiModelProperty("流程实例id") + private String procInsId; + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("是否是档案库里的身份证") + private boolean idCardArchives; + + @ApiModelProperty("客户sid") + private String customerSid; + + @ApiModelProperty("合同附件") + private String appdixUrl; + + @ApiModelProperty("现场签署图片附件") + private String sceneSignUrl; + + @ApiModelProperty("身份证图片") + private String idImagesUrl; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/CrmCustomerFileDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/CrmCustomerFileDto.java new file mode 100644 index 0000000000..29b93600ea --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/CrmCustomerFileDto.java @@ -0,0 +1,73 @@ +package com.yxt.anrui.terminal.api.autoservice.contract; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +public class CrmCustomerFileDto implements Dto { + + + private static final long serialVersionUID = 3534355480622793601L; + + @ApiModelProperty("合同sid") + private String contractSid; + + @ApiModelProperty("单台价格") + private BigDecimal price; + + @ApiModelProperty("数量") + private String number; + + @ApiModelProperty("车型") + private String model; + + @ApiModelProperty("乙方名称") + private String partyB; + + @ApiModelProperty("合同编号") + private String contractId; + + @ApiModelProperty("合同价格") + private String contractPrice; + + @ApiModelProperty("新车买卖合同") + private List contractImages; + + @ApiModelProperty("现场签署图片") + private List siteSigImages; + + @ApiModelProperty("身份证图片") + private List idCardImages; + + @ApiModelProperty("客户类型") + private String customerKey; + + @ApiModelProperty("任务id") + private String taskId; + + @ApiModelProperty("流程实例id") + private String procInsId; + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("是否是档案库里的身份证") + private boolean idCardArchives; + + @ApiModelProperty("客户sid") + private String customerSid; + + @ApiModelProperty("合同附件") + private String appdixUrl; + + @ApiModelProperty("现场签署图片附件") + private String sceneSignUrl; + + @ApiModelProperty("身份证图片") + private String idImagesUrl; + +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/flowable/ContractDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/flowable/ContractDto.java new file mode 100644 index 0000000000..4bac92a86e --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/flowable/ContractDto.java @@ -0,0 +1,37 @@ +package com.yxt.anrui.terminal.api.autoservice.contract.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/8/30 15:57 + * @Description + */ +@Data +public class ContractDto implements Dto { + private static final long serialVersionUID = -2994642678989084467L; + + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id") + @NotBlank(message = "参数错误:procInsId") + @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty(value = "意见") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/flowable/ContractQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/flowable/ContractQuery.java new file mode 100644 index 0000000000..3c5869553b --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/flowable/ContractQuery.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.terminal.api.autoservice.contract.flowable; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Author dimengzhe + * @Date 2022/8/30 15:57 + * @Description + */ +@Data +public class ContractQuery implements Query { + private static final long serialVersionUID = 3554621072454825756L; + + @ApiModelProperty(value = "节点key") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + @ApiModelProperty(value = "0 上一环节 1下一环节") + @NotNull(message = "参数错误:next") + private Integer next; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/flowable/ContractTaskQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/flowable/ContractTaskQuery.java new file mode 100644 index 0000000000..fb7e60ab9a --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/flowable/ContractTaskQuery.java @@ -0,0 +1,47 @@ +package com.yxt.anrui.terminal.api.autoservice.contract.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/8/30 15:57 + * @Description + */ +@Data +public class ContractTaskQuery implements Query { + private static final long serialVersionUID = -8643921324527025037L; + + /** + * 终止、驳回、撤回 + */ + @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") + @JsonProperty("procInsId") + private String instanceId; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/externalPurchase/ExterVesionVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/externalPurchase/ExterVesionVo.java new file mode 100644 index 0000000000..b8777a0db9 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/externalPurchase/ExterVesionVo.java @@ -0,0 +1,32 @@ +package com.yxt.anrui.terminal.api.supplychain.externalPurchase; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/8/30 10:58 + * @Description + */ +@Data +public class ExterVesionVo implements Vo { + private static final long serialVersionUID = -2066221815836429401L; + + @ApiModelProperty("版本编码") + private Integer moduleVersion; + + @ApiModelProperty("apk下载地址") + private String path; + + @ApiModelProperty("0.内置Activity 1.内置WebView 2.RePlugin插件") + private String type; + + @ApiModelProperty("插件名称") + private String modulePluginName; + + @ApiModelProperty("地址") + private String moduleAction; + + private String json; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/externalPurchase/ExternalPurchaseVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/externalPurchase/ExternalPurchaseVo.java index 1a277e9eec..0ac1b64e8e 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/externalPurchase/ExternalPurchaseVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/externalPurchase/ExternalPurchaseVo.java @@ -74,4 +74,6 @@ public class ExternalPurchaseVo implements Vo { private String modelSid; @ApiModelProperty("配置sid") private String configSid; + + private ExterVesionVo carDetailPage; } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/AppBaseModelModpriceFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/AppBaseModelModpriceFeign.java index a641fffd2b..16a2eb07ce 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/AppBaseModelModpriceFeign.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/AppBaseModelModpriceFeign.java @@ -25,15 +25,7 @@ *********************************************************/ package com.yxt.anrui.terminal.api.supplychain.modelAdjust; -import com.yxt.anrui.base.api.basemodelmodprice.*; -import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceCompleteDto; -import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceTaskQuery; -import com.yxt.anrui.base.api.basemodelmodprice.flow.GetNodeQuery; -import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto; -import com.yxt.anrui.terminal.api.supplychain.scmvehiclegression.flowable.GressionQuery; -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.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; @@ -63,7 +55,7 @@ import javax.validation.Valid; fallback = AppBaseModelModpriceFeignFallback.class) public interface AppBaseModelModpriceFeign { - @ApiOperation("获取车型调车详情") + @ApiOperation("获取车型调价详情") @ResponseBody @GetMapping("/getModelAdjust/{sid}") public ResultBean getModelAdjust(@PathVariable("sid") String sid); diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModPriceCompleteDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModPriceCompleteDto.java index d4db645cc3..b0559918f9 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModPriceCompleteDto.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModPriceCompleteDto.java @@ -15,9 +15,6 @@ public class ModelModPriceCompleteDto implements Dto { @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; diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModpriceModelVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModpriceModelVo.java index 4147f613ca..1166fbbc50 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModpriceModelVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModpriceModelVo.java @@ -31,4 +31,9 @@ public class ModelModpriceModelVo implements Vo { @ApiModelProperty("备注") private String remarks; // 备注 + @ApiModelProperty("车型页面信息") + private ModelVehicleVersionVo carDetailPage; + + + } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelVehicleVersionVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelVehicleVersionVo.java new file mode 100644 index 0000000000..61807eab36 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelVehicleVersionVo.java @@ -0,0 +1,32 @@ +package com.yxt.anrui.terminal.api.supplychain.modelAdjust; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/8/30 9:45 + * @Description + */ +@Data +public class ModelVehicleVersionVo implements Vo { + private static final long serialVersionUID = -245022776176515562L; + + @ApiModelProperty("版本编码") + private Integer moduleVersion; + + @ApiModelProperty("apk下载地址") + private String path; + + @ApiModelProperty("0.内置Activity 1.内置WebView 2.RePlugin插件") + private String type; + + @ApiModelProperty("插件名称") + private String modulePluginName; + + @ApiModelProperty("地址") + private String moduleAction; + + private String json; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/ScmReturnVersionVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/ScmReturnVersionVo.java new file mode 100644 index 0000000000..fa65482e80 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/ScmReturnVersionVo.java @@ -0,0 +1,34 @@ +package com.yxt.anrui.terminal.api.supplychain.purchaseReturn; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/8/31 9:29 + * @Description + */ +@Data +public class ScmReturnVersionVo implements Vo { + private static final long serialVersionUID = -2293970651117088165L; + + @ApiModelProperty("版本编码") + private Integer moduleVersion; + + @ApiModelProperty("apk下载地址") + private String path; + + @ApiModelProperty("0.内置Activity 1.内置WebView 2.RePlugin插件") + private String type; + + @ApiModelProperty("插件名称") + private String modulePluginName; + + @ApiModelProperty("地址") + private String moduleAction; + + private String json; + + +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/VehicleReturnDetailssVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/VehicleReturnDetailssVo.java index 3c37e6e72e..fb8fbc5134 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/VehicleReturnDetailssVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/VehicleReturnDetailssVo.java @@ -34,4 +34,7 @@ public class VehicleReturnDetailssVo implements Vo { @JsonProperty("reason") private String costRemarks; + + private ScmReturnVersionVo carDetailPage; + } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/UnsoldBuyoutDetailsListVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/UnsoldBuyoutDetailsListVo.java index c72b5693e4..370a6bf0a6 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/UnsoldBuyoutDetailsListVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/UnsoldBuyoutDetailsListVo.java @@ -39,4 +39,6 @@ public class UnsoldBuyoutDetailsListVo implements Vo { private int dayNum; @ApiModelProperty("车辆数量") private int vehicleNum; + + private UnsoldVesionVo carDetailPage; } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/UnsoldVesionVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/UnsoldVesionVo.java new file mode 100644 index 0000000000..d4d8d3f600 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/UnsoldVesionVo.java @@ -0,0 +1,32 @@ +package com.yxt.anrui.terminal.api.supplychain.unsoldBuyout; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/8/30 10:34 + * @Description + */ +@Data +public class UnsoldVesionVo implements Vo { + private static final long serialVersionUID = -8925410215132128967L; + + @ApiModelProperty("版本编码") + private Integer moduleVersion; + + @ApiModelProperty("apk下载地址") + private String path; + + @ApiModelProperty("0.内置Activity 1.内置WebView 2.RePlugin插件") + private String type; + + @ApiModelProperty("插件名称") + private String modulePluginName; + + @ApiModelProperty("地址") + private String moduleAction; + + private String json; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/contract/AppCommonContractRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/contract/AppCommonContractRest.java index fa2d160932..0c91184154 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/contract/AppCommonContractRest.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/contract/AppCommonContractRest.java @@ -5,6 +5,11 @@ import com.yxt.anrui.base.api.commoncontract.*; import com.yxt.anrui.terminal.api.autoservice.contract.AppCommonContractFeign; +import com.yxt.anrui.terminal.api.autoservice.contract.CommonContractInitVo; +import com.yxt.anrui.terminal.api.autoservice.contract.CrmCustomerFileDto; +import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractDto; +import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractQuery; +import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractTaskQuery; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -41,6 +46,41 @@ public class AppCommonContractRest implements AppCommonContractFeign { @Override @ApiOperation("移动端-合同审核列表") public ResultBean> getContractList(PagerQuery pagerQuery) { - return appCommonContractService.getContractList(pagerQuery); + return appCommonContractService.getContractList(pagerQuery); + } + + @Override + public ResultBean getContractInfo(String contractSid, String userSid) { + return appCommonContractService.getContractInfo(contractSid,userSid); + } + + @Override + public ResultBean saveContractInfo(CrmCustomerFileDto dto) { + return appCommonContractService.saveContractInfo(dto); + } + + @Override + public ResultBean agreeContractInfo(ContractDto dto) { + return appCommonContractService.agreeContractInfo(dto); + } + + @Override + public ResultBean rejectContractInfo(ContractTaskQuery query) { + return appCommonContractService.rejectContractInfo(query); + } + + @Override + public ResultBean recallContractInfo(ContractTaskQuery query) { + return appCommonContractService.recallContractInfo(query); + } + + @Override + public ResultBean stopContractInfo(ContractTaskQuery query) { + return appCommonContractService.stopContractInfo(query); + } + + @Override + public ResultBean getFlowOperateTitle(ContractQuery query) { + return appCommonContractService.getFlowOperateTitle(query); } } diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/contract/AppCommonContractService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/contract/AppCommonContractService.java index d660d3b2c0..53154078c1 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/contract/AppCommonContractService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/contract/AppCommonContractService.java @@ -1,16 +1,30 @@ package com.yxt.anrui.terminal.biz.autoservice.contract; +import cn.hutool.core.bean.BeanUtil; import com.yxt.anrui.base.api.commoncontract.*; - +import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractCompleteDto; +import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractNodeQuery; +import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractNodeVo; +import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractTaskQuery; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.terminal.api.autoservice.contract.CommonContractInitVo; +import com.yxt.anrui.terminal.api.autoservice.contract.CrmCustomerFileDto; +import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractDto; +import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractQuery; +import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractTaskQuery; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; - +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; - import org.springframework.stereotype.Service; +import java.util.Collections; +import java.util.List; /** @@ -32,6 +46,10 @@ public class AppCommonContractService { @Autowired CommonContractFeign commonContractFeign; + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; /** * 移动端-合同审核列表 @@ -45,4 +63,112 @@ public class AppCommonContractService { } + public ResultBean getContractInfo(String contractSid, String userSid) { + ResultBean rb = ResultBean.fireFail(); + CommonContractInitVo vo = new CommonContractInitVo(); + ResultBean resultBean = commonContractFeign.getContractInfo(contractSid, userSid); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + AppCommonContractInitVo data = resultBean.getData(); + BeanUtils.copyProperties(data, vo); + return rb.success().setData(vo); + } + + public ResultBean saveContractInfo(CrmCustomerFileDto dto) { + ResultBean rb = ResultBean.fireFail(); + AppCrmCustomerFileDto appCrmCustomerFileDto = new AppCrmCustomerFileDto(); + BeanUtils.copyProperties(dto, appCrmCustomerFileDto); + ResultBean resultBean = commonContractFeign.saveContractInfo(appCrmCustomerFileDto); + if (!resultBean.getSuccess()) { + rb.setMsg(resultBean.getMsg()); + } + return rb.success(); + } + + public ResultBean agreeContractInfo(ContractDto dto) { + ResultBean rb = ResultBean.fireFail(); + //根据用户sid获取staffSid + ResultBean userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid()); + if (!userVoResultBean.getSuccess()) { + return rb.setMsg(userVoResultBean.getMsg()); + } + //根据staffSid获取用户的组织全路径 + ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); + if (!staffOrgResultBean.getSuccess()) { + return rb.setMsg(staffOrgResultBean.getMsg()); + } + //用户的组织全路径 + String orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); + CommonContractCompleteDto commonContractCompleteDto = new CommonContractCompleteDto(); + BeanUtil.copyProperties(dto, commonContractCompleteDto); + commonContractCompleteDto.setOrgSidPath(orgSidPath); + ResultBean resultBean = commonContractFeign.complete(commonContractCompleteDto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean rejectContractInfo(ContractTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + CommonContractTaskQuery commonContractTaskQuery = new CommonContractTaskQuery(); + BeanUtil.copyProperties(query, commonContractTaskQuery); + ResultBean resultBean = commonContractFeign.taskReject(commonContractTaskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean recallContractInfo(ContractTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + CommonContractTaskQuery commonContractTaskQuery = new CommonContractTaskQuery(); + BeanUtil.copyProperties(query, commonContractTaskQuery); + ResultBean resultBean = commonContractFeign.revokeProcess(commonContractTaskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean stopContractInfo(ContractTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + CommonContractTaskQuery commonContractTaskQuery = new CommonContractTaskQuery(); + BeanUtil.copyProperties(query, commonContractTaskQuery); + ResultBean resultBean = commonContractFeign.breakProcess(commonContractTaskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean getFlowOperateTitle(ContractQuery query) { + ResultBean rb = ResultBean.fireFail(); + //0 上一环节 1下一环节 + int next = query.getNext(); + CommonContractNodeQuery getNodeQuery = new CommonContractNodeQuery(); + BeanUtil.copyProperties(query, getNodeQuery); + String data = ""; + if (next == 0) { + ResultBean> getPreviousNodesForReject = commonContractFeign.getPreviousNodesForReject(getNodeQuery); + if (getPreviousNodesForReject.getSuccess()) { + getPreviousNodesForReject.getData().removeAll(Collections.singleton(null)); + data = getPreviousNodesForReject.getData().get(0).getName(); + } else { + return rb.setMsg(getPreviousNodesForReject.getMsg()); + } + } else if (next == 1) { + ResultBean> getNextNodesForSubmit = commonContractFeign.getNextNodesForSubmit(getNodeQuery); + if (getNextNodesForSubmit.getSuccess()) { + getNextNodesForSubmit.getData().removeAll(Collections.singleton(null)); + data = getNextNodesForSubmit.getData().get(0).getName(); + } else { + return rb.setMsg(getNextNodesForSubmit.getMsg()); + } + } else { + return rb.setMsg("参数错误:next"); + } + return rb.success().setData(data); + } } \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/modelAdjust/AppBaseModelModpriceService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/modelAdjust/AppBaseModelModpriceService.java index 8156d21986..039cba4da2 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/modelAdjust/AppBaseModelModpriceService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/modelAdjust/AppBaseModelModpriceService.java @@ -29,6 +29,11 @@ import cn.hutool.core.bean.BeanUtil; import com.yxt.anrui.base.api.basemodelmodprice.BaseModelModpriceDetailVo; import com.yxt.anrui.base.api.basemodelmodprice.BaseModelModpriceFeign; import com.yxt.anrui.base.api.basemodelmodprice.flow.*; +import com.yxt.anrui.buscenter.api.busmaindeposit.BusMainDepositFeign; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.terminal.api.supplychain.modelAdjust.*; import com.yxt.common.core.result.ResultBean; import org.springframework.beans.factory.annotation.Autowired; @@ -55,6 +60,10 @@ public class AppBaseModelModpriceService { @Autowired BaseModelModpriceFeign baseModelModpriceFeign; + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; /** * 获取车型调车详情 @@ -99,8 +108,21 @@ public class AppBaseModelModpriceService { */ public ResultBean agreeModelAdjustInfo(ModelModPriceCompleteDto query) { ResultBean rb = ResultBean.fireFail(); + //根据用户sid获取staffSid + ResultBean userVoResultBean = sysUserFeign.fetchBySid(query.getUserSid()); + if (!userVoResultBean.getSuccess()) { + return rb.setMsg(userVoResultBean.getMsg()); + } + //根据staffSid获取用户的组织全路径 + ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); + if (!staffOrgResultBean.getSuccess()) { + return rb.setMsg(staffOrgResultBean.getMsg()); + } + //用户的组织全路径 + String orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); BaseModelModPriceCompleteDto baseModelModPriceCompleteDto = new BaseModelModPriceCompleteDto(); BeanUtil.copyProperties(query, baseModelModPriceCompleteDto); + baseModelModPriceCompleteDto.setOrgSidPath(orgSidPath); ResultBean resultBean = baseModelModpriceFeign.complete(baseModelModPriceCompleteDto); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/purchaseReturn/AppScmVehicleReturnService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/purchaseReturn/AppScmVehicleReturnService.java index 3864895dc2..496b6ae6a5 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/purchaseReturn/AppScmVehicleReturnService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/purchaseReturn/AppScmVehicleReturnService.java @@ -2,9 +2,15 @@ package com.yxt.anrui.terminal.biz.supplychain.purchaseReturn; import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSONObject; import com.yxt.anrui.base.api.basevehicle.BaseVehicle; import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; +import com.yxt.anrui.portal.api.appsubsetversion.AppSubVersionVo; +import com.yxt.anrui.portal.api.appsubsetversion.AppSubsetVersionFeign; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.scm.api.flow.FlowTaskVo; import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnDetailsVo; import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnDto; @@ -18,7 +24,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** @@ -35,6 +43,10 @@ public class AppScmVehicleReturnService { BaseVehicleFeign baseVehicleFeign; @Autowired SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private AppSubsetVersionFeign appSubsetVersionFeign; /** * 获取采购退库详情 @@ -49,6 +61,8 @@ public class AppScmVehicleReturnService { if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); } + ResultBean voResultBean = appSubsetVersionFeign.selectLast(); + AppSubVersionVo appSubVersionVo = voResultBean.getData(); ScmVehicleReturnDetailsVo scmVehicleReturnDetailsVo = resultBean.getData(); BeanUtil.copyProperties(scmVehicleReturnDetailsVo, vo); List records = vo.getVoList(); @@ -57,6 +71,16 @@ public class AppScmVehicleReturnService { BaseVehicle data = baseVehicleFeign.selectByVinNoAndOrgSid(vinNo, vo.getCreateOrgSid()).getData(); record.setModelSid(data.getModelSid()); record.setConfigSid(data.getModelConfigSid()); + ScmReturnVersionVo appVehicleVersionVo = new ScmReturnVersionVo(); + String modelSid = data.getModelSid(); + String configSid = data.getModelConfigSid(); + Map map = new HashMap<>(); + map.put("modelSid", modelSid); + map.put("configSid", configSid); + map.put("selectType", 0); + appSubVersionVo.setJson(JSONObject.toJSONString(map)); + BeanUtil.copyProperties(appSubVersionVo, appVehicleVersionVo); + record.setCarDetailPage(appVehicleVersionVo); } return rb.success().setData(vo); } @@ -155,8 +179,21 @@ public class AppScmVehicleReturnService { */ public ResultBean agreePurchaseReturnInfo(VehicleReturnFlowQuery vehicleReturnFlowQuery) { ResultBean rb = ResultBean.fireFail(); + //根据用户sid获取staffSid + ResultBean userVoResultBean = sysUserFeign.fetchBySid(vehicleReturnFlowQuery.getUserSid()); + if (!userVoResultBean.getSuccess()) { + return rb.setMsg(userVoResultBean.getMsg()); + } + //根据staffSid获取用户的组织全路径 + ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); + if (!staffOrgResultBean.getSuccess()) { + return rb.setMsg(staffOrgResultBean.getMsg()); + } + //用户的组织全路径 + String orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); ScmVehicleReturnFlowQuery scmVehicleReturnFlowQuery = new ScmVehicleReturnFlowQuery(); BeanUtil.copyProperties(vehicleReturnFlowQuery, scmVehicleReturnFlowQuery); + scmVehicleReturnFlowQuery.setOrgSidPath(orgSidPath); ResultBean resultBean = scmVehicleReturnFeign.complete(scmVehicleReturnFlowQuery); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg());