From 8527f5df4edffd94230a8c7f8016beecfb011585 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 24 一月 2024 14:53:31 +0800
Subject: [PATCH] 开发业务接口

---
 server/service/src/main/java/com/doumee/dao/business/model/Solutions.java                       |    6 
 server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java       |  104 +++++++++++
 server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java       |   15 +
 server/platform/src/main/java/com/doumee/api/business/ApplyDetailController.java                |   17 -
 server/service/src/main/java/com/doumee/service/business/ApplyChangeService.java                |    4 
 server/company/src/main/java/com/doumee/api/business/ApplyDetailController.java                 |    5 
 server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java |    4 
 server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java         |    1 
 server/service/src/main/java/com/doumee/dao/business/model/ApplyChagneDetail.java               |   16 +
 server/platform/src/main/java/com/doumee/api/business/SolutionsController.java                  |    6 
 server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java                |    4 
 server/service/src/main/java/com/doumee/dao/business/model/ApplyChange.java                     |    9 
 server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java    |    2 
 server/platform/src/main/java/com/doumee/api/business/InsuranceController.java                  |   15 +
 server/platform/src/main/java/com/doumee/api/business/WorktypeController.java                   |    6 
 server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java             |    2 
 server/platform/src/main/java/com/doumee/api/business/ApplyChangeController.java                |   15 +
 server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java                |  235 +++++++++++++++++++++++++-
 server/service/src/main/java/com/doumee/dao/business/model/ApplyDetail.java                     |   45 ++--
 19 files changed, 451 insertions(+), 60 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 a3710bd..818feff 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
@@ -75,11 +75,12 @@
         return ApiResponse.success(applyDetailService.findPageForCompany(pageWrap));
     }
 
-    @ApiOperation("瀵煎嚭Excel")
+    @ApiOperation("瀵煎嚭鍦ㄤ繚浜哄憳璇﹀崟Excel")
     @PostMapping("/exportExcel")
     @RequiresPermissions("business:applydetail:exportExcel")
     public void exportExcel (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(ApplyDetail.class).export(applyDetailService.findPageForCompany(pageWrap).getRecords(), "鎶曚繚鐢宠鏄庣粏淇℃伅琛�", response);
+        //List<T> data, String fileName,String first,String end, HttpServletResponse response
+        ExcelExporter.build(ApplyDetail.class).exportWithFirstAndEnd(applyDetailService.findPageForCompany(pageWrap).getRecords(), pageWrap.getModel().getCompanyName()+"_"+pageWrap.getModel().getSolutionName()+".xlsx","鍦ㄤ繚浜哄憳鍚嶅崟",null, response);
     }
 
     @ApiOperation("鏍规嵁ID鏌ヨ")
diff --git a/server/platform/src/main/java/com/doumee/api/business/ApplyChangeController.java b/server/platform/src/main/java/com/doumee/api/business/ApplyChangeController.java
index db4f1c4..5e820ff 100644
--- a/server/platform/src/main/java/com/doumee/api/business/ApplyChangeController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/ApplyChangeController.java
@@ -7,6 +7,7 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.model.PageData;
 import com.doumee.dao.business.model.ApplyChange;
+import com.doumee.dao.business.model.InsuranceApply;
 import com.doumee.service.business.ApplyChangeService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -109,6 +110,20 @@
         ExcelExporter.build(ApplyChange.class).export(applyChangeService.findPage(pageWrap).getRecords(), "鍔犲噺淇濇崲鍘傜敵璇蜂俊鎭〃", response);
     }
 
+    @ApiOperation("瀵煎嚭鍔犲噺淇濊鎯呭崟")
+    @PostMapping("/exportJiajianBaoExcel")
+    @RequiresPermissions("business:insuranceapply:exportExcel")
+    public void exportJiajianBaoExcel (@RequestBody ApplyChange model, HttpServletResponse response) {
+        ExcelExporter.build(ApplyChange.class).exportJiajianBaoExcel(applyChangeService.exportJiajianBaoExcel(model),   response);
+    }
+    @ApiOperation("瀵煎嚭鍔犲噺淇濊鎯呭崟")
+    @PostMapping("/exportChangeUnitExcel")
+    @RequiresPermissions("business:insuranceapply:exportExcel")
+    public void exportChangeUnitExcel (@RequestBody ApplyChange model, HttpServletResponse response) {
+        ExcelExporter.build(ApplyChange.class).exportChangeUnitExcel(applyChangeService.exportChangeUnitExcel(model),   response);
+    }
+
+
     @ApiOperation("鏍规嵁ID鏌ヨ")
     @GetMapping("/{id}")
     @RequiresPermissions("business:applychange:query")
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 815dd8a..2571c0c 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
@@ -6,6 +6,7 @@
 import com.doumee.core.model.ApiResponse;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.model.PageData;
+import com.doumee.dao.business.dto.ApplyDetailPageDTO;
 import com.doumee.dao.business.model.ApplyDetail;
 import com.doumee.service.business.ApplyDetailService;
 import io.swagger.annotations.Api;
@@ -66,20 +67,18 @@
         applyDetailService.updateById(applyDetail);
         return ApiResponse.success(null);
     }
-
-   /* @ApiOperation("鍒嗛〉鏌ヨ")
+    @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
     @RequiresPermissions("business:applydetail:query")
-    public ApiResponse<PageData<ApplyDetail>> findPage (@RequestBody PageWrap<ApplyDetail> pageWrap) {
-        return ApiResponse.success(applyDetailService.findPage(pageWrap));
+    public ApiResponse<PageData<ApplyDetail>> findPage (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap) {
+        return ApiResponse.success(applyDetailService.findPageForCompany(pageWrap));
     }
-
-    @ApiOperation("瀵煎嚭Excel")
+    @ApiOperation("瀵煎嚭鍦ㄤ繚浜哄憳璇﹀崟Excel")
     @PostMapping("/exportExcel")
     @RequiresPermissions("business:applydetail:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<ApplyDetail> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(ApplyDetail.class).export(applyDetailService.findPage(pageWrap).getRecords(), "鎶曚繚鐢宠鏄庣粏淇℃伅琛�", response);
-    }*/
+    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);
+    }
 
     @ApiOperation("鏍规嵁ID鏌ヨ")
     @GetMapping("/{id}")
