From 346dacb7bf8c33ba6826572f79c16aa74c513650 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 10 六月 2025 15:26:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0.1' into 2.0.1

---
 server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java    |  200 +++++++++++++++++++++++++++++++++
 company/src/components/enterprise/onlineReporting.vue                                        |    2 
 company/src/components/business/OpearaCaseEntryWindow.vue                                    |    2 
 server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java    |    5 
 server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java   |   67 ++++++----
 company/.env.developmentCom                                                                  |    4 
 company/.env.productionShop                                                                  |    2 
 company/src/views/business/caseEntry.vue                                                     |    2 
 server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java             |    2 
 server/platform/src/main/java/com/doumee/api/business/SettleRiskController.java              |   15 ++
 server/service/src/main/java/com/doumee/core/utils/Constants.java                            |    4 
 server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java |   41 ++++++
 server/company/src/main/java/com/doumee/api/business/SettleRiskController.java               |    6 +
 company/.env.development                                                                     |    4 
 14 files changed, 318 insertions(+), 38 deletions(-)

diff --git a/company/.env.development b/company/.env.development
index 62955cc..edff352 100644
--- a/company/.env.development
+++ b/company/.env.development
@@ -9,9 +9,9 @@
 VUE_APP_COOKIE_NAME='dmplat-auth-token'
 
 # 娴嬭瘯鏈�
-VUE_APP_API = 'https://test.doumee.cn:8088/yyb_admin_api/'
+# VUE_APP_API = 'https://test.doumee.cn:8088/yyb_admin_api/'
 
 # 浠诲悍
-# VUE_APP_API = 'http://192.168.0.131:10030/'
+VUE_APP_API = 'http://192.168.0.131:10030/'
 
 # VUE_APP_API = 'http://192.168.0.131:10031/'
diff --git a/company/.env.developmentCom b/company/.env.developmentCom
index 199e4b7..11efe33 100644
--- a/company/.env.developmentCom
+++ b/company/.env.developmentCom
@@ -7,10 +7,10 @@
 VUE_APP_CONTEXT_PATH = '/yyb_web'
 VUE_APP_COOKIE_NAME='doumee-auth-token'
 
-VUE_APP_API = 'https://test.doumee.cn:8088/yyb_web_api/'
+# VUE_APP_API = 'https://test.doumee.cn:8088/yyb_web_api/'
 
 # VUE_APP_API = 'http://localhost:10031/'
 
-# VUE_APP_API = 'http://192.168.0.131:10031/'
+VUE_APP_API = 'http://192.168.0.131:10031/'
 
 # VUE_APP_API = 'https://www.yyb.red/yyb_web_api/'
diff --git a/company/.env.productionShop b/company/.env.productionShop
index b73fc35..844dadd 100644
--- a/company/.env.productionShop
+++ b/company/.env.productionShop
@@ -6,7 +6,7 @@
 VUE_APP_COOKIE_NAME='dmshop-auth-token'
 VUE_APP_CONTEXT_PATH = '/yyb_shop'
 # 骞冲彴绔�
-VUE_APP_API = 'https://dmtest.ahapp.net/yyb_shop_api/'
+VUE_APP_API = 'https://test.doumee.cn:8088/yyb_shop_api/'
 
 VUE_APP_SYSTEM_TITLE = '浜戞槗淇濆鎴锋湇鍔$郴缁�-鍟嗘埛绔�'
 
diff --git a/company/src/components/business/OpearaCaseEntryWindow.vue b/company/src/components/business/OpearaCaseEntryWindow.vue
index dab49d4..58ad3a1 100644
--- a/company/src/components/business/OpearaCaseEntryWindow.vue
+++ b/company/src/components/business/OpearaCaseEntryWindow.vue
@@ -186,7 +186,7 @@
                             <el-form-item label="鎶ユ鏃堕棿" prop="reportDate">
                                 <el-date-picker
                                     v-model="ruleForm.extData.reportDate"
-                                    type="date"
+                                    type="datetime"
                                     placeholder="閫夋嫨鏃ユ湡"
                                     format="yyyy-MM-dd HH:mm:ss"
                                     value-format="yyyy-MM-dd HH:mm:ss">
