From c421d2deeec5530d8060d8e06b5b86bb02e72dbf Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 21 二月 2024 18:32:31 +0800
Subject: [PATCH] 111

---
 server/service/src/main/java/com/doumee/service/business/impl/DuWorktypeServiceImpl.java        |   41 ++
 server/service/src/main/java/com/doumee/dao/business/model/Member.java                          |   20 
 server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java      |   40 +++
 server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java |    1 
 server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java         |    6 
 server/service/src/main/java/com/doumee/service/business/impl/MemberInsuranceServiceImpl.java   |   29 ++
 server/service/src/main/java/com/doumee/dao/business/model/ApplyChagneDetail.java               |    6 
 server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java           |   48 ++++
 server/company/src/main/java/com/doumee/api/business/CompanyController.java                     |   12 +
 server/platform/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java          |   14 
 server/company/src/main/java/com/doumee/api/business/NoticesController.java                     |   19 +
 server/service/src/main/java/com/doumee/core/utils/Constants.java                               |    3 
 server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java    |   60 ++++
 server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java       |  165 +++++++++++--
 server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java                    |    4 
 server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java       |    5 
 server/platform/src/main/java/com/doumee/api/business/ApplyDetailController.java                |    3 
 server/service/src/main/java/com/doumee/service/business/MemberInsuranceService.java            |    4 
 server/company/src/main/java/com/doumee/api/business/MemberInsuranceController.java             |    4 
 server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java              |    6 
 server/company/src/main/java/com/doumee/api/business/ApplyDetailController.java                 |    7 
 server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java             |   19 +
 server/service/src/main/java/com/doumee/dao/business/model/MemberInsurance.java                 |   30 +
 server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java            |   42 ++-
 server/platform/src/main/java/com/doumee/task/ScheduleTool.java                                 |   13 +
 server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java      |   17 
 server/platform/src/main/java/com/doumee/api/business/MemberInsuranceController.java            |   16 +
 server/service/src/main/java/com/doumee/service/business/NoticesService.java                    |    8 
 server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java             |    2 
 server/service/src/main/java/com/doumee/dao/business/vo/ApplyNoticeVO.java                      |   23 +
 30 files changed, 563 insertions(+), 104 deletions(-)

diff --git a/server/company/src/main/java/com/doumee/api/business/ApplyDetailController.java b/server/company/src/main/java/com/doumee/api/business/ApplyDetailController.java
index 666cf0e..a62e8e9 100644
--- a/server/company/src/main/java/com/doumee/api/business/ApplyDetailController.java
+++ b/server/company/src/main/java/com/doumee/api/business/ApplyDetailController.java
@@ -82,6 +82,13 @@
         return ApiResponse.success(applyDetailService.findListForCompany(applyDetailPageDTO));
     }
 
+    @ApiOperation("鏌ヨ鍏ㄩ儴")
+    @PostMapping("/list")
+    @RequiresPermissions("business:applydetail:query")
+    public ApiResponse<List<ApplyDetail>> list (@RequestBody  ApplyDetail pageWrap) {
+        return ApiResponse.success(applyDetailService.findList(pageWrap));
+    }
+
     @ApiOperation("瀵煎嚭鍦ㄤ繚浜哄憳璇﹀崟Excel")
     @PostMapping("/exportExcel")
     @RequiresPermissions("business:applydetail:exportExcel")
diff --git a/server/company/src/main/java/com/doumee/api/business/CompanyController.java b/server/company/src/main/java/com/doumee/api/business/CompanyController.java
index c76e46c..647fcd8 100644
--- a/server/company/src/main/java/com/doumee/api/business/CompanyController.java
+++ b/server/company/src/main/java/com/doumee/api/business/CompanyController.java
@@ -3,6 +3,8 @@
 import com.doumee.api.BaseController;
 import com.doumee.core.annotation.excel.ExcelExporter;
 import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.ApiResponse;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.model.PageData;
@@ -91,4 +93,14 @@
 
         return ApiResponse.success(companyService.findById(id));
     }
+
+    @ApiOperation("浼佷笟璇佷欢涓嬭浇")
+    @PostMapping("/exportFiles")
+    @RequiresPermissions("business:company:exportExcel")
+    public void exportFiles(@RequestBody Company company,HttpServletResponse response) {
+        if(company.getId() == null){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        companyService.exportFiles(company.getId(),response);
+    }
 }
diff --git a/server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java b/server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java
index 32543b5..2d0296e 100644
--- a/server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java
+++ b/server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java
@@ -143,5 +143,11 @@
     }
 
 
+    @ApiOperation("娴嬭瘯鐢熸垚寰呯画淇濋�氱煡")
+    @GetMapping("/generateNotice")
+    public ApiResponse generateNotice() {
+        insuranceApplyService.generateNotice();
+        return ApiResponse.success(null);
+    }
 
 }
diff --git a/server/company/src/main/java/com/doumee/api/business/MemberInsuranceController.java b/server/company/src/main/java/com/doumee/api/business/MemberInsuranceController.java
index 9dfea83..5c20332 100644
--- a/server/company/src/main/java/com/doumee/api/business/MemberInsuranceController.java
+++ b/server/company/src/main/java/com/doumee/api/business/MemberInsuranceController.java
@@ -79,9 +79,11 @@
     @PostMapping("/findList")
     @RequiresPermissions("business:memberinsurance:query")
     public ApiResponse<List<MemberInsurance>> findList (@RequestBody MemberInsurance memberInsurance) {
-        return ApiResponse.success(memberInsuranceService.findList(memberInsurance));
+        return ApiResponse.success(memberInsuranceService.getList(memberInsurance));
     }
 
+
+
     @ApiOperation("瀵煎嚭Excel")
     @PostMapping("/exportExcel")
     @RequiresPermissions("business:memberinsurance:exportExcel")
diff --git a/server/company/src/main/java/com/doumee/api/business/NoticesController.java b/server/company/src/main/java/com/doumee/api/business/NoticesController.java
index 42f845b..6d47a17 100644
--- a/server/company/src/main/java/com/doumee/api/business/NoticesController.java
+++ b/server/company/src/main/java/com/doumee/api/business/NoticesController.java
@@ -9,6 +9,7 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.utils.Constants;
 import com.doumee.dao.business.model.Notices;
+import com.doumee.dao.business.vo.ApplyNoticeVO;
 import com.doumee.service.business.NoticesService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -93,4 +94,22 @@
     public ApiResponse findById(@PathVariable Integer id) {
         return ApiResponse.success(noticesService.findById(id));
     }
+
+
+    @ApiOperation("鏌ヨ鎶曚繚鍗曟彁閱掓暟閲�")
+    @GetMapping("/getApplyNotice")
+    public ApiResponse<ApplyNoticeVO> getApplyNotice() {
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        return ApiResponse.success(noticesService.getApplyNotice(loginUserInfo.getCompanyId()));
+    }
+
+    @ApiOperation("鎶曚繚鍗曞叧闂彁閱�")
+    @GetMapping("/closeApplyNotice")
+    public ApiResponse closeApplyNotice(@RequestParam Integer type) {
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        noticesService.closeApplyNotice(loginUserInfo.getCompanyId(),type);
+        return ApiResponse.success("鎿嶄綔鎴愬姛");
+    }
+
+
 }
diff --git a/server/platform/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java b/server/platform/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java
index b2bdb4d..d931609 100644
--- a/server/platform/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java
@@ -67,13 +67,13 @@
         applyChagneDetailService.updateById(applyChagneDetail);
         return ApiResponse.success(null);
     }
-//
-@ApiOperation("鍒嗛〉鏌ヨ")
-@PostMapping("/page")
-@RequiresPermissions("business:applychagnedetail:query")
-public ApiResponse<PageData<ApplyChagneDetail>> findPage (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap) {
-    return ApiResponse.success(applyChagneDetailService.findPageForCompany(pageWrap));
-}
+    //
+    @ApiOperation("鍒嗛〉鏌ヨ")
+    @PostMapping("/page")
+    @RequiresPermissions("business:applychagnedetail:query")
+    public ApiResponse<PageData<ApplyChagneDetail>> findPage (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap) {
+        return ApiResponse.success(applyChagneDetailService.findPageForCompany(pageWrap));
+    }
 
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/list")
diff --git a/server/platform/src/main/java/com/doumee/api/business/ApplyDetailController.java b/server/platform/src/main/java/com/doumee/api/business/ApplyDetailController.java
index f1f6296..57780fc 100644
--- a/server/platform/src/main/java/com/doumee/api/business/ApplyDetailController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/ApplyDetailController.java
@@ -83,7 +83,8 @@
     @PostMapping("/exportExcel")
     @RequiresPermissions("business:applydetail:exportExcel")
     public void exportExcel (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(ApplyDetail.class).exportWithFirstAndEnd(applyDetailService.findPageForCompany(pageWrap).getRecords(), pageWrap.getModel().getCompanyName()+"_"+pageWrap.getModel().getSolutionName()+".xlsx","鍦ㄤ繚浜哄憳鍚嶅崟",null, response);
+        ExcelExporter.build(ApplyDetail.class).exportWithFirstAndEnd(applyDetailService.findPageForCompany(pageWrap).getRecords(),
+                 pageWrap.getModel().getSolutionName(),"鍦ㄤ繚浜哄憳鍚嶅崟",null, response);
     }
 
     @ApiOperation("鏍规嵁ID鏌ヨ")
diff --git a/server/platform/src/main/java/com/doumee/api/business/MemberInsuranceController.java b/server/platform/src/main/java/com/doumee/api/business/MemberInsuranceController.java
index ded1478..5371fd2 100644
--- a/server/platform/src/main/java/com/doumee/api/business/MemberInsuranceController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/MemberInsuranceController.java
@@ -79,11 +79,25 @@
         return ApiResponse.success(memberInsuranceService.findPage(pageWrap));
     }
 