diff --git a/server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java b/server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java
index 95e5981..43a5be6 100644
--- a/server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java
@@ -121,7 +121,7 @@
     @ApiOperation("瀵煎嚭鎶曚繚璇︽儏鍗�")
     @PostMapping("/exportDetailExcel")
     @RequiresPermissions("business:insuranceapply:exportExcel")
-    public void exportExcel (@RequestBody  InsuranceApply model, HttpServletResponse response) {
+    public void exportDetailExcel (@RequestBody  InsuranceApply model, HttpServletResponse response) {
         ExcelExporter.build(InsuranceApply.class).exportApplyDetail(insuranceApplyService.findDetailForExport(model),  response);
     }
 
diff --git a/server/platform/src/main/java/com/doumee/api/business/InsuranceController.java b/server/platform/src/main/java/com/doumee/api/business/InsuranceController.java
index a9a97aa..96865f6 100644
--- a/server/platform/src/main/java/com/doumee/api/business/InsuranceController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/InsuranceController.java
@@ -7,6 +7,7 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.model.PageData;
 import com.doumee.dao.business.model.Insurance;
+import com.doumee.dao.business.model.Solutions;
 import com.doumee.service.business.InsuranceService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -66,6 +67,14 @@
         insuranceService.updateById(insurance);
         return ApiResponse.success(null);
     }
+    @ApiOperation("绂佺敤鍚敤")
+    @PostMapping("/updateStatus")
+    @RequiresPermissions("business:insurance:update")
+    public ApiResponse updateStatus(@RequestBody Insurance solutions) {
+        insuranceService.updateStatus(solutions);
+        return ApiResponse.success(null);
+    }
+
 
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
@@ -73,6 +82,12 @@
     public ApiResponse<PageData<Insurance>> findPage (@RequestBody PageWrap<Insurance> pageWrap) {
         return ApiResponse.success(insuranceService.findPage(pageWrap));
     }
+    @ApiOperation("鏌ヨ鍏ㄩ儴")
+    @PostMapping("/list")
+    @RequiresPermissions("business:insurance:query")
+    public ApiResponse<List<Insurance>> findList (@RequestBody  Insurance pageWrap) {
+        return ApiResponse.success(insuranceService.findList(pageWrap));
+    }
 
     @ApiOperation("瀵煎嚭Excel")
     @PostMapping("/exportExcel")
diff --git a/server/platform/src/main/java/com/doumee/api/business/SolutionsController.java b/server/platform/src/main/java/com/doumee/api/business/SolutionsController.java
index c074e6e..e5eeedc 100644
--- a/server/platform/src/main/java/com/doumee/api/business/SolutionsController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/SolutionsController.java
@@ -81,6 +81,12 @@
     public ApiResponse<PageData<Solutions>> findPage (@RequestBody PageWrap<Solutions> pageWrap) {
         return ApiResponse.success(solutionsService.findPage(pageWrap));
     }
+    @ApiOperation("鏌ヨ鍏ㄩ儴")
+    @PostMapping("/list")
+    @RequiresPermissions("business:solutions:query")
+    public ApiResponse<List<Solutions>> findList (@RequestBody  Solutions  pageWrap) {
+        return ApiResponse.success(solutionsService.findList(pageWrap));
+    }
 
     @ApiOperation("瀵煎嚭Excel")
     @PostMapping("/exportExcel")
diff --git a/server/platform/src/main/java/com/doumee/api/business/WorktypeController.java b/server/platform/src/main/java/com/doumee/api/business/WorktypeController.java
index 87b2498..b4dc7aa 100644
--- a/server/platform/src/main/java/com/doumee/api/business/WorktypeController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/WorktypeController.java
@@ -75,6 +75,12 @@
     public ApiResponse<PageData<Worktype>> findPage (@RequestBody PageWrap<Worktype> pageWrap) {
         return ApiResponse.success(worktypeService.findPage(pageWrap));
     }
+    @ApiOperation("鏌ヨ鍏ㄩ儴")
+    @PostMapping("/list")
+    @RequiresPermissions("business:worktype:query")
+    public ApiResponse<List<Worktype>> findList (@RequestBody Worktype pageWrap) {
+        return ApiResponse.success(worktypeService.findList(pageWrap));
+    }
 
     @ApiOperation("瀵煎嚭Excel")
     @PostMapping("/exportExcel")
diff --git a/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java b/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
index b186485..2eb2d10 100644
--- a/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
+++ b/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
@@ -3,6 +3,8 @@
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.ApplyChagneDetail;
+import com.doumee.dao.business.model.ApplyChange;
 import com.doumee.dao.business.model.ApplyDetail;
 import com.doumee.dao.business.model.InsuranceApply;
 import lombok.AllArgsConstructor;
@@ -456,17 +458,18 @@
             header4.createCell(3).setCellValue("韬唤璇佸彿");
             header4.createCell(4).setCellValue("娲鹃仯鍗曚綅");
             header4.createCell(5).setCellValue("鎵�灞炲伐绉�");
