From 7222d2bcedd4b959107cfb0086a8bab10a2c15e0 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 21 五月 2025 18:18:58 +0800
Subject: [PATCH] git ch

---
 server/service/src/main/java/com/doumee/dao/business/vo/SettleClaimsExcelVO.java           |   90 ++++++
 server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java               |   96 ++----
 server/service/src/main/java/com/doumee/service/business/SettleClaimsService.java          |    3 
 server/platform/src/main/java/com/doumee/api/business/SettleClaimsController.java          |   42 ++
 server/service/src/main/java/com/doumee/core/utils/Constants.java                          |   29 +
 server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java |  525 +++++++++++++++++++++++--------------
 server/service/src/main/java/com/doumee/dao/business/vo/SettleParentStatusVO.java          |    2 
 server/service/src/main/java/com/doumee/dao/business/model/SettleClaimsExt.java            |   14 
 8 files changed, 526 insertions(+), 275 deletions(-)

diff --git a/server/platform/src/main/java/com/doumee/api/business/SettleClaimsController.java b/server/platform/src/main/java/com/doumee/api/business/SettleClaimsController.java
index 6606a90..b0a4566 100644
--- a/server/platform/src/main/java/com/doumee/api/business/SettleClaimsController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/SettleClaimsController.java
@@ -10,10 +10,13 @@
 import com.doumee.core.model.PageData;
 import com.doumee.dao.business.dto.SCSupplementDTO;
 import com.doumee.dao.business.model.SettleClaims;
+import com.doumee.dao.business.vo.SettleClaimsExcelVO;
 import com.doumee.service.business.SettleClaimsService;
+import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletResponse;
@@ -141,7 +144,31 @@
     @PostMapping("/exportExcel")
     @RequiresPermissions("business:settleclaims:exportExcel")
     public void exportExcel (@RequestBody PageWrap<SettleClaims> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(SettleClaims.class).export(settleClaimsService.findPage(pageWrap).getRecords(), "鐞嗚禂鐢宠琛�", response);
+        ExcelExporter.build(SettleClaims.class).export(settleClaimsService.findPage(pageWrap).getRecords(), "鎶ユ鐞嗚禂_"+System.currentTimeMillis(), response);
+    }
+
+
+    @ApiOperation("鍒嗛〉鏌ヨ - 鎵嬪姩褰曞叆")
+    @PostMapping("/pageForSD")
+    @RequiresPermissions("business:settleclaims:query")
+    public ApiResponse<PageData<SettleClaims>> pageForSD (@RequestBody PageWrap<SettleClaims> pageWrap) {
+        return ApiResponse.success(settleClaimsService.findPageForSd(pageWrap));
+    }
+
+    @ApiOperation("瀵煎嚭Excel")
+    @PostMapping("/exportForSDExcel")
+    @RequiresPermissions("business:settleclaims:exportExcel")
+    public void exportForSDExcel (@RequestBody PageWrap<SettleClaims> pageWrap, HttpServletResponse response) {
+        List<SettleClaims> settleClaimsList = settleClaimsService.findPageForSd(pageWrap).getRecords();
+        List<SettleClaimsExcelVO> settleClaimsExcelVOList = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(settleClaimsList)){
+            for (SettleClaims settleClaims:settleClaimsList) {
+                SettleClaimsExcelVO settleClaimsExcelVO = new SettleClaimsExcelVO();
+                BeanUtils.copyProperties(settleClaims,settleClaimsExcelVO);
+                settleClaimsExcelVOList.add(settleClaimsExcelVO);
+            }
+        }
+        ExcelExporter.build(SettleClaimsExcelVO.class).export(settleClaimsExcelVOList, "妗堜欢褰曞叆_"+System.currentTimeMillis(), response);
     }
 
     @ApiOperation("鏍规嵁ID鏌ヨ")
@@ -150,6 +177,17 @@
     public ApiResponse<SettleClaims> findById(@PathVariable Integer id) {
         return ApiResponse.success(settleClaimsService.getSettleClaimsDetail(id));
     }
+
+
+
+    @ApiOperation("鏍规嵁ID鏌ヨ - 鎵嬪姩褰曞叆")
+    @GetMapping("/getDetailForSd")
+    @RequiresPermissions("business:settleclaims:query")
+    public ApiResponse<SettleClaims> getDetailForSd(@RequestParam Integer id) {
+        return ApiResponse.success(settleClaimsService.getSettleClaimsDetailForSd(id));
+    }
+
+
     @ApiOperation("鍒犻櫎闄勪欢")
     @GetMapping("/delFile/{id}/{fileId}")
     @RequiresPermissions("business:settleclaims:query")
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 a589686..cd651c8 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
@@ -769,6 +769,7 @@
         LP_FILE(32, "淇濋櫓鍏徃涓婁紶鐞嗚禂鏉愭枡涓�瑙堣〃", "淇濋櫓鍏徃涓婁紶鐞嗚禂鏉愭枡涓�瑙堣〃"),
         LP_OTHER_FILE(33, "鐞嗚禂鍏朵粬鏉愭枡", "鐞嗚禂鍏朵粬鏉愭枡"),
         LP_PAY_FILE(34, "鎵撴鍑瘉", "鎵撴鍑瘉"),
+        LP_DZBD_FILE(35, "鐢靛瓙淇濆崟", "鐢靛瓙淇濆崟"),
 
         ;
         // 鎴愬憳鍙橀噺
@@ -1938,7 +1939,7 @@
         // 8鍟嗚瀹℃壒鎷掔粷 9宸插彈鐞� 10寰呮牳璧�  11宸叉牳璧� 12宸茬‘璁ら噾棰� 13宸茬粨妗� 14宸叉挙妗�
         WAIT_ACCEPTANCE(0, "鏆傚瓨涓�",0),
         RETURN_ACCEPTANCE(1, "宸叉姤妗�",1),
-        DEAL_ING(2, "寰呯珛妗� 锛堝純鐢級",0),
+        DEAL_ING(2, "寰呯珛妗�",0),
         CONFIRM_INFORMATION(3, "宸茬珛妗�",1),
         FINISH_ACCEPTANCE(4, "绔嬫閫�鍥�",1),
         WAIT_DEAL(5, "寰呭彈鐞�",2),
