diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributor.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributor.java index 1603efd718..6f57fffbd9 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributor.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributor.java @@ -27,6 +27,7 @@ import java.util.Date; @Data public class BaseDistributor extends BaseEntity { + @ApiModelProperty("经销商名称") private String disName; @ApiModelProperty("统一社会信用代码") @@ -78,6 +79,10 @@ public class BaseDistributor extends BaseEntity { private String isGuarantee; @ApiModelProperty(value = "是否担保key") private String isGuaranteeKey; + @ApiModelProperty("是否投放展车") + private String isDelivery; + @ApiModelProperty(value = "是否投放展车Key") + private String isDeliveryKey; @ApiModelProperty("开始合作日期") private String startCoopDate; @ApiModelProperty("创建组织") @@ -88,28 +93,16 @@ public class BaseDistributor extends BaseEntity { private String useOrg; @ApiModelProperty("使用组织名称") private String useOrgName; - @ApiModelProperty("开票联系电话") - private String invoPhone; - @ApiModelProperty("开票开户行") - private String invoBank; - @ApiModelProperty("开票银行账号") - private String invoBankNum; @ApiModelProperty("级别key") private String disLevelKey; @ApiModelProperty("级别value") private String disLevelValue; - @ApiModelProperty("流程定义的id") - private String procDefId; - @ApiModelProperty("环节定义的sid") - private String nodeSid; - @ApiModelProperty("流程实例的id") - private String procInstId; - @ApiModelProperty("流程状态") - private String nodeState; - @ApiModelProperty("任务id") - private String taskId; @ApiModelProperty("使用组织全路径") private String orgSidPath; - @ApiModelProperty("办结日期") - private Date closingDate; + @ApiModelProperty("报备状态:1已报备,0未报备,2报备中") + private int filingState; + @ApiModelProperty("风控状态:1禁用 0正常 风控中心设置的状态") + private int riskState; + @ApiModelProperty("有效期") + private String effectiveDate; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorDetailsVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorDetailsVo.java index a752ffacc4..960469a823 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorDetailsVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorDetailsVo.java @@ -9,6 +9,7 @@ import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -96,18 +97,23 @@ public class BaseDistributorDetailsVo implements Vo { @ApiModelProperty("人员list") private List perList; @ApiModelProperty("营业执照附件list") - private List yyzzList; + private List yyzzList = new ArrayList<>(); @ApiModelProperty("道路运输许可证附件list") - private List dlysxkzList; + private List dlysxkzList = new ArrayList<>(); @ApiModelProperty("法人身份证附件list") - private List frsfzList; + private List frsfzList = new ArrayList<>(); @ApiModelProperty("其他资料附件list") - private List qtzlList; - @ApiModelProperty("taskId") - private String taskId; // taskId - @ApiModelProperty("流程实例的sid") - private String procInsId; // 流程实例的sid + private List qtzlList = new ArrayList<>(); + @ApiModelProperty("合作协议附件list") + private List hzxyList = new ArrayList<>(); @ApiModelProperty("userSid") private String userSid; private String orgSidPath; + + @ApiModelProperty("是否投放展车 0是/1否") + private String isDelivery; + @ApiModelProperty(value = "是否投放展车Key") + private String isDeliveryKey; + @ApiModelProperty(value = "有效期至") + private String effectiveDate; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorDto.java index fd50e073bd..40b47ccc71 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorDto.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorDto.java @@ -80,6 +80,10 @@ public class BaseDistributorDto implements Dto { private String isGuarantee; @ApiModelProperty("是否担保 0是/1否") private String isGuaranteeKey; + @ApiModelProperty("是否投放展车 0是/1否") + private String isDelivery; + @ApiModelProperty(value = "是否投放展车Key") + private String isDeliveryKey; @ApiModelProperty("开始合作日期") private String startCoopDate; @ApiModelProperty("创建组织") @@ -90,25 +94,25 @@ public class BaseDistributorDto implements Dto { private String useOrg; @ApiModelProperty("使用组织名称") private String useOrgName; - @ApiModelProperty("开票联系电话") - private String invoPhone; - @ApiModelProperty("开票开户行") - private String invoBank; - @ApiModelProperty("开票银行账号") - private String invoBankNum; +// @ApiModelProperty("开票联系电话") +// private String invoPhone; +// @ApiModelProperty("开票开户行") +// private String invoBank; +// @ApiModelProperty("开票银行账号") +// private String invoBankNum; @ApiModelProperty("级别key") private String disLevelKey; @ApiModelProperty("级别value") private String disLevelValue; @ApiModelProperty("人员list") private List perList; - @ApiModelProperty("营业执照附件list") - private List yyzzList; - @ApiModelProperty("道路运输许可证附件list") - private List dlysxkzList; - @ApiModelProperty("法人身份证附件list") - private List frsfzList; - @ApiModelProperty("其他资料附件list") - private List qtzlList; +// @ApiModelProperty("营业执照附件list") +// private List yyzzList; +// @ApiModelProperty("道路运输许可证附件list") +// private List dlysxkzList; +// @ApiModelProperty("法人身份证附件list") +// private List frsfzList; +// @ApiModelProperty("其他资料附件list") +// private List qtzlList; private String orgSidPath; } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorFeign.java index e4965fae94..f4159f0341 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorFeign.java @@ -2,6 +2,8 @@ package com.yxt.anrui.base.api.basedistributor; import com.yxt.anrui.base.api.basedistributor.app.*; import com.yxt.anrui.base.api.basedistributor.flow.*; +import com.yxt.anrui.base.api.basedistributorapply.BaseDistributorApply; +import com.yxt.anrui.base.api.basedistributorapply.BaseDistributorApplyDetailsVo; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -85,43 +87,52 @@ public interface BaseDistributorFeign { @PostMapping("/getDistributors") ResultBean> getDistributors(@RequestBody BaseDistributorsListQuery pagerQuery); - //---------------------------------------------- 流程接口 --------------------------------------------------/ - @ApiOperation("经销商备案提交") - @PostMapping("/submit") - public ResultBean submitRecordApplication(@RequestBody @Valid SubmitBaseDistributorApplyDto dto); - - @ApiOperation(value = "办理(同意)") - @PostMapping("/complete") - public ResultBean complete(@Valid @RequestBody BaseDistributorCompleteDto dto); - - //分公司到风控中心同意 - @ApiOperation(value = "办理(同意)") - @PostMapping("/companyToDivisionOperate") - public ResultBean companyToDivisionOperate(@Valid @RequestBody BaseDistributorCompleteDto query); - - @ApiOperation(value = "撤回流程") - @PostMapping(value = "/revokeProcess") - public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody BaseDistributorTaskQuery query); + @ApiOperation("备案回显") + @GetMapping("/recordInfo") + @ResponseBody + public ResultBean recordInfo(@RequestParam("sid") String sid); - @ApiOperation(value = "驳回任务") - @PostMapping(value = "/reject") - public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody BaseDistributorTaskQuery query); + @ApiOperation("风控状态禁用、启用:riskState为1时走禁用,为0时走启用") + @PostMapping("/setRiskState") + ResultBean setRiskState(@RequestBody RiskStateQuery query); - @ApiOperation(value = "终止任务") - @PostMapping(value = "/breakProcess") - public ResultBean breakProcess(@RequestBody BaseDistributorTaskQuery query); - - @ApiOperation(value = "流程历史流转记录") - @GetMapping(value = "/task/flowRecord/{procInsId}/{deployId}") - public ResultBean flowRecord(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId); - - @ApiOperation(value = "获取下一个环节") - @GetMapping(value = "/getNextNodesForSubmit") - ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap GetNodeQuery query); - - @ApiOperation(value = "获取上一个环节") - @GetMapping(value = "/getPreviousNodesForReject") - ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query); + //---------------------------------------------- 流程接口 --------------------------------------------------/ +// @ApiOperation("经销商备案提交") +// @PostMapping("/submit") +// public ResultBean submitRecordApplication(@RequestBody @Valid SubmitBaseDistributorApplyDto dto); +// +// @ApiOperation(value = "办理(同意)") +// @PostMapping("/complete") +// public ResultBean complete(@Valid @RequestBody BaseDistributorCompleteDto dto); +// +// //分公司到风控中心同意 +// @ApiOperation(value = "办理(同意)") +// @PostMapping("/companyToDivisionOperate") +// public ResultBean companyToDivisionOperate(@Valid @RequestBody BaseDistributorCompleteDto query); +// +// @ApiOperation(value = "撤回流程") +// @PostMapping(value = "/revokeProcess") +// public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody BaseDistributorTaskQuery query); +// +// @ApiOperation(value = "驳回任务") +// @PostMapping(value = "/reject") +// public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody BaseDistributorTaskQuery query); +// +// @ApiOperation(value = "终止任务") +// @PostMapping(value = "/breakProcess") +// public ResultBean breakProcess(@RequestBody BaseDistributorTaskQuery query); +// +// @ApiOperation(value = "流程历史流转记录") +// @GetMapping(value = "/task/flowRecord/{procInsId}/{deployId}") +// public ResultBean flowRecord(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId); +// +// @ApiOperation(value = "获取下一个环节") +// @GetMapping(value = "/getNextNodesForSubmit") +// ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap GetNodeQuery query); +// +// @ApiOperation(value = "获取上一个环节") +// @GetMapping(value = "/getPreviousNodesForReject") +// ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query); //---------------------------------------移动端-------------------------------------------------// @ApiOperation("移动端-销售订单-经销商分页列 表") @@ -192,8 +203,8 @@ public interface BaseDistributorFeign { @GetMapping("/selectDisListBySid/{sid}") ResultBean selectDisListBySid(@PathVariable("sid") String sid); - //---------------------------------------移动端流程---------------------------------------------// - @ApiOperation("经销商备案提交") - @PostMapping("/submitDistributor") - public ResultBean submitDistributor(@RequestBody @Valid AppSubmitDistributorApplyDto dto); +// //---------------------------------------移动端流程---------------------------------------------// +// @ApiOperation("经销商备案提交") +// @PostMapping("/submitDistributor") +// public ResultBean submitDistributor(@RequestBody @Valid AppSubmitDistributorApplyDto dto); } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorFeignFallback.java index 8f2e2f8b36..24fc84d6d8 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorFeignFallback.java @@ -2,6 +2,7 @@ package com.yxt.anrui.base.api.basedistributor; import com.yxt.anrui.base.api.basedistributor.app.*; import com.yxt.anrui.base.api.basedistributor.flow.*; +import com.yxt.anrui.base.api.basedistributorapply.BaseDistributorApplyDetailsVo; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -84,49 +85,59 @@ public class BaseDistributorFeignFallback implements BaseDistributorFeign { } @Override - public ResultBean submitRecordApplication(SubmitBaseDistributorApplyDto dto) { - return null; - } - - @Override - public ResultBean complete(BaseDistributorCompleteDto dto) { - return null; - } - - @Override - public ResultBean companyToDivisionOperate(BaseDistributorCompleteDto query) { - return null; - } - - @Override - public ResultBean revokeProcess(BaseDistributorTaskQuery query) { - return null; - } - - @Override - public ResultBean taskReject(BaseDistributorTaskQuery query) { - return null; - } - - @Override - public ResultBean breakProcess(BaseDistributorTaskQuery query) { - return null; - } - - @Override - public ResultBean flowRecord(String procInsId) { - return null; - } - - @Override - public ResultBean> getNextNodesForSubmit(GetNodeQuery query) { - return null; - } - - @Override - public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { - return null; - } + public ResultBean recordInfo(String sid) { + return null; + } + + @Override + public ResultBean setRiskState(RiskStateQuery query) { + return null; + } + +// @Override +// public ResultBean submitRecordApplication(SubmitBaseDistributorApplyDto dto) { +// return null; +// } +// +// @Override +// public ResultBean complete(BaseDistributorCompleteDto dto) { +// return null; +// } +// +// @Override +// public ResultBean companyToDivisionOperate(BaseDistributorCompleteDto query) { +// return null; +// } +// +// @Override +// public ResultBean revokeProcess(BaseDistributorTaskQuery query) { +// return null; +// } +// +// @Override +// public ResultBean taskReject(BaseDistributorTaskQuery query) { +// return null; +// } +// +// @Override +// public ResultBean breakProcess(BaseDistributorTaskQuery query) { +// return null; +// } +// +// @Override +// public ResultBean flowRecord(String procInsId) { +// return null; +// } +// +// @Override +// public ResultBean> getNextNodesForSubmit(GetNodeQuery query) { +// return null; +// } +// +// @Override +// public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { +// return null; +// } @Override public ResultBean> getDistributorList(PagerQuery pagerQuery) { @@ -213,10 +224,10 @@ public class BaseDistributorFeignFallback implements BaseDistributorFeign { return null; } - @Override - public ResultBean submitDistributor(AppSubmitDistributorApplyDto dto) { - return null; - } +// @Override +// public ResultBean submitDistributor(AppSubmitDistributorApplyDto dto) { +// return null; +// } } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorQuery.java index ae2a2fbfb2..5adbaa6b2e 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorQuery.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorQuery.java @@ -37,6 +37,9 @@ public class BaseDistributorQuery implements Query { private String legalName; @ApiModelProperty("是否担保 0是/1否") private String isGuarantee; + @ApiModelProperty("是否担保 0是/1否") + private String isGuaranteeKey; + @ApiModelProperty("级别key") private String disLevelKey; @ApiModelProperty("上级经销商sid") @@ -45,4 +48,26 @@ public class BaseDistributorQuery implements Query { private String relationState; @ApiModelProperty("分公司sid") private String createOrg; + @ApiModelProperty("是否投放展车 0是/1否") + private String isDelivery; + @ApiModelProperty(value = "是否投放展车Key") + private String isDeliveryKey; + @ApiModelProperty("组织全路径") + private String orgPath; + @ApiModelProperty("菜单sid") + private String menuSid; + @ApiModelProperty("菜单url") + private String menuUrl; + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("报备状态") + private String filingStateKey; + @ApiModelProperty("风控状态") + private String riskStateKey; + @ApiModelProperty("分公司") + private String company; + @ApiModelProperty("销售部门") + private String dept; + @ApiModelProperty("销售专员") + private String saesman; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorVo.java index 691f227431..864f6b7dbe 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/BaseDistributorVo.java @@ -78,6 +78,10 @@ public class BaseDistributorVo implements Vo { private String isGuarantee; @ApiModelProperty("是否担保 0是/1否") private String isGuaranteeKey; + @ApiModelProperty("是否投放展车 0是/1否") + private String isDelivery; + @ApiModelProperty(value = "是否投放展车Key") + private String isDeliveryKey; @ApiModelProperty("开始合作日期") private String startCoopDate; @ApiModelProperty("创建组织") @@ -88,12 +92,7 @@ public class BaseDistributorVo implements Vo { private String useOrg; @ApiModelProperty("使用组织名称") private String useOrgName; - @ApiModelProperty("开票联系电话") - private String invoPhone; - @ApiModelProperty("开票开户行") - private String invoBank; - @ApiModelProperty("开票银行账号") - private String invoBankNum; + @ApiModelProperty("本年销售台数") private String curYearSaleNum; @ApiModelProperty("累计销售台数") @@ -106,9 +105,18 @@ public class BaseDistributorVo implements Vo { private String isRelation; @ApiModelProperty("备案状态") private String state; - private String procDefId; - @ApiModelProperty("实例id") - private String procInstId; - @ApiModelProperty("流程状态") - private String nodeState; + @ApiModelProperty("风控状态:1禁用 0正常 风控中心设置的状态") + private String riskState; + + @ApiModelProperty("分公司") + private String company; + @ApiModelProperty("销售部门") + private String dept; + @ApiModelProperty("销售专员") + private String salesman; + @ApiModelProperty("联系电话") + private String invoPhone; + + + } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/RiskStateQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/RiskStateQuery.java new file mode 100644 index 0000000000..73b8bcfb0d --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/RiskStateQuery.java @@ -0,0 +1,22 @@ +package com.yxt.anrui.base.api.basedistributor; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/9/19 17:00 + */ +@Data +public class RiskStateQuery { + + @ApiModelProperty("sids") + private List sidsList = new ArrayList<>(); + @ApiModelProperty("riskState为1时走禁用,为0时走启用") + private String riskState; + private String userSid; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseDisDetailsVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseDisDetailsVo.java index 773b9075f7..41bb758e84 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseDisDetailsVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseDisDetailsVo.java @@ -1,9 +1,12 @@ package com.yxt.anrui.base.api.basedistributor.app; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppSalesDeptVo; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppSalesman; import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.ArrayList; import java.util.List; /** @@ -16,13 +19,36 @@ public class BaseDisDetailsVo implements Vo { private static final long serialVersionUID = 5373789509599475050L; @ApiModelProperty(value = "经销商基础信息") private BaseInfoVo baseInfo; - @ApiModelProperty(value = "开票信息") - private BaseInvoiceInfoVo invoiceInfo; + // @ApiModelProperty(value = "开票信息") +// private BaseInvoiceInfoVo invoiceInfo; @ApiModelProperty(value = "附件清单") private BaseFileVo fileInfo; @ApiModelProperty(value = "人员列表") private List records; - private String procInstId; + @ApiModelProperty(value = "经销商") + private String disName; + @ApiModelProperty(value = "统一信用代码") + private String registNum; + @ApiModelProperty(value = "注册地址") + private String registDetailAddress; + @ApiModelProperty(value = "开户行") + private String invoBank; + @ApiModelProperty(value = "银行账号") + private String invoBankNum; + @ApiModelProperty("开票联系电话") + private String invoPhone; + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("机构sid") + private String orgPath; + private String beiAnSid; + private String jxsSid; + private AppSalesDeptVo salesDeptVo; private String taskId; + private String procInsId; + private String publishInfo; + private String sid; + private List users = new ArrayList<>(); + } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseDistributorsQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseDistributorsQuery.java index da4857b0d7..b329804a5d 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseDistributorsQuery.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseDistributorsQuery.java @@ -19,6 +19,6 @@ public class BaseDistributorsQuery implements Query { @ApiModelProperty("机构sid") private String orgPath; - + private String menuSid; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseDistributorsVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseDistributorsVo.java index 89b31a2269..7264bf0303 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseDistributorsVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseDistributorsVo.java @@ -31,6 +31,9 @@ public class BaseDistributorsVo implements Vo { private String invoPhone; @ApiModelProperty(value = "成立日期") private String setUpTime; + private String isDelivery; //private String nodeState; private boolean updateBtn; + private boolean reportBtn; + private boolean deleteBtn; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseFileDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseFileDto.java index 4715c6bb1a..638213d6f6 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseFileDto.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseFileDto.java @@ -24,6 +24,8 @@ public class BaseFileDto implements Dto { private List corporateIdCard = new ArrayList<>(); @ApiModelProperty(value = "其他资料") private List otherInfo = new ArrayList<>(); + @ApiModelProperty(value = "其他资料") + private List agreement = new ArrayList<>(); @ApiModelProperty(value = "经销商sid") private String distributorSid; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseFileVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseFileVo.java index 88f41fd6c7..be0c789b8a 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseFileVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseFileVo.java @@ -23,6 +23,8 @@ public class BaseFileVo implements Vo { private List corporateIdCard = new ArrayList<>(); @ApiModelProperty(value = "其他资料") private List otherInfo = new ArrayList<>(); + @ApiModelProperty(value = "合作协议") + private List agreement = new ArrayList<>(); private String distributorSid; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseInfoDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseInfoDto.java index 855bd005ae..06c006df93 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseInfoDto.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseInfoDto.java @@ -22,11 +22,11 @@ public class BaseInfoDto implements Dto { @ApiModelProperty(value = "经销商") private String disName; - /* @ApiModelProperty(value = "统一信用代码") + @ApiModelProperty(value = "统一信用代码") private String registNum; @ApiModelProperty(value = "注册地址") - private String registDetailAddress;*/ + private String registDetailAddress; @ApiModelProperty(value = "实际经营地址") private String managementDetailAddress; @@ -78,4 +78,6 @@ public class BaseInfoDto implements Dto { private String userSid; @ApiModelProperty("机构sid") private String orgPath; + private String isDelivery; + private String isDeliveryKey; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseInfoVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseInfoVo.java index efe5e3003e..e0246ff0a5 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseInfoVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/BaseInfoVo.java @@ -17,14 +17,13 @@ public class BaseInfoVo implements Vo { private String pDistributorName; @ApiModelProperty(value = "所属经销商sid") private String pDistributorSid; - +// @ApiModelProperty(value = "经销商") private String disName; -/* @ApiModelProperty(value = "统一信用代码") + @ApiModelProperty(value = "统一信用代码") private String registNum; - @ApiModelProperty(value = "注册地址") - private String registDetailAddress;*/ + private String registDetailAddress; @ApiModelProperty(value = "实际经营地址") private String managementDetailAddress; @@ -69,4 +68,12 @@ public class BaseInfoVo implements Vo { @ApiModelProperty(value = "经销商sid") private String distributorSid; + + @ApiModelProperty("是否投放展车") + private String isDelivery; + + @ApiModelProperty(value = "是否投放展车Key") + private String isDeliveryKey; + @ApiModelProperty(value = "有效期至") + private String effectiveDate; } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/apply/AppDeptVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/apply/AppDeptVo.java new file mode 100644 index 0000000000..7751691306 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/apply/AppDeptVo.java @@ -0,0 +1,27 @@ +package com.yxt.anrui.base.api.basedistributor.app.apply; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/21 13:35 + */ +@Data +public class AppDeptVo implements Vo { + + //第一级 + private String sid; + private String checkSid; + // 必须有 一般sid + private String dictKey; + private boolean selected; + //必须有 显示的文字 + private String dictValue; + private boolean mandatory; + private String dictType; + private String extra; + //额外的内容; + private AppObjectDept extra2; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/apply/AppDistributorApplyVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/apply/AppDistributorApplyVo.java new file mode 100644 index 0000000000..d5e742c82c --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/apply/AppDistributorApplyVo.java @@ -0,0 +1,55 @@ +package com.yxt.anrui.base.api.basedistributor.app.apply; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/22 8:51 + */ +@Data +public class AppDistributorApplyVo implements Vo { + + /** + * 申请日期 + */ + private String applyDate; + /** + * 申请人 + */ + private String applyName; + /** + * 分公司 + */ + private String company; + /** + * 申请部门 + */ + private String dept; + /** + * 经销商名称 + */ + private String distributorName; + /** + * 有效期至 + */ + private String effectiveDate; + /** + * 销售专员 + */ + private String salesman; + /** + * 备案记录sid + */ + private String sid; + /** + * 流程状态 + */ + private String state; + @ApiModelProperty("某某部门,某某人") + private String publishInfo; + private boolean updateBtn; + private boolean deleteBtn; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/apply/AppDistributorDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/apply/AppDistributorDto.java new file mode 100644 index 0000000000..ee243597b1 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/apply/AppDistributorDto.java @@ -0,0 +1,29 @@ +package com.yxt.anrui.base.api.basedistributor.app.apply; + +import com.yxt.anrui.base.api.basedistributor.app.BaseFileDto; +import com.yxt.anrui.base.api.basedistributor.app.BaseInfoDto; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/9/20 16:37 + */ +@Data +public class AppDistributorDto implements Dto { + + private String beiAnSid; + private String jxsSid; + private BaseFileDto fileInfo; + private AppSalesDeptVo salesDeptVo; + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("机构sid") + private String orgPath; + +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/apply/AppObjectDept.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/apply/AppObjectDept.java new file mode 100644 index 0000000000..ae06c9e681 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/apply/AppObjectDept.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.base.api.basedistributor.app.apply; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/9/21 13:40 + */ +@Data +public class AppObjectDept { + + //第二级 + @ApiModelProperty("主管人员sid") + private String mangeSid; + @ApiModelProperty("主管人员") + private String mange; + //额外的内容; + private List users = new ArrayList<>(); + +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/apply/AppSalesDeptVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/apply/AppSalesDeptVo.java new file mode 100644 index 0000000000..b035dbb049 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/apply/AppSalesDeptVo.java @@ -0,0 +1,46 @@ +package com.yxt.anrui.base.api.basedistributor.app.apply; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/21 9:26 + */ +@Data +public class AppSalesDeptVo implements Vo { + + + @ApiModelProperty("申请人") + private String applyName; + @ApiModelProperty("申请日期") + private String applyDate; + @ApiModelProperty("申请部门sid") + private String deptSid; + @ApiModelProperty("申请部门") + private String dept; + @ApiModelProperty("销售部门sid") + private String salesDeptSid; + @ApiModelProperty("销售部门") + private String salesDept; + @ApiModelProperty("主管人员sid") + private String mangeSid; + @ApiModelProperty("主管人员") + private String mange; + @ApiModelProperty("销售专员sid") + private String salesmanSid; + @ApiModelProperty("销售专员") + private String salesman; + @ApiModelProperty(value = "有效期至") + private String effectiveDate; + @ApiModelProperty("1是0否") + private String agree; + @ApiModelProperty("备注") + private String remarks; + + private String tempMangeSid; + private String tempMange; + +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/apply/AppSalesman.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/apply/AppSalesman.java new file mode 100644 index 0000000000..0c0be5c55c --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/app/apply/AppSalesman.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.base.api.basedistributor.app.apply; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/21 13:40 + */ +@Data +public class AppSalesman { + private String sid; + private String checkSid; + // 必须有 一般sid + private String dictKey; + private boolean selected; + //必须有 显示的文字 + private String dictValue; + private boolean mandatory; + private String dictType; + private String extra; + //额外的内容; + private Object extra2; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/flow/AppSubmitDistributorApplyDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/flow/AppSubmitDistributorApplyDto.java index 60810c8704..8268d1eb02 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/flow/AppSubmitDistributorApplyDto.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/flow/AppSubmitDistributorApplyDto.java @@ -1,6 +1,7 @@ package com.yxt.anrui.base.api.basedistributor.flow; import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppDistributorDto; import com.yxt.common.core.dto.Dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -11,9 +12,8 @@ import lombok.Data; * @date 2023/7/14 9:15 */ @Data -public class AppSubmitDistributorApplyDto implements Dto { - @ApiModelProperty("distributorSid") - private String distributorSid; +public class AppSubmitDistributorApplyDto extends AppDistributorDto { + @ApiModelProperty("任务id") private String taskId; @ApiModelProperty("流程实例id") diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/flow/BaseDistributorCompleteDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/flow/BaseDistributorCompleteDto.java index cfdf811ddd..c02d08103d 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/flow/BaseDistributorCompleteDto.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributor/flow/BaseDistributorCompleteDto.java @@ -37,6 +37,4 @@ public class BaseDistributorCompleteDto implements Dto { private String businessSid; @ApiModelProperty(value = "分支字段及业务字段") private Map formVariables; - @ApiModelProperty(value = "是否能判定 01是 02否") - private String isDecided; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApply.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApply.java new file mode 100644 index 0000000000..8d237ede1c --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApply.java @@ -0,0 +1,100 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.base.api.basedistributorapply; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * Project: anrui-base(经销商备案申请)
+ * File: BaseDiscountpackageApply.java
+ * Class: com.yxt.anrui.base.api.basediscountpackageapply.BaseDiscountpackageApply
+ * Description: 经销商备案申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-12-08 17:04:45
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "经销商备案申请", description = "经销商备案申请") +@TableName("base_distributor_apply") +public class BaseDistributorApply extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("申请人") + private String applyName; // 申请人 + @ApiModelProperty("销售专员sid") + private String salesmanSid; // 销售专员sid + @ApiModelProperty("销售专员") + private String salesman; // 销售专员 + @ApiModelProperty("申请日期") + private Date applyDate; // 申请日期 + @ApiModelProperty("申请部门") + private String dept; + @ApiModelProperty("申请部门sid") + private String deptSid; + @ApiModelProperty("销售部门") + private String salesDept; + @ApiModelProperty("销售部门sid") + private String salesDeptSid; + @ApiModelProperty("销售经理主管") + private String manage; + @ApiModelProperty("销售经理主管sid") + private String manageSid; + @ApiModelProperty("经销商sid") + private String distributorSid; + @ApiModelProperty("经销商") + private String distributor; + @ApiModelProperty("有效期") + private String effectiveDate; + @ApiModelProperty("是否同意1是0否") + private String agree; // 台数 + @ApiModelProperty("使用组织sid") + private String useOrgSid; // 使用组织sid + @ApiModelProperty("使用组织名称") + private String useOrgName; // 使用组织名称 + @ApiModelProperty("流程定义的id") + private String procDefId; // 流程定义的id + @ApiModelProperty("环节定义的sid") + private String nodeSid; // 环节定义的sid + @ApiModelProperty("流程实例的sid") + private String procInstId; // 流程实例的sid + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("taskId") + private String taskId; // taskId + @ApiModelProperty("申请人组织路径") + private String orgSidPath; // 申请人组织路径 + +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApplyDetailsVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApplyDetailsVo.java new file mode 100644 index 0000000000..b83033ec52 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApplyDetailsVo.java @@ -0,0 +1,140 @@ +package com.yxt.anrui.base.api.basedistributorapply; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.anrui.base.api.basedistributorappendix.BaseDistributorAppendixVo; +import com.yxt.anrui.base.api.basedistributorstaff.BaseDistributorStaffVo; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/9/18 9:57 + */ +@Data +public class BaseDistributorApplyDetailsVo implements Vo { + + @ApiModelProperty("userSid") + private String userSid; + private String orgSidPath; + @ApiModelProperty("经销商备案申请sid") + private String sid; + @ApiModelProperty("经销商sid") + private String distributorSid; + @ApiModelProperty("上级经销商名称") + private String pDisName; + @ApiModelProperty("经销商名称") + private String disName; + @ApiModelProperty("统一社会信用代码") + private String registNum; + @ApiModelProperty("成立时间") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date setUpTime; + @ApiModelProperty("注册(登记)地址") + private String registDetailAddress; + @ApiModelProperty(value = "省") + private String provinceCode; + @ApiModelProperty(value = "县区") + private String cityCode; + @ApiModelProperty("经营地址(省市县)code") + private String managementAddressCode; + @ApiModelProperty(value = "经营地址省") + private String managementDetailAddressProvince; + @ApiModelProperty(value = "经营地址市") + private String managementDetailAddressCity; + @ApiModelProperty(value = "经营地址县区") + private String managementDetailAddressCounty; + @ApiModelProperty("实际经营地址:详细地址") + private String managementDetailAddress; + @ApiModelProperty("联系人") + private String contract; + @ApiModelProperty("联系人手机号码") + private String mobile; + @ApiModelProperty("实际控制人姓名") + private String legalName; + @ApiModelProperty("实际控制人身份证号码") + private String legalIdCard; + @ApiModelProperty("实际控制人手机号码") + private String legalMobile; + @ApiModelProperty("上级经销商sid") + @JsonProperty("pDistributorSid") + private String pDistributorSid; + @ApiModelProperty("上级经销商名称") + @JsonProperty("pDistributorName") + private String pDistributorName; + @ApiModelProperty("是否担保 0是/1否") + private String isGuarantee; + @ApiModelProperty("是否担保 0是/1否") + private String isGuaranteeKey; + @ApiModelProperty("开始合作日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date startCoopDate; + @ApiModelProperty("使用组织") + private String useOrg; + @ApiModelProperty("使用组织名称") + private String useOrgName; + @ApiModelProperty("开票联系电话") + private String invoPhone; + @ApiModelProperty("开票开户行") + private String invoBank; + @ApiModelProperty("开票银行账号") + private String invoBankNum; + @ApiModelProperty("级别key") + private String disLevelKey; + @ApiModelProperty("级别value") + private String disLevelValue; + @ApiModelProperty("人员list") + private List perList; + @ApiModelProperty("营业执照附件list") + private List yyzzList = new ArrayList<>(); + @ApiModelProperty("道路运输许可证附件list") + private List dlysxkzList = new ArrayList<>(); + @ApiModelProperty("法人身份证附件list") + private List frsfzList = new ArrayList<>(); + @ApiModelProperty("其他资料附件list") + private List qtzlList = new ArrayList<>(); + @ApiModelProperty("合作协议附件list") + private List hzxyList = new ArrayList<>(); + @ApiModelProperty("是否投放展车 0是/1否") + private String isDelivery; + @ApiModelProperty(value = "是否投放展车Key") + private String isDeliveryKey; + @ApiModelProperty(value = "有效期至") + private String effectiveDate; + @ApiModelProperty("是否同意 0否/1是") + private String agree; + @ApiModelProperty("申请人") + private String applyName; // 申请人 + @ApiModelProperty("销售专员sid") + private String salesmanSid; // 销售专员sid + @ApiModelProperty("销售专员") + private String salesman; // 销售专员 + @ApiModelProperty("申请日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date applyDate; // 申请日期 + @ApiModelProperty("申请部门") + private String dept; + @ApiModelProperty("申请部门sid") + private String deptSid; + @ApiModelProperty("销售部门") + private String salesDept; + @ApiModelProperty("销售部门sid") + private String salesDeptSid; + @ApiModelProperty("销售经理主管") + private String manage; + @ApiModelProperty("销售经理主管sid") + private String manageSid; + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("任务id") + private String taskId; + @ApiModelProperty("实例id") + private String instanceId; + +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApplyDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApplyDto.java new file mode 100644 index 0000000000..1a6f1a9f2e --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApplyDto.java @@ -0,0 +1,63 @@ +package com.yxt.anrui.base.api.basedistributorapply; + +import com.yxt.anrui.base.api.basedistributorappendix.BaseDistributorAppendixVo; +import com.yxt.anrui.base.api.basedistributorapplyappendix.BaseDistributorApplyAppendixDto; +import com.yxt.anrui.base.api.basedistributorapplyappendix.BaseDistributorApplyAppendixVo; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/9/18 11:37 + */ +@Data +public class BaseDistributorApplyDto implements Dto { + + private String sid; + private String userSid; + private String orgSidPath; + @ApiModelProperty("经销商sid") + private String distributorSid; + @ApiModelProperty(value = "有效期至") + private String effectiveDate; + @ApiModelProperty("是否同意 0否/1是") + private String agree; + @ApiModelProperty("申请人") + private String applyName; // 申请人 + @ApiModelProperty("销售专员sid") + private String salesmanSid; // 销售专员sid + @ApiModelProperty("销售专员") + private String salesman; // 销售专员 + @ApiModelProperty("申请日期") + private Date applyDate; // 申请日期 + @ApiModelProperty("申请部门") + private String dept; + @ApiModelProperty("申请部门sid") + private String deptSid; + @ApiModelProperty("销售部门") + private String salesDept; + @ApiModelProperty("销售部门sid") + private String salesDeptSid; + @ApiModelProperty("销售经理主管") + private String manage; + @ApiModelProperty("销售经理主管sid") + private String manageSid; + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("营业执照附件list") + private List yyzzList = new ArrayList<>(); + @ApiModelProperty("道路运输许可证附件list") + private List dlysxkzList = new ArrayList<>(); + @ApiModelProperty("法人身份证附件list") + private List frsfzList = new ArrayList<>(); + @ApiModelProperty("其他资料附件list") + private List qtzlList = new ArrayList<>(); + @ApiModelProperty("合作协议附件list") + private List hzxyList = new ArrayList<>(); +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApplyFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApplyFeign.java new file mode 100644 index 0000000000..22bcf80aab --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApplyFeign.java @@ -0,0 +1,171 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.base.api.basedistributorapply; + +import com.yxt.anrui.base.api.basedistributor.app.BaseDisDetailsVo; +import com.yxt.anrui.base.api.basedistributor.app.BaseDistributorsQuery; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppDeptVo; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppDistributorApplyVo; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppDistributorDto; +import com.yxt.anrui.base.api.basedistributorapply.flow.*; +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 io.swagger.annotations.ApiParam; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * Project: anrui-base(经销商备案申请)
+ * File: BaseDiscountpackageApplyFeign.java
+ * Class: com.yxt.anrui.base.api.basediscountpackageapply.BaseDiscountpackageApplyFeign
+ * Description: 经销商备案申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-12-08 17:04:45
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "经销商备案申请") +@FeignClient( + contextId = "anrui-base-BaseDistributorApply", + name = "anrui-base", + path = "v1/basedistributorapply", + fallback = BaseDistributorApplyFeignFallback.class) +public interface BaseDistributorApplyFeign { + + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + @ResponseBody + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("详情查看") + @GetMapping("/detail/{sid}") + @ResponseBody + public ResultBean detail(@PathVariable("sid") String sid); + + @ApiOperation("保存修改") + @PostMapping("/save") + @ResponseBody + public ResultBean save(@RequestBody BaseDistributorApplyDto dto); + + @ApiOperation("批量删除") + @DeleteMapping("/deleteBySids") + @ResponseBody + public ResultBean deleteBySids(@RequestBody String[] sids); + + @ApiOperation("根据销售部门sid查询主管人员") + @GetMapping("/selectMangerByDeptSid") + @ResponseBody + public ResultBean selectMangerByDeptSid(@RequestParam("deptSid") String deptSid); + + //---------------------------------------------- 流程接口 --------------------------------------------------/ + @ApiOperation("经销商备案提交") + @PostMapping("/submit") + public ResultBean submitRecordApplication(@RequestBody @Valid SubmitBaseDistributorApplyDto dto); + + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@Valid @RequestBody BaseDistributorApplyCompleteDto dto); + + //分公司到风控中心同意 + @ApiOperation(value = "办理(同意)") + @PostMapping("/companyToDivisionOperate") + public ResultBean companyToDivisionOperate(@Valid @RequestBody BaseDistributorApplyCompleteDto query); + + @ApiOperation(value = "撤回流程") + @PostMapping(value = "/revokeProcess") + public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody BaseDistributorApplyTaskQuery query); + + @ApiOperation(value = "驳回任务") + @PostMapping(value = "/reject") + public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody BaseDistributorApplyTaskQuery query); + + @ApiOperation(value = "终止任务") + @PostMapping(value = "/breakProcess") + public ResultBean breakProcess(@RequestBody BaseDistributorApplyTaskQuery query); + + @ApiOperation(value = "流程历史流转记录") + @GetMapping(value = "/task/flowRecord/{procInsId}/{deployId}") + public ResultBean flowRecord(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId); + + @ApiOperation(value = "获取下一个环节") + @GetMapping(value = "/getNextNodesForSubmit") + ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap GetNodeQuery query); + + @ApiOperation(value = "获取上一个环节") + @GetMapping(value = "/getPreviousNodesForReject") + ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query); + + //---------------------------移动端-------------------------------------- + + @ApiOperation("查询本分公司下销售部门/销售专员/对应部门主管") + @GetMapping("/getSalesDept") + @ResponseBody + ResultBean> getSalesDept(@RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath); + + @ApiOperation("移动端-经销商开票保存修改") + @PostMapping("/saveDistributor") + @ResponseBody + ResultBean saveDistributor(@RequestBody AppDistributorDto dto); + + + @ApiOperation("移动端-经销商备案初始化") + @GetMapping("/getDistributor1") + @ResponseBody + ResultBean getDistributor1(@RequestParam("sid") String sid, @RequestParam("orgPath") String orgPath, @RequestParam("userSid") String userSid); + + @ApiOperation("移动端-经销商备案详情") + @GetMapping("/getDistributor2") + @ResponseBody + ResultBean getDistributor2(@RequestParam("sid") String sid, @RequestParam("orgPath") String orgPath, @RequestParam("userSid") String userSid); + + + @ApiOperation("移动端-经销商分页列表") + @PostMapping("/getDistributorApplyList") + @ResponseBody + ResultBean> getDistributorApplyList(@RequestBody PagerQuery pagerQuery); + + @ApiOperation("移动端-经销商备案申请删除") + @DeleteMapping("/deleteDistributor2/{sid}") + @ResponseBody + ResultBean deleteDistributor2(@PathVariable("sid") String sid); + + + //---------------------------------------移动端流程---------------------------------------------// + @ApiOperation("经销商备案提交") + @PostMapping("/submitDistributor") + public ResultBean submitDistributor(@RequestBody @Valid AppSubmitApplyDto dto); +} \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApplyFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApplyFeignFallback.java new file mode 100644 index 0000000000..4af116fc62 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApplyFeignFallback.java @@ -0,0 +1,161 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.base.api.basedistributorapply; + +import com.yxt.anrui.base.api.basedistributor.app.BaseDisDetailsVo; +import com.yxt.anrui.base.api.basedistributor.app.BaseDistributorsQuery; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppDeptVo; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppDistributorApplyVo; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppDistributorDto; +import com.yxt.anrui.base.api.basedistributorapply.flow.*; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Project: anrui-base(经销商备案申请)
+ * File: BaseDiscountpackageApplyFeignFallback.java
+ * Class: com.yxt.anrui.base.api.basediscountpackageapply.BaseDiscountpackageApplyFeignFallback
+ * Description: 经销商备案申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-12-08 17:04:45
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class BaseDistributorApplyFeignFallback implements BaseDistributorApplyFeign { + + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean detail(String sid) { + return null; + } + + @Override + public ResultBean save(BaseDistributorApplyDto dto) { + return null; + } + + @Override + public ResultBean deleteBySids(String[] sids) { + return null; + } + + @Override + public ResultBean selectMangerByDeptSid(String deptSid) { + return null; + } + + @Override + public ResultBean submitRecordApplication(SubmitBaseDistributorApplyDto dto) { + return null; + } + + @Override + public ResultBean complete(BaseDistributorApplyCompleteDto dto) { + return null; + } + + @Override + public ResultBean companyToDivisionOperate(BaseDistributorApplyCompleteDto query) { + return null; + } + + @Override + public ResultBean revokeProcess(BaseDistributorApplyTaskQuery query) { + return null; + } + + @Override + public ResultBean taskReject(BaseDistributorApplyTaskQuery query) { + return null; + } + + @Override + public ResultBean breakProcess(BaseDistributorApplyTaskQuery query) { + return null; + } + + @Override + public ResultBean flowRecord(String procInsId) { + return null; + } + + @Override + public ResultBean> getNextNodesForSubmit(GetNodeQuery query) { + return null; + } + + @Override + public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { + return null; + } + + @Override + public ResultBean> getSalesDept(String userSid, String orgPath) { + return null; + } + + @Override + public ResultBean saveDistributor(AppDistributorDto dto) { + return null; + } + + @Override + public ResultBean getDistributor1(String sid, String orgPath, String userSid) { + return null; + } + + @Override + public ResultBean getDistributor2(String sid, String orgPath, String userSid) { + return null; + } + + @Override + public ResultBean> getDistributorApplyList(PagerQuery pagerQuery) { + return null; + } + + @Override + public ResultBean deleteDistributor2(String sid) { + return null; + } + + @Override + public ResultBean submitDistributor(AppSubmitApplyDto dto) { + return null; + } +} \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApplyQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApplyQuery.java new file mode 100644 index 0000000000..49f78be47e --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApplyQuery.java @@ -0,0 +1,41 @@ +package com.yxt.anrui.base.api.basedistributorapply; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/18 8:47 + */ +@Data +public class BaseDistributorApplyQuery implements Query { + @ApiModelProperty("申请人") + private String applyName; // 申请人 + @ApiModelProperty("销售专员") + private String salesman; // 销售专员 + @ApiModelProperty("申请开始日期") + private String applyStartDate; // 申请日期 + @ApiModelProperty("申请结束日期") + private String applyEndDate; // 申请日期 + @ApiModelProperty("申请部门") + private String dept; + @ApiModelProperty("经销商") + private String distributor; + @ApiModelProperty("有效期") + private String effectiveStartDate; + @ApiModelProperty("有效期") + private String effectiveEndDate; + @ApiModelProperty("分公司") + private String company; // 使用组织名称 + + @ApiModelProperty("组织全路径") + private String orgPath; + @ApiModelProperty("菜单sid") + private String menuSid; + @ApiModelProperty("菜单url") + private String menuUrl; + @ApiModelProperty("用户sid") + private String userSid; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApplyVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApplyVo.java new file mode 100644 index 0000000000..ddf8127b15 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApplyVo.java @@ -0,0 +1,39 @@ +package com.yxt.anrui.base.api.basedistributorapply; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/18 8:31 + */ +@Data +public class BaseDistributorApplyVo implements Vo { + private String sid; + @ApiModelProperty("申请人") + private String applyName; // 申请人 + @ApiModelProperty("销售专员") + private String salesman; // 销售专员 + @ApiModelProperty("申请日期") + private String applyDate; // 申请日期 + @ApiModelProperty("申请部门") + private String dept; + @ApiModelProperty("经销商") + private String distributor; + @ApiModelProperty("有效期") + private String effectiveDate; + @ApiModelProperty("分公司") + private String company; // 使用组织名称 + @ApiModelProperty("流程定义的id") + private String procDefId; // 流程定义的id + @ApiModelProperty("流程实例的sid") + private String procInstId; // 流程实例的sid + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("备注") + private String remarks; // 备注 + + +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseSalesManger.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseSalesManger.java new file mode 100644 index 0000000000..941259fc53 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseSalesManger.java @@ -0,0 +1,17 @@ +package com.yxt.anrui.base.api.basedistributorapply; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/18 16:50 + */ +@Data +public class BaseSalesManger { + @ApiModelProperty("销售经理主管") + private String manage; + @ApiModelProperty("销售经理主管sid") + private String manageSid; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/flow/AppSubmitApplyDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/flow/AppSubmitApplyDto.java new file mode 100644 index 0000000000..37803c2400 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/flow/AppSubmitApplyDto.java @@ -0,0 +1,23 @@ +package com.yxt.anrui.base.api.basedistributorapply.flow; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppDistributorDto; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/7/14 9:15 + */ +@Data +public class AppSubmitApplyDto extends AppDistributorDto { + + @ApiModelProperty("任务id") + private String taskId; + @ApiModelProperty("流程实例id") + @JsonProperty("procInsId") + private String instanceId; + +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/flow/BaseDistributorApplyCompleteDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/flow/BaseDistributorApplyCompleteDto.java new file mode 100644 index 0000000000..d7250a0880 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/flow/BaseDistributorApplyCompleteDto.java @@ -0,0 +1,41 @@ +package com.yxt.anrui.base.api.basedistributorapply.flow; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.util.Map; + +/** + * @Author dimengzhe + * @Date 2022/6/28 9:01 + * @Description + */ +@Data +public class BaseDistributorApplyCompleteDto implements Dto { + private static final long serialVersionUID = 3240453987322803352L; + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @ApiModelProperty(value = "用户全路径sid") + private String orgSidPath; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id") + @NotBlank(message = "参数错误:instanceId") + private String instanceId; + @ApiModelProperty(value = "意见") + @NotBlank(message = "参数错误:comment") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + @ApiModelProperty(value = "分支字段及业务字段") + private Map formVariables; + +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/flow/BaseDistributorApplyTaskQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/flow/BaseDistributorApplyTaskQuery.java new file mode 100644 index 0000000000..8f67a247e3 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/flow/BaseDistributorApplyTaskQuery.java @@ -0,0 +1,56 @@ +package com.yxt.anrui.base.api.basedistributorapply.flow; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/6/28 17:29 + * @Description 终止、撤回、驳回查询参数 + */ +@Data +public class BaseDistributorApplyTaskQuery implements Query { + private static final long serialVersionUID = -4006020771892400451L; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("任务Id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + /** + * 终止、驳回 + */ + @ApiModelProperty("任务意见") + private String comment; + /** + * 终止、撤回、驳回 + */ + @ApiModelProperty("用户Sid") + private String userSid; + /** + * 终止 + */ + @ApiModelProperty("流程实例Id") + private String instanceId; + /*@ApiModelProperty("用户Id") + private String userId; + @ApiModelProperty("节点") + private String targetKey; + @ApiModelProperty("流程变量信息") + private Map values = new HashMap<>(); + @ApiModelProperty("审批人") + private String assignee; + @ApiModelProperty("候选人") + private List candidateUsers = new ArrayList<>(); + @ApiModelProperty("审批组") + private List candidateGroups = new ArrayList<>();*/ +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/flow/GetNodeQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/flow/GetNodeQuery.java new file mode 100644 index 0000000000..57657f5497 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/flow/GetNodeQuery.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.base.api.basedistributorapply.flow; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Map; + +/** + * @Author dimengzhe + * @Date 2022/6/28 10:42 + * @Description + */ +@Data +public class GetNodeQuery implements Query { + private static final long serialVersionUID = -5674867230708197611L; + + @ApiModelProperty(value = "环节定义id") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + + @ApiModelProperty(value = "分支字段及业务字段") + private Map formVariables; + +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/flow/GetNodeVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/flow/GetNodeVo.java new file mode 100644 index 0000000000..4b0fff81a9 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/flow/GetNodeVo.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.base.api.basedistributorapply.flow; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/6/28 11:09 + * @Description + */ +@Data +public class GetNodeVo implements Vo { + private static final long serialVersionUID = 8802774014747063504L; + @ApiModelProperty(value = "节点名称") + private String name; + @ApiModelProperty(value = "节点id") + private String id; + @ApiModelProperty(value = "审批组") + private List candidateGroups; + @ApiModelProperty(value = "是否是最后环节") + private String endTask; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/flow/SubmitBaseDistributorApplyDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/flow/SubmitBaseDistributorApplyDto.java new file mode 100644 index 0000000000..bb06e7dc2d --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/flow/SubmitBaseDistributorApplyDto.java @@ -0,0 +1,22 @@ +package com.yxt.anrui.base.api.basedistributorapply.flow; + +import com.yxt.anrui.base.api.basedistributor.BaseDistributorDto; +import com.yxt.anrui.base.api.basedistributorapply.BaseDistributorApplyDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/6/27 13:38 + * @Description + */ +@Data +public class SubmitBaseDistributorApplyDto extends BaseDistributorApplyDto { + private static final long serialVersionUID = 378585162071125756L; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务id") + private String taskId; + @ApiModelProperty("业务sid") + private String sid; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendix.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendix.java new file mode 100644 index 0000000000..54b4c13ae0 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendix.java @@ -0,0 +1,40 @@ +package com.yxt.anrui.base.api.basedistributorapplyappendix; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel(value = "经销商备案资料", description = "经销商备案资料") +@TableName("base_distributor_apply_appendix") +@Data +public class BaseDistributorApplyAppendix extends BaseEntity { + + private static final long serialVersionUID = 3692073826416165453L; + + @ApiModelProperty("文件名(陕汽必须字段)") + private String fileName; + + @ApiModelProperty("文件类型(陕汽必须字段)") + private String fileType; + + @ApiModelProperty("上传人(陕汽必须字段)") + private String name; + + @ApiModelProperty("关联业务对象sid(陕汽必须字段)") + private String linkSid; + + @ApiModelProperty("附件类型(陕汽必须字段)") + private String attachType; + + @ApiModelProperty("文件大小(陕汽必须字段)") + private String fileSize; + + @ApiModelProperty("文件路径(陕汽必须字段)") + private String filePath; + +// @ApiModelProperty("关联经销商sid(陕汽必须字段)") +// private String distributorSid; + +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixDto.java new file mode 100644 index 0000000000..6d09573cb6 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixDto.java @@ -0,0 +1,38 @@ +package com.yxt.anrui.base.api.basedistributorapplyappendix; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@ApiModel(value = "经销商备案资料 数据传输对象", description = "经销商备案资料 数据传输对象") +@Data +public class BaseDistributorApplyAppendixDto implements Dto { + + private static final long serialVersionUID = -2217543094762966534L; + @ApiModelProperty(value = "文件名", required = true) + private String fileName; + + @ApiModelProperty(value = "文件类型", required = true) + private String fileType; + @ApiModelProperty(value = "经销商的sid", required = true) + private String linkSid; + @ApiModelProperty(value = "文件大小", required = true) + private String fileSize; + + @ApiModelProperty(value = "文件路径", required = true) + private String filePath; + + @ApiModelProperty(value = "上传人", required = true) + private String name; + + @ApiModelProperty(value = "上传时间", required = true) + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date createTime; + +// @ApiModelProperty("关联经销商sid(陕汽必须字段)") +// private String distributorSid; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixFallback.java new file mode 100644 index 0000000000..27a5d08f7e --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixFallback.java @@ -0,0 +1,55 @@ +package com.yxt.anrui.base.api.basedistributorapplyappendix; + +import com.yxt.common.core.result.FileUploadResult; +import com.yxt.common.core.result.ResultBean; +import org.springframework.stereotype.Component; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; + + +@Component +public class BaseDistributorApplyAppendixFallback implements BaseDistributorApplyAppendixFeign { + + @Override + public ResultBean> list(BaseDistributorApplyAppendixOneQuery query) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui-base/basedistributorappendix/list无法访问"); + } + + @Override + public ResultBean save(BaseDistributorApplyAppendixDto dto) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui-base/basedistributorappendix/save无法访问"); + } + + @Override + public ResultBean update(BaseDistributorApplyAppendixDto dto, String sid) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui-base/basedistributorappendix/update无法访问"); + } + + @Override + public ResultBean deleteBySids(String sidsList) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui-base/basedistributorappendix/deleteBySids无法访问"); + } + + @Override + public ResultBean uploadImage(MultipartFile file) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui-base/basedistributorappendix/uploadImage无法访问"); + } + + @Override + public ResultBean deleteFilesOss(String fullPath) { + return null; + } + + @Override + public void download(HttpServletResponse response, String path) throws IOException { + + } +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixFeign.java new file mode 100644 index 0000000000..46b2ff8a94 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixFeign.java @@ -0,0 +1,58 @@ +package com.yxt.anrui.base.api.basedistributorapplyappendix; + +import com.yxt.common.core.result.FileUploadResult; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; + +@Api(tags = "经销商备案资料") +@FeignClient( + contextId = "anrui-base-BaseDistributorApplyAppendix", + name = "anrui-base", + path = "v1/basedistributorapplyappendix", + fallback = BaseDistributorApplyAppendixFallback.class) +public interface BaseDistributorApplyAppendixFeign { + + @ApiOperation("查询备案资料信息列表(已测试)") + @GetMapping("/list") + public ResultBean> list(BaseDistributorApplyAppendixOneQuery query); + + @ApiOperation("添加备案资料信息") + @PostMapping("/save") + public ResultBean save(@RequestBody BaseDistributorApplyAppendixDto dto); + + @ApiOperation("修改备案资料信息(已测试)") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody BaseDistributorApplyAppendixDto dto, @PathVariable("sid") String sid); + + @ApiOperation("批量删除备案资料信息(已测试)") + @DeleteMapping("/deleteBySids") + @ApiImplicitParam(name = "sidsList", value = "备案资料sid,若多个sid,以英文逗号分割") + public ResultBean deleteBySids(@RequestParam("sidsList") String sidsList); + + @ApiOperation(value = "备案资料上传") + @ApiImplicitParam(name = "file", value = "文件", required = true, dataType = "MultipartFile", dataTypeClass = MultipartFile.class) + @PostMapping("/upload") + public ResultBean uploadImage(@RequestParam(value = "file") MultipartFile file); + + + @ApiOperation(value = "移除文件") + @ApiImplicitParam(name = "fullPath", value = "文件全路径", required = true, dataTypeClass = String.class) + @PostMapping("/deleteFilesOss") + ResultBean deleteFilesOss(@RequestParam(value = "fullPath") String fullPath); + + + @ApiOperation(value = "下载") + @ApiImplicitParam(name = "path", value = "文件全路径", required = true, dataTypeClass = String.class) + @PostMapping("/download") + void download(HttpServletResponse response, @RequestParam(value = "path") String path) throws IOException; + +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixOneQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixOneQuery.java new file mode 100644 index 0000000000..e1747c0603 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixOneQuery.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.base.api.basedistributorapplyappendix; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel(value = "经销商备案资料 查询条件", description = "经销商备案资料 查询条件") +@Data +public class BaseDistributorApplyAppendixOneQuery implements Query { + + @ApiModelProperty("sid") + private String sid; + + @ApiModelProperty("文件名称") + private String fileName; + +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixQuery.java new file mode 100644 index 0000000000..5f26290fac --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixQuery.java @@ -0,0 +1,35 @@ +package com.yxt.anrui.base.api.basedistributorapplyappendix; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel(value = "经销商备案资料 查询条件", description = "经销商备案资料 查询条件") +@Data +public class BaseDistributorApplyAppendixQuery implements Query { + + @ApiModelProperty("文件名(陕汽必须字段)") + private String fileName; + + @ApiModelProperty("文件类型(陕汽必须字段)") + private String fileType; + + @ApiModelProperty("上传人(陕汽必须字段)") + private String name; + + @ApiModelProperty("关联业务对象sid(陕汽必须字段)") + private String linkSid; + + @ApiModelProperty("附件类型(陕汽必须字段)") + private String attachType; + + @ApiModelProperty("文件大小(陕汽必须字段)") + private String fileSize; + + @ApiModelProperty("文件路径(陕汽必须字段)") + private String filePath; + +// @ApiModelProperty("关联经销商sid(陕汽必须字段)") +// private String distributorSid; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixUploadVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixUploadVo.java new file mode 100644 index 0000000000..1722d36d53 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixUploadVo.java @@ -0,0 +1,34 @@ +package com.yxt.anrui.base.api.basedistributorapplyappendix; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author dimengzhe + * @date 2021/10/14 17:47 + * @description + */ +@Data +public class BaseDistributorApplyAppendixUploadVo implements Vo { + private static final long serialVersionUID = -8636977039071495698L; + + @ApiModelProperty("上传的原文件名") + private String sourceFileName; + @ApiModelProperty("文件的相对路径") + private String filePath; + @ApiModelProperty("文件完整的访问URL") + private String fileFullPath; + @ApiModelProperty("文件大小") + private String size; + @ApiModelProperty(value = "文件类型") + private String fileType; + + public BaseDistributorApplyAppendixUploadVo(String sourceFileName, String filePath, String fullUrl, String size, String fileType) { + this.sourceFileName = sourceFileName; + this.filePath = filePath; + this.fileFullPath = fullUrl; + this.size = size; + this.fileType = fileType; + } +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixVo.java new file mode 100644 index 0000000000..3dc9f6ff3a --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapplyappendix/BaseDistributorApplyAppendixVo.java @@ -0,0 +1,51 @@ +package com.yxt.anrui.base.api.basedistributorapplyappendix; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@ApiModel(value = "经销商备案资料 视图数据对象", description = "经销商备案资料 视图数据对象") +@Data +public class BaseDistributorApplyAppendixVo implements Vo { + + @ApiModelProperty(value = "用户sid") + private String createBySid; + + @ApiModelProperty(value = "上传人") + private String staffName; + + @ApiModelProperty("sid") + private String sid; + + @ApiModelProperty("文件名(陕汽必须字段)") + private String fileName; + + @ApiModelProperty("文件类型(陕汽必须字段)") + private String fileType; + + @ApiModelProperty("上传人(陕汽必须字段)") + private String name; + + @ApiModelProperty("关联业务对象sid(陕汽必须字段)") + private String linkSid; + + @ApiModelProperty("附件类型(陕汽必须字段)") + private String attachType; + + @ApiModelProperty("文件大小(陕汽必须字段)") + private String fileSize; + + @ApiModelProperty("文件路径(陕汽必须字段)") + private String filePath; + + @ApiModelProperty(value = "上传时间", required = true) + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date createTime; + +// @ApiModelProperty("关联经销商sid(陕汽必须字段)") +// private String distributorSid; +} diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorMapper.java index 2aa5b669b5..d444d71f23 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorMapper.java @@ -40,7 +40,7 @@ public interface BaseDistributorMapper extends BaseMapper { * @param qw * @return */ - IPage pagerList(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + IPage pagerList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); /** * 根据证件号码(统一号码)查询是否唯一 diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorMapper.xml index beeed4c8f7..b6c4ef14eb 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorMapper.xml @@ -3,24 +3,32 @@ SELECT bd.sid, bd.disName, - bd.nodeState as state, if(length(bd.pDistributorName)>0,bd.pDistributorName,'无') as pDistributorName, bd.registNum, bd.registDetailAddress, - bd.invoPhone, - bd.nodeState, - DATE_FORMAT(bd.setUpTime, '%Y-%m-%d') as setUpTime + DATE_FORMAT(bd.setUpTime, '%Y-%m-%d') as setUpTime, + bd.isDelivery, + bd.legalMobile as invoPhone, + case bd.filingState + when 0 then '未备案' + when 1 then '已备案' + when 2 then '备案中' end as `state` FROM base_distributor bd ${ew.sqlSegment} @@ -168,7 +179,10 @@ bd.legalMobile, bd.mobile, bd.sid distributorSid, - bd.contract + bd.contract, + bd.isDeliveryKey, + bd.isDelivery, + bd.effectiveDate from base_distributor bd where bd.sid = #{sid} diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorRest.java index 70b65ddbdf..6ac06114ed 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorRest.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.base.api.basedistributor.*; import com.yxt.anrui.base.api.basedistributor.app.*; import com.yxt.anrui.base.api.basedistributor.flow.*; +import com.yxt.anrui.base.api.basedistributorapply.BaseDistributorApplyDetailsVo; import com.yxt.anrui.base.biz.basedistributorappendix.BaseDistributorAppendixService; import com.yxt.anrui.base.biz.basedistributorlegal.BaseDistributorLegalService; import com.yxt.anrui.base.biz.basedistributorperson.BaseDistributorPersonService; @@ -74,10 +75,8 @@ public class BaseDistributorRest implements BaseDistributorFeign { @Override public ResultBean> pagerList(@RequestBody PagerQuery pagerQuery) { ResultBean> rb = ResultBean.fireFail(); - IPage page = baseDistributorService.pageList(pagerQuery); - PagerVo pv = new PagerVo<>(); - PagerVo pv1 = PagerUtil.pageToVo(page, pv); - return rb.success().setData(pv1); + PagerVo pv = baseDistributorService.pageList(pagerQuery); + return rb.success().setData(pv); } @Override @@ -106,8 +105,8 @@ public class BaseDistributorRest implements BaseDistributorFeign { for (int i = 0; i < sidList.size(); i++) { String sid = sidList.get(i); BaseDistributor entity = baseDistributorService.fetchBySid(sid); - if (!entity.equals("待提交")) { - return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败"); + if (entity.getFilingState() != 0) { + return rb.setMsg("删除的数据中包含已备案或备案中的数据,删除失败"); } int i1 = baseDistributorService.selByPDisSid(sid); if (i1 > 0) { @@ -197,65 +196,77 @@ public class BaseDistributorRest implements BaseDistributorFeign { return rb.success().setData(list); } - //---------------------------------------------- 流程接口 --------------------------------------------------/ @Override - public ResultBean submitRecordApplication(SubmitBaseDistributorApplyDto dto) { - return baseDistributorService.submitRecordApplication(dto); - } - - @Override - public ResultBean complete(BaseDistributorCompleteDto dto) { - BusinessVariables bv = new BusinessVariables(); - BeanUtil.copyProperties(dto, bv); - String isDecide = ""; - if (StringUtils.isNotBlank(dto.getIsDecided())) { - isDecide = dto.getIsDecided(); - } - bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId()); - return baseDistributorService.complete(bv,isDecide); - } - - @Override - public ResultBean companyToDivisionOperate(BaseDistributorCompleteDto query) { - BusinessVariables bv = new BusinessVariables(); - BeanUtil.copyProperties(query, bv); - bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId()); - return baseDistributorService.companyToDivisionOperate(bv); - } - - @Override - public ResultBean revokeProcess(BaseDistributorTaskQuery query) { - return baseDistributorService.revokeProcess(query); - } - - @Override - public ResultBean taskReject(BaseDistributorTaskQuery query) { - - return baseDistributorService.taskReject(query); - } - - @Override - public ResultBean breakProcess(BaseDistributorTaskQuery query) { - return baseDistributorService.breakProcess(query); - } - - @Override - public ResultBean flowRecord(String procInsId) { - - return baseDistributorService.flowRecord(procInsId); - } - - @Override - public ResultBean> getNextNodesForSubmit(GetNodeQuery query) { - - return baseDistributorService.getNextNodesForSubmit(query); - } - - @Override - public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { - - return baseDistributorService.getPreviousNodesForReject(query); - } + public ResultBean recordInfo(String sid) { + return baseDistributorService.recordInfo(sid); + } + + + @Override + public ResultBean setRiskState(RiskStateQuery query) { + return baseDistributorService.setRiskState(query); + } + + +// //---------------------------------------------- 流程接口 --------------------------------------------------/ +// @Override +// public ResultBean submitRecordApplication(SubmitBaseDistributorApplyDto dto) { +// return baseDistributorService.submitRecordApplication(dto); +// } +// +// @Override +// public ResultBean complete(BaseDistributorCompleteDto dto) { +// BusinessVariables bv = new BusinessVariables(); +// BeanUtil.copyProperties(dto, bv); +// String isDecide = ""; +// if (StringUtils.isNotBlank(dto.getIsDecided())) { +// isDecide = dto.getIsDecided(); +// } +// bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId()); +// return baseDistributorService.complete(bv,isDecide); +// } +// +// @Override +// public ResultBean companyToDivisionOperate(BaseDistributorCompleteDto query) { +// BusinessVariables bv = new BusinessVariables(); +// BeanUtil.copyProperties(query, bv); +// bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId()); +// return baseDistributorService.companyToDivisionOperate(bv); +// } +// +// @Override +// public ResultBean revokeProcess(BaseDistributorTaskQuery query) { +// return baseDistributorService.revokeProcess(query); +// } +// +// @Override +// public ResultBean taskReject(BaseDistributorTaskQuery query) { +// +// return baseDistributorService.taskReject(query); +// } +// +// @Override +// public ResultBean breakProcess(BaseDistributorTaskQuery query) { +// return baseDistributorService.breakProcess(query); +// } +// +// @Override +// public ResultBean flowRecord(String procInsId) { +// +// return baseDistributorService.flowRecord(procInsId); +// } +// +// @Override +// public ResultBean> getNextNodesForSubmit(GetNodeQuery query) { +// +// return baseDistributorService.getNextNodesForSubmit(query); +// } +// +// @Override +// public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { +// +// return baseDistributorService.getPreviousNodesForReject(query); +// } /******************************************************************************************************/ @Override @@ -347,9 +358,9 @@ public class BaseDistributorRest implements BaseDistributorFeign { return baseDistributorService.selectDisListBySid(sid); } - /*-----------------------------------移动端流程------------------------------------------------*/ - @Override - public ResultBean submitDistributor(AppSubmitDistributorApplyDto dto) { - return baseDistributorService.submitDistributor(dto); - } +// /*-----------------------------------移动端流程------------------------------------------------*/ +// @Override +// public ResultBean submitDistributor(AppSubmitDistributorApplyDto dto) { +// return baseDistributorService.submitDistributor(dto); +// } } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorService.java index 1b4a520092..d985c49fd1 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorService.java @@ -1,9 +1,11 @@ package com.yxt.anrui.base.biz.basedistributor; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.yxt.anrui.base.api.basedistributor.*; import com.yxt.anrui.base.api.basedistributor.app.*; @@ -11,16 +13,21 @@ import com.yxt.anrui.base.api.basedistributor.flow.*; import com.yxt.anrui.base.api.basedistributorappendix.BaseDistributorAppendix; import com.yxt.anrui.base.api.basedistributorappendix.BaseDistributorAppendixDto; import com.yxt.anrui.base.api.basedistributorappendix.BaseDistributorAppendixVo; +import com.yxt.anrui.base.api.basedistributorapply.BaseDistributorApply; +import com.yxt.anrui.base.api.basedistributorapply.BaseDistributorApplyDetailsVo; import com.yxt.anrui.base.api.basedistributorstaff.BaseDistributorStaff; import com.yxt.anrui.base.api.basedistributorstaff.BaseDistributorStaffDto; import com.yxt.anrui.base.api.basedistributorstaff.BaseDistributorStaffVo; import com.yxt.anrui.base.api.basemiddleman.BaseMiddleman; import com.yxt.anrui.base.biz.basedistributorappendix.BaseDistributorAppendixService; +import com.yxt.anrui.base.biz.basedistributorapply.BaseDistributorApplyService; import com.yxt.anrui.base.biz.basedistributorstaff.BaseDistributorStaffService; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempListQuery; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempListVo; import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingBillListVo; +import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo; +import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDto; import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingFeign; import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery; import com.yxt.anrui.flowable.api.flow.FlowableFeign; @@ -35,12 +42,19 @@ 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.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.portal.api.sysuser.UserRoleQuery; +import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy; import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.LoanFinPolicyRecordApply; +import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameter; +import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterFeign; +import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterQuery; +import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterVo; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.DateUtils; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.query.PagerQuery; @@ -52,6 +66,7 @@ import com.yxt.messagecenter.api.message.MessageFlowableQuery; import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.*; import java.util.concurrent.*; @@ -99,30 +114,113 @@ public class BaseDistributorService extends MybatisBaseService pageList(PagerQuery pagerQuery) { - IPage page = PagerUtil.queryToPage(pagerQuery); - QueryWrapper qw = buildQueryWrapper(pagerQuery.getParams()); - IPage baseDistributorVoIPage = baseMapper.pagerList(page, qw); - List baseDistributorVo = new ArrayList<>(); - List records = baseDistributorVoIPage.getRecords(); - /*for (BaseDistributorVo record : records) { - String sid = record.getSid(); - int i = baseMapper.selByPDisSid(sid); - if (i > 0){ - record.setIsRelation("1"); - }else { - record.setIsRelation("0"); + public PagerVo pageList(PagerQuery pq) { + IPage page = PagerUtil.queryToPage(pq); + BaseDistributorQuery pagerQuery = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //======================= + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(pagerQuery.getOrgPath()); + privilegeQuery.setMenuSid(pagerQuery.getMenuSid()); + privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl()); + privilegeQuery.setUserSid(pagerQuery.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (org.apache.commons.lang3.StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = pagerQuery.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("bd.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("bd.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("bd.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("bd.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("bd.createBySid", pagerQuery.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; } - }*/ - String relationState = pagerQuery.getParams().getRelationState(); - if (StringUtils.isNotBlank(relationState)) { + } else { + PagerVo p = new PagerVo<>(); + return p; + } + //======================= + qw.eq("bd.isDelete", "0"); + if (StringUtils.isNotBlank(pagerQuery.getDisName())) {//经销商名称 + qw.like("bd.disName", pagerQuery.getDisName()); + } + if (StringUtils.isNotBlank(pagerQuery.getRegistNum())) {//统一社会信用代码 + qw.like("bd.registNum", pagerQuery.getRegistNum()); + } + if (StringUtils.isNotBlank(pagerQuery.getLegalName())) {//实际控制人姓名 + qw.like("bd.legalName", pagerQuery.getLegalName()); + } + if (StringUtils.isNotBlank(pagerQuery.getIsGuaranteeKey())) {//是否担保 + qw.eq("bd.isGuaranteeKey", pagerQuery.getIsGuaranteeKey()); + } + if (StringUtils.isNotBlank(pagerQuery.getIsDeliveryKey())) {//是否投放展车 + qw.eq("bd.isDeliveryKey", pagerQuery.getIsDeliveryKey()); + } + if (StringUtils.isNotBlank(pagerQuery.getPDistributorSid())) {//所属经销商 + qw.eq("bd.pDistributorSid", pagerQuery.getPDistributorSid()); + } + if (StringUtils.isNotBlank(pagerQuery.getDisLevelKey())) {//级别 + qw.eq("bd.disLevelKey", pagerQuery.getDisLevelKey()); + } + if (StringUtils.isNotBlank(pagerQuery.getRelationState())) {//关联状态 + qw.eq("bd.pDistributorName", "无"); + } + if (StringUtils.isNotBlank(pagerQuery.getCompany())) {//分公司 + qw.like("bd.useOrgName", pagerQuery.getCompany()); + } + if (StringUtils.isNotBlank(pagerQuery.getFilingStateKey())) {//备案状态 + qw.eq("bd.filingState", pagerQuery.getFilingStateKey()); + } + if (StringUtils.isNotBlank(pagerQuery.getRiskStateKey())) {//风控状态 + qw.eq("bd.riskState", pagerQuery.getRiskStateKey()); + } + if (StringUtils.isNotBlank(pagerQuery.getDept())) {//销售部门 + qw.like("ba.dept", pagerQuery.getDept()); + } + if (StringUtils.isNotBlank(pagerQuery.getSaesman())) {//销售专员 + qw.like("ba.salesman", pagerQuery.getSaesman()); + } + String setUpStartTime = pagerQuery.getSetUpStartTime(); + String setUpEndTime = pagerQuery.getSetUpEndTime(); + qw.apply(StringUtils.isNotBlank(setUpStartTime), "date_format (bd.setUpTime,'%Y-%m-%d') >= date_format('" + setUpStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(setUpEndTime), "date_format (bd.setUpTime,'%Y-%m-%d') <= date_format('" + setUpEndTime + "','%Y-%m-%d')" + ); + qw.orderByDesc("bd.createTime"); + + IPage pagging = baseMapper.pagerList(page, qw); + List baseDistributorVo = new ArrayList<>(); + List records = pagging.getRecords(); + records.removeAll(Collections.singleton(null)); + if (StringUtils.isNotBlank(pagerQuery.getRelationState())) { + String relationState = pagerQuery.getRelationState(); if (relationState.equals("0")) {//未关联 for (BaseDistributorVo record : records) { String sid = record.getSid(); @@ -131,7 +229,7 @@ public class BaseDistributorService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); + return p; } /** @@ -244,63 +345,100 @@ public class BaseDistributorService extends MybatisBaseService baseDistributorStaffVo = baseDistributorStaffService.selbyDistributorSid(sid); baseDistributorDetailsVo.setPerList(baseDistributorStaffVo); String[] split = s.split(","); for (String attachType : split) { if (attachType.equals("营业执照")) { List baseDistributorAppendixVo = baseDistributorAppendixService.selByLinkSidAndAttachType(sid, attachType); + List strings = new ArrayList<>(); for (BaseDistributorAppendixVo distributorAppendixVo : baseDistributorAppendixVo) { String filePath = distributorAppendixVo.getFilePath(); String urlPrefix = fileUploadComponent.getUrlPrefix(); filePath = urlPrefix + filePath; distributorAppendixVo.setFilePath(filePath); + strings.add(filePath); } - baseDistributorDetailsVo.setYyzzList(baseDistributorAppendixVo); + baseDistributorDetailsVo.setYyzzList(strings); } else if (attachType.equals("道路运输许可证")) { List baseDistributorAppendixVo = baseDistributorAppendixService.selByLinkSidAndAttachType(sid, attachType); + List strings = new ArrayList<>(); for (BaseDistributorAppendixVo distributorAppendixVo : baseDistributorAppendixVo) { String filePath = distributorAppendixVo.getFilePath(); String urlPrefix = fileUploadComponent.getUrlPrefix(); filePath = urlPrefix + filePath; distributorAppendixVo.setFilePath(filePath); + strings.add(filePath); } - baseDistributorDetailsVo.setDlysxkzList(baseDistributorAppendixVo); + baseDistributorDetailsVo.setDlysxkzList(strings); } else if (attachType.equals("法人身份证")) { List baseDistributorAppendixVo = baseDistributorAppendixService.selByLinkSidAndAttachType(sid, attachType); + List strings = new ArrayList<>(); for (BaseDistributorAppendixVo distributorAppendixVo : baseDistributorAppendixVo) { String filePath = distributorAppendixVo.getFilePath(); String urlPrefix = fileUploadComponent.getUrlPrefix(); filePath = urlPrefix + filePath; distributorAppendixVo.setFilePath(filePath); + strings.add(filePath); } - baseDistributorDetailsVo.setFrsfzList(baseDistributorAppendixVo); + baseDistributorDetailsVo.setFrsfzList(strings); } else if (attachType.equals("其他资料")) { List baseDistributorAppendixVo = baseDistributorAppendixService.selByLinkSidAndAttachType(sid, attachType); + List strings = new ArrayList<>(); for (BaseDistributorAppendixVo distributorAppendixVo : baseDistributorAppendixVo) { String filePath = distributorAppendixVo.getFilePath(); String urlPrefix = fileUploadComponent.getUrlPrefix(); filePath = urlPrefix + filePath; distributorAppendixVo.setFilePath(filePath); + strings.add(filePath); } - baseDistributorDetailsVo.setQtzlList(baseDistributorAppendixVo); + baseDistributorDetailsVo.setQtzlList(strings); + } else if (attachType.equals("合作协议")) { + List baseDistributorAppendixVo = baseDistributorAppendixService.selByLinkSidAndAttachType(sid, attachType); + List strings = new ArrayList<>(); + for (BaseDistributorAppendixVo distributorAppendixVo : baseDistributorAppendixVo) { + String filePath = distributorAppendixVo.getFilePath(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + filePath; + distributorAppendixVo.setFilePath(filePath); + strings.add(filePath); + } + baseDistributorDetailsVo.setHzxyList(strings); } } return baseDistributorDetailsVo; @@ -344,10 +482,10 @@ public class BaseDistributorService extends MybatisBaseService yyzzList = dto.getYyzzList(); - List dlysxkzList = dto.getDlysxkzList(); - List frsfzList = dto.getFrsfzList(); - List qtzlList = dto.getQtzlList(); +// List yyzzList = dto.getYyzzList(); +// List dlysxkzList = dto.getDlysxkzList(); +// List frsfzList = dto.getFrsfzList(); +// List qtzlList = dto.getQtzlList(); List perList = dto.getPerList(); int count = selectNumCode(registNum); // if (count > 0) { @@ -362,7 +500,7 @@ public class BaseDistributorService extends MybatisBaseService 0) { @@ -390,74 +546,74 @@ public class BaseDistributorService extends MybatisBaseService -1) { - filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); - } - entity.setFilePath(filePath); - entity.setLinkSid(sid); - entity.setAttachType("营业执照"); - boolean save = baseDistributorAppendixService.save(entity); - if (!save) { - return rb.setMsg("营业执照附件保存失败"); - } - } - for (BaseDistributorAppendixDto baseDistributorAppendixDto : dlysxkzList) {//道路运输许可证附件保存 - BaseDistributorAppendix entity = new BaseDistributorAppendix(); - BeanUtil.copyProperties(baseDistributorAppendixDto, entity); - entity.setCreateBySid(dto.getUserSid()); - entity.setCreateTime(new Date()); - String filePath = baseDistributorAppendixDto.getFilePath(); - if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { - filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); - } - entity.setFilePath(filePath); - entity.setLinkSid(sid); - entity.setAttachType("道路运输许可证"); - boolean save = baseDistributorAppendixService.save(entity); - if (!save) { - return rb.setMsg("道路运输许可证附件保存失败"); - } - } - for (BaseDistributorAppendixDto baseDistributorAppendixDto : frsfzList) {//法人身份证附件保存 - BaseDistributorAppendix entity = new BaseDistributorAppendix(); - BeanUtil.copyProperties(baseDistributorAppendixDto, entity); - entity.setCreateBySid(dto.getUserSid()); - entity.setCreateTime(new Date()); - String filePath = baseDistributorAppendixDto.getFilePath(); - if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { - filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); - } - entity.setFilePath(filePath); - entity.setLinkSid(sid); - entity.setAttachType("法人身份证"); - boolean save = baseDistributorAppendixService.save(entity); - if (!save) { - return rb.setMsg("法人身份证附件保存失败"); - } - } - for (BaseDistributorAppendixDto baseDistributorAppendixDto : qtzlList) {//其他资料附件保存 - BaseDistributorAppendix entity = new BaseDistributorAppendix(); - BeanUtil.copyProperties(baseDistributorAppendixDto, entity); - entity.setCreateBySid(dto.getUserSid()); - entity.setCreateTime(new Date()); - String filePath = baseDistributorAppendixDto.getFilePath(); - if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { - filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); - } - entity.setFilePath(filePath); - entity.setLinkSid(sid); - entity.setAttachType("其他资料"); - boolean save = baseDistributorAppendixService.save(entity); - if (!save) { - return rb.setMsg("其他资料附件保存失败"); - } - } +// for (BaseDistributorAppendixDto baseDistributorAppendixDto : yyzzList) {//营业执照附件保存 +// BaseDistributorAppendix entity = new BaseDistributorAppendix(); +// BeanUtil.copyProperties(baseDistributorAppendixDto, entity); +// entity.setCreateBySid(dto.getUserSid()); +// entity.setCreateTime(new Date()); +// String filePath = baseDistributorAppendixDto.getFilePath(); +// if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { +// filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); +// } +// entity.setFilePath(filePath); +// entity.setLinkSid(sid); +// entity.setAttachType("营业执照"); +// boolean save = baseDistributorAppendixService.save(entity); +// if (!save) { +// return rb.setMsg("营业执照附件保存失败"); +// } +// } +// for (BaseDistributorAppendixDto baseDistributorAppendixDto : dlysxkzList) {//道路运输许可证附件保存 +// BaseDistributorAppendix entity = new BaseDistributorAppendix(); +// BeanUtil.copyProperties(baseDistributorAppendixDto, entity); +// entity.setCreateBySid(dto.getUserSid()); +// entity.setCreateTime(new Date()); +// String filePath = baseDistributorAppendixDto.getFilePath(); +// if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { +// filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); +// } +// entity.setFilePath(filePath); +// entity.setLinkSid(sid); +// entity.setAttachType("道路运输许可证"); +// boolean save = baseDistributorAppendixService.save(entity); +// if (!save) { +// return rb.setMsg("道路运输许可证附件保存失败"); +// } +// } +// for (BaseDistributorAppendixDto baseDistributorAppendixDto : frsfzList) {//法人身份证附件保存 +// BaseDistributorAppendix entity = new BaseDistributorAppendix(); +// BeanUtil.copyProperties(baseDistributorAppendixDto, entity); +// entity.setCreateBySid(dto.getUserSid()); +// entity.setCreateTime(new Date()); +// String filePath = baseDistributorAppendixDto.getFilePath(); +// if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { +// filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); +// } +// entity.setFilePath(filePath); +// entity.setLinkSid(sid); +// entity.setAttachType("法人身份证"); +// boolean save = baseDistributorAppendixService.save(entity); +// if (!save) { +// return rb.setMsg("法人身份证附件保存失败"); +// } +// } +// for (BaseDistributorAppendixDto baseDistributorAppendixDto : qtzlList) {//其他资料附件保存 +// BaseDistributorAppendix entity = new BaseDistributorAppendix(); +// BeanUtil.copyProperties(baseDistributorAppendixDto, entity); +// entity.setCreateBySid(dto.getUserSid()); +// entity.setCreateTime(new Date()); +// String filePath = baseDistributorAppendixDto.getFilePath(); +// if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { +// filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); +// } +// entity.setFilePath(filePath); +// entity.setLinkSid(sid); +// entity.setAttachType("其他资料"); +// boolean save = baseDistributorAppendixService.save(entity); +// if (!save) { +// return rb.setMsg("其他资料附件保存失败"); +// } +// } String entitySid = baseDistributor.getSid(); return rb.success().setData(entitySid).setMsg("保存成功"); } @@ -468,12 +624,31 @@ public class BaseDistributorService extends MybatisBaseService yyzzList = dto.getYyzzList(); - List dlysxkzList = dto.getDlysxkzList(); - List frsfzList = dto.getFrsfzList(); - List qtzlList = dto.getQtzlList(); +// List yyzzList = dto.getYyzzList(); +// List dlysxkzList = dto.getDlysxkzList(); +// List frsfzList = dto.getFrsfzList(); +// List qtzlList = dto.getQtzlList(); List perList = dto.getPerList(); - updateBySid(dto.toMap(), sid); + int i1 = updateBySid(dto.toMap(), sid); + if (i1 > 0) { + //-------------- 推送维护企业开票信息 ------------------------ + if (StringUtils.isNotBlank(dto.getRegistNum())) { + FinCompanyInvoicingDetailsVo invoicing = finCompanyInvoicingFeign.selectInvoingByTaxpayerNo(dto.getRegistNum()).getData(); + FinCompanyInvoicingDto invoicingDto = new FinCompanyInvoicingDto(); + invoicingDto.setAddress(dto.getRegistDetailAddress()); + invoicingDto.setTaxpayerNo(dto.getRegistNum()); + invoicingDto.setName(dto.getDisName()); + if (null != invoicing) { + invoicingDto.setSid(invoicing.getSid()); + } else { + invoicingDto.setCreateBySid(dto.getUserSid()); + invoicingDto.setOrgSidPath(dto.getOrgSidPath()); + invoicingDto.setUseOrgName(dto.getUseOrgName()); + invoicingDto.setUseOrgSid(dto.getUseOrg()); + } + finCompanyInvoicingFeign.qySaveOrUpdate(invoicingDto); + } + } //判断人员中是否有数据 List baseDistributorStaffList = baseDistributorStaffService.selectBySid(sid); if (baseDistributorStaffList.size() > 0) {//有值,删除 @@ -489,75 +664,75 @@ public class BaseDistributorService extends MybatisBaseService -1) { - filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); - } - entity.setFilePath(filePath); - entity.setLinkSid(sid); - entity.setAttachType("营业执照"); - boolean save = baseDistributorAppendixService.save(entity); - if (!save) { - return rb.setMsg("营业执照附件保存失败"); - } - } - for (BaseDistributorAppendixDto baseDistributorAppendixDto : dlysxkzList) {//道路运输许可证附件保存 - BaseDistributorAppendix entity = new BaseDistributorAppendix(); - BeanUtil.copyProperties(baseDistributorAppendixDto, entity); - entity.setCreateBySid(dto.getUserSid()); - entity.setCreateTime(new Date()); - String filePath = baseDistributorAppendixDto.getFilePath(); - if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { - filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); - } - entity.setFilePath(filePath); - entity.setLinkSid(sid); - entity.setAttachType("道路运输许可证"); - boolean save = baseDistributorAppendixService.save(entity); - if (!save) { - return rb.setMsg("道路运输许可证附件保存失败"); - } - } - for (BaseDistributorAppendixDto baseDistributorAppendixDto : frsfzList) {//法人身份证附件保存 - BaseDistributorAppendix entity = new BaseDistributorAppendix(); - BeanUtil.copyProperties(baseDistributorAppendixDto, entity); - entity.setCreateBySid(dto.getUserSid()); - entity.setCreateTime(new Date()); - String filePath = baseDistributorAppendixDto.getFilePath(); - if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { - filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); - } - entity.setFilePath(filePath); - entity.setLinkSid(sid); - entity.setAttachType("法人身份证"); - boolean save = baseDistributorAppendixService.save(entity); - if (!save) { - return rb.setMsg("法人身份证附件保存失败"); - } - } - for (BaseDistributorAppendixDto baseDistributorAppendixDto : qtzlList) {//其他资料附件保存 - BaseDistributorAppendix entity = new BaseDistributorAppendix(); - BeanUtil.copyProperties(baseDistributorAppendixDto, entity); - entity.setCreateBySid(dto.getUserSid()); - entity.setCreateTime(new Date()); - String filePath = baseDistributorAppendixDto.getFilePath(); - if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { - filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); - } - entity.setFilePath(filePath); - entity.setLinkSid(sid); - entity.setAttachType("其他资料"); - boolean save = baseDistributorAppendixService.save(entity); - if (!save) { - return rb.setMsg("其他资料附件保存失败"); - } - } +// baseDistributorAppendixService.delByLinkSid(sid); +// for (BaseDistributorAppendixDto baseDistributorAppendixDto : yyzzList) {//营业执照附件保存 +// BaseDistributorAppendix entity = new BaseDistributorAppendix(); +// BeanUtil.copyProperties(baseDistributorAppendixDto, entity); +// entity.setCreateBySid(dto.getUserSid()); +// entity.setCreateTime(new Date()); +// String filePath = baseDistributorAppendixDto.getFilePath(); +// if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { +// filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); +// } +// entity.setFilePath(filePath); +// entity.setLinkSid(sid); +// entity.setAttachType("营业执照"); +// boolean save = baseDistributorAppendixService.save(entity); +// if (!save) { +// return rb.setMsg("营业执照附件保存失败"); +// } +// } +// for (BaseDistributorAppendixDto baseDistributorAppendixDto : dlysxkzList) {//道路运输许可证附件保存 +// BaseDistributorAppendix entity = new BaseDistributorAppendix(); +// BeanUtil.copyProperties(baseDistributorAppendixDto, entity); +// entity.setCreateBySid(dto.getUserSid()); +// entity.setCreateTime(new Date()); +// String filePath = baseDistributorAppendixDto.getFilePath(); +// if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { +// filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); +// } +// entity.setFilePath(filePath); +// entity.setLinkSid(sid); +// entity.setAttachType("道路运输许可证"); +// boolean save = baseDistributorAppendixService.save(entity); +// if (!save) { +// return rb.setMsg("道路运输许可证附件保存失败"); +// } +// } +// for (BaseDistributorAppendixDto baseDistributorAppendixDto : frsfzList) {//法人身份证附件保存 +// BaseDistributorAppendix entity = new BaseDistributorAppendix(); +// BeanUtil.copyProperties(baseDistributorAppendixDto, entity); +// entity.setCreateBySid(dto.getUserSid()); +// entity.setCreateTime(new Date()); +// String filePath = baseDistributorAppendixDto.getFilePath(); +// if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { +// filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); +// } +// entity.setFilePath(filePath); +// entity.setLinkSid(sid); +// entity.setAttachType("法人身份证"); +// boolean save = baseDistributorAppendixService.save(entity); +// if (!save) { +// return rb.setMsg("法人身份证附件保存失败"); +// } +// } +// for (BaseDistributorAppendixDto baseDistributorAppendixDto : qtzlList) {//其他资料附件保存 +// BaseDistributorAppendix entity = new BaseDistributorAppendix(); +// BeanUtil.copyProperties(baseDistributorAppendixDto, entity); +// entity.setCreateBySid(dto.getUserSid()); +// entity.setCreateTime(new Date()); +// String filePath = baseDistributorAppendixDto.getFilePath(); +// if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { +// filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); +// } +// entity.setFilePath(filePath); +// entity.setLinkSid(sid); +// entity.setAttachType("其他资料"); +// boolean save = baseDistributorAppendixService.save(entity); +// if (!save) { +// return rb.setMsg("其他资料附件保存失败"); +// } +// } return rb.success().setMsg("修改成功"); } @@ -632,44 +807,83 @@ public class BaseDistributorService extends MybatisBaseService getDistributorListOne(PagerQuery pagerQuery) { - IPage page = PagerUtil.queryToPage(pagerQuery); - BaseDistributorsQuery params = pagerQuery.getParams(); + public PagerVo getDistributorListOne(PagerQuery pq) { + IPage page = PagerUtil.queryToPage(pq); + BaseDistributorsQuery pagerQuery = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); - if (params != null) { - String orgPath = ""; - if (StringUtils.isBlank(params.getOrgPath())) { - orgPath = sysStaffOrgFeign.getPathSidByUserSid(params.getUserSid()).getData(); - qw.eq("bd.useOrg", orgPath); + //======================= + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(pagerQuery.getOrgPath()); + privilegeQuery.setMenuSid(pagerQuery.getMenuSid()); + // privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl()); + privilegeQuery.setUserSid(pagerQuery.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (org.apache.commons.lang3.StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = pagerQuery.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("bd.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("bd.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("bd.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("bd.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("bd.createBySid", pagerQuery.getUserSid()); } else { - orgPath = sysStaffOrgFeign.getOrgSidByPath(params.getOrgPath()).getData(); - qw.eq("bd.useOrg", orgPath); - } - if (StringUtils.isNotBlank(params.getName())) { - qw.like("bd.disName", params.getName()); + PagerVo p = new PagerVo<>(); + return p; } - qw.orderByDesc("bd.id"); - } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + //======================= + if (StringUtils.isNotBlank(pagerQuery.getName())) { + qw.like("bd.disName", pagerQuery.getName()); + } + qw.orderByDesc("bd.id"); +// if (params != null) { +// String orgPath = ""; +// if (StringUtils.isBlank(params.getOrgPath())) { +// orgPath = sysStaffOrgFeign.getPathSidByUserSid(params.getUserSid()).getData(); +// qw.eq("bd.useOrg", orgPath); +// } else { +// orgPath = sysStaffOrgFeign.getOrgSidByPath(params.getOrgPath()).getData(); +// qw.eq("bd.useOrg", orgPath); +// } +// if (StringUtils.isNotBlank(params.getName())) { +// qw.like("bd.disName", params.getName()); +// } +// qw.orderByDesc("bd.id"); +// } IPage pagging = baseMapper.getDistributorListOne(page, qw); List records = pagging.getRecords(); records.removeAll(Collections.singleton(null)); if (!records.isEmpty()) { for (BaseDistributorsVo record : records) { - record.setUpdateBtn(false); + record.setUpdateBtn(true); + record.setReportBtn(true); + record.setDeleteBtn(true); if (StringUtils.isNotBlank(record.getState())) { - if (record.getState().equals("已办结")) { - record.setState("备案通过"); - } - if (record.getState().equals("终止")) { - record.setState("备案未通过"); + if (record.getState().equals("备案中")) { + record.setReportBtn(false); } - if (record.getState().equals("待提交")) { - record.setState("未备案"); - record.setUpdateBtn(true); + if (record.getState().equals("备案中") || record.getState().equals("已备案")) { + record.setUpdateBtn(false); + record.setDeleteBtn(false); } - } else { - record.setState("未备案"); - record.setUpdateBtn(true); } } } @@ -684,27 +898,48 @@ public class BaseDistributorService extends MybatisBaseService businessLicense = baseDistributorAppendixService.selByLinkSidAndAttachTypeOne(sid, "营业执照"); List transportPermit = baseDistributorAppendixService.selByLinkSidAndAttachTypeOne(sid, "道路运输许可证"); List corporateIdCard = baseDistributorAppendixService.selByLinkSidAndAttachTypeOne(sid, "法人身份证"); List otherInfo = baseDistributorAppendixService.selByLinkSidAndAttachTypeOne(sid, "其他资料"); + List agreement = baseDistributorAppendixService.selByLinkSidAndAttachTypeOne(sid, "合作协议"); baseFileVo.setBusinessLicense(businessLicense); baseFileVo.setOtherInfo(otherInfo); baseFileVo.setCorporateIdCard(corporateIdCard); baseFileVo.setTransportPermit(transportPermit); + baseFileVo.setAgreement(agreement); vo.setFileInfo(baseFileVo); //人员列表 List records = baseDistributorStaffService.selectByVo(sid); @@ -720,12 +955,7 @@ public class BaseDistributorService extends MybatisBaseService resultBean = sysOrganizationFeign.fetchBySid(orgPath); if (resultBean.getSuccess()) { SysOrganizationVo sysOrganizationVo = resultBean.getData(); baseDistributor.setCreateOrgName(sysOrganizationVo.getName()); baseDistributor.setUseOrgName(sysOrganizationVo.getName()); + useOrgName = sysOrganizationVo.getName(); } baseDistributor.setCreateOrg(orgPath); baseDistributor.setUseOrg(orgPath); baseMapper.insert(baseDistributor); sid = baseDistributor.getSid(); + //-------------- 推送维护企业开票信息 ------------------------ + if (StringUtils.isNotBlank(dto.getRegistNum())) { + FinCompanyInvoicingDetailsVo invoicing = finCompanyInvoicingFeign.selectInvoingByTaxpayerNo(dto.getRegistNum()).getData(); + FinCompanyInvoicingDto invoicingDto = new FinCompanyInvoicingDto(); + invoicingDto.setAddress(dto.getRegistDetailAddress()); + invoicingDto.setTaxpayerNo(dto.getRegistNum()); + invoicingDto.setName(dto.getDisName()); + if (null != invoicing) { + invoicingDto.setSid(invoicing.getSid()); + } else { + invoicingDto.setCreateBySid(dto.getUserSid()); + invoicingDto.setOrgSidPath(dto.getOrgPath()); + invoicingDto.setUseOrgName(useOrgName); + invoicingDto.setUseOrgSid(orgPath); + } + finCompanyInvoicingFeign.qySaveOrUpdate(invoicingDto); + } } else { BaseDistributor baseDistributor = fetchBySid(sid); @@ -858,6 +1106,24 @@ public class BaseDistributorService extends MybatisBaseService recordInfo(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseDistributorDetailsVo baseDistributorDetailsVo = selBySid(sid); + BaseDistributorApplyDetailsVo vo = new BaseDistributorApplyDetailsVo(); + if (null != baseDistributorDetailsVo) { + BeanUtil.copyProperties(baseDistributorDetailsVo, vo, "sid"); + vo.setUserSid(""); + vo.setOrgSidPath(""); + vo.setDistributorSid(sid); + vo.setApplyDate(new Date()); + //----风控参数中获取有效期------ + String jxsbayxq = loanParameterFeign.fetchByParNo("JXSBAYXQ").getData(); + if (StringUtils.isNotBlank(jxsbayxq)) { + Date dateByDay = getDateByDay(new Date(), Integer.valueOf(jxsbayxq)); + vo.setEffectiveDate(DateUtil.format(dateByDay, "yyyy-MM-dd")); } } - return r; - } - - /** - * 提交备案申请 - * - * @param dto - * @return - */ - public ResultBean submitRecordApplication(SubmitBaseDistributorApplyDto dto) { - ResultBean rb = ResultBean.fireFail(); - BaseDistributor baseDistributor = fetchBySid(dto.getSid()); - int r = submitBusinessData(dto, baseDistributor); - if (r == 3) { - return rb.setMsg("该申请不存在"); - } - if (r == 0) { - return rb.setMsg("操作失败!提交的数据不一致"); - } - - String businessSid = ""; - //新增修改保存 - if (StringUtils.isNotBlank(dto.getSid())) { - ResultBean resultBean = updateAll(dto, dto.getSid()); - if (!resultBean.getSuccess()) { - return rb.setMsg(resultBean.getMsg()); - } - businessSid = dto.getSid(); - } else { - ResultBean resultBean = saveAll(dto); - if (!resultBean.getSuccess()) { - return rb.setMsg(resultBean.getMsg()); - } - businessSid = resultBean.getData(); - } - BaseDistributor entity = fetchBySid(businessSid); - String orgSidPath = ""; - if (org.apache.commons.lang3.StringUtils.isNotBlank(entity.getOrgSidPath())) { - orgSidPath = entity.getOrgSidPath(); - } else { - SysUserVo data = sysUserFeign.fetchBySid(entity.getCreateBySid()).getData(); - if (null != data) { - //根据staffSid获取用户的组织全路径 - ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(data.getStaffSid()); - if (!staffOrgResultBean.getSuccess()) { - return rb.setMsg(staffOrgResultBean.getMsg()); - } - //用户的组织全路径 - orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); - } - } - List orgPathList = Arrays.asList(orgSidPath.split("/")); - SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(orgPathList.get(orgPathList.size() - 1)).getData(); - if (sysOrganization == null) { - return rb.setMsg("当前所在的组织机构不存在"); - } - if (org.apache.commons.lang3.StringUtils.isBlank(sysOrganization.getManagerSid())) { -// return rb.setMsg("当前所在的组织机构未设置主管人员"); - sysOrganization.setManagerSid(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId()); - } - //创建BusinessVariables实体对象 - BusinessVariables bv = new BusinessVariables(); - //流程中的参数赋值 - Map variables = BeanUtil.beanToMap(dto); - Map appMap = new HashMap<>(); - //若有网关,则赋值网关中判断的字段。 - variables.put("businessSid", businessSid); - appMap.put("distributorSid", businessSid); - variables.put("app", appMap); - BaseDistributor baseDistributor1 = fetchBySid(businessSid); - String msgBusinessSid = baseDistributor1.getSid(); - //用户的部门全路径sid - bv.setOrgSidPath(baseDistributor1.getOrgSidPath()); - //业务sid - bv.setBusinessSid(businessSid); - //用户sid - bv.setUserSid(dto.getUserSid()); - bv.setFormVariables(variables); - String nextNodeUserSids_ = sysOrganization.getManagerSid(); - bv.setNextNodeUserSids(nextNodeUserSids_); - //流程定义id - bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId()); - if (r == 1) { - //流程定义id - bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId()); - ResultBean voResultBean = flowFeign.startProcess(bv); - if (!voResultBean.getSuccess()) { - return rb.setMsg(voResultBean.getMsg()); - } - UpdateFlowFieldVo ufVo = voResultBean.getData(); - int i = updateFlowFiled(BeanUtil.beanToMap(ufVo)); - if (i > 0) { - //修改备案状态 - BaseDistributor distributor = fetchBySid(businessSid); - distributor.setState(3); - baseMapper.updateById(distributor); - } - //==================================添加线程 - try { - ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("demo-pool-%d").build(); - ExecutorService pool = new ThreadPoolExecutor(2, 100, - 0L, TimeUnit.MILLISECONDS, - new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); - Future future1 = pool.submit(() -> { - //极光推送 - // busVehicleApply.set(fetchBySid(businessSid)) - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(ufVo, messageFlowVo); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap(appMap); - messageFlowableQuery.setBusinessSid(msgBusinessSid); - messageFlowableQuery.setModuleName("经销商备案"); - SysUserVo userVo = sysUserFeign.fetchBySid(baseDistributor1.getCreateBySid()).getData(); - if (userVo != null) { - if (org.apache.commons.lang3.StringUtils.isNotBlank(userVo.getName())) { - messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - } - } - messageFlowableQuery.setMsgTitle("经销商备案"); - ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); - }); - } catch (Exception e) { - e.printStackTrace(); - } - //==================================添加线程 - return voResultBean; - } - if (r == 2) { - // ToDo:驳回到发起人后再次提交 - if (org.apache.commons.lang3.StringUtils.isBlank(dto.getInstanceId())) { - return rb.setMsg("参数错误:instanceId"); - } - BaseDistributor baseDistributor2 = fetchBySid(dto.getSid()); - bv.setTaskId(dto.getTaskId()); - bv.setTaskDefKey(baseDistributor2.getNodeSid()); - bv.setComment("重新提交"); - bv.setInstanceId(dto.getInstanceId()); - return complete(bv, ""); - } - return rb; - } - - /** - * 更新流程相关的状态 - * - * @param map - * @return - */ - private int updateFlowFiled(Map map) { - return baseMapper.updateFlowFiled(map); - } - - public ResultBean complete(BusinessVariables bv, String isDecide) { - ResultBean rb = ResultBean.fireFail(); - String businessSid = bv.getBusinessSid(); - //增加网关判断 - boolean isDecided = true; - if (StringUtils.isNotBlank(isDecide)) { - if ("02".equals(isDecide)) { - isDecided = false; - } - } - Map formVariables = new HashMap<>(); - formVariables.put("isDecide", isDecided); - bv.setFormVariables(formVariables); - BaseDistributor baseDistributor = this.fetchBySid(businessSid); - if (bv.getTaskId().equals(baseDistributor.getTaskId())) { - bv.setOrgSidPath(baseDistributor.getOrgSidPath()); - ResultBean resultBean = flowFeign.handleProsess(bv); - if (!resultBean.getSuccess()) { - return rb.setMsg(resultBean.getMsg()); - } - int i = updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); - if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { - BaseDistributor entity = fetchBySid(businessSid); - entity.setState(2); - entity.setClosingDate(new Date()); - //办结日期 - baseMapper.updateById(entity); - } - return rb.success().setData(resultBean.getData()); - } else { - return rb.setMsg("操作失败!提交的数据不一致"); - } - } - - //-----------------------------------------移动端流程-----------------------------------------------/ - - /** - * 移动端判断提交的流程是否被允许 - * - * @param dto - * @return - */ - private synchronized int appSubmitBusinessData(AppSubmitDistributorApplyDto dto, BaseDistributor baseDistributor) { - int r = 0; - if (org.apache.commons.lang3.StringUtils.isBlank(dto.getDistributorSid())) { - r = 1; - } else { - if (baseDistributor != null) { - String businessTaskId = baseDistributor.getTaskId(); - if (org.apache.commons.lang3.StringUtils.isBlank(businessTaskId) && org.apache.commons.lang3.StringUtils.isBlank(dto.getTaskId())) { - //新提交 - r = 1; - } else if (org.apache.commons.lang3.StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { - //二次提交//只有数据一致的时候才能进行下一步 - r = 2; - } - } else { - r = 3; - } - } - return r; + return rb.success().setData(vo); } - public ResultBean submitDistributor(AppSubmitDistributorApplyDto dto) { - ResultBean rb = ResultBean.fireFail(); - String businessSid = dto.getDistributorSid(); - BaseDistributor baseDistributor = fetchBySid(businessSid); - int r = appSubmitBusinessData(dto, baseDistributor); - if (r == 3) { - return rb.setMsg("该申请不存在"); - } - if (r == 0) { - return rb.setMsg("操作失败!提交的数据不一致"); - } - //-----------判断开票信息是否完事是否可以提交------------------------ - BaseInvoiceInfoVo invoiceInfoVo = getDistributorInvoiceInfo(businessSid).getData(); - if (null == invoiceInfoVo) { - return rb.setMsg("请完善开票信息"); - } else { - if (StringUtils.isBlank(invoiceInfoVo.getInvoPhone()) - || StringUtils.isBlank(invoiceInfoVo.getInvoBank()) - || StringUtils.isBlank(invoiceInfoVo.getInvoBankNum()) - || StringUtils.isBlank(invoiceInfoVo.getRegistNum()) - || StringUtils.isBlank(invoiceInfoVo.getRegistDetailAddress()) - ) { - return rb.setMsg("请完善开票信息"); - } - } - //------------------------------------------------------------ - BaseDistributor entity = fetchBySid(businessSid); - String orgSidPath = ""; - if (org.apache.commons.lang3.StringUtils.isNotBlank(entity.getOrgSidPath())) { - orgSidPath = baseDistributor.getOrgSidPath(); - } else { - SysUserVo data = sysUserFeign.fetchBySid(entity.getCreateBySid()).getData(); - if (null != data) { - //根据staffSid获取用户的组织全路径 - ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(data.getStaffSid()); - if (!staffOrgResultBean.getSuccess()) { - return rb.setMsg(staffOrgResultBean.getMsg()); - } - //用户的组织全路径 - orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); - } - } - List orgPathList = Arrays.asList(orgSidPath.split("/")); - SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(orgPathList.get(orgPathList.size() - 1)).getData(); - if (sysOrganization == null) { - return rb.setMsg("当前所在的组织机构不存在"); - } - if (org.apache.commons.lang3.StringUtils.isBlank(sysOrganization.getManagerSid())) { -// return rb.setMsg("当前所在的组织机构未设置主管人员"); - sysOrganization.setManagerSid(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId()); - } - //创建BusinessVariables实体对象 - BusinessVariables bv = new BusinessVariables(); - //流程中的参数赋值 - Map variables = BeanUtil.beanToMap(dto); - Map appMap = new HashMap<>(); - //若有网关,则赋值网关中判断的字段。 - variables.put("businessSid", businessSid); - appMap.put("distributorSid", businessSid); - variables.put("app", appMap); - BaseDistributor baseDistributor1 = fetchBySid(businessSid); - String msgBusinessSid = baseDistributor1.getSid(); - //用户的部门全路径sid - bv.setOrgSidPath(baseDistributor1.getOrgSidPath()); - //业务sid - bv.setBusinessSid(businessSid); - //用户sid - bv.setUserSid(baseDistributor1.getCreateBySid()); - bv.setFormVariables(variables); - String nextNodeUserSids_ = sysOrganization.getManagerSid(); - bv.setNextNodeUserSids(nextNodeUserSids_); - //流程定义id - bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId()); - if (r == 1) { - //流程定义id - bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId()); - ResultBean voResultBean = flowFeign.startProcess(bv); - if (!voResultBean.getSuccess()) { - return rb.setMsg(voResultBean.getMsg()); - } - UpdateFlowFieldVo ufVo = voResultBean.getData(); - int i = updateFlowFiled(BeanUtil.beanToMap(ufVo)); - if (i > 0) { - //修改备案状态 - BaseDistributor updateState = fetchBySid(businessSid); - updateState.setState(3); - baseMapper.updateById(updateState); - } - //==================================添加线程 - try { - ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("demo-pool-%d").build(); - ExecutorService pool = new ThreadPoolExecutor(2, 100, - 0L, TimeUnit.MILLISECONDS, - new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); - Future future1 = pool.submit(() -> { - //极光推送 - // busVehicleApply.set(fetchBySid(businessSid)) - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(ufVo, messageFlowVo); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap(appMap); - messageFlowableQuery.setBusinessSid(msgBusinessSid); - messageFlowableQuery.setModuleName("经销商备案"); - SysUserVo userVo = sysUserFeign.fetchBySid(baseDistributor1.getCreateBySid()).getData(); - if (userVo != null) { - if (org.apache.commons.lang3.StringUtils.isNotBlank(userVo.getName())) { - messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - } - } - messageFlowableQuery.setMsgTitle("经销商备案"); - ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); - }); - } catch (Exception e) { - e.printStackTrace(); - } - //==================================添加线程 - return voResultBean; - } - if (r == 2) { - // ToDo:驳回到发起人后再次提交 - if (org.apache.commons.lang3.StringUtils.isBlank(dto.getInstanceId())) { - return rb.setMsg("参数错误:instanceId"); - } - bv.setTaskId(baseDistributor.getTaskId()); - bv.setTaskDefKey(baseDistributor.getNodeSid()); - bv.setComment("重新提交"); - bv.setInstanceId(dto.getInstanceId()); - return complete(bv, ""); - } - return rb; + public static Date getDateByDay(Date sDate, int num) { + Calendar cal = Calendar.getInstance(); + // 设置开始时间 + cal.setTime(sDate); + //增加或减少num天 + cal.add(Calendar.DATE, num); + //cal.add(Calendar.DATE, -10);//减10天 + //cal.add(Calendar.DATE, 2);//加2天 + return cal.getTime(); } - /** - * 分公司跨风控办理 - * - * @param bv - * @return - */ - public ResultBean companyToDivisionOperate(BusinessVariables bv) { + @Transactional(rollbackFor = Exception.class) + public ResultBean setRiskState(RiskStateQuery query) { ResultBean rb = ResultBean.fireFail(); - BaseDistributor baseDistributor = fetchBySid(bv.getBusinessSid()); - bv.setOrgSidPath(baseDistributor.getOrgSidPath()); - Map variables = bv.getFormVariables(); - baseDistributor = fetchBySid(bv.getBusinessSid()); - FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); - flowProcessMapQuery.setProDefKey(baseDistributor.getProcDefId()); - flowProcessMapQuery.setVariables(variables); - variables = flowableFeign.getMap(flowProcessMapQuery).getData(); - bv.setFormVariables(variables); - //======================================= - ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); - //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo - List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); - List candidateGroups = voList.get(0).getCandidateGroups(); - UserRoleQuery userRoleQuery = new UserRoleQuery(); - userRoleQuery.setRoleSid(candidateGroups.get(0)); - List sysUserVos = sysUserFeign.getOtherOrgRoleUser(userRoleQuery).getData(); - StringBuilder nextNodeUserSids = new StringBuilder(); - if (sysUserVos.size() > 0) { - for (SysUserVo sysUserVo : sysUserVos) { - String sid = sysUserVo.getSid(); - nextNodeUserSids.append(sid).append(","); - } - } - if (org.apache.commons.lang3.StringUtils.isBlank(nextNodeUserSids)) { - return rb.setMsg("下一环节暂无操作人员"); - } - String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(",")); - bv.setNextNodeUserSids(substring); - if (bv.getTaskId().equals(baseDistributor.getTaskId())) { - variables = new HashMap<>(); - Map appMap = new HashMap<>(); - appMap.put("distributorSid", bv.getBusinessSid()); - variables.put("app", appMap); - //======================================== - baseDistributor = fetchBySid(bv.getBusinessSid()); - flowProcessMapQuery = new FlowProcessMapQuery(); - flowProcessMapQuery.setProDefKey(baseDistributor.getProcDefId()); - flowProcessMapQuery.setVariables(variables); - variables = flowableFeign.getMap(flowProcessMapQuery).getData(); - //======================================= - bv.setFormVariables(variables); - ResultBean resultBean1 = flowFeign.handleProsess(bv); - if (!resultBean1.getSuccess()) { - return rb.setMsg(resultBean1.getMsg()); - } - UpdateFlowFieldVo ufVo = resultBean1.getData(); - updateFlowFiled(BeanUtil.beanToMap(resultBean1.getData())); - //极光推送 - baseDistributor = fetchBySid(bv.getBusinessSid()); - SysUserVo userVo = sysUserFeign.fetchBySid(baseDistributor.getCreateBySid()).getData(); - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(ufVo, messageFlowVo); - messageFlowVo.setProcInsId(baseDistributor.getProcInstId()); - messageFlowVo.setProcDefId(baseDistributor.getProcDefId()); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap(appMap); - messageFlowableQuery.setBusinessSid(bv.getBusinessSid()); - messageFlowableQuery.setModuleName("经销商备案"); - messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - messageFlowableQuery.setMsgTitle("经销商备案"); - messageFeign.pushMessage(messageFlowableQuery); - return rb.success().setData(resultBean1.getData()); - } else { - return rb.setMsg("操作失败!提交的数据不一致"); + //ToDo:是否可以停用或开启,需补充条件 + List sidsList = query.getSidsList(); + sidsList.removeAll(Collections.singleton(null)); + if (sidsList.isEmpty()) { + return rb.setMsg("请选择数据!"); } - } - public ResultBean revokeProcess(BaseDistributorTaskQuery query) { - ResultBean rb = ResultBean.fireFail(); - if (org.apache.commons.lang3.StringUtils.isBlank(query.getUserSid())) { - return rb.setMsg("参数错误:userSid"); - } - BaseDistributor baseDistributor = fetchBySid(query.getBusinessSid()); - String businessTaskId = baseDistributor.getTaskId(); - if (org.apache.commons.lang3.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()); + String riskState = query.getRiskState(); + for (String sid : sidsList) { + BaseDistributor baseDistributor = fetchBySid(sid); + if (baseDistributor == null) { + return rb.setMsg("选择的经销商不存在"); } - } - return rb.setMsg("操作失败,提交的数据不一致!"); - } - - public ResultBean taskReject(BaseDistributorTaskQuery query) { - ResultBean rb = ResultBean.fireFail(); - String businessSid = query.getBusinessSid(); - BaseDistributor baseDistributor = fetchBySid(businessSid); - if (baseDistributor == null) { - return rb.setMsg("该申请不存在"); - } - String businessTaskId = baseDistributor.getTaskId(); - if (org.apache.commons.lang3.StringUtils.isNotBlank(businessTaskId)) { - if (businessTaskId.equals(query.getTaskId())) { - if (org.apache.commons.lang3.StringUtils.isBlank(query.getComment())) { - return rb.setMsg("请填写意见"); + if ("1".equals(query.getRiskState())) {//useState为1时走停用,为0时走开启 + if (baseDistributor.getRiskState() == 1) { + return rb.setMsg("该数据已是禁用状态,不要重复操作"); } - if (org.apache.commons.lang3.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("distributorSid", 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); - //极光推送 - baseDistributor = fetchBySid(businessSid); - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(ufVo, messageFlowVo); - String procId = baseDistributor.getProcInstId(); - messageFlowVo.setProcInsId(procId); - messageFlowVo.setProcDefId(baseDistributor.getProcDefId()); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap(appMap); - messageFlowableQuery.setBusinessSid(businessSid); - messageFlowableQuery.setModuleName("经销商备案"); - ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); - String nextName = listResultBean.getData().get(0).getName_(); - String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); - List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); -// if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busVehicleApply.getCreateBySid())) { - if ("发起申请".equals(nextName)) { - messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); - } else { - SysUserVo userVo = sysUserFeign.fetchBySid(baseDistributor.getCreateBySid()).getData(); - if (userVo != null) { - if (org.apache.commons.lang3.StringUtils.isNotBlank(userVo.getName())) { - messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - } - } - } - messageFlowableQuery.setMsgTitle("经销商备案"); - ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); - return rb.success(); } - } - return rb.setMsg("操作失败!提交的数据不一致!"); - } - - public ResultBean breakProcess(BaseDistributorTaskQuery query) { - ResultBean rb = ResultBean.fireFail(); - if (org.apache.commons.lang3.StringUtils.isBlank(query.getInstanceId())) { - return rb.setMsg("参数错误:instanceId"); - } - if (org.apache.commons.lang3.StringUtils.isBlank(query.getUserSid())) { - return rb.setMsg("参数错误:userSid"); - } - if (org.apache.commons.lang3.StringUtils.isBlank(query.getComment())) { - return rb.setMsg("请填写意见"); - } - BaseDistributor baseDistributor = fetchBySid(query.getBusinessSid()); - String businessTaskId = baseDistributor.getTaskId(); - if (org.apache.commons.lang3.StringUtils.isNotBlank(businessTaskId)) { - if (query.getUserSid().equals(baseDistributor.getCreateBySid())) { - 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()); - } else { - 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()); + if ("0".equals(query.getRiskState())) { + if (baseDistributor.getRiskState() == 0) { + return rb.setMsg("该数据已是启用状态,不要重复操作"); } } - + baseDistributor.setModifyTime(new Date()); + baseDistributor.setUpdateBySid(query.getUserSid()); + baseDistributor.setRiskState(Integer.valueOf(riskState).intValue()); + baseMapper.updateById(baseDistributor); } - return rb.setMsg("操作失败!提交的数据不一致!"); - } - - public ResultBean flowRecord(String procInsId) { - return flowTaskFeign.businessFlowRecord(procInsId); - } - - public ResultBean> getNextNodesForSubmit(GetNodeQuery query) { - ResultBean> rb = ResultBean.fireFail(); - BusinessVariables bv = new BusinessVariables(); - BeanUtil.copyProperties(query, bv); - //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 - Map variables = new HashMap<>(); - //根据业务sid查询排产信息 - BaseDistributor baseDistributor = fetchBySid(query.getBusinessSid()); - bv.setFormVariables(variables); - bv.setModelId(baseDistributor.getProcDefId()); - ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); - //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo - List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); - return rb.success().setData(voList); + return rb.success(); } +////-------------------------------------流程------------------------------------------------/ +// +// /** +// * 判断提交的流程是否被允许 +// * +// * @param dto +// * @return +// */ +// private synchronized int submitBusinessData(SubmitBaseDistributorApplyDto dto, BaseDistributor baseDistributor) { +// int r = 0; +// if (org.apache.commons.lang3.StringUtils.isBlank(dto.getSid())) { +// r = 1; +// } else { +// if (baseDistributor != null) { +// String businessTaskId = baseDistributor.getTaskId(); +// if (org.apache.commons.lang3.StringUtils.isBlank(businessTaskId) && org.apache.commons.lang3.StringUtils.isBlank(dto.getTaskId())) { +// //新提交 +// r = 1; +// } else if (org.apache.commons.lang3.StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { +// //二次提交//只有数据一致的时候才能进行下一步 +// r = 2; +// } +// } else { +// r = 3; +// } +// } +// return r; +// } +// +// /** +// * 提交备案申请 +// * +// * @param dto +// * @return +// */ +// public ResultBean submitRecordApplication(SubmitBaseDistributorApplyDto dto) { +// ResultBean rb = ResultBean.fireFail(); +// BaseDistributor baseDistributor = fetchBySid(dto.getSid()); +// int r = submitBusinessData(dto, baseDistributor); +// if (r == 3) { +// return rb.setMsg("该申请不存在"); +// } +// if (r == 0) { +// return rb.setMsg("操作失败!提交的数据不一致"); +// } +// +// String businessSid = ""; +// //新增修改保存 +// if (StringUtils.isNotBlank(dto.getSid())) { +// ResultBean resultBean = updateAll(dto, dto.getSid()); +// if (!resultBean.getSuccess()) { +// return rb.setMsg(resultBean.getMsg()); +// } +// businessSid = dto.getSid(); +// } else { +// ResultBean resultBean = saveAll(dto); +// if (!resultBean.getSuccess()) { +// return rb.setMsg(resultBean.getMsg()); +// } +// businessSid = resultBean.getData(); +// } +// BaseDistributor entity = fetchBySid(businessSid); +// String orgSidPath = ""; +// if (org.apache.commons.lang3.StringUtils.isNotBlank(entity.getOrgSidPath())) { +// orgSidPath = entity.getOrgSidPath(); +// } else { +// SysUserVo data = sysUserFeign.fetchBySid(entity.getCreateBySid()).getData(); +// if (null != data) { +// //根据staffSid获取用户的组织全路径 +// ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(data.getStaffSid()); +// if (!staffOrgResultBean.getSuccess()) { +// return rb.setMsg(staffOrgResultBean.getMsg()); +// } +// //用户的组织全路径 +// orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); +// } +// } +// List orgPathList = Arrays.asList(orgSidPath.split("/")); +// SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(orgPathList.get(orgPathList.size() - 1)).getData(); +// if (sysOrganization == null) { +// return rb.setMsg("当前所在的组织机构不存在"); +// } +// if (org.apache.commons.lang3.StringUtils.isBlank(sysOrganization.getManagerSid())) { +//// return rb.setMsg("当前所在的组织机构未设置主管人员"); +// sysOrganization.setManagerSid(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId()); +// } +// //创建BusinessVariables实体对象 +// BusinessVariables bv = new BusinessVariables(); +// //流程中的参数赋值 +// Map variables = BeanUtil.beanToMap(dto); +// Map appMap = new HashMap<>(); +// //若有网关,则赋值网关中判断的字段。 +// variables.put("businessSid", businessSid); +// appMap.put("distributorSid", businessSid); +// variables.put("app", appMap); +// BaseDistributor baseDistributor1 = fetchBySid(businessSid); +// String msgBusinessSid = baseDistributor1.getSid(); +// //用户的部门全路径sid +// bv.setOrgSidPath(baseDistributor1.getOrgSidPath()); +// //业务sid +// bv.setBusinessSid(businessSid); +// //用户sid +// bv.setUserSid(dto.getUserSid()); +// bv.setFormVariables(variables); +// String nextNodeUserSids_ = sysOrganization.getManagerSid(); +// bv.setNextNodeUserSids(nextNodeUserSids_); +// //流程定义id +// bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId()); +// if (r == 1) { +// //流程定义id +// bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId()); +// ResultBean voResultBean = flowFeign.startProcess(bv); +// if (!voResultBean.getSuccess()) { +// return rb.setMsg(voResultBean.getMsg()); +// } +// UpdateFlowFieldVo ufVo = voResultBean.getData(); +// int i = updateFlowFiled(BeanUtil.beanToMap(ufVo)); +// if (i > 0) { +// //修改备案状态 +// BaseDistributor distributor = fetchBySid(businessSid); +// distributor.setState(3); +// baseMapper.updateById(distributor); +// } +// //==================================添加线程 +// try { +// ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() +// .setNameFormat("demo-pool-%d").build(); +// ExecutorService pool = new ThreadPoolExecutor(2, 100, +// 0L, TimeUnit.MILLISECONDS, +// new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); +// Future future1 = pool.submit(() -> { +// //极光推送 +// // busVehicleApply.set(fetchBySid(businessSid)) +// MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); +// MessageFlowVo messageFlowVo = new MessageFlowVo(); +// BeanUtil.copyProperties(ufVo, messageFlowVo); +// messageFlowableQuery.setUfVo(messageFlowVo); +// messageFlowableQuery.setAppMap(appMap); +// messageFlowableQuery.setBusinessSid(msgBusinessSid); +// messageFlowableQuery.setModuleName("经销商备案"); +// SysUserVo userVo = sysUserFeign.fetchBySid(baseDistributor1.getCreateBySid()).getData(); +// if (userVo != null) { +// if (org.apache.commons.lang3.StringUtils.isNotBlank(userVo.getName())) { +// messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); +// } +// } +// messageFlowableQuery.setMsgTitle("经销商备案"); +// ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); +// }); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// //==================================添加线程 +// return voResultBean; +// } +// if (r == 2) { +// // ToDo:驳回到发起人后再次提交 +// if (org.apache.commons.lang3.StringUtils.isBlank(dto.getInstanceId())) { +// return rb.setMsg("参数错误:instanceId"); +// } +// BaseDistributor baseDistributor2 = fetchBySid(dto.getSid()); +// bv.setTaskId(dto.getTaskId()); +// bv.setTaskDefKey(baseDistributor2.getNodeSid()); +// bv.setComment("重新提交"); +// bv.setInstanceId(dto.getInstanceId()); +// return complete(bv, ""); +// } +// return rb; +// } +// +// /** +// * 更新流程相关的状态 +// * +// * @param map +// * @return +// */ +// private int updateFlowFiled(Map map) { +// return baseMapper.updateFlowFiled(map); +// } +// +// public ResultBean complete(BusinessVariables bv, String isDecide) { +// ResultBean rb = ResultBean.fireFail(); +// String businessSid = bv.getBusinessSid(); +// //增加网关判断 +// boolean isDecided = true; +// if (StringUtils.isNotBlank(isDecide)) { +// if ("02".equals(isDecide)) { +// isDecided = false; +// } +// } +// Map formVariables = new HashMap<>(); +// formVariables.put("isDecide", isDecided); +// bv.setFormVariables(formVariables); +// BaseDistributor baseDistributor = this.fetchBySid(businessSid); +// if (bv.getTaskId().equals(baseDistributor.getTaskId())) { +// bv.setOrgSidPath(baseDistributor.getOrgSidPath()); +// ResultBean resultBean = flowFeign.handleProsess(bv); +// if (!resultBean.getSuccess()) { +// return rb.setMsg(resultBean.getMsg()); +// } +// int i = updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); +// if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { +// BaseDistributor entity = fetchBySid(businessSid); +// entity.setState(2); +// entity.setClosingDate(new Date()); +// //办结日期 +// baseMapper.updateById(entity); +// } +// return rb.success().setData(resultBean.getData()); +// } else { +// return rb.setMsg("操作失败!提交的数据不一致"); +// } +// } - public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { - ResultBean> rb = ResultBean.fireFail(); - BusinessVariables bv = new BusinessVariables(); - BeanUtil.copyProperties(query, bv); - //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 - Map variables = new HashMap<>(); - //根据业务sid查询排产信息 - BaseDistributor baseDistributor = fetchBySid(query.getBusinessSid()); - bv.setFormVariables(variables); - bv.setModelId(baseDistributor.getProcDefId()); - ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); - //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo - List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); - return rb.success().setData(voList); - } + //-----------------------------------------移动端流程-----------------------------------------------/ +// +// /** +// * 移动端判断提交的流程是否被允许 +// * +// * @param dto +// * @return +// */ +// private synchronized int appSubmitBusinessData(AppSubmitDistributorApplyDto dto, BaseDistributor baseDistributor) { +// int r = 0; +// if (org.apache.commons.lang3.StringUtils.isBlank(dto.getDistributorSid())) { +// r = 1; +// } else { +// if (baseDistributor != null) { +// String businessTaskId = baseDistributor.getTaskId(); +// if (org.apache.commons.lang3.StringUtils.isBlank(businessTaskId) && org.apache.commons.lang3.StringUtils.isBlank(dto.getTaskId())) { +// //新提交 +// r = 1; +// } else if (org.apache.commons.lang3.StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { +// //二次提交//只有数据一致的时候才能进行下一步 +// r = 2; +// } +// } else { +// r = 3; +// } +// } +// return r; +// } +// +// public ResultBean submitDistributor(AppSubmitDistributorApplyDto dto) { +// ResultBean rb = ResultBean.fireFail(); +// String businessSid = dto.getDistributorSid(); +// BaseDistributor baseDistributor = fetchBySid(businessSid); +// int r = appSubmitBusinessData(dto, baseDistributor); +// if (r == 3) { +// return rb.setMsg("该申请不存在"); +// } +// if (r == 0) { +// return rb.setMsg("操作失败!提交的数据不一致"); +// } +// //-----------判断开票信息是否完事是否可以提交------------------------ +// BaseInvoiceInfoVo invoiceInfoVo = getDistributorInvoiceInfo(businessSid).getData(); +// if (null == invoiceInfoVo) { +// return rb.setMsg("请完善开票信息"); +// } else { +// if (StringUtils.isBlank(invoiceInfoVo.getInvoPhone()) +// || StringUtils.isBlank(invoiceInfoVo.getInvoBank()) +// || StringUtils.isBlank(invoiceInfoVo.getInvoBankNum()) +// || StringUtils.isBlank(invoiceInfoVo.getRegistNum()) +// || StringUtils.isBlank(invoiceInfoVo.getRegistDetailAddress()) +// ) { +// return rb.setMsg("请完善开票信息"); +// } +// } +// //------------------------------------------------------------ +// BaseDistributor entity = fetchBySid(businessSid); +// String orgSidPath = ""; +// if (org.apache.commons.lang3.StringUtils.isNotBlank(entity.getOrgSidPath())) { +// orgSidPath = baseDistributor.getOrgSidPath(); +// } else { +// SysUserVo data = sysUserFeign.fetchBySid(entity.getCreateBySid()).getData(); +// if (null != data) { +// //根据staffSid获取用户的组织全路径 +// ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(data.getStaffSid()); +// if (!staffOrgResultBean.getSuccess()) { +// return rb.setMsg(staffOrgResultBean.getMsg()); +// } +// //用户的组织全路径 +// orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); +// } +// } +// List orgPathList = Arrays.asList(orgSidPath.split("/")); +// SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(orgPathList.get(orgPathList.size() - 1)).getData(); +// if (sysOrganization == null) { +// return rb.setMsg("当前所在的组织机构不存在"); +// } +// if (org.apache.commons.lang3.StringUtils.isBlank(sysOrganization.getManagerSid())) { +//// return rb.setMsg("当前所在的组织机构未设置主管人员"); +// sysOrganization.setManagerSid(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId()); +// } +// //创建BusinessVariables实体对象 +// BusinessVariables bv = new BusinessVariables(); +// //流程中的参数赋值 +// Map variables = BeanUtil.beanToMap(dto); +// Map appMap = new HashMap<>(); +// //若有网关,则赋值网关中判断的字段。 +// variables.put("businessSid", businessSid); +// appMap.put("distributorSid", businessSid); +// variables.put("app", appMap); +// BaseDistributor baseDistributor1 = fetchBySid(businessSid); +// String msgBusinessSid = baseDistributor1.getSid(); +// //用户的部门全路径sid +// bv.setOrgSidPath(baseDistributor1.getOrgSidPath()); +// //业务sid +// bv.setBusinessSid(businessSid); +// //用户sid +// bv.setUserSid(baseDistributor1.getCreateBySid()); +// bv.setFormVariables(variables); +// String nextNodeUserSids_ = sysOrganization.getManagerSid(); +// bv.setNextNodeUserSids(nextNodeUserSids_); +// //流程定义id +// bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId()); +// if (r == 1) { +// //流程定义id +// bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId()); +// ResultBean voResultBean = flowFeign.startProcess(bv); +// if (!voResultBean.getSuccess()) { +// return rb.setMsg(voResultBean.getMsg()); +// } +// UpdateFlowFieldVo ufVo = voResultBean.getData(); +// int i = updateFlowFiled(BeanUtil.beanToMap(ufVo)); +// if (i > 0) { +// //修改备案状态 +// BaseDistributor updateState = fetchBySid(businessSid); +// updateState.setState(3); +// baseMapper.updateById(updateState); +// } +// //==================================添加线程 +// try { +// ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() +// .setNameFormat("demo-pool-%d").build(); +// ExecutorService pool = new ThreadPoolExecutor(2, 100, +// 0L, TimeUnit.MILLISECONDS, +// new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); +// Future future1 = pool.submit(() -> { +// //极光推送 +// // busVehicleApply.set(fetchBySid(businessSid)) +// MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); +// MessageFlowVo messageFlowVo = new MessageFlowVo(); +// BeanUtil.copyProperties(ufVo, messageFlowVo); +// messageFlowableQuery.setUfVo(messageFlowVo); +// messageFlowableQuery.setAppMap(appMap); +// messageFlowableQuery.setBusinessSid(msgBusinessSid); +// messageFlowableQuery.setModuleName("经销商备案"); +// SysUserVo userVo = sysUserFeign.fetchBySid(baseDistributor1.getCreateBySid()).getData(); +// if (userVo != null) { +// if (org.apache.commons.lang3.StringUtils.isNotBlank(userVo.getName())) { +// messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); +// } +// } +// messageFlowableQuery.setMsgTitle("经销商备案"); +// ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); +// }); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// //==================================添加线程 +// return voResultBean; +// } +// if (r == 2) { +// // ToDo:驳回到发起人后再次提交 +// if (org.apache.commons.lang3.StringUtils.isBlank(dto.getInstanceId())) { +// return rb.setMsg("参数错误:instanceId"); +// } +// bv.setTaskId(baseDistributor.getTaskId()); +// bv.setTaskDefKey(baseDistributor.getNodeSid()); +// bv.setComment("重新提交"); +// bv.setInstanceId(dto.getInstanceId()); +// return complete(bv, ""); +// } +// return rb; +// } +// +// /** +// * 分公司跨风控办理 +// * +// * @param bv +// * @return +// */ +// public ResultBean companyToDivisionOperate(BusinessVariables bv) { +// ResultBean rb = ResultBean.fireFail(); +// BaseDistributor baseDistributor = fetchBySid(bv.getBusinessSid()); +// bv.setOrgSidPath(baseDistributor.getOrgSidPath()); +// Map variables = bv.getFormVariables(); +// baseDistributor = fetchBySid(bv.getBusinessSid()); +// FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); +// flowProcessMapQuery.setProDefKey(baseDistributor.getProcDefId()); +// flowProcessMapQuery.setVariables(variables); +// variables = flowableFeign.getMap(flowProcessMapQuery).getData(); +// bv.setFormVariables(variables); +// //======================================= +// ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); +// //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo +// List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); +// List candidateGroups = voList.get(0).getCandidateGroups(); +// UserRoleQuery userRoleQuery = new UserRoleQuery(); +// userRoleQuery.setRoleSid(candidateGroups.get(0)); +// List sysUserVos = sysUserFeign.getOtherOrgRoleUser(userRoleQuery).getData(); +// StringBuilder nextNodeUserSids = new StringBuilder(); +// if (sysUserVos.size() > 0) { +// for (SysUserVo sysUserVo : sysUserVos) { +// String sid = sysUserVo.getSid(); +// nextNodeUserSids.append(sid).append(","); +// } +// } +// if (org.apache.commons.lang3.StringUtils.isBlank(nextNodeUserSids)) { +// return rb.setMsg("下一环节暂无操作人员"); +// } +// String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(",")); +// bv.setNextNodeUserSids(substring); +// if (bv.getTaskId().equals(baseDistributor.getTaskId())) { +// variables = new HashMap<>(); +// Map appMap = new HashMap<>(); +// appMap.put("distributorSid", bv.getBusinessSid()); +// variables.put("app", appMap); +// //======================================== +// baseDistributor = fetchBySid(bv.getBusinessSid()); +// flowProcessMapQuery = new FlowProcessMapQuery(); +// flowProcessMapQuery.setProDefKey(baseDistributor.getProcDefId()); +// flowProcessMapQuery.setVariables(variables); +// variables = flowableFeign.getMap(flowProcessMapQuery).getData(); +// //======================================= +// bv.setFormVariables(variables); +// ResultBean resultBean1 = flowFeign.handleProsess(bv); +// if (!resultBean1.getSuccess()) { +// return rb.setMsg(resultBean1.getMsg()); +// } +// UpdateFlowFieldVo ufVo = resultBean1.getData(); +// updateFlowFiled(BeanUtil.beanToMap(resultBean1.getData())); +// //极光推送 +// baseDistributor = fetchBySid(bv.getBusinessSid()); +// SysUserVo userVo = sysUserFeign.fetchBySid(baseDistributor.getCreateBySid()).getData(); +// MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); +// MessageFlowVo messageFlowVo = new MessageFlowVo(); +// BeanUtil.copyProperties(ufVo, messageFlowVo); +// messageFlowVo.setProcInsId(baseDistributor.getProcInstId()); +// messageFlowVo.setProcDefId(baseDistributor.getProcDefId()); +// messageFlowableQuery.setUfVo(messageFlowVo); +// messageFlowableQuery.setAppMap(appMap); +// messageFlowableQuery.setBusinessSid(bv.getBusinessSid()); +// messageFlowableQuery.setModuleName("经销商备案"); +// messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); +// messageFlowableQuery.setMsgTitle("经销商备案"); +// messageFeign.pushMessage(messageFlowableQuery); +// return rb.success().setData(resultBean1.getData()); +// } else { +// return rb.setMsg("操作失败!提交的数据不一致"); +// } +// } +// +// public ResultBean revokeProcess(BaseDistributorTaskQuery query) { +// ResultBean rb = ResultBean.fireFail(); +// if (org.apache.commons.lang3.StringUtils.isBlank(query.getUserSid())) { +// return rb.setMsg("参数错误:userSid"); +// } +// BaseDistributor baseDistributor = fetchBySid(query.getBusinessSid()); +// String businessTaskId = baseDistributor.getTaskId(); +// if (org.apache.commons.lang3.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 taskReject(BaseDistributorTaskQuery query) { +// ResultBean rb = ResultBean.fireFail(); +// String businessSid = query.getBusinessSid(); +// BaseDistributor baseDistributor = fetchBySid(businessSid); +// if (baseDistributor == null) { +// return rb.setMsg("该申请不存在"); +// } +// String businessTaskId = baseDistributor.getTaskId(); +// if (org.apache.commons.lang3.StringUtils.isNotBlank(businessTaskId)) { +// if (businessTaskId.equals(query.getTaskId())) { +// if (org.apache.commons.lang3.StringUtils.isBlank(query.getComment())) { +// return rb.setMsg("请填写意见"); +// } +// if (org.apache.commons.lang3.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("distributorSid", 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); +// //极光推送 +// baseDistributor = fetchBySid(businessSid); +// MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); +// MessageFlowVo messageFlowVo = new MessageFlowVo(); +// BeanUtil.copyProperties(ufVo, messageFlowVo); +// String procId = baseDistributor.getProcInstId(); +// messageFlowVo.setProcInsId(procId); +// messageFlowVo.setProcDefId(baseDistributor.getProcDefId()); +// messageFlowableQuery.setUfVo(messageFlowVo); +// messageFlowableQuery.setAppMap(appMap); +// messageFlowableQuery.setBusinessSid(businessSid); +// messageFlowableQuery.setModuleName("经销商备案"); +// ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); +// String nextName = listResultBean.getData().get(0).getName_(); +// String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); +// List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); +//// if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busVehicleApply.getCreateBySid())) { +// if ("发起申请".equals(nextName)) { +// messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); +// } else { +// SysUserVo userVo = sysUserFeign.fetchBySid(baseDistributor.getCreateBySid()).getData(); +// if (userVo != null) { +// if (org.apache.commons.lang3.StringUtils.isNotBlank(userVo.getName())) { +// messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); +// } +// } +// } +// messageFlowableQuery.setMsgTitle("经销商备案"); +// ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); +// return rb.success(); +// } +// } +// return rb.setMsg("操作失败!提交的数据不一致!"); +// } +// +// public ResultBean breakProcess(BaseDistributorTaskQuery query) { +// ResultBean rb = ResultBean.fireFail(); +// if (org.apache.commons.lang3.StringUtils.isBlank(query.getInstanceId())) { +// return rb.setMsg("参数错误:instanceId"); +// } +// if (org.apache.commons.lang3.StringUtils.isBlank(query.getUserSid())) { +// return rb.setMsg("参数错误:userSid"); +// } +// if (org.apache.commons.lang3.StringUtils.isBlank(query.getComment())) { +// return rb.setMsg("请填写意见"); +// } +// BaseDistributor baseDistributor = fetchBySid(query.getBusinessSid()); +// String businessTaskId = baseDistributor.getTaskId(); +// if (org.apache.commons.lang3.StringUtils.isNotBlank(businessTaskId)) { +// if (query.getUserSid().equals(baseDistributor.getCreateBySid())) { +// 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()); +// } else { +// 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("操作失败!提交的数据不一致!"); +// } +// +// public ResultBean flowRecord(String procInsId) { +// return flowTaskFeign.businessFlowRecord(procInsId); +// } +// +// public ResultBean> getNextNodesForSubmit(GetNodeQuery query) { +// ResultBean> rb = ResultBean.fireFail(); +// BusinessVariables bv = new BusinessVariables(); +// BeanUtil.copyProperties(query, bv); +// //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 +// Map variables = new HashMap<>(); +// //根据业务sid查询排产信息 +// BaseDistributor baseDistributor = fetchBySid(query.getBusinessSid()); +// bv.setFormVariables(variables); +// bv.setModelId(baseDistributor.getProcDefId()); +// ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); +// //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo +// List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); +// return rb.success().setData(voList); +// } +// +// public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { +// ResultBean> rb = ResultBean.fireFail(); +// BusinessVariables bv = new BusinessVariables(); +// BeanUtil.copyProperties(query, bv); +// //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 +// Map variables = new HashMap<>(); +// //根据业务sid查询排产信息 +// BaseDistributor baseDistributor = fetchBySid(query.getBusinessSid()); +// bv.setFormVariables(variables); +// bv.setModelId(baseDistributor.getProcDefId()); +// ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); +// //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo +// List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); +// return rb.success().setData(voList); +// } } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapply/BaseDistributorApplyMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapply/BaseDistributorApplyMapper.java new file mode 100644 index 0000000000..e9f29348d7 --- /dev/null +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapply/BaseDistributorApplyMapper.java @@ -0,0 +1,75 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.base.biz.basedistributorapply; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.base.api.basediscountpackage.AppDiscountpackageQuery; +import com.yxt.anrui.base.api.basediscountpackage.AppDiscountpackageVo; +import com.yxt.anrui.base.api.basediscountpackageapply.BaseDiscountpackageApply; +import com.yxt.anrui.base.api.basediscountpackageapply.BaseDiscountpackageApplyVo; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppDistributorApplyVo; +import com.yxt.anrui.base.api.basedistributorapply.BaseDistributorApply; +import com.yxt.anrui.base.api.basedistributorapply.BaseDistributorApplyVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; + +import java.util.List; +import java.util.Map; + +/** + * Project: anrui-base(优惠包申请)
+ * File: BaseDiscountpackageApplyMapper.java
+ * Class: com.yxt.anrui.base.biz.basediscountpackageapply.BaseDiscountpackageApplyMapper
+ * Description: 优惠包申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-12-08 17:04:45
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface BaseDistributorApplyMapper extends BaseMapper { + + BaseDistributorApply selOneByMainSid(String mainSid); + + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + @Update("update base_distributor_apply set isDelete = 1 where sid =#{sid}") + void deleteBySid(String sid); + + int updateFlowFiled(Map map); + + IPage getDistributorApplyList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + +} \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapply/BaseDistributorApplyMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapply/BaseDistributorApplyMapper.xml new file mode 100644 index 0000000000..cb0ccf4061 --- /dev/null +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapply/BaseDistributorApplyMapper.xml @@ -0,0 +1,66 @@ + + + + + UPDATE base_distributor_apply + SET nodeState=#{nodeState} + , nodeSid=#{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/basedistributorapply/BaseDistributorApplyRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapply/BaseDistributorApplyRest.java new file mode 100644 index 0000000000..7bb605e8c4 --- /dev/null +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapply/BaseDistributorApplyRest.java @@ -0,0 +1,188 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.base.biz.basedistributorapply; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.base.api.basedistributor.app.BaseDisDetailsVo; +import com.yxt.anrui.base.api.basedistributor.app.BaseDistributorsQuery; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppDeptVo; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppDistributorApplyVo; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppDistributorDto; +import com.yxt.anrui.base.api.basedistributorapply.*; +import com.yxt.anrui.base.api.basedistributorapply.flow.*; +import com.yxt.anrui.flowable.api.utils.ProcDefEnum; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; +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 org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * Project: anrui-base(优惠包申请)
+ * File: BaseDiscountpackageApplyFeignFallback.java
+ * Class: com.yxt.anrui.base.biz.basediscountpackageapply.BaseDiscountpackageApplyRest
+ * Description: 优惠包申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-12-08 17:04:45
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "经销商备案申请") +@RestController +@RequestMapping("v1/basedistributorapply") +public class BaseDistributorApplyRest implements BaseDistributorApplyFeign { + + @Autowired + private BaseDistributorApplyService baseDistributorApplyService; + + @Override + public ResultBean> listPage(PagerQuery pq) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = baseDistributorApplyService.listPage(pq); + return rb.success().setData(pv); + } + + + @Override + public ResultBean detail(String sid) { + return baseDistributorApplyService.detail(sid); + } + + @Override + public ResultBean save(BaseDistributorApplyDto dto) { + return baseDistributorApplyService.saveApply(dto); + } + + @Override + public ResultBean deleteBySids(String[] sids) { + return baseDistributorApplyService.deleteBySids(sids); + } + + @Override + public ResultBean selectMangerByDeptSid(String deptSid) { + return baseDistributorApplyService.selectMangerByDeptSid(deptSid); + } + + @Override + public ResultBean submitRecordApplication(SubmitBaseDistributorApplyDto dto) { + return baseDistributorApplyService.submitRecordApplication(dto); + } + + @Override + public ResultBean complete(BaseDistributorApplyCompleteDto dto) { + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(dto, bv); + bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId()); + return baseDistributorApplyService.complete(bv); + } + + @Override + public ResultBean companyToDivisionOperate(BaseDistributorApplyCompleteDto query) { + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId()); + return baseDistributorApplyService.companyToDivisionOperate(bv); + } + + + @Override + public ResultBean revokeProcess(BaseDistributorApplyTaskQuery query) { + return baseDistributorApplyService.revokeProcess(query); + } + + @Override + public ResultBean taskReject(BaseDistributorApplyTaskQuery query) { + + return baseDistributorApplyService.taskReject(query); + } + + @Override + public ResultBean breakProcess(BaseDistributorApplyTaskQuery query) { + return baseDistributorApplyService.breakProcess(query); + } + + @Override + public ResultBean flowRecord(String procInsId) { + + return baseDistributorApplyService.flowRecord(procInsId); + } + + @Override + public ResultBean> getNextNodesForSubmit(GetNodeQuery query) { + + return baseDistributorApplyService.getNextNodesForSubmit(query); + } + + @Override + public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { + + return baseDistributorApplyService.getPreviousNodesForReject(query); + } + + @Override + public ResultBean> getSalesDept(String userSid, String orgPath) { + return baseDistributorApplyService.getSalesDept(userSid,orgPath); + } + + @Override + public ResultBean saveDistributor(AppDistributorDto dto) { + return baseDistributorApplyService.saveDistributor(dto); + } + + @Override + public ResultBean getDistributor1(String sid, String orgPath, String userSid) { + return baseDistributorApplyService.getDistributor1(sid, orgPath, userSid); + } + + @Override + public ResultBean getDistributor2(String sid, String orgPath, String userSid) { + return baseDistributorApplyService.getDistributor2(sid,orgPath,userSid); + } + + @Override + public ResultBean> getDistributorApplyList(PagerQuery pagerQuery) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = baseDistributorApplyService.getDistributorApplyList(pagerQuery); + return rb.success().setData(pv); + } + + @Override + public ResultBean deleteDistributor2(String sid) { + return baseDistributorApplyService.deleteDistributor2(sid); + } + + @Override + public ResultBean submitDistributor(AppSubmitApplyDto dto) { + return baseDistributorApplyService.submitDistributor(dto); + } +} diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapply/BaseDistributorApplyService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapply/BaseDistributorApplyService.java new file mode 100644 index 0000000000..686e0363d6 --- /dev/null +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapply/BaseDistributorApplyService.java @@ -0,0 +1,1995 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.base.biz.basedistributorapply; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.google.common.util.concurrent.ThreadFactoryBuilder; +import com.yxt.anrui.base.api.basedistributor.BaseDistributor; +import com.yxt.anrui.base.api.basedistributor.app.*; +import com.yxt.anrui.base.api.basedistributor.app.apply.*; +import com.yxt.anrui.base.api.basedistributorappendix.BaseDistributorAppendix; +import com.yxt.anrui.base.api.basedistributorapply.*; +import com.yxt.anrui.base.api.basedistributorapply.flow.*; +import com.yxt.anrui.base.api.basedistributorapplyappendix.BaseDistributorApplyAppendix; +import com.yxt.anrui.base.api.basedistributorapplyappendix.BaseDistributorApplyAppendixVo; +import com.yxt.anrui.base.biz.basedistributor.BaseDistributorService; +import com.yxt.anrui.base.biz.basedistributorappendix.BaseDistributorAppendixService; +import com.yxt.anrui.base.biz.basedistributorapplyappendix.BaseDistributorApplyAppendixService; +import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery; +import com.yxt.anrui.flowable.api.flow.FlowableFeign; +import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +import com.yxt.anrui.flowable.api.flow2.FlowFeign; +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.utils.ProcDefEnum; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; +import com.yxt.anrui.portal.api.sysorganization.*; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.portal.api.sysuser.UserRoleQuery; +import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterFeign; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +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.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.concurrent.*; +import java.util.stream.Collectors; + +/** + * Project: anrui-base(优惠包申请)
+ * File: BaseDiscountpackageApplyService.java
+ * Class: com.yxt.anrui.base.biz.basediscountpackageapply.BaseDiscountpackageApplyService
+ * Description: 优惠包申请 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-12-08 17:04:45
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class BaseDistributorApplyService extends MybatisBaseService { + + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private BaseDistributorService baseDistributorService; + @Autowired + private BaseDistributorApplyAppendixService baseDistributorApplyAppendixService; + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + @Autowired + private FlowableFeign flowableFeign; + @Autowired + private FlowFeign flowFeign; + @Autowired + private MessageFeign messageFeign; + @Autowired + private FlowTaskFeign flowTaskFeign; + @Autowired + private BaseDistributorAppendixService baseDistributorAppendixService; + @Autowired + private LoanParameterFeign loanParameterFeign; + @Autowired + private BaseDistributorApplyService baseDistributorApplyService; + + public BaseDistributorApply selOneByMainSid(String mainSid) { + return baseMapper.selOneByMainSid(mainSid); + } + + public PagerVo listPage(PagerQuery pq) { + IPage page = PagerUtil.queryToPage(pq); + BaseDistributorApplyQuery pagerQuery = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //======================= + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(pagerQuery.getOrgPath()); + privilegeQuery.setMenuSid(pagerQuery.getMenuSid()); + privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl()); + privilegeQuery.setUserSid(pagerQuery.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = pagerQuery.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("createBySid", pagerQuery.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + //======================= + //分公司 + if (StringUtils.isNotBlank(pagerQuery.getCompany())) { + qw.like("useOrgName", pagerQuery.getCompany()); + } + //申请部门 + if (StringUtils.isNotBlank(pagerQuery.getDept())) { + qw.like("dept", pagerQuery.getDept()); + } + //申请人 + if (StringUtils.isNotBlank(pagerQuery.getApplyName())) { + qw.like("applyName", pagerQuery.getApplyName()); + } + //销售专员 + if (StringUtils.isNotBlank(pagerQuery.getSalesman())) { + qw.like("salesman", pagerQuery.getSalesman()); + } + //经销商 + if (StringUtils.isNotBlank(pagerQuery.getDistributor())) { + qw.like("distributor", pagerQuery.getDistributor()); + } + String applyStartTime = pagerQuery.getApplyStartDate(); + String applyEndTime = pagerQuery.getApplyEndDate(); + qw.apply(StringUtils.isNotEmpty(applyStartTime), "date_format (applyDate,'%Y-%m-%d') >= date_format('" + applyStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(applyEndTime), "date_format (applyDate,'%Y-%m-%d') <= date_format('" + applyEndTime + "','%Y-%m-%d')" + ); + String effStartTime = pagerQuery.getEffectiveStartDate(); + String effEndTime = pagerQuery.getEffectiveEndDate(); + qw.apply(StringUtils.isNotEmpty(effStartTime), "date_format (effectiveDate,'%Y-%m-%d') >= date_format('" + effStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(effEndTime), "date_format (effectiveDate,'%Y-%m-%d') <= date_format('" + effEndTime + "','%Y-%m-%d')" + ); + qw.eq("isDelete", 0); + qw.orderByDesc("createTime"); + IPage pagging = baseMapper.listPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + /** + * 详情查看、编辑回显 + * + * @param sid + * @return + */ + public ResultBean detail(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseDistributorApplyDetailsVo vo = new BaseDistributorApplyDetailsVo(); + BaseDistributorApply baseDistributorApply = fetchBySid(sid); + if (null != baseDistributorApply) { + if (StringUtils.isNotBlank(baseDistributorApply.getDistributorSid())) { + String distributorSid = baseDistributorApply.getDistributorSid(); + BaseDistributorApplyDetailsVo data = baseDistributorService.recordInfo(distributorSid).getData(); + BeanUtil.copyProperties(data, vo, "sid", "orgSidPath", "userSid", "effectiveDate"); + vo.setSid(sid); + vo.setYyzzList(new ArrayList<>()); + vo.setDlysxkzList(new ArrayList<>()); + vo.setFrsfzList(new ArrayList<>()); + vo.setQtzlList(new ArrayList<>()); + vo.setHzxyList(new ArrayList<>()); + //------------------------------- + if (StringUtils.isNotBlank(baseDistributorApply.getCreateBySid())) { + vo.setUserSid(baseDistributorApply.getCreateBySid()); + } + if (StringUtils.isNotBlank(baseDistributorApply.getOrgSidPath())) { + vo.setOrgSidPath(baseDistributorApply.getOrgSidPath()); + } + if (StringUtils.isNotBlank(baseDistributorApply.getEffectiveDate())) { + vo.setEffectiveDate(baseDistributorApply.getEffectiveDate()); + } + if (StringUtils.isNotBlank(baseDistributorApply.getAgree())) { + vo.setAgree(baseDistributorApply.getAgree()); + } + if (StringUtils.isNotBlank(baseDistributorApply.getApplyName())) { + vo.setApplyName(baseDistributorApply.getApplyName()); + } + if (StringUtils.isNotBlank(baseDistributorApply.getSalesmanSid())) { + vo.setSalesmanSid(baseDistributorApply.getSalesmanSid()); + } + if (StringUtils.isNotBlank(baseDistributorApply.getSalesman())) { + vo.setSalesman(baseDistributorApply.getSalesman()); + } + if (null != baseDistributorApply.getApplyDate()) { + vo.setApplyDate(baseDistributorApply.getApplyDate()); + } + if (StringUtils.isNotBlank(baseDistributorApply.getDept())) { + vo.setDept(baseDistributorApply.getDept()); + } + if (StringUtils.isNotBlank(baseDistributorApply.getDeptSid())) { + vo.setDeptSid(baseDistributorApply.getDeptSid()); + } + //----------------------------------------------------------- + if (StringUtils.isNotBlank(baseDistributorApply.getSalesDeptSid())) { + vo.setSalesDeptSid(baseDistributorApply.getSalesDeptSid()); + } + if (StringUtils.isNotBlank(baseDistributorApply.getSalesDept())) { + vo.setSalesDept(baseDistributorApply.getSalesDept()); + } + if (StringUtils.isNotBlank(baseDistributorApply.getManage())) { + vo.setManage(baseDistributorApply.getManage()); + } + if (StringUtils.isNotBlank(baseDistributorApply.getManageSid())) { + vo.setManageSid(baseDistributorApply.getManageSid()); + } + if (StringUtils.isNotBlank(baseDistributorApply.getRemarks())) { + vo.setRemarks(baseDistributorApply.getRemarks()); + } + if (StringUtils.isNotBlank(baseDistributorApply.getTaskId())) { + vo.setTaskId(baseDistributorApply.getTaskId()); + } + if (StringUtils.isNotBlank(baseDistributorApply.getProcInstId())) { + vo.setInstanceId(baseDistributorApply.getProcInstId()); + } + String s = "营业执照,道路运输许可证,法人身份证,其他资料,合作协议"; + String[] split = s.split(","); + for (String attachType : split) { + if (attachType.equals("营业执照")) { + List baseDistributorApplyAppendixVo = baseDistributorApplyAppendixService.selByLinkSidAndAttachType(sid, attachType); + List list = new ArrayList<>(); + for (BaseDistributorApplyAppendixVo distributorAppendixVo : baseDistributorApplyAppendixVo) { + String filePath = distributorAppendixVo.getFilePath(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + filePath; + distributorAppendixVo.setFilePath(filePath); + list.add(filePath); + } + vo.setYyzzList(list); + } else if (attachType.equals("道路运输许可证")) { + List baseDistributorApplyAppendixVo = baseDistributorApplyAppendixService.selByLinkSidAndAttachType(sid, attachType); + List list = new ArrayList<>(); + for (BaseDistributorApplyAppendixVo distributorAppendixVo : baseDistributorApplyAppendixVo) { + String filePath = distributorAppendixVo.getFilePath(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + filePath; + distributorAppendixVo.setFilePath(filePath); + list.add(filePath); + } + vo.setDlysxkzList(list); + } else if (attachType.equals("法人身份证")) { + List baseDistributorApplyAppendixVo = baseDistributorApplyAppendixService.selByLinkSidAndAttachType(sid, attachType); + List list = new ArrayList<>(); + for (BaseDistributorApplyAppendixVo distributorAppendixVo : baseDistributorApplyAppendixVo) { + String filePath = distributorAppendixVo.getFilePath(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + filePath; + distributorAppendixVo.setFilePath(filePath); + list.add(filePath); + } + vo.setFrsfzList(list); + } else if (attachType.equals("其他资料")) { + List baseDistributorApplyAppendixVo = baseDistributorApplyAppendixService.selByLinkSidAndAttachType(sid, attachType); + List list = new ArrayList<>(); + for (BaseDistributorApplyAppendixVo distributorAppendixVo : baseDistributorApplyAppendixVo) { + String filePath = distributorAppendixVo.getFilePath(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + filePath; + distributorAppendixVo.setFilePath(filePath); + list.add(filePath); + } + vo.setQtzlList(list); + } else if (attachType.equals("合作协议")) { + List baseDistributorApplyAppendixVo = baseDistributorApplyAppendixService.selByLinkSidAndAttachType(sid, attachType); + List list = new ArrayList<>(); + for (BaseDistributorApplyAppendixVo distributorAppendixVo : baseDistributorApplyAppendixVo) { + String filePath = distributorAppendixVo.getFilePath(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + filePath; + distributorAppendixVo.setFilePath(filePath); + list.add(filePath); + } + vo.setHzxyList(list); + } + } + } + } + return rb.success().setData(vo); + } + + @Transactional(rollbackFor = Exception.class) + public ResultBean saveApply(BaseDistributorApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + List yyzzList = dto.getYyzzList(); + List dlysxkzList = dto.getDlysxkzList(); + List frsfzList = dto.getFrsfzList(); + List qtzlList = dto.getQtzlList(); + List hzxyList = dto.getHzxyList(); + String sid = ""; + if (StringUtils.isNotBlank(dto.getSid())) { + sid = dto.getSid(); + BaseDistributorApply baseDistributorApply = fetchBySid(sid); + BeanUtil.copyProperties(dto, baseDistributorApply, "id", "sid"); + int i = baseMapper.updateById(baseDistributorApply); + baseDistributorApplyAppendixService.delByLinkSid(sid); + for (String baseDistributorApplyAppendixDto : yyzzList) {//营业执照附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorApplyAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("营业执照"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("营业执照附件保存失败"); + } + } + for (String baseDistributorApplyAppendixDto : dlysxkzList) {//道路运输许可证附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorApplyAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("道路运输许可证"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("道路运输许可证附件保存失败"); + } + } + for (String baseDistributorAppendixDto : frsfzList) {//法人身份证附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("法人身份证"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("法人身份证附件保存失败"); + } + } + for (String baseDistributorAppendixDto : qtzlList) {//其他资料附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("其他资料"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("其他资料附件保存失败"); + } + } + for (String baseDistributorAppendixDto : hzxyList) {//其他资料附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("合作协议"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("合作协议附件保存失败"); + } + } + } else { + BaseDistributorApply distributorApply = new BaseDistributorApply(); + BaseDistributor baseDistributor = baseDistributorService.fetchBySid(dto.getDistributorSid()); + sid = distributorApply.getSid(); + BeanUtil.copyProperties(dto, distributorApply, "id", "sid"); + distributorApply.setCreateBySid(dto.getUserSid()); + ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgSidPath()); + if (orgSidByPath.getSuccess()) { + String userOrgSid = orgSidByPath.getData(); + distributorApply.setUseOrgSid(userOrgSid); + ResultBean organizationVo = sysOrganizationFeign.fetchBySid(userOrgSid); + if (organizationVo.getSuccess()) { + SysOrganizationVo organizationVoData = organizationVo.getData(); + if (null != organizationVoData) { + distributorApply.setUseOrgName(organizationVoData.getName()); + } + } + } + if (null != baseDistributor) { + distributorApply.setDistributor(baseDistributor.getDisName()); + } + distributorApply.setNodeState("待提交"); + baseMapper.insert(distributorApply); + //------------------设置经销商备案状态为备案中----------------------- + baseDistributor.setFilingState(2); + baseDistributorService.updateById(baseDistributor); + baseDistributorApplyAppendixService.delByLinkSid(sid); + for (String baseDistributorApplyAppendixDto : yyzzList) {//营业执照附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorApplyAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("营业执照"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("营业执照附件保存失败"); + } + } + for (String baseDistributorApplyAppendixDto : dlysxkzList) {//道路运输许可证附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + BeanUtil.copyProperties(baseDistributorApplyAppendixDto, entity); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorApplyAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("道路运输许可证"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("道路运输许可证附件保存失败"); + } + } + for (String baseDistributorAppendixDto : frsfzList) {//法人身份证附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("法人身份证"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("法人身份证附件保存失败"); + } + } + for (String baseDistributorAppendixDto : qtzlList) {//其他资料附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("其他资料"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("其他资料附件保存失败"); + } + } + for (String baseDistributorAppendixDto : hzxyList) {//其他资料附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("合作协议"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("合作协议附件保存失败"); + } + } + } + return rb.success().setData(sid); + } + + public ResultBean deleteBySids(String[] sids) { + ResultBean rb = ResultBean.fireFail(); + for (String sid : sids) { + BaseDistributorApply baseDistributorApply = fetchBySid(sid); + if (!baseDistributorApply.getNodeState().equals("待提交")) { + return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败"); + } + baseMapper.deleteBySid(sid); + //------设置经销商状态为未备案------------- + BaseDistributor baseDistributor = baseDistributorService.fetchBySid(baseDistributorApply.getDistributorSid()); + baseDistributor.setFilingState(0); + baseDistributorService.updateById(baseDistributor); + } + return rb.success().setMsg("删除成功"); + } + + public ResultBean selectMangerByDeptSid(String deptSid) { + ResultBean rb = ResultBean.fireFail(); + BaseSalesManger baseSalesManger = new BaseSalesManger(); + SysOrganization data = sysOrganizationFeign.selectBySid(deptSid).getData(); + if (null != data) { + if (StringUtils.isNotBlank(data.getManagerSid())) { + baseSalesManger.setManageSid(data.getManagerSid()); + } + if (StringUtils.isNotBlank(data.getManagerName())) { + baseSalesManger.setManage(data.getManagerName()); + } + } + return rb.success().setData(baseSalesManger); + } +//-------------------------------------流程------------------------------------------------/ + + /** + * 判断提交的流程是否被允许 + * + * @param dto + * @return + */ + private synchronized int submitBusinessData(SubmitBaseDistributorApplyDto dto, BaseDistributorApply baseDistributorApply) { + int r = 0; + if (StringUtils.isBlank(dto.getSid())) { + r = 1; + } else { + if (baseDistributorApply != null) { + String businessTaskId = baseDistributorApply.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; + } + + /** + * 更新流程相关的状态 + * + * @param map + * @return + */ + private int updateFlowFiled(Map map) { + return baseMapper.updateFlowFiled(map); + } + + public ResultBean submitRecordApplication(SubmitBaseDistributorApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + BaseDistributorApply baseDistributorApply = fetchBySid(dto.getSid()); + int r = submitBusinessData(dto, baseDistributorApply); + if (r == 3) { + return rb.setMsg("该申请不存在"); + } + if (r == 0) { + return rb.setMsg("操作失败!提交的数据不一致"); + } + String businessSid = ""; + //新增修改保存 + ResultBean resultBean = saveApply(dto); + if (resultBean.getSuccess()) { + businessSid = resultBean.getData(); + } + BaseDistributorApply entity = fetchBySid(businessSid); + String orgSidPath = ""; + if (StringUtils.isNotBlank(entity.getOrgSidPath())) { + orgSidPath = entity.getOrgSidPath(); + } else { + SysUserVo data = sysUserFeign.fetchBySid(entity.getCreateBySid()).getData(); + if (null != data) { + //根据staffSid获取用户的组织全路径 + ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(data.getStaffSid()); + if (!staffOrgResultBean.getSuccess()) { + return rb.setMsg(staffOrgResultBean.getMsg()); + } + //用户的组织全路径 + orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); + } + } + List orgPathList = Arrays.asList(orgSidPath.split("/")); + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(orgPathList.get(orgPathList.size() - 1)).getData(); + if (sysOrganization == null) { + return rb.setMsg("当前所在的组织机构不存在"); + } + if (StringUtils.isBlank(sysOrganization.getManagerSid())) { +// return rb.setMsg("当前所在的组织机构未设置主管人员"); + sysOrganization.setManagerSid(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId()); + } + //创建BusinessVariables实体对象 + BusinessVariables bv = new BusinessVariables(); + //流程中的参数赋值 + Map variables = BeanUtil.beanToMap(dto); + Map appMap = new HashMap<>(); + //若有网关,则赋值网关中判断的字段。 + boolean isDecide = true; + //去查询是否同意 + if (StringUtils.isNotBlank(entity.getAgree())) { + if (entity.getAgree().equals("0")) { + isDecide = false; + } + } + variables.put("isDecide", isDecide); + variables.put("businessSid", businessSid); + appMap.put("sid", businessSid); + variables.put("app", appMap); + BaseDistributorApply baseDistributorApply1 = fetchBySid(businessSid); + String msgBusinessSid = baseDistributorApply1.getSid(); + //用户的部门全路径sid + bv.setOrgSidPath(baseDistributorApply1.getOrgSidPath()); + //业务sid + bv.setBusinessSid(businessSid); + //用户sid + bv.setUserSid(dto.getUserSid()); + bv.setFormVariables(variables); + String nextNodeUserSids_ = sysOrganization.getManagerSid(); + bv.setNextNodeUserSids(nextNodeUserSids_); + //流程定义id + bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId()); + if (r == 1) { + //流程定义id + bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId()); + ResultBean voResultBean = flowFeign.startProcess(bv); + if (!voResultBean.getSuccess()) { + return rb.setMsg(voResultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = voResultBean.getData(); + int i = updateFlowFiled(BeanUtil.beanToMap(ufVo)); + //==================================添加线程 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + Future future1 = pool.submit(() -> { + //极光推送 + // busVehicleApply.set(fetchBySid(businessSid)) + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(msgBusinessSid); + messageFlowableQuery.setModuleName("经销商备案"); + SysUserVo userVo = sysUserFeign.fetchBySid(baseDistributorApply1.getCreateBySid()).getData(); + if (userVo != null) { + if (StringUtils.isNotBlank(userVo.getName())) { + messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + } + } + messageFlowableQuery.setMsgTitle("经销商备案"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } + //==================================添加线程 + return voResultBean; + } + if (r == 2) { + // ToDo:驳回到发起人后再次提交 + if (StringUtils.isBlank(dto.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + BaseDistributorApply baseDistributor2 = fetchBySid(dto.getSid()); + bv.setTaskId(dto.getTaskId()); + bv.setTaskDefKey(baseDistributor2.getNodeSid()); + bv.setComment("重新提交"); + bv.setInstanceId(dto.getInstanceId()); + return complete(bv); + } + return rb; + } + + public ResultBean complete(BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = bv.getBusinessSid(); + BaseDistributorApply baseDistributorApply = this.fetchBySid(businessSid); + if (bv.getTaskId().equals(baseDistributorApply.getTaskId())) { + bv.setOrgSidPath(baseDistributorApply.getOrgSidPath()); + ResultBean resultBean = flowFeign.handleProsess(bv); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + int i = updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { + //更新经销商备案附件 + String s = "营业执照,道路运输许可证,法人身份证,其他资料,合作协议"; + List yyzz = new ArrayList<>(); + List dlxkz = new ArrayList<>(); + List frsfz = new ArrayList<>(); + List qtzl = new ArrayList<>(); + List hzyx = new ArrayList<>(); + String[] split = s.split(","); + for (String attachType : split) { + if (attachType.equals("营业执照")) { + List baseDistributorApplyAppendixVo = baseDistributorApplyAppendixService.selByLinkSidAndAttachType(businessSid, attachType); + for (BaseDistributorApplyAppendixVo distributorAppendixVo : baseDistributorApplyAppendixVo) { + String filePath = distributorAppendixVo.getFilePath(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + filePath; + distributorAppendixVo.setFilePath(filePath); + yyzz.add(filePath); + } + } else if (attachType.equals("道路运输许可证")) { + List baseDistributorApplyAppendixVo = baseDistributorApplyAppendixService.selByLinkSidAndAttachType(businessSid, attachType); + for (BaseDistributorApplyAppendixVo distributorAppendixVo : baseDistributorApplyAppendixVo) { + String filePath = distributorAppendixVo.getFilePath(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + filePath; + distributorAppendixVo.setFilePath(filePath); + dlxkz.add(filePath); + } + } else if (attachType.equals("法人身份证")) { + List baseDistributorApplyAppendixVo = baseDistributorApplyAppendixService.selByLinkSidAndAttachType(businessSid, attachType); + for (BaseDistributorApplyAppendixVo distributorAppendixVo : baseDistributorApplyAppendixVo) { + String filePath = distributorAppendixVo.getFilePath(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + filePath; + distributorAppendixVo.setFilePath(filePath); + frsfz.add(filePath); + } + } else if (attachType.equals("其他资料")) { + List baseDistributorApplyAppendixVo = baseDistributorApplyAppendixService.selByLinkSidAndAttachType(businessSid, attachType); + for (BaseDistributorApplyAppendixVo distributorAppendixVo : baseDistributorApplyAppendixVo) { + String filePath = distributorAppendixVo.getFilePath(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + filePath; + distributorAppendixVo.setFilePath(filePath); + qtzl.add(filePath); + } + } else if (attachType.equals("合作协议")) { + List baseDistributorApplyAppendixVo = baseDistributorApplyAppendixService.selByLinkSidAndAttachType(businessSid, attachType); + for (BaseDistributorApplyAppendixVo distributorAppendixVo : baseDistributorApplyAppendixVo) { + String filePath = distributorAppendixVo.getFilePath(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + filePath; + distributorAppendixVo.setFilePath(filePath); + hzyx.add(filePath); + } + } + } + //------------------------开始复制------------------------------- + String distributorSid = baseDistributorApply.getDistributorSid(); + baseDistributorAppendixService.delByLinkSid(distributorSid); + if (!yyzz.isEmpty()) { + for (String baseDistributorAppendixDto : yyzz) {//营业执照附件保存 + BaseDistributorAppendix entity = new BaseDistributorAppendix(); + entity.setCreateBySid(baseDistributorApply.getCreateBySid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(distributorSid); + entity.setAttachType("营业执照"); + boolean save = baseDistributorAppendixService.save(entity); + if (!save) { + return rb.setMsg("营业执照附件保存失败"); + } + } + } + if (!dlxkz.isEmpty()) { + for (String baseDistributorAppendixDto : dlxkz) {//道路运输许可证附件保存 + BaseDistributorAppendix entity = new BaseDistributorAppendix(); + entity.setCreateBySid(baseDistributorApply.getCreateBySid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(distributorSid); + entity.setAttachType("道路运输许可证"); + boolean save = baseDistributorAppendixService.save(entity); + if (!save) { + return rb.setMsg("道路运输许可证附件保存失败"); + } + } + } + + if (!frsfz.isEmpty()) { + for (String baseDistributorAppendixDto : frsfz) {//法人身份证附件保存 + BaseDistributorAppendix entity = new BaseDistributorAppendix(); + entity.setCreateBySid(baseDistributorApply.getCreateBySid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(distributorSid); + entity.setAttachType("法人身份证"); + boolean save = baseDistributorAppendixService.save(entity); + if (!save) { + return rb.setMsg("法人身份证附件保存失败"); + } + } + } + if (!qtzl.isEmpty()) { + for (String baseDistributorAppendixDto : qtzl) {//其他资料附件保存 + BaseDistributorAppendix entity = new BaseDistributorAppendix(); + entity.setCreateBySid(baseDistributorApply.getCreateBySid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(distributorSid); + entity.setAttachType("其他资料"); + boolean save = baseDistributorAppendixService.save(entity); + if (!save) { + return rb.setMsg("其他资料附件保存失败"); + } + } + } + if (!hzyx.isEmpty()) { + for (String baseDistributorAppendixDto : hzyx) {//合作协议附件保存 + BaseDistributorAppendix entity = new BaseDistributorAppendix(); + entity.setCreateBySid(baseDistributorApply.getCreateBySid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(distributorSid); + entity.setAttachType("合作协议"); + boolean save = baseDistributorAppendixService.save(entity); + if (!save) { + return rb.setMsg("合作协议附件保存失败"); + } + } + } + //-----------更新经销商备案状态为已备案-------------------- + String effectiveDate = baseDistributorApply.getEffectiveDate(); + BaseDistributor baseDistributor = baseDistributorService.fetchBySid(distributorSid); + baseDistributor.setFilingState(1); + //更新有效期 + baseDistributor.setEffectiveDate(effectiveDate); + baseDistributorService.updateById(baseDistributor); + } + return rb.success().setData(resultBean.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + } + + /** + * 分公司跨风控办理 + * + * @param bv + * @return + */ + public ResultBean companyToDivisionOperate(BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + BaseDistributorApply baseDistributorApply = fetchBySid(bv.getBusinessSid()); + bv.setOrgSidPath(baseDistributorApply.getOrgSidPath()); + Map variables = bv.getFormVariables(); + baseDistributorApply = fetchBySid(bv.getBusinessSid()); + FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); + flowProcessMapQuery.setProDefKey(baseDistributorApply.getProcDefId()); + flowProcessMapQuery.setVariables(variables); + variables = flowableFeign.getMap(flowProcessMapQuery).getData(); + bv.setFormVariables(variables); + //======================================= + ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); + List candidateGroups = voList.get(0).getCandidateGroups(); + UserRoleQuery userRoleQuery = new UserRoleQuery(); + userRoleQuery.setRoleSid(candidateGroups.get(0)); + List sysUserVos = sysUserFeign.getOtherOrgRoleUser(userRoleQuery).getData(); + StringBuilder nextNodeUserSids = new StringBuilder(); + if (sysUserVos.size() > 0) { + for (SysUserVo sysUserVo : sysUserVos) { + String sid = sysUserVo.getSid(); + nextNodeUserSids.append(sid).append(","); + } + } + if (StringUtils.isBlank(nextNodeUserSids)) { + return rb.setMsg("下一环节暂无操作人员"); + } + String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(",")); + bv.setNextNodeUserSids(substring); + if (bv.getTaskId().equals(baseDistributorApply.getTaskId())) { + variables = new HashMap<>(); + Map appMap = new HashMap<>(); + appMap.put("sid", bv.getBusinessSid()); + variables.put("app", appMap); + //======================================== + baseDistributorApply = fetchBySid(bv.getBusinessSid()); + flowProcessMapQuery = new FlowProcessMapQuery(); + flowProcessMapQuery.setProDefKey(baseDistributorApply.getProcDefId()); + flowProcessMapQuery.setVariables(variables); + variables = flowableFeign.getMap(flowProcessMapQuery).getData(); + //======================================= + bv.setFormVariables(variables); + ResultBean resultBean1 = flowFeign.handleProsess(bv); + if (!resultBean1.getSuccess()) { + return rb.setMsg(resultBean1.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean1.getData(); + updateFlowFiled(BeanUtil.beanToMap(resultBean1.getData())); + //极光推送 + baseDistributorApply = fetchBySid(bv.getBusinessSid()); + SysUserVo userVo = sysUserFeign.fetchBySid(baseDistributorApply.getCreateBySid()).getData(); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + messageFlowVo.setProcInsId(baseDistributorApply.getProcInstId()); + messageFlowVo.setProcDefId(baseDistributorApply.getProcDefId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(bv.getBusinessSid()); + messageFlowableQuery.setModuleName("经销商备案"); + messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("经销商备案"); + messageFeign.pushMessage(messageFlowableQuery); + return rb.success().setData(resultBean1.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + } + + public ResultBean revokeProcess(BaseDistributorApplyTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + BaseDistributorApply baseDistributorApply = fetchBySid(query.getBusinessSid()); + String businessTaskId = baseDistributorApply.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 taskReject(BaseDistributorApplyTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = query.getBusinessSid(); + BaseDistributorApply baseDistributorApply = fetchBySid(businessSid); + if (baseDistributorApply == null) { + return rb.setMsg("该申请不存在"); + } + String businessTaskId = baseDistributorApply.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + if (org.apache.commons.lang3.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); + //极光推送 + baseDistributorApply = fetchBySid(businessSid); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + String procId = baseDistributorApply.getProcInstId(); + messageFlowVo.setProcInsId(procId); + messageFlowVo.setProcDefId(baseDistributorApply.getProcDefId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("经销商备案"); + ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); + String nextName = listResultBean.getData().get(0).getName_(); + String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); + List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); +// if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busVehicleApply.getCreateBySid())) { + if ("发起申请".equals(nextName)) { + messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); + } else { + SysUserVo userVo = sysUserFeign.fetchBySid(baseDistributorApply.getCreateBySid()).getData(); + if (userVo != null) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(userVo.getName())) { + messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + } + } + } + messageFlowableQuery.setMsgTitle("经销商备案"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + return rb.success(); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean breakProcess(BaseDistributorApplyTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (org.apache.commons.lang3.StringUtils.isBlank(query.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + if (org.apache.commons.lang3.StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + if (org.apache.commons.lang3.StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + BaseDistributorApply baseDistributorApply = fetchBySid(query.getBusinessSid()); + String businessTaskId = baseDistributorApply.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (query.getUserSid().equals(baseDistributorApply.getCreateBySid())) { + 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); + //终止任务后经销商备案状态改完未备案 + BaseDistributorApply baseDistributorApply1 = fetchBySid(query.getBusinessSid()); + if (baseDistributorApply1.getNodeState().equals("终止")) { + String distributorSid = baseDistributorApply1.getDistributorSid(); + BaseDistributor baseDistributor = baseDistributorService.fetchBySid(distributorSid); + baseDistributor.setFilingState(0); + baseDistributorService.updateById(baseDistributor); + } + return rb.success().setData(resultBean.getData()); + } else { + 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); + //终止任务后经销商备案状态改完未备案 + BaseDistributorApply baseDistributorApply1 = fetchBySid(query.getBusinessSid()); + if (baseDistributorApply1.getNodeState().equals("终止")) { + String distributorSid = baseDistributorApply1.getDistributorSid(); + BaseDistributor baseDistributor = baseDistributorService.fetchBySid(distributorSid); + baseDistributor.setFilingState(0); + baseDistributorService.updateById(baseDistributor); + } + return rb.success().setData(resultBean.getData()); + } + } + + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean flowRecord(String procInsId) { + return flowTaskFeign.businessFlowRecord(procInsId); + } + + public ResultBean> getNextNodesForSubmit(GetNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //根据业务sid查询排产信息 + BaseDistributorApply baseDistributorApply = fetchBySid(query.getBusinessSid()); + boolean isDecide = true; + //去查询是否同意 + if (StringUtils.isNotBlank(baseDistributorApply.getAgree())) { + if (baseDistributorApply.getAgree().equals("0")) { + isDecide = false; + } + } + variables.put("isDecide", isDecide); + bv.setFormVariables(variables); + bv.setModelId(baseDistributorApply.getProcDefId()); + ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //根据业务sid查询排产信息 + BaseDistributorApply baseDistributorApply = fetchBySid(query.getBusinessSid()); + boolean isDecide = true; + //去查询是否同意 + if (StringUtils.isNotBlank(baseDistributorApply.getAgree())) { + if (baseDistributorApply.getAgree().equals("0")) { + isDecide = false; + } + } + variables.put("isDecide", isDecide); + bv.setFormVariables(variables); + bv.setModelId(baseDistributorApply.getProcDefId()); + ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + //--------------------------移动端------------------------------------------ + + /** + * 备案回显 + * + * @param sid + * @param orgPath + * @param userSid + * @return + */ + public ResultBean getDistributor1(String sid, String orgPath, String userSid) { + ResultBean rb = ResultBean.fireFail(); + BaseDisDetailsVo vo = new BaseDisDetailsVo(); + BaseDisDetailsVo data = baseDistributorService.getDistributorDetail(sid).getData(); + if (null != data) { + BeanUtil.copyProperties(data, vo); + } + vo.setJxsSid(sid); + vo.setUserSid(userSid); + vo.setOrgPath(orgPath); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + AppSalesDeptVo appSalesDeptVo = new AppSalesDeptVo(); + appSalesDeptVo.setApplyDate(sdf.format(new Date())); + //----风控参数中获取有效期------ + String jxsbayxq = loanParameterFeign.fetchByParNo("JXSBAYXQ").getData(); + if (StringUtils.isNotBlank(jxsbayxq)) { + Date dateByDay = getDateByDay(new Date(), Integer.valueOf(jxsbayxq)); + appSalesDeptVo.setEffectiveDate(DateUtil.format(dateByDay, "yyyy-MM-dd")); + } + BaseDistributorApply entity = baseDistributorApplyService.selOneByMainSid(sid); + if (null != entity) { + if (StringUtils.isNotBlank(entity.getRemarks())) { + appSalesDeptVo.setRemarks(entity.getRemarks()); + } + if (StringUtils.isNotBlank(entity.getAgree())) { + appSalesDeptVo.setAgree(entity.getAgree()); + } + if (StringUtils.isNotBlank(entity.getEffectiveDate())) { + appSalesDeptVo.setEffectiveDate(entity.getEffectiveDate()); + } +// 主管人员 + if (StringUtils.isNotBlank(entity.getManageSid())) { + appSalesDeptVo.setMangeSid(entity.getManageSid()); + } + if (StringUtils.isNotBlank(entity.getManage())) { + appSalesDeptVo.setMange(entity.getManage()); + } + //销售部门 + if (StringUtils.isNotBlank(entity.getSalesDeptSid())) { + appSalesDeptVo.setSalesDeptSid(entity.getSalesDeptSid()); + } + if (StringUtils.isNotBlank(entity.getSalesDept())) { + appSalesDeptVo.setSalesDept(entity.getSalesDept()); + } + //销售专员 + if (StringUtils.isNotBlank(entity.getSalesman())) { + appSalesDeptVo.setSalesman(entity.getSalesman()); + } + if (StringUtils.isNotBlank(entity.getSalesmanSid())) { + appSalesDeptVo.setSalesmanSid(entity.getSalesmanSid()); + } + } + SysUserVo sysUserVo = sysUserFeign.fetchBySid(userSid).getData(); + if (null != sysUserVo) { + appSalesDeptVo.setApplyName(sysUserVo.getName()); + //根据orgPath查询部门 + List orgPathsList = Arrays.asList(orgPath.split("/")); + String orgSids = orgPathsList.get(orgPathsList.size() - 1); + appSalesDeptVo.setDeptSid(orgSids); + ResultBean organizationResultBean = sysOrganizationFeign.fetchBySid(orgSids); + if (organizationResultBean.getData() != null) { + String deptName = organizationResultBean.getData().getName(); + appSalesDeptVo.setDept(deptName); + } + BaseSalesManger baseSalesManger = selectMangerByDeptSid(orgSids).getData(); + if (null != baseSalesManger) { + if (StringUtils.isNotBlank(baseSalesManger.getManageSid())) { + appSalesDeptVo.setTempMangeSid(baseSalesManger.getManageSid()); + } + if (StringUtils.isNotBlank(baseSalesManger.getManage())) { + appSalesDeptVo.setTempMange(baseSalesManger.getManage()); + } + } + } + vo.setSalesDeptVo(appSalesDeptVo); + return rb.success().setData(vo); + } + + + public static Date getDateByDay(Date sDate, int num) { + Calendar cal = Calendar.getInstance(); + // 设置开始时间 + cal.setTime(sDate); + //增加或减少num天 + cal.add(Calendar.DATE, num); + //cal.add(Calendar.DATE, -10);//减10天 + //cal.add(Calendar.DATE, 2);//加2天 + return cal.getTime(); + } + + public ResultBean> getSalesDept(String userSid, String orgPath) { + ResultBean> rb = ResultBean.fireFail(); + List appDeptVos = new ArrayList<>(); + SysOrganizationListQuery query = new SysOrganizationListQuery(); + query.setOrgPath(orgPath); + query.setUserSid(userSid); + List data = sysOrganizationFeign.selectOrgList(query).getData(); + data.removeAll(Collections.singleton(null)); + if (!data.isEmpty()) { + for (SysOrganizationListVo datum : data) { + AppDeptVo appDeptVo = new AppDeptVo(); + AppObjectDept objectDept = new AppObjectDept(); + String mangeSid = ""; + String mange = ""; + if (StringUtils.isNotBlank(datum.getOrgDeptSid())) { + appDeptVo.setDictKey(datum.getOrgDeptSid()); + BaseSalesManger baseSalesManger = selectMangerByDeptSid(datum.getOrgDeptSid()).getData(); + if (null != baseSalesManger) { + if (StringUtils.isNotBlank(baseSalesManger.getManage())) { + mange = baseSalesManger.getManage(); + } + if (StringUtils.isNotBlank(baseSalesManger.getManageSid())) { + mangeSid = baseSalesManger.getManageSid(); + } + } + } + if (StringUtils.isNotBlank(datum.getOrgDeptName())) { + appDeptVo.setDictValue(datum.getOrgDeptName()); + } + objectDept.setMange(mange); + objectDept.setMangeSid(mangeSid); + //组装销售专员 + List users = new ArrayList<>(); + List staffinfoVoList = datum.getStaffinfoVoList(); + staffinfoVoList.removeAll(Collections.singleton(null)); + if (!staffinfoVoList.isEmpty()) { + for (SysOrgStaffVo sysOrgStaffVo : staffinfoVoList) { + AppSalesman appSalesman = new AppSalesman(); + if (StringUtils.isNotBlank(sysOrgStaffVo.getUserSid())) { + appSalesman.setDictKey(sysOrgStaffVo.getUserSid()); + } + if (StringUtils.isNotBlank(sysOrgStaffVo.getStaffName())) { + appSalesman.setDictValue(sysOrgStaffVo.getStaffName()); + } + users.add(appSalesman); + } + } + objectDept.setUsers(users); + appDeptVo.setExtra2(objectDept); + appDeptVos.add(appDeptVo); + } + } + return rb.success().setData(appDeptVos); + } + + public ResultBean saveDistributor(AppDistributorDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = ""; + BaseFileDto fileInfo = dto.getFileInfo(); + List hzxyList = fileInfo.getAgreement(); + List yyzzList = fileInfo.getBusinessLicense(); + List frsfzList = fileInfo.getCorporateIdCard(); + List qtzlList = fileInfo.getOtherInfo(); + List dlysxkzList = fileInfo.getTransportPermit(); + if (StringUtils.isNotBlank(dto.getBeiAnSid())) { + sid = dto.getBeiAnSid(); + BaseDistributorApply baseDistributorApply = fetchBySid(dto.getBeiAnSid()); + if (dto.getSalesDeptVo() != null) { + AppSalesDeptVo salesDeptVo = dto.getSalesDeptVo(); + BeanUtil.copyProperties(dto.getSalesDeptVo(), baseDistributorApply, "id", "sid"); + if (StringUtils.isNotBlank(salesDeptVo.getMange())) { + baseDistributorApply.setManage(salesDeptVo.getMange()); + } + if (StringUtils.isNotBlank(salesDeptVo.getMangeSid())) { + baseDistributorApply.setManageSid(salesDeptVo.getMangeSid()); + } + } + baseDistributorApplyAppendixService.delByLinkSid(sid); + for (String baseDistributorApplyAppendixDto : yyzzList) {//营业执照附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorApplyAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("营业执照"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("营业执照附件保存失败"); + } + } + for (String baseDistributorApplyAppendixDto : dlysxkzList) {//道路运输许可证附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorApplyAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("道路运输许可证"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("道路运输许可证附件保存失败"); + } + } + for (String baseDistributorAppendixDto : frsfzList) {//法人身份证附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("法人身份证"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("法人身份证附件保存失败"); + } + } + for (String baseDistributorAppendixDto : qtzlList) {//其他资料附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("其他资料"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("其他资料附件保存失败"); + } + } + for (String baseDistributorAppendixDto : hzxyList) {//其他资料附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("合作协议"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("合作协议附件保存失败"); + } + } + } else { + BaseDistributorApply baseDistributorApply = new BaseDistributorApply(); + sid = baseDistributorApply.getSid(); + if (dto.getSalesDeptVo() != null) { + AppSalesDeptVo salesDeptVo = dto.getSalesDeptVo(); + BeanUtil.copyProperties(dto.getSalesDeptVo(), baseDistributorApply, "id", "sid"); + if (StringUtils.isNotBlank(salesDeptVo.getMange())) { + baseDistributorApply.setManage(salesDeptVo.getMange()); + } + if (StringUtils.isNotBlank(salesDeptVo.getMangeSid())) { + baseDistributorApply.setManageSid(salesDeptVo.getMangeSid()); + } + } + baseDistributorApply.setOrgSidPath(dto.getOrgPath()); + baseDistributorApply.setDistributorSid(dto.getJxsSid()); + baseDistributorApply.setCreateBySid(dto.getUserSid()); + ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()); + if (orgSidByPath.getSuccess()) { + String userOrgSid = orgSidByPath.getData(); + baseDistributorApply.setUseOrgSid(userOrgSid); + ResultBean organizationVo = sysOrganizationFeign.fetchBySid(userOrgSid); + if (organizationVo.getSuccess()) { + SysOrganizationVo organizationVoData = organizationVo.getData(); + if (null != organizationVoData) { + baseDistributorApply.setUseOrgName(organizationVoData.getName()); + } + } + } + BaseDistributor baseDistributor = baseDistributorService.fetchBySid(dto.getJxsSid()); + if (null != baseDistributor) { + baseDistributorApply.setDistributor(baseDistributor.getDisName()); + } + baseDistributorApply.setNodeState("待提交"); + baseMapper.insert(baseDistributorApply); + //------------------设置经销商备案状态为备案中----------------------- + baseDistributor.setFilingState(2); + baseDistributorService.updateById(baseDistributor); + baseDistributorApplyAppendixService.delByLinkSid(sid); + for (String baseDistributorApplyAppendixDto : yyzzList) {//营业执照附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorApplyAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("营业执照"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("营业执照附件保存失败"); + } + } + for (String baseDistributorApplyAppendixDto : dlysxkzList) {//道路运输许可证附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + BeanUtil.copyProperties(baseDistributorApplyAppendixDto, entity); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorApplyAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("道路运输许可证"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("道路运输许可证附件保存失败"); + } + } + for (String baseDistributorAppendixDto : frsfzList) {//法人身份证附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("法人身份证"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("法人身份证附件保存失败"); + } + } + for (String baseDistributorAppendixDto : qtzlList) {//其他资料附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("其他资料"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("其他资料附件保存失败"); + } + } + for (String baseDistributorAppendixDto : hzxyList) {//其他资料附件保存 + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + entity.setCreateBySid(dto.getUserSid()); + entity.setCreateTime(new Date()); + String filePath = baseDistributorAppendixDto; + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + entity.setLinkSid(sid); + entity.setAttachType("合作协议"); + boolean save = baseDistributorApplyAppendixService.save(entity); + if (!save) { + return rb.setMsg("合作协议附件保存失败"); + } + } + } + return rb.success().setData(sid); + } + + public PagerVo getDistributorApplyList(PagerQuery pq) { + IPage page = PagerUtil.queryToPage(pq); + BaseDistributorsQuery pagerQuery = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //======================= + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(pagerQuery.getOrgPath()); + privilegeQuery.setMenuSid(pagerQuery.getMenuSid()); + // privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl()); + privilegeQuery.setUserSid(pagerQuery.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = pagerQuery.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("createBySid", pagerQuery.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + //======================= + if (StringUtils.isNotBlank(pagerQuery.getName())) { + // qw.and(wrapper -> wrapper.like("contractId", query.getName()).or().like("customerName", query.getName())); + qw.like("distributor", pagerQuery.getName()); + } + qw.eq("isDelete", 0); + qw.orderByDesc("createTime"); + IPage pagging = baseMapper.getDistributorApplyList(page, qw); + List records = pagging.getRecords(); + records.removeAll(Collections.singleton(null)); + if (!records.isEmpty()) { + for (AppDistributorApplyVo record : records) { + record.setUpdateBtn(false); + record.setDeleteBtn(false); + if (StringUtils.isNotBlank(record.getApplyName()) && StringUtils.isNotBlank(record.getDept())) { + record.setPublishInfo(record.getDept() + "-" + record.getApplyName()); + } + if (StringUtils.isNotBlank(record.getState())) { + if (record.getState().equals("待提交")) { + record.setUpdateBtn(true); + record.setDeleteBtn(true); + } + } + + } + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + + public ResultBean deleteDistributor2(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseDistributorApply baseDistributorApply = fetchBySid(sid); + if (!baseDistributorApply.getNodeState().equals("待提交")) { + return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败"); + } + baseMapper.deleteBySid(sid); + //------设置经销商状态为未备案------------- + BaseDistributor baseDistributor = baseDistributorService.fetchBySid(baseDistributorApply.getDistributorSid()); + baseDistributor.setFilingState(0); + baseDistributorService.updateById(baseDistributor); + return rb.success().setMsg("删除成功"); + } + + public ResultBean getDistributor2(String sid, String orgPath, String userSid) { + ResultBean rb = ResultBean.fireFail(); + BaseDisDetailsVo vo = new BaseDisDetailsVo(); + BaseDistributorApply entity = fetchBySid(sid); + BaseFileVo baseFileVo = new BaseFileVo(); + AppSalesDeptVo appSalesDeptVo = new AppSalesDeptVo(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + vo.setSid(sid); + if (null != entity) { + BaseDisDetailsVo data = baseDistributorService.getDistributorDetail(entity.getDistributorSid()).getData(); + if (null != data) { + BeanUtil.copyProperties(data, vo); + } + vo.setFileInfo(new BaseFileVo()); + vo.setJxsSid(entity.getDistributorSid()); + vo.setBeiAnSid(entity.getSid()); + if (StringUtils.isNotBlank(entity.getTaskId())) { + vo.setTaskId(entity.getTaskId()); + } + if (StringUtils.isNotBlank(entity.getProcInstId())) { + vo.setProcInsId(entity.getProcInstId()); + } + if (StringUtils.isNotBlank(entity.getApplyName()) && StringUtils.isNotBlank(entity.getDept())) { + vo.setPublishInfo(entity.getDept() + "-" + entity.getApplyName()); + } + if (null != entity.getApplyDate()) { + appSalesDeptVo.setApplyDate(sdf.format(new Date())); + } + if (StringUtils.isNotBlank(entity.getRemarks())) { + appSalesDeptVo.setRemarks(entity.getRemarks()); + } + if (StringUtils.isNotBlank(entity.getAgree())) { + appSalesDeptVo.setAgree(entity.getAgree()); + } + if (StringUtils.isNotBlank(entity.getEffectiveDate())) { + appSalesDeptVo.setEffectiveDate(entity.getEffectiveDate()); + } +// 主管人员 + if (StringUtils.isNotBlank(entity.getManageSid())) { + appSalesDeptVo.setMangeSid(entity.getManageSid()); + } + if (StringUtils.isNotBlank(entity.getManage())) { + appSalesDeptVo.setMange(entity.getManage()); + } + //申请人 + if (StringUtils.isNotBlank(entity.getApplyName())) { + appSalesDeptVo.setApplyName(entity.getApplyName()); + } + //申请部门 + if (StringUtils.isNotBlank(entity.getDept())) { + appSalesDeptVo.setDept(entity.getDept()); + } + if (StringUtils.isNotBlank(entity.getDeptSid())) { + appSalesDeptVo.setDeptSid(entity.getDeptSid()); + } + //销售部门 + if (StringUtils.isNotBlank(entity.getSalesDeptSid())) { + appSalesDeptVo.setSalesDeptSid(entity.getSalesDeptSid()); + } + if (StringUtils.isNotBlank(entity.getSalesDept())) { + appSalesDeptVo.setSalesDept(entity.getSalesDept()); + } + //销售专员 + if (StringUtils.isNotBlank(entity.getSalesman())) { + appSalesDeptVo.setSalesman(entity.getSalesman()); + } + if (StringUtils.isNotBlank(entity.getSalesmanSid())) { + appSalesDeptVo.setSalesmanSid(entity.getSalesmanSid()); + } + } + vo.setUserSid(userSid); + vo.setOrgPath(orgPath); + vo.setSalesDeptVo(appSalesDeptVo); + String s = "营业执照,道路运输许可证,法人身份证,其他资料,合作协议"; + String[] split = s.split(","); + for (String attachType : split) { + if (attachType.equals("营业执照")) { + List baseDistributorApplyAppendixVo = baseDistributorApplyAppendixService.selByLinkSidAndAttachType(sid, attachType); + List list = new ArrayList<>(); + for (BaseDistributorApplyAppendixVo distributorAppendixVo : baseDistributorApplyAppendixVo) { + String filePath = distributorAppendixVo.getFilePath(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + filePath; + distributorAppendixVo.setFilePath(filePath); + list.add(filePath); + } + baseFileVo.setBusinessLicense(list); + } else if (attachType.equals("道路运输许可证")) { + List baseDistributorApplyAppendixVo = baseDistributorApplyAppendixService.selByLinkSidAndAttachType(sid, attachType); + List list = new ArrayList<>(); + for (BaseDistributorApplyAppendixVo distributorAppendixVo : baseDistributorApplyAppendixVo) { + String filePath = distributorAppendixVo.getFilePath(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + filePath; + distributorAppendixVo.setFilePath(filePath); + list.add(filePath); + } + baseFileVo.setTransportPermit(list); + } else if (attachType.equals("法人身份证")) { + List baseDistributorApplyAppendixVo = baseDistributorApplyAppendixService.selByLinkSidAndAttachType(sid, attachType); + List list = new ArrayList<>(); + for (BaseDistributorApplyAppendixVo distributorAppendixVo : baseDistributorApplyAppendixVo) { + String filePath = distributorAppendixVo.getFilePath(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + filePath; + distributorAppendixVo.setFilePath(filePath); + list.add(filePath); + } + baseFileVo.setCorporateIdCard(list); + } else if (attachType.equals("其他资料")) { + List baseDistributorApplyAppendixVo = baseDistributorApplyAppendixService.selByLinkSidAndAttachType(sid, attachType); + List list = new ArrayList<>(); + for (BaseDistributorApplyAppendixVo distributorAppendixVo : baseDistributorApplyAppendixVo) { + String filePath = distributorAppendixVo.getFilePath(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + filePath; + distributorAppendixVo.setFilePath(filePath); + list.add(filePath); + } + baseFileVo.setOtherInfo(list); + } else if (attachType.equals("合作协议")) { + List baseDistributorApplyAppendixVo = baseDistributorApplyAppendixService.selByLinkSidAndAttachType(sid, attachType); + List list = new ArrayList<>(); + for (BaseDistributorApplyAppendixVo distributorAppendixVo : baseDistributorApplyAppendixVo) { + String filePath = distributorAppendixVo.getFilePath(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + filePath; + distributorAppendixVo.setFilePath(filePath); + list.add(filePath); + } + baseFileVo.setAgreement(list); + } + } + vo.setFileInfo(baseFileVo); + //组装销售专员 + List users = new ArrayList<>(); + SysOrganizationListQuery query = new SysOrganizationListQuery(); + query.setOrgPath(orgPath); + query.setUserSid(userSid); + List sysOrganizationListVos = sysOrganizationFeign.selectOrgList(query).getData(); + sysOrganizationListVos.removeAll(Collections.singleton(null)); + if (!sysOrganizationListVos.isEmpty()) { + for (SysOrganizationListVo org : sysOrganizationListVos) { + if (org.getOrgDeptSid().equals(entity.getDeptSid())) { + List staff = org.getStaffinfoVoList(); + if (!staff.isEmpty()) { + for (SysOrgStaffVo sysOrgStaffVo : staff) { + AppSalesman user = new AppSalesman(); + if (StringUtils.isNotBlank(sysOrgStaffVo.getUserSid())) { + user.setDictKey(sysOrgStaffVo.getUserSid()); + } + if (StringUtils.isNotBlank(sysOrgStaffVo.getStaffName())) { + user.setDictValue(sysOrgStaffVo.getStaffName()); + } + users.add(user); + } + } + } + } + } + vo.setUsers(users); + return rb.success().setData(vo); + } + + /** + * // * 移动端判断提交的流程是否被允许 + * // * + * // * @param dto + * // * @return + * // + */ + private synchronized int appSubmitBusinessData(AppSubmitApplyDto dto, BaseDistributorApply baseDistributorApply) { + int r = 0; + if (org.apache.commons.lang3.StringUtils.isBlank(dto.getBeiAnSid())) { + r = 1; + } else { + if (baseDistributorApply != null) { + String businessTaskId = baseDistributorApply.getTaskId(); + if (org.apache.commons.lang3.StringUtils.isBlank(businessTaskId) && org.apache.commons.lang3.StringUtils.isBlank(dto.getTaskId())) { + //新提交 + r = 1; + } else if (org.apache.commons.lang3.StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { + //二次提交//只有数据一致的时候才能进行下一步 + r = 2; + } + } else { + r = 3; + } + } + return r; + } + + /** + * 移动端提交 + * + * @param dto + * @return + */ + public ResultBean submitDistributor(AppSubmitApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + BaseDistributorApply baseDistributorApply = fetchBySid(dto.getBeiAnSid()); + int r = appSubmitBusinessData(dto, baseDistributorApply); + if (r == 3) { + return rb.setMsg("该申请不存在"); + } + if (r == 0) { + return rb.setMsg("操作失败!提交的数据不一致"); + } + String businessSid = ""; + //新增修改保存 + ResultBean resultBean = saveDistributor(dto); + if (resultBean.getSuccess()) { + businessSid = resultBean.getData(); + } + BaseDistributorApply entity = fetchBySid(businessSid); + String orgSidPath = ""; + if (StringUtils.isNotBlank(entity.getOrgSidPath())) { + orgSidPath = entity.getOrgSidPath(); + } else { + SysUserVo data = sysUserFeign.fetchBySid(entity.getCreateBySid()).getData(); + if (null != data) { + //根据staffSid获取用户的组织全路径 + ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(data.getStaffSid()); + if (!staffOrgResultBean.getSuccess()) { + return rb.setMsg(staffOrgResultBean.getMsg()); + } + //用户的组织全路径 + orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); + } + } + List orgPathList = Arrays.asList(orgSidPath.split("/")); + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(orgPathList.get(orgPathList.size() - 1)).getData(); + if (sysOrganization == null) { + return rb.setMsg("当前所在的组织机构不存在"); + } + if (StringUtils.isBlank(sysOrganization.getManagerSid())) { +// return rb.setMsg("当前所在的组织机构未设置主管人员"); + sysOrganization.setManagerSid(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId()); + } + //创建BusinessVariables实体对象 + BusinessVariables bv = new BusinessVariables(); + //流程中的参数赋值 + Map variables = BeanUtil.beanToMap(dto); + Map appMap = new HashMap<>(); + //若有网关,则赋值网关中判断的字段。 + boolean isDecide = true; + //去查询是否同意 + if (StringUtils.isNotBlank(entity.getAgree())) { + if (entity.getAgree().equals("0")) { + isDecide = false; + } + } + variables.put("isDecide", isDecide); + variables.put("businessSid", businessSid); + appMap.put("sid", businessSid); + variables.put("app", appMap); + BaseDistributorApply baseDistributorApply1 = fetchBySid(businessSid); + String msgBusinessSid = baseDistributorApply1.getSid(); + //用户的部门全路径sid + bv.setOrgSidPath(baseDistributorApply1.getOrgSidPath()); + //业务sid + bv.setBusinessSid(businessSid); + //用户sid + bv.setUserSid(dto.getUserSid()); + bv.setFormVariables(variables); + String nextNodeUserSids_ = sysOrganization.getManagerSid(); + bv.setNextNodeUserSids(nextNodeUserSids_); + //流程定义id + bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId()); + if (r == 1) { + //流程定义id + bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId()); + ResultBean voResultBean = flowFeign.startProcess(bv); + if (!voResultBean.getSuccess()) { + return rb.setMsg(voResultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = voResultBean.getData(); + int i = updateFlowFiled(BeanUtil.beanToMap(ufVo)); + //==================================添加线程 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + Future future1 = pool.submit(() -> { + //极光推送 + // busVehicleApply.set(fetchBySid(businessSid)) + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(msgBusinessSid); + messageFlowableQuery.setModuleName("经销商备案"); + SysUserVo userVo = sysUserFeign.fetchBySid(baseDistributorApply1.getCreateBySid()).getData(); + if (userVo != null) { + if (StringUtils.isNotBlank(userVo.getName())) { + messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + } + } + messageFlowableQuery.setMsgTitle("经销商备案"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } + //==================================添加线程 + return voResultBean; + } + if (r == 2) { + // ToDo:驳回到发起人后再次提交 + if (StringUtils.isBlank(dto.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + BaseDistributorApply baseDistributor2 = fetchBySid(dto.getBeiAnSid()); + bv.setTaskId(dto.getTaskId()); + bv.setTaskDefKey(baseDistributor2.getNodeSid()); + bv.setComment("重新提交"); + bv.setInstanceId(dto.getInstanceId()); + return complete(bv); + } + return rb; + } + + +} \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapplyappendix/BaseDistributorApplyAppendixMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapplyappendix/BaseDistributorApplyAppendixMapper.java new file mode 100644 index 0000000000..36a9c915c0 --- /dev/null +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapplyappendix/BaseDistributorApplyAppendixMapper.java @@ -0,0 +1,51 @@ +package com.yxt.anrui.base.biz.basedistributorapplyappendix; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.base.api.basedistributorappendix.BaseDistributorAppendix; +import com.yxt.anrui.base.api.basedistributorappendix.BaseDistributorAppendixVo; +import com.yxt.anrui.base.api.basedistributorapplyappendix.BaseDistributorApplyAppendix; +import com.yxt.anrui.base.api.basedistributorapplyappendix.BaseDistributorApplyAppendixVo; +import org.apache.ibatis.annotations.*; + +import java.util.List; + +@Mapper +public interface BaseDistributorApplyAppendixMapper extends BaseMapper { + + /** + * 查询备案资料信息列表 + * + * @return + */ + List selectListVo(@Param(Constants.WRAPPER) Wrapper qw, @Param("path") String path); + + /** + * 根据备案资料sid查询是否存在 + * + * @param sid + * @return + */ + int selBySid(String sid); + + int selectPath(String path); + + int deletePath(String path); + + @Update("update base_distributor_apply_appendix set isDelete = 1 where sid = #{sid}") + int updateBySidIsDelete(String sid); + + @Delete("delete from base_distributor_apply_appendix where linkSid = #{sid}") + void delByLinkSid(String sid); + + @Select("select * from base_distributor_apply_appendix where linkSid = #{sid}") + List selByLinkSid(String sid); + + @Select("select * from base_distributor_apply_appendix where linkSid = #{sid} and attachType = #{attachType}") + List selByLinkSidAndAttachType(@Param("sid") String sid, @Param("attachType") String attachType); + + List selByLinkSidAndAttachTypeOne(@Param("sid") String sid, @Param("s") String s, @Param("path") String path); + + int selectByLinkSid(String sid); +} diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapplyappendix/BaseDistributorApplyAppendixMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapplyappendix/BaseDistributorApplyAppendixMapper.xml new file mode 100644 index 0000000000..bed1ea3a08 --- /dev/null +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapplyappendix/BaseDistributorApplyAppendixMapper.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + delete + from base_distributor_apply_appendix + where filePath = #{path} + + + + + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapplyappendix/BaseDistributorApplyAppendixRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapplyappendix/BaseDistributorApplyAppendixRest.java new file mode 100644 index 0000000000..9f8aae1f53 --- /dev/null +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapplyappendix/BaseDistributorApplyAppendixRest.java @@ -0,0 +1,201 @@ +package com.yxt.anrui.base.biz.basedistributorapplyappendix; + +import com.auth0.jwt.JWT; +import com.auth0.jwt.interfaces.DecodedJWT; +import com.yxt.anrui.base.api.basedistributor.BaseDistributor; +import com.yxt.anrui.base.api.basedistributorappendix.*; +import com.yxt.anrui.base.api.basedistributorapplyappendix.*; +import com.yxt.anrui.base.biz.basedistributor.BaseDistributorService; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.utils.JWTUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.result.FileUploadResult; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + + +@Api(tags = "经销商备案资料") +@RestController +@RequestMapping("v1/basedistributorapplyappendix") +public class BaseDistributorApplyAppendixRest implements BaseDistributorApplyAppendixFeign { + + @Autowired + private BaseDistributorApplyAppendixService baseDistributorApplyAppendixService; + + @Autowired + private HttpServletRequest request; + + @Autowired + private SysUserFeign sysUserFeign; + + @Autowired + private BaseDistributorService baseDistributorService; + @Autowired + private FileUploadComponent fileUploadComponent; + + /** + * 查询备案资料信息列表 + * + * @return + */ + @Override + public ResultBean> list(BaseDistributorApplyAppendixOneQuery query) { + ResultBean rb = ResultBean.fireFail(); + List list = baseDistributorApplyAppendixService.selectListVo(query); + for (int i = 0; i < list.size(); i++) { + String staffName = ""; + String createBySid = list.get(i).getCreateBySid(); + ResultBean sysUserVoResultBean = sysUserFeign.fetchBySid(createBySid); + if (sysUserVoResultBean.getSuccess()) { + staffName = sysUserVoResultBean.getData().getName();//姓名 + } + list.get(i).setStaffName(staffName); + } + return rb.success().setData(list); + } + + @Override + public ResultBean save(BaseDistributorApplyAppendixDto dto) { + ResultBean rb = ResultBean.fireFail(); + String linkSid = dto.getLinkSid(); + BaseDistributor baseDistributor = baseDistributorService.fetchBySid(linkSid); + if (baseDistributor == null) { + return rb.setMsg("请先添加经销商信息"); + } + //将token解密userSid + String token = request.getHeader("token"); + DecodedJWT decodedJWT = JWT.decode(token); + String userSid = JWTUtil.getUserSid(decodedJWT); + + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + dto.fillEntity(entity); + entity.setCreateBySid(userSid); + entity.setCreateTime(new Date()); + String filePath = dto.getFilePath(); + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + entity.setFilePath(filePath); + baseDistributorApplyAppendixService.save(entity); + return rb.success(); + } + + @Override + public ResultBean update(BaseDistributorApplyAppendixDto dto, String sid) { + ResultBean rb = ResultBean.fireFail(); + int i = baseDistributorApplyAppendixService.updateBySid(dto.toMap(), sid); + if (i > 0) { + return rb.success().setMsg("修改成功"); + } + return rb.fail().setMsg("修改失败"); + } + + @Override + public ResultBean deleteBySids(String sidsList) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(sidsList)) { + return rb.setMsg("请选择要删除的数据"); + } + List sidList = Arrays.asList(sidsList.split(",")); + for (int i = 0; i < sidList.size(); i++) { + String sid = sidList.get(i); + BaseDistributorApplyAppendix baseDistributorAppendix = baseDistributorApplyAppendixService.fetchBySid(sid); + if (baseDistributorAppendix != null) { +// baseDistributorAppendixService.deleteBySid(sid); + baseDistributorApplyAppendixService.updateBySidIsDelete(sid); + } + deleteFilesOss(baseDistributorAppendix.getFilePath()); + } + return rb.success().setMsg("删除成功"); + } + + @Override + public ResultBean uploadImage(MultipartFile file) { + ResultBean rb = ResultBean.fireFail(); + if (file == null || file.isEmpty()) { + return rb.setMsg("文件为空"); + } + + rb = baseDistributorApplyAppendixService.uploadFile(file); + return rb; + } + + @Override + public ResultBean deleteFilesOss(String fullPath) { + ResultBean rb = ResultBean.fireFail(); + //删除服务器上的该文件 + String pathT = fileUploadComponent.getUrlPrefix(); + String path = ""; + if (fullPath.indexOf(pathT) > -1) { + path = fullPath.replace(pathT, ""); + } else { + path = fullPath; + } + String a = path.substring(0, path.lastIndexOf("/")).replace("/", File.separator); + String pathOne = fileUploadComponent.getUploadPath() + path.substring(0, path.lastIndexOf("/") + 1).replace("/", File.separator); + FileUploadComponent.deleteFiles(fullPath, pathOne); + //查询数据库,然后根据相对路径删除数据 + int count = baseDistributorApplyAppendixService.selectPath(path); + if (count > 0) { + baseDistributorApplyAppendixService.deletePath(path); + } + return rb.success().setMsg("移除成功"); + } + + @Override + public void download(HttpServletResponse response, String path) throws IOException { + String pathT = fileUploadComponent.getUrlPrefix(); + String pathT1 = fileUploadComponent.getUploadPath(); + if (path.indexOf(pathT) > -1) { + path = path.replace(pathT, ""); + } + String preName = ""; + //查询这个文件是否存在 +// BaseAffiliatCompanyAppendix baseAffiliatCompanyAppendix = baseAffiliatCompanyAppendixService.selectPathOne(path); +// if (baseAffiliatCompanyAppendix != null) { +// preName = System.currentTimeMillis() + baseAffiliatCompanyAppendix.getFileType(); +// } + File fileLoad = new File(pathT1 + path); + String fileName = fileLoad.getName(); + String fileTyle = fileName.substring(fileName.lastIndexOf("."), fileName.length()); + preName = System.currentTimeMillis() + fileTyle; + + response.setContentType("application/vnd.ms-excel"); + response.addHeader("Content-Disposition", "attachment;filename=\"" + + new String((preName).getBytes("gbk"), "iso-8859-1") + "\""); + OutputStream o = response.getOutputStream(); + byte b[] = new byte[1024]; + fileName = java.net.URLEncoder.encode(fileName, "UTF-8"); // 处理中文文件名的问题 + fileName = new String(fileName.getBytes("UTF-8"), "GBK"); // 处理中文文件名的问题 + response.setHeader("Content-disposition", "attachment;filename=" + + fileName); + response.setContentType("application/x-msdownload"); + long fileLength = fileLoad.length(); + String length = String.valueOf(fileLength); + response.setHeader("Content_Length", length); + FileInputStream in = new FileInputStream(fileLoad); + int n = 0; + while ((n = in.read(b)) != -1) { + o.write(b, 0, n); + } + o.flush(); + o.close(); + in.close(); + } +} diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapplyappendix/BaseDistributorApplyAppendixService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapplyappendix/BaseDistributorApplyAppendixService.java new file mode 100644 index 0000000000..28c5b9b55c --- /dev/null +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapplyappendix/BaseDistributorApplyAppendixService.java @@ -0,0 +1,248 @@ +package com.yxt.anrui.base.biz.basedistributorapplyappendix; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.RandomUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.anrui.base.api.baseaffiliatcompanyappendix.BaseAffiliatCompanyAppendixUploadVo; +import com.yxt.anrui.base.api.basedistributorappendix.*; +import com.yxt.anrui.base.api.basedistributorapplyappendix.*; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.io.IOException; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +@Service +public class BaseDistributorApplyAppendixService extends MybatisBaseService { + + + private static final String appendixdir = "jxs"; + + @Autowired + private FileUploadComponent fileUploadComponent; + + + /** + * 查询备案资料信息列表 + * + * @return + */ + public List selectListVo(BaseDistributorApplyAppendixOneQuery query) { + QueryWrapper qw = buildQueryWrapper(query); + return baseMapper.selectListVo(qw, fileUploadComponent.getUrlPrefix()); + } + + + /** + * 构造查询条件 + * + * @param query 查询条件 + * @return + */ + private QueryWrapper buildQueryWrapper(BaseDistributorApplyAppendixOneQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getFileName())) {//经销商名称 + qw.like("fileName", query.getFileName()); + } + if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getSid())) {//经销商名称 + qw.like("linkSid", query.getSid()); + } + + } + return qw; + } + + /** + * 根据备案资料sid查询是否存在 + * + * @param sid + * @return + */ + public int selBySid(String sid) { + return baseMapper.selBySid(sid); + } + + /** + * 新增备案资料 + * + * @param dto + */ + public void saveOrUpdateDto(BaseDistributorApplyAppendixDto dto) { + BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix(); + dto.fillEntity(entity); + this.saveOrUpdate(entity); + } + + public ResultBean uploadFile(MultipartFile file) { + return uploadFile(file, true, null); + } + + public ResultBean uploadFile(MultipartFile file, boolean hasDateDir, String relativePath) { + ResultBean rm = ResultBean.fireFail(); + //文件大小 + long size = file.getSize(); + String fileSize = getPrintSize(size); + // 文件名 + String fileName = file.getOriginalFilename(); + // 后缀名 + String suffixName = fileName.substring(fileName.lastIndexOf(".")); + // 新文件名 + String filePath = dateFileName() + suffixName; + if (hasDateDir) { + String dateStr = DateUtil.format(new Date(), "yyyy-MM-dd"); + List stringList = Arrays.asList(dateStr.split("-")); + //年 + String year = stringList.get(0); + //月 + String month = stringList.get(1); + //日 + String day = stringList.get(2); + dateStr = year + "/" + month + "/" + day; + // 增加日期目录 + filePath = appendixdir + "/" + dateStr + "/" + filePath; + } + if (StringUtils.isNotBlank(relativePath)) { + // 增加指定目录 + filePath = relativePath + "/" + filePath; + } + // 上传后的文件含完整路径 + String path = fileUploadComponent.getUploadPath() + filePath; + // 上传后的文件 + File destFile = new File(path); + if (!destFile.getParentFile().exists()) { + destFile.getParentFile().mkdirs(); + } + try { + file.transferTo(destFile); + } catch (IOException e) { + e.printStackTrace(); + } + String fullUrl = fileUploadComponent.getUrlPrefix() + filePath; + BaseDistributorApplyAppendixUploadVo fur = new BaseDistributorApplyAppendixUploadVo(fileName, filePath, fullUrl, fileSize, suffixName); + return rm.success().setData(fur); + } + + public static String getPrintSize(long size) { + // 如果字节数少于1024,则直接以B为单位,否则先除于1024,后3位因太少无意义 + if (size < 1024) { + return String.valueOf(size) + "B"; + } else { + size = size / 1024; + } + // 如果原字节数除于1024之后,少于1024,则可以直接以KB作为单位 + // 因为还没有到达要使用另一个单位的时候 + // 接下去以此类推 + if (size < 1024) { + return String.valueOf(size) + "KB"; + } else { + size = size / 1024; + } + if (size < 1024) { + // 因为如果以MB为单位的话,要保留最后1位小数, + // 因此,把此数乘以100之后再取余 + size = size * 100; + return String.valueOf((size / 100)) + "." + String.valueOf((size % 100)) + "MB"; + } else { + // 否则如果要以GB为单位的,先除于1024再作同样的处理 + size = size * 100 / 1024; + return String.valueOf((size / 100)) + "." + String.valueOf((size % 100)) + "GB"; + } + } + + private String dateFileName() { + return DateUtil.format(new Date(), "yyyyMMddHHmmssSSS") + RandomUtil.randomNumbers(3); + } + + /** + * @param path 图片网址路径 + * @param realPath 服务器内部真实路径(不能写顶级目录) + */ + public static void deleteFiles(String path, String realPath) { + //对path进行处理将网页地址转化为实际地址 + //获取文件的名字 + String originalFileName = path.substring(path.lastIndexOf("/") + 1); + //拼接新的地址 + String filePatn = realPath + path.substring(path.lastIndexOf("/") + 1); + File file = new File(filePatn); + //如果不是文件夹就直接删除该图片文件 + if (!file.isDirectory()) { + System.out.println(filePatn); + System.out.println(file.getName()); + file.delete(); + } else if (file.isDirectory()) { + //如果是文件夹是获取文件列表 + String[] filelist = file.list(); + //获取完成文件路径 + for (int j = 0; j < filelist.length; j++) { + File filessFile = new File(filePatn + "/" + filelist[j]); + System.out.println(filePatn + "/" + filelist[j]); + if (!filessFile.isDirectory()) { + filessFile.delete(); + } else if (filessFile.isDirectory()) { + //递归调用 + deleteFiles(filePatn + "/" + filelist[j], filePatn + "/"); + } + } + //最后删除该文件夹 + file.delete(); + } + } + + public int selectPath(String path) { + return baseMapper.selectPath(path); + } + + public int deletePath(String path) { + return baseMapper.deletePath(path); + } + + public int updateBySidIsDelete(String sid) { + return baseMapper.updateBySidIsDelete(sid); + } + + public void delByLinkSid(String sid) { + baseMapper.delByLinkSid(sid); + } + + public List selByLinkSid(String sid) { + return baseMapper.selByLinkSid(sid); + } + + public List selByLinkSidAndAttachType(String sid, String attachType) { + return baseMapper.selByLinkSidAndAttachType(sid, attachType); + } + + public List selByLinkSidAndAttachTypeOne(String sid, String s) { + String path = fileUploadComponent.getUrlPrefix(); + return baseMapper.selByLinkSidAndAttachTypeOne(sid, s, path); + } + + public int selectByLinkSid(String sid) { + return baseMapper.selectByLinkSid(sid); + } + + public void insertAppendix(String linkSid, List list, String attachType) { + list.stream().forEach(str -> { + BaseDistributorApplyAppendix appendix = new BaseDistributorApplyAppendix(); + File file = new File(fileUploadComponent.getUploadPath() + str.replace("/", File.separator)); + if (file != null) { + appendix.setFileSize(FileUploadComponent.getPrintSize(file.length())); + } + appendix.setLinkSid(linkSid); + appendix.setFileName(str.substring(str.lastIndexOf("/") + 1, str.lastIndexOf("."))); + appendix.setFileType(str.substring(str.lastIndexOf(".") + 1)); + appendix.setAttachType(attachType); + appendix.setFilePath(str.replace(fileUploadComponent.getUrlPrefix(), "")); + baseMapper.insert(appendix); + }); + } +} diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeign.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeign.java index ecaf760426..9027107d26 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeign.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeign.java @@ -95,6 +95,11 @@ public interface FinCompanyInvoicingFeign { @ResponseBody ResultBean> selectInvoingList(@RequestParam("busSid") String busSid); + @ApiOperation("根据纳税人识别号查询开票信息") + @GetMapping("/selectInvoingByTaxpayerNo") + @ResponseBody + ResultBean selectInvoingByTaxpayerNo(@RequestParam("taxpayerNo") String taxpayerNo); + /*************************************************企业开票信息管理***************************************************/ @ApiOperation("企业开票信息管理分页列表") diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeignFallback.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeignFallback.java index ba567cd4f1..5bef4b4be0 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeignFallback.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingFeignFallback.java @@ -90,6 +90,11 @@ public class FinCompanyInvoicingFeignFallback implements FinCompanyInvoicingFeig return null; } + @Override + public ResultBean selectInvoingByTaxpayerNo(String taxpayerNo) { + return null; + } + @Override public ResultBean> qyListPage(PagerQuery pq) { return null; diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingMapper.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingMapper.java index d460927c05..edd3bb87ec 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingMapper.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingMapper.java @@ -53,28 +53,31 @@ import java.util.List; @Mapper public interface FinCompanyInvoicingMapper extends BaseMapper { - //@Update("update fin_company_invoicing set name=#{msg} where id=#{id}") - //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - - IPage selectPageVoGS(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + //@Update("update fin_company_invoicing set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + IPage selectPageVoGS(IPage page, @Param(Constants.WRAPPER) Wrapper qw); - List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); - - @Select("select * from fin_company_invoicing") - List selectListVo(); + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); - @Select("select * from fin_company_invoicing where useOrgSid = #{useOrgSid}") - FinCompanyInvoicingDetailsVo fetchByUseOrgSid(String useOrgSid); + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from fin_company_invoicing") + List selectListVo(); + + @Select("select * from fin_company_invoicing where useOrgSid = #{useOrgSid}") + FinCompanyInvoicingDetailsVo fetchByUseOrgSid(String useOrgSid); FinCompanyInvoicingDetailsVo getDetailsByUseOrgAndSystem(@Param("useOrgSid") String useOrgSid, @Param("systemSid") String systemSid); - List selectInvoingList(String useOrgSid); + List selectInvoingList(String useOrgSid); - List qyFetchListByName(@Param(Constants.WRAPPER) QueryWrapper qw); + List qyFetchListByName(@Param(Constants.WRAPPER) QueryWrapper qw); - FinCompanyInvoicingDetailsVo selByUseOrgSidAndNameOrTaxNo(@Param(Constants.WRAPPER) QueryWrapper qw); + FinCompanyInvoicingDetailsVo selByUseOrgSidAndNameOrTaxNo(@Param(Constants.WRAPPER) QueryWrapper qw); List qySelByUseOrgSid(@Param(Constants.WRAPPER) QueryWrapper qw); + + @Select("select * from fin_company_invoicing where taxpayerNo = #{taxpayerNo} and isDelete = 0") + FinCompanyInvoicingDetailsVo selectInvoingByTaxpayerNo(String taxpayerNo); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingRest.java index 6e206b9e4a..da213579c0 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingRest.java @@ -117,6 +117,11 @@ public class FinCompanyInvoicingRest implements FinCompanyInvoicingFeign { return finCompanyInvoicingService.selectInvoingList(busSid); } + @Override + public ResultBean selectInvoingByTaxpayerNo(String taxpayerNo) { + return finCompanyInvoicingService.selectInvoingByTaxpayerNo(taxpayerNo); + } + @Override public ResultBean> qyListPage(PagerQuery pq) { ResultBean rb = ResultBean.fireFail(); diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingService.java index 60ac5e225d..f66cf9a9a8 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingService.java @@ -413,4 +413,10 @@ public class FinCompanyInvoicingService extends MybatisBaseService selectInvoingByTaxpayerNo(String taxpayerNo) { + ResultBean rb = ResultBean.fireFail(); + FinCompanyInvoicingDetailsVo vo = baseMapper.selectInvoingByTaxpayerNo(taxpayerNo); + return rb.success().setData(vo); + } } \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisBaseInfoDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisBaseInfoDto.java index 9ad8b33f94..46292305b8 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisBaseInfoDto.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisBaseInfoDto.java @@ -87,4 +87,6 @@ public class DisBaseInfoDto implements Dto { private String userSid; @ApiModelProperty("机构sid") private String orgPath; + private String isDelivery; + private String isDeliveryKey; } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisBaseInfoVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisBaseInfoVo.java index 795e0b4213..279ea2146b 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisBaseInfoVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisBaseInfoVo.java @@ -72,4 +72,12 @@ public class DisBaseInfoVo implements Vo { @ApiModelProperty(value = "经销商sid") private String distributorSid; + + @ApiModelProperty("是否投放展车") + private String isDelivery; + + @ApiModelProperty(value = "是否投放展车Key") + private String isDeliveryKey; + @ApiModelProperty(value = "有效期至") + private String effectiveDate; } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisDetailsVo.java index 84f84538c9..3576c7404f 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisDetailsVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisDetailsVo.java @@ -1,7 +1,10 @@ package com.yxt.anrui.terminal.api.autoservice.distributor; import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.anrui.terminal.api.autoservice.distributor.apply.SalesDeptVo; +import com.yxt.anrui.terminal.api.autoservice.distributor.apply.Salesman; import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.ArrayList; @@ -16,14 +19,37 @@ import java.util.List; public class DisDetailsVo implements Vo { private static final long serialVersionUID = -5987626766518176420L; + private String sid; + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("机构sid") + private String orgPath; + private String beiAnSid; + private String jxsSid; + private String publishInfo; private DisBaseInfoVo baseInfo; private DisIncoinceInfoVo invoiceInfo; private DisFileVo fileInfo; + private SalesDeptVo salesDeptVo; + private List records = new ArrayList<>(); - @JsonProperty("procInsId") - private String procInstId; + @ApiModelProperty(value = "经销商") + private String disName; + @ApiModelProperty(value = "统一信用代码") + private String registNum; + @ApiModelProperty(value = "注册地址") + private String registDetailAddress; + @ApiModelProperty(value = "开户行") + private String invoBank; + @ApiModelProperty(value = "银行账号") + private String invoBankNum; + @ApiModelProperty("开票联系电话") + private String invoPhone; + private List users = new ArrayList<>(); private String taskId; + private String procInsId; + } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisFileDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisFileDto.java index cd7f87b980..d0509413eb 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisFileDto.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisFileDto.java @@ -24,6 +24,8 @@ public class DisFileDto implements Dto { private List corporateIdCard = new ArrayList<>(); @ApiModelProperty(value = "其他资料") private List otherInfo = new ArrayList<>(); + @ApiModelProperty(value = "其他资料") + private List agreement = new ArrayList<>(); @ApiModelProperty(value = "经销商sid") private String distributorSid; } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisFileVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisFileVo.java index 97071257a1..c892c6c083 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisFileVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisFileVo.java @@ -23,6 +23,8 @@ public class DisFileVo implements Vo { private List corporateIdCard = new ArrayList<>(); @ApiModelProperty(value = "其他资料") private List otherInfo = new ArrayList<>(); + @ApiModelProperty(value = "合作协议") + private List agreement = new ArrayList<>(); private String distributorSid; } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisInitDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisInitDetailsVo.java index e0c6ca800e..a085744b1f 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisInitDetailsVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DisInitDetailsVo.java @@ -22,8 +22,5 @@ public class DisInitDetailsVo implements Vo { private Integer invoiceInfoState; @ApiModelProperty(value = "文件信息状态") private Integer fileInfoState; - @JsonProperty("procInsId") - private String procInstId; - private String taskId; private List records; } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DistributorFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DistributorFeign.java index 8af99f8258..c66c7816b8 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DistributorFeign.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DistributorFeign.java @@ -1,5 +1,8 @@ package com.yxt.anrui.terminal.api.autoservice.distributor; +import com.yxt.anrui.terminal.api.autoservice.distributor.apply.DeptVo; +import com.yxt.anrui.terminal.api.autoservice.distributor.apply.DistributorApplyVo; +import com.yxt.anrui.terminal.api.autoservice.distributor.apply.DistributorDto; import com.yxt.anrui.terminal.api.autoservice.distributor.flowable.CompleteDistributorDto; import com.yxt.anrui.terminal.api.autoservice.distributor.flowable.DistributorFlowableQuery; import com.yxt.anrui.terminal.api.autoservice.distributor.flowable.DistributorTaskQuery; @@ -14,6 +17,7 @@ import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.List; /** * @Author dimengzhe @@ -92,8 +96,41 @@ public interface DistributorFeign { @PostMapping("/saveDistributorFileInfo") @ResponseBody ResultBean saveDistributorFileInfo(@RequestBody DisFileDto dto); -//----------------------------------流程代码------------------------------------------------- + //----------------------经销商备案申请----------------------------------------- + + @ApiOperation("移动端-经销商开票保存修改") + @PostMapping("/saveDistributor") + @ResponseBody + ResultBean saveDistributor(@RequestBody DistributorDto dto); + + @ApiOperation("移动端-经销商备案初始化") + @GetMapping("/getDistributor1") + @ResponseBody + ResultBean getDistributor1(@RequestParam("sid") String sid, @RequestParam("orgPath") String orgPath, @RequestParam("userSid") String userSid); + + @ApiOperation("移动端-经销商申请管理初始化") + @GetMapping("/getDistributor2") + @ResponseBody + ResultBean getDistributor2(@RequestParam("sid") String sid, @RequestParam("orgPath") String orgPath, @RequestParam("userSid") String userSid); + + @ApiOperation("查询本分公司下销售部门/销售专员/对应部门主管") + @GetMapping("/getSalesDept") + @ResponseBody + ResultBean> getSalesDept(@RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath); + + @ApiOperation("移动端-经销商分页列表") + @PostMapping("/getDistributorApplyList") + @ResponseBody + ResultBean> getDistributorApplyList(@RequestBody PagerQuery pagerQuery); + + @ApiOperation("移动端-经销商备案申请删除") + @DeleteMapping("/deleteDistributor2/{sid}") + @ResponseBody + ResultBean deleteDistributor2(@PathVariable("sid") String sid); + +////----------------------------------流程代码------------------------------------------------- +// @ApiOperation("提交流程") @PostMapping("/submitDistributorBaseInfo") @ResponseBody diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DistributorQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DistributorQuery.java index 8c29b9c0d8..267c378281 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DistributorQuery.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DistributorQuery.java @@ -20,4 +20,5 @@ public class DistributorQuery implements Query { private String distributorSid; @ApiModelProperty("机构sid") private String orgPath; + private String menuSid; } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DistributorVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DistributorVo.java index 56d69b56e6..553aac257b 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DistributorVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DistributorVo.java @@ -35,5 +35,8 @@ public class DistributorVo implements Vo { private String setUpTime; // private String nodeState; private boolean updateBtn; - + private String isDelivery; + //private String nodeState; + private boolean reportBtn; + private boolean deleteBtn; } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/apply/DeptVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/apply/DeptVo.java new file mode 100644 index 0000000000..1b1ddb0530 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/apply/DeptVo.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.terminal.api.autoservice.distributor.apply; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/21 13:35 + */ +@Data +public class DeptVo implements Vo { + //第一级 + private String sid; + private String checkSid; + // 必须有 一般sid + private String dictKey; + private boolean selected; + //必须有 显示的文字 + private String dictValue; + private boolean mandatory; + private String dictType; + private String extra; + //额外的内容; + private ObjectDept extra2; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/apply/DistributorApplyVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/apply/DistributorApplyVo.java new file mode 100644 index 0000000000..f47efa5d18 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/apply/DistributorApplyVo.java @@ -0,0 +1,55 @@ +package com.yxt.anrui.terminal.api.autoservice.distributor.apply; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/22 8:48 + */ +@Data +public class DistributorApplyVo implements Vo { + /** + * 申请日期 + */ + private String applyDate; + /** + * 申请人 + */ + private String applyName; + /** + * 分公司 + */ + private String company; + /** + * 申请部门 + */ + private String dept; + /** + * 经销商名称 + */ + private String distributorName; + /** + * 有效期至 + */ + private String effectiveDate; + /** + * 销售专员 + */ + private String salesman; + /** + * 备案记录sid + */ + private String sid; + /** + * 流程状态 + */ + private String state; + + @ApiModelProperty("某某部门,某某人") + private String publishInfo; + private boolean updateBtn; + private boolean deleteBtn; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/apply/DistributorDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/apply/DistributorDto.java new file mode 100644 index 0000000000..792485d987 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/apply/DistributorDto.java @@ -0,0 +1,29 @@ +package com.yxt.anrui.terminal.api.autoservice.distributor.apply; + +import com.yxt.anrui.terminal.api.autoservice.distributor.DisBaseInfoDto; +import com.yxt.anrui.terminal.api.autoservice.distributor.DisFileDto; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/9/20 16:37 + */ +@Data +public class DistributorDto implements Dto { + + private String beiAnSid; + private String jxsSid; + private DisFileDto fileInfo; + private SalesDeptVo salesDeptVo; + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("机构sid") + private String orgPath; + +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/apply/ObjectDept.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/apply/ObjectDept.java new file mode 100644 index 0000000000..371ee22889 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/apply/ObjectDept.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.terminal.api.autoservice.distributor.apply; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/9/21 13:40 + */ +@Data +public class ObjectDept { + + //第二级 + @ApiModelProperty("主管人员sid") + private String mangeSid; + @ApiModelProperty("主管人员") + private String mange; + //额外的内容; + private List users = new ArrayList<>(); + +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/apply/SalesDeptVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/apply/SalesDeptVo.java new file mode 100644 index 0000000000..98bae6ad18 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/apply/SalesDeptVo.java @@ -0,0 +1,47 @@ +package com.yxt.anrui.terminal.api.autoservice.distributor.apply; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/9/20 16:38 + */ +@Data +public class SalesDeptVo { + + @ApiModelProperty("申请人") + private String applyName; + @ApiModelProperty("申请日期") + private String applyDate; + @ApiModelProperty("申请部门sid") + private String deptSid; + @ApiModelProperty("申请部门") + private String dept; + @ApiModelProperty("销售部门sid") + private String salesDeptSid; + @ApiModelProperty("销售部门") + private String salesDept; + @ApiModelProperty("主管人员sid") + private String mangeSid; + @ApiModelProperty("主管人员") + private String mange; + @ApiModelProperty("销售专员sid") + private String salesmanSid; + @ApiModelProperty("销售专员") + private String salesman; + @ApiModelProperty(value = "有效期至") + private String effectiveDate; + @ApiModelProperty("1是0否") + private String agree; + @ApiModelProperty("备注") + private String remarks; + + private String tempMangeSid; + private String tempMange; + +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/apply/Salesman.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/apply/Salesman.java new file mode 100644 index 0000000000..aa5783a740 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/apply/Salesman.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.terminal.api.autoservice.distributor.apply; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/21 13:40 + */ +@Data +public class Salesman { + private String sid; + private String checkSid; + // 必须有 一般sid + private String dictKey; + private boolean selected; + //必须有 显示的文字 + private String dictValue; + private boolean mandatory; + private String dictType; + private String extra; + //额外的内容; + private Object extra2; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/flowable/SubmitDistributorApplyDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/flowable/SubmitDistributorApplyDto.java index dd84349744..70405d54bf 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/flowable/SubmitDistributorApplyDto.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/flowable/SubmitDistributorApplyDto.java @@ -1,6 +1,7 @@ package com.yxt.anrui.terminal.api.autoservice.distributor.flowable; import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.anrui.terminal.api.autoservice.distributor.apply.DistributorDto; import com.yxt.common.core.dto.Dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -11,9 +12,8 @@ import lombok.Data; * @date 2023/7/14 9:15 */ @Data -public class SubmitDistributorApplyDto implements Dto { - @ApiModelProperty("distributorSid") - private String distributorSid; +public class SubmitDistributorApplyDto extends DistributorDto { + @ApiModelProperty("任务id") private String taskId; @ApiModelProperty("流程实例id") diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/distributor/DistributorRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/distributor/DistributorRest.java index aad73939c2..96338e7c21 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/distributor/DistributorRest.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/distributor/DistributorRest.java @@ -1,6 +1,9 @@ package com.yxt.anrui.terminal.biz.autoservice.distributor; import com.yxt.anrui.terminal.api.autoservice.distributor.*; +import com.yxt.anrui.terminal.api.autoservice.distributor.apply.DeptVo; +import com.yxt.anrui.terminal.api.autoservice.distributor.apply.DistributorApplyVo; +import com.yxt.anrui.terminal.api.autoservice.distributor.apply.DistributorDto; import com.yxt.anrui.terminal.api.autoservice.distributor.flowable.CompleteDistributorDto; import com.yxt.anrui.terminal.api.autoservice.distributor.flowable.DistributorFlowableQuery; import com.yxt.anrui.terminal.api.autoservice.distributor.flowable.DistributorTaskQuery; @@ -13,6 +16,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; +import java.util.List; + /** * @Author dimengzhe * @Date 2022/7/13 16:22 @@ -91,6 +96,37 @@ public class DistributorRest implements DistributorFeign { return distributorService.saveDistributorFileInfo(dto); } + //------------------------经销商备案---------------------- + @Override + public ResultBean saveDistributor(DistributorDto dto) { + return distributorService.saveDistributor(dto); + } + + @Override + public ResultBean getDistributor1(String sid, String orgPath, String userSid) { + return distributorService.getDistributor1(sid,orgPath,userSid); + } + + @Override + public ResultBean getDistributor2(String sid, String orgPath, String userSid) { + return distributorService.getDistributor2(sid,orgPath,userSid); + } + + @Override + public ResultBean> getSalesDept(String userSid, String orgPath) { + return distributorService.getSalesDept(userSid,orgPath); + } + + @Override + public ResultBean> getDistributorApplyList(PagerQuery pagerQuery) { + return distributorService.getDistributorApplyList(pagerQuery); + } + + @Override + public ResultBean deleteDistributor2(String sid) { + return distributorService.deleteDistributor2(sid); + } + @Override public ResultBean submitDistributorBaseInfo(SubmitDistributorApplyDto dto) { return distributorService.submitDistributorBaseInfo(dto); diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/distributor/DistributorService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/distributor/DistributorService.java index 2831107200..40f3e05e72 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/distributor/DistributorService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/distributor/DistributorService.java @@ -4,15 +4,25 @@ import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSON; import com.yxt.anrui.base.api.basedistributor.BaseDistributorFeign; import com.yxt.anrui.base.api.basedistributor.app.*; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppDeptVo; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppDistributorApplyVo; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppDistributorDto; import com.yxt.anrui.base.api.basedistributor.flow.AppSubmitDistributorApplyDto; import com.yxt.anrui.base.api.basedistributor.flow.BaseDistributorCompleteDto; import com.yxt.anrui.base.api.basedistributor.flow.BaseDistributorTaskQuery; +import com.yxt.anrui.base.api.basedistributorapply.BaseDistributorApplyFeign; +import com.yxt.anrui.base.api.basedistributorapply.flow.AppSubmitApplyDto; +import com.yxt.anrui.base.api.basedistributorapply.flow.BaseDistributorApplyCompleteDto; +import com.yxt.anrui.base.api.basedistributorapply.flow.BaseDistributorApplyTaskQuery; 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.riskcenter.api.loanfinpolicyrecordapply.flow.GetNodeQuery; import com.yxt.anrui.terminal.api.autoservice.distributor.*; +import com.yxt.anrui.terminal.api.autoservice.distributor.apply.DeptVo; +import com.yxt.anrui.terminal.api.autoservice.distributor.apply.DistributorApplyVo; +import com.yxt.anrui.terminal.api.autoservice.distributor.apply.DistributorDto; import com.yxt.anrui.terminal.api.autoservice.distributor.flowable.CompleteDistributorDto; import com.yxt.anrui.terminal.api.autoservice.distributor.flowable.DistributorFlowableQuery; import com.yxt.anrui.terminal.api.autoservice.distributor.flowable.DistributorTaskQuery; @@ -44,7 +54,8 @@ public class DistributorService { private SysUserFeign sysUserFeign; @Autowired private SysStaffOrgFeign sysStaffOrgFeign; - + @Autowired + private BaseDistributorApplyFeign baseDistributorApplyFeign; public ResultBean> pageList(PagerQuery pagerQuery) { ResultBean> rb = ResultBean.fireFail(); @@ -185,11 +196,77 @@ public class DistributorService { return rb.success(); } + public ResultBean getDistributor1(String sid, String orgPath, String userSid) { + ResultBean rb = ResultBean.fireFail(); + ResultBean resultBean = baseDistributorApplyFeign.getDistributor1(sid, orgPath, userSid); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + DisDetailsVo vo = new DisDetailsVo(); + BeanUtil.copyProperties(resultBean.getData(), vo); + return rb.success().setData(vo); + } + + public ResultBean> getSalesDept(String userSid, String orgPath) { + ResultBean> rb = ResultBean.fireFail(); + List list = new ArrayList<>(); + List data = baseDistributorApplyFeign.getSalesDept(userSid, orgPath).getData(); + data.removeAll(Collections.singleton(null)); + if (!data.isEmpty()) { + for (AppDeptVo datum : data) { + DeptVo deptVo = new DeptVo(); + BeanUtil.copyProperties(datum, deptVo); + list.add(deptVo); + } + } + return rb.success().setData(list); + } + + public ResultBean saveDistributor(DistributorDto dto) { + ResultBean rb = ResultBean.fireFail(); + AppDistributorDto appDistributorDto = new AppDistributorDto(); + BeanUtil.copyProperties(dto, appDistributorDto); + ResultBean resultBean = baseDistributorApplyFeign.saveDistributor(appDistributorDto); + if (resultBean.getSuccess()) { + rb.success().setData(resultBean.getData()); + } + return rb.success(); + } + + public ResultBean> getDistributorApplyList(PagerQuery pagerQuery) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pagerVo = new PagerVo<>(); + PagerQuery distributorsQueryPagerQuery = new PagerQuery<>(); + BeanUtil.copyProperties(pagerQuery, distributorsQueryPagerQuery); + ResultBean> distributorApplyList = baseDistributorApplyFeign.getDistributorApplyList(distributorsQueryPagerQuery); + if (distributorApplyList.getSuccess()) { + BeanUtil.copyProperties(distributorApplyList.getData(), pagerVo); + } + return rb.success().setData(pagerVo); + } + + public ResultBean deleteDistributor2(String sid) { + ResultBean rb = ResultBean.fireFail(); + ResultBean resultBean = baseDistributorApplyFeign.deleteDistributor2(sid); + return rb.success(); + } + + public ResultBean getDistributor2(String sid, String orgPath, String userSid) { + ResultBean rb = ResultBean.fireFail(); + ResultBean resultBean = baseDistributorApplyFeign.getDistributor2(sid, orgPath, userSid); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + DisDetailsVo vo = new DisDetailsVo(); + BeanUtil.copyProperties(resultBean.getData(), vo); + return rb.success().setData(vo); + } + public ResultBean submitDistributorBaseInfo(SubmitDistributorApplyDto dto) { ResultBean rb = ResultBean.fireFail(); - AppSubmitDistributorApplyDto submitDistributorApplyDto = new AppSubmitDistributorApplyDto(); + AppSubmitApplyDto submitDistributorApplyDto = new AppSubmitApplyDto(); BeanUtil.copyProperties(dto, submitDistributorApplyDto); - ResultBean resultBean = baseDistributorFeign.submitDistributor(submitDistributorApplyDto); + ResultBean resultBean = baseDistributorApplyFeign.submitDistributor(submitDistributorApplyDto); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); } @@ -210,10 +287,10 @@ public class DistributorService { } //用户的组织全路径 String orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); - BaseDistributorCompleteDto baseDistributorCompleteDto = new BaseDistributorCompleteDto(); + BaseDistributorApplyCompleteDto baseDistributorCompleteDto = new BaseDistributorApplyCompleteDto(); BeanUtil.copyProperties(dto, baseDistributorCompleteDto); baseDistributorCompleteDto.setOrgSidPath(orgSidPath); - ResultBean resultBean = baseDistributorFeign.complete(baseDistributorCompleteDto); + ResultBean resultBean = baseDistributorApplyFeign.complete(baseDistributorCompleteDto); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); } @@ -234,10 +311,10 @@ public class DistributorService { } //用户的组织全路径 String orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); - BaseDistributorCompleteDto baseDistributorCompleteDto = new BaseDistributorCompleteDto(); + BaseDistributorApplyCompleteDto baseDistributorCompleteDto = new BaseDistributorApplyCompleteDto(); BeanUtil.copyProperties(dto, baseDistributorCompleteDto); baseDistributorCompleteDto.setOrgSidPath(orgSidPath); - ResultBean resultBean = baseDistributorFeign.companyToDivisionOperate(baseDistributorCompleteDto); + ResultBean resultBean = baseDistributorApplyFeign.companyToDivisionOperate(baseDistributorCompleteDto); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); } @@ -246,9 +323,9 @@ public class DistributorService { public ResultBean rejectDistributorBaseInfo(DistributorTaskQuery query) { ResultBean rb = ResultBean.fireFail(); - BaseDistributorTaskQuery taskQuery = new BaseDistributorTaskQuery(); + BaseDistributorApplyTaskQuery taskQuery = new BaseDistributorApplyTaskQuery(); BeanUtil.copyProperties(query, taskQuery); - ResultBean resultBean = baseDistributorFeign.taskReject(taskQuery); + ResultBean resultBean = baseDistributorApplyFeign.taskReject(taskQuery); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); } @@ -257,9 +334,9 @@ public class DistributorService { public ResultBean recallDistributorBaseInfo(DistributorTaskQuery query) { ResultBean rb = ResultBean.fireFail(); - BaseDistributorTaskQuery taskQuery = new BaseDistributorTaskQuery(); + BaseDistributorApplyTaskQuery taskQuery = new BaseDistributorApplyTaskQuery(); BeanUtil.copyProperties(query, taskQuery); - ResultBean resultBean = baseDistributorFeign.revokeProcess(taskQuery); + ResultBean resultBean = baseDistributorApplyFeign.revokeProcess(taskQuery); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); } @@ -268,9 +345,9 @@ public class DistributorService { public ResultBean stopDistributorBaseInfo(DistributorTaskQuery query) { ResultBean rb = ResultBean.fireFail(); - BaseDistributorTaskQuery taskQuery = new BaseDistributorTaskQuery(); + BaseDistributorApplyTaskQuery taskQuery = new BaseDistributorApplyTaskQuery(); BeanUtil.copyProperties(query, taskQuery); - ResultBean resultBean = baseDistributorFeign.breakProcess(taskQuery); + ResultBean resultBean = baseDistributorApplyFeign.breakProcess(taskQuery); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); } @@ -281,11 +358,11 @@ public class DistributorService { ResultBean rb = ResultBean.fireFail(); //0 上一环节 1下一环节 int next = query.getNext(); - com.yxt.anrui.base.api.basedistributor.flow.GetNodeQuery getNodeQuery = new com.yxt.anrui.base.api.basedistributor.flow.GetNodeQuery(); + com.yxt.anrui.base.api.basedistributorapply.flow.GetNodeQuery getNodeQuery = new com.yxt.anrui.base.api.basedistributorapply.flow.GetNodeQuery(); BeanUtil.copyProperties(query, getNodeQuery); String data = ""; if (next == 0) { - ResultBean> getPreviousNodesForReject = baseDistributorFeign.getPreviousNodesForReject(getNodeQuery); + ResultBean> getPreviousNodesForReject = baseDistributorApplyFeign.getPreviousNodesForReject(getNodeQuery); if (getPreviousNodesForReject.getSuccess()) { getPreviousNodesForReject.getData().removeAll(Collections.singleton(null)); data = getPreviousNodesForReject.getData().get(0).getName(); @@ -293,7 +370,7 @@ public class DistributorService { return rb.setMsg(getPreviousNodesForReject.getMsg()); } } else if (next == 1) { - ResultBean> getNextNodesForSubmit = baseDistributorFeign.getNextNodesForSubmit(getNodeQuery); + ResultBean> getNextNodesForSubmit = baseDistributorApplyFeign.getNextNodesForSubmit(getNodeQuery); if (getNextNodesForSubmit.getSuccess()) { getNextNodesForSubmit.getData().removeAll(Collections.singleton(null)); data = getNextNodesForSubmit.getData().get(0).getName();