-            if(data.getApplyDetailList()!=null)
+            if(data.getApplyDetailList()!=null){
             // 鍒涘缓鏁版嵁璁板綍
-            for (int rowIndex = 0; rowIndex < data.getApplyDetailList().size(); rowIndex++) {
-                ApplyDetail d = data.getApplyDetailList().get(rowIndex);
-                Row header5 = sheet.createRow(rowIndex + 4);
-                header5.createCell(0).setCellValue(rowIndex+1);
-                header5.createCell(1).setCellValue(StringUtils.defaultString(d.getMemberName(),""));
-                header5.createCell(2).setCellValue(Constants.equalsInteger(d.getSex(),0)?"鐢�":(Constants.equalsInteger(d.getSex(),1)?"濂�":"-"));
-                header5.createCell(3).setCellValue(StringUtils.defaultString(d.getIdcardNo(),""));
-                header5.createCell(4).setCellValue(StringUtils.defaultString(d.getDuName(),""));
-                header5.createCell(5).setCellValue(StringUtils.defaultString(d.getWorkTypeName(),""));
+                for (int rowIndex = 0; rowIndex < data.getApplyDetailList().size(); rowIndex++) {
+                    ApplyDetail d = data.getApplyDetailList().get(rowIndex);
+                    Row header5 = sheet.createRow(rowIndex + 4);
+                    header5.createCell(0).setCellValue(rowIndex+1);
+                    header5.createCell(1).setCellValue(StringUtils.defaultString(d.getMemberName(),""));
+                    header5.createCell(2).setCellValue(Constants.equalsInteger(d.getSex(),0)?"鐢�":(Constants.equalsInteger(d.getSex(),1)?"濂�":"-"));
+                    header5.createCell(3).setCellValue(StringUtils.defaultString(d.getIdcardNo(),""));
+                    header5.createCell(4).setCellValue(StringUtils.defaultString(d.getDuName(),""));
+                    header5.createCell(5).setCellValue(StringUtils.defaultString(d.getWorkTypeName(),""));
+                }
             }
             sxssfWorkbook.write(os);
             os.close();
@@ -483,6 +486,218 @@
         }
     }
 