diff --git a/company/src/components/enterprise/onlineReporting.vue b/company/src/components/enterprise/onlineReporting.vue
index bdb78be..93d7e80 100644
--- a/company/src/components/enterprise/onlineReporting.vue
+++ b/company/src/components/enterprise/onlineReporting.vue
@@ -724,7 +724,7 @@
     getSolutions (id) {
       const row = this.user.filter(item => item.id === id)
       this.form.idcardNo = row[0].idcardNo
-      findList({ memberId: id })
+      findList({ memberId: id, isSettleClaims: 1 })
         .then(res => {
           this.form.insuranceApplyId = ''
           res.forEach(item => {
diff --git a/company/src/views/business/caseEntry.vue b/company/src/views/business/caseEntry.vue
index 6faa002..9f45b3a 100644
--- a/company/src/views/business/caseEntry.vue
+++ b/company/src/views/business/caseEntry.vue
@@ -76,7 +76,7 @@
                 <el-table-column prop="reportNum" label="妗堜欢鍙�" min-width="150px" align="center"></el-table-column>
                 <el-table-column prop="companyName" label="鎶曚繚鍗曚綅" min-width="150px" align="center"></el-table-column>
                 <el-table-column prop="informantName" label="鎶ユ浜�" min-width="150px" align="center"></el-table-column>
-                <el-table-column prop="createDateStr" label="鎶ユ鏃堕棿" min-width="100px" align="center"></el-table-column>
+                <el-table-column prop="reportDate" label="鎶ユ鏃堕棿" min-width="100px" align="center"></el-table-column>
                 <el-table-column prop="happenTime" label="鍑洪櫓鏃堕棿" min-width="120px" align="center"></el-table-column>
                 <el-table-column prop="memberName" label="鍑洪櫓浜�" min-width="120px" align="center"></el-table-column>
                 <el-table-column prop="memberIdcardNo" label="韬唤璇佸彿" min-width="120px" align="center"></el-table-column>
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
index 3e9ae03..80317fd 100644
--- a/server/company/src/main/java/com/doumee/api/business/SettleRiskController.java
+++ b/server/company/src/main/java/com/doumee/api/business/SettleRiskController.java
@@ -9,6 +9,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.models.auth.In;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -31,6 +32,7 @@
     @PreventRepeat
     @ApiOperation("鐞嗚禂鎶ユ")
     @PostMapping("/saveSettleClaims")
+    @RequiresPermissions("business:settleRisk:saveSettleClaims")
     public ApiResponse<Integer> saveSettleClaims(@RequestBody SettleClaimsDTO settleClaimsDTO) {
         return ApiResponse.success(settleClaimsService.saveSettleClaims(settleClaimsDTO,systemDictDataService));
     }
@@ -39,6 +41,7 @@
     @PreventRepeat
     @ApiOperation("娣诲姞鏉愭枡")
     @PostMapping("/saveSupplementFile")
+    @RequiresPermissions("business:settleRisk:saveSupplementFile")
     public ApiResponse saveSupplementFile(@RequestBody SaveSupplementDescribeDTO dto) {
         settleClaimsService.saveSupplementFile(dto);
         return ApiResponse.success(null);
@@ -49,6 +52,7 @@
     @PreventRepeat
     @ApiOperation("鎾ら攢鎶ユ")
     @PostMapping("/returnSettle")
+    @RequiresPermissions("business:settleRisk:returnSettle")
     public ApiResponse returnSettle(@RequestBody OptSettleClaimsDTO dto) {
         settleClaimsService.returnSettle(dto);
         return ApiResponse.success(null);
@@ -58,6 +62,7 @@
     @PreventRepeat
     @ApiOperation("纭閲戦")
     @GetMapping("/confirmFee")
+    @RequiresPermissions("business:settleRisk:confirmFee")
     public ApiResponse confirmFee(@RequestParam Integer id) {
         settleClaimsService.confirmFee(id);
         return ApiResponse.success(null);
@@ -66,6 +71,7 @@
     @PreventRepeat
     @ApiOperation("淇敼鏀舵淇℃伅")
     @PostMapping("/updReceiveInfo")
+    @RequiresPermissions("business:settleRisk:updReceiveInfo")
     public ApiResponse updReceiveInfo(@RequestBody UpdReceiveInfoDTO dto) {
         settleClaimsService.updReceiveInfo(dto);
         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
index caf4636..3f2af3b 100644
--- a/server/platform/src/main/java/com/doumee/api/business/SettleRiskController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/SettleRiskController.java
@@ -13,6 +13,7 @@
 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.*;
 
@@ -43,6 +44,7 @@
 
     @ApiOperation("鏇存柊椋庨櫓閰嶇疆")
     @PostMapping("/updRiskConfig")
+    @RequiresPermissions("business:settleRisk:updRiskConfig")
     public ApiResponse updRiskConfig(@RequestBody RiskConfigDTO riskConfigDTO) {
         systemDictDataService.updRiskConfig(riskConfigDTO);
         return ApiResponse.success(null);
@@ -52,6 +54,7 @@
     @PreventRepeat
     @ApiOperation("琛ュ厖璇存槑")
     @PostMapping("/saveSupplementDescribe")
+    @RequiresPermissions("business:settleRisk:saveSupplementFile")
     public ApiResponse saveSupplementDescribe(@RequestBody SaveSupplementDescribeDTO dto) {
         settleClaimsService.saveSupplementDescribe(dto);
         return ApiResponse.success(null);
@@ -60,6 +63,7 @@
     @PreventRepeat
     @ApiOperation("娣诲姞鏉愭枡")
     @PostMapping("/saveSupplementFile")
+    @RequiresPermissions("business:settleRisk:saveSupplementFile")
     public ApiResponse saveSupplementFile(@RequestBody SaveSupplementDescribeDTO dto) {
         settleClaimsService.saveSupplementFile(dto);
         return ApiResponse.success(null);
@@ -69,6 +73,7 @@
     @PreventRepeat
     @ApiOperation("骞冲彴绔嬫鎴栭��鍥�")
     @PostMapping("/register")
+    @RequiresPermissions("business:settleRisk:register")
     public ApiResponse register(@RequestBody OptSettleClaimsDTO dto) {
         settleClaimsService.register(dto);
         return ApiResponse.success(null);
@@ -79,6 +84,7 @@
     @PreventRepeat
     @ApiOperation("娣诲姞鎶ユ鍙�")
     @PostMapping("/addReportNum")
+    @RequiresPermissions("business:settleRisk:addReportNum")
     public ApiResponse addReportNum(@RequestBody OptSettleClaimsDTO dto) {
         settleClaimsService.addReportNum(dto);
         return ApiResponse.success(null);
@@ -89,6 +95,7 @@
     @PreventRepeat
     @ApiOperation("娣诲姞澶囨敞")
     @PostMapping("/addRemark")
+    @RequiresPermissions("business:settleRisk:addRemark")
     public ApiResponse addRemark(@RequestBody OptSettleClaimsDTO dto) {
         settleClaimsService.addRemark(dto);
         return ApiResponse.success(null);
@@ -98,6 +105,7 @@
     @PreventRepeat
     @ApiOperation("鍙楃悊涓氬姟")
     @PostMapping("/acceptance")
+    @RequiresPermissions("business:settleRisk:acceptance")
     public ApiResponse acceptance(@RequestBody AcceptanceSettleClaimsDTO dto) {
         settleClaimsService.acceptance(dto);
         return ApiResponse.success(null);
@@ -115,6 +123,7 @@
     @PreventRepeat
     @ApiOperation("鐞嗙畻")
     @PostMapping("/compensation")
+    @RequiresPermissions("business:settleRisk:compensation")
     public ApiResponse compensation(@RequestBody CompensationDTO dto) {
         settleClaimsService.compensation(dto);
         return ApiResponse.success(null);
@@ -124,6 +133,7 @@
     @PreventRepeat
     @ApiOperation("鍟嗚瀹℃壒")
     @PostMapping("/discussAudit")
+    @RequiresPermissions("business:settleRisk:discussAudit")
     public ApiResponse discussAudit(@RequestBody DiscussAuditDTO dto) {
         settleClaimsService.discussAudit(dto);
         return ApiResponse.success(null);
@@ -134,6 +144,7 @@
     @PreventRepeat
     @ApiOperation("鏍歌禂")
     @PostMapping("/nuclearCompensation")
+    @RequiresPermissions("business:settleRisk:nuclearCompensation")
     public ApiResponse nuclearCompensation(@RequestBody CompensationDTO dto) {
         settleClaimsService.nuclearCompensation(dto);
         return ApiResponse.success(null);
@@ -144,6 +155,7 @@
     @PreventRepeat
     @ApiOperation("淇敼閲戦")
     @PostMapping("/updFee")
+    @RequiresPermissions("business:settleRisk:updFee")
     public ApiResponse updFee(@RequestBody CompensationDTO dto) {
         settleClaimsService.updFee(dto);
         return ApiResponse.success(null);
@@ -153,6 +165,7 @@
     @PreventRepeat
     @ApiOperation("淇敼妗堜欢绫诲瀷")
     @PostMapping("/updCaseType")
+    @RequiresPermissions("business:settleRisk:updCaseType")
     public ApiResponse updCaseType(@RequestBody CaseTypeDTO dto) {
         settleClaimsService.updCaseType(dto);
         return ApiResponse.success(null);
@@ -162,6 +175,7 @@
     @PreventRepeat
     @ApiOperation("纭鎵撴")
     @PostMapping("/payCash")
+    @RequiresPermissions("business:settleRisk:payCash")
     public ApiResponse payCash(@RequestBody PayCashDTO dto) {
         settleClaimsService.payCash(dto);
         return ApiResponse.success(null);
@@ -171,6 +185,7 @@
     @PreventRepeat
     @ApiOperation("淇敼浼ゆ畫绫诲瀷")
     @PostMapping("/updHurtType")
+    @RequiresPermissions("business:settleRisk:updHurtType")
     public ApiResponse updHurtType(@RequestBody UpdHurtTypeDTO dto) {
         settleClaimsService.updHurtType(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 be029a4..3be4154 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
@@ -2011,7 +2011,7 @@
         ACCEPTANCE(9, "宸插彈鐞�",3),//寰呯悊绠�
         WAIT_AUDIT_COMPENSATION(10, "寰呮牳璧�",4),
         COMPENSATION(11, "宸叉牳璧�",5),
-        CONFIRM_FEE(12, "宸茬‘璁ら噾棰�",5),
+        CONFIRM_FEE(12, "寰呯粨妗�",5),
         CLOSE_CASE(13, "宸茬粨妗�",6),
         RETURN(14, "宸叉挙妗�",7),
         ;
@@ -2070,7 +2070,7 @@
         SUPPLEMENT(5, "琛ュ厖璇存槑","鎻愪氦鎰忚锛�${param}"),
         PLATFORM_LP_DEAL(6, "骞冲彴鐞嗚禂澶勭悊","宸插湪骞冲彴瀹屾垚鐞嗚禂"),
         PLATFORM_REMARK(7, "澶囨敞鏍囩","${param}"),
-        PLATFORM_ADDCODE(8, "骞冲彴娣诲姞鎶ユ鍙�","澶囨鍙凤細${param}"),
+        PLATFORM_ADDCODE(8, "骞冲彴淇敼鎶ユ鍙�","澶囨鍙凤細${param}"),
         PLATFORM_UN_AGREE_BACK(9, "浼佷笟涓嬭浇璧勬枡",""),
         PLATFORM_DOWNLOAD(10, "骞冲彴涓嬭浇璧勬枡",""),
         PLATFORM_CHECK_PASS(11, "骞冲彴涓婁紶璧勬枡",""),
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java
index c6a1f02..19a52c8 100644
--- a/server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java
@@ -62,4 +62,6 @@
     @ApiModelProperty(value = "绫诲瀷锛�0=鍔犱繚锛�1=鍑忎繚锛�2=鎹㈠巶 ")
     private List<Integer> types;
 
+    @ApiModelProperty(value = "鏄惁鏄姤妗堜娇鐢紱0=鍚︼紱1=鏄�")
+    private Integer isSettleClaims;
 }
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
index 1dd9e0a..3edb558 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -1416,8 +1416,6 @@
         }
     }
 
-
-
     /**
      * 鍔犱繚鏁版嵁澶勭悊
      * @param applyChange 鍔犲噺淇濅繚鍗曟暟鎹�
@@ -1426,6 +1424,202 @@
      * @param loginUserInfo 鎿嶄綔浜�
      */
     public void addChangeDetail(ApplyChange applyChange ,List<ApplyChagneDetail> addDetailList,
+                                List<DuSolution> duSolutionList,
+                                InsuranceApply insuranceApply,Solutions solutions,LoginUserInfo loginUserInfo,BigDecimal detailFee,Integer delSize,
+                                List<Integer> worktypeIdList){
+        if(applyChange.getApplyStartTime().getTime()>insuranceApply.getEndTime().getTime()){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚鐢熸晥鏈熶笉鑳藉ぇ浜庝繚鍗曠粨鏉熸棩鏈�");
+        }
+        //鏌ヨ鏈鍔犱繚鎵�鏈変汉鍛樹俊鎭�
+        List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
+                .eq(Member::getIsdeleted,Constants.ZERO)
+                .in(Member::getIdcardNo,addDetailList.stream().map(i->i.getIdcardNo()).collect(Collectors.toList()))
+        );
+        //鏌ヨ鏈鍔犱繚鎵�鏈変汉鍛樼殑鍘嗗彶淇濆崟璁板綍
+        List<ApplyDetail> applyDetailAllList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class,
+                new MPJLambdaWrapper<ApplyDetail>()
+                        .selectAll(ApplyDetail.class)
+                        .selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode)
+                        .selectAs(InsuranceApply::getStatus,ApplyDetail::getApplyStatus)
+                        .selectAs(Company::getName,ApplyDetail::getCompanyName)
+                        .selectAs(Solutions::getBaseId,ApplyDetail::getSolutionBaseId)
+                        .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId)
+                        .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
+                        .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
+                        .in(ApplyDetail::getMemberId,memberList.stream().map(i->i.getId()).collect(Collectors.toList()))
+                        .eq(ApplyDetail::getIsdeleted,Constants.ZERO));
+
+        List<ApplyChagneDetail> applyChangeDetailAllList = applyChagneDetailJoinMapper.selectJoinList(ApplyChagneDetail.class,
+                new MPJLambdaWrapper<ApplyChagneDetail>()
+                        .selectAll(ApplyChagneDetail.class)
+                        .leftJoin(ApplyChange.class, ApplyChange::getId, ApplyChagneDetail::getApplyChangeId)
+                        .leftJoin(Member.class,Member::getId,ApplyChagneDetail::getMemberId)
+                        .eq(ApplyChange::getApplyId,applyChange.getApplyId())
+                        .in(Member::getIdcardNo,memberList.stream().map(i->i.getId()).collect(Collectors.toList()))
+                        .in(ApplyChange::getStatus, Constants.ZERO, Constants.ONE));
+
+        for (int i = 0; i < addDetailList.size(); i++) {
+            ApplyChagneDetail applyChagneDetail = addDetailList.get(i);
+            if (
+                    Constants.equalsInteger(solutions.getHasDispatchUnit(),Constants.ZERO) && Objects.isNull(applyChagneDetail.getDuId())
+                            || Objects.isNull(applyChagneDetail.getWorktypeId())
+                            || StringUtils.isBlank(applyChagneDetail.getIdcardNo())
+            ) {
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝繀濉」缂哄け");
+            }
+
+            //鏍规嵁鍛樺伐韬唤璇佽繘琛屽垽鏂勾榫�
+            long age = Constants.getAgeByIdCard(applyChagneDetail.getIdcardNo());
+            if(Objects.isNull(age)
+                    || age > solutions.getMaxAge()
+                    || age < solutions.getMinAge()){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+applyChagneDetail.getMemberName()+"銆戝憳宸ュ勾榫勮秴鍑烘柟妗堥厤缃� 鏂规閰嶇疆銆�"+solutions.getMinAge()+" - "+solutions.getMaxAge()+"銆戝瓨鍦ㄥ紓甯告暟鎹紒");
+            }
+
+            //鏌ヨ褰撳墠澶勭悊鐨勪汉鍛樹俊鎭�
+            List<Member> optMembers = memberList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())).collect(Collectors.toList());
+            Member member = new Member();
+            if(CollectionUtils.isEmpty(optMembers)){
+                member = new Member();
+                member.setCreateDate(new Date());
+                member.setCreator(loginUserInfo.getId());
+                member.setIsdeleted(Constants.ZERO);
+                member.setName(applyChagneDetail.getMemberName());
+                member.setCompanyId(insuranceApply.getCompanyId());
+                member.setSex(Constants.getSexByIdCard(applyChagneDetail.getIdcardNo()));
+                if(!IdcardUtil.isValidCard(applyChagneDetail.getIdcardNo())){
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鍔犱繚鍛樺伐淇℃伅韬唤璇佷俊鎭敊璇痆"+member.getName()+"]");
+                }
+                member.setIdcardNo(applyChagneDetail.getIdcardNo());
+                member.setApplyId(insuranceApply.getId());
+                member.setDuId(applyChagneDetail.getDuId());
+                member.setWorktypeId(applyChagneDetail.getWorktypeId());
+                memberMapper.insert(member);
+                applyChagneDetail.setMemberId(member.getId());
+            }else{
+                member = optMembers.get(Constants.ZERO);
+                member.setApplyId(insuranceApply.getId());
+                member.setDuId(applyChagneDetail.getDuId());
+                member.setWorktypeId(applyChagneDetail.getWorktypeId());
+                member.setStartTime(applyChagneDetail.getStartTime());
+                member.setEndTime(applyChagneDetail.getEndTime());
+                memberMapper.updateById(member);
+                applyChagneDetail.setMemberId(member.getId());
+                
+                if(applyChangeDetailAllList.stream().filter(
+                        j->Constants.equalsInteger(j.getMemberId(),applyChagneDetail.getMemberId())
+                ).collect(Collectors.toList()).size()>Constants.ZERO){
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄧ敵璇蜂腑鐨勫姞鍑忎繚/鎹㈠巶鍗曟嵁");
+                }
+
+            }
+            List<ApplyDetail> memberApplyDetailList = new ArrayList<>();
+            if(CollectionUtils.isNotEmpty(applyDetailAllList)){
+                memberApplyDetailList = applyDetailAllList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())).collect(Collectors.toList());
+            }
+            if(CollectionUtils.isEmpty(memberApplyDetailList)){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "淇濆崟涓湭瀛樺湪鏄庣粏璁板綍");
+            }
+
+            if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())&&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId())
+                    && j.getStartTime().getTime() <= DateUtil.getMontageDate(applyChange.getApplyStartTime(),1).getTime()
+                    && j.getEndTime().getTime() >= DateUtil.getMontageDate(insuranceApply.getEndTime(),2).getTime()
+            ).collect(Collectors.toList()).size()>Constants.ZERO){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄦ棩鏈熷啿绐佺殑鏁版嵁");
+            };
+
+            if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())
+                    &&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId())
+                    && j.getStartTime().getTime() <= System.currentTimeMillis()
+                    && j.getEndTime().getTime() >= System.currentTimeMillis()
+            ).collect(Collectors.toList()).size()>Constants.ZERO){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄤ繚闅滀腑鐨勪繚鍗曚俊鎭紝鏃犳硶杩涜鍔犱繚");
+            };
+
+
+            List<ApplyDetail> optApplyDetailList = applyDetailAllList.stream()
+                    .filter(j->Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId())
+            ).collect(Collectors.toList());
+
+            if(CollectionUtils.isEmpty(optApplyDetailList)){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "淇濆崟涓湭瀛樺湪鏄庣粏璁板綍");
+            }
+
+            ApplyDetail applyDetail = optApplyDetailList.get(Constants.ZERO);
+            applyChagneDetail.setPrice(applyDetail.getPrice());
+            applyChagneDetail.setCreateDate(new Date());
+            applyChagneDetail.setCreator(loginUserInfo.getId());
+            applyChagneDetail.setIsdeleted(Constants.ZERO);
+            applyChagneDetail.setApplyChangeId(applyChange.getId());
+            applyChagneDetail.setStartTime(DateUtil.getMontageDate(applyChange.getApplyStartTime(),1));
+            applyChagneDetail.setEndTime(DateUtil.getMontageDate(insuranceApply.getEndTime(),2));
+            applyChagneDetail.setType(Constants.ZERO);
+
+
+            List<ApplyDetail> checkStaticMemberSolutionList = memberApplyDetailList.stream()
+                            .filter(j->Constants.equalsInteger(j.getSolutionBaseId(),solutions.getBaseId())
+                            && !( j.getApplyStatus() == Constants.InsuranceApplyStatus.CLOSE.getKey() || j.getApplyStatus() == Constants.InsuranceApplyStatus.WTB_CLOSED.getKey() )
+                            && (
+                                ( applyChange.getApplyStartTime().getTime()<= j.getStartTime().getTime() && j.getStartTime().getTime() <  insuranceApply.getEndTime().getTime() )
+                                    ||
+                                ( applyChange.getApplyStartTime().getTime()< j.getEndTime().getTime() && j.getEndTime().getTime() <  insuranceApply.getEndTime().getTime() )
+                                    ||
+                                ( applyChange.getApplyStartTime().getTime()> j.getStartTime().getTime() &&   insuranceApply.getEndTime().getTime() < j.getEndTime().getTime() )
+                                            )
+                            ).collect(Collectors.toList());
+
+            if(checkStaticMemberSolutionList.size() >Constants.ZERO){
+                String companyName = checkStaticMemberSolutionList.get(Constants.ZERO).getCompanyName();
+                String idCode = checkStaticMemberSolutionList.get(Constants.ZERO).getIdcardNo();
+                if(StringUtils.isNotBlank(companyName)){
+                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+applyChagneDetail.getMemberName()+" "+idCode+"銆戝凡鍦ㄣ��"+companyName+"銆戝瓨鍦ㄤ繚闄�,璇疯仈绯诲鏈嶇‘璁�");
+                }else{
+                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+applyChagneDetail.getMemberName()+" "+idCode+"銆戝湪璇ヤ繚闄╂柟妗堜笅宸插瓨鍦ㄦ姇淇濊褰曪紝鏃犳硶杩涜璇ユ搷浣�");
+                }
+            };
+
+            //鏌ヨ鍛樺伐鏄湪涓诲崟涓� 鏄惁瀛樺湪鐢熸晥涓殑鏁版嵁
+            if(!Objects.isNull(applyChagneDetail.getMemberId())){
+                if (applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>().lambda()
+                        .eq(ApplyDetail::getApplyId, applyChange.getApplyId())
+                        .eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId())
+                        .le(ApplyDetail::getStartTime, "now()")
+                        .ge(ApplyDetail::getEndTime, "now()")
+                ) > Constants.ZERO) {
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄤ繚闅滀腑鐨勪繚鍗曚俊鎭紝鏃犳硶杩涜鍔犱繚");
+                }
+            }
+
+            //楠岃瘉娲鹃仯鍗曚綅淇℃伅 涓庡伐绉嶄俊鎭� 鏄惁瀛樺湪
+            if(Constants.equalsInteger(solutions.getHasDispatchUnit(),Constants.ZERO)){
+                if (duSolutionList.stream().filter(d -> d.getDispatchUnitId().equals(applyChagneDetail.getDuId())).collect(Collectors.toList()).size() <= Constants.ZERO) {
+                    throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "銆�" + applyChagneDetail.getMemberName() + "銆戝憳宸ユ淳閬e崟浣嶆湭鏌ヨ鍒帮紒");
+                }
+            }
+            if (worktypeIdList.stream().filter(d ->  Constants.equalsInteger(d,applyChagneDetail.getWorktypeId()))
+                    .collect(Collectors.toList()).size() <= Constants.ZERO) {
+                throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "銆�" + applyChagneDetail.getMemberName() + "銆戝憳宸ュ伐绉嶄俊鎭湭鏌ヨ鍒帮紒");
+            }
+            applyChagneDetail.setMemberId(member.getId());
+            //濡傛灉鏄噺淇濅笟鍔′负浠呮浛鎹� 涓� 鏂规鐨勬墸璐瑰懆鏈熷拰鎬诲懆鏈熺浉绛� 鍒欏鐞嗗噺淇濊垂鐢�
+            if(Constants.equalsInteger(solutions.getDelOnlyReplace(),Constants.ONE)
+                    && Constants.equalsInteger(solutions.getTimeUnit(),solutions.getInsureCycleUnit()) && delSize> i){
+                applyChagneDetail.setFee(BigDecimal.ZERO);
+            }else{
+                applyChagneDetail.setFee(detailFee);
+            }
+            applyChagneDetailJoinMapper.insert(applyChagneDetail);
+        }
+    }
+
+    /**
+     * 鍔犱繚鏁版嵁澶勭悊
+     * @param applyChange 鍔犲噺淇濅繚鍗曟暟鎹�
+     * @param addDetailList  鍔犱繚浜哄憳
+     * @param duSolutionList  娲鹃仯鍗曚綅鏂规鏁版嵁
+     * @param loginUserInfo 鎿嶄綔浜�
+     */
+    public void addChangeDetailOld(ApplyChange applyChange ,List<ApplyChagneDetail> addDetailList,
                                 List<DuSolution> duSolutionList,
                                 InsuranceApply insuranceApply,Solutions solutions,LoginUserInfo loginUserInfo,BigDecimal detailFee,Integer delSize,
                                 List<Integer> worktypeIdList){
@@ -1456,6 +1650,7 @@
             ApplyDetail applyDetail = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>()
                             .lambda()
                             .eq(ApplyDetail::getApplyId,applyChange.getApplyId()).last("limit 1"));