@@ -2083,23 +2084,25 @@
 
 
     public  enum SettleClaimsLogParentStatus {
-        BA(1, "鎶ユ","宸叉姤妗�"),
-        LA(2, "绔嬫","宸茬珛妗�"),
-        SL(3, "鍙楃悊","宸插彈鐞�"),
-        LS(4, "鐞嗙畻","宸茬悊绠�"),
-        HP(5, "鏍歌禂","宸叉牳璧�"),
-        JA(6, "缁撴","宸茬粨妗�"),
+        BA(1, "鎶ユ","宸叉姤妗�","宸叉姤妗�"),
+        LA(2, "绔嬫","宸茬珛妗�","寰呯珛妗�"),
+        SL(3, "鍙楃悊","宸插彈鐞�","寰呭彈鐞�"),
+        LS(4, "鐞嗙畻","宸茬悊绠�","寰呯悊绠�"),
+        HP(5, "鏍歌禂","宸叉牳璧�","寰呮牳璧�"),
+        JA(6, "缁撴","宸茬粨妗�","寰呯粨妗�"),
         ;
         // 鎴愬憳鍙橀噺
         private String name;
         private String info;
+        private String waitInfo;
         private int key;
 
         // 鏋勯�犳柟娉�
-        SettleClaimsLogParentStatus(int key, String name,String info) {
+        SettleClaimsLogParentStatus(int key, String name,String info,String waitInfo) {
             this.name = name;
             this.info = info;
             this.key = key;
+            this.waitInfo = waitInfo;
         }
 
         // 鏅�氭柟娉�
@@ -2156,6 +2159,16 @@
         public void setInfo(String info) {
             this.info = info;
         }
+
+
+        public String getWaitInfo() {
+            return waitInfo;
+        }
+
+        public void setWaitInfo(String waitInfo) {
+            this.waitInfo = waitInfo;
+        }
+
     }
 
 
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 3cce6d7..ae7178e 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
@@ -26,206 +26,154 @@
 public class SettleClaims {
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
-    @ExcelColumn(name="涓婚敭")
     private Integer id;
 
     @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
-    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
     private Integer creator;
 
     @ApiModelProperty(value = "鍒涘缓鏃堕棿")
-    @ExcelColumn(name="鍒涘缓鏃堕棿")
-
     private Date createDate;
 
     @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
-    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
     private Integer editor;
 
     @ApiModelProperty(value = "鏇存柊鏃堕棿")
-    @ExcelColumn(name="鏇存柊鏃堕棿")
-
     private Date editDate;
 
     @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
-    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
     private Integer isdeleted;
 
     @ApiModelProperty(value = "澶囨敞")
-    @ExcelColumn(name="澶囨敞")
     private String remark;
 
     @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
-    @ExcelColumn(name="鎺掑簭鐮�")
     private Integer sortnum;
 
     @ApiModelProperty(value = "鏂规缂栫爜锛堝叧鑱攕olutions锛�", example = "1")
-    @ExcelColumn(name="鏂规缂栫爜锛堝叧鑱攕olutions锛�")
     private Integer solutionId;
 
     @ApiModelProperty(value = "浼佷笟缂栫爜锛堝叧鑱攃ompany锛�", example = "1")
-    @ExcelColumn(name="浼佷笟缂栫爜锛堝叧鑱攃ompany锛�")
     private Integer companyId;
 
     @ApiModelProperty(value = "浜哄憳缂栫爜锛堝叧鑱攎emeber锛�", example = "1")
-    @ExcelColumn(name="浜哄憳缂栫爜锛堝叧鑱攎emeber锛�")
     private Integer memberId;
 
     @ApiModelProperty(value = "浜嬫晠鍙戠敓鏃堕棿")
-    @ExcelColumn(name="浜嬫晠鍙戠敓鏃堕棿")
     private String happenTime;
 
     @ApiModelProperty(value = "璇佷欢鍙�")
-    @ExcelColumn(name="璇佷欢鍙�")
     private String idcardNo;
 
     @ApiModelProperty(value = "娲鹃仯鍗曚綅缂栫爜锛堝叧鑱攄ispatch_unit)", example = "1")
-    @ExcelColumn(name="娲鹃仯鍗曚綅缂栫爜锛堝叧鑱攄ispatch_unit)")
     private Integer duId;
 
     @ApiModelProperty(value = "宸ョ缂栫爜(鍏宠仈worktype)", example = "1")
-    @ExcelColumn(name="宸ョ缂栫爜(鍏宠仈worktype)")
     private Integer worktypeId;
 
     @ApiModelProperty(value = "璐圭敤", example = "1")
-    @ExcelColumn(name="璐圭敤")
     private BigDecimal fee;
 
     @ApiModelProperty(value = "瀹℃牳鏃堕棿")
-    @ExcelColumn(name="瀹℃牳鏃堕棿")
-
     private Date checkDate;
+
     @ApiModelProperty(value = "鏈�杩戞搷浣滃娉�")
-    @ExcelColumn(name="鏈�杩戞搷浣滃娉�")
     private String checkInfo;
 
     @ApiModelProperty(value = "鏈�杩戞搷浣滀汉缂栫爜锛堝叧鑱攕ystem_user)", example = "1")
-    @ExcelColumn(name="鏈�杩戞搷浣滀汉缂栫爜锛堝叧鑱攕ystem_user)")
     private Integer checkUserId;
 
     @ApiModelProperty(value = "鍗曞彿")
-    @ExcelColumn(name="鍗曞彿")
+    @ExcelColumn(name="鎶ユ鍙�",index = 1,width = 20)
     private String code;
 
     @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")
-    @ExcelColumn(name="浜嬫晠绫诲瀷 0宸ヤ綔鏈熼棿鍙椾激 1涓婁笅鐝�斾腑鍙椾激 2闈炲伐浣滄椂闂村彈浼� 3鎰忓鍙椾激")
     private Integer type;
 
     @ApiModelProperty(value = "灏辫瘖绫诲瀷:0浣忛櫌 1闂ㄨ瘖", example = "1")
-    @ExcelColumn(name="灏辫瘖绫诲瀷:0浣忛櫌 1闂ㄨ瘖")
     private Integer inHospital;
 
+
     @ApiModelProperty(value = "鏄惁鏈夊尰鐤椾繚闄� 0鏄� 1鍚�", example = "1")
-    @ExcelColumn(name="鏄惁鏈夊尰鐤椾繚闄� 0鏄� 1鍚�")
     private Integer medicalInsurance;
 
     @ApiModelProperty(value = "浜嬫晠鎻忚堪")
-    @ExcelColumn(name="浜嬫晠鎻忚堪")
     private String content;
 
     @ApiModelProperty(value = "鎶ユ浜哄鍚�")
-    @ExcelColumn(name="鎶ユ浜哄鍚�")
+    @ExcelColumn(name="鎶ユ浜�",index = 3,width = 20)
     private String informantName;
+
     @ApiModelProperty(value = "鍖荤枟鐞嗚禂")
-    @ExcelColumn(name="鍖荤枟鐞嗚禂")
     private BigDecimal ylClaimAccount;
     @ApiModelProperty(value = "璇伐鐞嗚禂")
-    @ExcelColumn(name="璇伐鐞嗚禂")
     private BigDecimal wgClaimAccount;
     @ApiModelProperty(value = "姝讳骸鐞嗚禂")
-    @ExcelColumn(name="姝讳骸鐞嗚禂")
     private BigDecimal swClaimAccount;
     @ApiModelProperty(value = "浼ゆ畫鐞嗚禂")
-    @ExcelColumn(name="浼ゆ畫鐞嗚禂")
     private BigDecimal scClaimAccount;
     @ApiModelProperty(value = "鐞嗚禂鎬婚")
-    @ExcelColumn(name="鐞嗚禂鎬婚")
     private BigDecimal claimAccount;
 
     @ApiModelProperty(value = "鎶ユ浜鸿仈绯绘柟寮�")
-    @ExcelColumn(name="鎶ユ浜鸿仈绯绘柟寮�")
     private String informantPhone;
     @ApiModelProperty(value = "灏辫瘖鍖荤枟鏈烘瀯")
-    @ExcelColumn(name="灏辫瘖鍖荤枟鏈烘瀯")
     private String hospital;
 
     @ApiModelProperty(value = "鍑洪櫓鍦板尯(鍏宠仈areas)", example = "1")
-    @ExcelColumn(name="鍑洪櫓鍦板尯(鍏宠仈areas)")
     private String areaId;
 
     @ApiModelProperty(value = "鍑洪櫓鍦板尯鍚嶇О锛堢渷甯傦級")
-    @ExcelColumn(name="鍑洪櫓鍦板尯鍚嶇О锛堢渷甯傦級")
     private String areaInfo;
 
     @ApiModelProperty(value = "鎶ユ鍙�")
-    @ExcelColumn(name="鎶ユ鍙�")
+    @ExcelColumn(name="淇濆徃鎶ユ鍙�",index = 2,width = 20)
     private String reportNum;
 
     @ApiModelProperty(value = "鎶曚繚鐢宠缂栫爜锛堝叧鑱攊nsurance_apply_", example = "1")
-    @ExcelColumn(name="鎶曚繚鐢宠缂栫爜锛堝叧鑱攊nsurance_apply_")
     private Integer insuranceApplyId;
 
 
     @ApiModelProperty(value = "鏄惁浼ゆ畫锛� 0鏄� 1鍚� 2寰呯‘瀹�")
-    @ExcelColumn(name="鏄惁浼ゆ畫锛� 0鏄� 1鍚� 2寰呯‘瀹�")
-    private String hurtType;
+    private Integer hurtType;
     @ApiModelProperty(value = "鍙楃悊绫诲瀷锛�0鐩存帴鍙楃悊 1鍟嗚鍙楃悊")
-    @ExcelColumn(name="鍙楃悊绫诲瀷锛�0鐩存帴鍙楃悊 1鍟嗚鍙楃悊")
-    private String shouliType;
+    private Integer shouliType;
     @ApiModelProperty(value = "鐞嗚禂鏉ユ簮 0浼佷笟 1骞冲彴褰曞叆 2鍏朵粬 ")
-    @ExcelColumn(name="鐞嗚禂鏉ユ簮 0浼佷笟 1骞冲彴褰曞叆 2鍏朵粬")
     private Integer origin;
     @ApiModelProperty(value = "鍙楃悊鍟嗚闂 0璧勬枡缂哄け锛�1寤惰繜鎶ユ 2瓒呰亴涓氱被鍒� 3鍏朵粬锛堝涓敤鑻辨枃閫楀彿闅斿紑锛�")
-    @ExcelColumn(name="鍙楃悊鍟嗚闂 0璧勬枡缂哄け锛�1寤惰繜鎶ユ 2瓒呰亴涓氱被鍒� 3鍏朵粬锛堝涓敤鑻辨枃閫楀彿闅斿紑锛�")
     private String syProblemOpts;
     @ApiModelProperty(value = "鏄惁椋庨櫓妗堜欢 0鍚� 1鏄�")
-    @ExcelColumn(name="鏄惁椋庨櫓妗堜欢 0鍚� 1鏄�")
     private Integer isRisk;
     @ApiModelProperty(value = "鏄惁澶氭鍑洪櫓椋庨櫓 0鍚�1鏄� ")
-    @ExcelColumn(name="鏄惁澶氭鍑洪櫓椋庨櫓 0鍚�1鏄� ")
     private Integer riskTimesCx;
     @ApiModelProperty(value = "鏄惁鐤戜技閲嶅鎶ユ椋庨櫓 0鍚�1鏄� ")
-    @ExcelColumn(name="鏄惁鐤戜技閲嶅鎶ユ椋庨櫓 0鍚�1鏄� ")
     private Integer riskRepeat;
     @ApiModelProperty(value = "鏄惁绱㈣禂澶氭杩囧椋庨櫓 0鍚�1鏄�")
-    @ExcelColumn(name="鏄惁绱㈣禂澶氭杩囧椋庨櫓 0鍚�1鏄�")
     private Integer riskTimesSp;
     @ApiModelProperty(value = "鏄惁鏂板憳宸ュ嚭闄╅闄� 0鍚�1鏄�")
-    @ExcelColumn(name="鏄惁鏂板憳宸ュ嚭闄╅闄� 0鍚�1鏄�")
     private Integer riskNewUser	;
     @ApiModelProperty(value = "璁捐鏁忔劅璇嶏紝澶氫釜鑻辨枃閫楀彿闅斿紑")
-    @ExcelColumn(name="璁捐鏁忔劅璇嶏紝澶氫釜鑻辨枃閫楀彿闅斿紑")
     private String riskSensitive;
     @ApiModelProperty(value = "鎶ユ鍙疯缃姸鎬� 0鏈缃� 1宸茶缃� 2宸蹭慨鏀�")
-    @ExcelColumn(name="鎶ユ鍙疯缃姸鎬� 0鏈缃� 1宸茶缃� 2宸蹭慨鏀�")
     private Integer reportNumStatus;
     @ApiModelProperty(value = "鎵�鏈夎禂浠橀」淇℃伅锛坖son鏁扮粍[{name:鈥滀紮椋熻垂鈥�,val:100,info:鈥滀紮椋熻垂璇存槑鈥�,type:0}]锛�,type:0涓昏璧斾粯椤� 1鍏朵粬璧斾粯椤� 2瀹氭崯鏂规璐圭敤\t")
-    @ExcelColumn(name="鎵�鏈夎禂浠橀」淇℃伅")
     private String accountContent;
     @ApiModelProperty(value = "鍏朵粬璧斾粯椤规�婚")
-    @ExcelColumn(name="鍏朵粬璧斾粯椤规�婚")
     private BigDecimal otherAccount;
     @ApiModelProperty(value = "鏄惁鍙禂浠樺尰淇濆鐢ㄨ嵂")
-    @ExcelColumn(name="鏄惁鍙禂浠樺尰淇濆鐢ㄨ嵂")
-    private String payForYbwyy;
+    private Integer payForYbwyy;
     @ApiModelProperty(value = "鏁翠綋鐘舵�� 0鏈彁浜� 1寰呯珛妗� 2寰呭彈鐞� 3")
-    @ExcelColumn(name="鏁翠綋鐘舵��")
     private String allStatus;
 
     @ApiModelProperty(value = "鏀舵閾惰")
-    @ExcelColumn(name="鏀舵閾惰")
     private String receiveBank;
 
     @ApiModelProperty(value = "鏀舵浜�")
-    @ExcelColumn(name="鏀舵浜�")
     private String receiveUserName;
 
     @ApiModelProperty(value = "鏀舵璐︽埛")
-    @ExcelColumn(name="鏀舵璐︽埛")
     private String receiveAccount;
 
     @ApiModelProperty(value = "椋庨櫓淇℃伅闆嗗悎")
@@ -244,7 +192,6 @@
 
 
     @ApiModelProperty(value = "鏍歌禂鎵�鏈夎禂浠橀」淇℃伅锛坖son鏁扮粍[{name:鈥滀紮椋熻垂鈥�,val:100,info:鈥滀紮椋熻垂璇存槑鈥�,type:0}]锛�,type:0涓昏璧斾粯椤� 1鍏朵粬璧斾粯椤� 2瀹氭崯鏂规璐圭敤\t")
-    @ExcelColumn(name="鏍歌禂鎵�鏈夎禂浠橀」淇℃伅")
     private String hpAccountContent;
 
     @ApiModelProperty(value = "鏍歌禂涓昏閲戦")
@@ -253,6 +200,15 @@
     @ApiModelProperty(value = "鏍歌禂鍏朵粬閲戦")
     private BigDecimal hpOtherAccount;
 
+    @ApiModelProperty(value = "璧斿伩閲戦")
+    @TableField(exist = false)
+    @ExcelColumn(name="璧斿伩閲戦",index = 10,width = 16)
+    private BigDecimal pcAccount;
+
+    @ApiModelProperty(value = "鐘舵�佹弿杩�")
+    @TableField(exist = false)
+    @ExcelColumn(name="妗堜欢鐘舵��",index = 11,width = 16)
+    private String statusName;
 
     @ApiModelProperty(value = "淇濋櫓鍗曢檮浠�")
     @TableField(exist = false)
@@ -276,6 +232,9 @@
     @ApiModelProperty(value = "浼ゆ畫璧勬枡")
     @TableField(exist = false)
     private List<Multifile> disabilityFileList;
+    @ApiModelProperty(value = "鐢靛瓙淇濆崟")
+    @TableField(exist = false)
+    private List<Multifile> dzbdFileList;
 
     @ApiModelProperty(value = "璧斾粯缁撴璧勬枡")
     @TableField(exist = false)
@@ -290,30 +249,38 @@
     @TableField(exist = false)
     private List<Multifile> payFileList;
 
+
+
     @ApiModelProperty(value = "鏃ュ織鍒楄〃")
     @TableField(exist = false)
     List<SettleClaimsLog> settleClaimsLogList;
 
     @ApiModelProperty(value = "鍑洪櫓浜�")
     @TableField(exist = false)
+    @ExcelColumn(name="鍑洪櫓浜�",index = 4,width = 16)
     private String memberName;
     @ApiModelProperty(value = "鍑洪櫓浜鸿韩浠借瘉")
+    @ExcelColumn(name="韬唤璇佸彿",index = 5,width = 16)
     @TableField(exist = false)
     private String memberIdcardNo;
     @ApiModelProperty(value = "浼佷笟鍚嶇О")
+    @ExcelColumn(name="鎶曚繚鍗曚綅",index = 6,width = 16)
     @TableField(exist = false)
     private String companyName;
     @ApiModelProperty(value = "淇濋櫓鏂规鍚嶇О")
     @TableField(exist = false)
+    @ExcelColumn(name="淇濋櫓鏂规",index = 8,width = 16)
     private String solutionName;
     @ApiModelProperty(value = "娲鹃仯鍗曚綅鍚嶇О")
     @TableField(exist = false)
+    @ExcelColumn(name="鐢ㄤ汉鍗曚綅",index = 7,width = 16)
     private String duName;
     @ApiModelProperty(value = "宸ョ鍚嶇О")
     @TableField(exist = false)
     private String worktypeName;
     @ApiModelProperty(value = "淇濆崟鍙�")
     @TableField(exist = false)
+    @ExcelColumn(name="淇濆崟鍙�",index = 9,width = 16)
     private String applyCode;
     @ApiModelProperty(value = "淇濋櫓鐢熸晥璧锋湡")
     @TableField(exist = false)
@@ -340,4 +307,9 @@
     @TableField(exist = false)
     private List<CompensationVO> accountList;
 
+
+    @ApiModelProperty(value = "鎶ユ鏃堕棿 鏌ヨ浣跨敤 yyyy-MM-dd")
+    @TableField(exist = false)
+    private String createDateStr;
+
 }
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/SettleClaimsExt.java b/server/service/src/main/java/com/doumee/dao/business/model/SettleClaimsExt.java
index 9ac1a92..dfb16fd 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/SettleClaimsExt.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/SettleClaimsExt.java
@@ -8,6 +8,8 @@
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
 import java.util.Date;
 import java.math.BigDecimal;
 
@@ -72,6 +74,8 @@
 
     @ApiModelProperty(value = "鍑洪櫓浜哄嚭鐢熸棩鏈�")
     @ExcelColumn(name="鍑洪櫓浜哄嚭鐢熸棩鏈�")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern="yyyy-MM-dd")
     private Date memberBirthday;
 
     @ApiModelProperty(value = "鍑洪櫓浜哄勾绾�", example = "1")