+//    @ApiOperation("瀵煎嚭Excel")
+//    @PostMapping("/exportExcel")
+//    @RequiresPermissions("business:memberinsurance:exportExcel")
+//    public void exportExcel (@RequestBody PageWrap<MemberInsurance> pageWrap, HttpServletResponse response) {
+//        ExcelExporter.build(MemberInsurance.class).export(memberInsuranceService.findPage(pageWrap).getRecords(), "鍛樺伐鎶曚繚鏄庣粏璁板綍", response);
+//    }
+
     @ApiOperation("瀵煎嚭Excel")
     @PostMapping("/exportExcel")
     @RequiresPermissions("business:memberinsurance:exportExcel")
     public void exportExcel (@RequestBody PageWrap<MemberInsurance> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(MemberInsurance.class).export(memberInsuranceService.findPage(pageWrap).getRecords(), "鍛樺伐鎶曚繚鏄庣粏璁板綍", response);
+        List<MemberInsurance> list = memberInsuranceService.findPage(pageWrap).getRecords();
+        for (int i = 0; i < list.size(); i++) {
+            MemberInsurance memberInsurance  = list.get(i);
+            memberInsurance.setSn(i+1);
+        }
+        ExcelExporter.build(MemberInsurance.class).exportWithFirstAndEnd(list,
+                "浜哄憳鎶曚繚璇﹀崟_濮撳悕锛�"+pageWrap.getModel().getMemberName() +"_韬唤璇佸彿锛�"+pageWrap.getModel().getIdcardNo(),
+                "浜哄憳鎶曚繚璇﹀崟_濮撳悕锛�"+pageWrap.getModel().getMemberName() +"_韬唤璇佸彿锛�"+pageWrap.getModel().getIdcardNo(),null, response);
     }
 
     @ApiOperation("鏍规嵁ID鏌ヨ")
diff --git a/server/platform/src/main/java/com/doumee/task/ScheduleTool.java b/server/platform/src/main/java/com/doumee/task/ScheduleTool.java
index ba0fe87..58da84c 100644
--- a/server/platform/src/main/java/com/doumee/task/ScheduleTool.java
+++ b/server/platform/src/main/java/com/doumee/task/ScheduleTool.java
@@ -77,4 +77,17 @@
     }
 
 
+
+    /**
+     * 瀹氭椂鏇存柊鐢熸垚缁繚鎻愰啋
+     * @throws Exception
+     */
+    @Scheduled(cron = "0 1 00 * * ?")
+    public void generateNotice(){
+        log.info("==============瀹氭椂鏇存柊鐢熸垚缁繚鎻愰啋=======start======");
+        insuranceApplyService.generateNotice();
+        log.info("==============瀹氭椂鏇存柊鐢熸垚缁繚鎻愰啋======end=======");
+    }
+
+
 }
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 7996995..acfdf81 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
@@ -1010,7 +1010,8 @@
         TWO(2, "寰呭嚭鍗�","寰呭鎵�","寰呭鎵�","","",""),
         THREE(3, "鐢宠閫�鍥�","鐢宠閫�鍥�","鐢宠閫�鍥�","","",""),
         FOUR(4, "宸查��鍥�","宸查��鍥�","宸查��鍥�","","",""),
-        FIVE(5, "鐢宠椹冲洖","鐢宠椹冲洖","鐢宠椹冲洖","","","")
+        FIVE(5, "鐢宠椹冲洖","鐢宠椹冲洖","鐢宠椹冲洖","","",""),
+        SIX(6, "","","","","","")
         ;
 
         // 鎴愬憳鍙橀噺
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/ApplyChagneDetail.java b/server/service/src/main/java/com/doumee/dao/business/model/ApplyChagneDetail.java
index 914ad0b..e69641a 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/ApplyChagneDetail.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/ApplyChagneDetail.java
@@ -116,6 +116,12 @@
     @ApiModelProperty(value = "娲鹃仯鍗曚綅鍚嶇О")
     @TableField(exist = false)
     private String oldDuName;
+    @ApiModelProperty(value = "鏂规鍚嶇О")
+    @TableField(exist = false)
+    private String solutionsName;
+    @ApiModelProperty(value = "淇濆崟鍙�")
+    @TableField(exist = false)
+    private String applyCode;
 
     @ApiModelProperty(value = "宸ョ鍚嶇О")
     @TableField(exist = false)
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/Member.java b/server/service/src/main/java/com/doumee/dao/business/model/Member.java
index 4f9ce76..beba41d 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -47,22 +47,22 @@
     private Integer sortnum;
 
     @ApiModelProperty(value = "濮撳悕")
-    @ExcelColumn(name="鍛樺伐鍚嶇О",index = 2)
+    @ExcelColumn(name="鍛樺伐鍚嶇О",index = 2,width = 6)
     private String name;
 
     @ApiModelProperty(value = "鎶曚繚鐢宠缂栫爜锛堝叧鑱攊nsurance_apply", example = "1")
     private Integer applyId;
 
     @ApiModelProperty(value = "瀹為檯淇濋櫓鐢熸晥姝㈡湡")
-    @ExcelColumn(name="淇濋櫓鐢熸晥姝㈡湡",index = 9)
+    @ExcelColumn(name="淇濋櫓鐢熸晥姝㈡湡",index = 9,width = 12,dateFormat="yyyy-MM-dd HH:mm:ss")
     private Date endTime;
 
     @ApiModelProperty(value = "瀹為檯淇濋櫓鐢熸晥璧锋湡")
-    @ExcelColumn(name="淇濋櫓鐢熸晥璧锋湡",index = 8)
+    @ExcelColumn(name="淇濋櫓鐢熸晥璧锋湡",index = 8,width = 12,dateFormat="yyyy-MM-dd HH:mm:ss")
     private Date startTime;
 
     @ApiModelProperty(value = "韬唤璇佸彿鐮�")
-    @ExcelColumn(name="韬唤璇佸彿",index = 3)
+    @ExcelColumn(name="韬唤璇佸彿",index = 3,width = 12)
     private String idcardNo;
 
     @ApiModelProperty(value = "浼佷笟缂栫爜锛堝叧鑱攃ompany锛�", example = "1")
@@ -78,17 +78,17 @@
     private Integer sex;
 
     @ApiModelProperty(value = "淇濋櫓鏂规鍚嶇О")
-    @ExcelColumn(name="淇濋櫓鏂规",index = 5)
+    @ExcelColumn(name="淇濋櫓鏂规",index = 5,width = 10)
     @TableField(exist = false)
     private String solutionName;
 
     @ApiModelProperty(value = "娲鹃仯鍗曚綅鍚嶇О")
-    @ExcelColumn(name="娲鹃仯鍗曚綅",index = 6)
+    @ExcelColumn(name="娲鹃仯鍗曚綅",index = 6,width = 10)
     @TableField(exist = false)
     private String duName;
 
     @ApiModelProperty(value = "鎵�灞炲伐绉嶅悕绉�")
-    @ExcelColumn(name="鎵�灞炲伐绉�",index = 7)
+    @ExcelColumn(name="鎵�灞炲伐绉�",index = 7,width = 20)
     @TableField(exist = false)
     private String workTypeName;
 
@@ -97,17 +97,17 @@
     private String companyName;
 
     @ApiModelProperty(value = "淇濋櫓鐘舵��:1=淇濋殰涓�;2=涓嶅湪淇�")
-    @ExcelColumn(name="淇濋櫓鐘舵��",index = 1,valueMapping = "1=淇濋殰涓�;2=涓嶅湪淇�;")
+    @ExcelColumn(name="淇濋櫓鐘舵��",index = 1,valueMapping = "1=淇濋殰涓�;2=涓嶅湪淇�;",width = 6)
     @TableField(exist = false)
     private Integer solutionsStatus;
 
     @ApiModelProperty(value = "骞撮緞")
-    @ExcelColumn(name="骞撮緞",index = 4)
+    @ExcelColumn(name="骞撮緞",index = 4,width = 4)
     @TableField(exist = false)
     private Long age;
 
     @ApiModelProperty(value = "搴忓彿", example = "1")
-    @ExcelColumn(name="搴忓彿",index = 0)
+    @ExcelColumn(name="搴忓彿",index = 0,width = 4)
     @TableField(exist = false)
     private Integer sn;
 
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/MemberInsurance.java b/server/service/src/main/java/com/doumee/dao/business/model/MemberInsurance.java
index b1071d8..163de63 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/MemberInsurance.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/MemberInsurance.java
@@ -57,6 +57,7 @@
         this.creator = sysUserId;
         this.isdeleted = Constants.ZERO;
         this.applyId = applyChange.getApplyId();
+        this.applyChangeId = applyChange.getId();
         this.memberId = applyChangeDetail.getMemberId();
         this.endTime = applyChangeDetail.getEndTime();
         this.startTime = applyChangeDetail.getStartTime();
@@ -65,9 +66,9 @@
         this.worktypeId = applyChangeDetail.getWorktypeId();
         this.fee = applyChangeDetail.getFee();
         this.sex = applyChangeDetail.getSex();
-        this.bdCode = applyChange.getApplyCode();
-        this.pdCode = applyChange.getCode();
-        this.solutionName = applyChange.getSolutionsName();
+        this.bdCode = applyChangeDetail.getApplyCode();
+        this.pdCode = applyChange.getValidCode();
+        this.solutionName = applyChangeDetail.getSolutionsName();
         this.worktypeName = applyChangeDetail.getWorkTypeName();
         this.duName = applyChangeDetail.getDuName();
 //        this.relationType = Constants.ONE;
@@ -109,11 +110,11 @@
     private Integer memberId;
 
     @ApiModelProperty(value = "瀹為檯淇濋櫓鐢熸晥姝㈡湡")