+    /**
+     * 鎹㈠巶鐢宠琛ㄥ鍑�
+     * @param model
+     * @param response
+     */
+
+    public void exportChangeUnitExcel(ApplyChange model, HttpServletResponse response) {
+        try {
+            String encodeFileName = URLEncoder.encode("鎹㈠巶鐢宠琛╛"+model.getCompanyName()+"_"+model.getSolutionsName(), Charset.forName("UTF-8").toString()) + ".xlsx";
+            response.setHeader("Content-Disposition","attachment;filename=" + encodeFileName);
+            response.setContentType("application/octet-stream");
+            response.setHeader("eva-opera-type", "download");
+            response.setHeader("eva-download-filename", encodeFileName);
+            this.exportChangeUnitExcelDo(model,"鎹㈠巶鐢宠琛�", response.getOutputStream());
+        } catch (IOException e) {
+            throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e);
+        }
+    }
+
+    /**
+     * 鍔犲噺鐢宠琛ㄥ鍑�
+     * @param model
+     * @param response
+     */
+    public void exportJiajianBaoExcel(ApplyChange model, HttpServletResponse response) {
+        try {
+            String encodeFileName = URLEncoder.encode("鍔犲噺淇濈敵璇疯〃_"+model.getCompanyName()+"_"+model.getSolutionsName(), Charset.forName("UTF-8").toString()) + ".xlsx";
+            response.setHeader("Content-Disposition","attachment;filename=" + encodeFileName);
+            response.setContentType("application/octet-stream");
+            response.setHeader("eva-opera-type", "download");
+            response.setHeader("eva-download-filename", encodeFileName);
+            this.exportJiajianBaoExcelDo(model,"鍔犲噺淇濈敵璇疯〃_", response.getOutputStream());
+        } catch (IOException e) {
+            throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e);
+        }
+    }
+
+    /**
+     * 瀵煎嚭鍔犲噺淇濈敵璇疯鍗�
+     * @param data 鏁版嵁
+     * @param sheetName Sheet鍚嶇О
+     * @param os 杈撳嚭娴�
+     */
+    public void exportJiajianBaoExcelDo (ApplyChange data, String sheetName, OutputStream os) {
+        SXSSFWorkbook sxssfWorkbook;
+        try {
+            sxssfWorkbook = new SXSSFWorkbook();
+            Sheet sheet = sxssfWorkbook.createSheet(sheetName);
+            sheet.createFreezePane(0, 1);
+            sheet.addMergedRegion(new CellRangeAddress(0   ,0,0,8));
+            Row title = sheet.createRow(0);
+            title.setHeight((short) 1000);
+            Cell c = title.createCell(0);
+            c.setCellValue(sheetName);
+            configFirstCell(sxssfWorkbook,c);
+            Row header1 = sheet.createRow(1);
+            header1.createCell(0).setCellValue("鎶曚繚浼佷笟");
+            header1.createCell(3).setCellValue("淇濋櫓鏂规");
+            header1.createCell(4).setCellValue("淇濆崟鍙�");
+            header1.createCell(5).setCellValue("淇濋櫓鐢熸晥璧锋湡");
+            header1.createCell(6).setCellValue("淇濋櫓鐢熸晥姝㈡湡");
+            header1.createCell(9).setCellValue("鍔犱繚浜烘暟");
+            header1.createCell(10).setCellValue("鍑忎繚浜烘暟");
+            header1.createCell(11).setCellValue("鏈熸湜鎵瑰崟鐢熸晥鏈�");
+            sheet.addMergedRegion(new CellRangeAddress(1  ,1,0,2));
+            sheet.addMergedRegion(new CellRangeAddress(1  ,1,6,8));
+
+
+            Row header2 = sheet.createRow(2);
+            header2.createCell(0).setCellValue(data.getCompanyName());
+            header2.createCell(3).setCellValue(data.getSolutionsName());
+            header2.createCell(4).setCellValue(data.getApplyCode());
+            header2.createCell(5).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getStartTime()));
+            header2.createCell(6).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getEndTime()));
+            header2.createCell(9).setCellValue(data.getAddNum());
+            header2.createCell(10).setCellValue(data.getDelNum());
+            header2.createCell(11).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getValidTime()));
+            sheet.addMergedRegion(new CellRangeAddress(2 ,2,0,2));
+            sheet.addMergedRegion(new CellRangeAddress(2  ,2,6,8));
+            //绌虹櫧琛�
+            Row header3 = sheet.createRow(3);
+            header2.createCell(0).setCellValue("鍔犱繚浜哄憳");
+            header2.createCell(6).setCellValue("鍑忎繚浜哄憳");
+            sheet.addMergedRegion(new CellRangeAddress(3  ,3,0,5));
+            sheet.addMergedRegion(new CellRangeAddress(3  ,3,6,11));
+
+            Row header4 = sheet.createRow(4);
+            header4.createCell(0).setCellValue("搴忓彿");
+            header4.createCell(1).setCellValue("鍛樺伐濮撳悕");
+            header4.createCell(2).setCellValue("鎬у埆");
+            header4.createCell(3).setCellValue("韬唤璇佸彿");
+            header4.createCell(4).setCellValue("娲鹃仯鍗曚綅");
+            header4.createCell(5).setCellValue("鎵�灞炲伐绉�");
+            header4.createCell(6).setCellValue("搴忓彿");
+            header4.createCell(7).setCellValue("鍛樺伐濮撳悕");
+            header4.createCell(8).setCellValue("鎬у埆");
+            header4.createCell(9).setCellValue("韬唤璇佸彿");
+            header4.createCell(10).setCellValue("娲鹃仯鍗曚綅");
+            header4.createCell(11).setCellValue("鎵�灞炲伐绉�");
+            int maxNum = data.getAddNum()>data.getDelNum()?data.getAddNum():data.getDelNum();
+            // 鍒涘缓鏁版嵁璁板綍
+            for (int rowIndex = 0; rowIndex <maxNum; rowIndex++) {
+                ApplyChagneDetail addModel =  data.getAddDetailList().size()> rowIndex?data.getAddDetailList().get(rowIndex):null;
+                ApplyChagneDetail delModel =  data.getDelDetailList().size()> rowIndex?data.getDelDetailList().get(rowIndex):null;
+                Row header5 = sheet.createRow(rowIndex + 5);
+                if(addModel!=null){
+                    header5.createCell(0).setCellValue(rowIndex+1);
+                    header5.createCell(1).setCellValue(StringUtils.defaultString(addModel.getMemberName(),""));
+                    header5.createCell(2).setCellValue(Constants.equalsInteger(addModel.getSex(),0)?"鐢�":(Constants.equalsInteger(addModel.getSex(),1)?"濂�":"-"));
+                    header5.createCell(3).setCellValue(StringUtils.defaultString(addModel.getIdcardNo(),""));
+                    header5.createCell(4).setCellValue(StringUtils.defaultString(addModel.getDuName(),""));
+                    header5.createCell(5).setCellValue(StringUtils.defaultString(addModel.getWorkTypeName(),""));
+                }
+                if(delModel!=null){
+                    header5.createCell(6).setCellValue(rowIndex+1);
+                    header5.createCell(7).setCellValue(StringUtils.defaultString(delModel.getMemberName(),""));
+                    header5.createCell(8).setCellValue(Constants.equalsInteger(delModel.getSex(),0)?"鐢�":(Constants.equalsInteger(delModel.getSex(),1)?"濂�":"-"));
+                    header5.createCell(9).setCellValue(StringUtils.defaultString(delModel.getIdcardNo(),""));
+                    header5.createCell(10).setCellValue(StringUtils.defaultString(delModel.getDuName(),""));
+                    header5.createCell(11).setCellValue(StringUtils.defaultString(delModel.getWorkTypeName(),""));
+                }
+            }
+            sxssfWorkbook.write(os);
+            os.close();
+        } catch (Exception e) {
+            throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e);
+        } finally {
+            if (os != null) {
+                try {
+                    os.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
+    /**
+     * 瀵煎嚭鍔犲噺淇濈敵璇疯鍗�
+     * @param data 鏁版嵁
+     * @param sheetName Sheet鍚嶇О
+     * @param os 杈撳嚭娴�
+     */
+    public void exportChangeUnitExcelDo (ApplyChange data, String sheetName, OutputStream os) {
+        SXSSFWorkbook sxssfWorkbook;
+        try {
+            sxssfWorkbook = new SXSSFWorkbook();
+            Sheet sheet = sxssfWorkbook.createSheet(sheetName);
+            sheet.createFreezePane(0, 1);
+            sheet.addMergedRegion(new CellRangeAddress(0   ,0,0,8));
+            Row title = sheet.createRow(0);
+            title.setHeight((short) 1000);
+            Cell c = title.createCell(0);
+            c.setCellValue(sheetName);
+            configFirstCell(sxssfWorkbook,c);
+            Row header1 = sheet.createRow(1);
+            header1.createCell(0).setCellValue("鎶曚繚浼佷笟");
+            header1.createCell(1).setCellValue("淇濋櫓鏂规");
+            header1.createCell(3).setCellValue("淇濆崟鍙�");
+            header1.createCell(4).setCellValue("淇濋櫓鐢熸晥璧锋湡");
+            header1.createCell(5).setCellValue("淇濋櫓鐢熸晥姝㈡湡");
+            header1.createCell(6).setCellValue("鎹㈠巶浜烘暟");
+            header1.createCell(7).setCellValue("鏈熸湜鎵瑰崟鐢熸晥鏈�");
+            sheet.addMergedRegion(new CellRangeAddress(1  ,1,1,2));
+
+            Row header2 = sheet.createRow(2);
+            header2.createCell(0).setCellValue(data.getCompanyName());
+            header2.createCell(1).setCellValue(data.getSolutionsName());
+            header2.createCell(3).setCellValue(data.getApplyCode());
+            header2.createCell(4).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getStartTime()));
+            header2.createCell(5).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getEndTime()));
+            header2.createCell(6).setCellValue(data.getChangeNum());
+            header2.createCell(7).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getValidTime()));
+            sheet.addMergedRegion(new CellRangeAddress(2  ,2,1,2));
+
+            Row header4 = sheet.createRow(3);
+            header4.createCell(0).setCellValue("搴忓彿");
+            header4.createCell(1).setCellValue("鍛樺伐濮撳悕");
+            header4.createCell(2).setCellValue("鎬у埆");
+            header4.createCell(3).setCellValue("韬唤璇佸彿");
+            header4.createCell(4).setCellValue("鍘熸淳閬e崟浣�");
+            header4.createCell(5).setCellValue("鍘熸墍鎵�灞炲伐绉�");
+            header4.createCell(6).setCellValue("鏇存敼鍚庢淳閬e崟浣�");
+            header4.createCell(7).setCellValue("鏇存敼鍚庢墍灞炲伐绉�");
+            // 鍒涘缓鏁版嵁璁板綍
+            for (int rowIndex = 0; rowIndex <data.getChangeDetailList().size(); rowIndex++) {
+                ApplyChagneDetail addModel = data.getChangeDetailList().get(rowIndex);
+                Row header5 = sheet.createRow(rowIndex + 4);
+                header5.createCell(0).setCellValue(rowIndex+1);
+                header5.createCell(1).setCellValue(StringUtils.defaultString(addModel.getMemberName(),""));
+                header5.createCell(2).setCellValue(Constants.equalsInteger(addModel.getSex(),0)?"鐢�":(Constants.equalsInteger(addModel.getSex(),1)?"濂�":"-"));
+                header5.createCell(3).setCellValue(StringUtils.defaultString(addModel.getIdcardNo(),""));
+                header5.createCell(4).setCellValue(StringUtils.defaultString(addModel.getOldDuName(),""));
+                header5.createCell(5).setCellValue(StringUtils.defaultString(addModel.getOldWorkTypeName(),""));
+                header5.createCell(6).setCellValue(StringUtils.defaultString(addModel.getDuName(),""));
+                header5.createCell(7).setCellValue(StringUtils.defaultString(addModel.getWorkTypeName(),""));
+            }
+            sxssfWorkbook.write(os);
+            os.close();
+        } catch (Exception e) {
+            throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e);
+        } finally {
+            if (os != null) {
+                try {
+                    os.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
+
+
     @Data
     @AllArgsConstructor
     private static class ColumnInfo {
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java
index 5329ebc..b51654a 100644
--- a/server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java
@@ -24,6 +24,10 @@
 
     @ApiModelProperty(value = "鍛樺伐濮撳悕")
     private String memberName;
+    @ApiModelProperty(value = "鍛樺伐濮撳悕",hidden = true)
+    private String companyName;
+    @ApiModelProperty(value = "鏂规鍚嶇О",hidden = true)
+    private String solutionName;
 
     @ApiModelProperty(value = "鐢熸晥璧锋湡 yyyy-MM-dd 寮�濮�")
     private String startTimeS;
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 5d82952..3dfff90 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
@@ -73,9 +73,6 @@
     @ExcelColumn(name="瀹為檯淇濋櫓鐢熸晥璧锋湡")
     private Date startTime;
 
-    @ApiModelProperty(value = "鏈�杩戞搷浣滄椂闂�")
-    @ExcelColumn(name="鏈�杩戞搷浣滄椂闂�")
-    private Date idcardNo;
 
     @ApiModelProperty(value = "娲鹃仯鍗曚綅缂栫爜锛堝叧鑱攄ispatch_unit)")
     @ExcelColumn(name="娲鹃仯鍗曚綅缂栫爜锛堝叧鑱攄ispatch_unit)")
@@ -104,6 +101,9 @@
     @ApiModelProperty(value = "鍛樺伐鍚嶇О")
     @TableField(exist = false)
     private String memberName;
+    @ApiModelProperty(value = "鎬у埆 0鐢� 1濂�")
+    @TableField(exist = false)
+    private Integer sex;
 
     @ApiModelProperty(value = "娲鹃仯鍗曚綅鍚嶇О")
     @TableField(exist = false)
@@ -112,8 +112,17 @@
     @ApiModelProperty(value = "宸ョ鍚嶇О")
     @TableField(exist = false)
     private String workTypeName;
+    @ApiModelProperty(value = "娲鹃仯鍗曚綅鍚嶇О")
+    @TableField(exist = false)
+    private String oldDuName;
 
+    @ApiModelProperty(value = "宸ョ鍚嶇О")
+    @TableField(exist = false)
+    private String oldWorkTypeName;
 
+    @ApiModelProperty(value = "韬唤璇佸彿")
+    @TableField(exist = false)
+    private String idcardNo;
     @ApiModelProperty(value = "淇濋櫓璐圭敤(浜�/澶╋級", example = "1")
     @TableField(exist = false)
     private BigDecimal solutionPrice;
@@ -123,4 +132,5 @@
     private Integer solutionTimeUnit;
 
 
+
 }
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/ApplyChange.java b/server/service/src/main/java/com/doumee/dao/business/model/ApplyChange.java
index 9395c4c..366c2c1 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/ApplyChange.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/ApplyChange.java
@@ -81,7 +81,6 @@
 
     @ApiModelProperty(value = "鎵瑰崟鐢熸晥鏃堕棿")
     @ExcelColumn(name="鎵瑰崟鐢熸晥鏃堕棿")
-
     private Date applyStartTime;
 
     @ApiModelProperty(value = "鐘舵�� 0寰呯缃� 1宸茬绔� 2宸蹭笂浼犳壒鍗� 3閫�鍥炵敵璇� 4骞冲彴鍚屾剰 5骞冲彴椹冲洖")
@@ -169,4 +168,12 @@
     @TableField(exist = false)
     private int dealBackApply;
 
+    @ApiModelProperty(value = "淇濋櫓鐢熸晥璧锋湡")
+    @TableField(exist = false)
+    private Date startTime;
+    @ApiModelProperty(value = "淇濋櫓鐢熸晥姝㈡湡")
+    @TableField(exist = false)
+    private Date endTime;
+
+
 }
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/ApplyDetail.java b/server/service/src/main/java/com/doumee/dao/business/model/ApplyDetail.java
index d12e3b8..b8a13d7 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/ApplyDetail.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/ApplyDetail.java
@@ -24,81 +24,81 @@
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
-    @ExcelColumn(name="涓婚敭")
+//    @ExcelColumn(name="涓婚敭")
     private Integer id;
 
     @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
-    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+//    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
     private Integer creator;
 
     @ApiModelProperty(value = "鍒涘缓鏃堕棿")
-    @ExcelColumn(name="鍒涘缓鏃堕棿")
+//    @ExcelColumn(name="鍒涘缓鏃堕棿")
 
     private Date createDate;
 
     @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
-    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+//    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
     private Integer editor;
 
     @ApiModelProperty(value = "鏇存柊鏃堕棿")
-    @ExcelColumn(name="鏇存柊鏃堕棿")
+//    @ExcelColumn(name="鏇存柊鏃堕棿")
 
     private Date editDate;
 
     @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
-    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+//    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
     private Integer isdeleted;
 
     @ApiModelProperty(value = "澶囨敞")
-    @ExcelColumn(name="澶囨敞")
+//    @ExcelColumn(name="澶囨敞")
     private String remark;
 
     @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
-    @ExcelColumn(name="鎺掑簭鐮�")
+    @ExcelColumn(name="搴忓彿",index = 1)
     private Integer sortnum;
 
     @ApiModelProperty(value = "鎶曚繚鐢宠缂栫爜锛堝叧鑱攊nsurance_apply", example = "1")
-    @ExcelColumn(name="鎶曚繚鐢宠缂栫爜锛堝叧鑱攊nsurance_apply")
+//    @ExcelColumn(name="鎶曚繚鐢宠缂栫爜锛堝叧鑱攊nsurance_apply")
     private Integer applyId;
 
     @ApiModelProperty(value = "浜哄憳缂栫爜锛堝叧鑱攎emeber锛�", example = "1")
-    @ExcelColumn(name="浜哄憳缂栫爜锛堝叧鑱攎emeber锛�")
+//    @ExcelColumn(name="浜哄憳缂栫爜锛堝叧鑱攎emeber锛�")
     private Integer memberId;
 
     @ApiModelProperty(value = "瀹為檯淇濋櫓鐢熸晥姝㈡湡")
-    @ExcelColumn(name="瀹為檯淇濋櫓鐢熸晥姝㈡湡")
+    @ExcelColumn(name="淇濋櫓鐢熸晥姝㈡湡",index = 9)
     private Date endTime;
 
     @ApiModelProperty(value = "瀹為檯淇濋櫓鐢熸晥璧锋湡")
-    @ExcelColumn(name="瀹為檯淇濋櫓鐢熸晥璧锋湡")
+    @ExcelColumn(name="淇濋櫓鐢熸晥璧锋湡",index =8)
     private Date startTime;
 
     @ApiModelProperty(value = "韬唤璇佸彿鐮�")
-    @ExcelColumn(name="韬唤璇佸彿鐮�")
+    @ExcelColumn(name="韬唤璇佸彿鐮�",index = 5)
     private String idcardNo;
 
     @ApiModelProperty(value = "娲鹃仯鍗曚綅缂栫爜锛堝叧鑱攄ispatch_unit)", example = "1")
-    @ExcelColumn(name="娲鹃仯鍗曚綅缂栫爜锛堝叧鑱攄ispatch_unit)")
+//    @ExcelColumn(name="娲鹃仯鍗曚綅缂栫爜锛堝叧鑱攄ispatch_unit)")
     private Integer duId;
 
     @ApiModelProperty(value = "宸ョ缂栫爜(鍏宠仈worktype)", example = "1")
-    @ExcelColumn(name="宸ョ缂栫爜(鍏宠仈worktype)")
+//    @ExcelColumn(name="宸ョ缂栫爜(鍏宠仈worktype)")
     private Integer worktypeId;
 
     @ApiModelProperty(value = "璐圭敤", example = "1")
-    @ExcelColumn(name="璐圭敤")
+    @ExcelColumn(name="璐圭敤",index = 10)
     private BigDecimal fee;
 
     @ApiModelProperty(value = "鎬у埆 0鐢� 1濂�", example = "1")
-    @ExcelColumn(name="鎬у埆 0鐢� 1濂�")
+    @ExcelColumn(name="鎬у埆",index =4,valueMapping = "0=鐢�;1=濂�;")
     private Integer sex;
 
     @ApiModelProperty(value = "褰撳墠璐圭敤")
-    @ExcelColumn(name="褰撳墠璐圭敤")
+//    @ExcelColumn(name="褰撳墠璐圭敤")
     private BigDecimal currentFee;
 
     @ApiModelProperty(value = "鏉ユ簮涓婚敭锛坅pply_chagne_detail锛夊姞鍑忎繚鐢熸垚瀛樺湪", example = "1")
-    @ExcelColumn(name="鏉ユ簮涓婚敭锛坅pply_chagne_detail锛夊姞鍑忎繚鐢熸垚瀛樺湪")
+//    @ExcelColumn(name="鏉ユ簮涓婚敭锛坅pply_chagne_detail锛夊姞鍑忎繚鐢熸垚瀛樺湪")
     private Integer fromId;
 
     @ApiModelProperty(value = "淇濆崟鍙�")
@@ -107,6 +107,7 @@
 
     @ApiModelProperty(value = "鏂规鍚嶇О")
     @TableField(exist = false)
+    @ExcelColumn(name="淇濋櫓鏂规",index =2)
     private String solutionName;
 
     @ApiModelProperty(value = "鎵瑰崟鍙�")
@@ -115,17 +116,17 @@
 
     @ApiModelProperty(value = "娲鹃仯鍗曚綅鍚嶇О")
     @TableField(exist = false)
+    @ExcelColumn(name="娲鹃仯鍗曚綅",index = 6)
     private String duName;
 
     @ApiModelProperty(value = "鍛樺伐鍚嶇О")
     @TableField(exist = false)
+    @ExcelColumn(name="鍛樺伐濮撳悕",index =3)
     private String memberName;
 
     @ApiModelProperty(value = "宸ョ鍚嶇О")
+    @ExcelColumn(name="鎵�灞炲伐绉�",index = 7)
     @TableField(exist = false)
     private String workTypeName;
-
-
-
 
 }
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/Solutions.java b/server/service/src/main/java/com/doumee/dao/business/model/Solutions.java
index 4e36fe9..9408a79 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/Solutions.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/Solutions.java
@@ -128,6 +128,9 @@
     @ApiModelProperty(value = "鍏朵粬璇存槑")
     @ExcelColumn(name="鍏朵粬璇存槑")
     private String ortherInfo;
+    @ApiModelProperty(value = "绛剧珷鍏抽敭瀛楋紝澶氫釜鐢ㄨ嫳鏂囬�楀彿闅斿紑")
+    @ExcelColumn(name="绛剧珷鍏抽敭瀛楋紝澶氫釜鐢ㄨ嫳鏂囬�楀彿闅斿紑")
+    private String signKeyword;
 
     @ApiModelProperty(value = "鎵�灞炴柟妗堝熀琛ㄧ紪鐮�(solution_base_id)", example = "1")
     @ExcelColumn(name="鎵�灞炴柟妗堝熀琛ㄧ紪鐮�(solution_base_id)")
@@ -136,9 +139,6 @@
     @ApiModelProperty(value = "鐗堟湰鍙�")
     @ExcelColumn(name="鐗堟湰鍙�")
     private String version;
-    @ApiModelProperty(value = "绛惧瓧浣嶇疆鍏抽敭瀛楋紝澶氫釜鑻辨枃閫楀彿闅斿紑")
-    @ExcelColumn(name="绛惧瓧浣嶇疆鍏抽敭瀛楋紝澶氫釜鑻辨枃閫楀彿闅斿紑")
-    private String signKeyword;
 
     @ApiModelProperty(value = "璁板綍绫诲瀷 0鍩鸿〃鏁版嵁 1鍘嗗彶鐗堟湰鏁版嵁", example = "1")
     @ExcelColumn(name="璁板綍绫诲瀷 0鍩鸿〃鏁版嵁 1鍘嗗彶鐗堟湰鏁版嵁")
diff --git a/server/service/src/main/java/com/doumee/service/business/ApplyChangeService.java b/server/service/src/main/java/com/doumee/service/business/ApplyChangeService.java
index 4a42bc6..0dbd51a 100644
--- a/server/service/src/main/java/com/doumee/service/business/ApplyChangeService.java
+++ b/server/service/src/main/java/com/doumee/service/business/ApplyChangeService.java
@@ -108,4 +108,8 @@
     ApplyChange findDetail(Integer id);
 
     Integer editPidan(ApplyChange applyChange);
+
+    ApplyChange exportJiajianBaoExcel(ApplyChange model);
+
+    ApplyChange exportChangeUnitExcel(ApplyChange model);
 }
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 0d62578..1176be3 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
@@ -139,10 +139,6 @@
         if (pageWrap.getModel().getStartTime() != null) {
             queryWrapper.lambda().eq(ApplyChagneDetail::getStartTime, pageWrap.getModel().getStartTime());
         }