@@ -130,8 +134,10 @@
     @ExcelColumn(name="鏄惁宸叉敞閿� 0鏄� 1鍚�")
     private Integer logoff;
 
-    @ApiModelProperty(value = "娉ㄩ攢浜嬩欢")
-    @ExcelColumn(name="娉ㄩ攢浜嬩欢")
+    @ApiModelProperty(value = "娉ㄩ攢鏃堕棿")
+    @ExcelColumn(name="娉ㄩ攢鏃堕棿")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern="yyyy-MM-dd")
     private Date logoffDate;
 
     @ApiModelProperty(value = "娉ㄩ攢澶勭悊浜�")
@@ -168,6 +174,8 @@
 
     @ApiModelProperty(value = "浜哄憳浼や骸-鍑洪櫌鏃堕棿")
     @ExcelColumn(name="浜哄憳浼や骸-鍑洪櫌鏃堕棿")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern="yyyy-MM-dd")
     private Date rsCyDate;
 
     @ApiModelProperty(value = "浜哄憳浼や骸-鍖荤枟鏈烘瀯")
@@ -244,6 +252,8 @@
 
     @ApiModelProperty(value = "閴村畾淇℃伅-璇勫畾鏃ユ湡")
     @ExcelColumn(name="閴村畾淇℃伅-璇勫畾鏃ユ湡")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern="yyyy-MM-dd")
     private Date jdPdDate;
 
     @ApiModelProperty(value = "閴村畾淇℃伅-浼ゆ畫绛夌骇 0-10", example = "1")
