diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_FEntity.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_FEntity.json
index 5b53ea7288..82f7c5053f 100644
--- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_FEntity.json
+++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_FEntity.json
@@ -1,116 +1,31 @@
{
- "FEntryID": "0",
"FStockOrgID": {
"FNumber": "@KD_FStockOrgID"
},
"FMaterialID": {
"FNumber": "@KD_FMaterialID"
},
- "FAuxPropId": {
- "FAUXPROPID__FF100001": {
- "FNumber": ""
- },
- "FAUXPROPID__FF100005": {
- "FNumber": ""
- },
- "FAUXPROPID__FF100002": {
- "FNumber": ""
- },
- "FAUXPROPID__FF100004": {
- "FNumber": ""
- },
- "FAUXPROPID__FF100006": {
- "FNumber": ""
- }
- },
- "FLOT": {
- "FNumber": ""
- },
- "FBOMId": {
- "FNumber": ""
- },
"FSTOCKSTATUSID": {
"FNumber": "KCZT01_SYS"
},
"FAdjustmentAMOUNT": "@KD_FAdjustmentAMOUNT",
- "FAdjustmentAMOUNTFor": "0",
"FStockID": {
"FNumber": "ARZSCK"
},
"FOwnerID": {
"FNumber": "@KD_FOwnerID"
},
- "FSTOCKLOCID": {
- "FSTOCKLOCID__FF100001": {
- "FNumber": ""
- },
- "FSTOCKLOCID__FF100002": {
- "FNumber": ""
- },
- "FSTOCKLOCID__FF100003": {
- "FNumber": ""
- },
- "FSTOCKLOCID__FF100004": {
- "FNumber": ""
- },
- "FSTOCKLOCID__FF100005": {
- "FNumber": ""
- },
- "FSTOCKLOCID__FF100006": {
- "FNumber": ""
- },
- "FSTOCKLOCID__FF100007": {
- "FNumber": ""
- },
- "FSTOCKLOCID__FF100008": {
- "FNumber": ""
- },
- "FSTOCKLOCID__FF100009": {
- "FNumber": ""
- },
- "FSTOCKLOCID__FF100010": {
- "FNumber": ""
- }
- },
"FAcctgRangeID": {
- "FNumber": ""
- },
- "FMtoNo": "",
- "FSeqId": "",
- "FPROJECTNO": "",
- "FOwnerTypeId": "",
- "FPrice": "0",
- "FSeqEntryId": "0",
- "FInvoiceRateType": {
- "FNumber": ""
- },
- "FStockRateType": {
- "FNumber": ""
- },
- "FOriginalCurrencyId": {
- "FNumber": ""
- },
- "FStockRate": "0",
- "FInvoiceRate": "0",
- "FRateDiff": "0",
- "FPriceDiff": "0",
- "FQty": "0",
- "FCostCenterID": {
- "FNumber": ""
- },
- "FSRCSEQ": "0",
- "FSRCBILLNO": "",
- "FSRCBILLTYPEID": {
- "FNumber": ""
+ "FNumber": "HSFW000001_SYS"
},
+ "FOwnerTypeId": "BD_OwnerOrg",
"FDepartmentId": {
"FNUMBER": "@KD_FDepartmentId"
},
"FExpense": [{
- "FExpenseEntryID": "0",
"FExpenseID": {
- "FNumber": ""
+ "FNumber": "FYXM01_SYS"
},
- "FExpenseAmount": "0"
+ "FExpenseAmount": "@KD_FAdjustmentAMOUNT"
}]
}
\ No newline at end of file
diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_data.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_data.json
index a53918181a..ecb2570018 100644
--- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_data.json
+++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_data.json
@@ -2,12 +2,13 @@
"Creator": "",
"NeedUpDateFields": [],
"NeedReturnFields": [],
- "IsDeleteEntry": "True",
+ "IsDeleteEntry": "true",
"SubSystemId": "",
- "IsVerifyBaseDataField": "True",
- "IsEntryBatchFill": "True",
- "ValidateFlag": "True",
- "NumberSearch": "True",
+ "IsVerifyBaseDataField": "false",
+ "IsEntryBatchFill": "true",
+ "ValidateFlag": "true",
+ "NumberSearch": "true",
"InterationFlags": "",
+ "IsAutoSubmitAndAudit": "false",
"Model": {}
}
\ No newline at end of file
diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_model.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_model.json
index 26bbaace5f..a8946395d2 100644
--- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_model.json
+++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_model.json
@@ -23,14 +23,15 @@
},
"FAdjustmentReason": "",
"FAcctgId": "0",
- "FDocumentStatus": "",
+ "FDocumentStatus": "Z",
+ "FCreateDate": "@KD_FDATE",
"FCreateOrgId": {
- "FNumber": ""
+ "FNumber": "@KD_FAcctOrgID"
},
"FCreatorId": {
"FUserID": ""
},
- "FInOutIndex": "",
+ "FInOutIndex": "1",
"F_PAEZ_Assistant": {
"FNumber": "01"
},
diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
index d938239201..8fafa5cc6d 100644
--- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
+++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
@@ -83,6 +83,7 @@ public enum ProcDefEnum {
LOANLAWSUITAPPLY("诉讼申请", "process_xc4lp97d:1:8380004"),
LOANCASEENTRUSTLAWYERAPPLY("案件委托律师", "process_oe3nvzgn:1:8525004"),
ENTERPRISEAPPLY("定点企业备案", "process_tvywp9ri:2:14197516"),
+ JTTXCYSQ("金融贴息差异调整申请", "process_q1yy2tlg:2:16682508"),
/******************************测试流程id*********************************************/
diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/AdjustVehListQuery.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/AdjustVehListQuery.java
index d6bb3ca026..b2b2fcb99f 100644
--- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/AdjustVehListQuery.java
+++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/AdjustVehListQuery.java
@@ -26,4 +26,5 @@ public class AdjustVehListQuery implements Query {
@ApiModelProperty("用户sid")
private String userSid;
+ private String[] sids; //已选择车辆sid
}
diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/ScmFinanceAdjustApplyFeign.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/ScmFinanceAdjustApplyFeign.java
index b1c386a089..955fc355c7 100644
--- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/ScmFinanceAdjustApplyFeign.java
+++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/ScmFinanceAdjustApplyFeign.java
@@ -25,14 +25,20 @@
*********************************************************/
package com.yxt.anrui.scm.api.scmfinanceadjustapply;
+import com.yxt.anrui.scm.api.scmfinanceadjustapply.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: scm(金融贴息)
* File: ScmFinanceAdjustApplyFeign.java
@@ -86,5 +92,41 @@ public interface ScmFinanceAdjustApplyFeign {
@ResponseBody
public ResultBean> finAdjustList(@RequestBody PagerQuery pq);
+ //------------------------------流程接口----------------------------------------------
+
+ @ApiOperation("欠款客户备案提交")
+ @PostMapping("/submit")
+ public ResultBean submitRecordApplication(@RequestBody @Valid SubmitAdjustDto dto);
+
+ @ApiOperation(value = "办理(同意)")
+ @PostMapping("/complete")
+ public ResultBean complete(@Valid @RequestBody AdjustCompleteDto dto);
+
+ @ApiOperation(value = "撤回流程")
+ @PostMapping(value = "/revokeProcess")
+ public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody AdjustTaskQuery query);
+
+ @ApiOperation(value = "驳回任务")
+ @PostMapping(value = "/reject")
+ public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody AdjustTaskQuery query);
+
+ @ApiOperation(value = "终止任务")
+ @PostMapping(value = "/breakProcess")
+ public ResultBean breakProcess(@RequestBody AdjustTaskQuery 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 AdjustGetNodeQuery query);
+
+ @ApiOperation(value = "获取上一个环节")
+ @GetMapping(value = "/getPreviousNodesForReject")
+ ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap AdjustGetNodeQuery query);
+ @ApiOperation(value = "加签")
+ @PostMapping(value = "/delegate")
+ public ResultBean delegate(@RequestBody AdjustDelegateQuery distributorDelegateQuery);
}
\ No newline at end of file
diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/ScmFinanceAdjustApplyFeignFallback.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/ScmFinanceAdjustApplyFeignFallback.java
index 8c03432cf7..b22df77d37 100644
--- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/ScmFinanceAdjustApplyFeignFallback.java
+++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/ScmFinanceAdjustApplyFeignFallback.java
@@ -25,11 +25,15 @@
*********************************************************/
package com.yxt.anrui.scm.api.scmfinanceadjustapply;
+import com.yxt.anrui.scm.api.scmfinanceadjustapply.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 javax.validation.Valid;
+import java.util.List;
+
/**
* Project: scm(金融贴息)
* File: ScmFinanceAdjustApplyFeignFallback.java
@@ -77,4 +81,49 @@ public class ScmFinanceAdjustApplyFeignFallback implements ScmFinanceAdjustApply
public ResultBean> finAdjustList(PagerQuery pq) {
return null;
}
+
+ @Override
+ public ResultBean submitRecordApplication(@Valid SubmitAdjustDto dto) {
+ return null;
+ }
+
+ @Override
+ public ResultBean complete(@Valid AdjustCompleteDto dto) {
+ return null;
+ }
+
+ @Override
+ public ResultBean revokeProcess(AdjustTaskQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean taskReject(AdjustTaskQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean breakProcess(AdjustTaskQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean flowRecord(String procInsId) {
+ return null;
+ }
+
+ @Override
+ public ResultBean> getNextNodesForSubmit(@Valid AdjustGetNodeQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean> getPreviousNodesForReject(@Valid AdjustGetNodeQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean delegate(AdjustDelegateQuery distributorDelegateQuery) {
+ return null;
+ }
}
\ No newline at end of file
diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/flow/AdjustCompleteDto.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/flow/AdjustCompleteDto.java
new file mode 100644
index 0000000000..645fbf7c5e
--- /dev/null
+++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/flow/AdjustCompleteDto.java
@@ -0,0 +1,41 @@
+package com.yxt.anrui.scm.api.scmfinanceadjustapply.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 AdjustCompleteDto 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-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/flow/AdjustDelegateQuery.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/flow/AdjustDelegateQuery.java
new file mode 100644
index 0000000000..f7b379fd46
--- /dev/null
+++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/flow/AdjustDelegateQuery.java
@@ -0,0 +1,26 @@
+package com.yxt.anrui.scm.api.scmfinanceadjustapply.flow;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author Administrator
+ * @description
+ * @date 2023/9/28 9:28
+ */
+@Data
+public class AdjustDelegateQuery {
+ @ApiModelProperty
+ private String userSid;
+ @ApiModelProperty("流程实例id")
+// @JsonProperty("procInsId")
+ private String instanceId;
+ @ApiModelProperty("任务Id")
+ private String taskId;
+ @ApiModelProperty("审批人sid")
+ private String assignee;
+ @ApiModelProperty("填写意见")
+ private String views;
+
+
+}
diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/flow/AdjustGetNodeQuery.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/flow/AdjustGetNodeQuery.java
new file mode 100644
index 0000000000..fd06695a1d
--- /dev/null
+++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/flow/AdjustGetNodeQuery.java
@@ -0,0 +1,26 @@
+package com.yxt.anrui.scm.api.scmfinanceadjustapply.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 AdjustGetNodeQuery 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-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/flow/AdjustGetNodeVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/flow/AdjustGetNodeVo.java
new file mode 100644
index 0000000000..4e2ea93a8e
--- /dev/null
+++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/flow/AdjustGetNodeVo.java
@@ -0,0 +1,25 @@
+package com.yxt.anrui.scm.api.scmfinanceadjustapply.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 AdjustGetNodeVo implements Vo {
+ private static final long serialVersionUID = 8802774014747063504L;
+ @ApiModelProperty(value = "节点名称")
+ private String name;
+ @ApiModelProperty(value = "节点id")
+ private String id;
+ @ApiModelProperty(value = "审批组")
+ private List candidateGroups;
+ @ApiModelProperty(value = "是否是最后环节")
+ private String endTask;
+}
diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/flow/AdjustTaskQuery.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/flow/AdjustTaskQuery.java
new file mode 100644
index 0000000000..a886a8e27f
--- /dev/null
+++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/flow/AdjustTaskQuery.java
@@ -0,0 +1,56 @@
+package com.yxt.anrui.scm.api.scmfinanceadjustapply.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 AdjustTaskQuery implements Query {
+ private static final long serialVersionUID = -4006020771892400451L;
+ /**
+ * 终止、驳回、撤回
+ */
+ @ApiModelProperty("任务Id")
+ @NotBlank(message = "参数错误:taskId")
+ private String taskId;
+ /**
+ * 终止、驳回、撤回
+ */
+ @ApiModelProperty("业务sid")
+ @NotBlank(message = "参数错误:businessSid")
+ private String businessSid;
+ /**
+ * 终止、驳回
+ */
+ @ApiModelProperty("任务意见")
+ private String comment;
+ /**
+ * 终止、撤回、驳回
+ */
+ @ApiModelProperty("用户Sid")
+ private String userSid;
+ /**
+ * 终止
+ */
+ @ApiModelProperty("流程实例Id")
+ private String instanceId;
+ /*@ApiModelProperty("用户Id")
+ private String userId;
+ @ApiModelProperty("节点")
+ private String targetKey;
+ @ApiModelProperty("流程变量信息")
+ private Map values = new HashMap<>();
+ @ApiModelProperty("审批人")
+ private String assignee;
+ @ApiModelProperty("候选人")
+ private List candidateUsers = new ArrayList<>();
+ @ApiModelProperty("审批组")
+ private List candidateGroups = new ArrayList<>();*/
+}
diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/flow/SubmitAdjustDto.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/flow/SubmitAdjustDto.java
new file mode 100644
index 0000000000..add65ba28a
--- /dev/null
+++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/flow/SubmitAdjustDto.java
@@ -0,0 +1,20 @@
+package com.yxt.anrui.scm.api.scmfinanceadjustapply.flow;
+
+import com.yxt.anrui.scm.api.scmfinanceadjustapply.ScmFinanceAdjustApplyDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/6/27 13:38
+ * @Description
+ */
+@Data
+public class SubmitAdjustDto extends ScmFinanceAdjustApplyDto {
+ private static final long serialVersionUID = 378585162071125756L;
+ @ApiModelProperty("流程实例id")
+ private String instanceId;
+ @ApiModelProperty("任务id")
+ private String taskId;
+
+}
diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustdetails/ScmFinanceAdjustDetailsQuery.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustdetails/ScmFinanceAdjustDetailsQuery.java
index 76c16a885a..1753b1d1fd 100644
--- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustdetails/ScmFinanceAdjustDetailsQuery.java
+++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustdetails/ScmFinanceAdjustDetailsQuery.java
@@ -98,6 +98,7 @@ public class ScmFinanceAdjustDetailsQuery implements Query {
* 车架号
*/
private String vinNo;
+ private String adjustWay;
}
diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyMapper.java
index 53509cbb49..98934b5ef2 100644
--- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyMapper.java
+++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyMapper.java
@@ -39,6 +39,7 @@ import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
+import java.util.Map;
/**
* Project: scm(金融贴息)
@@ -73,4 +74,6 @@ public interface ScmFinanceAdjustApplyMapper extends BaseMapper map);
}
\ No newline at end of file
diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyMapper.xml
index 3829c16a5e..cfeb1abf87 100644
--- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyMapper.xml
+++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyMapper.xml
@@ -1,7 +1,22 @@
-
+
+ UPDATE scm_finance_adjust_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-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyRest.java
index bab909b39d..3f471a9155 100644
--- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyRest.java
+++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyRest.java
@@ -25,7 +25,11 @@
*********************************************************/
package com.yxt.anrui.scm.biz.scmfinanceadjustapply;
+import cn.hutool.core.bean.BeanUtil;
+import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
+import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.scm.api.scmfinanceadjustapply.*;
+import com.yxt.anrui.scm.api.scmfinanceadjustapply.flow.*;
import com.yxt.anrui.scm.biz.scmfile.ScmFileService;
import com.yxt.anrui.scm.biz.scmfinanceadjustdetails.ScmFinanceAdjustDetailsService;
import com.yxt.common.core.query.PagerQuery;
@@ -37,6 +41,8 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import java.util.List;
+
/**
* Project: scm(金融贴息)
* File: ScmFinanceAdjustApplyFeignFallback.java
@@ -125,4 +131,52 @@ public class ScmFinanceAdjustApplyRest implements ScmFinanceAdjustApplyFeign {
PagerVo pv = scmFinanceAdjustApplyService.finAdjustList(pq);
return rb.success().setData(pv);
}
+
+ @Override
+ public ResultBean submitRecordApplication(SubmitAdjustDto dto) {
+ return scmFinanceAdjustApplyService.submitRecordApplication(dto);
+ }
+
+ @Override
+ public ResultBean complete(AdjustCompleteDto dto) {
+ BusinessVariables bv = new BusinessVariables();
+ BeanUtil.copyProperties(dto, bv);
+ bv.setModelId(ProcDefEnum.JTTXCYSQ.getProDefId());
+ return scmFinanceAdjustApplyService.complete(bv);
+ }
+
+ @Override
+ public ResultBean revokeProcess(AdjustTaskQuery query) {
+ return scmFinanceAdjustApplyService.revokeProcess(query);
+ }
+
+ @Override
+ public ResultBean taskReject(AdjustTaskQuery query) {
+ return scmFinanceAdjustApplyService.taskReject(query);
+ }
+
+ @Override
+ public ResultBean breakProcess(AdjustTaskQuery query) {
+ return scmFinanceAdjustApplyService.breakProcess(query);
+ }
+
+ @Override
+ public ResultBean flowRecord(String procInsId) {
+ return scmFinanceAdjustApplyService.flowRecord(procInsId);
+ }
+
+ @Override
+ public ResultBean> getNextNodesForSubmit(AdjustGetNodeQuery query) {
+ return scmFinanceAdjustApplyService.getNextNodesForSubmit(query);
+ }
+
+ @Override
+ public ResultBean> getPreviousNodesForReject(AdjustGetNodeQuery query) {
+ return scmFinanceAdjustApplyService.getPreviousNodesForReject(query);
+ }
+
+ @Override
+ public ResultBean delegate(AdjustDelegateQuery delegateQuery) {
+ return scmFinanceAdjustApplyService.delegate(delegateQuery);
+ }
}
diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyService.java
index c3ae8c20ee..150df16bee 100644
--- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyService.java
+++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyService.java
@@ -26,20 +26,36 @@
package com.yxt.anrui.scm.biz.scmfinanceadjustapply;
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.commonappendix.CommonAttachTypeEnum;
import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
+import com.yxt.anrui.flowable.api.flow.FlowableFeign;
+import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
+import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery;
+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.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.PrivilegeVo;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
+import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.scm.api.scmfile.ScmFileDto;
import com.yxt.anrui.scm.api.scmfile.ScmFileVo;
import com.yxt.anrui.scm.api.scmfinanceadjustapply.*;
+import com.yxt.anrui.scm.api.scmfinanceadjustapply.flow.*;
import com.yxt.anrui.scm.api.scmfinanceadjustdetails.ScmFinanceAdjustDetails;
import com.yxt.anrui.scm.biz.scmfile.ScmFileService;
import com.yxt.anrui.scm.biz.scmfinanceadjustdetails.ScmFinanceAdjustDetailsService;
@@ -50,12 +66,17 @@ 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 java.util.ArrayList;
-import java.util.List;
+import java.math.BigDecimal;
+import java.util.*;
+import java.util.concurrent.*;
+import java.util.stream.Collectors;
/**
* Project: scm(金融贴息)
@@ -73,6 +94,16 @@ import java.util.List;
@Service
public class ScmFinanceAdjustApplyService extends MybatisBaseService {
+ @Autowired
+ private MessageFeign messageFeign;
+ @Autowired
+ private FlowTaskFeign flowTaskFeign;
+ @Autowired
+ private FlowFeign flowFeign;
+ @Autowired
+ private FlowableFeign flowableFeign;
+ @Autowired
+ private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private ScmFileService scmFileService;
@Autowired
@@ -173,7 +204,7 @@ public class ScmFinanceAdjustApplyService extends MybatisBaseService scmFileVos = scmFileService.fetchByMainSid(sid);
if (!scmFileVos.isEmpty() && scmFileVos.size() > 0) {
for (ScmFileVo scmFileVo : scmFileVos) {
@@ -288,6 +320,14 @@ public class ScmFinanceAdjustApplyService extends MybatisBaseService page = PagerUtil.queryToPage(pq);
@@ -357,4 +397,520 @@ public class ScmFinanceAdjustApplyService extends MybatisBaseService map) {
+ return baseMapper.updateFlowFiled(map);
+ }
+
+ public ResultBean submitRecordApplication(SubmitAdjustDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ ScmFinanceAdjustApply scmFinanceAdjustApply = fetchBySid(dto.getSid());
+ int r = submitBusinessData(dto, scmFinanceAdjustApply);
+ if (r == 3) {
+ return rb.setMsg("该申请不存在");
+ }
+ if (r == 0) {
+ return rb.setMsg("操作失败!提交的数据不一致");
+ }
+ //新增修改保存
+ String businessSid = saveBill(dto);
+ ScmFinanceAdjustApply entity = fetchBySid(businessSid);
+ String orgSidPath = "";
+ if (StringUtils.isNotBlank(entity.getDeptSid())) {
+ SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(entity.getDeptSid()).getData();
+ if (null != organizationVo) {
+ orgSidPath = organizationVo.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 isCustomer = false; //调整方式是否为客户交纳
+ boolean isMoney = false;//认损金额是否>2000
+ //去查询调整方式是否为客户交纳
+ if (entity.getAdjustWay().equals("客户交纳")) {
+ isCustomer = true;
+ } else {
+ List details = scmFinanceAdjustDetailsService.selByMainSid(businessSid);
+ if (!details.isEmpty()) {
+ for (ScmFinanceAdjustDetails detail : details) {
+ BigDecimal rensunMoney = BigDecimal.ZERO;
+ if (null != detail.getNowAdjustmentMoney()) {
+ rensunMoney = detail.getNowAdjustmentMoney();
+ }
+ if (rensunMoney.compareTo(new BigDecimal("2000")) > 0) {
+ //判断认损金额>2000
+ isMoney = true;
+ }
+ }
+ }
+ }
+ variables.put("isCustomer", isCustomer);
+ variables.put("isMoney", isMoney);
+ variables.put("businessSid", businessSid);
+ appMap.put("sid", businessSid);
+ variables.put("app", appMap);
+ String orderNames = "金融贴息差异调整申请";
+ variables.put("orderNames", orderNames);
+ ScmFinanceAdjustApply scmFinanceAdjustApply1 = fetchBySid(businessSid);
+ String msgBusinessSid = scmFinanceAdjustApply1.getSid();
+ //用户的部门全路径sid
+ bv.setOrgSidPath(orgSidPath);
+ //业务sid
+ bv.setBusinessSid(businessSid);
+ //用户sid
+ bv.setUserSid(dto.getCreateBySid());
+ bv.setFormVariables(variables);
+ String nextNodeUserSids_ = sysOrganization.getManagerSid();
+ if (isCustomer) {
+ if (StringUtils.isNotBlank(entity.getStaffSid())) {
+ bv.setNextNodeUserSids(entity.getStaffSid());
+ } else {
+ bv.setNextNodeUserSids(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId());
+ }
+ }
+ //流程定义id
+ bv.setModelId(ProcDefEnum.JTTXCYSQ.getProDefId());
+ if (r == 1) {
+ //流程定义id
+ bv.setModelId(ProcDefEnum.JTTXCYSQ.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(() -> {
+ //极光推送
+ 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(scmFinanceAdjustApply1.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");
+ }
+ ScmFinanceAdjustApply scmFinanceAdjustApply2 = fetchBySid(dto.getSid());
+ bv.setTaskId(dto.getTaskId());
+ bv.setTaskDefKey(scmFinanceAdjustApply2.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();
+ ScmFinanceAdjustApply entity = this.fetchBySid(businessSid);
+ if (bv.getTaskId().equals(entity.getTaskId())) {
+ String orgSidPath = "";
+ if (StringUtils.isNotBlank(entity.getDeptSid())) {
+ SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(entity.getDeptSid()).getData();
+ if (null != organizationVo) {
+ orgSidPath = organizationVo.getOrgSidPath();
+ }
+ }
+ bv.setOrgSidPath(orgSidPath);
+ //流程中的参数赋值
+ Map variables = new HashMap<>();
+ Map appMap = new HashMap<>();
+ //若有网关,则赋值网关中判断的字段。
+ boolean isCustomer = false; //调整方式是否为客户交纳
+ boolean isMoney = false;//认损金额是否>2000
+ //去查询调整方式是否为客户交纳
+ if (entity.getAdjustWay().equals("客户交纳")) {
+ isCustomer = true;
+ } else {
+ List details = scmFinanceAdjustDetailsService.selByMainSid(businessSid);
+ if (!details.isEmpty()) {
+ for (ScmFinanceAdjustDetails detail : details) {
+ BigDecimal rensunMoney = BigDecimal.ZERO;
+ if (null != detail.getNowAdjustmentMoney()) {
+ rensunMoney = detail.getNowAdjustmentMoney();
+ }
+ if (rensunMoney.compareTo(new BigDecimal("2000")) > 0) {
+ //判断认损金额>2000
+ isMoney = true;
+ }
+ }
+ }
+ }
+ variables.put("isCustomer", isCustomer);
+ variables.put("isMoney", isMoney);
+ if (bv.getTaskDefKey().equals("Activity_049lvok")) {
+ if (StringUtils.isNotBlank(entity.getSalesManageSid())) {
+ bv.setNextNodeUserSids(entity.getSalesManageSid());
+ } else {
+ bv.setNextNodeUserSids(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId());
+ }
+ }
+ variables.put("businessSid", businessSid);
+ appMap.put("sid", businessSid);
+ variables.put("app", appMap);
+ bv.setFormVariables(variables);
+ ResultBean resultBean = flowFeign.handleProsess(bv);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ UpdateFlowFieldVo ufVo = resultBean.getData();
+ int i = updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
+ if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
+ ScmFinanceAdjustApply scmFinanceAdjustApply = fetchBySid(businessSid);
+ scmFinanceAdjustApply.setClosingDate(new Date());
+ baseMapper.updateById(scmFinanceAdjustApply);
+
+
+ } else {
+ //极光推送
+ entity = fetchBySid(businessSid);
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ messageFlowVo.setProcDefId(entity.getProcDefId());
+ messageFlowVo.setProcInsId(entity.getProcInstId());
+ messageFlowableQuery.setUfVo(messageFlowVo);
+ messageFlowableQuery.setAppMap(appMap);
+ messageFlowableQuery.setBusinessSid(businessSid);
+ messageFlowableQuery.setModuleName("金融贴息差异调整申请");
+ messageFlowableQuery.setMsgContent(entity.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ messageFlowableQuery.setMsgTitle("金融贴息差异调整申请");
+ ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
+ }
+ return rb.success().setData(resultBean.getData());
+ } else {
+ return rb.setMsg("操作失败!提交的数据不一致");
+ }
+ }
+
+
+ public ResultBean revokeProcess(AdjustTaskQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ if (StringUtils.isBlank(query.getUserSid())) {
+ return rb.setMsg("参数错误:userSid");
+ }
+ ScmFinanceAdjustApply scmFinanceAdjustApply = fetchBySid(query.getBusinessSid());
+ String businessTaskId = scmFinanceAdjustApply.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(AdjustTaskQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ String businessSid = query.getBusinessSid();
+ ScmFinanceAdjustApply scmFinanceAdjustApply = fetchBySid(businessSid);
+ if (scmFinanceAdjustApply == null) {
+ return rb.setMsg("该申请不存在");
+ }
+ String businessTaskId = scmFinanceAdjustApply.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);
+ //若有网关,则赋值网关中判断的字段。
+ boolean isCustomer = false; //调整方式是否为客户交纳
+ boolean isMoney = false;//认损金额是否>2000
+ //去查询调整方式是否为客户交纳
+ if (scmFinanceAdjustApply.getAdjustWay().equals("客户交纳")) {
+ isCustomer = true;
+ } else {
+ List details = scmFinanceAdjustDetailsService.selByMainSid(businessSid);
+ if (!details.isEmpty()) {
+ for (ScmFinanceAdjustDetails detail : details) {
+ BigDecimal rensunMoney = BigDecimal.ZERO;
+ if (null != detail.getNowAdjustmentMoney()) {
+ rensunMoney = detail.getNowAdjustmentMoney();
+ }
+ if (rensunMoney.compareTo(new BigDecimal("2000")) > 0) {
+ //判断认损金额>2000
+ isMoney = true;
+ }
+ }
+ }
+ }
+ variables.put("isCustomer", isCustomer);
+ variables.put("isMoney", isMoney);
+ 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);
+ //极光推送
+ scmFinanceAdjustApply = fetchBySid(businessSid);
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ String procId = scmFinanceAdjustApply.getProcInstId();
+ messageFlowVo.setProcInsId(procId);
+ messageFlowVo.setProcDefId(scmFinanceAdjustApply.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(scmFinanceAdjustApply.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(AdjustTaskQuery 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("请填写意见");
+ }
+ ScmFinanceAdjustApply scmFinanceAdjustApply = fetchBySid(query.getBusinessSid());
+ String businessTaskId = scmFinanceAdjustApply.getTaskId();
+ if (StringUtils.isNotBlank(businessTaskId)) {
+ if (query.getUserSid().equals(scmFinanceAdjustApply.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(AdjustGetNodeQuery query) {
+ ResultBean> rb = ResultBean.fireFail();
+ BusinessVariables bv = new BusinessVariables();
+ BeanUtil.copyProperties(query, bv);
+ //流程中的参数赋值、若有网关,则赋值网关中判断的字段。
+ Map variables = new HashMap<>();
+ //根据业务sid查询信息
+ ScmFinanceAdjustApply scmFinanceAdjustApply = fetchBySid(query.getBusinessSid());
+ //若有网关,则赋值网关中判断的字段。
+ boolean isCustomer = false; //调整方式是否为客户交纳
+ boolean isMoney = false;//认损金额是否>2000
+ //去查询调整方式是否为客户交纳
+ if (scmFinanceAdjustApply.getAdjustWay().equals("客户交纳")) {
+ isCustomer = true;
+ } else {
+ List details = scmFinanceAdjustDetailsService.selByMainSid(query.getBusinessSid());
+ if (!details.isEmpty()) {
+ for (ScmFinanceAdjustDetails detail : details) {
+ BigDecimal rensunMoney = BigDecimal.ZERO;
+ if (null != detail.getNowAdjustmentMoney()) {
+ rensunMoney = detail.getNowAdjustmentMoney();
+ }
+ if (rensunMoney.compareTo(new BigDecimal("2000")) > 0) {
+ //判断认损金额>2000
+ isMoney = true;
+ }
+ }
+ }
+ }
+ variables.put("isCustomer", isCustomer);
+ variables.put("isMoney", isMoney);
+ bv.setFormVariables(variables);
+ bv.setModelId(scmFinanceAdjustApply.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), AdjustGetNodeVo.class)).collect(Collectors.toList());
+ return rb.success().setData(voList);
+ }
+
+ public ResultBean> getPreviousNodesForReject(AdjustGetNodeQuery query) {
+ ResultBean> rb = ResultBean.fireFail();
+ BusinessVariables bv = new BusinessVariables();
+ BeanUtil.copyProperties(query, bv);
+ //流程中的参数赋值、若有网关,则赋值网关中判断的字段。
+ Map variables = new HashMap<>();
+ //根据业务sid查询排产
+ ScmFinanceAdjustApply scmFinanceAdjustApply = fetchBySid(query.getBusinessSid());
+ //若有网关,则赋值网关中判断的字段。
+ boolean isCustomer = false; //调整方式是否为客户交纳
+ boolean isMoney = false;//认损金额是否>2000
+ //去查询调整方式是否为客户交纳
+ if (scmFinanceAdjustApply.getAdjustWay().equals("客户交纳")) {
+ isCustomer = true;
+ } else {
+ List details = scmFinanceAdjustDetailsService.selByMainSid(query.getBusinessSid());
+ if (!details.isEmpty()) {
+ for (ScmFinanceAdjustDetails detail : details) {
+ BigDecimal rensunMoney = BigDecimal.ZERO;
+ if (null != detail.getNowAdjustmentMoney()) {
+ rensunMoney = detail.getNowAdjustmentMoney();
+ }
+ if (rensunMoney.compareTo(new BigDecimal("2000")) > 0) {
+ //判断认损金额>2000
+ isMoney = true;
+ }
+ }
+ }
+ }
+ variables.put("isCustomer", isCustomer);
+ variables.put("isMoney", isMoney);
+ bv.setFormVariables(variables);
+ bv.setModelId(scmFinanceAdjustApply.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), AdjustGetNodeVo.class)).collect(Collectors.toList());
+ return rb.success().setData(voList);
+ }
+
+ public ResultBean delegate(AdjustDelegateQuery adjustDelegateQuery) {
+ ResultBean rb = ResultBean.fireFail();
+ FlowDelegateQuery delegateQuery = new FlowDelegateQuery();
+ BeanUtil.copyProperties(adjustDelegateQuery, delegateQuery);
+ flowFeign.delegate(delegateQuery);
+ return rb.success();
+ }
}
\ No newline at end of file
diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustdetails/ScmFinanceAdjustDetailsMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustdetails/ScmFinanceAdjustDetailsMapper.xml
index b90c2feaaf..f34353db57 100644
--- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustdetails/ScmFinanceAdjustDetailsMapper.xml
+++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustdetails/ScmFinanceAdjustDetailsMapper.xml
@@ -6,8 +6,8 @@
SELECT
CASE
- WHEN a.nodeState = '未提交' THEN'未提交'
- WHEN a.nodeState != '未提交' AND a.nodeState != '已办结' AND a.nodeState != '终止' THEN '申请中'
+ WHEN a.nodeState = '待提交' THEN'待提交'
+ WHEN a.nodeState != '待提交' AND a.nodeState != '已办结' AND a.nodeState != '终止' THEN '申请中'
WHEN a.nodeState = '已办结' THEN '已办结'
WHEN a.nodeState = '终止' THEN '终止'
END AS `nodeState`,
diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustdetails/ScmFinanceAdjustDetailsService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustdetails/ScmFinanceAdjustDetailsService.java
index 4a4380bb8b..f7998c3b3d 100644
--- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustdetails/ScmFinanceAdjustDetailsService.java
+++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustdetails/ScmFinanceAdjustDetailsService.java
@@ -129,6 +129,9 @@ public class ScmFinanceAdjustDetailsService extends MybatisBaseService= date_format('" + applyStartTime + "','%Y-%m-%d')").