+
             if(Objects.isNull(applyDetail)){
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "淇濆崟涓湭瀛樺湪鏄庣粏璁板綍");
             }
@@ -1548,6 +1743,7 @@
                     throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄤ繚闅滀腑鐨勪繚鍗曚俊鎭紝鏃犳硶杩涜鍔犱繚");
                 }
             }
+
             //楠岃瘉娲鹃仯鍗曚綅淇℃伅 涓庡伐绉嶄俊鎭� 鏄惁瀛樺湪
             if(Constants.equalsInteger(solutions.getHasDispatchUnit(),Constants.ZERO)){
                 if (duSolutionList.stream().filter(d -> d.getDispatchUnitId().equals(applyChagneDetail.getDuId())).collect(Collectors.toList()).size() <= Constants.ZERO) {
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java
index 529c16c..df0bc26 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java
@@ -341,6 +341,11 @@
         queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59.0");
         queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeS()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeS()+" 00:00:00.0");
         queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeE()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeE()+" 23:59:59.0");
+
+
+        queryWrapper.apply(Objects.nonNull(applyDetailPageDTO.getIsSettleClaims())&&Constants.equalsInteger(applyDetailPageDTO.getIsSettleClaims(),Constants.ONE),
+                " ( t4.START_TIME <= now() and t4.END_TIME >= DATE_SUB(now(), INTERVAL 30 DAY) ) ");
+
         return  applyDetailJoinMapper.selectJoinList(ApplyDetail.class,queryWrapper);
     }
 
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
index 43d2c6c..809135f 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -2655,6 +2655,47 @@
       return applyDetailList;
     }
 