diff --git a/server/service/src/main/java/com/doumee/dao/business/vo/SettleClaimsExcelVO.java b/server/service/src/main/java/com/doumee/dao/business/vo/SettleClaimsExcelVO.java
new file mode 100644
index 0000000..1c0867f
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/vo/SettleClaimsExcelVO.java
@@ -0,0 +1,90 @@
+package com.doumee.dao.business.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.dao.business.model.Multifile;
+import com.doumee.dao.business.model.SettleClaimsExt;
+import com.doumee.dao.business.model.SettleClaimsLog;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 鐞嗚禂鐢宠琛�
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Data
+@ApiModel("妗堜欢褰曞叆瀵煎嚭琛�")
+public class SettleClaimsExcelVO {
+
+
+    @ApiModelProperty(value = "鎶ユ鍙�")
+    @ExcelColumn(name="妗堜欢鍙�",index = 1,width = 20)
+    private String reportNum;
+
+    @ApiModelProperty(value = "浼佷笟鍚嶇О")
+    @ExcelColumn(name="鎶曚繚鍗曚綅",index = 2,width = 16)
+    @TableField(exist = false)
+    private String companyName;
+
+    @ApiModelProperty(value = "鎶ユ浜哄鍚�")
+    @ExcelColumn(name="鎶ユ浜�",index = 3,width = 20)
+    private String informantName;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鎶ユ鏃堕棿",index = 4,width = 20,dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鍑洪櫓鏃堕棿")
+    @ExcelColumn(name="鍑洪櫓鏃堕棿",index = 5,width = 20,dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private String happenTime;
+
+    @ApiModelProperty(value = "鍑洪櫓浜�")
+    @ExcelColumn(name="鍑洪櫓浜�",index = 6,width = 16)
+    private String memberName;
+
+    @ApiModelProperty(value = "鍑洪櫓浜鸿韩浠借瘉")
+    @ExcelColumn(name="韬唤璇佸彿",index = 7,width = 16)
+    private String memberIdcardNo;
+
+    @ApiModelProperty(value = "淇濋櫓鏂规鍚嶇О")
+    @ExcelColumn(name="淇濋櫓鏂规",index = 8,width = 16)
+    private String solutionName;
+
+    @ApiModelProperty(value = "淇濆崟鍙�")
+    @ExcelColumn(name="淇濆崟鍙�",index = 9,width = 16)
+    private String applyCode;
+
+
+    @ApiModelProperty(value = "淇濋櫓鐢熸晥璧锋湡")
+    @ExcelColumn(name="淇濋櫓鐢熸晥璧锋湡",index = 10,width = 16)
+    private Date baoxianStartTime;
+
+    @ApiModelProperty(value = "淇濋櫓鐢熸晥姝㈡湡")
+    @ExcelColumn(name="淇濋櫓鐢熸晥姝㈡湡",index = 11,width = 16)
+    private Date baoxianEndTime;
+
+    @ApiModelProperty(value = "灏辫瘖绫诲瀷:0浣忛櫌 1闂ㄨ瘖", example = "1")
+    @ExcelColumn(name="灏辫瘖绫诲瀷",index = 12,width = 16,valueMapping = "0=浣忛櫌;1=闂ㄨ瘖;")
+    private Integer inHospital;
+
+    @ApiModelProperty(value = "璧斿伩閲戦")
+    @ExcelColumn(name="璧斿伩閲戦",index = 13,width = 16)
+    private BigDecimal pcAccount;
+
+    @ApiModelProperty(value = "鐘舵�佹弿杩�")
+    @TableField(exist = false)
+    @ExcelColumn(name="妗堜欢鐘舵��",index = 14,width = 16)
+    private String statusName;
+
+
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/vo/SettleParentStatusVO.java b/server/service/src/main/java/com/doumee/dao/business/vo/SettleParentStatusVO.java
index 46a092b..33dd51c 100644
--- a/server/service/src/main/java/com/doumee/dao/business/vo/SettleParentStatusVO.java
+++ b/server/service/src/main/java/com/doumee/dao/business/vo/SettleParentStatusVO.java
@@ -21,7 +21,7 @@
     @ApiModelProperty(value = "鎿嶄綔鏃堕棿")
     private Date optDate;
 
-    @ApiModelProperty(value = "绫诲瀷锛�0=宸插鐞嗭紱1=澶勭悊涓紱2=寰呭鐞嗭紱3=宸查┏鍥�")
+    @ApiModelProperty(value = "绫诲瀷锛�0=宸插鐞嗭紱1=澶勭悊涓紱2=寰呭鐞嗭紱3=宸查┏鍥炪�佸凡鎾ゆ")
     private Integer status;
 
 }
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 04ec9ff..333c190 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
@@ -107,6 +107,7 @@
      */
     PageData<SettleClaims> findPage(PageWrap<SettleClaims> pageWrap);
 