-    @ExcelColumn(name="淇濋櫓鐢熸晥姝㈡湡",index = 7)
+    @ExcelColumn(name="淇濋櫓鐢熸晥姝㈡湡",index = 7,width = 12,dateFormat="yyyy-MM-dd HH:mm:ss")
     private Date endTime;
 
     @ApiModelProperty(value = "瀹為檯淇濋櫓鐢熸晥璧锋湡")
-    @ExcelColumn(name="淇濋櫓鐢熸晥璧锋湡",index = 6)
+    @ExcelColumn(name="淇濋櫓鐢熸晥璧锋湡",index = 6,width = 12,dateFormat="yyyy-MM-dd HH:mm:ss")
     private Date startTime;
 
     @ApiModelProperty(value = "韬唤璇佸彿鐮�")
@@ -141,33 +142,34 @@
     private Integer sex;
 
     @ApiModelProperty(value = "淇濆崟鍙�")
-    @ExcelColumn(name="淇濆崟鍙�",index = 2)
+    @ExcelColumn(name="淇濆崟鍙�",index = 2,width = 5)
     private String bdCode;
 
     @ApiModelProperty(value = "鎵瑰崟鍙�")
-    @ExcelColumn(name="鎵瑰崟鍙�",index = 3)
+    @ExcelColumn(name="鎵瑰崟鍙�",index = 3,width = 5)
     private String pdCode;
 
     @ApiModelProperty(value = "淇濋櫓鏂规鍚嶇О")
-    @ExcelColumn(name="淇濋櫓鏂规",index = 1)
+    @ExcelColumn(name="淇濋櫓鏂规",index = 1,width = 6)
     private String solutionName;
 
     @ApiModelProperty(value = "鎵瑰崟鐢宠缂栫爜", example = "1")
     private Integer applyChangeId;
 
     @ApiModelProperty(value = "宸ョ鍚嶇О")
-    @ExcelColumn(name="宸ョ鍚嶇О",index = 5)
+    @ExcelColumn(name="宸ョ鍚嶇О",index = 5,width = 6)
     private String worktypeName;
 
     @ApiModelProperty(value = "娲鹃仯鍗曚綅鍚嶇О")
-    @ExcelColumn(name="娲鹃仯鍗曚綅",index = 4)
+    @ExcelColumn(name="娲鹃仯鍗曚綅",index = 4,width = 6)
     private String duName;
 
 
     @ApiModelProperty(value = "搴忓彿", example = "1")
-    @ExcelColumn(name="搴忓彿",index = 0)
+    @ExcelColumn(name="搴忓彿",index = 0,width = 3)
     @TableField(exist = false)
     private Integer sn;
+
 
 
     @ApiModelProperty(value = "鍏宠仈鏄庣粏涓婚敭", example = "1")
@@ -177,6 +179,12 @@
     @TableField(exist = false)
     private String memberName;
 
+
+    @ApiModelProperty(value = "绛涢�夌姸鎬侊細0=鏈紑濮嬶紱1=宸插紑濮嬶紙鍖呮嫭宸茶繃鏈燂級", example = "1")
+    @TableField(exist = false)
+    private Integer status;
+
+
 //    @ApiModelProperty(value = "鍏宠仈鏄庣粏绫诲瀷锛�0=鎶曚繚鐢宠锛�1=鍔犲噺淇�/鎹㈠巶", example = "1")
 //    @ExcelColumn(name="鍏宠仈鏄庣粏绫诲瀷锛�0=鎶曚繚鐢宠锛�1=鍔犲噺淇�/鎹㈠巶")
 //    private Integer relationType;
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 33b3c79..da6a49b 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
@@ -226,6 +226,10 @@
     @TableField(exist = false)
     private Date baoxianEndTime;
 
+    @ApiModelProperty(value = "璧勬枡瀹屾垚鏃堕棿")
+    @TableField(exist = false)
+    private Date finishDate;
+
 
     @ApiModelProperty(value = "鏂规鍩鸿〃缂栫爜锛堝叧鑱攕olutions锛�", example = "1")
     @TableField(exist = false)
diff --git a/server/service/src/main/java/com/doumee/dao/business/vo/ApplyNoticeVO.java b/server/service/src/main/java/com/doumee/dao/business/vo/ApplyNoticeVO.java
new file mode 100644
index 0000000..7716fd4
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/vo/ApplyNoticeVO.java
@@ -0,0 +1,23 @@
+package com.doumee.dao.business.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/2/21 14:13
+ */
+@Data
+public class ApplyNoticeVO {
+
+    @ApiModelProperty(value = "寰呯缃叉暟閲�")
+    private Integer  waitSignNum;
+
+    @ApiModelProperty(value = "缁繚鏁伴噺")
+    private Integer  renewalNum;
+
+}
diff --git a/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java b/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
index 45bb3d1..920ce43 100644
--- a/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
+++ b/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
@@ -132,4 +132,6 @@
     void dealWaitSignedData();
 
     CountCyclePriceVO getCountCyclePriceVO(CountCyclePriceDTO countCyclePriceDTO);
+
+    void generateNotice();
 }
diff --git a/server/service/src/main/java/com/doumee/service/business/MemberInsuranceService.java b/server/service/src/main/java/com/doumee/service/business/MemberInsuranceService.java
index 281c687..30aec7e 100644
--- a/server/service/src/main/java/com/doumee/service/business/MemberInsuranceService.java
+++ b/server/service/src/main/java/com/doumee/service/business/MemberInsuranceService.java
@@ -78,7 +78,9 @@
      * @return List<MemberInsurance>
      */
     List<MemberInsurance> findList(MemberInsurance memberInsurance);
-  
+
+    List<MemberInsurance> getList(MemberInsurance memberInsurance);
+
     /**
      * 鍒嗛〉鏌ヨ
      *
diff --git a/server/service/src/main/java/com/doumee/service/business/NoticesService.java b/server/service/src/main/java/com/doumee/service/business/NoticesService.java
index f3ded5d..ea40cd4 100644
--- a/server/service/src/main/java/com/doumee/service/business/NoticesService.java
+++ b/server/service/src/main/java/com/doumee/service/business/NoticesService.java
@@ -3,6 +3,8 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.Notices;
+import com.doumee.dao.business.vo.ApplyNoticeVO;
+
 import java.util.List;
 
 /**
@@ -94,4 +96,10 @@
      * @return long
      */
     long count(Notices notices);
+
+    ApplyNoticeVO getApplyNotice(Integer companyId);
+
+    void closeApplyNotice(Integer companyId,Integer type);
+
+
 }
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java
index ef23ee2..01d4c9c 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java
@@ -93,6 +93,7 @@
     public List<ApplyChagneDetail> findList(ApplyChagneDetail applyDetailPageDTO) {
         MPJLambdaWrapper<ApplyChagneDetail> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(applyDetailPageDTO );
+        queryWrapper.selectAll(ApplyChagneDetail.class);
         queryWrapper.select("t2.name",ApplyChagneDetail::getWorkTypeName);
         queryWrapper.select("t3.name",ApplyChagneDetail::getDuName);
         queryWrapper.select("t4.name",ApplyChagneDetail::getOldWorkTypeName);
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 00a2029..427eb00 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
@@ -82,6 +82,9 @@
     private MemberInsuranceJoinMapper memberInsuranceJoinMapper;
 
     @Autowired
+    private ApplyChangeDetailJoinMapper applyChangeDetailJoinMapper;
+
+    @Autowired
     private MemberMapper memberMapper;
 
     @Autowired
@@ -164,6 +167,11 @@
             throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
         }
 
+        InsuranceApply insuranceApply = insuranceApplyMapper.selectById(model.getApplyId());
+        if(Objects.isNull(insuranceApply)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌淇濆崟淇℃伅");
+        }
+
         LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         ApplyChange update = new ApplyChange();
         update.setEditDate(new Date());
@@ -175,8 +183,8 @@
         update.setCheckUserId(user.getId());
         update.setId(model.getId());
         update.setValidCode(param.getValidCode());
-        update.setApplyStartTime(model.getApplyStartTime());
-        applyChangeMapper.updateById(update);
+        update.setApplyStartTime(param.getApplyStartTime());
+        update.setCode(model.getCode());
 
         param.getPidanFile().setIsdeleted(Constants.ZERO);
         param.getPidanFile().setCreator(user.getId());
@@ -187,6 +195,8 @@
         multifileMapper.insert(param.getPidanFile());
 
         update.setApplyId(model.getApplyId());
+
+
         if(Constants.equalsInteger(model.getType(),Constants.ZERO)){
             //濡傛灉鏄姞鍑忎繚鐢宠 澶勭悊鍔犲噺淇濇槑缁嗘暟鎹�
             dealDetailsValidTime(update);
@@ -194,6 +204,8 @@
             //濡傛灉鏄崲鍘傜敵璇� 澶勭悊鏄庣粏鏁版嵁
             dealDetailsDUdata(update);
         }
+
+        applyChangeMapper.updateById(update);
 
 //        if(1==1){
 //            throw new BusinessException(ResponseStatus.DATA_EMPTY);
@@ -278,21 +290,38 @@
                         .selectAll(ApplyChagneDetail.class)
                         .selectAs(Solutions::getTimeUnit,ApplyChagneDetail::getSolutionTimeUnit)
                         .selectAs(Solutions::getPrice,ApplyChagneDetail::getSolutionPrice)
+                        .selectAs(Solutions::getName,ApplyChagneDetail::getSolutionsName)
                         .selectAs(Worktype::getName,ApplyChagneDetail::getWorkTypeName)
                         .selectAs(DispatchUnit::getName,ApplyChagneDetail::getDuName)
