Merge remote-tracking branch 'origin/develop' into develop
Showing
35 changed files
with
1321 additions
and
280 deletions
... | @@ -89,6 +89,14 @@ public class DemandController { | ... | @@ -89,6 +89,14 @@ public class DemandController { |
89 | return CommonRes.success(true); | 89 | return CommonRes.success(true); |
90 | } | 90 | } |
91 | 91 | ||
92 | @PostMapping("/cross-flow-call-back") | ||
93 | @SystemLog(value = "数据需求-流程结束后进行业务回调(跨服务审批)") | ||
94 | @Operation(summary = "数据需求-流程结束后进行业务回调(跨服务审批)", hidden = true) | ||
95 | public CommonRes<Boolean> crossFlowCallBack(@RequestBody @Valid BizCallbackDTO dto) { | ||
96 | demandService.crossFlowCallBack(dto); | ||
97 | return CommonRes.success(true); | ||
98 | } | ||
99 | |||
92 | @PostMapping("/last-approve") | 100 | @PostMapping("/last-approve") |
93 | @SystemLog(value = "数据需求审批") | 101 | @SystemLog(value = "数据需求审批") |
94 | @Operation(summary = "数据需求审批-最后一个节点时调用") | 102 | @Operation(summary = "数据需求审批-最后一个节点时调用") |
... | @@ -97,6 +105,13 @@ public class DemandController { | ... | @@ -97,6 +105,13 @@ public class DemandController { |
97 | return CommonRes.success(vo); | 105 | return CommonRes.success(vo); |
98 | } | 106 | } |
99 | 107 | ||
108 | @PostMapping("/process-order-list") | ||
109 | @Operation(summary = "查询加工单列表") | ||
110 | public CommonRes<List<ProcessOrderProcessDtlRSVO>> listByProcessOrderNo() { | ||
111 | List<ProcessOrderProcessDtlRSVO> pageVO = demandService.listByProcessOrderNo(); | ||
112 | return CommonRes.success(pageVO); | ||
113 | } | ||
114 | |||
100 | //endregion | 115 | //endregion |
101 | 116 | ||
102 | } | 117 | } | ... | ... |
... | @@ -3,6 +3,7 @@ package com.csbr.qingcloud.portal.controller; | ... | @@ -3,6 +3,7 @@ package com.csbr.qingcloud.portal.controller; |
3 | import com.alibaba.fastjson.JSON; | 3 | import com.alibaba.fastjson.JSON; |
4 | import com.alibaba.fastjson.JSONObject; | 4 | import com.alibaba.fastjson.JSONObject; |
5 | import com.csbr.cloud.common.response.CommonRes; | 5 | import com.csbr.cloud.common.response.CommonRes; |
6 | import com.csbr.cloud.workflow.domain.dto.appove.FlowQueryDTO; | ||
6 | import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO; | 7 | import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO; |
7 | import com.csbr.qingcloud.portal.domain.vo.*; | 8 | import com.csbr.qingcloud.portal.domain.vo.*; |
8 | import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService; | 9 | import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService; |
... | @@ -70,6 +71,14 @@ public class EnterpriseController { | ... | @@ -70,6 +71,14 @@ public class EnterpriseController { |
70 | return CommonRes.success(pageVO); | 71 | return CommonRes.success(pageVO); |
71 | } | 72 | } |
72 | 73 | ||
74 | @PostMapping("/flow/page-list") | ||
75 | @SystemLog(value = "企业信息-分页(调用流程)") | ||
76 | @Operation(summary = "企业信息-分页(调用流程)") | ||
77 | public CommonRes<PageListVO<EnterpriseApproveRSVO>> flowPageList(@RequestBody @Valid FlowQueryDTO dto) { | ||
78 | PageListVO<EnterpriseApproveRSVO> pageVO = enterpriseService.flowPageList(dto); | ||
79 | return CommonRes.success(pageVO); | ||
80 | } | ||
81 | |||
73 | @GetMapping("/detail") | 82 | @GetMapping("/detail") |
74 | @SystemLog(value = "企业信息-详情") | 83 | @SystemLog(value = "企业信息-详情") |
75 | @Operation(summary = "企业信息-详情", | 84 | @Operation(summary = "企业信息-详情", |
... | @@ -79,6 +88,15 @@ public class EnterpriseController { | ... | @@ -79,6 +88,15 @@ public class EnterpriseController { |
79 | return CommonRes.success(vo); | 88 | return CommonRes.success(vo); |
80 | } | 89 | } |
81 | 90 | ||
91 | @GetMapping("/detail-by-logonUser") | ||
92 | @SystemLog(value = "企业信息-根据登陆账号查询详情") | ||
93 | @Operation(summary = "企业信息-根据登陆账号查询详情", | ||
94 | parameters = {@Parameter(name = "logonUser", description = "登陆账号", required = true)} ) | ||
95 | public CommonRes<EnterpriseRSVO> getEnterpriseDetailByLogonUser(@RequestParam String logonUser) { | ||
96 | EnterpriseRSVO vo = enterpriseService.getEnterpriseDetailByLogonUser(logonUser); | ||
97 | return CommonRes.success(vo); | ||
98 | } | ||
99 | |||
82 | @GetMapping("/detail-by-name") | 100 | @GetMapping("/detail-by-name") |
83 | @SystemLog(value = "按名称查企业信息详情") | 101 | @SystemLog(value = "按名称查企业信息详情") |
84 | @Operation(summary = "按名称查企业信息详情", | 102 | @Operation(summary = "按名称查企业信息详情", |
... | @@ -96,12 +114,12 @@ public class EnterpriseController { | ... | @@ -96,12 +114,12 @@ public class EnterpriseController { |
96 | return CommonRes.success(true); | 114 | return CommonRes.success(true); |
97 | } | 115 | } |
98 | 116 | ||
99 | @PostMapping("/last-approve") | 117 | @PostMapping("/cross-flow-call-back") |
100 | @SystemLog(value = "企业认证审批") | 118 | @SystemLog(value = "企业信息-流程结束后进行业务回调(跨服务审批)") |
101 | @Operation(summary = "企业认证审批-最后一个节点时调用") | 119 | @Operation(summary = "企业信息-流程结束后进行业务回调(跨服务审批)", hidden = true) |
102 | public CommonRes<Boolean> lastApprove(@RequestBody FlowUpdateStateDTO dto) { | 120 | public CommonRes<Boolean> crossFlowCallBack(@RequestBody @Valid BizCallbackDTO dto) { |
103 | Boolean vo = enterpriseService.lastApprove(dto); | 121 | enterpriseService.crossFlowCallBack(dto); |
104 | return CommonRes.success(vo); | 122 | return CommonRes.success(true); |
105 | } | 123 | } |
106 | 124 | ||
107 | @PostMapping("/move-old-data") | 125 | @PostMapping("/move-old-data") |
... | @@ -135,6 +153,14 @@ public class EnterpriseController { | ... | @@ -135,6 +153,14 @@ public class EnterpriseController { |
135 | return CommonRes.success(true); | 153 | return CommonRes.success(true); |
136 | } | 154 | } |
137 | 155 | ||
156 | @PostMapping("/change/cross-flow-call-back") | ||
157 | @SystemLog(value = "变更审批-最终更新(跨平台)") | ||
158 | @Operation( summary = "变更审批-最终更新(跨平台)" ) | ||
159 | public CommonRes<Boolean> changeCrossFlowCallBack(@RequestBody BizCallbackDTO dto) { | ||
160 | enterpriseChangeApproveService.crossFlowCallBack(dto); | ||
161 | return CommonRes.success(true); | ||
162 | } | ||
163 | |||
138 | @PostMapping("/change/save") | 164 | @PostMapping("/change/save") |
139 | @SystemLog(value = "变更申请-保存数据") | 165 | @SystemLog(value = "变更申请-保存数据") |
140 | @Operation(summary = "变更申请-保存数据") | 166 | @Operation(summary = "变更申请-保存数据") |
... | @@ -151,6 +177,22 @@ public class EnterpriseController { | ... | @@ -151,6 +177,22 @@ public class EnterpriseController { |
151 | return CommonRes.success(enterpriseChangeApproveService.changeDetail(guid)); | 177 | return CommonRes.success(enterpriseChangeApproveService.changeDetail(guid)); |
152 | } | 178 | } |
153 | 179 | ||
180 | @DeleteMapping("/change/delete") | ||
181 | @SystemLog(value = "变更申请-批量删除") | ||
182 | @Operation(summary = "变更申请-批量删除") | ||
183 | public CommonRes<Boolean> changeRemoveByGuids(@RequestBody List<String> guids) { | ||
184 | enterpriseChangeApproveService.removeByGuids(guids); | ||
185 | return CommonRes.success(true); | ||
186 | } | ||
187 | |||
188 | @DeleteMapping("/change/cross-delete") | ||
189 | @SystemLog(value = "变更申请-批量删除(跨平台)") | ||
190 | @Operation(summary = "变更申请-批量删除(跨平台)", hidden = true) | ||
191 | public CommonRes<Boolean> crossRemoveByGuids(@RequestBody List<String> zqBizGuids) { | ||
192 | enterpriseChangeApproveService.crossRemoveByBizGuid(zqBizGuids); | ||
193 | return CommonRes.success(true); | ||
194 | } | ||
195 | |||
154 | //endregion | 196 | //endregion |
155 | 197 | ||
156 | } | 198 | } | ... | ... |
1 | package com.csbr.qingcloud.portal.domain.vo; | ||
2 | |||
3 | import lombok.Data; | ||
4 | |||
5 | /** | ||
6 | * @program: ms-user-scm-service | ||
7 | * @description: 行政区 | ||
8 | * @author: yio | ||
9 | * @create: 2021-01-14 15:39 | ||
10 | **/ | ||
11 | @Data | ||
12 | public class BoroughPOJO { | ||
13 | private String code; | ||
14 | private String name; | ||
15 | private String parentId; | ||
16 | private String isPCapital; | ||
17 | private String isDeleted; | ||
18 | /** 城市等级 (0 一线城市,1 新一线城市,2 二线城市,3 三线城市,4 四线城市,5 五线城市,6 六线城市)*/ | ||
19 | private String areaLevel; | ||
20 | } |
... | @@ -55,4 +55,7 @@ public class ChangeApproveVO { | ... | @@ -55,4 +55,7 @@ public class ChangeApproveVO { |
55 | @Schema(description = "原业务数据明细") | 55 | @Schema(description = "原业务数据明细") |
56 | private String oldBizDataDetailJson; | 56 | private String oldBizDataDetailJson; |
57 | 57 | ||
58 | private String zqName; | ||
59 | private String zqBizGuid; | ||
60 | |||
58 | } | 61 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -3,6 +3,7 @@ package com.csbr.qingcloud.portal.domain.vo; | ... | @@ -3,6 +3,7 @@ package com.csbr.qingcloud.portal.domain.vo; |
3 | import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO; | 3 | import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO; |
4 | import io.swagger.v3.oas.annotations.media.Schema; | 4 | import io.swagger.v3.oas.annotations.media.Schema; |
5 | import com.fasterxml.jackson.annotation.JsonFormat; | 5 | import com.fasterxml.jackson.annotation.JsonFormat; |
6 | import jdk.jfr.Name; | ||
6 | import lombok.Data; | 7 | import lombok.Data; |
7 | import java.math.BigDecimal; | 8 | import java.math.BigDecimal; |
8 | import java.util.Date; | 9 | import java.util.Date; |
... | @@ -29,6 +30,9 @@ public class DemandRQVO extends FlowRQBaseVO { | ... | @@ -29,6 +30,9 @@ public class DemandRQVO extends FlowRQBaseVO { |
29 | @Schema(description = "需求类型") | 30 | @Schema(description = "需求类型") |
30 | private String requirementType; | 31 | private String requirementType; |
31 | 32 | ||
33 | @Schema(title = "专区名称") | ||
34 | private String zqName; | ||
35 | |||
32 | /** | 36 | /** |
33 | * 需求分类【1新增 2调整】 | 37 | * 需求分类【1新增 2调整】 |
34 | */ | 38 | */ |
... | @@ -206,6 +210,18 @@ public class DemandRQVO extends FlowRQBaseVO { | ... | @@ -206,6 +210,18 @@ public class DemandRQVO extends FlowRQBaseVO { |
206 | 210 | ||
207 | /******** 自定义扩展 *****/ | 211 | /******** 自定义扩展 *****/ |
208 | 212 | ||
213 | @Schema(description = "合同附件") | ||
214 | private String contractAttachJson; | ||
215 | |||
216 | @Schema(description = "加工单位类型") | ||
217 | private String processCompanyType; | ||
218 | |||
219 | @Schema(description = "加工单位唯一标识") | ||
220 | private String processCompanyGuid; | ||
221 | |||
222 | @Schema(description = "加工单位名称") | ||
223 | private String processCompanyName; | ||
224 | |||
209 | /******** 子对象 *****/ | 225 | /******** 子对象 *****/ |
210 | 226 | ||
211 | } | 227 | } | ... | ... |
... | @@ -168,7 +168,7 @@ public class DemandRSVO { | ... | @@ -168,7 +168,7 @@ public class DemandRSVO { |
168 | * 加工单生成时间 | 168 | * 加工单生成时间 |
169 | */ | 169 | */ |
170 | @Schema(description = "加工单生成时间") | 170 | @Schema(description = "加工单生成时间") |
171 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | 171 | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
172 | private Date processingGenerateTime; | 172 | private Date processingGenerateTime; |
173 | 173 | ||
174 | /** | 174 | /** |
... | @@ -218,7 +218,7 @@ public class DemandRSVO { | ... | @@ -218,7 +218,7 @@ public class DemandRSVO { |
218 | private String processCompanyGuid; | 218 | private String processCompanyGuid; |
219 | 219 | ||
220 | @Schema(description = "加工单位名称") | 220 | @Schema(description = "加工单位名称") |
221 | private String productAcceptName; | 221 | private String processCompanyName; |
222 | 222 | ||
223 | @Schema(description = "发起人") | 223 | @Schema(description = "发起人") |
224 | private String createUserName; | 224 | private String createUserName; |
... | @@ -232,6 +232,18 @@ public class DemandRSVO { | ... | @@ -232,6 +232,18 @@ public class DemandRSVO { |
232 | @Schema(description = "加工单编号") | 232 | @Schema(description = "加工单编号") |
233 | private String processOrderNo; | 233 | private String processOrderNo; |
234 | 234 | ||
235 | @Schema(title = "专区名称") | ||
236 | private String zqName; | ||
237 | |||
238 | @Schema(description ="业务名称") | ||
239 | private String bizName; | ||
240 | |||
241 | /** | ||
242 | * 跨平台审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销) | ||
243 | */ | ||
244 | @Schema(title = "跨平台审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)") | ||
245 | private String crossPlatformApproveState; | ||
246 | |||
235 | /******** 库表存储属性 需处理 *****/ | 247 | /******** 库表存储属性 需处理 *****/ |
236 | 248 | ||
237 | /******** 自定义扩展 *****/ | 249 | /******** 自定义扩展 *****/ | ... | ... |
1 | package com.csbr.qingcloud.portal.domain.vo; | 1 | package com.csbr.qingcloud.portal.domain.vo; |
2 | 2 | ||
3 | import com.fasterxml.jackson.annotation.JsonFormat; | ||
3 | import io.swagger.v3.oas.annotations.media.Schema; | 4 | import io.swagger.v3.oas.annotations.media.Schema; |
4 | import lombok.Data; | 5 | import lombok.Data; |
6 | |||
7 | import java.util.Date; | ||
5 | import java.util.List; | 8 | import java.util.List; |
6 | 9 | ||
7 | /** | 10 | /** |
... | @@ -32,5 +35,11 @@ public class DemandUpdateStateVO { | ... | @@ -32,5 +35,11 @@ public class DemandUpdateStateVO { |
32 | @Schema(description = "产品验收状态【N未开始 A进行中 Y已完成】") | 35 | @Schema(description = "产品验收状态【N未开始 A进行中 Y已完成】") |
33 | private String productAcceptState; | 36 | private String productAcceptState; |
34 | 37 | ||
38 | @Schema(description ="产品验收验收完成时间") | ||
39 | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") | ||
40 | private Date acceptFinishTime; | ||
41 | |||
42 | @Schema(description ="业务名称") | ||
43 | private String bizName; | ||
35 | 44 | ||
36 | } | 45 | } | ... | ... |
1 | package com.csbr.qingcloud.portal.domain.vo; | ||
2 | |||
3 | import com.csbr.cloud.workflow.domain.vo.appove.ApproveVO; | ||
4 | import com.csbr.cloud.workflow.domain.vo.appove.BizApproveVO; | ||
5 | import com.fasterxml.jackson.annotation.JsonFormat; | ||
6 | import io.swagger.v3.oas.annotations.media.Schema; | ||
7 | import lombok.Data; | ||
8 | |||
9 | import java.math.BigDecimal; | ||
10 | import java.util.Date; | ||
11 | import java.util.List; | ||
12 | |||
13 | /** | ||
14 | * @program: D:/git/ms-data-circulation-portal-service | ||
15 | * @description: 企业信息返回参数 | ||
16 | * @author: xcq | ||
17 | * @create: 2024-12-26 16:18 | ||
18 | **/ | ||
19 | @Data | ||
20 | @Schema(title = "企业信息返回参数") | ||
21 | public class EnterpriseApproveRSVO extends ApproveVO { | ||
22 | |||
23 | @Schema(description = "跨平台审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)") | ||
24 | private String crossPlatformApproveState; | ||
25 | |||
26 | @Schema(description = "专区名称") | ||
27 | private String zqName; | ||
28 | |||
29 | /******** 子对象 *****/ | ||
30 | |||
31 | } |
... | @@ -17,12 +17,17 @@ import java.util.Date; | ... | @@ -17,12 +17,17 @@ import java.util.Date; |
17 | @Schema(title = "企业信息新增、修改参数") | 17 | @Schema(title = "企业信息新增、修改参数") |
18 | public class EnterpriseRQVO extends FlowRQBaseVO { | 18 | public class EnterpriseRQVO extends FlowRQBaseVO { |
19 | 19 | ||
20 | @Schema(description = "会员GUID") | ||
21 | private String tenantGuid; | ||
20 | /** | 22 | /** |
21 | * 公司名称 | 23 | * 公司名称 |
22 | */ | 24 | */ |
23 | @Schema(description = "公司名称") | 25 | @Schema(description = "公司名称") |
24 | private String tenantName; | 26 | private String tenantName; |
25 | 27 | ||
28 | @Schema(title = "专区名称") | ||
29 | private String zqName; | ||
30 | |||
26 | /** | 31 | /** |
27 | * 统一社会信用代码 | 32 | * 统一社会信用代码 |
28 | */ | 33 | */ | ... | ... |
... | @@ -24,6 +24,9 @@ public class EnterpriseRSVO { | ... | @@ -24,6 +24,9 @@ public class EnterpriseRSVO { |
24 | @Schema(description = "系统唯一标识") | 24 | @Schema(description = "系统唯一标识") |
25 | private String guid; | 25 | private String guid; |
26 | 26 | ||
27 | @Schema(description = "会员GUID") | ||
28 | private String tenantGuid; | ||
29 | |||
27 | /** | 30 | /** |
28 | * 公司名称 | 31 | * 公司名称 |
29 | */ | 32 | */ |
... | @@ -186,6 +189,15 @@ public class EnterpriseRSVO { | ... | @@ -186,6 +189,15 @@ public class EnterpriseRSVO { |
186 | @Schema(description = "提交时间") | 189 | @Schema(description = "提交时间") |
187 | private Date createTime; | 190 | private Date createTime; |
188 | 191 | ||
192 | @Schema(title = "专区名称") | ||
193 | private String zqName; | ||
194 | |||
195 | /** | ||
196 | * 跨平台审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销) | ||
197 | */ | ||
198 | @Schema(title = "跨平台审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)") | ||
199 | private String crossPlatformApproveState; | ||
200 | |||
189 | /******** 库表存储属性 需处理 *****/ | 201 | /******** 库表存储属性 需处理 *****/ |
190 | 202 | ||
191 | /******** 自定义扩展 *****/ | 203 | /******** 自定义扩展 *****/ | ... | ... |
1 | package com.csbr.qingcloud.portal.domain.vo; | ||
2 | |||
3 | import com.fasterxml.jackson.annotation.JsonFormat; | ||
4 | import io.swagger.v3.oas.annotations.media.Schema; | ||
5 | import lombok.Data; | ||
6 | |||
7 | import java.util.Date; | ||
8 | |||
9 | /** | ||
10 | * @program: | ||
11 | * @description: 加工单加工明细返回参数 | ||
12 | * @author: xup | ||
13 | * @create: 2025-02-10 17:57 | ||
14 | **/ | ||
15 | @Data | ||
16 | @Schema(title = "加工单加工明细返回参数") | ||
17 | public class ProcessOrderProcessDtlRSVO { | ||
18 | |||
19 | /** | ||
20 | * 系统唯一标识 | ||
21 | */ | ||
22 | @Schema(description = "系统唯一标识") | ||
23 | private String guid; | ||
24 | |||
25 | /** | ||
26 | * 会员Guid | ||
27 | */ | ||
28 | @Schema(description = "会员Guid") | ||
29 | private String tenantGuid; | ||
30 | |||
31 | /** | ||
32 | * 加工单Guid | ||
33 | */ | ||
34 | @Schema(description = "加工单Guid") | ||
35 | private String processOrderGuid; | ||
36 | |||
37 | /** | ||
38 | * 加工单号 | ||
39 | */ | ||
40 | @Schema(description = "加工单号") | ||
41 | private String processOrderNo; | ||
42 | |||
43 | /** | ||
44 | * 加工单名称 | ||
45 | */ | ||
46 | @Schema(description = "加工单名称") | ||
47 | private String processOrderName; | ||
48 | |||
49 | /** | ||
50 | * 加工方式(1 数据服务;2 需求申请) | ||
51 | */ | ||
52 | @Schema(description = "加工方式(1 数据服务;2 需求申请)") | ||
53 | private Integer processType; | ||
54 | |||
55 | /** | ||
56 | * 业务Guid | ||
57 | */ | ||
58 | @Schema(description = "业务Guid") | ||
59 | private String bizGuid; | ||
60 | |||
61 | /** | ||
62 | * 业务名称 | ||
63 | */ | ||
64 | @Schema(description = "业务名称") | ||
65 | private String bizName; | ||
66 | |||
67 | /** | ||
68 | * 加工状态(N 未开始;A 进行中;Y 已完成) | ||
69 | */ | ||
70 | @Schema(description = "加工状态(N 未开始;A 进行中;Y 已完成)") | ||
71 | private String processState; | ||
72 | |||
73 | /** | ||
74 | * 加工时间 | ||
75 | */ | ||
76 | @Schema(description = "加工时间") | ||
77 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | ||
78 | private Date processTime; | ||
79 | |||
80 | /** | ||
81 | * 交付时间 | ||
82 | */ | ||
83 | @Schema(description = "交付时间") | ||
84 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | ||
85 | private Date deliverTime; | ||
86 | |||
87 | /******** 库表存储属性 需处理 *****/ | ||
88 | |||
89 | /******** 自定义扩展 *****/ | ||
90 | |||
91 | /******** 子对象 *****/ | ||
92 | |||
93 | } |
1 | package com.csbr.qingcloud.portal.domain.vo; | ||
2 | |||
3 | import csbr.cloud.entity.domain.base.vo.CsbrBaseVO; | ||
4 | import io.swagger.v3.oas.annotations.media.Schema; | ||
5 | import lombok.Data; | ||
6 | import lombok.EqualsAndHashCode; | ||
7 | import lombok.experimental.Accessors; | ||
8 | |||
9 | /** | ||
10 | * 企业证照表 视图对象类 | ||
11 | * | ||
12 | * @author xiaocq | ||
13 | * @date 2023-12-19 | ||
14 | */ | ||
15 | @Data | ||
16 | @Accessors(chain = true) | ||
17 | @EqualsAndHashCode(callSuper = true) | ||
18 | @Schema(name = "企业证照表") | ||
19 | public class TenantLicRQVO extends CsbrBaseVO { | ||
20 | /** | ||
21 | * 企业唯一标识 | ||
22 | */ | ||
23 | @Schema(description = "企业唯一标识") | ||
24 | private String tenantGuid; | ||
25 | |||
26 | /** | ||
27 | * 证照类型 | ||
28 | */ | ||
29 | @Schema(description = "证照类型") | ||
30 | private String licenseType; | ||
31 | |||
32 | /** | ||
33 | * 图片内容 | ||
34 | */ | ||
35 | @Schema(description = "图片内容") | ||
36 | private String pictContentJson; | ||
37 | |||
38 | |||
39 | /********非库表存储属性*****/ | ||
40 | |||
41 | |||
42 | |||
43 | /********字典类*****/ | ||
44 | |||
45 | /********实体类、用户单选、组织机构单选*****/ | ||
46 | |||
47 | /********范围查询*****/ | ||
48 | |||
49 | /********自定义扩展*****/ | ||
50 | |||
51 | /********子对象*****/ | ||
52 | |||
53 | |||
54 | |||
55 | |||
56 | } |
... | @@ -154,6 +154,9 @@ public class TenantRQVO extends CsbrBaseVO { | ... | @@ -154,6 +154,9 @@ public class TenantRQVO extends CsbrBaseVO { |
154 | @Schema(description = "token后台赋值") | 154 | @Schema(description = "token后台赋值") |
155 | private String token; | 155 | private String token; |
156 | 156 | ||
157 | @Schema(description = "业务唯一标识") | ||
158 | private String bizGuid; | ||
159 | |||
157 | /********字典类*****/ | 160 | /********字典类*****/ |
158 | 161 | ||
159 | /********实体类、用户单选、组织机构单选*****/ | 162 | /********实体类、用户单选、组织机构单选*****/ |
... | @@ -164,6 +167,9 @@ public class TenantRQVO extends CsbrBaseVO { | ... | @@ -164,6 +167,9 @@ public class TenantRQVO extends CsbrBaseVO { |
164 | 167 | ||
165 | /********子对象*****/ | 168 | /********子对象*****/ |
166 | 169 | ||
170 | @Schema(description = "企业证照列表") | ||
171 | private List<TenantLicRQVO> tenantLicList; | ||
172 | |||
167 | @Schema(hidden = true,description = "分库标识") | 173 | @Schema(hidden = true,description = "分库标识") |
168 | private String shardingFlag; | 174 | private String shardingFlag; |
169 | } | 175 | } | ... | ... |
... | @@ -4,6 +4,7 @@ import com.csbr.cloud.common.config.FastCallFeignConfiguration; | ... | @@ -4,6 +4,7 @@ import com.csbr.cloud.common.config.FastCallFeignConfiguration; |
4 | import com.csbr.cloud.common.entity.DictModel; | 4 | import com.csbr.cloud.common.entity.DictModel; |
5 | import com.csbr.cloud.common.entity.DictionaryVO; | 5 | import com.csbr.cloud.common.entity.DictionaryVO; |
6 | import com.csbr.cloud.common.response.CommonRes; | 6 | import com.csbr.cloud.common.response.CommonRes; |
7 | import com.csbr.qingcloud.portal.domain.vo.BoroughPOJO; | ||
7 | import com.csbr.qingcloud.portal.domain.vo.RuleDTO; | 8 | import com.csbr.qingcloud.portal.domain.vo.RuleDTO; |
8 | import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand; | 9 | import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand; |
9 | import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty; | 10 | import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty; |
... | @@ -43,5 +44,8 @@ public interface ConfigureFeign { | ... | @@ -43,5 +44,8 @@ public interface ConfigureFeign { |
43 | @PostMapping(value = "/rule/new-code",produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) | 44 | @PostMapping(value = "/rule/new-code",produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) |
44 | CommonRes<String> newCode(@RequestBody RuleDTO dto); | 45 | CommonRes<String> newCode(@RequestBody RuleDTO dto); |
45 | 46 | ||
47 | @GetMapping(value = "/borough/get-borough",produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) | ||
48 | CommonRes<List<BoroughPOJO>> getBoroughCodeName(); | ||
49 | |||
46 | 50 | ||
47 | } | 51 | } | ... | ... |
... | @@ -3,6 +3,7 @@ package com.csbr.qingcloud.portal.feign; | ... | @@ -3,6 +3,7 @@ package com.csbr.qingcloud.portal.feign; |
3 | import com.csbr.cloud.common.config.FastCallFeignConfiguration; | 3 | import com.csbr.cloud.common.config.FastCallFeignConfiguration; |
4 | import com.csbr.cloud.common.response.CommonRes; | 4 | import com.csbr.cloud.common.response.CommonRes; |
5 | import com.csbr.qingcloud.portal.domain.vo.DemandUpdateStateVO; | 5 | import com.csbr.qingcloud.portal.domain.vo.DemandUpdateStateVO; |
6 | import com.csbr.qingcloud.portal.domain.vo.ProcessOrderProcessDtlRSVO; | ||
6 | import com.csbr.qingcloud.portal.domain.vo.ProcessOrderRQVO; | 7 | import com.csbr.qingcloud.portal.domain.vo.ProcessOrderRQVO; |
7 | import jakarta.validation.Valid; | 8 | import jakarta.validation.Valid; |
8 | import org.springframework.cloud.openfeign.FeignClient; | 9 | import org.springframework.cloud.openfeign.FeignClient; |
... | @@ -18,10 +19,13 @@ import java.util.Map; | ... | @@ -18,10 +19,13 @@ import java.util.Map; |
18 | @FeignClient(value = "ms-data-process-basic-service",url = "${dataProcessUrl}", configuration = FastCallFeignConfiguration.class) | 19 | @FeignClient(value = "ms-data-process-basic-service",url = "${dataProcessUrl}", configuration = FastCallFeignConfiguration.class) |
19 | public interface DataProcessBasicFeign { | 20 | public interface DataProcessBasicFeign { |
20 | 21 | ||
21 | @PostMapping(value = "/process-order/save", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) | 22 | @PostMapping(value = "/process-order/saveOrUpdate", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) |
22 | CommonRes<Boolean> saveProcessOrder(@RequestBody @Valid ProcessOrderRQVO vo); | 23 | CommonRes<Boolean> saveProcessOrder(@RequestBody @Valid ProcessOrderRQVO vo); |
23 | 24 | ||
24 | @PostMapping(value = "/process-order-process-dtl/get-order-state", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) | 25 | @PostMapping(value = "/process-order-process-dtl/get-order-state", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) |
25 | CommonRes<Map<String, DemandUpdateStateVO>> getOrderState(@RequestBody List<String> processOrderGuids); | 26 | CommonRes<Map<String, DemandUpdateStateVO>> getOrderState(@RequestBody List<String> processOrderGuids); |
26 | 27 | ||
28 | @PostMapping(value = "/process-order-process-dtl/process-order-list", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) | ||
29 | CommonRes<List<ProcessOrderProcessDtlRSVO>> processOrderList(@RequestBody List<String> processOrderGuids); | ||
30 | |||
27 | } | 31 | } | ... | ... |
... | @@ -21,7 +21,10 @@ public interface PersonelFeign { | ... | @@ -21,7 +21,10 @@ public interface PersonelFeign { |
21 | CommonRes<TenantRQVO> authTenant(@RequestBody TenantRQVO vo); | 21 | CommonRes<TenantRQVO> authTenant(@RequestBody TenantRQVO vo); |
22 | 22 | ||
23 | @PutMapping(value = "/tenant/update", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) | 23 | @PutMapping(value = "/tenant/update", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) |
24 | CommonRes<Boolean> updateTenant(@RequestBody TenantRQVO vo); | 24 | CommonRes<String> updateTenant(@RequestBody TenantRQVO vo); |
25 | |||
26 | @PutMapping(value = "/tenant/change-update", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) | ||
27 | CommonRes<Boolean> changeUpdate(@RequestBody TenantRQVO vo); | ||
25 | 28 | ||
26 | @GetMapping(value = "/tenant/get-all-tenant-guid-name-map", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) | 29 | @GetMapping(value = "/tenant/get-all-tenant-guid-name-map", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) |
27 | CommonRes<Map<String, String>> getAllTenantGuidNameMap(); | 30 | CommonRes<Map<String, String>> getAllTenantGuidNameMap(); | ... | ... |
... | @@ -2,10 +2,9 @@ package com.csbr.qingcloud.portal.feign; | ... | @@ -2,10 +2,9 @@ package com.csbr.qingcloud.portal.feign; |
2 | 2 | ||
3 | import com.csbr.cloud.common.config.FastCallFeignConfiguration; | 3 | import com.csbr.cloud.common.config.FastCallFeignConfiguration; |
4 | import com.csbr.cloud.common.response.CommonRes; | 4 | import com.csbr.cloud.common.response.CommonRes; |
5 | import com.csbr.cloud.workflow.domain.dto.appove.FlowQueryDTO; | ||
5 | import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO; | 6 | import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO; |
6 | import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; | 7 | import com.csbr.cloud.workflow.domain.vo.appove.ApproveVO; |
7 | import com.csbr.qingcloud.portal.domain.vo.UserQueryDTO; | ||
8 | import com.csbr.qingcloud.portal.domain.vo.UserVO; | ||
9 | import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand; | 8 | import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand; |
10 | import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty; | 9 | import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty; |
11 | import csbr.cloud.entity.domain.base.vo.PageListVO; | 10 | import csbr.cloud.entity.domain.base.vo.PageListVO; |
... | @@ -13,10 +12,10 @@ import jakarta.validation.Valid; | ... | @@ -13,10 +12,10 @@ import jakarta.validation.Valid; |
13 | import org.springframework.cloud.openfeign.FeignClient; | 12 | import org.springframework.cloud.openfeign.FeignClient; |
14 | import org.springframework.http.MediaType; | 13 | import org.springframework.http.MediaType; |
15 | import org.springframework.util.MultiValueMap; | 14 | import org.springframework.util.MultiValueMap; |
16 | import org.springframework.web.bind.annotation.*; | 15 | import org.springframework.web.bind.annotation.RequestBody; |
17 | 16 | import org.springframework.web.bind.annotation.RequestHeader; | |
18 | import java.net.URI; | 17 | import org.springframework.web.bind.annotation.RequestMapping; |
19 | import java.util.List; | 18 | import org.springframework.web.bind.annotation.RequestMethod; |
20 | 19 | ||
21 | /** | 20 | /** |
22 | * @author Xiaocq | 21 | * @author Xiaocq |
... | @@ -30,5 +29,9 @@ public interface WorkflowFeign { | ... | @@ -30,5 +29,9 @@ public interface WorkflowFeign { |
30 | @RequestMapping(value = "/work-flow/data/allow-flow-core", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) | 29 | @RequestMapping(value = "/work-flow/data/allow-flow-core", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) |
31 | CommonRes<Boolean> allowFlowCore(@RequestBody FlowUpdateStateDTO dto, @RequestHeader(required = false) MultiValueMap<String, String> headers); | 30 | CommonRes<Boolean> allowFlowCore(@RequestBody FlowUpdateStateDTO dto, @RequestHeader(required = false) MultiValueMap<String, String> headers); |
32 | 31 | ||
32 | @HystrixCommand(fallbackMethod = "CommonUtil.sleepFallback", commandProperties = { | ||
33 | @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "4500")}) | ||
34 | @RequestMapping(value = "/work-flow/data/get-flow-list-tenant", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) | ||
35 | CommonRes<PageListVO<ApproveVO>> getFlowListCrossTenant(@RequestBody @Valid FlowQueryDTO dto); | ||
33 | 36 | ||
34 | } | 37 | } | ... | ... |
... | @@ -221,4 +221,13 @@ public class MfDemand extends BaseShardingDO { | ... | @@ -221,4 +221,13 @@ public class MfDemand extends BaseShardingDO { |
221 | @Name("加工单编号") | 221 | @Name("加工单编号") |
222 | private String processOrderNo; | 222 | private String processOrderNo; |
223 | 223 | ||
224 | @Name("资产Guid") | ||
225 | private String zqBizGuid; | ||
226 | |||
227 | @Name("专区名称") | ||
228 | private String zqName; | ||
229 | |||
230 | @Name("审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)") | ||
231 | private String crossPlatformApproveState; | ||
232 | |||
224 | } | 233 | } | ... | ... |
... | @@ -22,6 +22,9 @@ import java.util.Date; | ... | @@ -22,6 +22,9 @@ import java.util.Date; |
22 | @Name("企业信息") | 22 | @Name("企业信息") |
23 | public class MfEnterprise extends BaseDO { | 23 | public class MfEnterprise extends BaseDO { |
24 | 24 | ||
25 | @Name("会员GUID") | ||
26 | private String tenantGuid; | ||
27 | |||
25 | /** | 28 | /** |
26 | * 公司名称 | 29 | * 公司名称 |
27 | */ | 30 | */ |
... | @@ -37,7 +40,7 @@ public class MfEnterprise extends BaseDO { | ... | @@ -37,7 +40,7 @@ public class MfEnterprise extends BaseDO { |
37 | /** | 40 | /** |
38 | * 企业类型【选择平台字典【公司类型】的选项】 | 41 | * 企业类型【选择平台字典【公司类型】的选项】 |
39 | */ | 42 | */ |
40 | @Name("企业类型【选择平台字典【公司类型】的选项】") | 43 | @Name("企业类型") |
41 | private String tenantType; | 44 | private String tenantType; |
42 | 45 | ||
43 | /** | 46 | /** |
... | @@ -49,7 +52,7 @@ public class MfEnterprise extends BaseDO { | ... | @@ -49,7 +52,7 @@ public class MfEnterprise extends BaseDO { |
49 | /** | 52 | /** |
50 | * 注册资本【(万元)】 | 53 | * 注册资本【(万元)】 |
51 | */ | 54 | */ |
52 | @Name("注册资本【(万元)】") | 55 | @Name("注册资本") |
53 | private BigDecimal registeredCapital; | 56 | private BigDecimal registeredCapital; |
54 | 57 | ||
55 | /** | 58 | /** |
... | @@ -79,7 +82,7 @@ public class MfEnterprise extends BaseDO { | ... | @@ -79,7 +82,7 @@ public class MfEnterprise extends BaseDO { |
79 | /** | 82 | /** |
80 | * 营业期限【1 长期有效;2 自定义】 | 83 | * 营业期限【1 长期有效;2 自定义】 |
81 | */ | 84 | */ |
82 | @Name("营业期限【1 长期有效;2 自定义】") | 85 | @Name("营业期限") |
83 | private String businessLicenseTerm; | 86 | private String businessLicenseTerm; |
84 | 87 | ||
85 | /** | 88 | /** |
... | @@ -102,9 +105,9 @@ public class MfEnterprise extends BaseDO { | ... | @@ -102,9 +105,9 @@ public class MfEnterprise extends BaseDO { |
102 | private String businessLicenseJson; | 105 | private String businessLicenseJson; |
103 | 106 | ||
104 | /** | 107 | /** |
105 | * 营业执照经营范围 | 108 | * 经营范围 |
106 | */ | 109 | */ |
107 | @Name("营业执照经营范围") | 110 | @Name("经营范围") |
108 | private String businessLicenseScope; | 111 | private String businessLicenseScope; |
109 | 112 | ||
110 | /** | 113 | /** |
... | @@ -169,10 +172,19 @@ public class MfEnterprise extends BaseDO { | ... | @@ -169,10 +172,19 @@ public class MfEnterprise extends BaseDO { |
169 | @Name("授权委托书") | 172 | @Name("授权委托书") |
170 | private String authorizationLetter; | 173 | private String authorizationLetter; |
171 | 174 | ||
175 | @Name("资产Guid") | ||
176 | private String zqBizGuid; | ||
177 | |||
178 | @Name("专区名称") | ||
179 | private String zqName; | ||
180 | |||
181 | @Name("审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)") | ||
182 | private String crossPlatformApproveState; | ||
183 | |||
172 | /** | 184 | /** |
173 | * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】 | 185 | * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】 |
174 | */ | 186 | */ |
175 | @Name("业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃;B 变更中 默认 N】") | 187 | @Name("业务审批状态") |
176 | private String bizApproveState; | 188 | private String bizApproveState; |
177 | 189 | ||
178 | } | 190 | } | ... | ... |
... | @@ -22,6 +22,9 @@ import java.util.Date; | ... | @@ -22,6 +22,9 @@ import java.util.Date; |
22 | @Name("企业信息变更审批") | 22 | @Name("企业信息变更审批") |
23 | public class MfEnterpriseChangeApprove extends BaseDO { | 23 | public class MfEnterpriseChangeApprove extends BaseDO { |
24 | 24 | ||
25 | @Name("会员GUID") | ||
26 | private String tenantGuid; | ||
27 | |||
25 | /** | 28 | /** |
26 | * 公司名称 | 29 | * 公司名称 |
27 | */ | 30 | */ |
... | @@ -37,7 +40,7 @@ public class MfEnterpriseChangeApprove extends BaseDO { | ... | @@ -37,7 +40,7 @@ public class MfEnterpriseChangeApprove extends BaseDO { |
37 | /** | 40 | /** |
38 | * 企业类型【选择平台字典【公司类型】的选项】 | 41 | * 企业类型【选择平台字典【公司类型】的选项】 |
39 | */ | 42 | */ |
40 | @Name("企业类型【选择平台字典【公司类型】的选项】") | 43 | @Name("企业类型") |
41 | private String tenantType; | 44 | private String tenantType; |
42 | 45 | ||
43 | /** | 46 | /** |
... | @@ -49,7 +52,7 @@ public class MfEnterpriseChangeApprove extends BaseDO { | ... | @@ -49,7 +52,7 @@ public class MfEnterpriseChangeApprove extends BaseDO { |
49 | /** | 52 | /** |
50 | * 注册资本【(万元)】 | 53 | * 注册资本【(万元)】 |
51 | */ | 54 | */ |
52 | @Name("注册资本【(万元)】") | 55 | @Name("注册资本") |
53 | private BigDecimal registeredCapital; | 56 | private BigDecimal registeredCapital; |
54 | 57 | ||
55 | /** | 58 | /** |
... | @@ -79,7 +82,7 @@ public class MfEnterpriseChangeApprove extends BaseDO { | ... | @@ -79,7 +82,7 @@ public class MfEnterpriseChangeApprove extends BaseDO { |
79 | /** | 82 | /** |
80 | * 营业期限【1 长期有效;2 自定义】 | 83 | * 营业期限【1 长期有效;2 自定义】 |
81 | */ | 84 | */ |
82 | @Name("营业期限【1 长期有效;2 自定义】") | 85 | @Name("营业期限") |
83 | private String businessLicenseTerm; | 86 | private String businessLicenseTerm; |
84 | 87 | ||
85 | /** | 88 | /** |
... | @@ -172,7 +175,7 @@ public class MfEnterpriseChangeApprove extends BaseDO { | ... | @@ -172,7 +175,7 @@ public class MfEnterpriseChangeApprove extends BaseDO { |
172 | /** | 175 | /** |
173 | * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】 | 176 | * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】 |
174 | */ | 177 | */ |
175 | @Name("业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】") | 178 | @Name("业务审批状态") |
176 | private String bizApproveState; | 179 | private String bizApproveState; |
177 | 180 | ||
178 | /** | 181 | /** |
... | @@ -187,10 +190,19 @@ public class MfEnterpriseChangeApprove extends BaseDO { | ... | @@ -187,10 +190,19 @@ public class MfEnterpriseChangeApprove extends BaseDO { |
187 | @Name("原数据唯一标识") | 190 | @Name("原数据唯一标识") |
188 | private String sourceGuid; | 191 | private String sourceGuid; |
189 | 192 | ||
193 | @Name("资产Guid") | ||
194 | private String zqBizGuid; | ||
195 | |||
196 | @Name("专区名称") | ||
197 | private String zqName; | ||
198 | |||
199 | @Name("审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)") | ||
200 | private String crossPlatformApproveState; | ||
201 | |||
190 | /** | 202 | /** |
191 | * 数据类型【数据类型 1原数据 2新数据】 | 203 | * 数据类型【数据类型 1原数据 2新数据】 |
192 | */ | 204 | */ |
193 | @Name("数据类型【数据类型 1原数据 2新数据】") | 205 | @Name("数据类型") |
194 | private String dataType; | 206 | private String dataType; |
195 | 207 | ||
196 | } | 208 | } | ... | ... |
1 | package com.csbr.qingcloud.portal.mybatis.service.impl; | 1 | package com.csbr.qingcloud.portal.mybatis.service.impl; |
2 | 2 | ||
3 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||
4 | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||
3 | import com.csbr.cloud.mybatis.service.impl.CsbrServiceImpl; | 5 | import com.csbr.cloud.mybatis.service.impl.CsbrServiceImpl; |
4 | import com.csbr.qingcloud.portal.mybatis.mapper.MfEnterpriseMapper; | 6 | import com.csbr.qingcloud.portal.mybatis.mapper.MfEnterpriseMapper; |
5 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise; | 7 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise; |
... | @@ -7,6 +9,10 @@ import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService; | ... | @@ -7,6 +9,10 @@ import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService; |
7 | import jakarta.annotation.Resource; | 9 | import jakarta.annotation.Resource; |
8 | import org.springframework.stereotype.Service; | 10 | import org.springframework.stereotype.Service; |
9 | 11 | ||
12 | import java.io.Serializable; | ||
13 | import java.util.Collection; | ||
14 | import java.util.List; | ||
15 | |||
10 | /** | 16 | /** |
11 | * @program: D:/git/ms-data-circulation-portal-service | 17 | * @program: D:/git/ms-data-circulation-portal-service |
12 | * @description: 企业信息逻辑层接口实现 | 18 | * @description: 企业信息逻辑层接口实现 |
... | @@ -19,4 +25,11 @@ public class MfEnterpriseServiceImpl extends CsbrServiceImpl<MfEnterpriseMapper, | ... | @@ -19,4 +25,11 @@ public class MfEnterpriseServiceImpl extends CsbrServiceImpl<MfEnterpriseMapper, |
19 | @Resource | 25 | @Resource |
20 | private MfEnterpriseMapper mfEnterpriseMapper; | 26 | private MfEnterpriseMapper mfEnterpriseMapper; |
21 | 27 | ||
28 | @Override | ||
29 | public List<MfEnterprise> listByIds(Collection<? extends Serializable> idList) { | ||
30 | LambdaQueryWrapper<MfEnterprise> queryWrapper = Wrappers.lambdaQuery(MfEnterprise.class); | ||
31 | queryWrapper.in(MfEnterprise::getGuid, idList); | ||
32 | csbrExcludeShardingLambdaQueryWrapper(queryWrapper); | ||
33 | return list(queryWrapper); | ||
34 | } | ||
22 | } | 35 | } | ... | ... |
1 | package com.csbr.qingcloud.portal.service; | 1 | package com.csbr.qingcloud.portal.service; |
2 | 2 | ||
3 | import com.csbr.qingcloud.portal.domain.vo.DemandApproveVO; | 3 | import com.csbr.qingcloud.portal.domain.vo.*; |
4 | import com.csbr.qingcloud.portal.domain.vo.DemandUpdateStateVO; | ||
5 | import csbr.cloud.entity.domain.base.vo.PageListVO; | 4 | import csbr.cloud.entity.domain.base.vo.PageListVO; |
6 | import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; | 5 | import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; |
7 | import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO; | 6 | import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO; |
8 | import com.csbr.qingcloud.portal.domain.vo.DemandQueryVO; | ||
9 | import com.csbr.qingcloud.portal.domain.vo.DemandRSVO; | ||
10 | 7 | ||
11 | import java.util.List; | 8 | import java.util.List; |
12 | 9 | ||
... | @@ -72,8 +69,19 @@ public interface DemandService { | ... | @@ -72,8 +69,19 @@ public interface DemandService { |
72 | */ | 69 | */ |
73 | void flowCallBack(BizCallbackDTO dto); | 70 | void flowCallBack(BizCallbackDTO dto); |
74 | 71 | ||
72 | /** | ||
73 | * 数据需求-流程结束后进行业务回调(跨服务审批) | ||
74 | * @param dto | ||
75 | */ | ||
76 | void crossFlowCallBack(BizCallbackDTO dto); | ||
77 | |||
75 | Boolean lastApprove(DemandApproveVO dto); | 78 | Boolean lastApprove(DemandApproveVO dto); |
76 | 79 | ||
77 | DemandRSVO getDemandDetailByProcess(String processOrderNo); | 80 | DemandRSVO getDemandDetailByProcess(String processOrderNo); |
78 | 81 | ||
82 | /** | ||
83 | * 根据加工单编号查询资产列表 | ||
84 | * @return | ||
85 | */ | ||
86 | List<ProcessOrderProcessDtlRSVO> listByProcessOrderNo(); | ||
79 | } | 87 | } | ... | ... |
... | @@ -16,4 +16,10 @@ public interface EnterpriseChangeApproveService { | ... | @@ -16,4 +16,10 @@ public interface EnterpriseChangeApproveService { |
16 | ChangeApproveVO changeDetail(String guid); | 16 | ChangeApproveVO changeDetail(String guid); |
17 | 17 | ||
18 | void changeUpdate(BizCallbackDTO dto); | 18 | void changeUpdate(BizCallbackDTO dto); |
19 | |||
20 | void removeByGuids(List<String> guids); | ||
21 | |||
22 | void crossFlowCallBack(BizCallbackDTO dto); | ||
23 | |||
24 | void crossRemoveByBizGuid(List<String> zqBizGuids); | ||
19 | } | 25 | } | ... | ... |
1 | package com.csbr.qingcloud.portal.service; | 1 | package com.csbr.qingcloud.portal.service; |
2 | 2 | ||
3 | import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO; | 3 | import com.csbr.cloud.workflow.domain.dto.appove.FlowQueryDTO; |
4 | import com.csbr.qingcloud.portal.domain.vo.*; | 4 | import com.csbr.qingcloud.portal.domain.vo.*; |
5 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise; | ||
5 | import csbr.cloud.entity.domain.base.vo.PageListVO; | 6 | import csbr.cloud.entity.domain.base.vo.PageListVO; |
6 | import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; | 7 | import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; |
7 | import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO; | 8 | import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO; |
8 | 9 | ||
10 | import java.util.Date; | ||
9 | import java.util.List; | 11 | import java.util.List; |
10 | 12 | ||
11 | /** | 13 | /** |
... | @@ -26,6 +28,13 @@ public interface EnterpriseService { | ... | @@ -26,6 +28,13 @@ public interface EnterpriseService { |
26 | PageListVO<EnterpriseRSVO> pageList(EnterpriseQueryVO queryVO); | 28 | PageListVO<EnterpriseRSVO> pageList(EnterpriseQueryVO queryVO); |
27 | 29 | ||
28 | /** | 30 | /** |
31 | * 企业信息-分页(调用流程) | ||
32 | * @param dto | ||
33 | * @return | ||
34 | */ | ||
35 | PageListVO<EnterpriseApproveRSVO> flowPageList(FlowQueryDTO dto); | ||
36 | |||
37 | /** | ||
29 | * 企业信息获取详情数据 | 38 | * 企业信息获取详情数据 |
30 | * @author xcq | 39 | * @author xcq |
31 | * @date 2024-12-26 16:18 | 40 | * @date 2024-12-26 16:18 |
... | @@ -70,14 +79,28 @@ public interface EnterpriseService { | ... | @@ -70,14 +79,28 @@ public interface EnterpriseService { |
70 | */ | 79 | */ |
71 | void flowCallBack(BizCallbackDTO dto); | 80 | void flowCallBack(BizCallbackDTO dto); |
72 | 81 | ||
82 | /** | ||
83 | * 流程结束后进行业务回调(跨服务审批) | ||
84 | * @param dto | ||
85 | */ | ||
86 | void crossFlowCallBack(BizCallbackDTO dto); | ||
87 | |||
73 | Boolean check(EnterpriseRQVO vo); | 88 | Boolean check(EnterpriseRQVO vo); |
74 | 89 | ||
75 | List<ChangeInfoVO> getChange(String tenantName); | 90 | List<ChangeInfoVO> getChange(String sourceGuid, Date createTime); |
76 | 91 | ||
77 | EnterpriseRSVO getEnterpriseDetailByName(String tenantName); | 92 | EnterpriseRSVO getEnterpriseDetailByName(String tenantName); |
78 | 93 | ||
79 | /** 将此账号提交的数据需求迁移到新的企业 */ | 94 | /** 将此账号提交的数据需求迁移到新的企业 */ |
80 | void moveOldData(TenantRQVO vo); | 95 | void moveOldData(TenantRQVO vo); |
81 | 96 | ||
82 | Boolean lastApprove(FlowUpdateStateDTO dto); | 97 | /** 更新会员信息 */ |
98 | void updateTenant(MfEnterprise vo); | ||
99 | |||
100 | /** | ||
101 | * 企业信息-根据登陆账号查询详情 | ||
102 | * @param logonUser | ||
103 | * @return | ||
104 | */ | ||
105 | EnterpriseRSVO getEnterpriseDetailByLogonUser(String logonUser); | ||
83 | } | 106 | } | ... | ... |
1 | package com.csbr.qingcloud.portal.service.impl; | 1 | package com.csbr.qingcloud.portal.service.impl; |
2 | 2 | ||
3 | import com.alibaba.fastjson.JSON; | 3 | import com.alibaba.fastjson.JSON; |
4 | import com.alibaba.fastjson.JSONArray; | ||
5 | import com.alibaba.fastjson.JSONObject; | 4 | import com.alibaba.fastjson.JSONObject; |
6 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 5 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
7 | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; | 6 | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
7 | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||
8 | import com.csbr.cloud.common.enums.SystemError; | 8 | import com.csbr.cloud.common.enums.SystemError; |
9 | import com.csbr.cloud.common.enums.WorkFlowBizEnum; | 9 | import com.csbr.cloud.common.enums.WorkFlowBizEnum; |
10 | import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO; | 10 | import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO; |
... | @@ -13,6 +13,9 @@ import com.csbr.qingcloud.portal.domain.vo.*; | ... | @@ -13,6 +13,9 @@ import com.csbr.qingcloud.portal.domain.vo.*; |
13 | import com.csbr.qingcloud.portal.feign.ConfigureFeign; | 13 | import com.csbr.qingcloud.portal.feign.ConfigureFeign; |
14 | import com.csbr.qingcloud.portal.feign.DataProcessBasicFeign; | 14 | import com.csbr.qingcloud.portal.feign.DataProcessBasicFeign; |
15 | import com.csbr.qingcloud.portal.feign.PersonelFeign; | 15 | import com.csbr.qingcloud.portal.feign.PersonelFeign; |
16 | import com.csbr.qingcloud.portal.util.DateUtil; | ||
17 | import com.csbr.qingcloud.portal.util.InvokeUtil; | ||
18 | import com.csbr.qingcloud.portal.util.ZQConfig; | ||
16 | import csbr.cloud.entity.domain.user.UserInfo; | 19 | import csbr.cloud.entity.domain.user.UserInfo; |
17 | import csbr.cloud.entity.enums.ApprovalStateEnum; | 20 | import csbr.cloud.entity.enums.ApprovalStateEnum; |
18 | import com.csbr.cloud.common.exception.CsbrSystemException; | 21 | import com.csbr.cloud.common.exception.CsbrSystemException; |
... | @@ -32,11 +35,13 @@ import csbr.cloud.entity.utils.UserContextHolder; | ... | @@ -32,11 +35,13 @@ import csbr.cloud.entity.utils.UserContextHolder; |
32 | import jakarta.annotation.Resource; | 35 | import jakarta.annotation.Resource; |
33 | import lombok.extern.slf4j.Slf4j; | 36 | import lombok.extern.slf4j.Slf4j; |
34 | import org.apache.commons.collections.CollectionUtils; | 37 | import org.apache.commons.collections.CollectionUtils; |
38 | import org.apache.commons.lang3.ObjectUtils; | ||
35 | import org.apache.commons.lang3.StringUtils; | 39 | import org.apache.commons.lang3.StringUtils; |
40 | import org.springframework.beans.factory.annotation.Autowired; | ||
41 | import org.springframework.beans.factory.annotation.Value; | ||
36 | import org.springframework.stereotype.Service; | 42 | import org.springframework.stereotype.Service; |
37 | import io.seata.spring.annotation.GlobalTransactional; | 43 | import io.seata.spring.annotation.GlobalTransactional; |
38 | import org.springframework.transaction.annotation.Transactional; | 44 | import org.springframework.transaction.annotation.Transactional; |
39 | |||
40 | import java.util.*; | 45 | import java.util.*; |
41 | import java.util.stream.Collectors; | 46 | import java.util.stream.Collectors; |
42 | 47 | ||
... | @@ -55,11 +60,19 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService | ... | @@ -55,11 +60,19 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService |
55 | */ | 60 | */ |
56 | private static final String FUNCTION_NAME = "数据需求"; | 61 | private static final String FUNCTION_NAME = "数据需求"; |
57 | 62 | ||
63 | private static final String SysFuncCode = "SJXQ"; | ||
64 | |||
58 | /** | 65 | /** |
59 | * 流程类型 | 66 | * 流程类型 |
60 | */ | 67 | */ |
61 | private static final String FLOW_TYPE = WorkFlowBizEnum.DATA_DEMAND.getValue(); | 68 | private static final String FLOW_TYPE = WorkFlowBizEnum.DATA_DEMAND.getValue(); |
62 | 69 | ||
70 | @Autowired | ||
71 | private ZQConfig zqConfig; | ||
72 | |||
73 | @Autowired | ||
74 | private InvokeUtil invokeUtil; | ||
75 | |||
63 | @Resource | 76 | @Resource |
64 | private MfDemandService mfDemandService; | 77 | private MfDemandService mfDemandService; |
65 | 78 | ||
... | @@ -136,8 +149,13 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService | ... | @@ -136,8 +149,13 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService |
136 | if(CollectionUtils.isEmpty(guids)){ | 149 | if(CollectionUtils.isEmpty(guids)){ |
137 | return null; | 150 | return null; |
138 | } | 151 | } |
152 | try{ | ||
139 | Map<String, DemandUpdateStateVO> map = dataProcessBasicFeign.getOrderState(guids).getData(); | 153 | Map<String, DemandUpdateStateVO> map = dataProcessBasicFeign.getOrderState(guids).getData(); |
140 | return map; | 154 | return map; |
155 | }catch (Exception e){ | ||
156 | e.printStackTrace(); | ||
157 | return null; | ||
158 | } | ||
141 | } | 159 | } |
142 | 160 | ||
143 | /** | 161 | /** |
... | @@ -151,11 +169,13 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService | ... | @@ -151,11 +169,13 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService |
151 | @Override | 169 | @Override |
152 | public void saveDemand(FlowRQBaseVO flowBaseVO) { | 170 | public void saveDemand(FlowRQBaseVO flowBaseVO) { |
153 | DemandRQVO rqVO = (DemandRQVO) flowBaseVO; | 171 | DemandRQVO rqVO = (DemandRQVO) flowBaseVO; |
172 | log.info("======rqVO, {}", JSON.toJSONString(rqVO)); | ||
173 | System.out.println("======rqVO, " + JSON.toJSONString(rqVO)); | ||
154 | beforeSave(rqVO); | 174 | beforeSave(rqVO); |
155 | MfDemand entity = convertToEntity(rqVO); | 175 | MfDemand entity = convertToEntity(rqVO); |
156 | entity.setRequirementOrderNo(configureFeign.newCode(new RuleDTO().setRuleName("demand-code").setRuleType("generate")).getData()); | 176 | entity.setRequirementOrderNo(configureFeign.newCode(new RuleDTO().setRuleName("demand-code").setRuleType("generate")).getData()); |
157 | // 发起审批流程或保存草稿 | 177 | // 发起审批流程或保存草稿 |
158 | AddApprovalDTO approvalDTO = getAddApprovalDTO(entity); | 178 | AddApprovalDTO approvalDTO = getAddApprovalDTO(entity, rqVO); |
159 | super.startWorkFlow(rqVO, approvalDTO, entity::setBizApproveState); | 179 | super.startWorkFlow(rqVO, approvalDTO, entity::setBizApproveState); |
160 | // 业务数据保存 | 180 | // 业务数据保存 |
161 | boolean flag = mfDemandService.save(entity); | 181 | boolean flag = mfDemandService.save(entity); |
... | @@ -166,6 +186,20 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService | ... | @@ -166,6 +186,20 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService |
166 | afterSave(entity, rqVO); | 186 | afterSave(entity, rqVO); |
167 | } | 187 | } |
168 | 188 | ||
189 | private void checkProductGuid(String dataProductGuid){ | ||
190 | if (StringUtils.isBlank(dataProductGuid)) { | ||
191 | throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, "产品不能为空"); | ||
192 | } | ||
193 | //此产品审批中的需求只能有1个 | ||
194 | LambdaQueryWrapper<MfDemand> wrapper = new LambdaQueryWrapper<>(); | ||
195 | wrapper.eq(MfDemand::getDataProductGuid,dataProductGuid); | ||
196 | wrapper.eq(MfDemand::getBizApproveState,"A"); | ||
197 | List<MfDemand> list = mfDemandService.list(wrapper); | ||
198 | if(CollectionUtils.isNotEmpty(list)){ | ||
199 | throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, "该数据产品已在审批中,请勿重复提交!"); | ||
200 | } | ||
201 | } | ||
202 | |||
169 | /** | 203 | /** |
170 | * 数据需求数据修改 | 204 | * 数据需求数据修改 |
171 | * @author xcq | 205 | * @author xcq |
... | @@ -183,7 +217,7 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService | ... | @@ -183,7 +217,7 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService |
183 | beforeUpdate(rqVO); | 217 | beforeUpdate(rqVO); |
184 | MfDemand entity = convertToEntity(rqVO); | 218 | MfDemand entity = convertToEntity(rqVO); |
185 | // 发起审批流程或保存草稿 | 219 | // 发起审批流程或保存草稿 |
186 | AddApprovalDTO approvalDTO = getAddApprovalDTO(entity); | 220 | AddApprovalDTO approvalDTO = getAddApprovalDTO(entity, rqVO); |
187 | super.startOrRestartWorkFlow(rqVO, rqVO.getBizApproveState(), approvalDTO, entity::setBizApproveState); | 221 | super.startOrRestartWorkFlow(rqVO, rqVO.getBizApproveState(), approvalDTO, entity::setBizApproveState); |
188 | if (rqVO.getIsRestart()) { | 222 | if (rqVO.getIsRestart()) { |
189 | // 重新提交 | 223 | // 重新提交 |
... | @@ -209,9 +243,9 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService | ... | @@ -209,9 +243,9 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService |
209 | * @return void | 243 | * @return void |
210 | */ | 244 | */ |
211 | private void againSubmitFlow(MfDemand entity, DemandRQVO rqVO, AddApprovalDTO approvalDTO) { | 245 | private void againSubmitFlow(MfDemand entity, DemandRQVO rqVO, AddApprovalDTO approvalDTO) { |
212 | // 重新提交的数据重置相关字段 | ||
213 | entity.setGuid(CommonUtil.newGuid()); | 246 | entity.setGuid(CommonUtil.newGuid()); |
214 | mfDemandService.csbrBaseEntity(entity); | 247 | mfDemandService.csbrBaseEntity(entity); |
248 | entity.setBizApproveState("A"); | ||
215 | // 保存新数据 | 249 | // 保存新数据 |
216 | boolean flag = mfDemandService.save(entity); | 250 | boolean flag = mfDemandService.save(entity); |
217 | if (!flag) { | 251 | if (!flag) { |
... | @@ -219,6 +253,7 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService | ... | @@ -219,6 +253,7 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService |
219 | } | 253 | } |
220 | // 发起新的流程 | 254 | // 发起新的流程 |
221 | approvalDTO.setBizGuid(entity.getGuid()); | 255 | approvalDTO.setBizGuid(entity.getGuid()); |
256 | approvalDTO.setUrlParam(String.format("guid=%s&demandCategory=%s&name=%s&type=detail", entity.getGuid(), entity.getDemandCategory(), entity.getDataDemandName())); | ||
222 | approvalFlowUtil.addApproval(approvalDTO); | 257 | approvalFlowUtil.addApproval(approvalDTO); |
223 | afterSave(entity, rqVO); | 258 | afterSave(entity, rqVO); |
224 | } | 259 | } |
... | @@ -238,6 +273,7 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService | ... | @@ -238,6 +273,7 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService |
238 | throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, messageSourceUtil.getMessage("W00012", | 273 | throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, messageSourceUtil.getMessage("W00012", |
239 | String.format("删除%s数据", FUNCTION_NAME), "数据唯一标识")); | 274 | String.format("删除%s数据", FUNCTION_NAME), "数据唯一标识")); |
240 | } | 275 | } |
276 | String crossPlatformApproveState = ""; | ||
241 | for (String guid : guids) { | 277 | for (String guid : guids) { |
242 | MfDemand entity = mfDemandService.getById(guid); | 278 | MfDemand entity = mfDemandService.getById(guid); |
243 | beforeRemove(entity); | 279 | beforeRemove(entity); |
... | @@ -246,9 +282,19 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService | ... | @@ -246,9 +282,19 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService |
246 | throw new CsbrSystemException(SystemError.DATA_DEL_ERROR, messageSourceUtil.delMessage(FUNCTION_NAME)); | 282 | throw new CsbrSystemException(SystemError.DATA_DEL_ERROR, messageSourceUtil.delMessage(FUNCTION_NAME)); |
247 | } | 283 | } |
248 | afterRemove(entity); | 284 | afterRemove(entity); |
285 | crossPlatformApproveState = entity.getCrossPlatformApproveState(); | ||
249 | } | 286 | } |
250 | // 删除流程数据 | 287 | // 删除流程数据 |
251 | approvalFlowUtil.removeApproveByBizGuids(guids); | 288 | approvalFlowUtil.removeApproveByBizGuids(guids); |
289 | |||
290 | // 删除主平台数据 | ||
291 | if (!zqConfig.getIsMain() && StringUtils.isNotEmpty(crossPlatformApproveState)) { | ||
292 | JSONObject jsonObject = new JSONObject(); | ||
293 | jsonObject.put("zqSystemCode", SysFuncCode); | ||
294 | jsonObject.put("zqBizGuids", JSON.toJSONString(guids)); | ||
295 | jsonObject.put("isCollection", true); | ||
296 | invokeUtil.invokeMainDel(jsonObject, zqConfig.getAppKey(), zqConfig.getZqDelUrl()); | ||
297 | } | ||
252 | } | 298 | } |
253 | 299 | ||
254 | /** | 300 | /** |
... | @@ -265,6 +311,29 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService | ... | @@ -265,6 +311,29 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService |
265 | throw new CsbrSystemException(SystemError.DATA_NOT_EXISTS, messageSourceUtil.notExistsToSelectMessage(FUNCTION_NAME)); | 311 | throw new CsbrSystemException(SystemError.DATA_NOT_EXISTS, messageSourceUtil.notExistsToSelectMessage(FUNCTION_NAME)); |
266 | } | 312 | } |
267 | String orderNo = null; | 313 | String orderNo = null; |
314 | if (ApprovalStateEnum.PASSED.getValue().equals(dto.getApprovalState()) && !dto.getIsZqPlatformApprove() && StringUtils.isEmpty(entity.getZqName())) { | ||
315 | //生成加工单 | ||
316 | orderNo = addOrder(mfDemandService.getById(dto.getBizGuid()),dto); | ||
317 | } | ||
318 | // 同步更新审批状态 | ||
319 | LambdaUpdateWrapper<MfDemand> updateWrapper = new LambdaUpdateWrapper<>(); | ||
320 | updateWrapper.set(MfDemand::getBizApproveState, dto.getApprovalState()); | ||
321 | updateWrapper.set(StringUtils.isNotBlank(orderNo),MfDemand::getProcessOrderNo, orderNo); | ||
322 | updateWrapper.set(StringUtils.isNotBlank(orderNo),MfDemand::getProcessingGenerateTime, new Date()); | ||
323 | updateWrapper.eq(MfDemand::getGuid, dto.getBizGuid()); | ||
324 | boolean flag = mfDemandService.update(updateWrapper); | ||
325 | if (!flag) { | ||
326 | throw new CsbrSystemException(SystemError.DATA_UPDATE_ERROR, messageSourceUtil.updateMessage(String.format("%s的业务审批状态", FUNCTION_NAME))); | ||
327 | } | ||
328 | } | ||
329 | |||
330 | @Override | ||
331 | public void crossFlowCallBack(BizCallbackDTO dto) { | ||
332 | MfDemand entity = mfDemandService.getById(dto.getBizGuid()); | ||
333 | if (entity == null) { | ||
334 | throw new CsbrSystemException(SystemError.DATA_NOT_EXISTS, messageSourceUtil.notExistsToSelectMessage(FUNCTION_NAME)); | ||
335 | } | ||
336 | String orderNo = null; | ||
268 | if (ApprovalStateEnum.PASSED.getValue().equals(dto.getApprovalState())) { | 337 | if (ApprovalStateEnum.PASSED.getValue().equals(dto.getApprovalState())) { |
269 | //生成加工单 | 338 | //生成加工单 |
270 | orderNo = addOrder(mfDemandService.getById(dto.getBizGuid()),dto); | 339 | orderNo = addOrder(mfDemandService.getById(dto.getBizGuid()),dto); |
... | @@ -272,6 +341,7 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService | ... | @@ -272,6 +341,7 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService |
272 | // 同步更新审批状态 | 341 | // 同步更新审批状态 |
273 | LambdaUpdateWrapper<MfDemand> updateWrapper = new LambdaUpdateWrapper<>(); | 342 | LambdaUpdateWrapper<MfDemand> updateWrapper = new LambdaUpdateWrapper<>(); |
274 | updateWrapper.set(MfDemand::getBizApproveState, dto.getApprovalState()); | 343 | updateWrapper.set(MfDemand::getBizApproveState, dto.getApprovalState()); |
344 | updateWrapper.set(MfDemand::getCrossPlatformApproveState, dto.getApprovalState()); | ||
275 | updateWrapper.set(StringUtils.isNotBlank(orderNo),MfDemand::getProcessOrderNo, orderNo); | 345 | updateWrapper.set(StringUtils.isNotBlank(orderNo),MfDemand::getProcessOrderNo, orderNo); |
276 | updateWrapper.set(StringUtils.isNotBlank(orderNo),MfDemand::getProcessingGenerateTime, new Date()); | 346 | updateWrapper.set(StringUtils.isNotBlank(orderNo),MfDemand::getProcessingGenerateTime, new Date()); |
277 | updateWrapper.eq(MfDemand::getGuid, dto.getBizGuid()); | 347 | updateWrapper.eq(MfDemand::getGuid, dto.getBizGuid()); |
... | @@ -323,6 +393,12 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService | ... | @@ -323,6 +393,12 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService |
323 | entity.setProcessCompanyName(dto.getProcessCompanyName()); | 393 | entity.setProcessCompanyName(dto.getProcessCompanyName()); |
324 | mfDemandService.updateById(entity); | 394 | mfDemandService.updateById(entity); |
325 | FlowUpdateStateDTO flowDTO = csbrBeanUtil.convert(dto,FlowUpdateStateDTO.class); | 395 | FlowUpdateStateDTO flowDTO = csbrBeanUtil.convert(dto,FlowUpdateStateDTO.class); |
396 | MfDemand demand = new MfDemand(); | ||
397 | demand.setContractAttachJson(entity.getContractAttachJson()); | ||
398 | demand.setProcessCompanyType(entity.getProcessCompanyType()); | ||
399 | demand.setProcessCompanyGuid(entity.getProcessCompanyGuid()); | ||
400 | demand.setProcessCompanyName(entity.getProcessCompanyName()); | ||
401 | flowDTO.setBizData(JSON.toJSONString(demand)); | ||
326 | flowDTO.setBackEndInvoke(true); | 402 | flowDTO.setBackEndInvoke(true); |
327 | workflowFeign.allowFlowCore(flowDTO).getData(); | 403 | workflowFeign.allowFlowCore(flowDTO).getData(); |
328 | 404 | ||
... | @@ -340,25 +416,45 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService | ... | @@ -340,25 +416,45 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService |
340 | return convertToVO(list.get(0),getStateMap(Collections.singletonList(list.get(0).getGuid()))); | 416 | return convertToVO(list.get(0),getStateMap(Collections.singletonList(list.get(0).getGuid()))); |
341 | } | 417 | } |
342 | 418 | ||
419 | @Override | ||
420 | public List<ProcessOrderProcessDtlRSVO> listByProcessOrderNo() { | ||
421 | LambdaQueryWrapper<MfDemand> queryWrapper = Wrappers.lambdaQuery(MfDemand.class); | ||
422 | queryWrapper.isNotNull(MfDemand::getRequirementOrderNo).isNotNull(MfDemand::getProcessOrderNo); | ||
423 | queryWrapper.orderByDesc(MfDemand::getCreateTime); | ||
424 | List<MfDemand> mfDemands = mfDemandService.list(queryWrapper); | ||
425 | if (ObjectUtils.isEmpty(mfDemands)) { | ||
426 | return null; | ||
427 | } | ||
428 | List<String> guids = mfDemands.stream().map(MfDemand::getGuid).toList(); | ||
429 | return dataProcessBasicFeign.processOrderList(guids).getData(); | ||
430 | } | ||
431 | |||
343 | /** | 432 | /** |
344 | * 获取发起流程参数 | 433 | * 获取发起流程参数 |
345 | * @author xcq | 434 | * |
346 | * @date 2024-12-31 18:46 | ||
347 | * @param entity | 435 | * @param entity |
436 | * @param rqVO | ||
348 | * @return com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO | 437 | * @return com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO |
438 | * @author xcq | ||
439 | * @date 2024-12-31 18:46 | ||
349 | */ | 440 | */ |
350 | private AddApprovalDTO getAddApprovalDTO(MfDemand entity) { | 441 | private AddApprovalDTO getAddApprovalDTO(MfDemand entity, DemandRQVO rqVO) { |
351 | AddApprovalDTO approvalDTO = new AddApprovalDTO(FLOW_TYPE, entity.getGuid()); | 442 | AddApprovalDTO approvalDTO = new AddApprovalDTO(FLOW_TYPE, entity.getGuid()); |
352 | // todo | 443 | // todo |
353 | approvalDTO.setFuncCode("SJXQ"); | 444 | approvalDTO.setFuncCode(SysFuncCode); |
445 | approvalDTO.setUrlParam(String.format("guid=%s&demandCategory=%s&name=%s&type=detail", entity.getGuid(), entity.getDemandCategory(), entity.getDataDemandName())); | ||
354 | // 流程消息中的变量替换参数 | 446 | // 流程消息中的变量替换参数 |
355 | approvalDTO.setFlowMessageBody(null); | 447 | approvalDTO.setFlowMessageBody(String.format("%s,%s", CommonUtil.getUserInfo().getUserName(),entity.getDataDemandName())); |
356 | // 流程列表数据核心param参数处理 | 448 | // 流程列表数据核心param参数处理 |
357 | approvalDTO.setParam1(entity.getDataDemandName()); | 449 | approvalDTO.setParam1(entity.getDataDemandName()); |
358 | approvalDTO.setParam2(null); | 450 | approvalDTO.setParam2(null); |
359 | approvalDTO.setParam3(null); | 451 | approvalDTO.setParam3(null); |
360 | approvalDTO.setParam4(null); | 452 | approvalDTO.setParam4(null); |
361 | 453 | ||
454 | // 增加跨服务审批字段 | ||
455 | rqVO.setGuid(entity.getGuid()); | ||
456 | approvalDTO.setBizData(JSON.toJSONString(rqVO)); | ||
457 | |||
362 | return approvalDTO; | 458 | return approvalDTO; |
363 | } | 459 | } |
364 | 460 | ||
... | @@ -378,6 +474,9 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService | ... | @@ -378,6 +474,9 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService |
378 | //endregion 2.1.业务合规性验证 | 474 | //endregion 2.1.业务合规性验证 |
379 | 475 | ||
380 | //region 2.2.业务数据验证 | 476 | //region 2.2.业务数据验证 |
477 | if(rqVO.getImmediateApprove() && "2".equals(rqVO.getDemandCategory())){ | ||
478 | checkProductGuid(rqVO.getDataProductGuid()); | ||
479 | } | ||
381 | //endregion 2.2.业务数据验证 | 480 | //endregion 2.2.业务数据验证 |
382 | 481 | ||
383 | //endregion 2.数据验证特殊处理 | 482 | //endregion 2.数据验证特殊处理 |
... | @@ -449,13 +548,15 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService | ... | @@ -449,13 +548,15 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService |
449 | throw new CsbrSystemException(SystemError.DATA_NOT_EXISTS, messageSourceUtil.notExistsToUpdateMessage(FUNCTION_NAME)); | 548 | throw new CsbrSystemException(SystemError.DATA_NOT_EXISTS, messageSourceUtil.notExistsToUpdateMessage(FUNCTION_NAME)); |
450 | } | 549 | } |
451 | //endregion 2.2.业务数据验证 | 550 | //endregion 2.2.业务数据验证 |
452 | 551 | if(rqVO.getImmediateApprove() && "2".equals(rqVO.getDemandCategory())){ | |
552 | checkProductGuid(rqVO.getDataProductGuid()); | ||
553 | } | ||
453 | //endregion 2.数据验证特殊处理 | 554 | //endregion 2.数据验证特殊处理 |
555 | rqVO.setBizApproveState(entity.getBizApproveState()); | ||
454 | 556 | ||
455 | //region 3.数据转换处理 | 557 | //region 3.数据转换处理 |
456 | 558 | ||
457 | //region 3.1.数据过程转换 | 559 | //region 3.1.数据过程转换 |
458 | rqVO.setBizApproveState(entity.getBizApproveState()); | ||
459 | //endregion 3.1.数据过程转换 | 560 | //endregion 3.1.数据过程转换 |
460 | 561 | ||
461 | //endregion 3.数据转换处理 | 562 | //endregion 3.数据转换处理 |
... | @@ -549,7 +650,6 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService | ... | @@ -549,7 +650,6 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService |
549 | 650 | ||
550 | private StaffRSVO getCurStaff(){ | 651 | private StaffRSVO getCurStaff(){ |
551 | UserInfo userInfo = UserContextHolder.get(); | 652 | UserInfo userInfo = UserContextHolder.get(); |
552 | userInfo.getUserId(); | ||
553 | StaffRSVO staffVO = personelFeign.getByUserGuid(userInfo.getUserId()).getData(); | 653 | StaffRSVO staffVO = personelFeign.getByUserGuid(userInfo.getUserId()).getData(); |
554 | return staffVO; | 654 | return staffVO; |
555 | } | 655 | } |
... | @@ -596,11 +696,16 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService | ... | @@ -596,11 +696,16 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService |
596 | vo.setProductProcessingState(voState.getProductProcessingState()); | 696 | vo.setProductProcessingState(voState.getProductProcessingState()); |
597 | vo.setProductDeliveryState(voState.getProductDeliveryState()); | 697 | vo.setProductDeliveryState(voState.getProductDeliveryState()); |
598 | vo.setProductAcceptState(voState.getProductAcceptState()); | 698 | vo.setProductAcceptState(voState.getProductAcceptState()); |
699 | vo.setAcceptFinishTime(DateUtil.getShortDate(voState.getAcceptFinishTime())); | ||
700 | vo.setFinishCycle(DateUtil.getDiffDay(voState.getAcceptFinishTime(),entity.getProcessingGenerateTime())); | ||
701 | vo.setBizName(voState.getBizName()); | ||
599 | } | 702 | } |
600 | } | 703 | } |
601 | return vo; | 704 | return vo; |
602 | } | 705 | } |
603 | 706 | ||
707 | |||
708 | |||
604 | /** | 709 | /** |
605 | * 数据需求新增、修改和其他情况的参数转换为实体 | 710 | * 数据需求新增、修改和其他情况的参数转换为实体 |
606 | * @author xcq | 711 | * @author xcq | ... | ... |
1 | package com.csbr.qingcloud.portal.service.impl; | 1 | package com.csbr.qingcloud.portal.service.impl; |
2 | 2 | ||
3 | import com.alibaba.fastjson.JSON; | 3 | import com.alibaba.fastjson.JSON; |
4 | import com.alibaba.fastjson.JSONObject; | ||
4 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 5 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
5 | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; | 6 | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
7 | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||
6 | import com.csbr.cloud.common.enums.SystemError; | 8 | import com.csbr.cloud.common.enums.SystemError; |
7 | import com.csbr.cloud.common.exception.CsbrSystemException; | 9 | import com.csbr.cloud.common.exception.CsbrSystemException; |
8 | import com.csbr.cloud.common.util.CommonUtil; | 10 | import com.csbr.cloud.common.util.CommonUtil; |
9 | import com.csbr.cloud.common.util.CsbrBeanUtil; | 11 | import com.csbr.cloud.common.util.CsbrBeanUtil; |
12 | import com.csbr.cloud.common.util.MessageSourceUtil; | ||
10 | import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; | 13 | import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; |
14 | import com.csbr.cloud.workflow.util.ApprovalFlowUtil; | ||
11 | import com.csbr.qingcloud.portal.domain.vo.ChangeApproveVO; | 15 | import com.csbr.qingcloud.portal.domain.vo.ChangeApproveVO; |
12 | import com.csbr.qingcloud.portal.domain.vo.EnterpriseRQVO; | 16 | import com.csbr.qingcloud.portal.domain.vo.EnterpriseRQVO; |
13 | import com.csbr.qingcloud.portal.domain.vo.EnterpriseRSVO; | 17 | import com.csbr.qingcloud.portal.domain.vo.EnterpriseRSVO; |
14 | import com.csbr.qingcloud.portal.domain.vo.TenantRQVO; | ||
15 | import com.csbr.qingcloud.portal.feign.PersonelFeign; | 18 | import com.csbr.qingcloud.portal.feign.PersonelFeign; |
16 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise; | 19 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise; |
17 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove; | 20 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove; |
... | @@ -19,14 +22,21 @@ import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveServic | ... | @@ -19,14 +22,21 @@ import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveServic |
19 | import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService; | 22 | import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService; |
20 | import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService; | 23 | import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService; |
21 | import com.csbr.qingcloud.portal.service.EnterpriseService; | 24 | import com.csbr.qingcloud.portal.service.EnterpriseService; |
25 | import com.csbr.qingcloud.portal.util.InvokeUtil; | ||
26 | import com.csbr.qingcloud.portal.util.ZQConfig; | ||
22 | import csbr.cloud.entity.enums.ApprovalStateEnum; | 27 | import csbr.cloud.entity.enums.ApprovalStateEnum; |
28 | import io.seata.spring.annotation.GlobalTransactional; | ||
23 | import jakarta.annotation.Resource; | 29 | import jakarta.annotation.Resource; |
24 | import lombok.extern.slf4j.Slf4j; | 30 | import lombok.extern.slf4j.Slf4j; |
25 | import org.apache.commons.collections.CollectionUtils; | 31 | import org.apache.commons.collections.CollectionUtils; |
26 | import org.apache.commons.lang.StringUtils; | 32 | import org.apache.commons.lang.StringUtils; |
33 | import org.apache.commons.lang3.ObjectUtils; | ||
34 | import org.springframework.beans.factory.annotation.Autowired; | ||
27 | import org.springframework.stereotype.Component; | 35 | import org.springframework.stereotype.Component; |
36 | |||
37 | import java.util.Arrays; | ||
38 | import java.util.Collections; | ||
28 | import java.util.List; | 39 | import java.util.List; |
29 | import java.util.Map; | ||
30 | 40 | ||
31 | /** | 41 | /** |
32 | * @program: ms-hc-customer-service | 42 | * @program: ms-hc-customer-service |
... | @@ -38,6 +48,19 @@ import java.util.Map; | ... | @@ -38,6 +48,19 @@ import java.util.Map; |
38 | @Slf4j | 48 | @Slf4j |
39 | public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeApproveService { | 49 | public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeApproveService { |
40 | 50 | ||
51 | /** | ||
52 | * 功能名称 | ||
53 | */ | ||
54 | private static final String FUNCTION_NAME = "企业变更信息"; | ||
55 | |||
56 | private static final String SysFuncCode = "QYRZ"; | ||
57 | |||
58 | @Autowired | ||
59 | private ZQConfig zqConfig; | ||
60 | |||
61 | @Autowired | ||
62 | private InvokeUtil invokeUtil; | ||
63 | |||
41 | @Resource | 64 | @Resource |
42 | private MfEnterpriseChangeApproveService mfEnterpriseChangeApproveService; | 65 | private MfEnterpriseChangeApproveService mfEnterpriseChangeApproveService; |
43 | 66 | ||
... | @@ -51,11 +74,18 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro | ... | @@ -51,11 +74,18 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro |
51 | private EnterpriseService enterpriseService; | 74 | private EnterpriseService enterpriseService; |
52 | 75 | ||
53 | @Resource | 76 | @Resource |
77 | private MessageSourceUtil messageSourceUtil; | ||
78 | |||
79 | @Resource | ||
80 | private ApprovalFlowUtil approvalFlowUtil; | ||
81 | |||
82 | @Resource | ||
54 | private PersonelFeign personelFeign; | 83 | private PersonelFeign personelFeign; |
55 | 84 | ||
56 | /** 保存变更数据 */ | 85 | /** 保存变更数据 */ |
57 | @Override | 86 | @Override |
58 | public void changeSave(ChangeApproveVO vo) { | 87 | public void changeSave(ChangeApproveVO vo) { |
88 | log.info("======vo, {}", JSON.toJSONString(vo)); | ||
59 | //对重新发起的原审批源数据进行废弃 | 89 | //对重新发起的原审批源数据进行废弃 |
60 | if(StringUtils.isNotBlank(vo.getSourceApproveGuid())){ | 90 | if(StringUtils.isNotBlank(vo.getSourceApproveGuid())){ |
61 | LambdaUpdateWrapper<MfEnterpriseChangeApprove> updateWrapper = new LambdaUpdateWrapper<>(); | 91 | LambdaUpdateWrapper<MfEnterpriseChangeApprove> updateWrapper = new LambdaUpdateWrapper<>(); |
... | @@ -66,9 +96,11 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro | ... | @@ -66,9 +96,11 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro |
66 | 96 | ||
67 | //保存新数据 | 97 | //保存新数据 |
68 | EnterpriseRQVO beanVO = JSON.parseObject(vo.getBizDataJson(), EnterpriseRQVO.class); | 98 | EnterpriseRQVO beanVO = JSON.parseObject(vo.getBizDataJson(), EnterpriseRQVO.class); |
99 | String tenantGuid = beanVO.getTenantGuid(); | ||
69 | MfEnterpriseChangeApprove entity = csbrBeanUtil.convert(beanVO, MfEnterpriseChangeApprove.class); | 100 | MfEnterpriseChangeApprove entity = csbrBeanUtil.convert(beanVO, MfEnterpriseChangeApprove.class); |
70 | setEntity(entity,beanVO,vo); | 101 | setEntity(entity,beanVO,vo); |
71 | entity.setDataType("2"); | 102 | entity.setDataType("2"); |
103 | entity.setBizApproveState(ApprovalStateEnum.CHECKING.getValue()); | ||
72 | entity.setGuid(vo.getGuid()); | 104 | entity.setGuid(vo.getGuid()); |
73 | mfEnterpriseChangeApproveService.save(entity); | 105 | mfEnterpriseChangeApproveService.save(entity); |
74 | 106 | ||
... | @@ -78,8 +110,10 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro | ... | @@ -78,8 +110,10 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro |
78 | setEntity(entity,beanVO,vo); | 110 | setEntity(entity,beanVO,vo); |
79 | entity.setDataType("1"); | 111 | entity.setDataType("1"); |
80 | entity.setGuid(CommonUtil.newGuid()); | 112 | entity.setGuid(CommonUtil.newGuid()); |
113 | entity.setTenantGuid(tenantGuid); | ||
81 | mfEnterpriseChangeApproveService.save(entity); | 114 | mfEnterpriseChangeApproveService.save(entity); |
82 | 115 | ||
116 | log.info("========entity, {}", entity); | ||
83 | MfEnterprise bean = mfEnterpriseService.getById(entity.getSourceGuid()); | 117 | MfEnterprise bean = mfEnterpriseService.getById(entity.getSourceGuid()); |
84 | bean.setBizApproveState("B"); | 118 | bean.setBizApproveState("B"); |
85 | mfEnterpriseService.updateById(bean); | 119 | mfEnterpriseService.updateById(bean); |
... | @@ -88,6 +122,8 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro | ... | @@ -88,6 +122,8 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro |
88 | private void setEntity(MfEnterpriseChangeApprove entity,EnterpriseRQVO customerVO,ChangeApproveVO vo){ | 122 | private void setEntity(MfEnterpriseChangeApprove entity,EnterpriseRQVO customerVO,ChangeApproveVO vo){ |
89 | entity.setApproveGuid(vo.getApproveGuid()); | 123 | entity.setApproveGuid(vo.getApproveGuid()); |
90 | entity.setSourceGuid(vo.getSourceGuid()); | 124 | entity.setSourceGuid(vo.getSourceGuid()); |
125 | entity.setZqName(vo.getZqName()); | ||
126 | entity.setZqBizGuid(vo.getZqBizGuid()); | ||
91 | } | 127 | } |
92 | 128 | ||
93 | /** 变更数据详细接口 */ | 129 | /** 变更数据详细接口 */ |
... | @@ -124,6 +160,12 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro | ... | @@ -124,6 +160,12 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro |
124 | @Override | 160 | @Override |
125 | public void changeUpdate(BizCallbackDTO dto) { | 161 | public void changeUpdate(BizCallbackDTO dto) { |
126 | MfEnterpriseChangeApprove entity = mfEnterpriseChangeApproveService.getById(dto.getBizGuid()); | 162 | MfEnterpriseChangeApprove entity = mfEnterpriseChangeApproveService.getById(dto.getBizGuid()); |
163 | |||
164 | LambdaUpdateWrapper<MfEnterpriseChangeApprove> updateWrapper = new LambdaUpdateWrapper<>(); | ||
165 | updateWrapper.eq(MfEnterpriseChangeApprove::getApproveGuid,entity.getApproveGuid()); | ||
166 | updateWrapper.set(MfEnterpriseChangeApprove::getBizApproveState,dto.getApprovalState()); | ||
167 | mfEnterpriseChangeApproveService.update(updateWrapper); | ||
168 | |||
127 | //审批不通过则将状态恢复到以前的Y | 169 | //审批不通过则将状态恢复到以前的Y |
128 | if(!dto.getApprovalState().equals(ApprovalStateEnum.PASSED.getValue())){ | 170 | if(!dto.getApprovalState().equals(ApprovalStateEnum.PASSED.getValue())){ |
129 | MfEnterprise bean = mfEnterpriseService.getById(entity.getSourceGuid()); | 171 | MfEnterprise bean = mfEnterpriseService.getById(entity.getSourceGuid()); |
... | @@ -131,31 +173,120 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro | ... | @@ -131,31 +173,120 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro |
131 | mfEnterpriseService.updateById(bean); | 173 | mfEnterpriseService.updateById(bean); |
132 | return; | 174 | return; |
133 | } | 175 | } |
176 | if (!dto.getIsZqPlatformApprove()) { | ||
134 | //审批通过则执行更新 | 177 | //审批通过则执行更新 |
135 | EnterpriseRQVO vo = csbrBeanUtil.convert(entity,EnterpriseRQVO.class); | 178 | MfEnterprise vo = csbrBeanUtil.convert(entity,MfEnterprise.class); |
136 | vo.setGuid(entity.getSourceGuid()); | 179 | vo.setGuid(entity.getSourceGuid()); |
137 | vo.setBizApproveState("Y"); | 180 | vo.setBizApproveState("Y"); |
181 | mfEnterpriseService.updateById(vo); | ||
138 | 182 | ||
139 | LambdaUpdateWrapper<MfEnterprise> wrapper = new LambdaUpdateWrapper<>(); | 183 | //同步更新会员表 |
140 | wrapper.eq(MfEnterprise::getGuid, entity.getSourceGuid()); | 184 | enterpriseService.updateTenant(vo); |
141 | wrapper.set(MfEnterprise::getBizApproveState, "Y"); | 185 | } |
142 | mfEnterpriseService.update(wrapper); | 186 | } |
187 | |||
188 | @Override | ||
189 | @GlobalTransactional(rollbackFor = Exception.class) | ||
190 | public void removeByGuids(List<String> guids) { | ||
191 | if (CollectionUtils.isEmpty(guids)) { | ||
192 | // W00012 = {0}:参数[{1}]不能为空! | ||
193 | throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, messageSourceUtil.getMessage("W00012", | ||
194 | String.format("删除%s数据", FUNCTION_NAME), "数据唯一标识")); | ||
195 | } | ||
196 | String crossPlatformApproveState = ""; | ||
197 | for (String guid : guids) { | ||
198 | MfEnterpriseChangeApprove entity = mfEnterpriseChangeApproveService.getById(guid); | ||
199 | beforeRemove(entity); | ||
200 | boolean flag = mfEnterpriseChangeApproveService.removeById(guid); | ||
201 | if (!flag) { | ||
202 | throw new CsbrSystemException(SystemError.DATA_DEL_ERROR, messageSourceUtil.delMessage(FUNCTION_NAME)); | ||
203 | } | ||
204 | |||
205 | crossPlatformApproveState = entity.getCrossPlatformApproveState(); | ||
206 | } | ||
207 | |||
208 | // 删除主平台数据 | ||
209 | if (!zqConfig.getIsMain() && StringUtils.isNotEmpty(crossPlatformApproveState)) { | ||
210 | JSONObject jsonObject = new JSONObject(); | ||
211 | jsonObject.put("zqSystemCode", SysFuncCode + "BG"); | ||
212 | jsonObject.put("zqBizGuids", JSON.toJSONString(guids)); | ||
213 | jsonObject.put("isCollection", true); | ||
214 | invokeUtil.invokeMainDel(jsonObject, zqConfig.getAppKey(), zqConfig.getZqDelUrl()); | ||
215 | } | ||
216 | |||
217 | // 删除流程数据 | ||
218 | approvalFlowUtil.removeApproveByBizGuids(guids); | ||
219 | } | ||
220 | |||
221 | @Override | ||
222 | public void crossFlowCallBack(BizCallbackDTO dto) { | ||
223 | MfEnterpriseChangeApprove entity = mfEnterpriseChangeApproveService.getById(dto.getBizGuid()); | ||
224 | |||
225 | LambdaUpdateWrapper<MfEnterpriseChangeApprove> updateWrapper = new LambdaUpdateWrapper<>(); | ||
226 | updateWrapper.eq(MfEnterpriseChangeApprove::getApproveGuid,entity.getApproveGuid()); | ||
227 | updateWrapper.set(MfEnterpriseChangeApprove::getBizApproveState, dto.getApprovalState()); | ||
228 | updateWrapper.set(MfEnterpriseChangeApprove::getCrossPlatformApproveState, dto.getApprovalState()); | ||
229 | mfEnterpriseChangeApproveService.update(updateWrapper); | ||
230 | |||
231 | //审批不通过则将状态恢复到以前的Y | ||
232 | if(!dto.getApprovalState().equals(ApprovalStateEnum.PASSED.getValue())){ | ||
233 | MfEnterprise bean = mfEnterpriseService.getById(entity.getSourceGuid()); | ||
234 | bean.setBizApproveState("Y"); | ||
235 | bean.setCrossPlatformApproveState("Y"); | ||
236 | mfEnterpriseService.updateById(bean); | ||
237 | return; | ||
238 | } | ||
239 | //审批通过则执行更新 | ||
240 | MfEnterprise vo = csbrBeanUtil.convert(entity,MfEnterprise.class); | ||
241 | vo.setGuid(entity.getSourceGuid()); | ||
242 | vo.setBizApproveState("Y"); | ||
243 | vo.setCrossPlatformApproveState("Y"); | ||
244 | mfEnterpriseService.updateById(vo); | ||
143 | 245 | ||
144 | //同步更新会员表 | 246 | //同步更新会员表 |
145 | TenantRQVO tenantVO = csbrBeanUtil.convert(vo,TenantRQVO.class); | 247 | enterpriseService.updateTenant(vo); |
146 | tenantVO.setGuid(getTenantGuid(vo.getTenantName())); | 248 | } |
147 | tenantVO.setPersonIncharge(vo.getJuridicalPerson()); | 249 | |
148 | personelFeign.updateTenant(tenantVO); | 250 | @Override |
251 | @GlobalTransactional | ||
252 | public void crossRemoveByBizGuid(List<String> zqBizGuids) { | ||
253 | if (ObjectUtils.isEmpty(zqBizGuids)) { | ||
254 | // W00012 = {0}:参数[{1}]不能为空! | ||
255 | throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, messageSourceUtil.getMessage("W00012", | ||
256 | String.format("删除%s数据", FUNCTION_NAME), "数据唯一标识")); | ||
257 | } | ||
258 | String zqBizGuid = zqBizGuids.get(0); | ||
259 | LambdaQueryWrapper<MfEnterpriseChangeApprove> queryWrapper = Wrappers.lambdaQuery(MfEnterpriseChangeApprove.class); | ||
260 | queryWrapper.eq(MfEnterpriseChangeApprove::getZqBizGuid, zqBizGuid); | ||
261 | queryWrapper.eq(MfEnterpriseChangeApprove::getDataType, 2).last(" limit 1 "); | ||
262 | MfEnterpriseChangeApprove enterpriseChangeApprove = mfEnterpriseChangeApproveService.getOne(queryWrapper); | ||
263 | if (ObjectUtils.isEmpty(enterpriseChangeApprove)) { | ||
264 | return; | ||
265 | } | ||
266 | |||
267 | LambdaUpdateWrapper<MfEnterpriseChangeApprove> removeWraaper = Wrappers.lambdaUpdate(MfEnterpriseChangeApprove.class); | ||
268 | removeWraaper.eq(MfEnterpriseChangeApprove::getZqBizGuid, zqBizGuid); | ||
269 | mfEnterpriseChangeApproveService.remove(removeWraaper); | ||
270 | |||
271 | // 删除流程数据 | ||
272 | approvalFlowUtil.removeApproveByBizGuids(Collections.singletonList(enterpriseChangeApprove.getGuid())); | ||
149 | } | 273 | } |
150 | 274 | ||
151 | private String getTenantGuid(String name){ | 275 | /** |
152 | Map<String,String> map = personelFeign.getAllTenantGuidNameMap().getData(); | 276 | * 企业信息删除前置处理 |
153 | for(String guid : map.keySet()){ | 277 | * @author xcq |
154 | if(map.get(guid).equals(name)){ | 278 | * @date 2024-12-26 16:18 |
155 | return guid; | 279 | * @param entity |
280 | * @return void | ||
281 | */ | ||
282 | private void beforeRemove(MfEnterpriseChangeApprove entity) { | ||
283 | if (entity == null) { | ||
284 | throw new CsbrSystemException(SystemError.DATA_DEL_ERROR, messageSourceUtil.notExistsToDelMessage(FUNCTION_NAME)); | ||
156 | } | 285 | } |
286 | if (ApprovalStateEnum.CHECKING.getValue().equals(entity.getBizApproveState()) || | ||
287 | ApprovalStateEnum.PASSED.getValue().equals(entity.getBizApproveState())) { | ||
288 | throw new CsbrSystemException(SystemError.DATA_DEL_ERROR, "审批中和审批通过的数据不能删除!"); | ||
157 | } | 289 | } |
158 | return null; | ||
159 | } | 290 | } |
160 | 291 | ||
161 | /** 转换数据 */ | 292 | /** 转换数据 */ | ... | ... |
1 | package com.csbr.qingcloud.portal.service.impl; | 1 | package com.csbr.qingcloud.portal.service.impl; |
2 | 2 | ||
3 | import com.alibaba.fastjson.JSON; | 3 | import com.alibaba.fastjson.JSON; |
4 | import com.alibaba.fastjson.JSONArray; | ||
5 | import com.alibaba.fastjson.JSONObject; | ||
4 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 6 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
5 | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; | 7 | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
8 | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||
6 | import com.csbr.cloud.common.enums.SystemError; | 9 | import com.csbr.cloud.common.enums.SystemError; |
7 | import com.csbr.cloud.common.enums.UserError; | ||
8 | import com.csbr.cloud.common.enums.WorkFlowBizEnum; | 10 | import com.csbr.cloud.common.enums.WorkFlowBizEnum; |
9 | import com.csbr.cloud.common.exception.CsbrSystemException; | 11 | import com.csbr.cloud.common.exception.CsbrSystemException; |
10 | import com.csbr.cloud.common.exception.CsbrUserException; | ||
11 | import com.csbr.cloud.common.util.CommonUtil; | 12 | import com.csbr.cloud.common.util.CommonUtil; |
12 | import com.csbr.cloud.common.util.CsbrBeanUtil; | 13 | import com.csbr.cloud.common.util.CsbrBeanUtil; |
13 | import com.csbr.cloud.common.util.MessageSourceUtil; | 14 | import com.csbr.cloud.common.util.MessageSourceUtil; |
14 | import com.csbr.cloud.mq.service.KafkaStdService; | 15 | import com.csbr.cloud.distributelock.util.RedisUtil; |
15 | import com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO; | 16 | import com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO; |
16 | import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO; | 17 | import com.csbr.cloud.workflow.domain.dto.appove.FlowQueryDTO; |
17 | import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; | 18 | import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; |
19 | import com.csbr.cloud.workflow.domain.vo.appove.ApproveVO; | ||
18 | import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO; | 20 | import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO; |
19 | import com.csbr.qingcloud.portal.feign.WorkflowFeign; | ||
20 | import com.csbr.cloud.workflow.util.ApprovalFlowUtil; | 21 | import com.csbr.cloud.workflow.util.ApprovalFlowUtil; |
21 | import com.csbr.cloud.workflow.util.FlowAbstractImpl; | 22 | import com.csbr.cloud.workflow.util.FlowAbstractImpl; |
22 | import com.csbr.qingcloud.portal.domain.vo.*; | 23 | import com.csbr.qingcloud.portal.domain.vo.*; |
24 | import com.csbr.qingcloud.portal.feign.ConfigureFeign; | ||
23 | import com.csbr.qingcloud.portal.feign.PersonelFeign; | 25 | import com.csbr.qingcloud.portal.feign.PersonelFeign; |
24 | import com.csbr.qingcloud.portal.feign.UserFeign; | 26 | import com.csbr.qingcloud.portal.feign.WorkflowFeign; |
25 | import com.csbr.qingcloud.portal.mybatis.entity.MfDemand; | 27 | import com.csbr.qingcloud.portal.mybatis.entity.MfDemand; |
26 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise; | 28 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise; |
27 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove; | 29 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove; |
... | @@ -29,30 +31,25 @@ import com.csbr.qingcloud.portal.mybatis.service.MfDemandService; | ... | @@ -29,30 +31,25 @@ import com.csbr.qingcloud.portal.mybatis.service.MfDemandService; |
29 | import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService; | 31 | import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService; |
30 | import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService; | 32 | import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService; |
31 | import com.csbr.qingcloud.portal.service.EnterpriseService; | 33 | import com.csbr.qingcloud.portal.service.EnterpriseService; |
32 | import com.csbr.qingcloud.portal.util.ObjectUtil; | 34 | import com.csbr.qingcloud.portal.util.ChangeInfoUtil; |
35 | import com.csbr.qingcloud.portal.util.DateUtil; | ||
36 | import com.csbr.qingcloud.portal.util.InvokeUtil; | ||
37 | import com.csbr.qingcloud.portal.util.ZQConfig; | ||
33 | import csbr.cloud.entity.domain.base.vo.PageListVO; | 38 | import csbr.cloud.entity.domain.base.vo.PageListVO; |
34 | import csbr.cloud.entity.enums.ApprovalStateEnum; | 39 | import csbr.cloud.entity.enums.ApprovalStateEnum; |
35 | import io.seata.common.util.DateUtil; | ||
36 | import io.seata.spring.annotation.GlobalTransactional; | 40 | import io.seata.spring.annotation.GlobalTransactional; |
37 | import jakarta.annotation.Resource; | 41 | import jakarta.annotation.Resource; |
38 | import lombok.extern.slf4j.Slf4j; | 42 | import lombok.extern.slf4j.Slf4j; |
39 | import org.apache.commons.collections.CollectionUtils; | 43 | import org.apache.commons.collections.CollectionUtils; |
44 | import org.apache.commons.lang3.ObjectUtils; | ||
40 | import org.apache.commons.lang3.StringUtils; | 45 | import org.apache.commons.lang3.StringUtils; |
41 | import org.apache.kafka.clients.consumer.ConsumerRecord; | ||
42 | import org.springframework.beans.factory.annotation.Autowired; | 46 | import org.springframework.beans.factory.annotation.Autowired; |
43 | import org.springframework.kafka.annotation.KafkaListener; | ||
44 | import org.springframework.kafka.support.Acknowledgment; | ||
45 | import org.springframework.stereotype.Service; | 47 | import org.springframework.stereotype.Service; |
46 | import org.springframework.transaction.annotation.Transactional; | 48 | import org.springframework.transaction.annotation.Transactional; |
47 | import org.springframework.util.LinkedMultiValueMap; | ||
48 | import org.springframework.util.MultiValueMap; | ||
49 | import org.springframework.web.context.request.RequestContextHolder; | ||
50 | import org.springframework.web.context.request.ServletRequestAttributes; | ||
51 | 49 | ||
52 | import java.util.ArrayList; | 50 | import java.util.*; |
53 | import java.util.Date; | 51 | import java.util.function.Function; |
54 | import java.util.Enumeration; | 52 | import java.util.stream.Collectors; |
55 | import java.util.List; | ||
56 | 53 | ||
57 | /** | 54 | /** |
58 | * @program: D:/git/ms-data-circulation-portal-service | 55 | * @program: D:/git/ms-data-circulation-portal-service |
... | @@ -69,6 +66,14 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -69,6 +66,14 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
69 | */ | 66 | */ |
70 | private static final String FUNCTION_NAME = "企业信息"; | 67 | private static final String FUNCTION_NAME = "企业信息"; |
71 | 68 | ||
69 | private static final String SysFuncCode = "QYRZ"; | ||
70 | |||
71 | @Autowired | ||
72 | private ZQConfig zqConfig; | ||
73 | |||
74 | @Autowired | ||
75 | private InvokeUtil invokeUtil; | ||
76 | |||
72 | @Resource | 77 | @Resource |
73 | private MfEnterpriseService mfEnterpriseService; | 78 | private MfEnterpriseService mfEnterpriseService; |
74 | 79 | ||
... | @@ -85,19 +90,19 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -85,19 +90,19 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
85 | private PersonelFeign personelFeign; | 90 | private PersonelFeign personelFeign; |
86 | 91 | ||
87 | @Resource | 92 | @Resource |
88 | private MfEnterpriseChangeApproveService mfEnterpriseChangeApproveService; | 93 | private WorkflowFeign workflowFeign; |
89 | 94 | ||
90 | @Resource | 95 | @Resource |
91 | private MfDemandService mfDemandService; | 96 | private RedisUtil redisUtil; |
92 | 97 | ||
93 | @Resource | 98 | @Resource |
94 | private UserFeign userFeign; | 99 | private MfEnterpriseChangeApproveService mfEnterpriseChangeApproveService; |
95 | 100 | ||
96 | @Resource | 101 | @Resource |
97 | private WorkflowFeign workflowFeign; | 102 | private MfDemandService mfDemandService; |
98 | 103 | ||
99 | @Autowired(required = false) | 104 | @Resource |
100 | private KafkaStdService kafkaStdService; | 105 | private ConfigureFeign configureFeign; |
101 | 106 | ||
102 | /** | 107 | /** |
103 | * 企业信息分页查询 | 108 | * 企业信息分页查询 |
... | @@ -122,6 +127,54 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -122,6 +127,54 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
122 | return new PageListVO<>(0L,0L); | 127 | return new PageListVO<>(0L,0L); |
123 | } | 128 | } |
124 | 129 | ||
130 | @Override | ||
131 | public PageListVO<EnterpriseApproveRSVO> flowPageList(FlowQueryDTO dto) { | ||
132 | // 调用流程获取流程数据 | ||
133 | PageListVO<ApproveVO> pageListVO = workflowFeign.getFlowListCrossTenant(dto).getData(); | ||
134 | PageListVO<EnterpriseApproveRSVO> rsPageList = csbrBeanUtil.convert(pageListVO, PageListVO.class); | ||
135 | List<ApproveVO> approveVOList = pageListVO.getRecords(); | ||
136 | if (ObjectUtils.isNotEmpty(approveVOList)) { | ||
137 | // 根据业务guid查询认证表数据 | ||
138 | List<String> guids = approveVOList.stream().map(ApproveVO::getBizGuid).toList(); | ||
139 | List<MfEnterprise> mfEnterprises = mfEnterpriseService.listByIds(guids); | ||
140 | Map<String, MfEnterprise> mfEnterpriseMap = new HashMap<>(); | ||
141 | if (ObjectUtils.isNotEmpty(mfEnterprises)) { | ||
142 | mfEnterpriseMap = mfEnterprises.stream().collect(Collectors.toMap(MfEnterprise::getGuid, Function.identity())); | ||
143 | } | ||
144 | |||
145 | // 根据业务guid查询认证变更表数据 | ||
146 | List<MfEnterpriseChangeApprove> mfEnterpriseChangeApproves = mfEnterpriseChangeApproveService.listByIds(guids); | ||
147 | Map<String, MfEnterpriseChangeApprove> mfEnterpriseChangeApproveMap = new HashMap<>(); | ||
148 | if (ObjectUtils.isNotEmpty(mfEnterpriseChangeApproves)) { | ||
149 | mfEnterpriseChangeApproveMap = mfEnterpriseChangeApproves.stream().collect(Collectors.toMap(MfEnterpriseChangeApprove::getGuid, Function.identity())); | ||
150 | } | ||
151 | |||
152 | // 数据转换 | ||
153 | List<EnterpriseApproveRSVO> results = new ArrayList<>(); | ||
154 | for (ApproveVO approveVO : approveVOList) { | ||
155 | // 补跨服务审批状态数据 | ||
156 | EnterpriseApproveRSVO enterpriseApproveRSVO = csbrBeanUtil.convert(approveVO, EnterpriseApproveRSVO.class); | ||
157 | if (ObjectUtils.isNotEmpty(mfEnterpriseMap) && mfEnterpriseMap.containsKey(enterpriseApproveRSVO.getBizGuid())) { | ||
158 | MfEnterprise mfEnterprise = mfEnterpriseMap.get(enterpriseApproveRSVO.getBizGuid()); | ||
159 | enterpriseApproveRSVO.setCrossPlatformApproveState(mfEnterprise.getCrossPlatformApproveState()); | ||
160 | enterpriseApproveRSVO.setZqName(mfEnterprise.getZqName()); | ||
161 | enterpriseApproveRSVO.setTenantName(mfEnterprise.getTenantName()); | ||
162 | } | ||
163 | if (ObjectUtils.isNotEmpty(mfEnterpriseChangeApproveMap) && mfEnterpriseChangeApproveMap.containsKey(enterpriseApproveRSVO.getBizGuid())) { | ||
164 | MfEnterpriseChangeApprove mfEnterpriseChangeApprove = mfEnterpriseChangeApproveMap.get(enterpriseApproveRSVO.getBizGuid()); | ||
165 | enterpriseApproveRSVO.setCrossPlatformApproveState(mfEnterpriseChangeApprove.getCrossPlatformApproveState()); | ||
166 | enterpriseApproveRSVO.setZqName(mfEnterpriseChangeApprove.getZqName()); | ||
167 | enterpriseApproveRSVO.setTenantName(mfEnterpriseChangeApprove.getTenantName()); | ||
168 | } | ||
169 | results.add(enterpriseApproveRSVO); | ||
170 | } | ||
171 | |||
172 | rsPageList.setRecords(results); | ||
173 | } | ||
174 | |||
175 | return rsPageList; | ||
176 | } | ||
177 | |||
125 | /** | 178 | /** |
126 | * 企业信息获取详情数据 | 179 | * 企业信息获取详情数据 |
127 | * @author xcq | 180 | * @author xcq |
... | @@ -142,23 +195,29 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -142,23 +195,29 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
142 | } | 195 | } |
143 | EnterpriseRSVO vo = convertToVO(entity); | 196 | EnterpriseRSVO vo = convertToVO(entity); |
144 | //生成变更信息 | 197 | //生成变更信息 |
145 | vo.setChangeList(getChange(entity.getTenantName())); | 198 | vo.setChangeList(getChange(guid, entity.getCreateTime())); |
146 | return vo; | 199 | return vo; |
147 | } | 200 | } |
148 | 201 | ||
149 | /** 生成变更信息列表 */ | 202 | /** 生成变更信息列表 */ |
150 | @Override | 203 | @Override |
151 | public List<ChangeInfoVO> getChange(String tenantName){ | 204 | public List<ChangeInfoVO> getChange(String sourceGuid, Date createTime){ |
152 | LambdaQueryWrapper<MfEnterpriseChangeApprove> queryWrapper = new LambdaQueryWrapper<>(); | 205 | LambdaQueryWrapper<MfEnterpriseChangeApprove> queryWrapper = new LambdaQueryWrapper<>(); |
153 | queryWrapper.eq(MfEnterpriseChangeApprove::getTenantName,tenantName); | 206 | queryWrapper.eq(MfEnterpriseChangeApprove::getSourceGuid, sourceGuid); |
207 | queryWrapper.eq(MfEnterpriseChangeApprove::getBizApproveState, ApprovalStateEnum.PASSED.getValue()); | ||
208 | queryWrapper.le(MfEnterpriseChangeApprove::getCreateTime, createTime); | ||
154 | queryWrapper.orderByDesc(MfEnterpriseChangeApprove::getCreateTime); | 209 | queryWrapper.orderByDesc(MfEnterpriseChangeApprove::getCreateTime); |
210 | queryWrapper.last(" limit 2 "); | ||
155 | List<MfEnterpriseChangeApprove> approveList = mfEnterpriseChangeApproveService.list(queryWrapper); | 211 | List<MfEnterpriseChangeApprove> approveList = mfEnterpriseChangeApproveService.list(queryWrapper); |
156 | if(CollectionUtils.isEmpty(approveList)){ | 212 | if(CollectionUtils.isEmpty(approveList)){ |
157 | return new ArrayList<>(); | 213 | return new ArrayList<>(); |
158 | } | 214 | } |
159 | List<ChangeApproveBean> beanList = getChangeBeanList(approveList); | 215 | List<ChangeApproveBean> beanList = getChangeBeanList(approveList); |
160 | try { | 216 | try { |
161 | return getChangeList(beanList); | 217 | if(CollectionUtils.isEmpty(ChangeInfoUtil.areaList)){ |
218 | ChangeInfoUtil.areaList = configureFeign.getBoroughCodeName().getData(); | ||
219 | } | ||
220 | return ChangeInfoUtil.getChangeList(beanList); | ||
162 | } catch (IllegalAccessException e) { | 221 | } catch (IllegalAccessException e) { |
163 | e.printStackTrace(); | 222 | e.printStackTrace(); |
164 | } | 223 | } |
... | @@ -176,32 +235,6 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -176,32 +235,6 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
176 | return convertToVO(list.get(0)); | 235 | return convertToVO(list.get(0)); |
177 | } | 236 | } |
178 | 237 | ||
179 | public static void test(){ | ||
180 | List<ChangeApproveBean> beanList = new ArrayList<>(); | ||
181 | ChangeApproveBean bean = new ChangeApproveBean(); | ||
182 | |||
183 | MfEnterprise oldBean = new MfEnterprise(); | ||
184 | oldBean.setBankTaxNo("999"); | ||
185 | oldBean.setTenantName("武汉小米"); | ||
186 | oldBean.setCreateTime(new Date()); | ||
187 | |||
188 | MfEnterprise newBean = new MfEnterprise(); | ||
189 | newBean.setBankTaxNo("666"); | ||
190 | newBean.setTenantName("武汉大米"); | ||
191 | newBean.setCreateTime(new Date()); | ||
192 | |||
193 | bean.oldBean = oldBean; | ||
194 | bean.newBean = newBean; | ||
195 | beanList.add(bean); | ||
196 | List<ChangeInfoVO> list = new ArrayList<>(); | ||
197 | try { | ||
198 | list = getChangeList(beanList); | ||
199 | } catch (IllegalAccessException e) { | ||
200 | e.printStackTrace(); | ||
201 | } | ||
202 | log.info("变更内容:{}", JSON.toJSONString(list)); | ||
203 | } | ||
204 | |||
205 | /** 准备变更对比实体 */ | 238 | /** 准备变更对比实体 */ |
206 | private List<ChangeApproveBean> getChangeBeanList(List<MfEnterpriseChangeApprove> list){ | 239 | private List<ChangeApproveBean> getChangeBeanList(List<MfEnterpriseChangeApprove> list){ |
207 | List<ChangeApproveBean> beanList = new ArrayList<>(); | 240 | List<ChangeApproveBean> beanList = new ArrayList<>(); |
... | @@ -224,79 +257,6 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -224,79 +257,6 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
224 | public MfEnterprise newBean; | 257 | public MfEnterprise newBean; |
225 | } | 258 | } |
226 | 259 | ||
227 | /** 计算变更信息 */ | ||
228 | public static List<ChangeInfoVO> getChangeList(List<ChangeApproveBean> beanList) throws IllegalAccessException { | ||
229 | List<ChangeInfoVO> list = new ArrayList<>(); | ||
230 | //循环对比每组记录生来变更内容 | ||
231 | for(ChangeApproveBean item : beanList){ | ||
232 | List<CompareResult> diffList = ObjectUtil.getBeanDiff(item.oldBean,item.newBean); | ||
233 | getVenueResult(item,diffList); | ||
234 | getStartEndResult(item,diffList); | ||
235 | for(CompareResult diffItem : diffList){ | ||
236 | if(diffItem.getFieldComment().contains("审批状态") || diffItem.getFieldComment().contains("营业执照") | ||
237 | || diffItem.getFieldComment().contains("法人证件照") || diffItem.getFieldComment().contains("管理员证件照") | ||
238 | || diffItem.getFieldComment().contains("授权委托书") || diffItem.getFieldComment().contains("省") | ||
239 | || diffItem.getFieldComment().contains("市") || diffItem.getFieldComment().contains("区") | ||
240 | || diffItem.getFieldComment().contains("营业开始日期") || diffItem.getFieldComment().contains("营业结束日期")){ | ||
241 | continue; | ||
242 | } | ||
243 | ChangeInfoVO vo = new ChangeInfoVO(); | ||
244 | vo.setNameEn(diffItem.getFieldName()); | ||
245 | vo.setName(diffItem.getFieldComment()); | ||
246 | vo.setDate(DateUtil.formatDate(item.oldBean.getCreateTime(),"yyyy-MM-dd HH:mm:ss")); | ||
247 | vo.setBefore(diffItem.getOldValue().toString()); | ||
248 | vo.setAfter(diffItem.getNewValue().toString()); | ||
249 | vo.setGuid(CommonUtil.newGuid()); | ||
250 | list.add(vo); | ||
251 | } | ||
252 | } | ||
253 | return list; | ||
254 | } | ||
255 | |||
256 | private static void getVenueResult(ChangeApproveBean item, List<CompareResult> diffList) { | ||
257 | String oldVenue = getVenue(item.oldBean.getProvince(),item.oldBean.getCity(),item.oldBean.getDistrict()); | ||
258 | String newVenue = getVenue(item.newBean.getProvince(),item.newBean.getCity(),item.newBean.getDistrict()); | ||
259 | if(!oldVenue.equals(newVenue)){ | ||
260 | CompareResult result = new CompareResult(); | ||
261 | result.setFieldComment("注册地"); | ||
262 | result.setFieldName("venue"); | ||
263 | result.setOldValue(oldVenue); | ||
264 | result.setNewValue(newVenue); | ||
265 | diffList.add(result); | ||
266 | } | ||
267 | } | ||
268 | |||
269 | private static void getStartEndResult(ChangeApproveBean item, List<CompareResult> diffList) { | ||
270 | String oldValue = getStartEnd(item.oldBean.getBusinessLicenseTerm(),item.oldBean.getBusinessLicenseStartDate(),item.oldBean.getBusinessLicenseEndDate()); | ||
271 | String newValue = getStartEnd(item.newBean.getBusinessLicenseTerm(),item.newBean.getBusinessLicenseStartDate(),item.newBean.getBusinessLicenseEndDate()); | ||
272 | if(!oldValue.equals(newValue)){ | ||
273 | CompareResult result = new CompareResult(); | ||
274 | result.setFieldComment("营业日期范围"); | ||
275 | result.setFieldName("businessLicenseStartEnd"); | ||
276 | result.setOldValue(oldValue); | ||
277 | result.setNewValue(newValue); | ||
278 | diffList.add(result); | ||
279 | } | ||
280 | } | ||
281 | |||
282 | private static String getVenue(String province, String city, String district) { | ||
283 | if(StringUtils.isBlank(district)){ | ||
284 | return String.format("%s/%s",province,city); | ||
285 | } | ||
286 | else{ | ||
287 | return String.format("%s/%s/%s",province,city,district); | ||
288 | } | ||
289 | } | ||
290 | |||
291 | |||
292 | private static String getStartEnd(String businessLicenseTerm,Date businessLicenseStartDate, Date businessLicenseEndDate) { | ||
293 | if("1".equals(businessLicenseTerm)){ | ||
294 | return "长期有效"; | ||
295 | } | ||
296 | return String.format("%s至%s",businessLicenseStartDate,businessLicenseEndDate); | ||
297 | } | ||
298 | |||
299 | |||
300 | /** | 260 | /** |
301 | * 企业信息数据新增 | 261 | * 企业信息数据新增 |
302 | * @author xcq | 262 | * @author xcq |
... | @@ -312,7 +272,7 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -312,7 +272,7 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
312 | beforeSave(rqVO); | 272 | beforeSave(rqVO); |
313 | MfEnterprise entity = convertToEntity(rqVO); | 273 | MfEnterprise entity = convertToEntity(rqVO); |
314 | // 发起审批流程或保存草稿 | 274 | // 发起审批流程或保存草稿 |
315 | AddApprovalDTO approvalDTO = getAddApprovalDTO(entity); | 275 | AddApprovalDTO approvalDTO = getAddApprovalDTO(entity, rqVO); |
316 | super.startWorkFlow(rqVO, approvalDTO, entity::setBizApproveState); | 276 | super.startWorkFlow(rqVO, approvalDTO, entity::setBizApproveState); |
317 | // 业务数据保存 | 277 | // 业务数据保存 |
318 | boolean flag = mfEnterpriseService.save(entity); | 278 | boolean flag = mfEnterpriseService.save(entity); |
... | @@ -339,7 +299,7 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -339,7 +299,7 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
339 | beforeUpdate(rqVO); | 299 | beforeUpdate(rqVO); |
340 | MfEnterprise entity = convertToEntity(rqVO); | 300 | MfEnterprise entity = convertToEntity(rqVO); |
341 | // 发起审批流程或保存草稿 | 301 | // 发起审批流程或保存草稿 |
342 | AddApprovalDTO approvalDTO = getAddApprovalDTO(entity); | 302 | AddApprovalDTO approvalDTO = getAddApprovalDTO(entity, rqVO); |
343 | super.startOrRestartWorkFlow(rqVO, rqVO.getBizApproveState(), approvalDTO, entity::setBizApproveState); | 303 | super.startOrRestartWorkFlow(rqVO, rqVO.getBizApproveState(), approvalDTO, entity::setBizApproveState); |
344 | if (rqVO.getIsRestart()) { | 304 | if (rqVO.getIsRestart()) { |
345 | // 重新提交 | 305 | // 重新提交 |
... | @@ -365,9 +325,9 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -365,9 +325,9 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
365 | * @return void | 325 | * @return void |
366 | */ | 326 | */ |
367 | private void againSubmitFlow(MfEnterprise entity, EnterpriseRQVO rqVO, AddApprovalDTO approvalDTO) { | 327 | private void againSubmitFlow(MfEnterprise entity, EnterpriseRQVO rqVO, AddApprovalDTO approvalDTO) { |
368 | // 重新提交的数据重置相关字段 | ||
369 | entity.setGuid(CommonUtil.newGuid()); | 328 | entity.setGuid(CommonUtil.newGuid()); |
370 | mfEnterpriseService.csbrBaseEntity(entity); | 329 | mfEnterpriseService.csbrBaseEntity(entity); |
330 | entity.setBizApproveState("A"); | ||
371 | // 保存新数据 | 331 | // 保存新数据 |
372 | boolean flag = mfEnterpriseService.save(entity); | 332 | boolean flag = mfEnterpriseService.save(entity); |
373 | if (!flag) { | 333 | if (!flag) { |
... | @@ -375,6 +335,8 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -375,6 +335,8 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
375 | } | 335 | } |
376 | // 发起新的流程 | 336 | // 发起新的流程 |
377 | approvalDTO.setBizGuid(entity.getGuid()); | 337 | approvalDTO.setBizGuid(entity.getGuid()); |
338 | approvalDTO.setUrlParam(String.format("guid=%s&name=%s&tName=%s&fType=%s&bizGuid=%s&type=detail",entity.getGuid(), entity.getTenantName(), | ||
339 | entity.getTenantName(),WorkFlowBizEnum.ENTERPRISE_APPLY.getValue(),entity.getGuid())); | ||
378 | approvalFlowUtil.addApproval(approvalDTO); | 340 | approvalFlowUtil.addApproval(approvalDTO); |
379 | afterSave(entity, rqVO); | 341 | afterSave(entity, rqVO); |
380 | } | 342 | } |
... | @@ -394,6 +356,7 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -394,6 +356,7 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
394 | throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, messageSourceUtil.getMessage("W00012", | 356 | throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, messageSourceUtil.getMessage("W00012", |
395 | String.format("删除%s数据", FUNCTION_NAME), "数据唯一标识")); | 357 | String.format("删除%s数据", FUNCTION_NAME), "数据唯一标识")); |
396 | } | 358 | } |
359 | String crossPlatformApproveState = ""; | ||
397 | for (String guid : guids) { | 360 | for (String guid : guids) { |
398 | MfEnterprise entity = mfEnterpriseService.getById(guid); | 361 | MfEnterprise entity = mfEnterpriseService.getById(guid); |
399 | beforeRemove(entity); | 362 | beforeRemove(entity); |
... | @@ -402,53 +365,20 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -402,53 +365,20 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
402 | throw new CsbrSystemException(SystemError.DATA_DEL_ERROR, messageSourceUtil.delMessage(FUNCTION_NAME)); | 365 | throw new CsbrSystemException(SystemError.DATA_DEL_ERROR, messageSourceUtil.delMessage(FUNCTION_NAME)); |
403 | } | 366 | } |
404 | afterRemove(entity); | 367 | afterRemove(entity); |
405 | } | 368 | crossPlatformApproveState = entity.getCrossPlatformApproveState(); |
406 | // 删除流程数据 | ||
407 | approvalFlowUtil.removeApproveByBizGuids(guids); | ||
408 | } | 369 | } |
409 | 370 | ||
410 | /** ***企业认证*** */ | 371 | // 删除主平台数据 |
411 | @GlobalTransactional | 372 | if (!zqConfig.getIsMain() && StringUtils.isNotEmpty(crossPlatformApproveState)) { |
412 | @Override | 373 | JSONObject jsonObject = new JSONObject(); |
413 | public Boolean lastApprove(FlowUpdateStateDTO dto) { | 374 | jsonObject.put("zqSystemCode", SysFuncCode); |
414 | //如果是非认证会员认证审批通过了 则需要走kafka生成新会员 | 375 | jsonObject.put("zqBizGuids", JSON.toJSONString(guids)); |
415 | dto.setBackEndInvoke(true); | 376 | jsonObject.put("isCollection", true); |
416 | KafkaApproveDTO approveDTO = new KafkaApproveDTO(); | 377 | invokeUtil.invokeMainDel(jsonObject, zqConfig.getAppKey(), zqConfig.getZqDelUrl()); |
417 | approveDTO.setHeader(getHeader()); | ||
418 | approveDTO.setUpdateStateDTO(dto); | ||
419 | kafkaStdService.stdSendMsgWithPrefix("tenant.enterprise", JSON.toJSONString(approveDTO)); | ||
420 | return true; | ||
421 | } | ||
422 | |||
423 | private MultiValueMap<String, String> getHeader(){ | ||
424 | ServletRequestAttributes servletRequestAttributes = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()); | ||
425 | Enumeration<String> headerNames = servletRequestAttributes.getRequest().getHeaderNames(); | ||
426 | MultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); | ||
427 | List<String> names = List.of("AUTHORIZATION", "X-USERINFO", "TENANT", "TOKEN"); | ||
428 | while (null != headerNames && headerNames.hasMoreElements()) { | ||
429 | String name = headerNames.nextElement(); | ||
430 | String value = servletRequestAttributes.getRequest().getHeader(name); | ||
431 | if (names.contains(name.toUpperCase())) { | ||
432 | headers.put(name, List.of(value)); | ||
433 | } | ||
434 | } | ||
435 | return headers; | ||
436 | } | 378 | } |
437 | 379 | ||
438 | @KafkaListener(containerFactory = "kafkaListenerContainerFactory", groupId = "scm.notify", topics = "${csbr.kafka.topic-prefix:}_"+"tenant.enterprise", | 380 | // 删除流程数据 |
439 | errorHandler = "consumerAwareErrorHandler") | 381 | approvalFlowUtil.removeApproveByBizGuids(guids); |
440 | public void addUserListener(List<ConsumerRecord<String, String>> records, Acknowledgment ack) { | ||
441 | ack.acknowledge(); | ||
442 | for (ConsumerRecord<String, String> record : records) { | ||
443 | try { | ||
444 | KafkaApproveDTO approveDTO = JSON.parseObject(record.value(),KafkaApproveDTO.class); | ||
445 | workflowFeign.allowFlowCore(approveDTO.getUpdateStateDTO(),approveDTO.getHeader()).getData(); | ||
446 | } catch (Exception e) { | ||
447 | log.error("企业认证出现异常: " + e.getMessage() + ";\nRecord Info: " + record.toString()); | ||
448 | e.printStackTrace(); | ||
449 | return; | ||
450 | } | ||
451 | } | ||
452 | } | 382 | } |
453 | 383 | ||
454 | /** | 384 | /** |
... | @@ -473,23 +403,98 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -473,23 +403,98 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
473 | if (!flag) { | 403 | if (!flag) { |
474 | throw new CsbrSystemException(SystemError.DATA_UPDATE_ERROR, messageSourceUtil.updateMessage(String.format("%s的业务审批状态", FUNCTION_NAME))); | 404 | throw new CsbrSystemException(SystemError.DATA_UPDATE_ERROR, messageSourceUtil.updateMessage(String.format("%s的业务审批状态", FUNCTION_NAME))); |
475 | } | 405 | } |
476 | if (ApprovalStateEnum.PASSED.getValue().equals(dto.getApprovalState())) { | 406 | if (ApprovalStateEnum.PASSED.getValue().equals(dto.getApprovalState()) && !dto.getIsZqPlatformApprove() && StringUtils.isEmpty(entity.getZqName())) { |
407 | String tenantName = personelFeign.getAllTenantGuidNameMap().getData().get(entity.getTenantGuid()); | ||
408 | if("非认证会员".equals(tenantName)){ | ||
477 | //删除原帐号并新增正式会员 | 409 | //删除原帐号并新增正式会员 |
478 | TenantRQVO vo = csbrBeanUtil.convert(entity,TenantRQVO.class); | 410 | TenantRQVO vo = csbrBeanUtil.convert(entity,TenantRQVO.class); |
411 | //新增会员时guid必须保证为空 | ||
412 | vo.setGuid(null); | ||
479 | vo.setTenantType(null); | 413 | vo.setTenantType(null); |
480 | vo.setGuid(CommonUtil.newGuid()); | 414 | vo.setContactTel(entity.getContactTel()); |
415 | vo.setBizGuid(dto.getBizGuid()); | ||
481 | vo.setPersonIncharge(entity.getJuridicalPerson()); | 416 | vo.setPersonIncharge(entity.getJuridicalPerson()); |
482 | vo.setBizState("Y"); | 417 | vo.setBizState("Y"); |
483 | try{ | 418 | vo.setRegistrationDate(DateUtil.getDateToLocal(entity.getRegistrationDate())); |
484 | vo = personelFeign.authTenant(vo).getData(); | 419 | vo.setTenantLicList(getTenantLicList(entity.getBusinessLicenseJson())); |
485 | }catch (Exception e){ | 420 | vo.setCompanyAddress(String.format("%s/%s/%s",entity.getProvince(),entity.getCity(),entity.getDistrict())); |
486 | if(!e.getMessage().contains("Read timed out")){ | 421 | vo.setProvince(null); |
487 | throw e; | 422 | vo.setCity(null); |
423 | vo.setDistrict(null); | ||
424 | personelFeign.authTenant(vo).getData(); | ||
425 | } | ||
426 | else{ | ||
427 | updateTenant(entity); | ||
488 | } | 428 | } |
489 | } | 429 | } |
490 | 430 | ||
491 | } | 431 | } |
492 | 432 | ||
433 | @Override | ||
434 | public void crossFlowCallBack(BizCallbackDTO dto) { | ||
435 | MfEnterprise entity = mfEnterpriseService.getById(dto.getBizGuid()); | ||
436 | if (entity == null) { | ||
437 | throw new CsbrSystemException(SystemError.DATA_NOT_EXISTS, messageSourceUtil.notExistsToSelectMessage(FUNCTION_NAME)); | ||
438 | } | ||
439 | // 同步更新审批状态 | ||
440 | LambdaUpdateWrapper<MfEnterprise> updateWrapper = new LambdaUpdateWrapper<>(); | ||
441 | updateWrapper.set(MfEnterprise::getBizApproveState, dto.getApprovalState()); | ||
442 | updateWrapper.set(MfEnterprise::getCrossPlatformApproveState, dto.getApprovalState()); | ||
443 | updateWrapper.eq(MfEnterprise::getGuid, dto.getBizGuid()); | ||
444 | boolean flag = mfEnterpriseService.update(updateWrapper); | ||
445 | if (!flag) { | ||
446 | throw new CsbrSystemException(SystemError.DATA_UPDATE_ERROR, messageSourceUtil.updateMessage(String.format("%s的业务审批状态", FUNCTION_NAME))); | ||
447 | } | ||
448 | if (ApprovalStateEnum.PASSED.getValue().equals(dto.getApprovalState())) { | ||
449 | String tenantName = personelFeign.getAllTenantGuidNameMap().getData().get(entity.getTenantGuid()); | ||
450 | if("非认证会员".equals(tenantName)){ | ||
451 | //删除原帐号并新增正式会员 | ||
452 | TenantRQVO vo = csbrBeanUtil.convert(entity,TenantRQVO.class); | ||
453 | //新增会员时guid必须保证为空 | ||
454 | vo.setGuid(null); | ||
455 | vo.setTenantType(null); | ||
456 | vo.setContactTel(entity.getContactTel()); | ||
457 | vo.setBizGuid(dto.getBizGuid()); | ||
458 | vo.setPersonIncharge(entity.getJuridicalPerson()); | ||
459 | vo.setBizState("Y"); | ||
460 | vo.setRegistrationDate(DateUtil.getDateToLocal(entity.getRegistrationDate())); | ||
461 | vo.setTenantLicList(getTenantLicList(entity.getBusinessLicenseJson())); | ||
462 | vo.setCompanyAddress(String.format("%s/%s/%s",entity.getProvince(),entity.getCity(),entity.getDistrict())); | ||
463 | vo.setProvince(null); | ||
464 | vo.setCity(null); | ||
465 | vo.setDistrict(null); | ||
466 | personelFeign.authTenant(vo).getData(); | ||
467 | } | ||
468 | else{ | ||
469 | updateTenant(entity); | ||
470 | } | ||
471 | } | ||
472 | } | ||
473 | |||
474 | private List<TenantLicRQVO> getTenantLicList(String json) { | ||
475 | if(StringUtils.isBlank(json)){ | ||
476 | return null; | ||
477 | } | ||
478 | JSONArray array = JSON.parseArray(json); | ||
479 | if(array.size() == 0){ | ||
480 | return null; | ||
481 | } | ||
482 | JSONArray itemArray = new JSONArray(); | ||
483 | for(int i = 0; i < array.size(); i++){ | ||
484 | JSONObject obj = array.getJSONObject(i); | ||
485 | //格式转换 | ||
486 | JSONObject itemOjb = new JSONObject(); | ||
487 | itemOjb.put("name",obj.get("name")); | ||
488 | itemOjb.put("path",obj.get("url")); | ||
489 | itemArray.add(itemOjb); | ||
490 | } | ||
491 | TenantLicRQVO item = new TenantLicRQVO(); | ||
492 | item.setLicenseType("1"); | ||
493 | item.setPictContentJson(JSON.toJSONString(itemArray)); | ||
494 | |||
495 | List<TenantLicRQVO> list = new ArrayList<>(); | ||
496 | list.add(item); | ||
497 | return list; | ||
493 | } | 498 | } |
494 | 499 | ||
495 | /** 将此账号提交的数据需求迁移到新的企业 */ | 500 | /** 将此账号提交的数据需求迁移到新的企业 */ |
... | @@ -519,53 +524,126 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -519,53 +524,126 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
519 | mfDemandService.removeByIds(list); | 524 | mfDemandService.removeByIds(list); |
520 | } | 525 | } |
521 | 526 | ||
527 | /** 仅更新会员本表信息 */ | ||
522 | @Override | 528 | @Override |
523 | public Boolean check(EnterpriseRQVO vo) { | 529 | public void updateTenant(MfEnterprise vo) { |
524 | //防止管理员帐号发起认证 | 530 | //同步更新会员表 |
525 | if(StringUtils.isBlank(vo.getGuid())){ | 531 | TenantRQVO tenantVO = csbrBeanUtil.convert(vo,TenantRQVO.class); |
526 | checkUser(vo.getLogonUser()); | 532 | tenantVO.setGuid(vo.getTenantGuid()); |
533 | tenantVO.setPersonIncharge(vo.getJuridicalPerson()); | ||
534 | tenantVO.setTenantName(vo.getTenantName()); | ||
535 | tenantVO.setRegisteredCapital(vo.getRegisteredCapital()); | ||
536 | tenantVO.setRegistrationDate(DateUtil.getDateToLocal(vo.getRegistrationDate())); | ||
537 | tenantVO.setBankTaxNo(vo.getBankTaxNo()); | ||
538 | tenantVO.setBusinessLicenseScope(vo.getBusinessLicenseScope()); | ||
539 | tenantVO.setPersonIncharge(vo.getJuridicalPerson()); | ||
540 | tenantVO.setContacts(vo.getContacts()); | ||
541 | tenantVO.setContactTel(vo.getContactTel()); | ||
542 | tenantVO.setCompanyAddress(String.format("%s/%s/%s",vo.getProvince(),vo.getCity(),vo.getDistrict())); | ||
543 | tenantVO.setTenantLicList(getTenantLicList(vo.getBusinessLicenseJson())); | ||
544 | personelFeign.changeUpdate(tenantVO); | ||
527 | } | 545 | } |
528 | 546 | ||
529 | //检查会员名称等数据 | 547 | @Override |
530 | TenantRQVO tenant = csbrBeanUtil.convert(vo,TenantRQVO.class); | 548 | public EnterpriseRSVO getEnterpriseDetailByLogonUser(String logonUser) { |
531 | personelFeign.checkTenant(tenant); | 549 | // 根据登陆人信息查询业务数据 |
532 | return true; | 550 | LambdaQueryWrapper<MfEnterprise> queryWrapper = Wrappers.lambdaQuery(MfEnterprise.class); |
551 | queryWrapper.eq(MfEnterprise::getLogonUser, logonUser); | ||
552 | queryWrapper.orderByDesc(MfEnterprise::getCreateTime); | ||
553 | List<MfEnterprise> mfEnterprises = mfEnterpriseService.list(queryWrapper); | ||
554 | if (ObjectUtils.isEmpty(mfEnterprises)) { | ||
555 | return null; | ||
556 | } | ||
557 | |||
558 | // 判断业务数据是否有通过 | ||
559 | Optional<MfEnterprise> enterpriseOptional = mfEnterprises.stream().filter(item -> | ||
560 | ApprovalStateEnum.PASSED.getValue().equals(item.getBizApproveState()) || "B".equals(item.getBizApproveState()) || ApprovalStateEnum.CHECKING.getValue().equals(item.getBizApproveState())).findFirst(); | ||
561 | if (enterpriseOptional.isEmpty()) { | ||
562 | return null; | ||
563 | } | ||
564 | MfEnterprise mfEnterprise = enterpriseOptional.get(); | ||
565 | EnterpriseRSVO enterpriseRSVO = convertToVO(mfEnterprise); | ||
566 | |||
567 | // 查询变更历史 | ||
568 | LambdaQueryWrapper<MfEnterpriseChangeApprove> lambdaQueryWrapper = new LambdaQueryWrapper<>(); | ||
569 | lambdaQueryWrapper.eq(MfEnterpriseChangeApprove::getSourceGuid, mfEnterprise.getGuid()); | ||
570 | lambdaQueryWrapper.orderByDesc(MfEnterpriseChangeApprove::getCreateTime); | ||
571 | List<MfEnterpriseChangeApprove> approveList = mfEnterpriseChangeApproveService.list(lambdaQueryWrapper); | ||
572 | if(CollectionUtils.isEmpty(approveList)){ | ||
573 | return enterpriseRSVO; | ||
574 | } | ||
575 | |||
576 | // 判断最新变更数据是否是审批中 审批中显示最新数据 驳回或通过显示最新一次审批通过数据 | ||
577 | if ("B".equals(enterpriseRSVO.getBizApproveState())) { | ||
578 | Optional<MfEnterpriseChangeApprove> changeApproveOptFirst = approveList.stream().filter(item -> "2".equals(item.getDataType())).findFirst(); | ||
579 | if (changeApproveOptFirst.isPresent()) { | ||
580 | enterpriseRSVO = csbrBeanUtil.convert(changeApproveOptFirst.get(), EnterpriseRSVO.class); | ||
581 | enterpriseRSVO.setBizApproveState(mfEnterprise.getBizApproveState()); | ||
582 | } | ||
583 | } | ||
584 | |||
585 | // 只显示审批通过的变更历史 | ||
586 | List<MfEnterpriseChangeApprove> passChangeApproves = approveList.stream().filter(item -> ApprovalStateEnum.PASSED.getValue().equals(item.getBizApproveState())).toList(); | ||
587 | if (ObjectUtils.isNotEmpty(passChangeApproves)) { | ||
588 | List<ChangeApproveBean> beanList = getChangeBeanList(passChangeApproves); | ||
589 | try { | ||
590 | if(CollectionUtils.isEmpty(ChangeInfoUtil.areaList)){ | ||
591 | ChangeInfoUtil.areaList = configureFeign.getBoroughCodeName().getData(); | ||
592 | } | ||
593 | enterpriseRSVO.setChangeList(ChangeInfoUtil.getChangeList(beanList)); | ||
594 | } catch (IllegalAccessException e) { | ||
595 | e.printStackTrace(); | ||
596 | } | ||
597 | } | ||
598 | |||
599 | return enterpriseRSVO; | ||
533 | } | 600 | } |
534 | 601 | ||
535 | private void checkUser(String logonUser){ | 602 | @Override |
536 | UserQueryDTO dto = new UserQueryDTO(); | 603 | public Boolean check(EnterpriseRQVO vo) { |
537 | dto.setLogonUser(logonUser); | 604 | String tenantName = personelFeign.getAllTenantGuidNameMap().getData().get(vo.getTenantGuid()); |
538 | List<UserVO> userList = userFeign.getUserSomeInfo(dto).getData().getRecords(); | 605 | TenantRQVO tenant = csbrBeanUtil.convert(vo,TenantRQVO.class); |
539 | if(CollectionUtils.isNotEmpty(userList)){ | 606 | if("非认证会员".equals(tenantName)){ |
540 | StaffRSVO staffVO = personelFeign.getByUserGuid(userList.get(0).getGuid()).getData(); | 607 | tenant.setGuid(null); |
541 | if(staffVO != null && StringUtils.isNotBlank(staffVO.getIsAdmin()) && "Y".equals(staffVO.getIsAdmin())){ | ||
542 | throw new CsbrUserException(UserError.VALIDATE_CODE_ERROR, "账号已存在!"); | ||
543 | } | 608 | } |
609 | else{ | ||
610 | tenant.setGuid(vo.getTenantGuid()); | ||
544 | } | 611 | } |
612 | personelFeign.checkTenant(tenant); | ||
613 | return true; | ||
545 | } | 614 | } |
546 | 615 | ||
547 | /** | 616 | /** |
548 | * 获取发起流程参数 | 617 | * 获取发起流程参数 |
549 | * @author xcq | 618 | * |
550 | * @date 2024-12-26 16:18 | ||
551 | * @param entity | 619 | * @param entity |
620 | * @param rqVO | ||
552 | * @return com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO | 621 | * @return com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO |
622 | * @author xcq | ||
623 | * @date 2024-12-26 16:18 | ||
553 | */ | 624 | */ |
554 | private AddApprovalDTO getAddApprovalDTO(MfEnterprise entity) { | 625 | private AddApprovalDTO getAddApprovalDTO(MfEnterprise entity, EnterpriseRQVO rqVO) { |
555 | AddApprovalDTO approvalDTO = new AddApprovalDTO(WorkFlowBizEnum.ENTERPRISE_APPLY.getValue(), entity.getGuid()); | 626 | AddApprovalDTO approvalDTO = new AddApprovalDTO(WorkFlowBizEnum.ENTERPRISE_APPLY.getValue(), entity.getGuid()); |
556 | // todo | 627 | approvalDTO.setFuncCode(SysFuncCode); |
557 | approvalDTO.setFuncCode("QYRZ"); | 628 | approvalDTO.setUrlParam(String.format("guid=%s&name=%s&tName=%s&fType=%s&bizGuid=%s&type=detail", entity.getGuid(), entity.getTenantName(), |
629 | entity.getTenantName(), WorkFlowBizEnum.ENTERPRISE_APPLY.getValue(), entity.getGuid())); | ||
558 | // 流程消息中的变量替换参数 | 630 | // 流程消息中的变量替换参数 |
559 | approvalDTO.setFlowMessageBody(null); | 631 | approvalDTO.setFlowMessageBody(entity.getTenantName()); |
560 | // 流程列表数据核心param参数处理 | 632 | // 流程列表数据核心param参数处理 |
561 | approvalDTO.setParam1(entity.getTenantName()); | 633 | approvalDTO.setParam1(entity.getTenantName()); |
562 | approvalDTO.setParam2(entity.getTenantType()); | 634 | approvalDTO.setParam2(entity.getTenantType()); |
563 | approvalDTO.setParam3(entity.getSocialCreditCode()); | 635 | approvalDTO.setParam3(entity.getSocialCreditCode()); |
564 | approvalDTO.setParam4(String.format("%s_%s_%s",entity.getJuridicalPerson(),entity.getContacts(),entity.getContactTel())); | 636 | approvalDTO.setParam4(String.format("%s_%s_%s",entity.getJuridicalPerson(),entity.getContacts(),entity.getContactTel())); |
565 | 637 | ||
638 | // 增加跨服务审批字段 | ||
639 | rqVO.setGuid(entity.getGuid()); | ||
640 | approvalDTO.setBizData(JSON.toJSONString(rqVO)); | ||
641 | |||
566 | return approvalDTO; | 642 | return approvalDTO; |
567 | } | 643 | } |
568 | 644 | ||
645 | |||
646 | |||
569 | /** | 647 | /** |
570 | * 企业信息新新增前置处理 | 648 | * 企业信息新新增前置处理 |
571 | * @author xcq | 649 | * @author xcq |
... | @@ -657,11 +735,11 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -657,11 +735,11 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
657 | //endregion 2.2.业务数据验证 | 735 | //endregion 2.2.业务数据验证 |
658 | 736 | ||
659 | //endregion 2.数据验证特殊处理 | 737 | //endregion 2.数据验证特殊处理 |
738 | rqVO.setBizApproveState(entity.getBizApproveState()); | ||
660 | 739 | ||
661 | //region 3.数据转换处理 | 740 | //region 3.数据转换处理 |
662 | 741 | ||
663 | //region 3.1.数据过程转换 | 742 | //region 3.1.数据过程转换 |
664 | rqVO.setBizApproveState(entity.getBizApproveState()); | ||
665 | //endregion 3.1.数据过程转换 | 743 | //endregion 3.1.数据过程转换 |
666 | 744 | ||
667 | //endregion 3.数据转换处理 | 745 | //endregion 3.数据转换处理 |
... | @@ -803,8 +881,11 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -803,8 +881,11 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
803 | EnterpriseRSVO vo = csbrBeanUtil.convert(entity, EnterpriseRSVO.class); | 881 | EnterpriseRSVO vo = csbrBeanUtil.convert(entity, EnterpriseRSVO.class); |
804 | //流程数据处理 | 882 | //流程数据处理 |
805 | vo.setApproveVO(approvalFlowUtil.getApprovalCrossTenantInfo(entity.getGuid())); | 883 | vo.setApproveVO(approvalFlowUtil.getApprovalCrossTenantInfo(entity.getGuid())); |
806 | vo.setVenue(getVenue(vo.getProvince(),vo.getCity(),vo.getDistrict())); | 884 | if(CollectionUtils.isEmpty(ChangeInfoUtil.areaList)){ |
807 | vo.setBusinessLicenseStartEnd(getStartEnd(vo.getBusinessLicenseTerm(),vo.getBusinessLicenseStartDate(),vo.getBusinessLicenseEndDate())); | 885 | ChangeInfoUtil.areaList = configureFeign.getBoroughCodeName().getData(); |
886 | } | ||
887 | vo.setVenue(ChangeInfoUtil.getVenue(vo.getProvince(),vo.getCity(),vo.getDistrict())); | ||
888 | vo.setBusinessLicenseStartEnd(ChangeInfoUtil.getStartEnd(vo.getBusinessLicenseTerm(),vo.getBusinessLicenseStartDate(),vo.getBusinessLicenseEndDate())); | ||
808 | return vo; | 889 | return vo; |
809 | } | 890 | } |
810 | 891 | ... | ... |
... | @@ -202,9 +202,9 @@ public class ServicerMaintainServiceImpl extends FlowAbstractImpl implements Ser | ... | @@ -202,9 +202,9 @@ public class ServicerMaintainServiceImpl extends FlowAbstractImpl implements Ser |
202 | * @return void | 202 | * @return void |
203 | */ | 203 | */ |
204 | private void againSubmitFlow(MfServicerMaintain entity, ServicerMaintainRQVO rqVO, AddApprovalDTO approvalDTO) { | 204 | private void againSubmitFlow(MfServicerMaintain entity, ServicerMaintainRQVO rqVO, AddApprovalDTO approvalDTO) { |
205 | // 重新提交的数据重置相关字段 | ||
206 | entity.setGuid(CommonUtil.newGuid()); | 205 | entity.setGuid(CommonUtil.newGuid()); |
207 | mfServicerMaintainService.csbrBaseEntity(entity); | 206 | mfServicerMaintainService.csbrBaseEntity(entity); |
207 | entity.setBizApproveState("A"); | ||
208 | // 保存新数据 | 208 | // 保存新数据 |
209 | boolean flag = mfServicerMaintainService.save(entity); | 209 | boolean flag = mfServicerMaintainService.save(entity); |
210 | if (!flag) { | 210 | if (!flag) { |
... | @@ -284,7 +284,7 @@ public class ServicerMaintainServiceImpl extends FlowAbstractImpl implements Ser | ... | @@ -284,7 +284,7 @@ public class ServicerMaintainServiceImpl extends FlowAbstractImpl implements Ser |
284 | // todo | 284 | // todo |
285 | approvalDTO.setFuncCode("FWSWH"); | 285 | approvalDTO.setFuncCode("FWSWH"); |
286 | // 流程消息中的变量替换参数 | 286 | // 流程消息中的变量替换参数 |
287 | approvalDTO.setFlowMessageBody(null); | 287 | approvalDTO.setFlowMessageBody(String.format("%s,%s",entity.getCreateUserName(),entity.getTenantName())); |
288 | // 流程列表数据核心param参数处理 | 288 | // 流程列表数据核心param参数处理 |
289 | approvalDTO.setParam1(null); | 289 | approvalDTO.setParam1(null); |
290 | approvalDTO.setParam2(null); | 290 | approvalDTO.setParam2(null); |
... | @@ -388,7 +388,6 @@ public class ServicerMaintainServiceImpl extends FlowAbstractImpl implements Ser | ... | @@ -388,7 +388,6 @@ public class ServicerMaintainServiceImpl extends FlowAbstractImpl implements Ser |
388 | //region 3.数据转换处理 | 388 | //region 3.数据转换处理 |
389 | 389 | ||
390 | //region 3.1.数据过程转换 | 390 | //region 3.1.数据过程转换 |
391 | rqVO.setBizApproveState(entity.getBizApproveState()); | ||
392 | //endregion 3.1.数据过程转换 | 391 | //endregion 3.1.数据过程转换 |
393 | 392 | ||
394 | //endregion 3.数据转换处理 | 393 | //endregion 3.数据转换处理 | ... | ... |
1 | package com.csbr.qingcloud.portal.util; | ||
2 | |||
3 | import com.csbr.cloud.common.util.CommonUtil; | ||
4 | import com.csbr.cloud.common.util.CsbrBeanUtil; | ||
5 | import com.csbr.qingcloud.portal.domain.vo.BoroughPOJO; | ||
6 | import com.csbr.qingcloud.portal.domain.vo.ChangeInfoVO; | ||
7 | import com.csbr.qingcloud.portal.domain.vo.CompareResult; | ||
8 | import com.csbr.qingcloud.portal.feign.ConfigureFeign; | ||
9 | import com.csbr.qingcloud.portal.service.impl.EnterpriseServiceImpl; | ||
10 | import jakarta.annotation.Resource; | ||
11 | import org.apache.commons.collections.CollectionUtils; | ||
12 | import org.apache.commons.lang3.StringUtils; | ||
13 | import org.springframework.stereotype.Component; | ||
14 | |||
15 | import java.math.BigDecimal; | ||
16 | import java.math.RoundingMode; | ||
17 | import java.util.ArrayList; | ||
18 | import java.util.Comparator; | ||
19 | import java.util.Date; | ||
20 | import java.util.List; | ||
21 | import java.util.stream.Collectors; | ||
22 | |||
23 | @Component | ||
24 | public class ChangeInfoUtil { | ||
25 | |||
26 | public static List<BoroughPOJO> areaList; | ||
27 | |||
28 | /** 计算变更信息 */ | ||
29 | public static List<ChangeInfoVO> getChangeList(List<EnterpriseServiceImpl.ChangeApproveBean> beanList) throws IllegalAccessException { | ||
30 | List<ChangeInfoVO> list = new ArrayList<>(); | ||
31 | //循环对比每组记录生来变更内容 | ||
32 | for(EnterpriseServiceImpl.ChangeApproveBean item : beanList){ | ||
33 | if(item.oldBean == null || item.newBean == null){ | ||
34 | continue; | ||
35 | } | ||
36 | List<CompareResult> diffList = ObjectUtil.getBeanDiff(item.oldBean,item.newBean); | ||
37 | getVenueResult(item,list); | ||
38 | getStartEndResult(item,list); | ||
39 | getRegistrationDateResult(item,list); | ||
40 | getRegisteredCapitalResult(item,list); | ||
41 | for(CompareResult diffItem : diffList){ | ||
42 | if(diffItem.getFieldComment().contains("审批状态") || diffItem.getFieldComment().contains("营业执照") | ||
43 | || diffItem.getFieldComment().contains("法人证件照") || diffItem.getFieldComment().contains("管理员证件照") | ||
44 | || diffItem.getFieldComment().contains("授权委托书") || diffItem.getFieldComment().contains("省") | ||
45 | || diffItem.getFieldComment().contains("市") || diffItem.getFieldComment().contains("区") | ||
46 | || diffItem.getFieldComment().contains("营业开始日期") || diffItem.getFieldComment().contains("营业结束日期") | ||
47 | || diffItem.getFieldComment().contains("注册日期") || diffItem.getFieldComment().contains("注册资本")){ | ||
48 | continue; | ||
49 | } | ||
50 | list.add(getChangeInfoVO(item,diffItem)); | ||
51 | } | ||
52 | } | ||
53 | list = list.stream().sorted(Comparator.comparing(ChangeInfoVO::getNameEn).thenComparing(ChangeInfoVO::getDate).reversed()).collect(Collectors.toList()); | ||
54 | return list; | ||
55 | } | ||
56 | |||
57 | private static ChangeInfoVO getChangeInfoVO(EnterpriseServiceImpl.ChangeApproveBean item,CompareResult diffItem){ | ||
58 | ChangeInfoVO vo = new ChangeInfoVO(); | ||
59 | vo.setNameEn(diffItem.getFieldName()); | ||
60 | vo.setName(diffItem.getFieldComment()); | ||
61 | vo.setDate(DateUtil.getDateToString(item.oldBean.getCreateTime())); | ||
62 | vo.setBefore(diffItem.getOldValue() == null ? "" : diffItem.getOldValue().toString()); | ||
63 | vo.setAfter(diffItem.getNewValue() == null ? "" : diffItem.getNewValue().toString()); | ||
64 | vo.setGuid(CommonUtil.newGuid()); | ||
65 | return vo; | ||
66 | } | ||
67 | |||
68 | private static void getRegisteredCapitalResult(EnterpriseServiceImpl.ChangeApproveBean item, List<ChangeInfoVO> list) { | ||
69 | String oldValue = getRegisteredCapital(item.oldBean.getRegisteredCapital()); | ||
70 | String newValue = getRegisteredCapital(item.newBean.getRegisteredCapital()); | ||
71 | if(!oldValue.equals(newValue)){ | ||
72 | list.add(getChangeInfoVO(item,getCompareResult("注册资本","registeredCapital",oldValue,newValue))); | ||
73 | } | ||
74 | } | ||
75 | |||
76 | private static String getRegisteredCapital(BigDecimal v) { | ||
77 | if(v == null){ | ||
78 | return ""; | ||
79 | } | ||
80 | return v.setScale(2, RoundingMode.HALF_DOWN).toString(); | ||
81 | } | ||
82 | |||
83 | public static void getVenueResult(EnterpriseServiceImpl.ChangeApproveBean item, List<ChangeInfoVO> list) { | ||
84 | String oldValue = getVenue(item.oldBean.getProvince(),item.oldBean.getCity(),item.oldBean.getDistrict()); | ||
85 | String newValue = getVenue(item.newBean.getProvince(),item.newBean.getCity(),item.newBean.getDistrict()); | ||
86 | if(!oldValue.equals(newValue)){ | ||
87 | list.add(getChangeInfoVO(item,getCompareResult("注册地","venue",oldValue,newValue))); | ||
88 | } | ||
89 | } | ||
90 | |||
91 | public static void getRegistrationDateResult(EnterpriseServiceImpl.ChangeApproveBean item, List<ChangeInfoVO> list) { | ||
92 | String oldValue = getRegistrationDate(item.oldBean.getRegistrationDate()); | ||
93 | String newValue = getRegistrationDate(item.newBean.getRegistrationDate()); | ||
94 | if(!oldValue.equals(newValue)){ | ||
95 | list.add(getChangeInfoVO(item,getCompareResult("注册日期","registrationDate",oldValue,newValue))); | ||
96 | } | ||
97 | } | ||
98 | |||
99 | private static String getRegistrationDate(Date date) { | ||
100 | return DateUtil.getShortDateToString(date); | ||
101 | } | ||
102 | |||
103 | private static CompareResult getCompareResult(String comment,String name,String oldVenue,String newVenue){ | ||
104 | CompareResult result = new CompareResult(); | ||
105 | result.setFieldComment(comment); | ||
106 | result.setFieldName(name); | ||
107 | result.setOldValue(oldVenue); | ||
108 | result.setNewValue(newVenue); | ||
109 | return result; | ||
110 | } | ||
111 | |||
112 | public static void getStartEndResult(EnterpriseServiceImpl.ChangeApproveBean item, List<ChangeInfoVO> list) { | ||
113 | String oldValue = getStartEnd(item.oldBean.getBusinessLicenseTerm(),item.oldBean.getBusinessLicenseStartDate(),item.oldBean.getBusinessLicenseEndDate()); | ||
114 | String newValue = getStartEnd(item.newBean.getBusinessLicenseTerm(),item.newBean.getBusinessLicenseStartDate(),item.newBean.getBusinessLicenseEndDate()); | ||
115 | if(!oldValue.equals(newValue)){ | ||
116 | list.add(getChangeInfoVO(item,getCompareResult("营业期限","businessLicenseStartEnd",oldValue,newValue))); | ||
117 | } | ||
118 | } | ||
119 | |||
120 | public static String getVenue(String province, String city, String district) { | ||
121 | if(StringUtils.isBlank(district)){ | ||
122 | return String.format("%s/%s",getName(province),getName(city)); | ||
123 | } | ||
124 | else{ | ||
125 | return String.format("%s/%s/%s",getName(province),getName(city),getName(district)); | ||
126 | } | ||
127 | } | ||
128 | |||
129 | private static String getName(String code){ | ||
130 | List<String> names = areaList.stream().filter(x->x.getCode().equals(code)).map(BoroughPOJO::getName).collect(Collectors.toList()); | ||
131 | if(CollectionUtils.isEmpty(names)){ | ||
132 | return ""; | ||
133 | } | ||
134 | return names.get(0); | ||
135 | } | ||
136 | |||
137 | |||
138 | public static String getStartEnd(String businessLicenseTerm, Date businessLicenseStartDate, Date businessLicenseEndDate) { | ||
139 | if("1".equals(businessLicenseTerm)){ | ||
140 | return "长期有效"; | ||
141 | } | ||
142 | return String.format("%s至%s",DateUtil.getShortDateToString(businessLicenseStartDate),DateUtil.getShortDateToString(businessLicenseEndDate)); | ||
143 | } | ||
144 | |||
145 | } |
1 | package com.csbr.qingcloud.portal.util; | ||
2 | |||
3 | import java.text.SimpleDateFormat; | ||
4 | import java.time.LocalDateTime; | ||
5 | import java.time.ZoneId; | ||
6 | import java.util.Date; | ||
7 | |||
8 | public class DateUtil { | ||
9 | |||
10 | /** 时间相差多少天 无视小时 */ | ||
11 | public static int getDiffDay(Date one, Date two) { | ||
12 | if(one == null || two == null){ | ||
13 | return 0; | ||
14 | } | ||
15 | one = getDateByString(getShortDateToString(one)); | ||
16 | two = getDateByString(getShortDateToString(two)); | ||
17 | long difference = (one.getTime() - two.getTime()) / 86400000; | ||
18 | return (int) Math.abs(difference); | ||
19 | } | ||
20 | |||
21 | /** 字符串时间转日期 */ | ||
22 | public static Date getDateByString(String time){ | ||
23 | try { | ||
24 | return new SimpleDateFormat("yyyy-MM-dd").parse(time); | ||
25 | } catch (Exception e) { | ||
26 | return new Date(); | ||
27 | } | ||
28 | } | ||
29 | |||
30 | /** 时间转字符串 */ | ||
31 | public static String getDateToString(Date time){ | ||
32 | if(time == null) { | ||
33 | return ""; | ||
34 | } | ||
35 | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(time); | ||
36 | } | ||
37 | |||
38 | /** 时间转字符串 */ | ||
39 | public static String getShortDateToString(Date time){ | ||
40 | if(time == null) { | ||
41 | return ""; | ||
42 | } | ||
43 | return new SimpleDateFormat("yyyy-MM-dd").format(time); | ||
44 | } | ||
45 | |||
46 | /** 时间转本地时间 */ | ||
47 | public static LocalDateTime getDateToLocal(Date time){ | ||
48 | if(time == null) { | ||
49 | return null; | ||
50 | } | ||
51 | return time.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); | ||
52 | } | ||
53 | |||
54 | /** 字符串时间转日期 */ | ||
55 | public static Date getShortDate(Date time){ | ||
56 | if(time == null) { | ||
57 | return null; | ||
58 | } | ||
59 | try { | ||
60 | return new SimpleDateFormat("yyyy-MM-dd").parse(getShortDateToString(time)); | ||
61 | } catch (Exception e) { | ||
62 | return new Date(); | ||
63 | } | ||
64 | } | ||
65 | |||
66 | } |
1 | package com.csbr.qingcloud.portal.util; | ||
2 | |||
3 | import com.alibaba.fastjson.JSON; | ||
4 | import com.alibaba.fastjson.JSONObject; | ||
5 | import com.csbr.cloud.common.enums.SystemError; | ||
6 | import com.csbr.cloud.common.exception.CsbrSystemException; | ||
7 | import com.csbr.cloud.common.response.CommonRes; | ||
8 | import lombok.extern.slf4j.Slf4j; | ||
9 | import org.apache.hc.client5.http.config.RequestConfig; | ||
10 | import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; | ||
11 | import org.apache.hc.client5.http.impl.classic.HttpClientBuilder; | ||
12 | import org.apache.hc.core5.util.Timeout; | ||
13 | import org.springframework.beans.factory.annotation.Autowired; | ||
14 | import org.springframework.http.HttpEntity; | ||
15 | import org.springframework.http.HttpHeaders; | ||
16 | import org.springframework.http.MediaType; | ||
17 | import org.springframework.http.client.ClientHttpRequestFactory; | ||
18 | import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; | ||
19 | import org.springframework.stereotype.Component; | ||
20 | import org.springframework.web.client.RestTemplate; | ||
21 | |||
22 | /** | ||
23 | * @program: daop-projects | ||
24 | * @description: | ||
25 | * @author: xiaojie | ||
26 | * @create: 2025-03-13 14:52 | ||
27 | **/ | ||
28 | @Component | ||
29 | @Slf4j | ||
30 | public class InvokeUtil { | ||
31 | |||
32 | @Autowired | ||
33 | private RestTemplate restTemplate; | ||
34 | |||
35 | /** | ||
36 | * open调用接口 | ||
37 | * @param jsonObject | ||
38 | * @param appKey | ||
39 | * @param zqDelUrl | ||
40 | */ | ||
41 | public void invokeMainDel(JSONObject jsonObject, String appKey, String zqDelUrl) { | ||
42 | HttpHeaders headers = new HttpHeaders(); | ||
43 | headers.setContentType(MediaType.APPLICATION_JSON); | ||
44 | headers.set("appKey", appKey); | ||
45 | HttpEntity<JSONObject> requestEntity = new HttpEntity<>(jsonObject, headers); | ||
46 | restTemplate.setRequestFactory(getFactory()); | ||
47 | CommonRes commonRes = restTemplate.postForObject(zqDelUrl, requestEntity, CommonRes.class); | ||
48 | if (!CommonRes.success().getCode().equals(commonRes.getCode())) { | ||
49 | throw new CsbrSystemException(SystemError.ERROR_CODE, commonRes.getMsg()); | ||
50 | } else { | ||
51 | CommonRes commonResData = JSON.parseObject(String.valueOf(commonRes.getData()), CommonRes.class); | ||
52 | if (!CommonRes.success().getCode().equals(commonResData.getCode())) { | ||
53 | throw new CsbrSystemException(SystemError.ERROR_CODE, commonResData.getMsg()); | ||
54 | } | ||
55 | } | ||
56 | } | ||
57 | |||
58 | private ClientHttpRequestFactory getFactory() { | ||
59 | RequestConfig config = RequestConfig.custom() | ||
60 | .setConnectTimeout(Timeout.ofSeconds(5000)) // 连接超时 | ||
61 | .setConnectionRequestTimeout(Timeout.ofSeconds(5000)) // 从连接池获取连接的超时时间 | ||
62 | .setResponseTimeout(Timeout.ofSeconds(10000)) // 数据读取超时 | ||
63 | .build(); | ||
64 | |||
65 | CloseableHttpClient httpClient = HttpClientBuilder.create() | ||
66 | .setDefaultRequestConfig(config) | ||
67 | .build(); | ||
68 | |||
69 | return new HttpComponentsClientHttpRequestFactory(httpClient); | ||
70 | } | ||
71 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -58,8 +58,8 @@ public class ObjectUtil { | ... | @@ -58,8 +58,8 @@ public class ObjectUtil { |
58 | r.setFieldComment(""); | 58 | r.setFieldComment(""); |
59 | } | 59 | } |
60 | if (oldField.getType() == Date.class) { | 60 | if (oldField.getType() == Date.class) { |
61 | r.setOldValue(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format((Date) oldField.get(oldObj))); | 61 | r.setOldValue(DateUtil.getDateToString((Date)oldField.get(oldObj))); |
62 | r.setNewValue(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format((Date) newField.get(newObj))); | 62 | r.setNewValue(DateUtil.getDateToString((Date)oldField.get(newObj))); |
63 | } | 63 | } |
64 | return r; | 64 | return r; |
65 | } | 65 | } | ... | ... |
1 | package com.csbr.qingcloud.portal.util; | ||
2 | |||
3 | import lombok.Data; | ||
4 | import org.springframework.boot.context.properties.ConfigurationProperties; | ||
5 | import org.springframework.stereotype.Component; | ||
6 | |||
7 | /** | ||
8 | * @program: daop-projects | ||
9 | * @description: | ||
10 | * @author: xiaojie | ||
11 | * @create: 2025-02-28 14:09 | ||
12 | **/ | ||
13 | @Data | ||
14 | @Component | ||
15 | @ConfigurationProperties(prefix = "csbr.zq") | ||
16 | public class ZQConfig { | ||
17 | |||
18 | private String appKey = "672c2c38e4b0cac8732a6106"; | ||
19 | |||
20 | private String zqName = ""; | ||
21 | |||
22 | private String zqDelUrl = ""; | ||
23 | |||
24 | private Boolean isMain = false; | ||
25 | |||
26 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -5,7 +5,7 @@ spring: | ... | @@ -5,7 +5,7 @@ spring: |
5 | nacos: | 5 | nacos: |
6 | #配置中心 | 6 | #配置中心 |
7 | config: | 7 | config: |
8 | server-addr: nacos-cluster-service-develop.nacos-cluster:8848 | 8 | server-addr: nacos-cluster-service.nacos-cluster:8848 |
9 | file-extension: yaml | 9 | file-extension: yaml |
10 | group: release | 10 | group: release |
11 | namespace: daop-master | 11 | namespace: daop-master |
... | @@ -16,7 +16,7 @@ spring: | ... | @@ -16,7 +16,7 @@ spring: |
16 | #注册中心 | 16 | #注册中心 |
17 | discovery: | 17 | discovery: |
18 | enabled: true | 18 | enabled: true |
19 | server-addr: nacos-cluster-service-develop.nacos-cluster:8848 | 19 | server-addr: nacos-cluster-service.nacos-cluster:8848 |
20 | group: release | 20 | group: release |
21 | namespace: daop-master | 21 | namespace: daop-master |
22 | metadata: | 22 | metadata: | ... | ... |
... | @@ -5,7 +5,7 @@ spring: | ... | @@ -5,7 +5,7 @@ spring: |
5 | nacos: | 5 | nacos: |
6 | #配置中心 | 6 | #配置中心 |
7 | config: | 7 | config: |
8 | server-addr: nacos-cluster-service-develop.nacos-cluster:8848 | 8 | server-addr: nacos-cluster-service.nacos-cluster:8848 |
9 | file-extension: yaml | 9 | file-extension: yaml |
10 | group: release | 10 | group: release |
11 | namespace: daop-lt | 11 | namespace: daop-lt |
... | @@ -16,7 +16,7 @@ spring: | ... | @@ -16,7 +16,7 @@ spring: |
16 | #注册中心 | 16 | #注册中心 |
17 | discovery: | 17 | discovery: |
18 | enabled: true | 18 | enabled: true |
19 | server-addr: nacos-cluster-service-develop.nacos-cluster:8848 | 19 | server-addr: nacos-cluster-service.nacos-cluster:8848 |
20 | group: release | 20 | group: release |
21 | namespace: daop-lt | 21 | namespace: daop-lt |
22 | metadata: | 22 | metadata: | ... | ... |
-
Please register or sign in to post a comment