+    PageData<SettleClaims> findPageForSd(PageWrap<SettleClaims> pageWrap);
     /**
      * 鏉′欢缁熻
      *
@@ -117,6 +118,8 @@
 
     SettleClaims getSettleClaimsDetail(Integer id);
 
+    SettleClaims getSettleClaimsDetailForSd(Integer id);
+
     void exportFiles(Integer id, HttpServletResponse response);
 
     Integer addCode(SettleClaims settleClaims);
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 312901d..b143150 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
@@ -449,13 +449,19 @@
         settleClaimsExtMapper.insert(settleClaims.getExtData());
         //澶勭悊闄勪欢寮�濮�
         multifileJoinMapper.update(null,new UpdateWrapper<Multifile>().lambda()
-                .set(Multifile::getIsdeleted,Constants.ZERO)
+                .set(Multifile::getIsdeleted,Constants.ONE)
                 .eq(Multifile::getObjId,model.getId())
-                .in(Multifile::getObjType,Constants.MultiFile.LP_YGGX_FILE.getKey()
+                .in(Multifile::getObjType
+                        ,Constants.MultiFile.LP_YGGX_FILE.getKey()
                         ,Constants.MultiFile.LP_ZYCL_FILE.getKey()
                         ,Constants.MultiFile.LP_MZCL_FILE.getKey()
                         ,Constants.MultiFile.LP_OTHER_FILE.getKey()
-                        ,Constants.MultiFile.LP_SCZL_FILE.getKey()));
+                        ,Constants.MultiFile.LP_SCZL_FILE.getKey()
+                        ,Constants.MultiFile.LP_SGXC_FILE.getKey()
+                        ,Constants.MultiFile.LP_DZBD_FILE.getKey()
+                )
+
+        );
         dealSysFileListBiz(settleClaims);
     }
 
@@ -487,12 +493,16 @@
         List<Multifile> outpatientFileList = settleClaims.getOutpatientFileList();//闂ㄨ瘖鏉愭枡
         List<Multifile> otherFileList = settleClaims.getOtherFileList();//鍏朵粬鏉愭枡
         List<Multifile> disabilityFileList = settleClaims.getDisabilityFileList();//浼ゆ畫鏉愭枡
+        List<Multifile> dzbdFileList = settleClaims.getDzbdFileList();//鐢靛瓙淇濆崟
+        List<Multifile> reportFileList = settleClaims.getReportFileList();//鎶ユ瑙嗛
         List<Multifile> insetList = new ArrayList<>();
         insetList.addAll(getMultifileListByObjtype(relationFileList,Constants.MultiFile.LP_YGGX_FILE.getKey(),settleClaims));
         insetList.addAll(getMultifileListByObjtype(hospitalFileList,Constants.MultiFile.LP_ZYCL_FILE.getKey(),settleClaims));
         insetList.addAll(getMultifileListByObjtype(outpatientFileList,Constants.MultiFile.LP_MZCL_FILE.getKey(),settleClaims));
         insetList.addAll(getMultifileListByObjtype(otherFileList,Constants.MultiFile.LP_OTHER_FILE.getKey(),settleClaims));
         insetList.addAll(getMultifileListByObjtype(disabilityFileList,Constants.MultiFile.LP_SCZL_FILE.getKey(),settleClaims));
+        insetList.addAll(getMultifileListByObjtype(dzbdFileList,Constants.MultiFile.LP_DZBD_FILE.getKey(),settleClaims));
+        insetList.addAll(getMultifileListByObjtype(reportFileList,Constants.MultiFile.LP_SGXC_FILE.getKey(),settleClaims));
         if(CollectionUtils.isNotEmpty(insetList)){
                 multifileJoinMapper.insert(insetList);
         }
@@ -510,6 +520,7 @@
                         || StringUtils.isBlank(multifile.getName())  ){
                     continue;
                 }
+                multifile.setId(null);
                 multifile.setCreator(model.getEditor());
                 multifile.setCreateDate(model.getEditDate());
                 multifile.setEditor(model.getEditor());
@@ -723,6 +734,122 @@
             settleClaims.setOtherFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_OTHER_FILE.getKey())).collect(Collectors.toList()));
 
             settleClaims.setPayFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_PAY_FILE.getKey())).collect(Collectors.toList()));
+
+            settleClaims.setDzbdFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_DZBD_FILE.getKey())).collect(Collectors.toList()));
+
+        }
+
+        //鏌ヨ鎿嶄綔璁板綍
+        List<SettleClaimsLog> settleClaimsLogList = settleClaimsLogJoinMapper.selectJoinList(SettleClaimsLog.class,
+                new MPJLambdaWrapper<SettleClaimsLog>()
+                        .selectAll(SettleClaimsLog.class)
+                        .selectAs(SystemUser::getRealname,SettleClaimsLog::getCreatorName)
+                        .selectAs(SystemUser::getType,SettleClaimsLog::getCreatorType)
+                        .selectAs(Company::getName,SettleClaimsLog::getCompanyName)
+                        .leftJoin(SystemUser.class,SystemUser::getId,SettleClaimsLog::getCreator)
+                        .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
+                        .eq(SettleClaimsLog::getSettleClainmsId,settleClaims.getId())
+                        .orderByAsc(SettleClaimsLog::getCreateDate)
+        );
+        settleClaims.setSettleClaimsLogList(settleClaimsLogList);
+        SettleClaimsLog lastConfirm = settleClaimsLogMapper.selectOne(new QueryWrapper<SettleClaimsLog>().lambda()
+                .eq(SettleClaimsLog::getSettleClainmsId,settleClaims.getId())
+                .eq(SettleClaimsLog::getObjType,Constants.SettleClaimsLogType.PLATFORM_CONFIRM_INFORMATION.getKey())
+                .orderByDesc(SettleClaimsLog::getCreateDate)
+                .last(" limit 1")
+        );
+
+        Multifile multifile = multifileJoinMapper.selectOne(new QueryWrapper<Multifile>()
+                .lambda()
+                .eq(Multifile::getObjId,settleClaims.getId())
+                .eq(Multifile::getIsdeleted,Constants.ZERO)
+                .in(Multifile::getObjType,
+                        Constants.MultiFile.LP_SGXC_FILE.getKey(),
+                        Constants.MultiFile.LP_YGGX_FILE.getKey(),
+                        Constants.MultiFile.LP_MZCL_FILE.getKey(),
+                        Constants.MultiFile.LP_ZYCL_FILE.getKey(),
+                        Constants.MultiFile.LP_SCZL_FILE.getKey(),
+                        Constants.MultiFile.LP_JACL_FILE.getKey())
+                .orderByDesc(Multifile::getCreateDate)
+                .last(" limit 1")
+        );
+
+        if(!Objects.isNull(lastConfirm)&&!Objects.isNull(multifile)){
+            settleClaims.setFinishDate(lastConfirm.getCreateDate().compareTo(multifile.getCreateDate())>=0?lastConfirm.getCreateDate():multifile.getCreateDate());
+        }else if(!Objects.isNull(lastConfirm)&&Objects.isNull(multifile)){
+            settleClaims.setFinishDate(lastConfirm.getCreateDate());
+        }
+        return settleClaims;
+    }
+
+
+    @Override
+    public SettleClaims getSettleClaimsDetailForSd(Integer id){
+        MPJLambdaWrapper<SettleClaims>  queryWrapper =    new MPJLambdaWrapper<SettleClaims>();
+        queryWrapper.selectAll(SettleClaims.class)
+                .selectAs(SettleClaimsExt::getBxOrg,SettleClaims::getCompanyName)
+                .selectAs(SettleClaimsExt::getBxName,SettleClaims::getSolutionName)
+                .selectAs(SettleClaimsExt::getMemberName,SettleClaims::getMemberName)
+                .selectAs(SettleClaimsExt::getMemberIdcard,SettleClaims::getMemberIdcardNo)
+                .selectAs(SettleClaimsExt::getBxStartdate,SettleClaims::getBaoxianStartTime)
+                .selectAs(SettleClaimsExt::getBxEnddate,SettleClaims::getBaoxianEndTime)
+                .selectAs(SettleClaimsExt::getBxCode,SettleClaims::getApplyCode)
+                .innerJoin(SettleClaimsExt.class,SettleClaimsExt::getSettileClaimsId,SettleClaims::getId)
+                .eq(SettleClaims::getId,id);
+        SettleClaims settleClaims = settleClaimsJoinMapper.selectJoinOne(SettleClaims.class,queryWrapper);
+        if(settleClaims == null){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(StringUtils.isNotBlank(settleClaims.getHpAccountContent())){
+            settleClaims.setAccountList(JSONArray.parseArray(settleClaims.getHpAccountContent(),CompensationVO.class ));
+        }
+        List<Multifile> multifileList = multifileJoinMapper.selectJoinList(Multifile.class,
+                new MPJLambdaWrapper<Multifile>()
+                        .selectAll(Multifile.class)
+                        .selectAs(SystemUser::getRealname,Multifile::getCreatorName)
+                        .leftJoin(SystemUser.class,SystemUser::getId,Multifile::getCreator)
+                        .eq(Multifile::getObjId,id)
+                        .eq(Multifile::getIsdeleted,Constants.ZERO)
+                        .orderByAsc(Multifile::getCreateDate)
+        );
+        String rPath = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode();
+        String path = rPath+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.SETTLE_FILE).getCode();
+        if(multifileList!=null){
+            for(Multifile f : multifileList){
+                if(f!=null&& StringUtils.isNotBlank(f.getFileurl())){
+                    f.setFileurlFull(path+f.getFileurl());
+                }
+            }
+        }
+        Multifile baoxiandanFile = multifileJoinMapper.selectOne(new QueryWrapper<Multifile>()
+                .lambda().eq(Multifile::getObjId,settleClaims.getInsuranceApplyId())
+                .eq(Multifile::getIsdeleted,Constants.ZERO)
+                .eq(Multifile::getObjType,Constants.MultiFile.BD_DONE_PDF.getKey())
+                .last("limit 1"));
+        if(baoxiandanFile!=null&& StringUtils.isNotBlank(baoxiandanFile.getFileurl())){
+            path = rPath+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode();
+            baoxiandanFile.setFileurlFull(path+baoxiandanFile.getFileurl());
+        }
+        settleClaims.setBaoxiandanFile(baoxiandanFile);//淇濋櫓鍗�
+        if(CollectionUtils.isNotEmpty(multifileList)){
+            settleClaims.setReportFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_SGXC_FILE.getKey())).collect(Collectors.toList()));
+
+            settleClaims.setRelationFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_YGGX_FILE.getKey())).collect(Collectors.toList()));
+
+            settleClaims.setOutpatientFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_MZCL_FILE.getKey())).collect(Collectors.toList()));
+
+            settleClaims.setHospitalFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_ZYCL_FILE.getKey())).collect(Collectors.toList()));
+
+            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()));
+
+            settleClaims.setPayFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_PAY_FILE.getKey())).collect(Collectors.toList()));
+
+            settleClaims.setDzbdFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_DZBD_FILE.getKey())).collect(Collectors.toList()));
+
         }
 
         //鏌ヨ鎿嶄綔璁板綍
@@ -771,6 +898,7 @@
                     .eq(SettleClaimsExt::getSettileClaimsId,settleClaims.getId())
                     .last("limit 1")));
         }
+        settleClaims.setExtData(settleClaimsExtMapper.selectOne(new QueryWrapper<SettleClaimsExt>().lambda().eq(SettleClaimsExt::getSettileClaimsId,id).last("limit 1")));
         return settleClaims;
     }
 
@@ -912,7 +1040,7 @@
 
     @Override
     public void deleteById(Integer id) {
-        settleClaimsMapper.deleteById(id);
+        settleClaimsMapper.update(new UpdateWrapper<SettleClaims>().lambda().set(SettleClaims::getIsdeleted,Constants.ONE).eq(SettleClaims::getId,id));
     }
 
     @Override
@@ -976,6 +1104,8 @@
                 .selectAs(Worktype::getName,SettleClaims::getWorktypeName)
                 .selectAs(InsuranceApply::getStartTime,SettleClaims::getBaoxianStartTime)
                 .selectAs(DispatchUnit::getName,SettleClaims::getDuName)
+                .selectAs(InsuranceApply::getStartTime,SettleClaims::getBaoxianStartTime)
+                .selectAs(InsuranceApply::getEndTime,SettleClaims::getBaoxianEndTime)
                 .leftJoin(Company.class,Company::getId,SettleClaims::getCompanyId)
                 .leftJoin(Member.class,Member::getId,SettleClaims::getMemberId)
                 .leftJoin(DispatchUnit.class,DispatchUnit::getId,SettleClaims::getDuId)
@@ -995,113 +1125,26 @@
             //浼佷笟鐢ㄦ埛鍙湅鑷繁鐨勬暟鎹�
             pageWrap.getModel().setCompanyId(user.getCompanyId());
         }
+        queryWrapper.eq(SettleClaims::getIsdeleted,Constants.ZERO);
+        queryWrapper.eq(SettleClaims::getOrigin,Constants.ZERO);
         queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()),Member::getName, pageWrap.getModel().getMemberName());
         queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getMemberIdcardNo()),Member::getIdcardNo, pageWrap.getModel().getMemberIdcardNo());
+        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getInformantName()),SettleClaims::getInformantName, pageWrap.getModel().getInformantName());
+        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getDuName()),DispatchUnit::getName, pageWrap.getModel().getDuName());
+        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCreateDateStr()),SettleClaims::getCreateDate, pageWrap.getModel().getCreateDateStr());
+        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getHappenTime()),SettleClaims::getHappenTime, pageWrap.getModel().getHappenTime());
         queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getDuName()),DispatchUnit::getName, pageWrap.getModel().getDuName());
         queryWrapper.eq(pageWrap.getModel().getBaseSolutionId()!=null,Solutions::getBaseId, pageWrap.getModel().getBaseSolutionId());
         queryWrapper.eq(pageWrap.getModel().getBaseDuId()!=null,DispatchUnit::getBaseId, pageWrap.getModel().getBaseDuId());
+        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getSolutionName()),Solutions::getName, pageWrap.getModel().getSolutionName());
+        queryWrapper.eq(pageWrap.getModel().getInHospital()!=null,SettleClaims::getInHospital, pageWrap.getModel().getInHospital());
+        queryWrapper.eq(pageWrap.getModel().getStatus()!=null,SettleClaims::getStatus, pageWrap.getModel().getStatus());
+        queryWrapper.eq(pageWrap.getModel().getCompanyId()!=null,SettleClaims::getCompanyId, pageWrap.getModel().getCompanyId());
+        queryWrapper.eq(pageWrap.getModel().getOrigin()!=null,SettleClaims::getOrigin, pageWrap.getModel().getOrigin());
+        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCode()),SettleClaims::getCode, pageWrap.getModel().getCode());
+        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getReportNum()),SettleClaims::getReportNum, pageWrap.getModel().getReportNum());
+        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getApplyCode()),InsuranceApply::getCode, pageWrap.getModel().getApplyCode());
 
-        if (pageWrap.getModel().getId() != null) {
-            queryWrapper.eq(SettleClaims::getId, pageWrap.getModel().getId());
-        }
-        if (pageWrap.getModel().getCreator() != null) {
-            queryWrapper.eq(SettleClaims::getCreator, pageWrap.getModel().getCreator());
-        }
-        if (pageWrap.getModel().getCreateDate() != null) {
-            queryWrapper.ge(SettleClaims::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
-            queryWrapper.le(SettleClaims::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
-        }
-        if (pageWrap.getModel().getEditor() != null) {
-            queryWrapper.eq(SettleClaims::getEditor, pageWrap.getModel().getEditor());
-        }
-        if (pageWrap.getModel().getEditDate() != null) {
-            queryWrapper.ge(SettleClaims::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
-            queryWrapper.le(SettleClaims::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
-        }
-        if (pageWrap.getModel().getIsdeleted() != null) {
-            queryWrapper.eq(SettleClaims::getIsdeleted, pageWrap.getModel().getIsdeleted());
-        }
-        if (pageWrap.getModel().getRemark() != null) {
-            queryWrapper.eq(SettleClaims::getRemark, pageWrap.getModel().getRemark());
-        }
-        if (pageWrap.getModel().getSortnum() != null) {
-            queryWrapper.eq(SettleClaims::getSortnum, pageWrap.getModel().getSortnum());
-        }
-        if (pageWrap.getModel().getSolutionId() != null) {
-            queryWrapper.eq(SettleClaims::getSolutionId, pageWrap.getModel().getSolutionId());
-        }
-        if (pageWrap.getModel().getCompanyId() != null) {
-            queryWrapper.eq(SettleClaims::getCompanyId, pageWrap.getModel().getCompanyId());
-        }
-        if (pageWrap.getModel().getMemberId() != null) {
-            queryWrapper.eq(SettleClaims::getMemberId, pageWrap.getModel().getMemberId());
-        }
-        if (pageWrap.getModel().getHappenTime() != null) {
-            queryWrapper.eq(SettleClaims::getHappenTime, pageWrap.getModel().getHappenTime());
-        }
-        if (pageWrap.getModel().getIdcardNo() != null) {
-            queryWrapper.eq(SettleClaims::getIdcardNo, pageWrap.getModel().getIdcardNo());
-
-        }
-        if (pageWrap.getModel().getDuId() != null) {
-            queryWrapper.eq(SettleClaims::getDuId, pageWrap.getModel().getDuId());
-        }
-        if (pageWrap.getModel().getWorktypeId() != null) {
-            queryWrapper.eq(SettleClaims::getWorktypeId, pageWrap.getModel().getWorktypeId());
-        }
-        if (pageWrap.getModel().getFee() != null) {
-            queryWrapper.eq(SettleClaims::getFee, pageWrap.getModel().getFee());
-        }
-        if (pageWrap.getModel().getCheckInfo() != null) {
-            queryWrapper.eq(SettleClaims::getCheckInfo, pageWrap.getModel().getCheckInfo());
-        }
-        if (pageWrap.getModel().getCheckUserId() != null) {
-            queryWrapper.eq(SettleClaims::getCheckUserId, pageWrap.getModel().getCheckUserId());
-        }
-        if (pageWrap.getModel().getCode() != null) {
-            queryWrapper.eq(SettleClaims::getCode, pageWrap.getModel().getCode());
-        }
-        if (pageWrap.getModel().getStatus() != null) {
-            if(pageWrap.getModel().getStatus().equals(Constants.ZERO)){
-                queryWrapper.in(SettleClaims::getStatus, Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey()
-                        ,Constants.SettleClaimsStatus.DEAL_ING.getKey()
-                        ,Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey());
-            }else{
-                queryWrapper.eq(SettleClaims::getStatus, pageWrap.getModel().getStatus());
-            }
-
-
-        }
-        if (pageWrap.getModel().getType() != null) {
-            queryWrapper.eq(SettleClaims::getType, pageWrap.getModel().getType());
-        }
-        if (pageWrap.getModel().getInHospital() != null) {
-            queryWrapper.eq(SettleClaims::getInHospital, pageWrap.getModel().getInHospital());
-        }
-        if (pageWrap.getModel().getMedicalInsurance() != null) {
-            queryWrapper.eq(SettleClaims::getMedicalInsurance, pageWrap.getModel().getMedicalInsurance());
-        }
-        if (pageWrap.getModel().getContent() != null) {
-            queryWrapper.eq(SettleClaims::getContent, pageWrap.getModel().getContent());
-        }
-        if (pageWrap.getModel().getInformantName() != null) {
-            queryWrapper.eq(SettleClaims::getInformantName, pageWrap.getModel().getInformantName());
-        }
-        if (pageWrap.getModel().getInformantPhone() != null) {
-            queryWrapper.eq(SettleClaims::getInformantPhone, pageWrap.getModel().getInformantPhone());
-        }
-        if (pageWrap.getModel().getAreaId() != null) {
-            queryWrapper.eq(SettleClaims::getAreaId, pageWrap.getModel().getAreaId());
-        }
-        if (pageWrap.getModel().getAreaInfo() != null) {
-            queryWrapper.eq(SettleClaims::getAreaInfo, pageWrap.getModel().getAreaInfo());
-        }
-        if (pageWrap.getModel().getReportNum() != null) {
-            queryWrapper.eq(SettleClaims::getReportNum, pageWrap.getModel().getReportNum());
-        }
-        if (pageWrap.getModel().getInsuranceApplyId() != null) {
-            queryWrapper.eq(SettleClaims::getInsuranceApplyId, pageWrap.getModel().getInsuranceApplyId());
-        }
         queryWrapper.orderByDesc(SettleClaims::getCreateDate);
         /*for(PageWrap.SortData sortData: pageWrap.getSorts()) {
             if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
@@ -1111,8 +1154,51 @@
             }
         }*/
         PageData<SettleClaims> pageData = PageData.from(settleClaimsJoinMapper.selectJoinPage(page,SettleClaims.class, queryWrapper));