-                  .leftJoin(ApplyChange.class, ApplyChange::getId, ApplyChagneDetail::getApplyChangeId)
-                  .leftJoin(InsuranceApply.class, InsuranceApply::getId, ApplyChange::getApplyId)
-                  .leftJoin(Solutions.class, Solutions::getId, InsuranceApply::getSolutionId)
+                        .selectAs(Member::getIdcardNo,ApplyChagneDetail::getIdcardNo)
+                        .selectAs(Member::getName, ApplyChagneDetail::getMemberName)
+                        .selectAs(InsuranceApply::getCode,ApplyChagneDetail::getApplyCode)
+                        .leftJoin(Member.class, Member::getId, ApplyChagneDetail::getMemberId)
+                        .leftJoin(ApplyChange.class, ApplyChange::getId, ApplyChagneDetail::getApplyChangeId)
+                      .leftJoin(InsuranceApply.class, InsuranceApply::getId, ApplyChange::getApplyId)
+                      .leftJoin(Solutions.class, Solutions::getId, InsuranceApply::getSolutionId)
                     .leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getWorktypeId)
                     .leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyChagneDetail::getDuId)
                   .eq(ApplyChagneDetail::getApplyChangeId,update.getId())
                   .eq(ApplyChagneDetail::getIsdeleted,Constants.ZERO) );
+
         if(detailList ==null || detailList.size()==0){
             return;
         }
         //瀹為檯鎵瑰崟鐢熸晥鏃ユ湡
         Date applyStartTime = DateUtil.getMontageDate(update.getApplyStartTime(),1);
         for(ApplyChagneDetail detail : detailList){
+            //鏌ヨ鍑忎繚浜哄憳鏄惁瀛樺湪 鍐茬獊鐨� 淇濆崟鏄庣粏鏁版嵁
+            if(applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>()
+                    .lambda()
+                    .eq(ApplyDetail::getApplyId,update.getApplyId())
+                    .eq(ApplyDetail::getIdcardNo,detail.getIdcardNo())
+                    .le(ApplyDetail::getStartTime,applyStartTime)
+                    .ge(ApplyDetail::getEndTime,applyStartTime)
+            )<=Constants.ZERO){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鎹㈠巶浜哄憳銆�" + detail.getMemberName() + "銆戞湭鏌ヨ鍒扮鍚堟壒鍗曟棩鏈熺殑鏁版嵁");
+            }
+
             //鏌ヨ鍛樺伐鏄湪涓诲崟涓� 鏄惁瀛樺湪鐢熸晥涓殑鏁版嵁
             ApplyDetail oldModel = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>().lambda()
                     .eq(ApplyDetail::getApplyId, update.getApplyId())
@@ -337,12 +366,16 @@
                 applyDetail.setCreateDate(new Date());
                 applyDetail.setCreator(update.getEditor());
                 applyDetail.setMemberId(oldModel.getMemberId());
+                applyDetail.setIdcardNo(detail.getIdcardNo());
+                applyDetail.setSex(Constants.getSexByIdCard(detail.getIdcardNo()));
+                applyDetail.setMemberName(detail.getMemberName());
                 applyDetail.setStartTime(DateUtil.getMontageDate(update.getApplyStartTime(),1));
                 applyDetail.setEndTime(endDate);
                 applyDetail.setDuId(detail.getDuId());
                 applyDetail.setWorktypeId(detail.getWorktypeId());
                 applyDetail.setIdcardNo(oldModel.getIdcardNo());
                 applyDetail.setFee(fee.subtract(oldFee));
+                applyDetail.setIsdeleted(Constants.ZERO);
                 if(flag){
                     applyDetail.setCurrentFee(oldCurrentFee.multiply(oldFee));
                 }else{
@@ -385,6 +418,11 @@
             member.setStartTime(detail.getStartTime());
             member.setEndTime(detail.getEndTime());
             memberMapper.updateById(member);
+
+            applyChangeDetailJoinMapper.update(null,new UpdateWrapper<ApplyChagneDetail>().lambda()
+                    .set(ApplyChagneDetail::getStartTime,DateUtil.getMontageDate(update.getApplyStartTime(), 1))
+                    .eq(ApplyChagneDetail::getId,detail.getId())
+            );
         }
     }
     /**
@@ -395,11 +433,16 @@
         List<ApplyChagneDetail> detailList = applyChagneDetailJoinMapper.selectJoinList(ApplyChagneDetail.class,
                 new MPJLambdaWrapper<ApplyChagneDetail>()
                         .selectAll(ApplyChagneDetail.class)
+                        .selectAs(Member::getIdcardNo,ApplyChagneDetail::getIdcardNo)
                         .selectAs(Solutions::getTimeUnit, ApplyChagneDetail::getSolutionTimeUnit)
                         .selectAs(Solutions::getPrice, ApplyChagneDetail::getSolutionPrice)
                         .selectAs(Worktype::getName, ApplyChagneDetail::getWorkTypeName)
                         .selectAs(DispatchUnit::getName, ApplyChagneDetail::getDuName)
+                        .selectAs(Member::getName, ApplyChagneDetail::getMemberName)
+                        .selectAs(Solutions::getName,ApplyChagneDetail::getSolutionsName)
+                        .selectAs(InsuranceApply::getCode,ApplyChagneDetail::getApplyCode)
                         .leftJoin(ApplyChange.class, ApplyChange::getId, ApplyChagneDetail::getApplyChangeId)
+                        .leftJoin(Member.class, Member::getId, ApplyChagneDetail::getMemberId)
                         .leftJoin(InsuranceApply.class, InsuranceApply::getId, ApplyChange::getApplyId)
                         .leftJoin(Solutions.class, Solutions::getId, InsuranceApply::getSolutionId)
                         .leftJoin(Worktype.class, Worktype::getId, ApplyChagneDetail::getWorktypeId)
@@ -416,7 +459,6 @@
         //鎶曚繚璁板綍 鍔犱繚鏁版嵁鍔犲叆鏂版暟鎹�  鍑忎繚鏁版嵁 淇敼鑰佹暟鎹�
         List<MemberInsurance> memberInsuranceList = new ArrayList<>();
 
-
         //鍔犱繚涓氬姟 浣跨敤鐨勫姞淇濋噾棰�
         ApplyChangeCyclePriceDTO applyChangeCyclePriceDTO_add = new ApplyChangeCyclePriceDTO();
         applyChangeCyclePriceDTO_add.setApplyId(update.getApplyId());
@@ -432,6 +474,19 @@
                 throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍛樺伐鏁版嵁");
             }
             if (Constants.equalsInteger(detail.getType(), Constants.ZERO)) {
+
+                //鏌ヨ鍔犱繚浜哄憳鏄惁瀛樺湪 鍐茬獊鐨� 淇濆崟鏄庣粏鏁版嵁
+                if(applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>()
+                        .lambda()
+                        .eq(ApplyDetail::getApplyId,update.getApplyId())
+                        .eq(ApplyDetail::getIdcardNo,detail.getIdcardNo())
+                        .le(ApplyDetail::getStartTime,DateUtil.getMontageDate(update.getApplyStartTime(),1))
+                        .ge(ApplyDetail::getEndTime,DateUtil.getMontageDate(update.getApplyStartTime(),3))
+                )>Constants.ZERO){
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鍔犱繚浜哄憳銆�" + detail.getMemberName() + "銆戝瓨鍦ㄦ棩鏈熷啿绐佺殑鏁版嵁");
+                }
+
+
                 //鍔犱繚
                 ApplyDetail add = new ApplyDetail();
                 add.setApplyId(update.getApplyId());
@@ -443,9 +498,12 @@
                 add.setMemberId(detail.getMemberId());
                 add.setMemberName(detail.getMemberName());
                 add.setWorktypeId(detail.getWorktypeId());
+                add.setIsdeleted(Constants.ZERO);
+                add.setIdcardNo(detail.getIdcardNo());
+                add.setSex(Constants.getSexByIdCard(detail.getIdcardNo()));
+                add.setMemberName(detail.getMemberName());
                 add.setDuId(detail.getDuId());
                 add.setStartTime(update.getApplyStartTime());
-                add.setEndTime(detail.getEndTime());
                 add.setStartTime(DateUtil.getMontageDate(update.getApplyStartTime(), 1));
                 add.setEndTime(DateUtil.getMontageDate(detail.getEndTime(), 2));
                 add.setFee(countCyclePriceVO_add.getCyclePrice());
@@ -464,6 +522,13 @@
 
                 MemberInsurance memberInsurance = new MemberInsurance(detail, update, update.getEditor(), add.getId());
                 memberInsuranceList.add(memberInsurance);
+
+                applyChangeDetailJoinMapper.update(null,new UpdateWrapper<ApplyChagneDetail>().lambda()
+                        .set(ApplyChagneDetail::getFee,add.getFee())
+                        .set(ApplyChagneDetail::getStartTime,DateUtil.getMontageDate(update.getApplyStartTime(), 1))
+                        .eq(ApplyChagneDetail::getId,detail.getId())
+                );
+
             } else {
                     //鍑忎繚鎿嶄綔
                     //鏌ヨ鍛樺伐鏄湪涓诲崟涓� 鏄惁瀛樺湪鐢熸晥涓殑鏁版嵁
@@ -507,6 +572,14 @@
                             .set(MemberInsurance::getEndTime, update.getApplyStartTime())
                             .eq(MemberInsurance::getRelationId, oldModel.getId())
                     );
+
+                    //淇敼涓氬姟鏄庣粏琛屾暟鎹疄闄呮壒鍗曟棩鏈�
+                    applyChangeDetailJoinMapper.update(null,new UpdateWrapper<ApplyChagneDetail>().lambda()
+                            .set(ApplyChagneDetail::getFee,updateFee)
+                            .set(ApplyChagneDetail::getEndTime,DateUtil.getMontageDate(update.getApplyStartTime(), 3))
+                            .eq(ApplyChagneDetail::getId,detail.getId())
+                    );
+
             }
 
             member.setApplyId(update.getApplyId());
@@ -529,6 +602,9 @@
                     .set(InsuranceApply::getEditDate, update.getEditDate())
                     .eq(InsuranceApply::getId, update.getApplyId())
             );
+
+            update.setFee(totalFee);
+
         }
     }
 
@@ -684,12 +760,6 @@
         applyChangeFee.setId(applyChange.getId());
         applyChangeFee.setFee(fee);
         applyChangeMapper.updateById(applyChangeFee);
-
-//        if(1==1){
-//            throw new BusinessException(ResponseStatus.DATA_EMPTY);
-//        }
-
-
 
         Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_COMPANY_COMMIT;
         String info =applyLogType.getInfo();
@@ -887,6 +957,18 @@
             if (Objects.isNull(applyChagneDetail.getMemberId())) {
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍑忎繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝繀濉」缂哄け");
             }
+
+            //鏌ヨ鍑忎繚浜哄憳鏄惁瀛樺湪 鍐茬獊鐨� 淇濆崟鏄庣粏鏁版嵁
+            if(applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>()
+                    .lambda()
+                    .eq(ApplyDetail::getApplyId,applyChange.getApplyId())
+                    .eq(ApplyDetail::getIdcardNo,applyChagneDetail.getIdcardNo())
+                    .le(ApplyDetail::getStartTime,DateUtil.getMontageDate(applyChange.getApplyStartTime(),1))
+                    .ge(ApplyDetail::getEndTime,DateUtil.getMontageDate(applyChange.getApplyStartTime(),3))
+            )<=Constants.ZERO){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鍑忎繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戞湭鏌ヨ鍒扮鍚堟壒鍗曟棩鏈熺殑鏁版嵁");
+            }
+            
             Member member = memberMapper.selectById(applyChagneDetail.getMemberId());
             if (Objects.isNull(member)) {
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍑忎繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戞湭鏌ヨ鍒扮郴缁熶汉鍛樹俊鎭�");
@@ -905,6 +987,8 @@
             List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda()
                     .eq(ApplyDetail::getApplyId, applyChange.getApplyId())
                     .eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId())
+                    .le(ApplyDetail::getStartTime,DateUtil.getMontageDate(applyChange.getApplyStartTime(),1))
+                    .ge(ApplyDetail::getEndTime,DateUtil.getMontageDate(applyChange.getApplyStartTime(),3))
                     .orderByDesc(ApplyDetail::getCreateDate));
             if (applyDetailList.size() > Constants.ONE) {
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍑忎繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戜繚鍗曚俊鎭紓甯革紝瀛樺湪澶氭潯鏁版嵁");
@@ -944,13 +1028,25 @@
      * @param duSolutionList
      * @param loginUserInfo
      */