+
+    public static void checkStaticMemberSolutionNew(Integer solutionId,Integer memberId,String memberIdCard,String memberName,Date startTime,
+                                                 Date endTime,ApplyDetailJoinMapper applyDetailJoinMapper){
+        List<ApplyDetail> applyDetailList = new ArrayList<ApplyDetail>();
+        try {
+            applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class,
+                    new MPJLambdaWrapper<ApplyDetail>()
+                            .selectAll(ApplyDetail.class)
+                            .selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode)
+                            .selectAs(Company::getName,ApplyDetail::getCompanyName)
+                            .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId)
+                            .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
+                            .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
+                            .eq(ApplyDetail::getIdcardNo,memberIdCard)
+                            .eq(Solutions::getBaseId,solutionId)
+                            .eq(ApplyDetail::getIsdeleted,Constants.ZERO)
+                            .notIn(InsuranceApply::getStatus
+                                    ,Constants.InsuranceApplyStatus.CLOSE.getKey()
+                                    ,Constants.InsuranceApplyStatus.WTB_CLOSED.getKey() )
+                            .apply(" ( " +
+                                    " '"+DateUtil.getPlusTime(startTime)+"'  <= t.start_time AND t.start_time < '"+DateUtil.getPlusTime(endTime)+"' " +
+                                    " or " +
+                                    "  ( '"+DateUtil.getPlusTime(startTime)+"' < t.end_time AND t.end_time < '"+DateUtil.getPlusTime(endTime)+"' )  " +
+                                    " or " +
+                                    " ( '"+DateUtil.getPlusTime(startTime)+"' > t.start_time AND '"+DateUtil.getPlusTime(endTime)+"' < t.end_time )" +
+                                    " ) " ));
+        }catch (Exception e){
+
+        }
+        if(applyDetailList.size() >Constants.ZERO){
+            String companyName = applyDetailList.get(Constants.ZERO).getCompanyName();
+            String idCode = applyDetailList.get(Constants.ZERO).getIdcardNo();
+            if(StringUtils.isNotBlank(companyName)){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+memberName+" "+idCode+"銆戝凡鍦ㄣ��"+companyName+"銆戝瓨鍦ㄤ繚闄�,璇疯仈绯诲鏈嶇‘璁�");
+            }else{
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+memberName+" "+idCode+"銆戝湪璇ヤ繚闄╂柟妗堜笅宸插瓨鍦ㄦ姇淇濊褰曪紝鏃犳硶杩涜璇ユ搷浣�");
+            }
+        };
+
+    }
+
     public static void checkStaticMemberSolution(Integer solutionId,Integer memberId,String memberIdCard,String memberName,Date startTime,
                                                  Date endTime,ApplyDetailJoinMapper applyDetailJoinMapper){
         List<ApplyDetail> applyDetailList = new ArrayList<ApplyDetail>();
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 cdc9618..997b409 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
@@ -1146,7 +1146,7 @@
     public void saveSettleClaimsLog(SettleClaims settleClaims, Constants.SettleClaimsLogType settleClaimsLogType, String content,Constants.SettleClaimsStatus settleClaimsStatus){
         LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); 
         SettleClaimsLog settleClaimsLog = new SettleClaimsLog();
-        settleClaimsLog.setCreateDate(new Date());
+        settleClaimsLog.setCreateDate(Objects.isNull(settleClaims.getEditDate())?new Date():settleClaims.getEditDate());
         settleClaimsLog.setCreator(loginUserInfo.getId());
         settleClaimsLog.setIsdeleted(Constants.ZERO);
         settleClaimsLog.setSettleClainmsId(settleClaims.getId());
@@ -1311,7 +1311,7 @@
         queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getInformantName()),SettleClaims::getInformantName, pageWrap.getModel().getInformantName());
         queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getHappenTime()),SettleClaims::getHappenTime, pageWrap.getModel().getHappenTime());
         queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCreateDateStr()),SettleClaims::getCreateDate, pageWrap.getModel().getCreateDateStr());
