From 84cc4678e46328ebc6ec0bfdb2e2dfa954b93f66 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 19 五月 2025 18:58:39 +0800
Subject: [PATCH] git ch
---
server/service/src/main/java/com/doumee/dao/business/dto/RiskConfigDTO.java | 2
server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java | 19
server/service/src/main/java/com/doumee/service/business/SettleClaimsService.java | 101 ++++
server/service/src/main/java/com/doumee/dao/business/dto/SaveSupplementDescribeDTO.java | 26 +
server/service/src/main/java/com/doumee/dao/business/dto/CompensationDTO.java | 15
server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java | 635 ++++++++++++++++++++++++++++
server/service/src/main/java/com/doumee/dao/business/dto/AcceptanceSettleClaimsDTO.java | 24 +
server/service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java | 4
/dev/null | 53 --
server/service/src/main/java/com/doumee/dao/business/vo/CompensationVO.java | 27 +
server/platform/src/main/java/com/doumee/api/business/SettleRiskController.java | 152 ++++++
server/service/src/main/java/com/doumee/core/utils/Constants.java | 90 +++
server/service/src/main/java/com/doumee/dao/business/dto/OptSettleClaimsDTO.java | 29 +
server/service/src/main/java/com/doumee/dao/business/dto/DiscussAuditDTO.java | 18
server/service/src/main/java/com/doumee/dao/business/vo/RiskConfigVO.java | 4
server/company/src/main/java/com/doumee/api/business/SettleRiskController.java | 71 +++
16 files changed, 1,193 insertions(+), 77 deletions(-)
diff --git a/server/company/src/main/java/com/doumee/api/business/SettleRiskController.java b/server/company/src/main/java/com/doumee/api/business/SettleRiskController.java
new file mode 100644
index 0000000..29fefa0
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/api/business/SettleRiskController.java
@@ -0,0 +1,71 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.dao.business.dto.CompensationDTO;
+import com.doumee.dao.business.dto.OptSettleClaimsDTO;
+import com.doumee.dao.business.dto.SaveSupplementDescribeDTO;
+import com.doumee.dao.business.dto.SettleClaimsDTO;
+import com.doumee.service.business.SettleClaimsService;
+import com.doumee.service.system.impl.SystemDictDataServiceImpl;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "鎶ユ鐞嗚禂锛堟柊锛�")
+@RestController
+@RequestMapping("/business/settleRisk")
+public class SettleRiskController extends BaseController {
+
+ @Autowired
+ private SystemDictDataServiceImpl systemDictDataService;
+
+ @Autowired
+ private SettleClaimsService settleClaimsService;
+
+
+ @PreventRepeat
+ @ApiOperation("鐞嗚禂鎶ユ")
+ @PostMapping("/saveSettleClaims")
+ public ApiResponse saveSettleClaims(@RequestBody SettleClaimsDTO settleClaimsDTO) {
+ settleClaimsService.saveSettleClaims(settleClaimsDTO,systemDictDataService);
+ return ApiResponse.success(null);
+ }
+
+
+ @PreventRepeat
+ @ApiOperation("娣诲姞鏉愭枡")
+ @PostMapping("/saveSupplementFile")
+ public ApiResponse saveSupplementFile(@RequestBody SaveSupplementDescribeDTO dto) {
+ settleClaimsService.saveSupplementFile(dto);
+ return ApiResponse.success(null);
+ }
+
+
+
+ @PreventRepeat
+ @ApiOperation("鎾ら攢鎶ユ")
+ @PostMapping("/returnSettle")
+ public ApiResponse returnSettle(@RequestBody OptSettleClaimsDTO dto) {
+ settleClaimsService.returnSettle(dto);
+ return ApiResponse.success(null);
+ }
+
+
+ @PreventRepeat
+ @ApiOperation("纭閲戦")
+ @GetMapping("/confirmFee")
+ public ApiResponse confirmFee(@RequestParam Integer id) {
+ settleClaimsService.confirmFee(id);
+ return ApiResponse.success(null);
+ }
+
+
+
+}
diff --git a/server/platform/src/main/java/com/doumee/api/business/RiskConfigController.java b/server/platform/src/main/java/com/doumee/api/business/RiskConfigController.java
deleted file mode 100644
index 7d529c6..0000000
--- a/server/platform/src/main/java/com/doumee/api/business/RiskConfigController.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageData;
-import com.doumee.core.model.PageWrap;
-import com.doumee.dao.business.dto.RiskConfigDTO;
-import com.doumee.dao.business.model.Insurance;
-import com.doumee.dao.business.vo.RiskConfigVO;
-import com.doumee.service.business.InsuranceService;
-import com.doumee.service.system.SystemDictDataService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2024/01/16 10:03
- */
-@Api(tags = "椋庨櫓閰嶇疆")
-@RestController
-@RequestMapping("/business/riskConfig")
-public class RiskConfigController extends BaseController {
-
- @Autowired
- private SystemDictDataService systemDictDataService;
-
-
- @ApiOperation("鑾峰彇椋庨櫓閰嶇疆")
- @GetMapping("/getRiskConfig")
- public ApiResponse<RiskConfigVO> getRiskConfig() {
- return ApiResponse.success(systemDictDataService.getRiskConfig());
- }
-
-
- @ApiOperation("鏇存柊椋庨櫓閰嶇疆")
- @PostMapping("/updRiskConfig")
- public ApiResponse updRiskConfig(@RequestBody RiskConfigDTO riskConfigDTO) {
- systemDictDataService.updRiskConfig(riskConfigDTO);
- return ApiResponse.success(null);
- }
-
-
-
-}
diff --git a/server/platform/src/main/java/com/doumee/api/business/SettleRiskController.java b/server/platform/src/main/java/com/doumee/api/business/SettleRiskController.java
new file mode 100644
index 0000000..3dbbcce
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/api/business/SettleRiskController.java
@@ -0,0 +1,152 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.dao.business.dto.*;
+import com.doumee.dao.business.vo.CompensationVO;
+import com.doumee.dao.business.vo.RiskConfigVO;
+import com.doumee.service.business.SettleClaimsService;
+import com.doumee.service.system.SystemDictDataService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Api(tags = "鎶ユ鐞嗚禂锛堟柊锛�")
+@RestController
+@RequestMapping("/business/settleRisk")
+public class SettleRiskController extends BaseController {
+
+ @Autowired
+ private SystemDictDataService systemDictDataService;
+
+ @Autowired
+ private SettleClaimsService settleClaimsService;
+
+ @ApiOperation("鑾峰彇椋庨櫓閰嶇疆")
+ @GetMapping("/getRiskConfig")
+ public ApiResponse<RiskConfigVO> getRiskConfig() {
+ return ApiResponse.success(systemDictDataService.getRiskConfig());
+ }
+
+
+ @ApiOperation("鏇存柊椋庨櫓閰嶇疆")
+ @PostMapping("/updRiskConfig")
+ public ApiResponse updRiskConfig(@RequestBody RiskConfigDTO riskConfigDTO) {
+ systemDictDataService.updRiskConfig(riskConfigDTO);
+ return ApiResponse.success(null);
+ }
+
+
+ @PreventRepeat
+ @ApiOperation("琛ュ厖璇存槑")
+ @PostMapping("/saveSupplementDescribe")
+ public ApiResponse saveSupplementDescribe(@RequestBody SaveSupplementDescribeDTO dto) {
+ settleClaimsService.saveSupplementDescribe(dto);
+ return ApiResponse.success(null);
+ }
+
+ @PreventRepeat
+ @ApiOperation("娣诲姞鏉愭枡")
+ @PostMapping("/saveSupplementFile")
+ public ApiResponse saveSupplementFile(@RequestBody SaveSupplementDescribeDTO dto) {
+ settleClaimsService.saveSupplementFile(dto);
+ return ApiResponse.success(null);
+ }
+
+
+ @PreventRepeat
+ @ApiOperation("骞冲彴绔嬫鎴栭��鍥�")
+ @PostMapping("/register")
+ public ApiResponse register(@RequestBody OptSettleClaimsDTO dto) {
+ settleClaimsService.register(dto);
+ return ApiResponse.success(null);
+ }
+
+
+
+ @PreventRepeat
+ @ApiOperation("娣诲姞鎶ユ鍙�")
+ @PostMapping("/addReportNum")
+ public ApiResponse addReportNum(@RequestBody OptSettleClaimsDTO dto) {
+ settleClaimsService.addReportNum(dto);
+ return ApiResponse.success(null);
+ }
+
+
+
+ @PreventRepeat
+ @ApiOperation("娣诲姞澶囨敞")
+ @PostMapping("/addRemark")
+ public ApiResponse addRemark(@RequestBody OptSettleClaimsDTO dto) {
+ settleClaimsService.addRemark(dto);
+ return ApiResponse.success(null);
+ }
+
+
+ @PreventRepeat
+ @ApiOperation("鍙楃悊涓氬姟")
+ @PostMapping("/acceptance")
+ public ApiResponse acceptance(@RequestBody AcceptanceSettleClaimsDTO dto) {
+ settleClaimsService.acceptance(dto);
+ return ApiResponse.success(null);
+ }
+
+
+ @PreventRepeat
+ @ApiOperation("鐞嗚禂璐圭敤椤逛俊鎭�")
+ @GetMapping("/getCompensation")
+ public ApiResponse<List<CompensationVO>> getCompensation(@RequestParam Integer id) {
+ return ApiResponse.success(settleClaimsService.getCompensation(id));
+ }
+
+
+ @PreventRepeat
+ @ApiOperation("鐞嗚禂")
+ @PostMapping("/compensation")
+ public ApiResponse compensation(@RequestBody CompensationDTO dto) {
+ settleClaimsService.compensation(dto);
+ return ApiResponse.success(null);
+ }
+
+
+ @PreventRepeat
+ @ApiOperation("鍟嗚瀹℃壒")
+ @PostMapping("/discussAudit")
+ public ApiResponse discussAudit(@RequestBody DiscussAuditDTO dto) {
+ settleClaimsService.discussAudit(dto);
+ return ApiResponse.success(null);
+ }
+
+
+
+ @PreventRepeat
+ @ApiOperation("鏍歌禂")
+ @PostMapping("/nuclearCompensation")
+ public ApiResponse nuclearCompensation(@RequestBody CompensationDTO dto) {
+ settleClaimsService.nuclearCompensation(dto);
+ return ApiResponse.success(null);
+ }
+
+
+
+ @PreventRepeat
+ @ApiOperation("淇敼閲戦")
+ @PostMapping("/updFee")
+ public ApiResponse updFee(@RequestBody CompensationDTO dto) {
+ settleClaimsService.updFee(dto);
+ return ApiResponse.success(null);
+ }
+
+
+
+
+
+}
diff --git a/server/service/src/main/java/com/doumee/core/utils/Constants.java b/server/service/src/main/java/com/doumee/core/utils/Constants.java
index 51c282c..6c170bd 100644
--- a/server/service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -1937,18 +1937,18 @@
// 8鍟嗚瀹℃壒鎷掔粷 9宸插彈鐞� 10寰呮牳璧� 11宸叉牳璧� 12寰呯粨妗� 13宸茬粨妗� 14宸叉挙妗�
WAIT_ACCEPTANCE(0, "鏆傚瓨涓�"),
RETURN_ACCEPTANCE(1, "宸叉姤妗�"),
- DEAL_ING(2, "寰呯珛妗�"),
+ DEAL_ING(2, "寰呯珛妗� 锛堝純鐢級"),
CONFIRM_INFORMATION(3, "宸茬珛妗�"),
FINISH_ACCEPTANCE(4, "绔嬫閫�鍥�"),
WAIT_DEAL(5, "寰呭彈鐞�"),
REJECT_DEAL(6, "鎷掔粷鍙楃悊"),
WAIT_DISCUSS_AUDIT(7, "寰呭晢璁鎵�"),
WAIT_DISCUSS_REJECT(8, "鍟嗚瀹℃壒鎷掔粷"),
- ACCEPTANCE(9, "宸插彈鐞�"),
+ ACCEPTANCE(9, "宸插彈鐞�"),//寰呯悊绠�
WAIT_AUDIT_COMPENSATION(10, "寰呮牳璧�"),
COMPENSATION(11, "宸叉牳璧�"),
- WAIT_CLOSE_CASE(12, "寰呯粨妗�"),
- CLOSE_CASE(13, "寰呯粨妗�"),
+ WAIT_CLOSE_CASE(12, "寰呯粨妗堬紙寮冪敤锛�"),
+ CLOSE_CASE(13, "宸茬粨妗�"),
RETURN(14, "宸叉挙妗�"),
;
// 鎴愬憳鍙橀噺
@@ -1996,12 +1996,24 @@
PLATFORM_FINISH(3, "缁撴鎻愪氦","鎻愪氦鎰忚锛�${param}"),
UPDATE_DATA(4, "淇敼淇℃伅","鎻愪氦鎰忚锛�${param}"),
SUPPLEMENT(5, "琛ュ厖璇存槑","鎻愪氦鎰忚锛�${param}"),
- PLATFORM_LP_DEAL(6, "骞冲彴鐞嗚禂澶勭悊","鎻愪氦鎰忚锛�${param}"),
+ PLATFORM_LP_DEAL(6, "骞冲彴鐞嗚禂澶勭悊","宸插湪骞冲彴瀹屾垚鐞嗚禂"),
PLATFORM_REMARK(7, "骞冲彴澶囨敞鏍囩","${param}"),
PLATFORM_ADDCODE(8, "骞冲彴娣诲姞鎶ユ鍙�","澶囨鍙凤細${param}"),
PLATFORM_UN_AGREE_BACK(9, "浼佷笟涓嬭浇璧勬枡",""),
PLATFORM_DOWNLOAD(10, "骞冲彴涓嬭浇璧勬枡",""),
PLATFORM_CHECK_PASS(11, "骞冲彴涓婁紶璧勬枡",""),
+ SUPPLEMENT_DESCRIBE(12, "骞冲彴濉啓闇�琛ュ厖鍐呭",""),
+ RETURN_SETTLE(13, "鎾ら攢鎶ユ",""),
+ PLATFORM_REGISTER(14, "骞冲彴绔嬫",""),
+ PLATFORM_ACCEPTANCE(15, "鍙楃悊-宸插彈鐞�",""),
+ PLATFORM_REFUSE_ACCEPTANCE(16, "鍙楃悊-鎷掔粷鍙楃悊","鎷掔粷鍘熷洜锛�${param}"),
+ PLATFORM_DISCUSS(17, "鍙楃悊-鍟嗚",""),
+ PLATFORM_DISCUSS_PASS(18, "鍙楃悊-鍟嗚閫氳繃",""),
+ PLATFORM_DISCUSS_REFUSE(19, "鍙楃悊-鍟嗚鎷掔粷","鎷掔粷鍘熷洜锛�${param}"),
+ PLATFORM_WAIT_DISCUSS(20, "鍙楃悊-鍟嗚寰呭鎵�",""),
+ PLATFORM_HP_DEAL(21, "鏍歌禂-鎻愪氦鏍歌禂閲戦","宸叉彁浜よ禂浠橀噾棰濓紝寰呯敤鎴风‘璁�"),
+ PLATFORM_UPD_FEE(22, "鏍歌禂-淇敼閲戦",""),
+ CONFIRM_FEE(22, "鏍歌禂-瀹㈡埛纭閲戦","宸茬‘璁ら噾棰�"),
;
// 鎴愬憳鍙橀噺
private String name;
@@ -2621,5 +2633,73 @@
}
+ /**
+ * 璧斾粯椤�
+ */
+ public enum compensation{
+ YL_COMPENSATION(0, "鍖荤枟鐞嗚禂",1),
+ WG_COMPENSATION(1, "璇伐鐞嗚禂",1),
+ SC_COMPENSATION(2, "浼ゆ畫鐞嗚禂",1),
+ SW_COMPENSATION(3, "姝讳骸鐞嗚禂",1),
+ HSF_FEE(4, "浼欓璐�",2),
+ XY_FEE(5, "缁尰璐�",2),
+ YY_FEE(6, "钀ュ吇璐�",2),
+ HL_FEE(7, "鎶ょ悊璐�",2),
+ ZDJB_FEE(8, "閲嶅ぇ鐤剧梾璧斿伩閲�",2),
+ TB_FEE(9, "鐗瑰埆璐圭敤",2),
+ ZS_FEE(10, "浣忓璐�",2),
+ JT_FEE(11, "娲ヨ创",2),
+ CJ_FEE(12, "娈嬬柧璧斿伩閲�",2),
+ BFYR_FEE(13, "琚姎鍏讳汉鐢熸椿璐�",2),
+ SCF_FEE(14, "涓ц懍璐�",2),
+ JSFXJ_FEE(15, "绮剧鎶氭仱閲�",2),
+ JD_FEE(16, "閴村畾璐�",2),
+ SS_FEE(17, "璇夎璐�",2),
+ LS_FEE(18, "寰嬪笀璐�",2),
+ TRAFFIC_FEE(19, "浜ら�氳垂",2),
+ CJQJ_FEE(20, "娈嬬柧鍣ㄥ叿璐�",2),
+ QT_FEE(21, "鍏朵粬璐圭敤",2),
+ ;
+ // 鎴愬憳鍙橀噺
+ private String name;
+ private int key;
+ private int type;
+
+ // 鏋勯�犳柟娉�
+ compensation(int key, String name, int type) {
+ this.name = name;
+ this.key = key;
+ this.type = type;
+ }
+
+
+ // get set 鏂规硶
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getKey() {
+ return key;
+ }
+
+ public void setKey(int key) {
+ this.key = key;
+ }
+
+
+ public int getType() {
+ return type;
+ }
+
+ public void setType(int type) {
+ this.type = type;
+ }
+
+ }
+
}
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/AcceptanceSettleClaimsDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/AcceptanceSettleClaimsDTO.java
new file mode 100644
index 0000000..2aee9cc
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/AcceptanceSettleClaimsDTO.java
@@ -0,0 +1,24 @@
+package com.doumee.dao.business.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 瀛樺偍 琛ュ厖璇存槑
+ */
+@Data
+public class AcceptanceSettleClaimsDTO {
+
+ @ApiModelProperty(value = "涓氬姟涓婚敭")
+ private Integer id;
+
+ @ApiModelProperty(value = "0=鍙楃悊锛�1=鎷掔粷鍙楃悊锛�2=鍟嗚瀹℃壒锛�3=鍟嗚涓嶅鎵�")
+ private Integer status;
+
+ @ApiModelProperty(value = "璇存槑銆佸娉�")
+ private String describe;
+
+ @ApiModelProperty(value = "闂绫诲瀷锛氬涓敤鑻辨枃閫楀彿闅斿紑")
+ private String syProblemOpts;
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/CompensationDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/CompensationDTO.java
new file mode 100644
index 0000000..dd47673
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/CompensationDTO.java
@@ -0,0 +1,15 @@
+package com.doumee.dao.business.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class CompensationDTO {
+
+ @ApiModelProperty(value = "涓氬姟涓婚敭")
+ private Integer id;
+
+
+ @ApiModelProperty(value = "鐞嗚禂閲戦json涓�")
+ private String compensationJson;
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/DiscussAuditDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/DiscussAuditDTO.java
new file mode 100644
index 0000000..b7c83bc
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/DiscussAuditDTO.java
@@ -0,0 +1,18 @@
+package com.doumee.dao.business.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class DiscussAuditDTO {
+
+ @ApiModelProperty(value = "涓氬姟涓婚敭")
+ private Integer id;
+
+ @ApiModelProperty(value = "0=瀹℃壒閫氳繃锛�1=瀹℃壒鎷掔粷")
+ private Integer status;
+
+ @ApiModelProperty(value = "璇存槑")
+ private String describe;
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/OptSettleClaimsDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/OptSettleClaimsDTO.java
new file mode 100644
index 0000000..eb37531
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/OptSettleClaimsDTO.java
@@ -0,0 +1,29 @@
+package com.doumee.dao.business.dto;
+
+import com.doumee.dao.business.model.Multifile;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 瀛樺偍 琛ュ厖璇存槑
+ */
+@Data
+public class OptSettleClaimsDTO {
+
+ @ApiModelProperty(value = "涓氬姟涓婚敭")
+ private Integer id;
+
+ @ApiModelProperty(value = "绔嬫涓氬姟鐘舵�侊細3=绔嬫锛�4=绔嬫閫�鍥�")
+ private Integer registerStatus;
+
+ @ApiModelProperty(value = "璇存槑銆佸娉�")
+ private String describe;
+
+ @ApiModelProperty(value = "鎶ユ鍙�")
+ private String reportNum;
+
+ @ApiModelProperty(value = "鍙楃悊涓氬姟鐘舵�侊細9=鍙楃悊锛�6=鎷掔粷鍙楃悊锛�")
+ private Integer acceptanceStatus;
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/RiskConfigDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/RiskConfigDTO.java
index cf4a1ac..42645f9 100644
--- a/server/service/src/main/java/com/doumee/dao/business/dto/RiskConfigDTO.java
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/RiskConfigDTO.java
@@ -26,7 +26,7 @@
@ApiModelProperty(value = "椋庨櫓鎻愰啋璁剧疆-绱㈣禂娆℃暟", example = "1")
private String riskClaimTimes;
@ApiModelProperty(value = "椋庨櫓鎻愰啋璁剧疆-鏂板憳宸ュ嚭闄╂彁閱掓槸鍚﹀紑鍚細0=鍚︼紱1=鏄�;", example = "1")
- private String riskNewMemberOepn;
+ private String riskNewMemberOpen;
@ApiModelProperty(value = "椋庨櫓鎻愰啋璁剧疆-鏂板憳宸ュ嚭闄╂彁閱掓椂闂村崟浣嶏細0鍒嗛挓 1灏忔椂 2澶�", example = "1")
private String riskNewMemberTimeUnit;
@ApiModelProperty(value = "椋庨櫓鎻愰啋璁剧疆-鏂板憳宸ュ嚭闄╂彁閱掓椂闂�", example = "1")
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/SaveSupplementDescribeDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/SaveSupplementDescribeDTO.java
new file mode 100644
index 0000000..bcfc870
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/SaveSupplementDescribeDTO.java
@@ -0,0 +1,26 @@
+package com.doumee.dao.business.dto;
+
+import com.doumee.dao.business.model.Multifile;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 瀛樺偍 琛ュ厖璇存槑
+ */
+@Data
+public class SaveSupplementDescribeDTO {
+
+ @ApiModelProperty(value = "涓氬姟涓婚敭")
+ private Integer id;
+
+ @ApiModelProperty(value = "琛ュ厖璇存槑")
+ private String describe;
+
+ @ApiModelProperty(value = "琛ュ厖璇存槑鏂囦欢")
+ private List<Multifile> supplementFileList;
+
+
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java b/server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java
index d88ad9c..c82e50e 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java
@@ -105,8 +105,8 @@
@ExcelColumn(name="鍗曞彿")
private String code;
- @ApiModelProperty(value = "鐘舵�� 寮冪敤(0寰呭彈鐞嗭紙澶勭悊涓級 1閫�鍥炲彈鐞嗭紙宸叉挙妗堬級2鍙楃悊涓� 3纭璧勬枡锛堝鐞嗕腑锛� 4瀹屾垚鍙楃悊锛堝凡缁撴锛�) 5寰呭彈鐞� 6鍙楃悊閫�鍥� 7寰呭晢璁� 8鍟嗚寰呭鎵� 9鍟嗚瀹℃壒鎷掔粷 10宸插彈鐞�", example = "1")
- @ExcelColumn(name="鐘舵�� 0寰呭彈鐞嗭紙澶勭悊涓級 1閫�鍥炲彈鐞嗭紙宸叉挙妗堬級 2纭璧勬枡锛堝鐞嗕腑锛� 3瀹屾垚鍙楃悊锛堝凡缁撴锛�")
+ @ApiModelProperty(value = "鐘舵�� 0鏆傚瓨涓� 1宸叉姤妗� 2寰呯珛妗� 3宸茬珛妗� 4绔嬫閫�鍥� 5寰呭彈鐞� 6鎷掔粷鍙楃悊 7鍟嗚寰呭鎵� 8鍟嗚瀹℃壒鎷掔粷 9宸插彈鐞� 10寰呮牳璧� 11宸叉牳璧� 12寰呯粨妗� 13宸茬粨妗� 14宸叉挙妗�", example = "1")
+ @ExcelColumn(name="鐘舵�� 0鏆傚瓨涓� 1宸叉姤妗� 2寰呯珛妗� 3宸茬珛妗� 4绔嬫閫�鍥� 5寰呭彈鐞� 6鎷掔粷鍙楃悊 7鍟嗚寰呭鎵� 8鍟嗚瀹℃壒鎷掔粷 9宸插彈鐞� 10寰呮牳璧� 11宸叉牳璧� 12寰呯粨妗� 13宸茬粨妗� 14宸叉挙妗�")
private Integer status;
@ApiModelProperty(value = "浜嬫晠绫诲瀷 0宸ヤ綔鏈熼棿鍙椾激 1涓婁笅鐝�斾腑鍙椾激 2闈炲伐浣滄椂闂村彈浼� 3鎰忓鍙椾激", example = "1")
@@ -177,7 +177,7 @@
@ApiModelProperty(value = "鐞嗚禂鏉ユ簮 0浼佷笟 1骞冲彴褰曞叆 2鍏朵粬 ")
@ExcelColumn(name="鐞嗚禂鏉ユ簮 0浼佷笟 1骞冲彴褰曞叆 2鍏朵粬")
private String origin;
- @ApiModelProperty(value = "鍙楃悊鍟嗚闂 0璧勬枡缂哄け锛�1寤惰繜鎶ユ 2瓒呰亴涓氱被鍒� 3鍏朵粬锛堝涓敤鑻辨枃閫楀彿闅斿紑锛�")
+ @ApiModelProperty(value = "鍙楃悊鍟嗚闂 0璧勬枡缂哄け锛�1寤惰繜鎶ユ 2瓒呰亴涓氱被鍒� 3鍙屽厤 4鍏朵粬 锛堝涓敤鑻辨枃閫楀彿闅斿紑锛�")
@ExcelColumn(name="鍙楃悊鍟嗚闂 0璧勬枡缂哄け锛�1寤惰繜鎶ユ 2瓒呰亴涓氱被鍒� 3鍏朵粬锛堝涓敤鑻辨枃閫楀彿闅斿紑锛�")
private String syProblemOpts;
@ApiModelProperty(value = "鏄惁椋庨櫓妗堜欢 0鍚� 1鏄�")
@@ -206,7 +206,7 @@
private String accountContent;
@ApiModelProperty(value = "鍏朵粬璧斾粯椤规�婚")
@ExcelColumn(name="鍏朵粬璧斾粯椤规�婚")
- private String otherAccount;
+ private BigDecimal otherAccount;
@ApiModelProperty(value = "鏄惁鍙禂浠樺尰淇濆鐢ㄨ嵂")
@ExcelColumn(name="鏄惁鍙禂浠樺尰淇濆鐢ㄨ嵂")
private String payForYbwyy;
@@ -226,9 +226,12 @@
@ExcelColumn(name="鏀舵璐︽埛")
private String receiveAccount;
+ @ApiModelProperty(value = "椋庨櫓淇℃伅闆嗗悎")
+ private String riskContent;
-
+ @ApiModelProperty(value = "鏄惁寰呰ˉ鍏呮潗鏂�:0=鍚︼紱1=鏄�")
+ private Integer waitSupplement;
@ApiModelProperty(value = "淇濋櫓鍗曢檮浠�")
@@ -258,6 +261,12 @@
@TableField(exist = false)
private List<Multifile> compensationFileList;
+
+ @ApiModelProperty(value = "鍏朵粬璧勬枡")
+ @TableField(exist = false)
+ private List<Multifile> otherFileList;
+
+
@ApiModelProperty(value = "鏃ュ織鍒楄〃")
@TableField(exist = false)
List<SettleClaimsLog> settleClaimsLogList;
diff --git a/server/service/src/main/java/com/doumee/dao/business/vo/CompensationVO.java b/server/service/src/main/java/com/doumee/dao/business/vo/CompensationVO.java
new file mode 100644
index 0000000..e9f8696
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/vo/CompensationVO.java
@@ -0,0 +1,27 @@
+package com.doumee.dao.business.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 瀛樺偍 琛ュ厖璇存槑
+ */
+@Data
+public class CompensationVO {
+
+ @ApiModelProperty(value = "璧斾粯绫诲瀷锛�1=涓昏璧斾粯椤癸紱2=鍏朵粬璧斾粯椤�")
+ private Integer type;
+
+ @ApiModelProperty(value = "璧斾粯椤�")
+ private String name;
+
+ @ApiModelProperty(value = "璐圭敤璇存槑")
+ private String describe;
+
+ @ApiModelProperty(value = "璧斾粯璐圭敤")
+ private BigDecimal fee;
+
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/vo/RiskConfigVO.java b/server/service/src/main/java/com/doumee/dao/business/vo/RiskConfigVO.java
index 87aec30..bdb0b24 100644
--- a/server/service/src/main/java/com/doumee/dao/business/vo/RiskConfigVO.java
+++ b/server/service/src/main/java/com/doumee/dao/business/vo/RiskConfigVO.java
@@ -28,8 +28,8 @@
@ApiModelProperty(value = "椋庨櫓鎻愰啋璁剧疆-绱㈣禂娆℃暟", example = "1")
private String riskClaimTimes;
@ApiModelProperty(value = "椋庨櫓鎻愰啋璁剧疆-鏂板憳宸ュ嚭闄╂彁閱掓槸鍚﹀紑鍚細0=鍚︼紱1=鏄�;", example = "1")
- private String riskNewMemberOepn;
- @ApiModelProperty(value = "椋庨櫓鎻愰啋璁剧疆-鏂板憳宸ュ嚭闄╂彁閱掓椂闂村崟浣嶏細0鍒嗛挓 1灏忔椂 2澶�", example = "1")
+ private String riskNewMemberOpen;
+ @ApiModelProperty(value = "椋庨櫓鎻愰啋璁剧疆-鏂板憳宸ュ嚭闄╂彁閱掓椂闂村崟浣嶏細1灏忔椂 2澶�", example = "1")
private String riskNewMemberTimeUnit;
@ApiModelProperty(value = "椋庨櫓鎻愰啋璁剧疆-鏂板憳宸ュ嚭闄╂彁閱掓椂闂�", example = "1")
private String riskNewMemberTime;
diff --git a/server/service/src/main/java/com/doumee/service/business/SettleClaimsService.java b/server/service/src/main/java/com/doumee/service/business/SettleClaimsService.java
index a6f58cb..70d69c7 100644
--- a/server/service/src/main/java/com/doumee/service/business/SettleClaimsService.java
+++ b/server/service/src/main/java/com/doumee/service/business/SettleClaimsService.java
@@ -2,8 +2,10 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
-import com.doumee.dao.business.dto.SCSupplementDTO;
+import com.doumee.dao.business.dto.*;
import com.doumee.dao.business.model.SettleClaims;
+import com.doumee.dao.business.vo.CompensationVO;
+import com.doumee.service.system.impl.SystemDictDataServiceImpl;
import io.swagger.models.auth.In;
import javax.servlet.http.HttpServletResponse;
@@ -130,4 +132,101 @@
Integer back(SettleClaims settleClaims);
Integer delFile(Integer id, Integer fileId);
+
+
+ /************************************************************************鏂颁笟鍔�******************************************************************************************/
+
+ /**
+ * 浼佷笟鎶ユ鎻愪氦
+ * @param settleClaimsDTO
+ * @param systemDictDataService
+ */
+ void saveSettleClaims(SettleClaimsDTO settleClaimsDTO, SystemDictDataServiceImpl systemDictDataService);
+
+
+ /**
+ * 琛ュ厖璇存槑
+ * 骞冲彴绔娇鐢�
+ * @param dto
+ */
+ void saveSupplementDescribe(SaveSupplementDescribeDTO dto);
+
+
+ /**
+ * 娣诲姞琛ュ厖鏉愭枡
+ * @param dto
+ */
+ void saveSupplementFile(SaveSupplementDescribeDTO dto);
+
+
+ /**
+ * 鎾ら攢鎶ユ
+ * @param dto
+ */
+ void returnSettle(OptSettleClaimsDTO dto);
+
+ /**
+ * 骞冲彴绔嬫鎴栭��鍥�
+ * @param dto
+ */
+ void register(OptSettleClaimsDTO dto);
+
+ /**
+ * 娣诲姞鎶ユ鍙�
+ * @param param
+ * @return
+ */
+ Integer addReportNum(OptSettleClaimsDTO param);
+
+ /**
+ * 娣诲姞澶囨敞
+ * @param param
+ * @return
+ */
+ Integer addRemark(OptSettleClaimsDTO param);
+
+ /**
+ * 鍙楃悊涓氬姟
+ * @param dto
+ */
+ void acceptance(AcceptanceSettleClaimsDTO dto);
+
+
+ /**
+ * 鐞嗚禂閲戦椤�
+ * @param id
+ * @return
+ */
+ List<CompensationVO> getCompensation(Integer id);
+
+ /**
+ * 鐞嗚禂涓氬姟
+ * @param dto
+ */
+ void compensation(CompensationDTO dto);
+
+ /**
+ * 鍟嗚瀹℃壒
+ * @param dto
+ */
+ void discussAudit(DiscussAuditDTO dto);
+
+
+ /**
+ * 骞冲彴鏍歌禂
+ * @param dto
+ */
+ void nuclearCompensation(CompensationDTO dto);
+
+ /**
+ * 淇敼閲戦
+ * @param dto
+ */
+ void updFee(CompensationDTO dto);
+
+ /**
+ * 瀹㈡埛纭閲戦
+ * @param id
+ */
+ void confirmFee(Integer id);
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
index d5c68c8..f3ea9df 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
@@ -1,5 +1,6 @@
package com.doumee.service.business.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
@@ -11,12 +12,12 @@
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.*;
-import com.doumee.dao.business.dto.SCSupplementDTO;
-import com.doumee.dao.business.dto.SettleClaimsDTO;
+import com.doumee.dao.business.dto.*;
import com.doumee.dao.business.join.MultifileJoinMapper;
import com.doumee.dao.business.join.SettleClaimsJoinMapper;
import com.doumee.dao.business.join.SettleClaimsLogJoinMapper;
import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.vo.CompensationVO;
import com.doumee.dao.business.vo.RiskConfigVO;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.SettleClaimsLogService;
@@ -37,12 +38,14 @@
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
+import java.math.BigDecimal;
import java.net.URLEncoder;
import java.nio.charset.Charset;
import java.util.*;
@@ -370,8 +373,9 @@
SettleClaimsLog log = new SettleClaimsLog(update,applyLogType.getName(), info,update.getId(),applyLogType.getKey(), JSONObject.toJSONString(model), JSONObject.toJSONString(update));
settleClaimsLogMapper.insert(log);
return 1;
-
}
+
+
@Override
public Integer create(SettleClaims settleClaims) {
LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
@@ -567,6 +571,8 @@
settleClaims.setDisabilityFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_SCZL_FILE.getKey())).collect(Collectors.toList()));
settleClaims.setCompensationFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_JACL_FILE.getKey())).collect(Collectors.toList()));
+
+ settleClaims.setOtherFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_OTHER_FILE.getKey())).collect(Collectors.toList()));
}
//鏌ヨ鎿嶄綔璁板綍
@@ -710,7 +716,6 @@
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
-
SettleClaims settleClaims = settleClaimsMapper.selectById(scSupplementDTO.getId());
if(!(settleClaims.getStatus().equals(Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey())
|| settleClaims.getStatus().equals(Constants.SettleClaimsStatus.DEAL_ING.getKey())
@@ -960,7 +965,9 @@
}
- public void saveSettleClaims(SettleClaimsDTO settleClaimsDTO){
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public void saveSettleClaims(SettleClaimsDTO settleClaimsDTO,SystemDictDataServiceImpl systemDictDataService){
LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
if(!loginUserInfo.getType().equals(Constants.ONE)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氬憳宸ユ棤娉曡繘琛岃鎿嶄綔");
@@ -997,6 +1004,13 @@
if(Objects.nonNull(settleClaims.getId())){
settleClaims.setEditDate(new Date());
settleClaims.setEditor(loginUserInfo.getId());
+ settleClaims.setStatus(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)?
+ Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey():Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey());
+ if(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)){
+ //澶勭悊椋庨櫓淇℃伅
+ this.saveRisk(settleClaims,settleClaimsDTO,systemDictDataService);
+ }
+
settleClaimsMapper.updateById(settleClaims);
}else{
settleClaims.setCreateDate(new Date());
@@ -1004,14 +1018,18 @@
settleClaims.setCompanyId(loginUserInfo.getCompanyId());
settleClaims.setStatus(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)?
Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey():Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey());
+ if(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)){
+ //澶勭悊椋庨櫓淇℃伅
+ this.saveRisk(settleClaims,settleClaimsDTO,systemDictDataService);
+ }
settleClaims.setCreator(loginUserInfo.getId());
settleClaims.setCheckUserId(loginUserInfo.getId());
settleClaimsMapper.insert(settleClaims);
}
this.saveFile(settleClaims,settleClaimsDTO,loginUserInfo);
- //澶勭悊椋庨櫓淇℃伅
-
+ //璁板綍鏃ュ織
+ this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.UPLOAD,null);
}
public void saveRisk(SettleClaims settleClaims, SettleClaimsDTO settleClaimsDTO, SystemDictDataServiceImpl systemDictDataService){
@@ -1170,9 +1188,36 @@
settleClaims.setRiskSensitive(sensitiveWord);
}
}
-
//鐤戜技鏂板憳宸ュ嚭闄�
+ if(StringUtils.isNotBlank(riskConfigVO.getRiskNewMemberOpen())
+ && StringUtils.equals(riskConfigVO.getRiskNewMemberOpen(),Constants.ONE+"")
+ && StringUtils.isNotBlank(riskConfigVO.getRiskNewMemberTimeUnit())
+ && StringUtils.isNotBlank(riskConfigVO.getRiskNewMemberTime())
+ ){
+ Map<String,String> map = new HashMap<>();
+ map.put("title","鐤戜技鏂板憳宸ュ嚭闄�");
+ if(riskConfigVO.getRiskNewMemberTimeUnit().equals(Constants.ONE+"")){
+ if(DateUtil.afterMinutesByDate(Integer.valueOf(riskConfigVO.getRiskNewMemberTime())*60,insuranceApply.getStartTime()).getTime() < happenTime.getTime()){
+ map.put("info","淇濋櫓鐢熸晥鏃堕棿涓�"+DateUtil.getFomartDate(insuranceApply.getStartTime(),"yyyy-MM-dd")+"");
+ riskList.add(map);
+ settleClaims.setRiskNewUser(Constants.ONE);
+ };
+ }else if(Constants.equalsInteger(solutionsBase.getRiskDelayUnit(),Constants.TWO)){
+ if(DateUtil.afterDayByDate(Integer.valueOf(riskConfigVO.getRiskNewMemberTime()),insuranceApply.getStartTime()).getTime() < happenTime.getTime()){
+ map.put("info","淇濋櫓鐢熸晥鏃堕棿涓�"+DateUtil.getFomartDate(insuranceApply.getStartTime(),"yyyy-MM-dd")+"");
+ riskList.add(map);
+ settleClaims.setRiskNewUser(Constants.ONE);
+ }
+ }
+ }
+ settleClaims.setRiskContent(JSONObject.toJSONString(riskList));
+ if(riskList.size()>Constants.ZERO){
+ settleClaims.setIsRisk(Constants.ONE);
+ }else{
+ settleClaims.setIsRisk(Constants.ZERO);
+ settleClaims.setStatus(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey());
+ }
}
public void saveFile(SettleClaims settleClaims,SettleClaimsDTO settleClaimsDTO,LoginUserInfo loginUserInfo){
@@ -1305,14 +1350,588 @@
multifile.setSortnum(i+1);
multifileJoinMapper.insert(multifile);
}
+ }
+ }
+
+// public void getRiskSettleDetail(Integer id){
+// settleClaimsJoinMapper.selectJoinOne(SettleClaims.class,new MPJLambdaWrapper<SettleClaims>()
+// .selectAll(SettleClaims.class)
+// .selectAs(DispatchUnit::getName,SettleClaims::getDuName)
+// .selectAs(Worktype::getName,SettleClaims::getWorktypeName)
+// .selectAs(Solutions::getName,SettleClaims::getSolutionName)
+// .selectAs(InsuranceApply::getStartTime,SettleClaims::getBaoxianStartTime)
+// .selectAs(InsuranceApply::getEndTime,SettleClaims::getBaoxianEndTime)
+// .leftJoin(Solutions.class,Solutions::getId,SettleClaims::getSolutionId)
+// .leftJoin(DispatchUnit.class,DispatchUnit::getId,SettleClaims::getDuId)
+// .leftJoin(Worktype.class,Worktype::getId,SettleClaims::getWorktypeId)
+// .leftJoin(InsuranceApply.class,InsuranceApply::getId,SettleClaims::getInsuranceApplyId)
+//
+//
+// .eq(SettleClaims::getId,id)
+// .last(" limit 1 ")
+// );
+// }
+
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public void saveSupplementDescribe(SaveSupplementDescribeDTO dto){
+ if(Objects.isNull(dto)
+ || Objects.isNull(dto.getId())
+ || Objects.isNull(dto.getDescribe())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(!loginUserInfo.getType().equals(Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炵鐞嗗憳鏃犳硶杩涜璇ユ搷浣�");
+ }
+ SettleClaims settleClaims = settleClaimsJoinMapper.selectById(dto.getId());
+ if(Objects.isNull(settleClaims)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(!Constants.equalsInteger(Constants.SettleClaimsStatus.ACCEPTANCE.getKey(),settleClaims.getStatus())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
+ }
+ if(Constants.equalsInteger(settleClaims.getWaitSupplement(),Constants.ONE)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"寰呬紒涓氳ˉ鍏呮枃浠讹紝璇风瓑寰呬紒涓氳ˉ鍏呮枃浠�");
+ }
+ //瀛樺偍鏃ュ織
+ this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.SUPPLEMENT_DESCRIBE,dto.getDescribe());
+ settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
+ .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getWaitSupplement,Constants.ONE));
+ }
+
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public void saveSupplementFile(SaveSupplementDescribeDTO dto){
+ if(Objects.isNull(dto)
+ || Objects.isNull(dto.getId())
+ || CollectionUtils.isEmpty(dto.getSupplementFileList())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(!(loginUserInfo.getType().equals(Constants.ZERO)||loginUserInfo.getType().equals(Constants.ONE))){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炲钩鍙颁笌浼佷笟鍛樺伐鏃犳硶杩涜璇ユ搷浣�");
+ }
+ SettleClaims settleClaims = settleClaimsJoinMapper.selectById(dto.getId());
+ if(Objects.isNull(settleClaims)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(loginUserInfo.getType().equals(Constants.ZERO)){
+ if(!(Constants.equalsInteger(Constants.SettleClaimsStatus.ACCEPTANCE.getKey(),settleClaims.getStatus())
+ || Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey(),settleClaims.getStatus())
+ )){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
+ }
+ }else{
+ //濡傛灉鏄紒涓� 鏌ヨ鏄惁鏄嚜宸变紒涓氱殑鏁版嵁
+ if(!Constants.equalsInteger(settleClaims.getCompanyId(),loginUserInfo.getCompanyId())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍浼佷笟鐨勬暟鎹紝鎮ㄦ棤娉曡繘琛岃鎿嶄綔");
+ }
+ if(!Constants.equalsInteger(settleClaims.getWaitSupplement(),Constants.ONE)) {
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "褰撳墠涓氬姟鏃犻渶杩涜娣诲姞鏉愭枡");
+ }
+ if(!(Constants.equalsInteger(Constants.SettleClaimsStatus.ACCEPTANCE.getKey(),settleClaims.getStatus())
+ || Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey(),settleClaims.getStatus())
+ || Constants.equalsInteger(Constants.SettleClaimsStatus.REJECT_DEAL.getKey(),settleClaims.getStatus())
+ || Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_DISCUSS_REJECT.getKey(),settleClaims.getStatus())
+ )){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
+ }
+ settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
+ .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getWaitSupplement,Constants.ZERO));
+ }
+ multifileJoinMapper.delete(new QueryWrapper<Multifile>().lambda().eq(Multifile::getObjId,dto.getId()).eq(Multifile::getObjType,Constants.MultiFile.LP_OTHER_FILE.getKey()));
+ List<Multifile> fileList = dto.getSupplementFileList();
+ if(CollectionUtils.isNotEmpty(fileList)){
+ for (int i = 0; i < fileList.size(); i++) {
+ Multifile multifile = fileList.get(i);
+ if(Objects.isNull(multifile.getFileurl())
+ || Objects.isNull(multifile.getType())
+ || StringUtils.isBlank(multifile.getName())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍐呭寮傚父");
+ }
+ multifile.setCreator(loginUserInfo.getId());
+ multifile.setCreateDate(new Date());
+ multifile.setIsdeleted(Constants.ZERO);
+ multifile.setObjId(settleClaims.getId());
+ //娣诲姞鏉愭枡鏀惧叆 鍏朵粬鏉愭枡涓氬姟鍐�
+ multifile.setObjType(Constants.MultiFile.LP_OTHER_FILE.getKey());
+ multifile.setSortnum(i+1);
+ multifileJoinMapper.insert(multifile);
+ }
+ }
+ //瀛樺偍鏃ュ織
+ this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.SUPPLEMENT,null);
+ }
+
+
+ /**
+ * 鎾ら攢鎶ユ
+ * @param dto
+ */
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public void returnSettle(OptSettleClaimsDTO dto){
+ if(Objects.isNull(dto)
+ || Objects.isNull(dto.getId())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(!loginUserInfo.getType().equals(Constants.ONE)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氫汉鍛樻棤娉曡繘琛岃鎿嶄綔");
+ }
+ SettleClaims settleClaims = settleClaimsJoinMapper.selectById(dto.getId());
+ if(Objects.isNull(settleClaims)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ //濡傛灉鏄紒涓� 鏌ヨ鏄惁鏄嚜宸变紒涓氱殑鏁版嵁
+ if(!Constants.equalsInteger(settleClaims.getCompanyId(),loginUserInfo.getCompanyId())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍浼佷笟鐨勬暟鎹紝鎮ㄦ棤娉曡繘琛岃鎿嶄綔");
+ }
+ if(!Constants.equalsInteger(Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey(),settleClaims.getStatus())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
+ }
+ //瀛樺偍鏃ュ織
+ this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.RETURN_SETTLE,null);
+ settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
+ .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getStatus,Constants.SettleClaimsStatus.RETURN.getKey()));
+ }
+
+
+
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public void register(OptSettleClaimsDTO dto){
+ if(Objects.isNull(dto)
+ || Objects.isNull(dto.getId())
+ || Objects.isNull(dto.getRegisterStatus())
+ || !(Constants.equalsInteger(dto.getRegisterStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())||Constants.equalsInteger(dto.getRegisterStatus(),Constants.SettleClaimsStatus.FINISH_ACCEPTANCE.getKey()))
+ || (Constants.equalsInteger(dto.getRegisterStatus(),Constants.SettleClaimsStatus.FINISH_ACCEPTANCE.getKey())&&StringUtils.isBlank(dto.getDescribe()))
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(!loginUserInfo.getType().equals(Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炵鐞嗗憳鏃犳硶杩涜璇ユ搷浣�");
+ }
+ SettleClaims settleClaims = settleClaimsJoinMapper.selectById(dto.getId());
+ if(Objects.isNull(settleClaims)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(!Constants.equalsInteger(Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey(),settleClaims.getStatus())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
+ }
+ Constants.SettleClaimsStatus settleClaimsStatus =
+ Constants.equalsInteger(dto.getRegisterStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())?Constants.SettleClaimsStatus.CONFIRM_INFORMATION:Constants.SettleClaimsStatus.FINISH_ACCEPTANCE;
+ //瀛樺偍鏃ュ織
+ this.saveSettleClaimsLog(settleClaims, Constants.equalsInteger(dto.getRegisterStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())?Constants.SettleClaimsLogType.PLATFORM_REGISTER:Constants.SettleClaimsLogType.PLATFORM_RETURN,dto.getDescribe());
+ settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
+ .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,
+ DateUtil.getCurrDateTime()).set(SettleClaims::getStatus,settleClaimsStatus.getKey()));
+ }
+
+
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public Integer addReportNum(OptSettleClaimsDTO param){
+ if(param.getId() == null
+ ||StringUtils.isBlank( param.getReportNum()) ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ SettleClaims model = settleClaimsMapper.selectById(param.getId());
+ if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(!(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())
+ || Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey())
+ )
+ ){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
+ }
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(!user.getType().equals(Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炵鐞嗗憳鏃犳硶杩涜璇ユ搷浣�");
+ }
+ //鏌ヨ鏄惁鏈夋姤妗堝彿鏇存敼璁板綍
+ if(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey())
+ && settleClaimsLogMapper.selectCount(new QueryWrapper<SettleClaimsLog>().lambda()
+ .eq(SettleClaimsLog::getObjType,Constants.SettleClaimsLogType.PLATFORM_ADDCODE.getKey())
+ .eq(SettleClaimsLog::getSettleClainmsId,param.getId()))>=Constants.ONE){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浠呭彲淇敼涓�娆℃姤妗堝彿");
+ }
+ if(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())&&StringUtils.isNotBlank(model.getReportNum())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"宸蹭慨鏀规姤妗堝彿锛屾棤娉曞啀娆′慨鏀�");
+ }
+ settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
+ .eq(SettleClaims::getId,param.getId()).set(SettleClaims::getEditDate,
+ DateUtil.getCurrDateTime()).set(SettleClaims::getReportNum,param.getReportNum()));
+
+ SettleClaims update = new SettleClaims();
+ update.setEditDate(new Date());
+ update.setEditor(user.getId());
+ update.setId(model.getId());
+ update.setCheckDate(update.getEditDate());
+ update.setCheckInfo("娣诲姞澶囨鍙�");
+ update.setCheckUserId(user.getId());
+ update.setReportNum(param.getReportNum());
+ settleClaimsMapper.updateById(update);
+
+ Constants.SettleClaimsLogType applyLogType = Constants.SettleClaimsLogType.PLATFORM_ADDCODE;
+ String info =applyLogType.getInfo();
+ info = info.replace("${param}", update.getReportNum());
+ SettleClaimsLog log = new SettleClaimsLog(update,applyLogType.getName(), info,update.getId(),applyLogType.getKey(), JSONObject.toJSONString(model), JSONObject.toJSONString(update));
+ settleClaimsLogMapper.insert(log);
+
+ return 1;
+ }
+
+
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public Integer addRemark(OptSettleClaimsDTO param){
+ if(param.getId() == null
+ ||StringUtils.isBlank( param.getDescribe()) ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ SettleClaims model = settleClaimsMapper.selectById(param.getId());
+ if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(!(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())
+ ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey())
+ ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.REJECT_DEAL.getKey())
+ ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT.getKey())
+ ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_DISCUSS_REJECT.getKey())
+ ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey())
+ ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.COMPENSATION.getKey())
+ ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_CLOSE_CASE.getKey())
+ ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.CLOSE_CASE.getKey())
+ )){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇峰綋鍓嶄笉鏀寔璇ユ搷浣渵");
+ }
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ SettleClaims update = new SettleClaims();
+ update.setEditDate(new Date());
+ update.setEditor(user.getId());
+ update.setCheckDate(update.getEditDate());
+ update.setCheckInfo("娣诲姞澶囨敞鏍囩");
+ update.setCheckUserId(user.getId());
+ update.setId(model.getId());
+ settleClaimsMapper.updateById(update);
+
+ Constants.SettleClaimsLogType applyLogType = Constants.SettleClaimsLogType.PLATFORM_REMARK;
+ String info =applyLogType.getInfo();
+ info = info.replace("${param}", param.getDescribe());
+ SettleClaimsLog log = new SettleClaimsLog(update,applyLogType.getName(), info,update.getId(),applyLogType.getKey(), JSONObject.toJSONString(model), JSONObject.toJSONString(update));
+ settleClaimsLogMapper.insert(log);
+ return 1;
}
+
+
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public void acceptance(AcceptanceSettleClaimsDTO dto){
+ if(Objects.isNull(dto)
+ || Objects.isNull(dto.getId())
+ || Objects.isNull(dto.getStatus())
+ || StringUtils.isBlank(dto.getDescribe())
+ || !(dto.getStatus()>=Constants.ZERO||dto.getStatus()<=Constants.THREE)
+ || ((Constants.equalsInteger(dto.getStatus(),Constants.THREE) ||Constants.equalsInteger(dto.getStatus(),Constants.TWO)) && StringUtils.isBlank(dto.getSyProblemOpts()) )
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(!loginUserInfo.getType().equals(Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炵鐞嗗憳鏃犳硶杩涜璇ユ搷浣�");
+ }
+ SettleClaims settleClaims = settleClaimsJoinMapper.selectById(dto.getId());
+ if(Objects.isNull(settleClaims)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(!Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_DEAL.getKey(),settleClaims.getStatus())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
+ }
+ if(Constants.equalsInteger(dto.getStatus(),Constants.ZERO) || Constants.equalsInteger(dto.getStatus(),Constants.THREE)){
+ //鍙楃悊
+ settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
+ .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getEditor,loginUserInfo.getId())
+ .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.ACCEPTANCE.getKey()));
+ //瀛樺偍鏃ュ織
+ this.saveSettleClaimsLog(settleClaims,
+ Constants.equalsInteger(dto.getStatus(),Constants.ZERO)?Constants.SettleClaimsLogType.PLATFORM_ACCEPTANCE:Constants.SettleClaimsLogType.PLATFORM_DISCUSS,
+ dto.getDescribe());
+ }else if(Constants.equalsInteger(dto.getStatus(),Constants.ONE)){
+ //鎷掔粷鍙楃悊
+ settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
+ .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getEditor,loginUserInfo.getId())
+ .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.REJECT_DEAL.getKey()));
+ //瀛樺偍鏃ュ織
+ this.saveSettleClaimsLog(settleClaims,
+ Constants.SettleClaimsLogType.PLATFORM_REFUSE_ACCEPTANCE,
+ Constants.SettleClaimsLogType.PLATFORM_REFUSE_ACCEPTANCE.getInfo().replace("{param}",dto.getDescribe()));
+ }else if(Constants.equalsInteger(dto.getStatus(),Constants.TWO)){
+ //鍙楃悊鍟嗚瀹℃壒
+ settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
+ .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getEditor,loginUserInfo.getId())
+ .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.REJECT_DEAL.getKey()));
+ //瀛樺偍鏃ュ織
+ this.saveSettleClaimsLog(settleClaims,
+ Constants.SettleClaimsLogType.PLATFORM_WAIT_DISCUSS,
+ dto.getDescribe());
+ }
+ }
+
+
+ @Override
+ public List<CompensationVO> getCompensation(Integer id){
+ SettleClaims settleClaims = settleClaimsMapper.selectById(id);
+ List<CompensationVO> modelList = new ArrayList<>();
+ if (Objects.nonNull(settleClaims)&&StringUtils.isNotBlank(settleClaims.getAccountContent())) {
+ modelList = JSONArray.parseArray(settleClaims.getAccountContent(),CompensationVO.class);
+ }
+ Constants.compensation [] compensations = Constants.compensation.values();
+ List<CompensationVO> list = new ArrayList<>();
+ for (Constants.compensation c:compensations) {
+ CompensationVO compensationVO = new CompensationVO();
+ compensationVO.setType(c.getType());
+ compensationVO.setName(c.getName());
+ if(CollectionUtils.isNotEmpty(modelList)){
+ Optional<CompensationVO> optionalModel = modelList.stream().filter(i->i.getName().equals(c.getName())).findFirst();
+ if(optionalModel.isPresent()){
+ CompensationVO oldModel = optionalModel.get();
+ compensationVO.setFee(oldModel.getFee());
+ compensationVO.setDescribe(oldModel.getDescribe());
+ }
+ }
+ list.add(compensationVO);
+ }
+ return list;
+ }
+
+
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public void compensation(CompensationDTO dto){
+ if(Objects.isNull(dto)
+ || Objects.isNull(dto.getId())
+ || StringUtils.isBlank(dto.getCompensationJson())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(!loginUserInfo.getType().equals(Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炵鐞嗗憳鏃犳硶杩涜璇ユ搷浣�");
+ }
+ SettleClaims settleClaims = settleClaimsJoinMapper.selectById(dto.getId());
+ if(Objects.isNull(settleClaims)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(!(Constants.equalsInteger(Constants.SettleClaimsStatus.ACCEPTANCE.getKey(),settleClaims.getStatus()))||Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey(),settleClaims.getStatus())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
+ }
+
+ List<CompensationVO> modelList = JSONArray.parseArray(settleClaims.getAccountContent(),CompensationVO.class);
+
+ SettleClaims update = new SettleClaims();
+ update.setEditDate(new Date());
+ update.setEditor(loginUserInfo.getId());
+ update.setYlClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.YL_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ update.setWgClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.WG_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ update.setScClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.SC_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ update.setSwClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.SW_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ update.setClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ update.setOtherAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ update.setAccountContent(dto.getCompensationJson());
+ update.setId(settleClaims.getId());
+ update.setStatus(Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey());
+ settleClaimsMapper.updateById(update);
+
+ //瀛樺偍鏃ュ織
+ this.saveSettleClaimsLog(settleClaims,
+ Constants.SettleClaimsLogType.PLATFORM_LP_DEAL,
+ Constants.SettleClaimsLogType.PLATFORM_LP_DEAL.getInfo());
+ }
+
+
+ /**
+ * 鍟嗚瀹℃壒
+ * @param dto
+ */
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public void discussAudit(DiscussAuditDTO dto){
+ if(Objects.isNull(dto)
+ || Objects.isNull(dto.getId())
+ || Objects.isNull(dto.getStatus())
+ || !(Constants.equalsInteger(dto.getStatus(),Constants.ZERO)||Constants.equalsInteger(dto.getStatus(),Constants.ONE))
+ || (Constants.equalsInteger(dto.getStatus(),Constants.ONE)&&StringUtils.isBlank(dto.getDescribe()))
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(!loginUserInfo.getType().equals(Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炵鐞嗗憳鏃犳硶杩涜璇ユ搷浣�");
+ }
+ SettleClaims settleClaims = settleClaimsJoinMapper.selectById(dto.getId());
+ if(Objects.isNull(settleClaims)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(!Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT.getKey(),settleClaims.getStatus())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
+ }
+ Constants.SettleClaimsStatus settleClaimsStatus =
+ Constants.equalsInteger(dto.getStatus(),Constants.ZERO)?Constants.SettleClaimsStatus.ACCEPTANCE:Constants.SettleClaimsStatus.WAIT_DISCUSS_REJECT;
+ //瀛樺偍鏃ュ織
+ Constants.SettleClaimsLogType settleClaimsLogType = Constants.equalsInteger(dto.getStatus(),Constants.ZERO)
+ ?Constants.SettleClaimsLogType.PLATFORM_DISCUSS_PASS:Constants.SettleClaimsLogType.PLATFORM_DISCUSS_REFUSE;
+ this.saveSettleClaimsLog(settleClaims, settleClaimsLogType
+ ,settleClaimsLogType.getInfo().replace("${param}",dto.getDescribe()));
+ settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
+ .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate, DateUtil.getCurrDateTime())
+ .set(SettleClaims::getEditor,loginUserInfo.getId())
+ .set(SettleClaims::getStatus,settleClaimsStatus.getKey()));
+ }
+
+
+
+
+
+
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public void nuclearCompensation(CompensationDTO dto){
+ if(Objects.isNull(dto)
+ || Objects.isNull(dto.getId())
+ || StringUtils.isBlank(dto.getCompensationJson())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(!loginUserInfo.getType().equals(Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炵鐞嗗憳鏃犳硶杩涜璇ユ搷浣�");
+ }
+ SettleClaims settleClaims = settleClaimsJoinMapper.selectById(dto.getId());
+ if(Objects.isNull(settleClaims)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(!Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey(),settleClaims.getStatus())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
+ }
+
+ List<CompensationVO> modelList = JSONArray.parseArray(settleClaims.getAccountContent(),CompensationVO.class);
+
+ SettleClaims update = new SettleClaims();
+ update.setEditDate(new Date());
+ update.setEditor(loginUserInfo.getId());
+ update.setYlClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.YL_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ update.setWgClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.WG_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ update.setScClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.SC_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ update.setSwClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.SW_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ update.setClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ update.setOtherAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ update.setAccountContent(dto.getCompensationJson());
+ update.setId(settleClaims.getId());
+ update.setStatus(Constants.SettleClaimsStatus.COMPENSATION.getKey());
+ settleClaimsMapper.updateById(update);
+
+ //瀛樺偍鏃ュ織
+ this.saveSettleClaimsLog(settleClaims,
+ Constants.SettleClaimsLogType.PLATFORM_HP_DEAL,
+ Constants.SettleClaimsLogType.PLATFORM_HP_DEAL.getInfo());
+ }
+
+
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public void updFee(CompensationDTO dto){
+ if(Objects.isNull(dto)
+ || Objects.isNull(dto.getId())
+ || StringUtils.isBlank(dto.getCompensationJson())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(!loginUserInfo.getType().equals(Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炵鐞嗗憳鏃犳硶杩涜璇ユ搷浣�");
+ }
+ SettleClaims settleClaims = settleClaimsJoinMapper.selectById(dto.getId());
+ if(Objects.isNull(settleClaims)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(!Constants.equalsInteger(Constants.SettleClaimsStatus.COMPENSATION.getKey(),settleClaims.getStatus())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
+ }
+
+ List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class);
+
+ SettleClaims update = new SettleClaims();
+ update.setEditDate(new Date());
+ update.setEditor(loginUserInfo.getId());
+ update.setYlClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.YL_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ update.setWgClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.WG_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ update.setScClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.SC_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ update.setSwClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.SW_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ update.setClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+
+ //澶勭悊鍘嗗彶鏁版嵁
+ List<CompensationVO> oldList = JSONArray.parseArray(settleClaims.getAccountContent(),CompensationVO.class);
+ for (CompensationVO compensationVO:oldList) {
+ if(compensationVO.getName().equals(Constants.compensation.YL_COMPENSATION.getName())){
+ compensationVO.setFee(update.getYlClaimAccount());
+ }else if(compensationVO.getName().equals(Constants.compensation.WG_COMPENSATION.getName())){
+ compensationVO.setFee(update.getWgClaimAccount());
+ }else if(compensationVO.getName().equals(Constants.compensation.SC_COMPENSATION.getName())){
+ compensationVO.setFee(update.getScClaimAccount());
+ }else if(compensationVO.getName().equals(Constants.compensation.SW_COMPENSATION.getName())){
+ compensationVO.setFee(update.getSwClaimAccount());
+ }else{
+ continue;
+ }
+ }
+ update.setAccountContent(dto.getCompensationJson());
+ update.setAccountContent(JSONArray.toJSONString(oldList));
+ update.setId(settleClaims.getId());
+ settleClaimsMapper.updateById(update);
+
+ //瀛樺偍鏃ュ織
+ this.saveSettleClaimsLog(settleClaims,
+ Constants.SettleClaimsLogType.PLATFORM_UPD_FEE,
+ Constants.SettleClaimsLogType.PLATFORM_UPD_FEE.getInfo());
+ }
+
+
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public void confirmFee(Integer id){
+
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(!loginUserInfo.getType().equals(Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炵鐞嗗憳鏃犳硶杩涜璇ユ搷浣�");
+ }
+ SettleClaims settleClaims = settleClaimsJoinMapper.selectById(id);
+ if(Objects.isNull(settleClaims)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(!Constants.equalsInteger(Constants.SettleClaimsStatus.COMPENSATION.getKey(),settleClaims.getStatus())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
+ }
+
+
+ //瀛樺偍鏃ュ織
+ this.saveSettleClaimsLog(settleClaims,
+ Constants.SettleClaimsLogType.CONFIRM_FEE,
+ Constants.SettleClaimsLogType.CONFIRM_FEE.getInfo());
+ }
+
+
+
}
diff --git a/server/service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java b/server/service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java
index 8c3fcb7..1a1e495 100644
--- a/server/service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java
@@ -151,7 +151,7 @@
}else if(systemDictData.getLabel().equals(Constants.RISK_CLAIM_TIMES)){
riskConfigVO.setRiskClaimTimes(systemDictData.getCode());
}else if(systemDictData.getLabel().equals(Constants.RISK_NEW_MEMBER_OPEN)){
- riskConfigVO.setRiskNewMemberOepn(systemDictData.getCode());
+ riskConfigVO.setRiskNewMemberOpen(systemDictData.getCode());
}else if(systemDictData.getLabel().equals(Constants.RISK_NEW_MEMBER_TIME_UNIT)){
riskConfigVO.setRiskNewMemberTimeUnit(systemDictData.getCode());
}else if(systemDictData.getLabel().equals(Constants.RISK_NEW_MEMBER_TIME)){
@@ -202,7 +202,7 @@
}else if(systemDictData.getLabel().equals(Constants.RISK_CLAIM_TIMES)){
systemDictData.setCode(riskConfigDTO.getRiskClaimTimes());
}else if(systemDictData.getLabel().equals(Constants.RISK_NEW_MEMBER_OPEN)){
- systemDictData.setCode(riskConfigDTO.getRiskNewMemberOepn());
+ systemDictData.setCode(riskConfigDTO.getRiskNewMemberOpen());
}else if(systemDictData.getLabel().equals(Constants.RISK_NEW_MEMBER_TIME_UNIT)){
systemDictData.setCode(riskConfigDTO.getRiskNewMemberTimeUnit());
}else if(systemDictData.getLabel().equals(Constants.RISK_NEW_MEMBER_TIME)){
--
Gitblit v1.9.3