-    public void addChangeDetail(ApplyChange applyChange ,List<ApplyChagneDetail> addDetailList,List<DuWorktype> duWorktypeList,List<DuSolution> duSolutionList,InsuranceApply insuranceApply,Solutions solutions,LoginUserInfo loginUserInfo,BigDecimal detailFee){
+    public void addChangeDetail(ApplyChange applyChange ,List<ApplyChagneDetail> addDetailList,
+                                List<DuWorktype> duWorktypeList,List<DuSolution> duSolutionList,
+                                InsuranceApply insuranceApply,Solutions solutions,LoginUserInfo loginUserInfo,BigDecimal detailFee){
         for (ApplyChagneDetail applyChagneDetail : addDetailList) {
             if (    Objects.isNull(applyChagneDetail.getDuId())
                     || Objects.isNull(applyChagneDetail.getWorktypeId())
                     || StringUtils.isBlank(applyChagneDetail.getIdcardNo())
             ) {
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝繀濉」缂哄け");
+            }
+            //鏌ヨ鍔犱繚浜哄憳鏄惁瀛樺湪 鍐茬獊鐨� 淇濆崟鏄庣粏鏁版嵁
+            if(applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>()
+                    .lambda()
+                    .eq(ApplyDetail::getApplyId,applyChange.getApplyId())
+                    .eq(ApplyDetail::getIdcardNo,applyChagneDetail.getIdcardNo())
+                    .le(ApplyDetail::getStartTime,DateUtil.getMontageDate(applyChange.getApplyStartTime(),1))
+                    .ge(ApplyDetail::getEndTime,DateUtil.getMontageDate(applyChange.getApplyStartTime(),3))
+            )>Constants.ZERO){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄦ棩鏈熷啿绐佺殑鏁版嵁");
             }
 
             applyChagneDetail.setCreateDate(new Date());
@@ -1069,6 +1165,18 @@
             ) {
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鎹㈠巶浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝繀濉」缂哄け");
             }
+
+            //鏌ヨ鎹㈠巶浜哄憳鏄惁瀛樺湪  鏈夋晥鐨勪繚鍗曟槑缁嗘暟鎹�
+            if(applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>()
+                    .lambda()
+                    .eq(ApplyDetail::getApplyId,applyChange.getApplyId())
+                    .eq(ApplyDetail::getIdcardNo,applyChagneDetail.getIdcardNo())
+                    .le(ApplyDetail::getStartTime,DateUtil.getMontageDate(applyChange.getApplyStartTime(),1))
+                    .ge(ApplyDetail::getEndTime,DateUtil.getMontageDate(applyChange.getApplyStartTime(),1))
+            )<=Constants.ZERO){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鎹㈠巶浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戞湭鏌ヨ鍒扮鍚堟壒鍗曟棩鏈熺殑鏁版嵁");
+            }
+
             Member member = memberMapper.selectById(applyChagneDetail.getMemberId());
             if (Objects.isNull(member)) {
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鎹㈠巶浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戞湭鏌ヨ鍒扮郴缁熶汉鍛樹俊鎭�");
@@ -1087,7 +1195,8 @@
             List<ApplyDetail>  applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda()
                     .eq(ApplyDetail::getApplyId, applyChange.getApplyId())
                     .eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId())
-                    .ge(ApplyDetail::getEndTime, new Date()));
+                    .le(ApplyDetail::getStartTime,DateUtil.getMontageDate(applyChange.getApplyStartTime(),1))
+                    .ge(ApplyDetail::getEndTime,DateUtil.getMontageDate(applyChange.getApplyStartTime(),1)));
             if(applyDetailList.size()>Constants.ONE){
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鎹㈠巶浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戜繚鍗曚俊鎭紓甯革紝瀛樺湪澶氭潯鏁版嵁");
             }else if(applyDetailList.size()==Constants.ZERO){
@@ -1249,6 +1358,7 @@
                         Constants.ApplyChangeStatus.RETURN_APPLY_SIGNATURE.getKey())
 //                .eq(!Objects.isNull(model.getCompanyId()),InsuranceApply::getCompanyId,model.getCompanyId())
 //                .eq(!Objects.isNull(model.getSolutionsId()),ApplyChange::getSolutionsId,model.getSolutionsId())
+                .eq(!Objects.isNull(model.getApplyId()),ApplyChange::getApplyId,model.getApplyId())
                 .eq(!Objects.isNull(model.getBaseSolutionsId()),Solutions::getBaseId,model.getBaseSolutionsId())
                 .ge(StringUtils.isNotBlank(model.getCreateDateS()),ApplyChange::getCreateDate, model.getCreateDateS()+" 00:00:00" )
                 .le(StringUtils.isNotBlank(model.getCreateDateE()),ApplyChange::getCreateDate, model.getCreateDateE()+" 23:59:59" );
@@ -1264,13 +1374,16 @@
             }
             queryWrapper.eq(pageWrap.getModel().getCompanyId()!=null,InsuranceApply::getCompanyId, pageWrap.getModel().getCompanyId());
         }
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
-            }
-        }
+
+        queryWrapper.orderByDesc(ApplyDetail::getCreateDate);
+
+//        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+//            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+//                queryWrapper.orderByDesc(sortData.getProperty());
+//            } else {
+//                queryWrapper.orderByAsc(sortData.getProperty());
+//            }
+//        }
         PageData<ApplyChange> pageData = PageData.from(applyChangeJoinMapper.selectJoinPage(page,ApplyChange.class, queryWrapper));
         return pageData;
     }
@@ -1328,7 +1441,7 @@
             //鍒犻櫎鍏朵粬寰呭姙
             noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,applyChange.getId()));
             Notices notices = new Notices(noticeObjectType,Constants.ZERO,applyChange.getId(),solutions.getName(),
-                    applyChange.getCompanyId(), Constants.NoticeType.THREE);
+                    insuranceApply.getCompanyId(), Constants.NoticeType.THREE);
             noticesMapper.insert(notices);
 
 
@@ -1382,7 +1495,9 @@
         applyChangeMapper.updateById(applyChange);
 
         String info = applyLogType.getInfo();
-        info = info.replace("${param}", applyChangeOptDTO.getOptIllustration());
+        if(StringUtils.isNotBlank(applyChangeOptDTO.getOptIllustration())){
+            info = info.replace("${param}", applyChangeOptDTO.getOptIllustration());
+        }
         ApplyLog log = new ApplyLog(applyChange,applyLogType.getName(),info,applyChange.getId(),applyLogType.getKey(), null, null);
         applyLogMapper.insert(log);
     }
@@ -1579,7 +1694,7 @@
                 .selectAs(InsuranceApply::getCompanyId,ApplyChange::getCompanyId)
                 .selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode)
                 .selectAs(InsuranceApply::getStartTime,ApplyChange::getStartTime)