+        for (SettleClaims settleClaims:pageData.getRecords()) {
+            settleClaims.setStatusName(Constants.SettleClaimsStatus.getName(settleClaims.getStatus()));
+            settleClaims.setPcAccount(settleClaims.getHpAccount().add(settleClaims.getHpOtherAccount()));
+        }
         return pageData;
     }
+
+
+    @Override
+    public PageData<SettleClaims> findPageForSd(PageWrap<SettleClaims> pageWrap) {
+        IPage<SettleClaims> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        MPJLambdaWrapper<SettleClaims>  queryWrapper = new MPJLambdaWrapper<SettleClaims>();
+        queryWrapper.selectAll(SettleClaims.class)
+                .selectAs(SettleClaimsExt::getBxOrg,SettleClaims::getCompanyName)
+                .selectAs(SettleClaimsExt::getBxName,SettleClaims::getSolutionName)
+                .selectAs(SettleClaimsExt::getMemberName,SettleClaims::getMemberName)
+                .selectAs(SettleClaimsExt::getMemberIdcard,SettleClaims::getMemberIdcardNo)
+                .selectAs(SettleClaimsExt::getBxStartdate,SettleClaims::getBaoxianStartTime)
+                .selectAs(SettleClaimsExt::getBxEnddate,SettleClaims::getBaoxianEndTime)
+                .selectAs(SettleClaimsExt::getBxCode,SettleClaims::getApplyCode)
+                .innerJoin(SettleClaimsExt.class,SettleClaimsExt::getSettileClaimsId,SettleClaims::getId);
+        queryWrapper.eq(SettleClaims::getIsdeleted,Constants.ZERO);
+        queryWrapper.eq(SettleClaims::getOrigin,Constants.ONE);
+        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getReportNum()),SettleClaims::getReportNum, pageWrap.getModel().getReportNum());
+        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),SettleClaimsExt::getBxOrg, pageWrap.getModel().getCompanyName());
+        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().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());
+        queryWrapper.eq(pageWrap.getModel().getStatus()!=null,SettleClaims::getStatus, pageWrap.getModel().getStatus());
+        queryWrapper.orderByDesc(SettleClaims::getCreateDate);
+        PageData<SettleClaims> pageData = PageData.from(settleClaimsJoinMapper.selectJoinPage(page,SettleClaims.class, queryWrapper));
+        for (SettleClaims settleClaims:pageData.getRecords()) {
+            settleClaims.setStatusName(Constants.SettleClaimsStatus.getName(settleClaims.getStatus()));
+            settleClaims.setPcAccount(settleClaims.getHpAccount().add(settleClaims.getHpOtherAccount()));
+        }
+        return pageData;
+    }
+
+
 
     @Override
     public long count(SettleClaims settleClaims) {
@@ -2203,101 +2289,140 @@
     }
 
 