-        if (pageWrap.getModel().getIdcardNo() != null) {
-            queryWrapper.lambda().ge(ApplyChagneDetail::getIdcardNo, Utils.Date.getStart(pageWrap.getModel().getIdcardNo()));
-            queryWrapper.lambda().le(ApplyChagneDetail::getIdcardNo, Utils.Date.getEnd(pageWrap.getModel().getIdcardNo()));
-        }
         if (pageWrap.getModel().getDuId() != null) {
             queryWrapper.lambda().eq(ApplyChagneDetail::getDuId, pageWrap.getModel().getDuId());
         }
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 0203ee3..321678a 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
@@ -910,8 +910,112 @@
         ApplyChange applyChange =  applyChangeJoinMapper.selectOne(queryWrapper);
         return applyChange;
     }
+    /**
+     * 瀵煎嚭鎹㈠巶鐢宠琛�
+     * @param param
+     * @return
+     */
+    @Override
+    public  ApplyChange  exportChangeUnitExcel(ApplyChange param){
+        ApplyChange model = findJoinDetail(param);
+        if(Objects.isNull(model) ||! Constants.equalsInteger(Constants.ZERO,model.getType())){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+
+        //鏌ヨ鏄庣粏
+        List<ApplyChagneDetail> detailList =findJoinChangeDetailList(model);
+        model.setChangeDetailList(detailList!=null?detailList:new ArrayList<>());
+        model.setChangeNum(model.getChangeDetailList().size());
+        return model;
+    }
 
 
+    /**
+     * 瀵煎嚭鍔犲噺淇濈敵璇疯〃
+     * @param param
+     * @return
+     */
+    @Override
+    public  ApplyChange  exportJiajianBaoExcel(ApplyChange param){
+
+        ApplyChange model = findJoinDetail(param);
+        if(Objects.isNull(model) ||! Constants.equalsInteger(Constants.ZERO,model.getType())){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+
+        //鏌ヨ鏄庣粏
+        List<ApplyChagneDetail> detailList =findJoinDetailList(model);
+        model.setAddDetailList(new ArrayList<>());
+        model.setDelDetailList(new ArrayList<>());
+        if(detailList!=null){
+            for(ApplyChagneDetail ad :detailList){
+                if(Constants.equalsInteger(ad.getType(),Constants.ZERO)){
+                    model.getAddDetailList().add(ad);
+                }else{
+                    model.getDelDetailList().add(ad);
+                }
+            }
+        }
+        model.setDelNum(model.getDelDetailList().size());
+        model.setAddNum(model.getAddDetailList().size());
+        return model;
+    }
+    private ApplyChange findJoinDetail(ApplyChange param) {
+        MPJLambdaWrapper wrapper=  new MPJLambdaWrapper<ApplyChange>()
+                .selectAll(ApplyChange.class)
+                .selectAs(Solutions::getName,ApplyChange::getSolutionsName)
+                .selectAs(Company::getName,ApplyChange::getCompanyName)
+                .selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode)
+                .selectAs(InsuranceApply::getStartTime,ApplyChange::getStartTime)
+                .selectAs(InsuranceApply::getStartTime,ApplyChange::getEndTime)
+                .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId)
+                .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
+                .leftJoin(Company.class,Company::getId,ApplyChange::getCompanyId)
+                .eq(ApplyChange::getId,param.getId())
+                .last("limit 1");
+
+        ApplyChange model = applyChangeJoinMapper.selectJoinOne(ApplyChange.class,wrapper);
+        return  model;
+    }
+    private List<ApplyChagneDetail> findJoinDetailList(ApplyChange model) {
+        MPJLambdaWrapper wrapper1=  new MPJLambdaWrapper<ApplyChagneDetail>()
+                .selectAll(ApplyChagneDetail.class)
+                .selectAs(Member::getName,ApplyChagneDetail::getMemberName)
+                .selectAs(Member::getSex,ApplyChagneDetail::getSex)
+                .selectAs(Member::getIdcardNo,ApplyChagneDetail::getIdcardNo)
+                .selectAs(Worktype::getName,ApplyChagneDetail::getWorkTypeName)
+                .selectAs(DispatchUnit::getName,ApplyChagneDetail::getDuName)
+                .leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getWorktypeId)
+                .leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyChagneDetail::getDuId)
+                .leftJoin(Member.class,Member::getId,ApplyChagneDetail::getMemberId)
+                .eq(ApplyChagneDetail::getIsdeleted,Constants.ZERO)
+                .eq(ApplyChagneDetail::getApplyChangeId,model.getId());
+        //鏌ヨ鏄庣粏
+        List<ApplyChagneDetail> detailList =applyChagneDetailJoinMapper.selectJoinList(ApplyChagneDetail.class,wrapper1);
+        return  detailList;
+    }
+    private List<ApplyChagneDetail> findJoinChangeDetailList(ApplyChange model) {
+        MPJLambdaWrapper wrapper1=  new MPJLambdaWrapper<ApplyChagneDetail>()
+                .selectAll(ApplyChagneDetail.class)
+                .selectAs(Member::getName,ApplyChagneDetail::getMemberName)
+                .selectAs(Member::getSex,ApplyChagneDetail::getSex)
+                .select("t1.name as worktypeName")
+                .select("t2.name as duName")
+                .select("t3.name as oldWorktypeName")
+                .select("t4.name as oldDuName")
+                .selectAs(Member::getSex,ApplyChagneDetail::getSex)
+                .selectAs(Member::getIdcardNo,ApplyChagneDetail::getIdcardNo)
+                .leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getWorktypeId)
+                .leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyChagneDetail::getDuId)
+                .leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getOldWorktypeId)
+                .leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyChagneDetail::getOldDuId)
+                .leftJoin(Member.class,Member::getId,ApplyChagneDetail::getMemberId)
+                .eq(ApplyChagneDetail::getIsdeleted,Constants.ZERO)
+                .eq(ApplyChagneDetail::getApplyChangeId,model.getId());
+        //鏌ヨ鏄庣粏
+        List<ApplyChagneDetail> detailList =applyChagneDetailJoinMapper.selectJoinList(ApplyChagneDetail.class,wrapper1);
+        return  detailList;
+    }
 
 
 }
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 20d8c43..1263bce 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
@@ -1,5 +1,7 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
@@ -167,6 +169,9 @@
     @Override
     public PageData<ApplyDetail> findPageForCompany(PageWrap<ApplyDetailPageDTO> pageWrap) {
         IPage<ApplyDetail> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        if(pageWrap.getModel().getApplyId() == null){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
         MPJLambdaWrapper<ApplyDetail> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
         queryWrapper.selectAll(ApplyDetail.class);
@@ -176,15 +181,11 @@
         queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId);
         queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId);
         queryWrapper.leftJoin(Member.class,Member::getId,ApplyDetail::getMemberId);