-        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()),SettleClaimsExt::getMemberName, pageWrap.getModel().getMemberName());
+        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getExtData().getMemberName()),SettleClaimsExt::getMemberName, pageWrap.getModel().getExtData().getMemberName());
         queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getSolutionName()),SettleClaimsExt::getBxName, pageWrap.getModel().getSolutionName());
         queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getApplyCode()),SettleClaimsExt::getBxCode, pageWrap.getModel().getApplyCode());
         queryWrapper.eq(pageWrap.getModel().getInHospital()!=null,SettleClaims::getInHospital, pageWrap.getModel().getInHospital());
@@ -1388,6 +1388,7 @@
         }
         SettleClaims settleClaims = new SettleClaims();
         BeanUtils.copyProperties(settleClaimsDTO,settleClaims);
+        settleClaims.setEditDate(new Date());
         settleClaims.setReportNumStatus(Constants.ZERO);
         settleClaims.setCompanyId(loginUserInfo.getCompanyId());
         settleClaims.setOrigin(Constants.ZERO);
@@ -1865,6 +1866,7 @@
         if(Constants.equalsInteger(settleClaims.getWaitSupplement(),Constants.ONE)){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"寰呬紒涓氳ˉ鍏呮枃浠讹紝璇风瓑寰呬紒涓氳ˉ鍏呮枃浠�");
         }