-//
-//    public List<SettleParentStatusVO> getParentStatus(SettleClaims settleClaims){
-//        List<SettleParentStatusVO> settleParentStatusVOList = new ArrayList<>();
-//        List<SettleClaimsLog> settleClaimsLogList = settleClaimsLogMapper
-//                .selectList(new QueryWrapper<SettleClaimsLog>().lambda().eq(SettleClaimsLog::getObjId,settleClaims.getId()).orderByDesc(SettleClaimsLog::getCreateDate));
-//        //绔嬫閫�鍥炵姸鎬佹暟鎹�
-//        if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.FINISH_ACCEPTANCE.getKey())){
-//            SettleParentStatusVO settleParentStatusVO = new SettleParentStatusVO();
-//            settleParentStatusVO.setParentTitle("鎶ユ");
-//            settleParentStatusVO.setStatus(Constants.ONE);
-//            settleParentStatusVO.setChildTitle(Constants.SettleClaimsStatus.FINISH_ACCEPTANCE.getName());
-//            Optional<SettleClaimsLog> optionalSettleClaimsLog = settleClaimsLogList.stream()
-//                    .filter(i->Constants.equalsInteger(i.getObjType(),Constants.SettleClaimsLogType.PLATFORM_RETURN.getKey())).findFirst();
-//            if(optionalSettleClaimsLog.isPresent()){
-//                settleParentStatusVO.setOptDate(optionalSettleClaimsLog.get().getCreateDate());
-//            }
-//            settleParentStatusVOList.add(settleParentStatusVO);
-//            return settleParentStatusVOList;
-//        }
-//        //鏆傚瓨鐘舵�� 鏃犱富娴佺▼鏁版嵁
-//        if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey())){
-//            return settleParentStatusVOList;
-//        }
-//        //鍟嗚瀹℃壒涓嶉�氳繃
-//        if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.WAIT_DISCUSS_REJECT.getKey())){
-//
-//            SettleParentStatusVO settleParentStatusBAVO = new SettleParentStatusVO();
-//            settleParentStatusBAVO.setParentTitle("鎶ユ");
-//            settleParentStatusBAVO.setChildTitle("宸叉姤妗�");
-//            settleParentStatusBAVO.setStatus(Constants.ZERO);
-//            Optional<SettleClaimsLog> optionalSettleClaimsBALog = settleClaimsLogList.stream()
-//                    .filter(i->Constants.equalsInteger(i.getParentStatus(),Constants.ONE)).findFirst();
-//            if(optionalSettleClaimsBALog.isPresent()){
-//                settleParentStatusBAVO.setOptDate(optionalSettleClaimsBALog.get().getCreateDate());
-//            }
-//            settleParentStatusVOList.add(settleParentStatusBAVO);
-//
-//            SettleParentStatusVO settleParentStatusLAVO = new SettleParentStatusVO();
-//            settleParentStatusLAVO.setParentTitle("绔嬫");
-//            settleParentStatusLAVO.setChildTitle("宸茬珛妗�");
-//            settleParentStatusLAVO.setStatus(Constants.ZERO);
-//            Optional<SettleClaimsLog> optionalSettleClaimsLALog = settleClaimsLogList.stream()
-//                    .filter(i->Constants.equalsInteger(i.getParentStatus(),Constants.TWO)).findFirst();
-//            if(optionalSettleClaimsLALog.isPresent()){
-//                settleParentStatusLAVO.setOptDate(optionalSettleClaimsBALog.get().getCreateDate());
-//            }
-//            settleParentStatusVOList.add(settleParentStatusBAVO);
-//
-//            SettleParentStatusVO settleParentStatusSLVO = new SettleParentStatusVO();
-//            settleParentStatusSLVO.setParentTitle("鍙楃悊");
-//            settleParentStatusSLVO.setChildTitle("鍟嗚鎷掔粷");
-//            settleParentStatusSLVO.setStatus(Constants.TWO);
-//            Optional<SettleClaimsLog> optionalSettleClaimsSLLog = settleClaimsLogList.stream()
-//                    .filter(i->Constants.equalsInteger(i.getParentStatus(),Constants.THREE)).findFirst();
-//            if(optionalSettleClaimsSLLog.isPresent()){
-//                settleParentStatusSLVO.setOptDate(optionalSettleClaimsSLLog.get().getCreateDate());
-//            }
-//            settleParentStatusVOList.add(settleParentStatusSLVO);
-//
-//            return settleParentStatusVOList;
-//        }
-//
-//        if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.RETURN.getKey())){
-//            List<SettleClaimsLog> settleClaimsLogs = settleClaimsLogList.stream()
-//                    .filter(i->i.getParentStatus()<Constants.SettleClaimsStatus.RETURN.getParentKey()).collect(Collectors.toList());
-//
-//            for (int i = 1; i <= 5; i++) {
-//                SettleParentStatusVO s = new SettleParentStatusVO();
-//                Constants.SettleClaimsLogParentStatus  parentStatus = Constants.SettleClaimsLogParentStatus.getAll(i);
-//                s.setParentTitle(parentStatus.getName());
-//                s.set(parentStatus.getInfo());
-//                s.setStatus(Constants.ZERO);
-//
-//            }
-//            SettleParentStatusVO settleParentStatusCHVO = new SettleParentStatusVO();
-//            settleParentStatusCHVO.setParentTitle("宸叉挙妗�");
-//            settleParentStatusCHVO.setChildTitle("浼佷笟涓诲姩鎾ゆ");
-//            settleParentStatusCHVO.setStatus(Constants.TWO);
-//            Optional<SettleClaimsLog> optionalSettleClaimsSLLog = settleClaimsLogList.stream()
-//                    .filter(i->Constants.equalsInteger(i.getStatus(),Constants.SettleClaimsLogType.RETURN_SETTLE.getKey())).findFirst();
-//            if(optionalSettleClaimsSLLog.isPresent()){
-//                settleParentStatusCHVO.setOptDate(optionalSettleClaimsSLLog.get().getCreateDate());
-//            }
-//            settleParentStatusVOList.add(settleParentStatusCHVO);
-//
-//
-//            return settleParentStatusVOList;
-//
-//        }
-//
-//
-//        return settleParentStatusVOList;
-//
-//
-//    }
+
+    public List<SettleParentStatusVO> getParentStatus(SettleClaims settleClaims){
+        List<SettleParentStatusVO> settleParentStatusVOList = new ArrayList<>();
+        List<SettleClaimsLog> settleClaimsLogList = settleClaimsLogMapper
+                .selectList(new QueryWrapper<SettleClaimsLog>().lambda().eq(SettleClaimsLog::getObjId,settleClaims.getId()).orderByDesc(SettleClaimsLog::getCreateDate));
+        //绔嬫閫�鍥炵姸鎬佹暟鎹�
+        if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.FINISH_ACCEPTANCE.getKey())){
+            SettleParentStatusVO settleParentStatusVO = new SettleParentStatusVO();
+            settleParentStatusVO.setParentTitle("鎶ユ");
+            settleParentStatusVO.setStatus(Constants.ONE);
+            settleParentStatusVO.setChildTitle(Constants.SettleClaimsStatus.FINISH_ACCEPTANCE.getName());
+            Optional<SettleClaimsLog> optionalSettleClaimsLog = settleClaimsLogList.stream()
+                    .filter(i->Constants.equalsInteger(i.getObjType(),Constants.SettleClaimsLogType.PLATFORM_RETURN.getKey())).findFirst();
+            if(optionalSettleClaimsLog.isPresent()){
+                settleParentStatusVO.setOptDate(optionalSettleClaimsLog.get().getCreateDate());
+            }
+            settleParentStatusVOList.add(settleParentStatusVO);
+            return settleParentStatusVOList;
+        }
+        //鏆傚瓨鐘舵�� 鏃犱富娴佺▼鏁版嵁
+        if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey())){
+            return settleParentStatusVOList;
+        }
+        //鍟嗚瀹℃壒涓嶉�氳繃
+        if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.WAIT_DISCUSS_REJECT.getKey())){
+            SettleParentStatusVO settleParentStatusBAVO = new SettleParentStatusVO();
+            settleParentStatusBAVO.setParentTitle("鎶ユ");
+            settleParentStatusBAVO.setChildTitle("宸叉姤妗�");
+            settleParentStatusBAVO.setStatus(Constants.ZERO);
+            Optional<SettleClaimsLog> optionalSettleClaimsBALog = settleClaimsLogList.stream()
+                    .filter(i->Constants.equalsInteger(i.getParentStatus(),Constants.ONE)).findFirst();
+            if(optionalSettleClaimsBALog.isPresent()){
+                settleParentStatusBAVO.setOptDate(optionalSettleClaimsBALog.get().getCreateDate());
+            }
+            settleParentStatusVOList.add(settleParentStatusBAVO);
+
+            SettleParentStatusVO settleParentStatusLAVO = new SettleParentStatusVO();
+            settleParentStatusLAVO.setParentTitle("绔嬫");
+            settleParentStatusLAVO.setChildTitle("宸茬珛妗�");
+            settleParentStatusLAVO.setStatus(Constants.ZERO);
+            Optional<SettleClaimsLog> optionalSettleClaimsLALog = settleClaimsLogList.stream()
+                    .filter(i->Constants.equalsInteger(i.getParentStatus(),Constants.TWO)).findFirst();
+            if(optionalSettleClaimsLALog.isPresent()){
+                settleParentStatusLAVO.setOptDate(optionalSettleClaimsBALog.get().getCreateDate());
+            }
+            settleParentStatusVOList.add(settleParentStatusBAVO);
+
+            SettleParentStatusVO settleParentStatusSLVO = new SettleParentStatusVO();
+            settleParentStatusSLVO.setParentTitle("鍙楃悊");
+            settleParentStatusSLVO.setChildTitle("鍟嗚鎷掔粷");
+            settleParentStatusSLVO.setStatus(Constants.THREE);
+            Optional<SettleClaimsLog> optionalSettleClaimsSLLog = settleClaimsLogList.stream()
+                    .filter(i->Constants.equalsInteger(i.getParentStatus(),Constants.THREE)).findFirst();
+            if(optionalSettleClaimsSLLog.isPresent()){
+                settleParentStatusSLVO.setOptDate(optionalSettleClaimsSLLog.get().getCreateDate());
+            }
+            settleParentStatusVOList.add(settleParentStatusSLVO);
+
+            return settleParentStatusVOList;
+        }
+
+        //涓诲姩鎾ら攢
+        if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.RETURN.getKey())){
+            List<SettleClaimsLog> settleClaimsLogs = settleClaimsLogList.stream()
+                    .filter(i->i.getParentStatus()<Constants.SettleClaimsStatus.RETURN.getParentKey()).collect(Collectors.toList());
+            //鑾峰彇褰撳墠鏃ュ織鏈�澶х殑鐖剁姸鎬�
+            Optional<Integer> optionalInteger = settleClaimsLogs.stream().map(i->i.getParentStatus()).max(Comparator.comparingInt(o -> o));
+            if(optionalInteger.isPresent()){
+                for (int i = 1; i <= 5; i++) {
+                    SettleParentStatusVO s = new SettleParentStatusVO();
+                    Constants.SettleClaimsLogParentStatus  parentStatus = Constants.SettleClaimsLogParentStatus.getAll(i);
+                    s.setParentTitle(parentStatus.getName());
+                    s.setChildTitle(parentStatus.getInfo());
+                    s.setStatus(Constants.ZERO);
+                    //濡傛灉鏄瓑浜庣埗鐘舵�� 鍒欏幓鏌ヨ瀹為檯鐨勪笟鍔$姸鎬�
+                    if(Constants.equalsInteger(i,optionalInteger.get())){
+                        Optional<SettleClaimsLog> settleClaimsLogOptional = settleClaimsLogList.stream()
+                                .filter(j->Constants.equalsInteger(j.getParentStatus(),optionalInteger.get())).findFirst();
+                        if(settleClaimsLogOptional.isPresent()){
+                            s.setChildTitle(Constants.SettleClaimsLogType.getName(settleClaimsLogOptional.get().getObjType()));
+                        }
+                    }
+                    settleParentStatusVOList.add(s);
+                }
+            }
+            //娣诲姞鎾ゆ鏁版嵁
+            SettleParentStatusVO settleParentStatusCHVO = new SettleParentStatusVO();
+            settleParentStatusCHVO.setParentTitle("宸叉挙妗�");
+            settleParentStatusCHVO.setChildTitle("浼佷笟涓诲姩鎾ゆ");
+            settleParentStatusCHVO.setStatus(Constants.THREE);
+            Optional<SettleClaimsLog> optionalSettleClaimsSLLog = settleClaimsLogList.stream()
+                    .filter(i->Constants.equalsInteger(i.getStatus(),Constants.SettleClaimsLogType.RETURN_SETTLE.getKey())).findFirst();
+            if(optionalSettleClaimsSLLog.isPresent()){
+                settleParentStatusCHVO.setOptDate(optionalSettleClaimsSLLog.get().getCreateDate());
+            }
+            settleParentStatusVOList.add(settleParentStatusCHVO);
+            return settleParentStatusVOList;
+        }
+
+
+        List<SettleClaimsLog> settleClaimsLogs = settleClaimsLogList.stream()
+                .filter(i->i.getParentStatus()<Constants.SettleClaimsStatus.RETURN.getParentKey()).collect(Collectors.toList());
+        Optional<Integer> optionalInteger = settleClaimsLogs.stream().map(i->i.getParentStatus()).max(Comparator.comparingInt(o -> o));
+        if(optionalInteger.isPresent()){
+            for (int i = 1; i <= 6; i++) {
+                SettleParentStatusVO s = new SettleParentStatusVO();
+                Constants.SettleClaimsLogParentStatus  parentStatus = Constants.SettleClaimsLogParentStatus.getAll(i);
+                s.setParentTitle(parentStatus.getName());
+                if(optionalInteger.get()>i){
+                    //濡傛灉鏈�澶х殑鐖朵笟鍔$姸鎬� 澶т簬 榛樿鐨�6绫绘暟鎹� 鍒欑洿鎺ユ樉绀洪粯璁ら厤缃�
+                    s.setChildTitle(parentStatus.getInfo());
+                    s.setStatus(Constants.ZERO);
+                }else if(optionalInteger.get()<i){
+                    //濡傛灉鏈�澶х殑鐖朵笟鍔$姸鎬� 灏忎簬 榛樿鐨�6绫绘暟鎹� 鍒欑洿鎺ユ樉绀洪粯璁ゆ湭澶勭悊閰嶇疆
+                    s.setChildTitle(parentStatus.getWaitInfo());
+                    s.setStatus(Constants.TWO);
+                }else{
+                    //濡傛灉鏄瓑浜庣埗鐘舵�� 鍒欏幓鏌ヨ瀹為檯鐨勪笟鍔$姸鎬�
+                    if(Constants.equalsInteger(i,optionalInteger.get())){
+                        Optional<SettleClaimsLog> settleClaimsLogOptional = settleClaimsLogList.stream()
+                                .filter(j->Constants.equalsInteger(j.getParentStatus(),optionalInteger.get())).findFirst();
+                        if(settleClaimsLogOptional.isPresent()){
+                            s.setChildTitle(Constants.SettleClaimsLogType.getName(settleClaimsLogOptional.get().getObjType()));
+                        }
+                    }
+                    s.setStatus(Constants.ONE);
+                }
+                settleParentStatusVOList.add(s);
+            }
+        }
+        return settleParentStatusVOList;
+
+
+    }
 
 
 

--
Gitblit v1.9.3