-                .selectAs(InsuranceApply::getStartTime,ApplyChange::getEndTime)
+                .selectAs(InsuranceApply::getEndTime,ApplyChange::getEndTime)
                 .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId)
                 .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                 .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
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 1b5163a..051eacf 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
@@ -200,10 +200,15 @@
         queryWrapper.selectAs(Worktype::getName,ApplyDetail::getWorkTypeName);
         queryWrapper.selectAs(Member::getIdcardNo,ApplyDetail::getIdcardNo);
         queryWrapper.selectAs(Member::getName,ApplyDetail::getMemberName);
+        queryWrapper.selectAs(Solutions::getName,ApplyDetail::getSolutionName);
         queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId);
         queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId);
         queryWrapper.leftJoin(Member.class,Member::getId,ApplyDetail::getMemberId);
+        queryWrapper.leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId);
+        queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId);
+
         ApplyDetailPageDTO applyDetailPageDTO = pageWrap.getModel();
+
         queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getApplyId()),ApplyDetail::getApplyId,applyDetailPageDTO.getApplyId());
         queryWrapper.ge(!Objects.isNull(applyDetailPageDTO.getApplyStatus())
                         &&!applyDetailPageDTO.getApplyStatus().equals(Constants.ZERO),
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
index 649f103..65bc2af 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
@@ -810,13 +810,16 @@
         if (pageWrap.getModel().getBaseId() != null) {
             queryWrapper.eq(DispatchUnit::getBaseId, pageWrap.getModel().getBaseId());
         }
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
-            }
-        }
+        queryWrapper.orderByAsc(DispatchUnit::getUnitStatus);
+        queryWrapper.orderByAsc(DispatchUnit::getWorktypeStatus);
+        queryWrapper.orderByDesc(DispatchUnit::getCreateDate);
+//        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+//            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+//                queryWrapper.orderByDesc(sortData.getProperty());
+//            } else {
+//                queryWrapper.orderByAsc(sortData.getProperty());
+//            }
+//        }
         PageData<DispatchUnit> pageData = PageData.from(dispatchUnitJoinMapper.selectJoinPage(page,DispatchUnit.class, queryWrapper));
         return pageData;
     }
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/DuWorktypeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/DuWorktypeServiceImpl.java
index 606b538..9e43698 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/DuWorktypeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/DuWorktypeServiceImpl.java
@@ -6,8 +6,12 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.DispatchUnitMapper;
 import com.doumee.dao.business.DuWorktypeMapper;
+import com.doumee.dao.business.WorktypeMapper;
+import com.doumee.dao.business.model.DispatchUnit;
 import com.doumee.dao.business.model.DuWorktype;
+import com.doumee.dao.business.model.Worktype;
 import com.doumee.service.business.DuWorktypeService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -31,6 +35,12 @@
     @Autowired
     private DuWorktypeMapper duWorktypeMapper;
 
+    @Autowired
+    private WorktypeMapper worktypeMapper;
+
+    @Autowired
+    private DispatchUnitMapper dispatchUnitMapper;
+
     @Override
     public Integer create(DuWorktype duWorktype) {
         duWorktypeMapper.insert(duWorktype);
@@ -39,16 +49,35 @@
 
     @Override
     public void deleteById(Integer id) {
-        DuWorktype duWorktype = duWorktypeMapper.selectById(id);
-        if(Objects.isNull(duWorktype)){
+        DuWorktype dbDuWorkType = duWorktypeMapper.selectById(id);
+        if(Objects.isNull(dbDuWorkType)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
-        if(duWorktype.getStatus().equals(Constants.TWO)){
-            duWorktypeMapper.deleteById(id);
-        }else{
-            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐘舵�佹棤娉曡繘琛屽垹闄�");
+        if(!dbDuWorkType.getStatus().equals(Constants.TWO)){
+            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"鏁版嵁鐘舵�侀敊璇紝鏃犳硶杩涜鍒犻櫎");
         }
+        DispatchUnit dispatchUnit = dispatchUnitMapper.selectById(dbDuWorkType.getDispatchUnitId());
+        if(Objects.isNull(dispatchUnit)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        duWorktypeMapper.deleteById(id);
 
+        if(duWorktypeMapper.selectCount(new QueryWrapper<DuWorktype>().lambda()
+                .eq(DuWorktype::getWorkTypeId,dbDuWorkType.getWorkTypeId())
+                .eq(DuWorktype::getStatus,Constants.ZERO)
+                .ne(DuWorktype::getId,dbDuWorkType.getId())
+        )>Constants.ZERO){
+            dispatchUnit.setWorktypeStatus(0);
+        }else  if(duWorktypeMapper.selectCount(new QueryWrapper<DuWorktype>().lambda()
+                .eq(DuWorktype::getWorkTypeId,dbDuWorkType.getWorkTypeId())
+                .eq(DuWorktype::getStatus,Constants.TWO)
+                .ne(DuWorktype::getId,dbDuWorkType.getId())
+        )>Constants.ZERO){
+            dispatchUnit.setWorktypeStatus(2);
+        }else{
+            dispatchUnit.setWorktypeStatus(1);
+        }
+        dispatchUnitMapper.updateById(dispatchUnit);
     }
 
     @Override
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 1a722e1..3f8a428 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
@@ -133,7 +133,9 @@
         //瀛樺偍寰呭姙淇℃伅
         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
         //鍒犻櫎鍏朵粬寰呭姙
-        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId()));
+        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey())
+                .ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
+                .eq(Notices::getObjId,insuranceApply.getId()));
         Notices notices = new Notices(noticeObjectType,Constants.ONE,insuranceApply.getId(),solutions.getName(),
                 model.getCompanyId(), Constants.NoticeType.FOUR);
         noticesMapper.insert(notices);
@@ -186,6 +188,9 @@
         update.setStartTime(insuranceApply.getStartTime());
         insuranceApplyMapper.updateById(update);
 
+        //淇敼鏄庣粏琛岀殑寮�濮嬬粨鏉熸棩鏈�
+        applyDetailMapper.update(null,new UpdateWrapper<ApplyDetail>().lambda().set(ApplyDetail::getStartTime,insuranceApply.getStartTime())
+                .set(ApplyDetail::getEndTime,actEndTime).eq(ApplyDetail::getApplyId,model.getId()));
 
         multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda()
                 .eq(Multifile::getIsdeleted,Constants.ZERO)
@@ -453,7 +458,9 @@
         //瀛樺偍寰呭姙淇℃伅
         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
         //鍒犻櫎鍏朵粬寰呭姙
-        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
+        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey())
+                .ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
+                .eq(Notices::getObjId,model.getId()));
         Notices notices = new Notices(noticeObjectType,Constants.ZERO,model.getId(),model.getSolutionsName(),model.getCompanyId(),Constants.NoticeType.TWO);
         noticesMapper.insert(notices);
 
@@ -478,6 +485,7 @@
 
     }
     public Multifile  uploadChangeSignedFileDo(ApplyChange model,String fileurl,String fullurl) {
+        Integer companyId = model.getCompanyId();
         ApplyChange update = new ApplyChange();
         update.setEditDate(new Date());
         update.setEditor(model.getCreator());
@@ -494,9 +502,11 @@
             noticeObjectType = Constants.NoticeObjectType.CHANGE_FACTORY;
         }
         //鍒犻櫎鍏朵粬寰呭姙
-        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
+        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey())
+                .ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
+                .eq(Notices::getObjId,model.getId()));
         Notices notices = new Notices(noticeObjectType,Constants.ZERO,model.getId(),model.getSolutionsName(),
-                model.getCompanyId(), Constants.NoticeType.TWO);
+                companyId, Constants.NoticeType.TWO);
         notices.setParam1(model.getApplyId().toString());
         noticesMapper.insert(notices);
 
@@ -771,7 +781,9 @@
         //瀛樺偍寰呭姙淇℃伅
         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
         //鍒犻櫎鍏朵粬寰呭姙
-        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
+        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey())
+                .ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
+                .eq(Notices::getObjId,model.getId()));
         Notices notices = new Notices(noticeObjectType,Constants.ONE,model.getId(),solutions.getName(),model.getCompanyId(),noticeType);
         noticesMapper.insert(notices);
 
@@ -856,7 +868,9 @@
         //瀛樺偍寰呭姙淇℃伅
         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
         //鍒犻櫎鍏朵粬寰呭姙
-        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId()));
+        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey())
+                .ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
+                .eq(Notices::getObjId,insuranceApply.getId()));
         Notices notices = new Notices(noticeObjectType,Constants.ZERO,insuranceApply.getId(),solutions.getName(),insuranceApply.getCompanyId(),Constants.NoticeType.ZERO);
         noticesMapper.insert(notices);
 
@@ -940,7 +954,9 @@
         //瀛樺偍寰呭姙淇℃伅
         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
         //鍒犻櫎鍏朵粬寰呭姙
-        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId()));
+        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey())
+                .ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
+                .eq(Notices::getObjId,insuranceApply.getId()));
         Notices notices = new Notices(noticeObjectType,Constants.ZERO,insuranceApply.getId(),solutions.getName(),insuranceApply.getCompanyId(),Constants.NoticeType.ZERO);
         noticesMapper.insert(notices);
 
@@ -1458,7 +1474,9 @@
 
             //瀛樺偍寰呭姙淇℃伅
             //鍒犻櫎鍏朵粬寰呭姙
-            noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId()));
+            noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey())
+                            .ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
+                    .eq(Notices::getObjId,insuranceApply.getId()));
             Notices notices = new Notices(noticeObjectType,Constants.ONE,insuranceApply.getId(),solutions.getName(),
                     insuranceApply.getCompanyId(), Constants.NoticeType.THREE);
             noticesMapper.insert(notices);
@@ -1522,6 +1540,9 @@
                             Integer days =  DateUtil.calculateBetween(applyDetail.getStartTime(),new Date(),0);
                             applyDetail.setCurrentFee(fee.divide(BigDecimal.valueOf(maxDays),2, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(days)));
                             applyDetailMapper.updateById(applyDetail);