+        settleClaims.setEditDate(new Date());
         //瀛樺偍鏃ュ織
         this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.SUPPLEMENT_DESCRIBE,dto.getDescribe(),null);
         settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
@@ -1939,6 +1941,7 @@
                 multifileJoinMapper.insert(multifile);
             }
         }
+        settleClaims.setEditDate(new Date());
         //瀛樺偍鏃ュ織
         this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.SUPPLEMENT,null,null);
         //鍒犻櫎浼佷笟鐨勪唬鍔為�氱煡------
@@ -1971,13 +1974,12 @@
         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(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
-//        }
+        settleClaims.setEditDate(new Date());
         //瀛樺偍鏃ュ織
         this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.RETURN_SETTLE,null,Constants.SettleClaimsStatus.RETURN);
         settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
-                .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getStatus,Constants.SettleClaimsStatus.RETURN.getKey()));
+                .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate())
+                .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.RETURN.getKey()));
         deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡
         //缁欎紒涓氬彂閫氱煡锛屽凡缁撴-------------
         sendNoticeBiz(Constants.ZERO,settleClaims ,Constants.NoticeType.FOURTEEN);
@@ -2007,11 +2009,12 @@
         ){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
         }
+        settleClaims.setEditDate(new Date());
         //瀛樺偍鏃ュ織
         this.saveSettleClaimsLog(settleClaims, Constants.SettleClaimsLogType.UPD_CASE_TYPE,Constants.SettleClaimsLogType.UPD_CASE_TYPE.getInfo(),null);
         settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
                 .eq(SettleClaims::getId,dto.getId())
