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/AppCommonContractQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/AppCommonContractQuery.java index afcbca2994..931ea6d665 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/AppCommonContractQuery.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/AppCommonContractQuery.java @@ -26,13 +26,13 @@ public class AppCommonContractQuery implements Query { @ApiModelProperty("用户sid") private String userSid; - @ApiModelProperty("合同类型key") + @ApiModelProperty("状态") private String type; @ApiModelProperty("") private String names; - @ApiModelProperty("业务员sid") - private String staffSid; + @ApiModelProperty("分公司sid") + private String useOrgSid; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/AppCrmCustomerFileDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/AppCrmCustomerFileDto.java index 7b6240f03a..0d6606959f 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/AppCrmCustomerFileDto.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/AppCrmCustomerFileDto.java @@ -1,5 +1,6 @@ package com.yxt.anrui.base.api.commoncontract; +import com.fasterxml.jackson.annotation.JsonProperty; import com.yxt.common.core.dto.Dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; 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..8ce0e35431 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 @@ -29,8 +29,7 @@ import java.util.Date; public class CommonContract extends BaseEntity { private static final long serialVersionUID = 1L; - @ApiModelProperty("备注") - private String remarks; + @ApiModelProperty("合同编号(合同类型+部门编码+yyyyMMdd+001)") private String contractNo; @@ -96,4 +95,18 @@ public class CommonContract extends BaseEntity { private BigDecimal price; @ApiModelProperty("单台订金") private BigDecimal oneDeposit; + + @ApiModelProperty("备注") + private String remarks; + + @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..89f3b6466f 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,13 @@ package com.yxt.anrui.base.api.commoncontract; +import com.yxt.anrui.base.api.commoncontract.flowable.*; 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 +152,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 +161,34 @@ public interface CommonContractFeign { @ResponseBody public ResultBean saveContractInfo(@RequestBody AppCrmCustomerFileDto dto); + //====================移动端合同审核流程 + + @ApiOperation("移动端-提交合同审核流程") + @PostMapping("/submitContractInfo") + public ResultBean submitContractInfo(@Valid @RequestBody AppSubmitContractInfoDto 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..e08894721f 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,7 @@ package com.yxt.anrui.base.api.commoncontract; +import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo; +import com.yxt.anrui.base.api.commoncontract.flowable.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -8,6 +10,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 +168,39 @@ public class CommonContractFeignFallback implements CommonContractFeign { public ResultBean saveContractInfo(AppCrmCustomerFileDto dto) { return null; } + + @Override + public ResultBean submitContractInfo(AppSubmitContractInfoDto 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/AppSubmitContractInfoDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/AppSubmitContractInfoDto.java new file mode 100644 index 0000000000..b76082ca3f --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/AppSubmitContractInfoDto.java @@ -0,0 +1,17 @@ +package com.yxt.anrui.base.api.commoncontract.flowable; + +import com.yxt.anrui.base.api.commoncontract.AppCrmCustomerFileDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AppSubmitContractInfoDto extends AppCrmCustomerFileDto { + private static final long serialVersionUID = -2769162783495307511L; + + @ApiModelProperty("意见") + private String comment; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务id") + private String taskId; +} 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/baseinternalpurchase/BaseInternalPurchaseService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java index 71f8aa078a..2cf7881c24 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java @@ -541,6 +541,7 @@ public class BaseInternalPurchaseService extends MybatisBaseService FPURMRBENTRY=new ArrayList<>(); PurMrb.FPURMRBENTRY fp=new PurMrb.FPURMRBENTRY(); /** @@ -335,7 +335,7 @@ public class BaseManufacturerRetwareService extends MybatisBaseService0 @@ -599,6 +604,7 @@ WHERE bvc.modelSid = #{modelSid} AND bvc.useOrgSid != #{useOrg} group by bvc.useOrgSid + HAVING LENGTH(bvc.useOrgSid)> 0 - 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..044efaea2e 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,15 @@ 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.*; 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 +528,42 @@ public class CommonContractRest implements CommonContractFeign { ResultBean resultBean = commonContractService.saveContractInfo(dto); return rb.success(); } + + @Override + public ResultBean submitContractInfo(AppSubmitContractInfoDto dto) { + return commonContractService.submitContractInfo(dto); + } + + @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..bb885c0591 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,18 @@ 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.basemodelmodprice.BaseModelModprice; +import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto; import com.yxt.anrui.base.api.commonappendix.CommonAppendix; import com.yxt.anrui.base.api.commoncontract.*; +import com.yxt.anrui.base.api.commoncontract.flowable.AppSubmitContractInfoDto; +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,12 +32,20 @@ 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; 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.sysstafforg.SysStaffOrgVo; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; @@ -46,6 +61,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 +148,12 @@ public class CommonContractService extends MybatisBaseService createQueryWrapper(CommonContractQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -962,8 +986,6 @@ public class CommonContractService extends MybatisBaseService getContractList(PagerQuery pagerQuery) { AppCommonContractQuery query = pagerQuery.getParams(); - String staffSid = sysUserFeign.getUserOrgInfoByUserSid(query.getUserSid()).getData().getStaffSid(); - query.setStaffSid(staffSid); QueryWrapper qw = appCreateQueryWrapper(query); IPage page = PagerUtil.queryToPage(pagerQuery); IPage iPage = baseMapper.getContractList(page, qw); @@ -977,9 +999,9 @@ public class CommonContractService extends MybatisBaseService qw = new QueryWrapper<>(); - if (StringUtils.isNotBlank(query.getType())) { //合同类型 - qw.eq("contractTypeKey", query.getType()); - } +// if (StringUtils.isNotBlank(query.getType())) { //合同类型 +// qw.eq("contractTypeKey", query.getType()); +// } if (StringUtils.isNotBlank(query.getNames())) { // 甲方名称 qw.like("partyA", query.getNames()); } @@ -989,8 +1011,11 @@ 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 +1084,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)); + } + } + updateById(commonContract); + return rb.success().setData(commonContract.getSid()); + } + + public ResultBean submitContractInfo(AppSubmitContractInfoDto dto) { + ResultBean rb = ResultBean.fireFail(); + //根据用户sid获取staffSid + ResultBean userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid()); + if (!userVoResultBean.getSuccess()) { + return rb.setMsg(userVoResultBean.getMsg()); + } + //根据staffSid获取用户的组织全路径 + ResultBean orgByStaffSid = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); + if (!orgByStaffSid.getSuccess()) { + return rb.setMsg(orgByStaffSid.getMsg()); + } + //用户的组织全路径 + String orgSidPath = orgByStaffSid.getData().getOrgSidPath(); + CommonContract commonContract = fetchBySid(dto.getContractSid()); + int r = submitBusinessData(dto, commonContract); + if (r == 3) { + return rb.setMsg("该申请不存在"); + } + if (r == 0) { + return rb.setMsg("操作失败!提交的数据不一致"); + } + ResultBean resultBean = saveContractInfo(dto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + String businessSid = resultBean.getData(); + baseMapper.updateBySidAndState(businessSid, "2"); + //创建BusinessVariables实体对象 + BusinessVariables bv = new BusinessVariables(); + //流程中的参数赋值 + Map variables = BeanUtil.beanToMap(dto); + //若有网关,则赋值网关中判断的字段。 + variables.put("businessSid", businessSid); + //用户的部门全路径sid + bv.setOrgSidPath(orgSidPath); + //业务sid + bv.setBusinessSid(businessSid); + //用户sid + bv.setUserSid(dto.getUserSid()); + bv.setFormVariables(variables); + //若app移动端有此功能,则传递appMap参数 + Map appMap = new HashMap<>(); + //需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。 + appMap.put("sid", businessSid); + variables.put("app", appMap); + //流程定义id + bv.setModelId(ProcDefEnum.CONTRACTAPPLY.getProDefId()); + if (r == 1) { + ResultBean voResultBean = flowableFeign.startProcess(bv); + UpdateFlowFieldVo ufVo = voResultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(ufVo)); + //极光推送 + commonContract = fetchBySid(businessSid); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + 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 voResultBean; + } + if (r == 2) { + // ToDo:驳回到发起人后再次提交 + if (StringUtils.isBlank(dto.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); } - commonContract.setIdImagesUrl(s3.substring(0, s3.length() - 1)); + bv.setTaskId(commonContract.getTaskId()); + bv.setTaskDefKey(commonContract.getNodeId()); + bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); + bv.setInstanceId(dto.getInstanceId()); + return complete(bv); } - save(commonContract); - return rb.success(); + return rb; + } + + /** + * 判断提交的流程是否被允许 + * + * @param dto + * @return + */ + private synchronized int submitBusinessData(AppSubmitContractInfoDto dto, CommonContract commonContract) { + int r = 0; + if (StringUtils.isBlank(dto.getContractSid())) { + r = 1; + } else { + if (commonContract != null) { + String businessTaskId = commonContract.getTaskId(); + if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { + //新提交 + r = 1; + } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { + //二次提交//只有数据一致的时候才能进行下一步 + r = 2; + } + } else { + r = 3; + } + + } + return r; } public ResultBean> printConfirm(PrintConfirmDto dto) { @@ -1252,6 +1387,7 @@ 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-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsurance.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsurance.java index ff6d9d3808..9f1e6bd5de 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsurance.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsurance.java @@ -59,6 +59,8 @@ public class BusSalesOrderInsurance extends BaseEntity { @ApiModelProperty("单台车保费预估金额") private BigDecimal insuranceCarMoney; @ApiModelProperty("公司入保期数") - private Integer insuranceNum; + private String insuranceNum; + + private String insuranceNumKey; } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceDetailsVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceDetailsVo.java index 411e5c43cd..83809d3fad 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceDetailsVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceDetailsVo.java @@ -57,9 +57,11 @@ public class BusSalesOrderInsuranceDetailsVo implements Vo { @JsonSerialize(using = ToStringSerializer.class) private String insuranceCarMoney; @ApiModelProperty("公司入保期数") - private Integer insuranceNum; + private String insuranceNum; @ApiModelProperty(value = "保险备注") private String remarks; + private String insuranceNumKey; + } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceDto.java index 51acbc7230..32164d202b 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceDto.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceDto.java @@ -54,9 +54,11 @@ public class BusSalesOrderInsuranceDto implements Dto { @ApiModelProperty("单台车保费预估金额") private String insuranceCarMoney; @ApiModelProperty("公司入保期数") - private Integer insuranceNum; + private String insuranceNum; @ApiModelProperty(value = "备注") private String remarks; + private String insuranceNumKey; + } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceQuery.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceQuery.java index b553eb74de..d6b8fa6b4b 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceQuery.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceQuery.java @@ -58,6 +58,6 @@ public class BusSalesOrderInsuranceQuery implements Query { @ApiModelProperty("单台车保费预估金额") private BigDecimal insuranceCarMoney; @ApiModelProperty("公司入保期数") - private Integer insuranceNum; + private String insuranceNum; } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceVo.java index 6bd10516ec..2a30d74da3 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/BusSalesOrderInsuranceVo.java @@ -61,6 +61,7 @@ public class BusSalesOrderInsuranceVo implements Vo { @JsonSerialize(using = ToStringSerializer.class) private String insuranceCarMoney; @ApiModelProperty("公司入保期数") - private Integer insuranceNum; + private String insuranceNum; + private String insuranceNumKey; } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/app/AppBusSalesOrderInsuranceDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/app/AppBusSalesOrderInsuranceDto.java index 35a2e11d1b..bb6f80408b 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/app/AppBusSalesOrderInsuranceDto.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/app/AppBusSalesOrderInsuranceDto.java @@ -27,4 +27,6 @@ public class AppBusSalesOrderInsuranceDto implements Dto { @ApiModelProperty(value = "销售订单sid") private String salesOrderSid; + private String insuranceNumKey; + } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/app/AppBusSalesOrderInsuranceVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/app/AppBusSalesOrderInsuranceVo.java index 68c72b2c38..f23c51ac34 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/app/AppBusSalesOrderInsuranceVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderinsurance/app/AppBusSalesOrderInsuranceVo.java @@ -27,4 +27,6 @@ public class AppBusSalesOrderInsuranceVo implements Vo { private String number; @ApiModelProperty(value = "备注") private String remarks; + + private String numberKey; } diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java index 95fdfd13ad..eab7384ea4 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java @@ -601,7 +601,7 @@ public class BusDeliveredApplyService extends MybatisBaseService fEntity=new ArrayList<>(); diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java index 8c6d0e95c9..511de27783 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java @@ -94,9 +94,7 @@ 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.MessageFlowableDto; -import com.yxt.messagecenter.api.message.MessageJsonDto; +import com.yxt.messagecenter.api.message.*; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -1778,7 +1776,17 @@ public class BusMainDepositService extends MybatisBaseService stringResultBean = messageFeign.pushMessage(messageFlowableQuery); return voResultBean; } if (r == 2) { @@ -1889,7 +1897,18 @@ public class BusMainDepositService extends MybatisBaseService stringResultBean = messageFeign.pushMessage(messageFlowableQuery); +// String msgSid = getMessage(ufVo, appMap, busMainDeposit); return voResultBean; } if (r == 2) { @@ -1934,7 +1953,23 @@ public class BusMainDepositService extends MybatisBaseService stringResultBean = messageFeign.pushMessage(messageFlowableQuery); +// String msgSid = getMessage(ufVo, appMap, busMainDeposit); } return rb.success().setData(resultBean.getData()); } else { @@ -2023,7 +2058,30 @@ public class BusMainDepositService extends MybatisBaseService> 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(busMainDeposit.getStaffSid())){ + messageFlowableQuery.setMsgContent("您提交的"+messageFlowableQuery.getModuleName()+"已被驳回,请重新提交"); + }else{ + messageFlowableQuery.setMsgContent(busMainDeposit.getStaffName()+"提交的"+messageFlowableQuery.getModuleName()+",请审批"); + } + messageFlowableQuery.setMsgTitle("业务中心"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); return rb.success(); } } @@ -2087,15 +2145,7 @@ public class BusMainDepositService extends MybatisBaseService appMap, BusMainDeposit busMainDeposit) { + /* public String getMessage(UpdateFlowFieldVo ufVo, Map appMap, BusMainDeposit busMainDeposit) { //=====极光推送信息========================================参数组装 String procId = busMainDeposit.getProcInsId(); ResultBean> resultBean = flowTaskFeign.getLatestTasks(procId); @@ -2149,6 +2199,6 @@ public class BusMainDepositService extends MybatisBaseService { 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..a4d2b2fb0a 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.*; @@ -94,13 +97,13 @@ 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.sysprourl.SysProUrlFeign; -import com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo; 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.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; @@ -114,8 +117,8 @@ 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.MessageFlowableDto; -import com.yxt.messagecenter.api.message.MessageJsonDto; +import com.yxt.messagecenter.api.message.MessageFlowVo; +import com.yxt.messagecenter.api.message.MessageFlowableQuery; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -909,12 +912,31 @@ public class BusSalesOrderService extends MybatisBaseService map = BeanUtil.beanToMap(resultBean.getData()); //更新业务中的流程相关的参数 updateFlowFiled(map); - if(!"Event_end".equals(ufVo.getTaskDefKey())){ - //极光推送 - busSalesOrder = fetchBySid(query.getBusinessSid()); - String msgSid = getMessage(ufVo, (Map) variables.get("app"), busSalesOrder); + + //极光推送 + busSalesOrder = fetchBySid(query.getBusinessSid()); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + String procId = busSalesOrder.getProcInstId(); + ufVo.setProcInsId(procId); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap((Map) variables.get("app")); + messageFlowableQuery.setBusinessSid(query.getBusinessSid()); + 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(busSalesOrder.getStaffSid())) { + messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); + } else { + messageFlowableQuery.setMsgContent(busSalesOrder.getStaffName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); } + messageFlowableQuery.setMsgTitle("业务中心"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); +// String msgSid = getMessage(ufVo, (Map) variables.get("app"), busSalesOrder); + return rb.success(); } } @@ -1243,15 +1265,23 @@ 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 +1527,13 @@ public class BusSalesOrderService extends MybatisBaseService) variables.get("app"), busSalesOrder); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap((Map) variables.get("app")); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("销售订单申请"); + messageFlowableQuery.setMsgContent(busSalesOrder.getStaffName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("业务中心"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); +// String msgSid = getMessage(ufVo, (Map) variables.get("app"), busSalesOrder); return voResultBean; } if (r == 2) { @@ -2342,8 +2407,22 @@ public class BusSalesOrderService extends MybatisBaseService) variables.get("app"), busSalesOrder); + if (!"Event_end".equals(resultBean.getData().getTaskDefKey())) { + //极光推送 + busSalesOrder = fetchBySid(bv.getBusinessSid()); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + ufVo.setProcInsId(busSalesOrder.getProcInstId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap((Map) variables.get("app")); + messageFlowableQuery.setBusinessSid(bv.getBusinessSid()); + messageFlowableQuery.setModuleName("销售订单申请"); + messageFlowableQuery.setMsgContent(busSalesOrder.getStaffName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("业务中心"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + } +// String msgSid = getMessage(ufVo, (Map) variables.get("app"), busSalesOrder); return rb.success().setData(resultBean.getData()); } else { return rb.setMsg("操作失败!提交的数据不一致"); @@ -2418,49 +2497,4 @@ public class BusSalesOrderService extends MybatisBaseService appMap, BusSalesOrder busSalesOrder) { - //=====极光推送信息========================================参数组装 - String procId = busSalesOrder.getProcInstId(); - ResultBean> resultBean = flowTaskFeign.getLatestTasks(procId); - String nextNodeUserSids = resultBean.getData().get(0).getASSIGNEE_(); - List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); - //根据用户的sid查询用户的id - ResultBean stringList1 = sysUserFeign.selectIdBySid(receiveSidList); - List reveiveIdList = Arrays.asList(stringList1.getData().split(",")); - MessageFlowableDto messageFlowableDto = new MessageFlowableDto(); - MessageJsonDto messageJsonDto = new MessageJsonDto(); - BeanUtil.copyProperties(ufVo, messageJsonDto); - //查询流程审批的页面操作地址组装json的参数 - //根据taskDef和移动端标识 - ResultBean selectUrlByKey = sysProUrlFeign.selectUrlByKey(ProcDefEnum.SALESORDER.getProDefId(), ufVo.getTaskDefKey(), "1", "2"); - SysProUrlVo sysProUrlVo = selectUrlByKey.getData(); - messageFlowableDto.setBusinessSid(busSalesOrder.getSid()); - messageFlowableDto.setApp_type("2"); - if (sysProUrlVo.getUrl().contains("#")) { - messageFlowableDto.setModuleAction(Arrays.asList(sysProUrlVo.getUrl().split("#")).get(0)); - List 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()); - } - messageFlowableDto.setModuleSid(Arrays.asList(sysProUrlVo.getModulePluginName().split("#")).get(0)); - messageJsonDto.setTaskName(ufVo.getNodeState()); - messageJsonDto.setProcInsId(ufVo.getProcInsId()); - messageJsonDto.setAppMap(appMap); - messageFlowableDto.setJson(messageJsonDto); - messageFlowableDto.setList(receiveSidList); - messageFlowableDto.setReceiveIdList(reveiveIdList); - messageFlowableDto.setModuleName("销售订单申请"); - messageFlowableDto.setMsgContent("销售订单申请"); - messageFlowableDto.setMsgTitle("销售订单申请"); - messageFlowableDto.setCreateName(busSalesOrder.getStaffName()); - messageFlowableDto.setTaskId(ufVo.getTaskId()); - ResultBean stringResultBean = messageFeign.getMessage(messageFlowableDto); - String msgSid = stringResultBean.getData(); - return msgSid; - - } } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java index 24074d244f..9ca6e43700 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java @@ -150,8 +150,10 @@ public class BusSalesOrderDepositService 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/bussalesorderinsurance/BusSalesOrderInsuranceMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderinsurance/BusSalesOrderInsuranceMapper.xml index c41cc2f1dc..fbb2f3b6cb 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderinsurance/BusSalesOrderInsuranceMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderinsurance/BusSalesOrderInsuranceMapper.xml @@ -49,7 +49,8 @@ insuranceName as name, insuranceCarMoney as price, insuranceNum as number, - remarks + remarks, + insuranceNumKey as numberKey from bus_sales_order_insurance where salesOrderSid = #{sid} diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderinsurance/BusSalesOrderInsuranceService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderinsurance/BusSalesOrderInsuranceService.java index 480b6e2081..b13dd0284c 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderinsurance/BusSalesOrderInsuranceService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderinsurance/BusSalesOrderInsuranceService.java @@ -112,6 +112,9 @@ public class BusSalesOrderInsuranceService extends MybatisBaseService 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-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeign.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeign.java index d4ff388a35..5536d35240 100644 --- a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeign.java +++ b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeign.java @@ -154,4 +154,5 @@ public interface CrmVehicledemandFeign { @GetMapping("/getInfo/{intentionSid}") ResultBean getInfo(@PathVariable("intentionSid") String intentionSid); + } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java index c91775e264..a5f711cd68 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java @@ -7,6 +7,7 @@ import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial; import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb; import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock; import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock; +import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect; import com.yxt.common.core.result.ResultBean; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -72,4 +73,9 @@ public interface FinKingDeeFeign { @ResponseBody public ResultBean> draftBdMaterialList(@RequestBody List bdMaterial) ; + @ApiOperation("保存直接调拨单的接口") + @PostMapping("/draftStkTransferDirect") + @ResponseBody + public ResultBean> draftStkTransferDirect(@RequestBody StkTransferDirect stkTransferDirect) ; + } diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java index 3460ad9e97..067de1dab0 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java @@ -7,6 +7,7 @@ import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial; import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb; import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock; import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock; +import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect; import com.yxt.common.core.result.ResultBean; import java.util.List; @@ -53,4 +54,9 @@ implements FinKingDeeFeign{ return null; } + @Override + public ResultBean> draftStkTransferDirect(StkTransferDirect stkTransferDirect) { + return null; + } + } diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/KingDeeBillId.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/KingDeeBillId.java index 5277823ae8..7bff09014f 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/KingDeeBillId.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/KingDeeBillId.java @@ -8,6 +8,7 @@ public enum KingDeeBillId { STK_INSTOCK("STK_InStock","采购入库单"), PUR_MRB("PUR_MRB","采购退料单"), SAL_OUTSTOCK("SAL_OUTSTOCK","销售出库单"), + STK_TRANSFERDIRECT("STK_TransferDirect","直接调拨单"), BD_MATERIAL("BD_MATERIAL","物料"); private String ID; private String NAME; 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-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stktransferdirect/StkTransferDirect.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stktransferdirect/StkTransferDirect.java new file mode 100644 index 0000000000..2301e13402 --- /dev/null +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stktransferdirect/StkTransferDirect.java @@ -0,0 +1,198 @@ +package com.yxt.anrui.fin.api.kingdee.stktransferdirect; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 直接调拨单 + */ +@Data +public class StkTransferDirect { + @Data + public static class FBillEntry{ + /* 调入库存状态:FDestStockStatusId (必填项)*/ + @JsonProperty("FDestStockStatusId") + @NotBlank + public String FDestStockStatusId; + /*调出库存状态:FSrcStockStatusId (必填项)*/ + @JsonProperty("FSrcStockStatusId") + @NotBlank + public String FSrcStockStatusId; + /*基本单位:FBaseUnitId (必填项)*/ + @JsonProperty("FBaseUnitId") + @NotBlank + public String FBaseUnitId; + /*调入货主类型:FOwnerTypeId (必填项)*/ + @JsonProperty("FOwnerTypeId") + @NotBlank + public String FOwnerTypeId; + /* 调出保管者:FKeeperOutId (必填项)*/ + @JsonProperty("FKeeperOutId") + @NotBlank + public String FKeeperOutId; + /* 调出货主:FOwnerOutId (必填项)*/ + @JsonProperty("FOwnerOutId") + @NotBlank + public String FOwnerOutId; + /*调出批号:FLot*/ + @JsonProperty("FLot") + @NotBlank + public String FLot; + /* 调出货主类型:FOwnerTypeOutId (必填项)*/ + @JsonProperty("FOwnerTypeOutId") + @NotBlank + public String FOwnerTypeOutId; + /*调入批号:FDestLot*/ + @JsonProperty("FDestLot") + @NotBlank + public String FDestLot; + /* 调入货主:FOwnerId (必填项)*/ + @JsonProperty("FOwnerId") + @NotBlank + public String FOwnerId; + /* 调入货主:FOwnerIdHead (必填项)*/ + @JsonProperty("FOwnerIdHead") + @NotBlank + public String FOwnerIdHead; + /* 调出保管者类型:FKeeperTypeOutId (必填项)*/ + @JsonProperty("FKeeperTypeOutId") + @NotBlank + public String FKeeperTypeOutId; + /* 调入保管者:FKeeperId (必填项)*/ + @JsonProperty("FKeeperId") + @NotBlank + public String FKeeperId; + /* 调入保管者类型:FKeeperTypeId (必填项)*/ + @JsonProperty("FKeeperTypeId") + @NotBlank + public String FKeeperTypeId; + /* 调入仓库:FDestStockId (必填项)*/ + @JsonProperty("FDestStockId") + @NotBlank + public String FDestStockId; + /* 单位:FUnitID (必填项)*/ + @JsonProperty("FUnitID") + @NotBlank + public String FUnitID; + /* 物料编码:FMaterialId (必填项)*/ + @JsonProperty("FMaterialId") + @NotBlank + public String FMaterialId; + /* 调出仓库:FSrcStockId (必填项)*/ + @JsonProperty("FSrcStockId") + @NotBlank + public String FSrcStockId; + } + /* 调出库存组织:FStockOutOrgId (必填项)*/ + @JsonProperty("FStockOutOrgId") + @NotBlank + public String FStockOutOrgId; + /* 调拨类型:FTransferBizType (必填项)*/ + @JsonProperty("FTransferBizType") + @NotBlank + public String FTransferBizType; + /* 调拨方向:FTransferDirect (必填项)*/ + @JsonProperty("FTransferDirect") + @NotBlank + public String FTransferDirect; + /* 调出货主类型:FOwnerTypeOutIdHead (必填项)*/ + @JsonProperty("FOwnerTypeOutIdHead") + @NotBlank + public String FOwnerTypeOutIdHead; + /* 调入库存组织:FStockOrgId (必填项)*/ + @JsonProperty("FStockOrgId") + @NotBlank + public String FStockOrgId; + /* 调入货主类型:FOwnerTypeIdHead (必填项)*/ + @JsonProperty("FOwnerTypeIdHead") + @NotBlank + public String FOwnerTypeIdHead; + /* 单据类型:FBillTypeID (必填项)*/ + @JsonProperty("FBillTypeID") + @NotBlank + public String FBillTypeID; + /* 日期:FDate (必填项)*/ + @JsonProperty("FDate") + @NotBlank + public String FDate; + /** + * FBillEntry + */ + @JsonProperty("FBillEntry") + @NotBlank + public List FBillEntry=new ArrayList<>(); + + public final static StkTransferDirect stkTransferDirect = new StkTransferDirect(); + + static { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date date=new Date(); + /* 单据类型:FBillTypeID (必填项)*/ + stkTransferDirect.setFBillTypeID("ZJDB01_SYS"); + /* 日期:FDate (必填项)*/ + stkTransferDirect.setFDate(sdf.format(date)); + /* 调出库存组织:FStockOutOrgId (必填项)*/ + stkTransferDirect.setFStockOutOrgId("101"); + /* 调出货主类型:FOwnerTypeOutIdHead (必填项)*/ + stkTransferDirect.setFOwnerTypeOutIdHead("BD_OwnerOrg"); + /* 调拨类型:FTransferBizType (必填项)*/ + stkTransferDirect.setFTransferBizType("InnerOrgTransfer"); + /* 调拨方向:FTransferDirect (必填项)*/ + stkTransferDirect.setFTransferDirect("GENERAL"); + /* 调入库存组织:FStockOrgId (必填项)*/ + stkTransferDirect.setFStockOrgId("101"); + /* 调入货主类型:FOwnerTypeIdHead (必填项)*/ + stkTransferDirect.setFOwnerTypeIdHead("BD_OwnerOrg"); + List fBillEntry=new ArrayList<>(); + StkTransferDirect.FBillEntry fbe=new StkTransferDirect.FBillEntry(); + /*调入批号:FDestLot*/ + fbe.setFDestLot("1234567890"); + /*调出批号:FLot*/ + fbe.setFLot("1234567890"); + /*基本单位:FBaseUnitId (必填项)*/ + fbe.setFBaseUnitId("liang"); + /* 调入仓库:FDestStockId (必填项)*/ + fbe.setFDestStockId("CK002"); + /* 单位:FUnitID (必填项)*/ + fbe.setFUnitID("liang"); + /* 物料编码:FMaterialId (必填项)*/ + fbe.setFMaterialId(" JX091054"); + + /* 调入库存状态:FDestStockStatusId (必填项)*/ + fbe.setFDestStockStatusId("KCZT01_SYS"); + /* 调入货主类型:FOwnerTypeId (必填项)*/ + fbe.setFOwnerTypeId("BD_OwnerOrg"); + /* 调入货主:FOwnerId (必填项)*/ + fbe.setFOwnerId("101"); + /* 调入货主:FOwnerId (必填项)*/ + fbe.setFOwnerIdHead("101"); + /* 调出保管者:FKeeperOutId (必填项)*/ + fbe.setFKeeperOutId("101"); + /* 调出货主:FOwnerOutId (必填项)*/ + fbe.setFOwnerOutId("101"); + /* 调出货主类型:FOwnerTypeOutId (必填项)*/ + fbe.setFOwnerTypeOutId("BD_OwnerOrg"); + /* 调出保管者类型:FKeeperTypeOutId (必填项)*/ + fbe.setFKeeperTypeOutId("BD_KeeperOrg"); + /* 调入保管者:FKeeperId (必填项)*/ + fbe.setFKeeperId("101"); + /* 调入保管者类型:FKeeperTypeId (必填项)*/ + fbe.setFKeeperTypeId("BD_KeeperOrg"); + /*调出库存状态:FSrcStockStatusId (必填项)*/ + fbe.setFSrcStockStatusId("KCZT01_SYS"); + /* 调出仓库:FSrcStockId (必填项)*/ + fbe.setFSrcStockId("CK001"); + fBillEntry.add(fbe); + stkTransferDirect.setFBillEntry(fBillEntry); + } + public static StkTransferDirect createStkTransferDirect() { + return stkTransferDirect; + } +} diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/submitkd/SubmitKD.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/submitkd/SubmitKD.java index 33661dd8f3..c19576ec6e 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/submitkd/SubmitKD.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/submitkd/SubmitKD.java @@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; /** - * 提交金蝶接口的数据格式 + * 提交功能 金蝶接口的数据格式 */ @Data public class SubmitKD { diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java index cd47b2afd0..1ac9c8dba8 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java @@ -9,6 +9,7 @@ import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial; import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb; import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock; import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock; +import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect; import com.yxt.anrui.fin.biz.kingdee.appaybill.ApPayBillService; import com.yxt.anrui.fin.biz.kingdee.appayable.APPayableService; import com.yxt.anrui.fin.biz.kingdee.bdmaterial.BdMaterialService; @@ -16,6 +17,7 @@ import com.yxt.anrui.fin.biz.kingdee.purmrb.PurMrbService; import com.yxt.anrui.fin.biz.kingdee.receivablebill.ReceivableBillService; import com.yxt.anrui.fin.biz.kingdee.saloutstock.SalOutStockService; import com.yxt.anrui.fin.biz.kingdee.stkinstock.STKInStockService; +import com.yxt.anrui.fin.biz.kingdee.stktransferdirect.StkTransferDirectService; import com.yxt.common.core.result.ResultBean; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -64,6 +66,11 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { */ @Autowired private BdMaterialService bdMaterialService; + /** + * 保存直接调拨单 + */ + @Autowired + private StkTransferDirectService stkTransferDirectService; @ApiOperation("入账保存应付单的接口") @PostMapping("/draftEntryBill") @ResponseBody @@ -111,7 +118,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { @PostMapping("/draftBdMaterial") @ResponseBody @Override - public ResultBean> draftBdMaterial(BdMaterial bdMaterial) { + public ResultBean> draftBdMaterial(@RequestBody BdMaterial bdMaterial) { return bdMaterialService.draftBdMaterial(bdMaterial); } @@ -122,4 +129,11 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { public ResultBean> draftBdMaterialList(@RequestBody List bdMaterial) { return bdMaterialService.draftBdMaterialList(bdMaterial); } + @ApiOperation("保存直接调拨单的接口") + @PostMapping("/draftStkTransferDirect") + @ResponseBody + @Override + public ResultBean> draftStkTransferDirect(@RequestBody StkTransferDirect stkTransferDirect) { + return stkTransferDirectService.draftStkTransferDirect(stkTransferDirect); + } } 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-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectCastToKingDeeBillFields.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectCastToKingDeeBillFields.java new file mode 100644 index 0000000000..efa180c9aa --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectCastToKingDeeBillFields.java @@ -0,0 +1,66 @@ +package com.yxt.anrui.fin.biz.kingdee.stktransferdirect; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.parser.Feature; +import com.yxt.anrui.fin.biz.kingdee.KingDeeUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 封装转换的类 + */ +public class StkTransferDirectCastToKingDeeBillFields { + private static Logger log=LoggerFactory.getLogger(StkTransferDirectCastToKingDeeBillFields.class); + /** + * 构造金蝶需要的数据结构 并对字段赋值 + * + * @param map_fEntityModel_ + * @param vehicleList + * @return + */ + public static String getKingDeeData(Map map_fEntityModel_,List> vehicleList){ + /** + * 取模板 + */ + String readJsonFile = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data.json"); + String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_data.json"); + String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_model.json"); + String fBillEntry_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_FBillEntry.json"); + log.info("readJsonFile:{}",readJsonFile); + log.info("fEntityData_:{}",fEntityData_); + log.info("fEntityModel_:{}",fEntityModel_); + log.info("FBillEntry_:{}",fBillEntry_); + + //模板字符创转json + JSONObject jsonObj= JSONObject.parseObject(readJsonFile, Feature.OrderedField); + JSONObject jsonFEntityData_= JSONObject.parseObject(fEntityData_,Feature.OrderedField); + fEntityModel_ =KingDeeUtils.replaceTemplateParams(fEntityModel_, map_fEntityModel_); + JSONObject jsonFEntityModel_= JSONObject.parseObject(fEntityModel_,Feature.OrderedField); + + List list_fEntityDetail_=new ArrayList<>(); + + //对模板字段赋值 根据传递进来的map数据的集合进行赋值 + for(int i=0;i params=vehicleList.get(i); + Map map_fEntityDetail_=new HashMap<>(); + for (Map.Entry entry : params.entrySet()) { + map_fEntityDetail_.put(entry.getKey(),entry.getValue()); + } + fBillEntry_ =KingDeeUtils.replaceTemplateParams(fBillEntry_, map_fEntityDetail_); + list_fEntityDetail_.add(JSONObject.parseObject(fBillEntry_,Feature.OrderedField)); + } + + jsonFEntityModel_.put("FBillEntry", JSONArray.parseArray(JSON.toJSONString(list_fEntityDetail_))); + jsonFEntityData_.put("Model",JSONObject.parseObject(JSON.toJSONString(jsonFEntityModel_),Feature.OrderedField)); + jsonObj.put("data",jsonFEntityData_.toJSONString()); + + return jsonObj.toJSONString(); + } +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectService.java new file mode 100644 index 0000000000..ef227ebde6 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectService.java @@ -0,0 +1,36 @@ +package com.yxt.anrui.fin.biz.kingdee.stktransferdirect; + +import com.yxt.anrui.fin.api.kingdee.KingDeeBillId; +import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect; +import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService; +import com.yxt.common.core.result.ResultBean; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +@Service +public class StkTransferDirectService extends FinKingDeeService { + + /** + * 保存采购入库单 + * @param stkTransferDirect + * @return + */ + public ResultBean draftStkTransferDirect(StkTransferDirect stkTransferDirect) { + stkTransferDirect=StkTransferDirect.createStkTransferDirect(); + ResultBean rb=ResultBean.fireFail(); + try { + //业务表的主表数据集合 + Map map_fEntityModel_= object2Map(stkTransferDirect); + List fBillEntry = stkTransferDirect.getFBillEntry(); + //准备 物料列表的数据 ForEntryBill + List> vehicleListMap = createVehicleLists(fBillEntry); + String kingDeeData = StkTransferDirectCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap); + return saveBill(KingDeeBillId.STK_TRANSFERDIRECT.getID(),kingDeeData); + } catch (Exception e) { + e.printStackTrace(); + } + return rb; + } +} diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data.json new file mode 100644 index 0000000000..f300562a9a --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data.json @@ -0,0 +1,4 @@ +{ + "formId": "STK_TransferDirect", + "data": "@KD_data" +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_FBillEntry.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_FBillEntry.json new file mode 100644 index 0000000000..3817d41da0 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_FBillEntry.json @@ -0,0 +1,58 @@ +{ + "FMaterialId": { + "FNumber": "@KD_FMaterialId" + }, + "FUnitID": { + "FNumber": "@KD_FUnitID" + }, + "FDestLot":{ + "FNumber": "@KD_FDestLot" + }, + "FLot": { + "FNumber": "@KD_Flot" + }, + "FQty": 1.0, + "FSrcStockId": { + "FNumber": "@KD_FSrcStockId" + }, + "FDestStockId": { + "FNumber": "@KD_FDestStockId" + }, + "FSrcStockStatusId": { + "FNumber": "@KD_FSrcStockStatusId" + }, + "FDestStockStatusId": { + "FNumber": "@KD_FDestStockStatusId" + }, + "FBusinessDate": "2022-08-31 00:00:00", + "FOwnerTypeOutId": "@KD_FOwnerTypeOutId", + "FOwnerOutId": { + "FNumber": "@KD_FOwnerOutId" + }, + "FOwnerTypeId": "@KD_FOwnerTypeId", + "FOwnerId": { + "FNumber": "@KD_FOwnerId" + }, + "FBaseUnitId": { + "FNumber": "@KD_FBaseUnitId" + }, + "FBaseQty": 1.0, + "FISFREE": false, + "FKeeperTypeId": "@KD_FKeeperTypeId", + "FKeeperId": { + "FNumber": "@KD_FKeeperId" + }, + "FKeeperTypeOutId": "@KD_FKeeperTypeOutId", + "FKeeperOutId": { + "FNumber": "@KD_FKeeperOutId" + }, + "FDestMaterialId": { + "FNUMBER": " JX091054" + }, + "FPriceUnitID": { + "FNumber": "liang" + }, + "FPriceQty": 1.0, + "FPriceBaseQty": 1.0, + "FTransReserveLink": false +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_data.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_data.json new file mode 100644 index 0000000000..8a1e182ff3 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_data.json @@ -0,0 +1,13 @@ +{ + "Creator": "", + "NeedUpDateFields": [], + "NeedReturnFields": [], + "IsDeleteEntry": "True", + "SubSystemId": "", + "IsVerifyBaseDataField": "false", + "IsEntryBatchFill": "True", + "ValidateFlag": "True", + "NumberSearch": "True", + "InterationFlags": "", + "Model":{} +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_model.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_model.json new file mode 100644 index 0000000000..40ee322140 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_model.json @@ -0,0 +1,42 @@ +{ + "FID": 0, + "FBillTypeID": { + "FNUMBER": "@KD_FBillTypeID" + }, + "FBizType": "NORMAL", + "FTransferDirect": "@KD_FTransferDirect", + "FTransferBizType": "@KD_FTransferBizType", + "FSettleOrgId": { + "FNumber": "101" + }, + "FSaleOrgId": { + "FNumber": "101" + }, + "FStockOutOrgId": { + "FNumber": "@KD_FStockOutOrgId" + }, + "FOwnerTypeOutIdHead": "@KD_FOwnerTypeOutIdHead", + "FOwnerOutIdHead": { + "FNumber": "101" + }, + "FStockOrgId": { + "FNumber": "@KD_FStockOrgId" + }, + "FIsIncludedTax": true, + "FIsPriceExcludeTax": true, + "FOwnerTypeIdHead": "@KD_FOwnerTypeIdHead", + "FSETTLECURRID": { + "FNUMBER": "PRE001" + }, + "FOwnerIdHead": { + "FNumber": "101" + }, + "FDate": "2022-08-31 00:00:00", + "FBaseCurrId": { + "FNumber": "PRE001" + }, + "FCustID": { + "FNUMBER": "GYRHHR002529" + }, + "FBillEntry": [] +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/remarks.txt b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/remarks.txt new file mode 100644 index 0000000000..fdfdbf3515 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/remarks.txt @@ -0,0 +1,175 @@ +一、请求参数说明: +1.formid:业务对象表单Id,字符串类型(必录) +2.data:Json格式数据(详情参考Json格式数据)(必录) + 2.1.Creator:创建者内码(非必录) + 2.2.NeedUpDateFields:需要更新的字段,数组类型,格式:[key1,key2,...](非必录),注(更新单据体字段得加上单据体key) + 2.3.NeedReturnFields:需返回结果的字段集合,数组类型,格式:[key,entitykey.key,...](非必录),注(返回单据体字段格式:entitykey.key) + 2.4.IsDeleteEntry:是否删除已存在的分录,布尔类型,默认true(非必录) + 2.5.SubSystemId:表单所在的子系统内码,字符串类型(非必录) + 2.6.IsVerifyBaseDataField:是否验证所有的基础资料有效性,布尔类,默认false(非必录) + 2.7.IsEntryBatchFill:是否批量填充分录,默认true(非必录) + 2.8.ValidateFlag:是否验证标志,布尔类型,默认true(非必录) + 2.9.NumberSearch:是否用编码搜索基础资料,布尔类型,默认true(非必录) + 2.10.InterationFlags:交互标志集合,字符串类型,分号分隔,格式:"flag1;flag2;..."(非必录),例如(允许负库存标识:STK_InvCheckResult) + 2.11.Model:表单数据包,Json类型(必录) + +五、字段说明: +序列号单位:FSNUnitID +订单类别:FORDERTYPE +关联出库数量(基本单位):FBASEOUTJOINQTY +到货确认:FArrivalStatus +入库日期:FBusinessDate +序列号单位数量:FSNQty +备注:FNoteEntry +调入库存更新标识:FStockInFlag +调出库存更新标识:FStockOutFlag +关联出库数量:FOutJoinQty +业务流程:FBFLowId +源单编号:FSrcBillNo +到货确认人:FArrivalConfirmor +金额:FConsignAmount +税率%:FTaxRate +含税单价:FTaxPrice +折扣额:FDiscount +价税合计:FAllAmount +税额:FTaxAmount +补货数量:FRepairQty +拒收数量:FRefuseQty +到货日期:FArrivalDate +单价:FConsignPrice +实收数量:FActQty +是否补货:FIsRepair +库存辅单位:FSecUnitId +调入库存状态:FDestStockStatusId (必填项) +调出库存状态:FSrcStockStatusId (必填项) +调拨数量(基本单位):FBaseQty +基本单位:FBaseUnitId (必填项) +调拨数量(库存辅单位):FSecQty +生产日期:FProduceDate +辅助属性:FAuxPropId +BOM版本:FBomId +项目编号:FProjectNo +计划跟踪号:FMtoNo +有效期至:FExpiryDate +调入货主类型:FOwnerTypeId (必填项) +源单行号:FSrcSeq +源单类型:FSrcBillTypeId +调出保管者:FKeeperOutId (必填项) +关联退回数量(基本单位):FBaseJoinQty +关联退回数量:FReceiveQty +订单编号:FOrderNo +调出货主:FOwnerOutId (必填项) +调出货主类型:FOwnerTypeOutId (必填项) +调入货主:FOwnerId (必填项) +调出保管者类型:FKeeperTypeOutId (必填项) +调入保管者:FKeeperId (必填项) +调入保管者类型:FKeeperTypeId (必填项) +净价:FTaxNetPrice +服务上下文:FServiceContext +结算关联数量(销售基本单位):FJoinSaleBaseSettQty +出库关联数量(销售基本单位):FSalBaseOutJoinQty +计价基本数量:FPriceBaseQty +计价数量:FPriceQty +计价单位:FPriceUnitID +携带源单主业务单位:FSrcBizUnitId +销售基本单位退货关联数量:FSalBaseJoinQty +普通调拨源单类型:FGenSrcBillFormId +源单辅单位基本数量:FSrcAuxBaseQty +源单主单位基本数量:FSrcBizBaseQty +携带源单辅单位:FSrcAuxUnitId +销售基本单位数量旧值:FSalBaseQtyUp +转移预留关系:FTransReserveLink +赠品:FISFREE +第三方源单分录编码:FThirdSrcEntryId +备注:FSerialNote +序列号:FSerialId +序列号:FSerialNo +质量类型:FDeliChkQualifyType +通知单编号:FNoticeNo +基本单位数量旧值:FBaseQtyUp +销售订单EntryId:FSOEntryId +库存状态转换EntryId:FConvertEntryId +库存请检单EntryId:FQmEntryId +拒收标志:FRefuseFlag +退货备注:FRETURNNOTE +折扣率%:FDiscountRate +结算关联数量(辅单位):FJOINSECSETTQTY +保质期:FExpPeriod +保质期单位:FExpUnit +结算关联数量:FJoinSettleQty +客户物料名称:FCustMatName +客户物料编码:FCustMatId +未结算关联数量(基本单位):FJoinBaseUnSettQty +未结算关联数量:FJoinUnSettleQty +结算关联数量(基本单位):FJoinBaseSettQty +出库关联数量(辅单位):FSECOUTJOINQTY +捡货结果标记:FLotPickFlag +调拨数量(辅单位):FExtAuxUnitQty +辅单位:FExtAuxUnitId +销售数量:FSaleQty +销售基本数量:FSalBaseQty +销售单位:FSaleUnitId +结算可退数量(基本单位):FBaseSettCanRetQty +调入批号:FDestLot +退货关联数量(辅单位):FSECJOINQTY +消耗汇总:FIsConsumeSum +调入BOM:FDestBomId +调入物料:FDestMaterialId +总成本:FAmount +调出库存组织:FStockOutOrgId (必填项) +调拨类型:FTransferBizType (必填项) +调入货主:FOwnerIdHead +调拨方向:FTransferDirect (必填项) +调出货主:FOwnerOutIdHead +调出货主类型:FOwnerTypeOutIdHead (必填项) +调入库存组织:FStockOrgId (必填项) +单据状态:FDocumentStatus +单据编号:FBillNo +调入货主类型:FOwnerTypeIdHead (必填项) +单据类型:FBillTypeID (必填项) +日期:FDate (必填项) +创建人:FCreatorId +仓管员:FStockerId +作废状态:FCancelStatus +作废人:FCancellerId +备注:FNote +本位币:FBaseCurrId +库存组:FStockerGroupId +最后修改日期:FModifyDate +最后修改人:FModifierId +创建日期:FCreateDate +作废日期:FCancelDate +审核日期:FApproveDate +审核人:FApproverId +业务类型:FBizType +第三方源单编码:FThirdSrcBillNo +第三方源单内码:FThirdSrcId +价外税:FIsPriceExcludeTax +序列号上传:FScanBox +对应供应商:FSUPPLIERID +对应客户:FCustID +组织间结算跨法人标识:FIsInterLegalPerson +第三方系统:FThirdSystem +调入仓位:FDestStockLocId +调入仓库:FDestStockId (必填项) +调出仓位:FSrcStockLocId +成本价:FPrice +调拨数量:FQty +单位:FUnitID (必填项) +物料名称:FMaterialName +物料编码:FMaterialId (必填项) +调出仓库:FSrcStockId (必填项) +调出批号:FLot +规格型号:FModel +结算组织:FSettleOrgId +销售组织:FSaleOrgId +结算币别:FSETTLECURRID +汇率:FExchangeRate +跨组织业务类型:FTransferBizTypeId +是否含税:FIsIncludedTax +收款条件:FRecConditionId +结算方式:FSettleModeId +汇率类型:FExchangeTypeId +销售员:FSalerId +销售组:FSaleGroupId +销售部门:FSaleDeptId \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/webapi测试的数据.txt b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/webapi测试的数据.txt new file mode 100644 index 0000000000..1f8e97b181 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/webapi测试的数据.txt @@ -0,0 +1,5 @@ +{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FID\":0,\"FBillTypeID\":{\"FNUMBER\":\"ZJDB01_SYS\"},\"FBizType\":\"NORMAL\",\"FTransferDirect\":\"GENERAL\",\"FTransferBizType\":\"InnerOrgTransfer\",\"FSettleOrgId\":{\"FNumber\":\"101\"},\"FSaleOrgId\":{\"FNumber\":\"101\"},\"FStockOutOrgId\":{\"FNumber\":\"101\"},\"FOwnerTypeOutIdHead\":\"BD_OwnerOrg\",\"FOwnerOutIdHead\":{\"FNumber\":\"101\"},\"FStockOrgId\":{\"FNumber\":\"101\"},\"FIsIncludedTax\":true,\"FIsPriceExcludeTax\":true,\"FOwnerTypeIdHead\":\"BD_OwnerOrg\",\"FSETTLECURRID\":{\"FNUMBER\":\"PRE001\"},\"FOwnerIdHead\":{\"FNumber\":\"101\"},\"FDate\":\"2022-08-31 00:00:00\",\"FBaseCurrId\":{\"FNumber\":\"PRE001\"},\"FCustID\":{\"FNUMBER\":\"GYRHHR002529\"},\"FBillEntry\":[{\"FMaterialId\":{\"FNumber\":\" JX091054\"},\"FUnitID\":{\"FNumber\":\"liang\"},\"FQty\":1.0,\"FSrcStockId\":{\"FNumber\":\"CK001\"},\"FDestStockId\":{\"FNumber\":\"CK002\"},\"FSrcStockStatusId\":{\"FNumber\":\"KCZT01_SYS\"},\"FDestStockStatusId\":{\"FNumber\":\"KCZT01_SYS\"},\"FBusinessDate\":\"2022-08-31 00:00:00\",\"FOwnerTypeOutId\":\"BD_OwnerOrg\",\"FOwnerOutId\":{\"FNumber\":\"101\"},\"FOwnerTypeId\":\"BD_OwnerOrg\",\"FOwnerId\":{\"FNumber\":\"101\"},\"FBaseUnitId\":{\"FNumber\":\"liang\"},\"FBaseQty\":1.0,\"FISFREE\":false,\"FKeeperTypeId\":\"BD_KeeperOrg\",\"FKeeperId\":{\"FNumber\":\"101\"},\"FKeeperTypeOutId\":\"BD_KeeperOrg\",\"FKeeperOutId\":{\"FNumber\":\"101\"},\"FDestMaterialId\":{\"FNUMBER\":\" JX091054\"},\"FPriceUnitID\":{\"FNumber\":\"liang\"},\"FPriceQty\":1.0,\"FPriceBaseQty\":1.0,\"FTransReserveLink\":false}]}} + + + +{"formId":"STK_TransferDirect","data":"{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FID\":0,\"FBillTypeID\":{\"FNUMBER\":\"ZJDB01_SYS\"},\"FBizType\":\"NORMAL\",\"FTransferDirect\":\"GENERAL\",\"FTransferBizType\":\"InnerOrgTransfer\",\"FSettleOrgId\":{\"FNumber\":\"101\"},\"FSaleOrgId\":{\"FNumber\":\"101\"},\"FStockOutOrgId\":{\"FNumber\":\"101\"},\"FOwnerTypeOutIdHead\":\"BD_OwnerOrg\",\"FOwnerOutIdHead\":{\"FNumber\":\"101\"},\"FStockOrgId\":{\"FNumber\":\"101\"},\"FIsIncludedTax\":true,\"FIsPriceExcludeTax\":true,\"FOwnerTypeIdHead\":\"BD_OwnerOrg\",\"FSETTLECURRID\":{\"FNUMBER\":\"PRE001\"},\"FOwnerIdHead\":{\"FNumber\":\"101\"},\"FDate\":\"2022-08-31 00:00:00\",\"FBaseCurrId\":{\"FNumber\":\"PRE001\"},\"FCustID\":{\"FNUMBER\":\"GYRHHR002529\"},\"FBillEntry\":[{\"FOwnerTypeOutId\":\"BD_OwnerOrg\",\"FDestStockStatusId\":{\"FNumber\":\"KCZT01_SYS\"},\"FPriceBaseQty\":1.0,\"FBaseQty\":1.0,\"FBusinessDate\":\"2022-08-31 00:00:00\",\"FLot\":{\"FNumber\":\"@KD_Flot\"},\"FOwnerOutId\":{\"FNumber\":\"101\"},\"FSrcStockStatusId\":{\"FNumber\":\"KCZT01_SYS\"},\"FDestStockId\":{\"FNumber\":\"CK002\"},\"FMaterialId\":{\"FNumber\":\" JX091054\"},\"FOwnerTypeId\":\"BD_OwnerOrg\",\"FDestMaterialId\":{\"FNUMBER\":\" JX091054\"},\"FOwnerId\":{\"FNumber\":\"101\"},\"FISFREE\":false,\"FKeeperId\":{\"FNumber\":\"101\"},\"FPriceUnitID\":{\"FNumber\":\"liang\"},\"FKeeperOutId\":{\"FNumber\":\"101\"},\"FQty\":1.0,\"FDestLot\":{\"FNumber\":\"1234567890\"},\"FBaseUnitId\":{\"FNumber\":\"liang\"},\"FKeeperTypeId\":\"BD_KeeperOrg\",\"FTransReserveLink\":false,\"FUnitID\":{\"FNumber\":\"liang\"},\"FPriceQty\":1.0,\"FSrcStockId\":{\"FNumber\":\"CK001\"},\"FKeeperTypeOutId\":\"BD_KeeperOrg\"}]}}"} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/直接调拨单的参数必填备注.xlsx b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/直接调拨单的参数必填备注.xlsx new file mode 100644 index 0000000000..0585c2881e Binary files /dev/null and b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/直接调拨单的参数必填备注.xlsx differ 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-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturn.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturn.java index 3609a872b9..9bd9f86e7e 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturn.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturn.java @@ -35,4 +35,6 @@ public class ScmVehicleReturn extends BaseEntity { @ApiModelProperty("流程实例id") private String instanceId; + + private String procDefId; } 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/scmvehicleinventory/ScmVehicleInventoryService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleinventory/ScmVehicleInventoryService.java index 23ae386aed..d8d6cb6460 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleinventory/ScmVehicleInventoryService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleinventory/ScmVehicleInventoryService.java @@ -290,7 +290,6 @@ public class ScmVehicleInventoryService extends MybatisBaseService stringResultBean = messageFeign.pushMessage(messageFlowableQuery); -// String msgSid = getMessage(uff, appMap, scmVehicleReturn); return resultBean1; } return submitBusinessData(scmVehicleReturnDto, busSid, orgSidPath, variables); @@ -334,7 +333,18 @@ public class ScmVehicleReturnService extends MybatisBaseService stringResultBean = messageFeign.pushMessage(messageFlowableQuery); return rrb; } else { return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!"); @@ -419,6 +429,7 @@ public class ScmVehicleReturnService extends MybatisBaseService stringResultBean = messageFeign.pushMessage(messageFlowableQuery); - -// String msgSid = getMessage(uff, appMap, scmVehicleReturn); } return rb1; } else { @@ -735,6 +744,7 @@ public class ScmVehicleReturnService extends MybatisBaseService stringResultBean = messageFeign.pushMessage(messageFlowableQuery); - - String msgSid = getMessage(uff, appMap, scmVehicleReturn); return resultBean; } else { return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!"); @@ -779,7 +787,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-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/bicyclerebatewithholdingAdd.vue b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/bicyclerebatewithholdingAdd.vue index 30a8103128..2fa14d6fba 100644 --- a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/bicyclerebatewithholdingAdd.vue +++ b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/bicyclerebatewithholdingAdd.vue @@ -61,11 +61,11 @@ 查看 - - - + + + + + @@ -222,7 +222,7 @@ export default { brandName: cval.brandName, brandSid: cval.brandSid, vehRebateSids: [cval.sid], - remarks: '', + // remarks: '', sid: '', mainSid: '' }) @@ -260,7 +260,7 @@ export default { brandName: cval.brandName, brandSid: cval.brandSid, vehRebateSids: [cval.sid], - remarks: '', + // remarks: '', sid: '', mainSid: '' }) diff --git a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/bicyclerebatewithholdingInfo.vue b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/bicyclerebatewithholdingInfo.vue index 0beb7de3d3..af227002f4 100644 --- a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/bicyclerebatewithholdingInfo.vue +++ b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/bicyclerebatewithholdingInfo.vue @@ -52,11 +52,11 @@ 查看 - - - + + + + + diff --git a/anrui-scm/anrui-scm-ui/src/views/supplychain/caigoutuiku/caigoutuiku.vue b/anrui-scm/anrui-scm-ui/src/views/supplychain/caigoutuiku/caigoutuiku.vue index c276b1e892..6d1bf2b3e2 100644 --- a/anrui-scm/anrui-scm-ui/src/views/supplychain/caigoutuiku/caigoutuiku.vue +++ b/anrui-scm/anrui-scm-ui/src/views/supplychain/caigoutuiku/caigoutuiku.vue @@ -274,10 +274,11 @@ export default { cancelButtonText: '取消', type: 'warning' }).then(() => { - const _this = this req.delBySids(this.sids).then(resp => { - _this.$message({ type: 'success', message: resp.msg, showClose: true }) - _this.loadList() + if (resp.success) { + this.$message({ type: 'success', message: resp.msg, showClose: true }) + } + this.loadList() }).catch(e => { }) }).catch(() => { diff --git a/anrui-scm/anrui-scm-ui/src/views/supplychain/cheliangneigou/vehicleselect.vue b/anrui-scm/anrui-scm-ui/src/views/supplychain/cheliangneigou/vehicleselect.vue index 55782e5771..2df7147917 100644 --- a/anrui-scm/anrui-scm-ui/src/views/supplychain/cheliangneigou/vehicleselect.vue +++ b/anrui-scm/anrui-scm-ui/src/views/supplychain/cheliangneigou/vehicleselect.vue @@ -268,34 +268,29 @@ export default { this.list = response.data.records } }) - this.listQuery.params.vinNoList = [] }, // 查询按钮 handleFilter() { + this.listQuery.current = 1 this.getList() }, // 重置按钮 handleReset() { - this.listQuery = { - current: 1, - size: 10, - params: { - brandSid: '', - driveForm: '', - emissionStandard: '', - fuelType: '', - gearboxType: '', - modelName: '', - power: '', - productLine: '', - vehicleAlias: '', - vehicleType: '', - vehicleVersion: '', - userSid: '', - vinNoList: [] - }, - total: 0 - } + this.listQuery.current = 1 + this.listQuery.size = 5 + this.listQuery.total = 0 + this.listQuery.params.brandSid = '' + this.listQuery.params.driveForm = '' + this.listQuery.params.emissionStandard = '' + this.listQuery.params.fuelType = '' + this.listQuery.params.gearboxType = '' + this.listQuery.params.modelName = '' + this.listQuery.params.power = '' + this.listQuery.params.productLine = '' + this.listQuery.params.vehicleAlias = '' + this.listQuery.params.vehicleType = '' + this.listQuery.params.vehicleVersion = '' + this.listQuery.params.userSid = '' this.getList() }, handleSelectionChange(row) { diff --git a/anrui-scm/anrui-scm-ui/src/views/workFlow/cheliangneigouFlow/neigouguanli/vehicleselect.vue b/anrui-scm/anrui-scm-ui/src/views/workFlow/cheliangneigouFlow/neigouguanli/vehicleselect.vue index 5c77746e7a..0ff643a38f 100644 --- a/anrui-scm/anrui-scm-ui/src/views/workFlow/cheliangneigouFlow/neigouguanli/vehicleselect.vue +++ b/anrui-scm/anrui-scm-ui/src/views/workFlow/cheliangneigouFlow/neigouguanli/vehicleselect.vue @@ -268,34 +268,29 @@ export default { this.list = response.data.records } }) - this.listQuery.params.vinNoList = [] }, // 查询按钮 handleFilter() { + this.listQuery.current = 1 this.getList() }, // 重置按钮 handleReset() { - this.listQuery = { - current: 1, - size: 10, - params: { - brandSid: '', - driveForm: '', - emissionStandard: '', - fuelType: '', - gearboxType: '', - modelName: '', - power: '', - productLine: '', - vehicleAlias: '', - vehicleType: '', - vehicleVersion: '', - userSid: '', - vinNoList: [] - }, - total: 0 - } + this.listQuery.current = 1 + this.listQuery.size = 5 + this.listQuery.total = 0 + this.listQuery.params.brandSid = '' + this.listQuery.params.driveForm = '' + this.listQuery.params.emissionStandard = '' + this.listQuery.params.fuelType = '' + this.listQuery.params.gearboxType = '' + this.listQuery.params.modelName = '' + this.listQuery.params.power = '' + this.listQuery.params.productLine = '' + this.listQuery.params.vehicleAlias = '' + this.listQuery.params.vehicleType = '' + this.listQuery.params.vehicleVersion = '' + this.listQuery.params.userSid = '' this.getList() }, handleSelectionChange(row) { diff --git a/anrui-scm/anrui-scm-ui/src/views/workFlow/danchefanliyutiFlow/danchefanliyutiDaiBanInfo.vue b/anrui-scm/anrui-scm-ui/src/views/workFlow/danchefanliyutiFlow/danchefanliyutiDaiBanInfo.vue index 40c76fa33f..e117489fe5 100644 --- a/anrui-scm/anrui-scm-ui/src/views/workFlow/danchefanliyutiFlow/danchefanliyutiDaiBanInfo.vue +++ b/anrui-scm/anrui-scm-ui/src/views/workFlow/danchefanliyutiFlow/danchefanliyutiDaiBanInfo.vue @@ -54,11 +54,11 @@ 查看 - - - + + + + + diff --git a/anrui-scm/anrui-scm-ui/src/views/workFlow/danchefanliyutiFlow/danchefanliyutiEdit.vue b/anrui-scm/anrui-scm-ui/src/views/workFlow/danchefanliyutiFlow/danchefanliyutiEdit.vue index 3ce3ea4841..c0ad70c52a 100644 --- a/anrui-scm/anrui-scm-ui/src/views/workFlow/danchefanliyutiFlow/danchefanliyutiEdit.vue +++ b/anrui-scm/anrui-scm-ui/src/views/workFlow/danchefanliyutiFlow/danchefanliyutiEdit.vue @@ -60,11 +60,11 @@ 查看 - - - + + + + + @@ -190,7 +190,6 @@ export default { for (var i in value) { let cval = value[i] if (!this.formobj.scmVehRebateWiths || this.formobj.scmVehRebateWiths.length === 0) { - console.log(11111) this.formobj.scmVehRebateWiths = [] } let v = 0 @@ -204,7 +203,6 @@ export default { } } if (v === 0) { - console.log(v, 44444) this.formobj.scmVehRebateWiths.push({ rebateTypeKey: cval.rebateTypeKey, rebateTypeValue: cval.rebateTypeValue, @@ -213,7 +211,7 @@ export default { brandName: cval.brandName, brandSid: cval.brandSid, vehRebateSids: [cval.sid], - remarks: '', + // remarks: '', sid: '', mainSid: '' }) @@ -251,7 +249,7 @@ export default { brandName: cval.brandName, brandSid: cval.brandSid, vehRebateSids: [cval.sid], - remarks: '', + // remarks: '', sid: '', mainSid: '' }) diff --git a/anrui-scm/anrui-scm-ui/src/views/workFlow/danchefanliyutiFlow/danchefanliyutiYiBanInfo.vue b/anrui-scm/anrui-scm-ui/src/views/workFlow/danchefanliyutiFlow/danchefanliyutiYiBanInfo.vue index 8badbeee6d..73516f9dd0 100644 --- a/anrui-scm/anrui-scm-ui/src/views/workFlow/danchefanliyutiFlow/danchefanliyutiYiBanInfo.vue +++ b/anrui-scm/anrui-scm-ui/src/views/workFlow/danchefanliyutiFlow/danchefanliyutiYiBanInfo.vue @@ -52,11 +52,11 @@ 查看 - - - + + + + + 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..a305abb89a 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,23 @@ 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.anrui.terminal.api.autoservice.contract.flowable.SubmitContractInfoDto; +import com.yxt.anrui.terminal.api.supplychain.modelAdjust.SubmitModelModPriceDto; 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 +34,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 +46,43 @@ 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("移动端-提交合同审核流程") + @PostMapping("/submitContractInfo") + @ResponseBody + public ResultBean submitContractInfo(@Valid @RequestBody SubmitContractInfoDto 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..ef93704a4a 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,10 @@ 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.anrui.terminal.api.autoservice.contract.flowable.SubmitContractInfoDto; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -31,4 +35,44 @@ 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 submitContractInfo(SubmitContractInfoDto 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/autoservice/contract/flowable/SubmitContractInfoDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/flowable/SubmitContractInfoDto.java new file mode 100644 index 0000000000..4994557dcf --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/flowable/SubmitContractInfoDto.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.terminal.api.autoservice.contract.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.anrui.terminal.api.autoservice.contract.CrmCustomerFileDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class SubmitContractInfoDto extends CrmCustomerFileDto { + + + private static final long serialVersionUID = -6589984457477863174L; + + @ApiModelProperty("意见") + private String comment; + @ApiModelProperty("流程实例id") + @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty("任务id") + private String taskId; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/insurance/InsuranceInfoDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/insurance/InsuranceInfoDto.java index b6ff744b54..e42a07f765 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/insurance/InsuranceInfoDto.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/insurance/InsuranceInfoDto.java @@ -31,5 +31,8 @@ public class InsuranceInfoDto implements Dto { @JsonProperty(value = "saleOrderSid") private String salesOrderSid; + @JsonProperty("numberKey") + private String insuranceNumKey; + } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/insurance/InsuranceInfoVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/insurance/InsuranceInfoVo.java index 381eb29f4b..8aaf6697a9 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/insurance/InsuranceInfoVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/insurance/InsuranceInfoVo.java @@ -33,4 +33,6 @@ public class InsuranceInfoVo implements Vo { @ApiModelProperty(value = "备注") private String remarks; + + private String numberKey; } 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..997f0a1d0d 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,12 @@ 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.anrui.terminal.api.autoservice.contract.flowable.SubmitContractInfoDto; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -41,6 +47,46 @@ 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 submitContractInfo(SubmitContractInfoDto dto) { + return appCommonContractService.submitContractInfo(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..f809472dd8 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,29 @@ 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.*; +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.anrui.terminal.api.autoservice.contract.flowable.SubmitContractInfoDto; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; - +import lombok.Data; +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 +45,10 @@ public class AppCommonContractService { @Autowired CommonContractFeign commonContractFeign; + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; /** * 移动端-合同审核列表 @@ -45,4 +62,124 @@ 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 submitContractInfo(SubmitContractInfoDto dto) { + ResultBean rb = ResultBean.fireFail(); + AppSubmitContractInfoDto appSubmitContractInfoDto = new AppSubmitContractInfoDto(); + BeanUtil.copyProperties(dto, appSubmitContractInfoDto); + ResultBean resultBean = commonContractFeign.submitContractInfo(appSubmitContractInfoDto); + if (!resultBean.getSuccess()) { + return 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());