+                        }else if(applyDetail.getStartTime().compareTo(new Date()) <= 0&&applyDetail.getEndTime().compareTo(new Date()) <= 0){
+                            applyDetail.setCurrentFee(fee);
+                            applyDetailMapper.updateById(applyDetail);
                         }
                         sumAmount = sumAmount.add(applyDetail.getCurrentFee());
                     }
@@ -1530,6 +1551,9 @@
                 insuranceApplyMapper.updateById(insuranceApply);
             }
         }
+//        if(1==1){
+//            throw new BusinessException(ResponseStatus.NOT_ALLOWED);
+//        }
 
     }
 
@@ -1553,6 +1577,26 @@
     }
 
 
+    /**
+     * 鐢熸垚 寰呭鎵归�氱煡
+     */
+    @Override
+    public void generateNotice(){
+        List<InsuranceApply> insuranceApplyList = insuranceApplyJoinMapper.selectJoinList(InsuranceApply.class,new MPJLambdaWrapper<InsuranceApply>()
+                .selectAll(InsuranceApply.class)
+                .selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
+                .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
+                .eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
+                .ge(InsuranceApply::getEndTime,DateUtil.getDate(new Date(),"yyyy-MM-dd HH:mm:ss"))
+                        .apply("  DATEDIFF(t.END_TIME,CURRENT_DATE() ) <= 5 ")
+                .notExists(" select  1 from notices n where n.obj_type = 0 and n.type = 6 and n.obj_id = t.id   ")
+        );
+        for (InsuranceApply insuranceApply:insuranceApplyList) {
+            Notices notices = new Notices(Constants.NoticeObjectType.INSURANCE_APPLY,Constants.ONE,insuranceApply.getId(),insuranceApply.getSolutionsName(),
+                    insuranceApply.getCompanyId(), Constants.NoticeType.SIX);
+            noticesMapper.insert(notices);
+        }
+    }
 
 
 
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/MemberInsuranceServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/MemberInsuranceServiceImpl.java
index dc8b93d..335ea94 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/MemberInsuranceServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/MemberInsuranceServiceImpl.java
@@ -17,6 +17,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 
@@ -92,7 +93,25 @@
         wrapper.orderByDesc("CREATE_DATE");
         return memberInsuranceMapper.selectList(wrapper);
     }
-  
+
+
+    @Override
+    public List<MemberInsurance> getList(MemberInsurance memberInsurance) {
+        memberInsurance.setIsdeleted(Constants.ZERO);
+        QueryWrapper<MemberInsurance> wrapper = new QueryWrapper<>(memberInsurance);
+        if(!Objects.isNull(memberInsurance.getStatus())){
+            if(memberInsurance.getStatus().equals(Constants.ZERO)){
+                wrapper.lambda().ge(MemberInsurance::getStartTime,new Date());
+            }else{
+                wrapper.lambda().le(MemberInsurance::getStartTime,new Date());
+            }
+        }
+        wrapper.lambda().orderByDesc(MemberInsurance::getCreateDate);
+        return memberInsuranceMapper.selectList(wrapper);
+    }
+
+
+
     @Override
     public PageData<MemberInsurance> findPage(PageWrap<MemberInsurance> pageWrap) {
         IPage<MemberInsurance> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
@@ -182,7 +201,9 @@
                 queryWrapper.orderByAsc(sortData.getProperty());
             }
         }
-        return PageData.from(memberInsuranceMapper.selectPage(page, queryWrapper));
+        PageData<MemberInsurance> pageData = PageData.from(memberInsuranceMapper.selectPage(page, queryWrapper));
+
+        return pageData;
     }
 
 
@@ -192,4 +213,8 @@
         QueryWrapper<MemberInsurance> wrapper = new QueryWrapper<>(memberInsurance);
         return memberInsuranceMapper.selectCount(wrapper);
     }
+
+
+
+
 }
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 83bb114..30020de 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -29,10 +29,8 @@
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 鐢ㄥ伐淇℃伅琛⊿ervice瀹炵幇
@@ -221,6 +219,15 @@
 //            }
 //        }
         PageData<Member> pageData = PageData.from(memberJoinMapper.selectJoinPage(page,Member.class, queryWrapper));
+
+        Integer sn = 0;
+        for (Member member:pageData.getRecords()) {
+            sn = sn + 1;
+            member.setSn(sn);
+            if(StringUtils.isNotBlank(member.getIdcardNo())){
+                member.setAge(Constants.getAgeByIdCard(member.getIdcardNo()));
+            }
+        }
         return pageData;
     }
 
@@ -248,9 +255,10 @@
                 .apply(!Objects.isNull(memberQueryDTO.getSolutionsStatus())&&memberQueryDTO.getSolutionsStatus().equals(Constants.ONE),"now() between t.start_time and t.end_time")
                 .apply(!Objects.isNull(memberQueryDTO.getSolutionsStatus())&&memberQueryDTO.getSolutionsStatus().equals(Constants.TWO),"now()  >  t.end_time")
                 .like(StringUtils.isNotBlank(memberQueryDTO.getName()),Member::getName, memberQueryDTO.getName())
-                .notExists(!Objects.isNull(memberQueryDTO.getNotInInsuranceApplyId()),
-                        " select 1 from apply_detail ad where ad.apply_id = "+memberQueryDTO.getNotInInsuranceApplyId()+" and ad.END_TIME > now() and ad.isdeleted = 0 " +
-                                " and ad.member_id = t.id ");
+                .notExists(!Objects.isNull(memberQueryDTO.getNotInInsuranceApplyId())&&!Objects.isNull(memberQueryDTO.getValidTime()),
+                        " select 1 from apply_detail ad where ad.apply_id = "+memberQueryDTO.getNotInInsuranceApplyId()+"" +
+                                " and ad.END_TIME >= '"+DateUtil.DateToStr(memberQueryDTO.getValidTime(),"yyyy-MM-dd HH:mm:ss.SSS")+"' and ad.START_TIME <= '"+DateUtil.DateToStr(memberQueryDTO.getValidTime(),"yyyy-MM-dd HH:mm:ss.SSS")+"' and ad.isdeleted = 0 " +
+                                " and ad.member_id = t.id ") ;
         if(!Objects.isNull(memberQueryDTO.getInsuranceApplyId())){
             lambdaWrapper = new MPJLambdaWrapper<Member>()
                     .selectAll(Member.class)
@@ -265,8 +273,9 @@
                     .eq(InsuranceApply::getId,memberQueryDTO.getInsuranceApplyId())
                     .le(!Objects.isNull(memberQueryDTO.getValidTime()),ApplyDetail::getStartTime,memberQueryDTO.getValidTime())
                     .ge(!Objects.isNull(memberQueryDTO.getValidTime()),ApplyDetail::getEndTime,memberQueryDTO.getValidTime())
-                    .exists(!Objects.isNull(memberQueryDTO.getInsuranceApplyId()),
-                            " select 1 from apply_detail ad where ad.apply_id = "+memberQueryDTO.getInsuranceApplyId()+" and ad.END_TIME > now() and ad.isdeleted = 0 " +
+                    .exists(!Objects.isNull(memberQueryDTO.getInsuranceApplyId())&&!Objects.isNull(memberQueryDTO.getValidTime()),
+                            " select 1 from apply_detail ad where ad.apply_id = "+memberQueryDTO.getInsuranceApplyId()+"" +
+                                    " and ad.END_TIME >= '"+DateUtil.DateToStr(memberQueryDTO.getValidTime(),"yyyy-MM-dd HH:mm:ss.SSS")+"' and ad.START_TIME <= '"+DateUtil.DateToStr(memberQueryDTO.getValidTime(),"yyyy-MM-dd HH:mm:ss.SSS")+"' and ad.isdeleted = 0 " +
                                     " and ad.member_id = t.id ");
         }
         List<Member> memberList = memberJoinMapper.selectJoinList(Member.class,lambdaWrapper);
@@ -287,6 +296,7 @@
                 .selectAs(Worktype::getName,Member::getWorkTypeName)
                 .leftJoin(DispatchUnit.class,DispatchUnit::getId,Member::getDuId)
                 .leftJoin(Worktype.class,Worktype::getId,Member::getWorktypeId)
+                .isNotNull(Member::getIdcardNo)
                 .eq(Member::getCompanyId,loginUserInfo.getCompanyId())
                 .eq(Member::getIsdeleted,Constants.ZERO)
         );
@@ -301,15 +311,17 @@
         if(dataList == null || dataList.size() ==0){
             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝褰曞叆鏁版嵁涓虹┖锛�");
         }