-                .set(SettleClaims::getEditDate,DateUtil.getCurrDateTime())
+                .set(SettleClaims::getEditDate,settleClaims.getEditDate())
                 .set(SettleClaims::getEditor,loginUserInfo.getId())
                 .set(SettleClaims::getCaseType,dto.getCaseType()));
     }
@@ -2043,10 +2046,11 @@
         Constants.SettleClaimsStatus settleClaimsStatus =
                 Constants.equalsInteger(dto.getRegisterStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())?Constants.SettleClaimsStatus.CONFIRM_INFORMATION:Constants.SettleClaimsStatus.FINISH_ACCEPTANCE;
         //瀛樺偍鏃ュ織
+        settleClaims.setEditDate(new Date());
         this.saveSettleClaimsLog(settleClaims, Constants.equalsInteger(dto.getRegisterStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())?Constants.SettleClaimsLogType.PLATFORM_REGISTER:Constants.SettleClaimsLogType.PLATFORM_RETURN,dto.getDescribe(),settleClaimsStatus);
         settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
                 .eq(SettleClaims::getId,dto.getId())
-                .set(SettleClaims::getEditDate, DateUtil.getCurrDateTime())
+                .set(SettleClaims::getEditDate, settleClaims.getEditDate())
                 .set(SettleClaims::getEditor,loginUserInfo.getId())
                 .set(SettleClaims::getStatus,settleClaimsStatus.getKey()));
 
@@ -2110,12 +2114,14 @@
 //        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());
+
+        settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
+                .eq(SettleClaims::getId,param.getId()).set(SettleClaims::getEditDate,
+                        update.getEditDate()).set(SettleClaims::getReportNum,param.getReportNum()));
+
         update.setEditor(user.getId());
         update.setReportNumStatus(model.getReportNumStatus()+Constants.ONE);
         update.setId(model.getId());