-
-
         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),
                 ApplyDetail::getStartTime, DateUtil.getDate(new Date(),"yyyy-MM-dd")+" 00:00:00");
-
         //鍦ㄤ繚
         queryWrapper.le(!Objects.isNull(applyDetailPageDTO.getApplyStatus())
                 &&applyDetailPageDTO.getApplyStatus().equals(Constants.ONE),
@@ -209,6 +210,12 @@
             }
         }
         PageData<ApplyDetail> pageData = PageData.from(applyDetailJoinMapper.selectJoinPage(page,ApplyDetail.class, queryWrapper));
+        if(pageData.getRecords()!=null){
+            int num = 1;
+            for (ApplyDetail d : pageData.getRecords()){
+                d.setSortnum(num++);
+            }
+        }
         return pageData;
     }
 
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 636d0e5..0c18a3c 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
@@ -746,7 +746,7 @@
         MPJLambdaWrapper wrapper=  new MPJLambdaWrapper<InsuranceApply>()
                 .selectAll(InsuranceApply.class)
                 .selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
-                .selectAs(Company::getName,ApplyLog::getCompanyName)
+                .selectAs(Company::getName,InsuranceApply::getCompanyName)
                 .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                 .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
                 .eq(InsuranceApply::getId,model.getId())
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 688db64..432e677 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
@@ -254,6 +254,7 @@
     @Override
     public List<Solutions> findList(Solutions solutions) {
         solutions.setIsdeleted(Constants.ZERO);
+        solutions.setDataType(Constants.TWO);
         QueryWrapper<Solutions> wrapper = new QueryWrapper<>(solutions);
         return solutionsMapper.selectList(wrapper);
     }

--
Gitblit v1.9.3