+        List<String> idCardList = dataList.stream().map(m->m.getIdCard()).collect(Collectors.toList());
+        Set<String> set = new HashSet<>(idCardList);
+        if(idCardList.size() != set.size()){
+            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝褰曞叆鏁版嵁瀛樺湪韬唤璇佸彿鐩稿悓鏁版嵁锛�");
+        }
         for(MemberImport model : dataList){
             if(CollectionUtils.isNotEmpty(list)){
-                Member member = list.stream().filter(m->m.getIdcardNo().equals(model.getIdCard())).findAny().get();
-                if(!Objects.isNull(member)){
-//                    model.setWorkTypeId(member.getWorktypeId());
-//                    model.setWorkTypeName(member.getWorkTypeName());
+                Optional<Member>  memberOptional= list.stream().filter(m->m.getIdcardNo().equals(model.getIdCard())).findFirst();
+                if(memberOptional.isPresent()){
+                    Member member =  memberOptional.get();
                     model.setIdCard(member.getIdcardNo());
-//                    model.setDuId(member.getDuId());
-//                    model.setDuName(member.getDuName());
                     model.setSex(member.getSex());
                 }else{
                     model.setSex(Constants.getSexByIdCard(model.getIdCard()));
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java
index a351fd9..3607ba6 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/NoticesServiceImpl.java
@@ -11,6 +11,7 @@
 import com.doumee.dao.business.model.Company;
 import com.doumee.dao.business.model.InsuranceApply;
 import com.doumee.dao.business.model.Notices;
+import com.doumee.dao.business.vo.ApplyNoticeVO;
 import com.doumee.service.business.NoticesService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -22,6 +23,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 绯荤粺娑堟伅淇℃伅琛⊿ervice瀹炵幇
@@ -172,4 +174,50 @@
         QueryWrapper<Notices> wrapper = new QueryWrapper<>(notices);
         return noticesMapper.selectCount(wrapper);
     }
+
+
+    /**
+     * 鏌ヨ鎶曚繚鍗� 鎻愰啋鏁伴噺
+     * @param companyId
+     * @return
+     */
+    @Override
+    public ApplyNoticeVO getApplyNotice(Integer companyId){
+        ApplyNoticeVO applyNoticeVO = new ApplyNoticeVO();
+        applyNoticeVO.setWaitSignNum(Constants.ZERO);
+        applyNoticeVO.setRenewalNum(Constants.ZERO);
+        List<Notices> noticesList = noticesMapper.selectList(new QueryWrapper<Notices>()
+                .lambda()
+                .select(Notices::getType)
+                .eq(Notices::getPalt,Constants.ONE)
+                .eq(Notices::getCompanyId,companyId)
+                .eq(Notices::getObjType,Constants.NoticeObjectType.INSURANCE_APPLY.getKey())
+                .eq(Notices::getStatus,Constants.ZERO)
+                .in(Notices::getType,Constants.NoticeType.SIX.getStatus(),Constants.NoticeType.ONE.getStatus())
+        );
+        if(CollectionUtils.isNotEmpty(noticesList)){
+            applyNoticeVO.setRenewalNum(noticesList.stream().filter(m->m.getType().equals(Constants.NoticeType.SIX.getStatus())).collect(Collectors.toList()).size());
+            applyNoticeVO.setWaitSignNum(noticesList.size() - applyNoticeVO.getRenewalNum());
+        }
+        return applyNoticeVO ;
+    }
+
+    /**
+     * 鍏抽棴鎻愰啋
+     * @param companyId
+     * @param type
+     */
+    @Override
+    public void closeApplyNotice(Integer companyId,Integer type){
+        noticesMapper.update(null,new UpdateWrapper<Notices>()
+                .lambda()
+                .set(Notices::getStatus,Constants.ONE)
+                .eq(Notices::getPalt,Constants.ONE)
+                .eq(Notices::getCompanyId,companyId)
+                .eq(Notices::getStatus,Constants.ZERO)
+                .eq(Notices::getObjType,Constants.NoticeObjectType.INSURANCE_APPLY.getKey())
+                .eq(Notices::getType,type)
+        );
+    }
+
 }
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 99e1cee..73bb3b4 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
@@ -554,8 +554,34 @@
                         .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;
     }
 
@@ -674,7 +700,7 @@
         multifile.setObjType(scSupplementDTO.getObjType());
         multifile.setObjId(scSupplementDTO.getId());
         multifile.setFileurl(scSupplementDTO.getFileUrl());
-        multifile.setName(scSupplementDTO.getFileUrl().substring(scSupplementDTO.getFileUrl().lastIndexOf("/") + 1));
+        multifile.setName(scSupplementDTO.getFileName());
         multifile.setType(scSupplementDTO.getFileType());
         multifileJoinMapper.insert(multifile);
     }
@@ -847,7 +873,15 @@
             queryWrapper.eq(SettleClaims::getCode, pageWrap.getModel().getCode());
         }
         if (pageWrap.getModel().getStatus() != null) {
-            queryWrapper.eq(SettleClaims::getStatus, pageWrap.getModel().getStatus());
+            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());
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
index 75e4954..ebac33f 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
@@ -451,11 +451,17 @@
         List<Solutions> solutionsList = solutionsJoinMapper.selectJoinList(Solutions.class,new MPJLambdaWrapper<Solutions>()
                         .selectAll(Solutions.class)
                 .leftJoin(CompanySolution.class,CompanySolution::getSolutionId,Solutions::getId)
+                .leftJoin(Company.class,Company::getId,CompanySolution::getCompanyId)
+                .leftJoin(Insurance.class,Insurance::getId,Solutions::getInsuranceId)
                 .eq(Solutions::getIsdeleted,Constants.ZERO)
                 .eq(Solutions::getStatus,Constants.ZERO)
                 .eq(Solutions::getDataType,dataType)
                 .eq(CompanySolution::getIsdeleted,Constants.ZERO)
                 .eq(CompanySolution::getCompanyId,user.getCompanyId())
+                .eq(Company::getIsdeleted,Constants.ZERO)
+                .eq(Company::getStatus,Constants.ZERO)
+                .eq(Insurance::getIsdeleted,Constants.ZERO)
+                .eq(Insurance::getStatus,Constants.ZERO)
                 .orderByAsc(Solutions::getSortnum)
         );
         return solutionsList;
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java
index a980821..2cde2ac 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java
@@ -240,7 +240,7 @@
         if(model==null || !Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
             throw  new BusinessException(ResponseStatus.DATA_EMPTY);
         }
-        if(Constants.equalsInteger(model.getType(),Constants.ZERO)){
+        if(Constants.equalsInteger(model.getApplyType(),Constants.ZERO)){
             List<TaxDetial> detialList = getDetailsApplysListById(id);
             model.setApplyList(detialList);
         }else{
@@ -272,8 +272,12 @@
             queryWrapper.selectAll(TaxDetial.class);
             queryWrapper.selectAs(InsuranceApply::getCode,TaxDetial::getApplyCode);
             queryWrapper.selectAs(Solutions::getName,TaxDetial::getSolutionName);
+            queryWrapper.selectAs(ApplyChange::getValidCode,TaxDetial::getChangApplyCode);
             queryWrapper.leftJoin(InsuranceApply.class,InsuranceApply::getId,TaxDetial::getInsuranceApplyId);
             queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId);
+            queryWrapper.leftJoin(ApplyChange.class,ApplyChange::getId,TaxDetial::getApplyChangeId);
+            queryWrapper.in(TaxDetial::getType,Constants.ZERO,Constants.ONE);
+            queryWrapper.eq(TaxDetial::getTaxId,id);
             List<TaxDetial> detialList =  taxDetailJoinMapper.selectJoinList(TaxDetial.class,queryWrapper.orderByAsc(TaxDetial::getType));
             return detialList;
     }
@@ -443,6 +447,7 @@
         taxes.setAddr(entrustInvoicingDTO.getAddress());
         taxes.setCompanyName(company.getName());
         taxes.setApplyType(Constants.ZERO);
+        taxes.setTaxBank(company.getTaxBank());
         taxesMapper.insert(taxes);
 
         List<TaxDetial> taxDetialList = entrustInvoicingDTO.getTaxDetialList();
@@ -540,6 +545,7 @@
         List<ApplyChange> applyChangeList = applyChangeJoinMapper.selectJoinList(ApplyChange.class,new MPJLambdaWrapper<ApplyChange>()
                 .selectAll(ApplyChange.class)
                 .selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode)
+                .selectAs(Solutions::getName,ApplyChange::getSolutionsName)
                 .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 0  ) as addNum ")
                 .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 1  ) as delNum ")
                 .select("( select ifnull(sum(ad.FEE),0) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID  ) as changeMoney" )
@@ -553,11 +559,13 @@
 
         if(CollectionUtils.isNotEmpty(applyChangeList)){
             for (ApplyChange applyChange:applyChangeList) {
-                insuranceApply.setFee(insuranceApply.getFee().subtract(applyChange.getFee()));
-                TaxesInvoicingVO taxesInvoicingVO = applyChange.toTaxesInvoicingVO();
                 if(!Objects.isNull(insuranceApply)){
-                    taxesInvoicingVO.setAmount(BigDecimal.ZERO);
+                    insuranceApply.setFee(insuranceApply.getFee().subtract(applyChange.getFee()));
                 }
+                TaxesInvoicingVO taxesInvoicingVO = applyChange.toTaxesInvoicingVO();
+//                if(!Objects.isNull(insuranceApply)){
+//                    taxesInvoicingVO.setAmount(BigDecimal.ZERO);
+//                }
                 taxesInvoicingVOList.add(taxesInvoicingVO);
             }
         }
@@ -613,6 +621,7 @@
         taxes.setType(directInvoicingDTO.getType());
         taxes.setTaxCode(company.getTaxCode());
         taxes.setTaxAccount(company.getTaxAccount());
+        taxes.setTaxBank(company.getTaxBank());
         taxes.setTaxAddr(company.getTaxAddr());
         taxes.setAddr(directInvoicingDTO.getAddress());
         taxes.setCompanyName(company.getName());
@@ -639,8 +648,8 @@
             taxDetial.setTaxId(taxes.getId());
             taxDetial.setTotalFee(taxesInvoicingVO.getAmount());
             taxDetial.setFee(taxesInvoicingVO.getAmount());
+            taxDetial.setInsuranceApplyId(taxes.getApplyId());
             if(taxesInvoicingVO.getType().equals(Constants.ZERO)){
-                taxDetial.setInsuranceApplyId(taxesInvoicingVO.getId());
                 taxDetial.setType(taxesInvoicingVO.getType());
             }else if(taxesInvoicingVO.getType().equals(Constants.ONE)){
                 taxDetial.setApplyChangeId(taxesInvoicingVO.getId());

--
Gitblit v1.9.3