@@ -2129,6 +2135,7 @@
         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));
+        log.setCreateDate(update.getEditDate());
         settleClaimsLogMapper.insert(log);
 
         return  1;
@@ -2172,6 +2179,7 @@
         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));
+        log.setCreateDate(update.getEditDate());
         settleClaimsLogMapper.insert(log);
         return  1;
 
@@ -2205,10 +2213,11 @@
         if(!Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey(),settleClaims.getStatus())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
         }
+        settleClaims.setEditDate(new Date());
         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())
+                    .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate()).set(SettleClaims::getEditor,loginUserInfo.getId())
                     .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.ACCEPTANCE.getKey()));
             //瀛樺偍鏃ュ織
             this.saveSettleClaimsLog(settleClaims,
@@ -2218,7 +2227,7 @@
         }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())
+                    .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate()).set(SettleClaims::getEditor,loginUserInfo.getId())
                     .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.REJECT_DEAL.getKey()));
             //瀛樺偍鏃ュ織
             this.saveSettleClaimsLog(settleClaims,
@@ -2227,7 +2236,7 @@
         }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())
+                    .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate()).set(SettleClaims::getEditor,loginUserInfo.getId())
                     .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT.getKey()));
             //瀛樺偍鏃ュ織
             this.saveSettleClaimsLog(settleClaims,
@@ -2339,7 +2348,7 @@
         }
 
         List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class);
-
+        settleClaims.setEditDate(new Date());
         SettleClaims update = new SettleClaims();
         update.setEditDate(new Date());
         update.setEditor(loginUserInfo.getId());
@@ -2396,10 +2405,11 @@
         //瀛樺偍鏃ュ織
         Constants.SettleClaimsLogType settleClaimsLogType = Constants.equalsInteger(dto.getStatus(),Constants.ZERO)
                 ?Constants.SettleClaimsLogType.PLATFORM_DISCUSS_PASS:Constants.SettleClaimsLogType.PLATFORM_DISCUSS_REFUSE;
+        settleClaims.setEditDate(new Date());
         this.saveSettleClaimsLog(settleClaims, settleClaimsLogType
                 ,settleClaimsLogType.getInfo().replace("${param}",dto.getDescribe()),settleClaimsStatus);
         settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
-                .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate, DateUtil.getCurrDateTime())
+                .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate, settleClaims.getEditDate())
                         .set(SettleClaims::getEditor,loginUserInfo.getId())
                 .set(SettleClaims::getStatus,settleClaimsStatus.getKey()));
         deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡
@@ -2440,9 +2450,9 @@
 
 
         List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class);
-
+        settleClaims.setEditDate(new Date());
         SettleClaims update = new SettleClaims();
-        update.setEditDate(new Date());
+        update.setEditDate(settleClaims.getEditDate());
         update.setEditor(loginUserInfo.getId());
         update.setHpAccountContent(dto.getCompensationJson());
         update.setHpAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
@@ -2485,9 +2495,9 @@
         }
 
         List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class);
-
+        settleClaims.setEditDate(new Date());
         SettleClaims update = new SettleClaims();
-        update.setEditDate(new Date());
+        update.setEditDate(settleClaims.getEditDate());
         update.setEditor(loginUserInfo.getId());
         if(Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus())){
             update.setFeeUpdate(Constants.ONE);
@@ -2544,8 +2554,9 @@
         if(!Constants.equalsInteger(settleClaims.getCompanyId(),loginUserInfo.getCompanyId())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍浼佷笟鐨勬暟鎹紝鎮ㄦ棤娉曡繘琛岃鎿嶄綔");
         }
+        settleClaims.setEditDate(new Date());
         SettleClaims update = new SettleClaims();
-        update.setEditDate(new Date());
+        update.setEditDate(settleClaims.getEditDate());
         update.setEditor(loginUserInfo.getId());
         update.setStatus(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey());
         update.setId(settleClaims.getId());
@@ -2581,8 +2592,9 @@
         if(!Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
         }
+        settleClaims.setEditDate(new Date());
         SettleClaims update = new SettleClaims();
-        update.setEditDate(new Date());
+        update.setEditDate(settleClaims.getEditDate());
         update.setEditor(loginUserInfo.getId());
         update.setStatus(Constants.SettleClaimsStatus.CLOSE_CASE.getKey());
         update.setCheckDate(new Date());
@@ -2803,15 +2815,18 @@
         }
         if(!(Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey(),settleClaims.getStatus())
         || Constants.equalsInteger(Constants.SettleClaimsStatus.ACCEPTANCE.getKey(),settleClaims.getStatus())
-        //        || Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_DEAL.getKey(),settleClaims.getStatus())
+                || Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus())
+                || Constants.equalsInteger(Constants.SettleClaimsStatus.COMPENSATION.getKey(),settleClaims.getStatus())
+                || Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey(),settleClaims.getStatus())
         )){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
         }
         if(!Constants.equalsInteger(settleClaims.getHurtType(),Constants.TWO)){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"宸蹭慨鏀硅繃锛屾棤娉曞啀娆′慨鏀�");
         }
+        settleClaims.setEditDate(new Date());
         SettleClaims update = new SettleClaims();
-        update.setEditDate(new Date());
+        update.setEditDate(settleClaims.getEditDate());
         update.setEditor(loginUserInfo.getId());
         update.setHurtType(dto.getHurtType());
         update.setId(settleClaims.getId());
@@ -2852,9 +2867,9 @@
         ){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
         }
-
+        settleClaims.setEditDate(new Date());
         SettleClaims update = new SettleClaims();
-        update.setEditDate(new Date());
+        update.setEditDate(settleClaims.getEditDate());
         update.setEditor(loginUserInfo.getId());
         update.setReceiveBank(dto.getReceiveBank());
         update.setReceiveAccount(dto.getReceiveAccount());

--
Gitblit v1.9.3