From 3e651114469863063847b4fe7f05c538e84eed28 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 19 一月 2024 15:00:25 +0800
Subject: [PATCH] 111

---
 server/service/src/main/java/com/doumee/dao/business/dto/WorkTypeQueryDTO.java                  |   21 +
 server/service/src/main/java/com/doumee/dao/business/model/ApplyLog.java                        |   11 
 server/company/src/main/java/com/doumee/api/business/DispatchUnitController.java                |   10 
 server/service/src/main/java/com/doumee/dao/business/model/Member.java                          |   13 +
 server/service/src/main/java/com/doumee/service/business/DispatchUnitService.java               |    8 
 server/service/src/main/java/com/doumee/service/business/ApplyDetailService.java                |    3 
 server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java |  100 +++----
 server/company/src/main/java/com/doumee/api/business/MemberController.java                      |   18 +
 server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java          |   15 
 server/service/src/main/java/com/doumee/dao/business/model/ApplyChagneDetail.java               |   17 +
 server/service/src/main/java/com/doumee/service/business/ApplyChagneDetailService.java          |    3 
 server/service/src/main/java/com/doumee/dao/business/join/ApplyChangeDetailJoinMapper.java      |   13 +
 server/service/src/main/java/com/doumee/service/business/WorktypeService.java                   |    5 
 server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java                |   46 +++
 server/service/src/main/java/com/doumee/dao/business/join/ApplyDetailJoinMapper.java            |   13 +
 server/service/src/main/java/com/doumee/dao/business/model/CompanyPermission.java               |    3 
 server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java    |   92 +++++++
 server/service/src/main/java/com/doumee/dao/business/join/ApplyLogJoinMapper.java               |   13 +
 server/service/src/main/java/com/doumee/service/business/MemberService.java                     |    5 
 server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyOptDTO.java              |   20 +
 server/service/src/main/java/com/doumee/dao/business/model/ApplyDetail.java                     |   12 
 server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java       |   92 ++----
 server/service/src/main/java/com/doumee/dao/business/join/MemberJoinMapper.java                 |   13 +
 server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java                    |    6 
 server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java              |   14 +
 server/company/src/main/java/com/doumee/api/business/ApplyDetailController.java                 |    5 
 server/company/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java           |    5 
 server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java            |   34 ++
 server/company/src/main/java/com/doumee/api/business/WorktypeController.java                    |   12 
 server/service/src/main/java/com/doumee/dao/business/dto/DispatchUnitQueryDTO.java              |   48 +++
 server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java      |   32 ++
 server/service/src/main/java/com/doumee/dao/business/dto/MemberQueryDTO.java                    |   23 +
 server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java                  |    6 
 server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java             |    5 
 34 files changed, 593 insertions(+), 143 deletions(-)

diff --git a/server/company/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java b/server/company/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java
index b82980d..015e23f 100644
--- a/server/company/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java
+++ b/server/company/src/main/java/com/doumee/api/business/ApplyChagneDetailController.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.ApplyChagneDetail;
 import com.doumee.service.business.ApplyChagneDetailService;
 import io.swagger.annotations.Api;
@@ -70,14 +71,14 @@
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
     @RequiresPermissions("business:applychagnedetail:query")
-    public ApiResponse<PageData<ApplyChagneDetail>> findPage (@RequestBody PageWrap<ApplyChagneDetail> pageWrap) {
+    public ApiResponse<PageData<ApplyChagneDetail>> findPage (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap) {
         return ApiResponse.success(applyChagneDetailService.findPage(pageWrap));
     }
 
     @ApiOperation("瀵煎嚭Excel")
     @PostMapping("/exportExcel")
     @RequiresPermissions("business:applychagnedetail:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<ApplyChagneDetail> pageWrap, HttpServletResponse response) {
+    public void exportExcel (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap, HttpServletResponse response) {
         ExcelExporter.build(ApplyChagneDetail.class).export(applyChagneDetailService.findPage(pageWrap).getRecords(), "鍔犲噺淇濇崲鍘傜敵璇锋槑缁嗕俊鎭〃", response);
     }
 
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 8699678..226358b 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
@@ -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;
@@ -70,14 +71,14 @@
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
     @RequiresPermissions("business:applydetail:query")
-    public ApiResponse<PageData<ApplyDetail>> findPage (@RequestBody PageWrap<ApplyDetail> pageWrap) {
+    public ApiResponse<PageData<ApplyDetail>> findPage (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap) {
         return ApiResponse.success(applyDetailService.findPage(pageWrap));
     }
 
     @ApiOperation("瀵煎嚭Excel")
     @PostMapping("/exportExcel")
     @RequiresPermissions("business:applydetail:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<ApplyDetail> pageWrap, HttpServletResponse response) {
+    public void exportExcel (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap, HttpServletResponse response) {
         ExcelExporter.build(ApplyDetail.class).export(applyDetailService.findPage(pageWrap).getRecords(), "鎶曚繚鐢宠鏄庣粏淇℃伅琛�", response);
     }
 
diff --git a/server/company/src/main/java/com/doumee/api/business/DispatchUnitController.java b/server/company/src/main/java/com/doumee/api/business/DispatchUnitController.java
index 9d78f0a..24ece38 100644
--- a/server/company/src/main/java/com/doumee/api/business/DispatchUnitController.java
+++ b/server/company/src/main/java/com/doumee/api/business/DispatchUnitController.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.DispatchUnitQueryDTO;
 import com.doumee.dao.business.dto.SaveDispatchUnitDTO;
 import com.doumee.dao.business.model.DispatchUnit;
 import com.doumee.service.business.DispatchUnitService;
@@ -106,4 +107,13 @@
     public ApiResponse findById(@PathVariable Integer id) {
         return ApiResponse.success(dispatchUnitService.detailById(id));
     }
+
+    @ApiOperation("鏁版嵁鍒楄〃")
+    @PostMapping("/findListByDTO")
+    @RequiresPermissions("business:dispatchunit:query")
+    public ApiResponse<List<DispatchUnit>> findListByDTO (@RequestBody DispatchUnitQueryDTO dispatchUnitQueryDTO) {
+        return ApiResponse.success(dispatchUnitService.findByDTO(dispatchUnitQueryDTO));
+    }
+
+
 }
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 804ccb8..2790cf0 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
@@ -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.InsuranceApplyOptDTO;
 import com.doumee.dao.business.dto.InsuranceApplyQueryDTO;
 import com.doumee.dao.business.model.InsuranceApply;
 import com.doumee.service.business.InsuranceApplyService;
@@ -86,6 +87,17 @@
     @GetMapping("/{id}")
     @RequiresPermissions("business:insuranceapply:query")
     public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(insuranceApplyService.findById(id));
+        return ApiResponse.success(insuranceApplyService.findDetail(id));
     }
+
+
+    @ApiOperation("浼佷笟鐢宠閫�鍥�")
+    @PostMapping("/applyReturn")
+    public ApiResponse applyReturn (@RequestBody InsuranceApplyOptDTO insuranceApplyOptDTO) {
+        insuranceApplyService.applyReturn(insuranceApplyOptDTO);
+        return ApiResponse.success("鎿嶄綔鎴愬姛");
+    }
+
+
+
 }
diff --git a/server/company/src/main/java/com/doumee/api/business/MemberController.java b/server/company/src/main/java/com/doumee/api/business/MemberController.java
index 4562635..f2ff881 100644
--- a/server/company/src/main/java/com/doumee/api/business/MemberController.java
+++ b/server/company/src/main/java/com/doumee/api/business/MemberController.java
@@ -4,13 +4,17 @@
 import com.doumee.core.annotation.excel.ExcelExporter;
 import com.doumee.core.annotation.pr.PreventRepeat;
 import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.model.PageData;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.dto.MemberQueryDTO;
 import com.doumee.dao.business.model.Member;
 import com.doumee.service.business.MemberService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletResponse;
@@ -87,4 +91,16 @@
     public ApiResponse findById(@PathVariable Integer id) {
         return ApiResponse.success(memberService.findById(id));
     }
+
+
+    @ApiOperation("鏁版嵁鍒楄〃")
+    @PostMapping("/findListByDTO")
+    @RequiresPermissions("business:member:query")
+    public ApiResponse<List<Member>> findListByDTO (@RequestBody MemberQueryDTO memberQueryDTO) {
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        if(loginUserInfo.getType().equals(Constants.ONE)){
+            memberQueryDTO.setCompanyId(loginUserInfo.getCompanyId());
+        }
+        return ApiResponse.success(memberService.findListByDTO(memberQueryDTO));
+    }
 }
diff --git a/server/company/src/main/java/com/doumee/api/business/WorktypeController.java b/server/company/src/main/java/com/doumee/api/business/WorktypeController.java
index a3d949c..7fafd25 100644
--- a/server/company/src/main/java/com/doumee/api/business/WorktypeController.java
+++ b/server/company/src/main/java/com/doumee/api/business/WorktypeController.java
@@ -7,6 +7,7 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.model.PageData;
 import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.dto.WorkTypeQueryDTO;
 import com.doumee.dao.business.model.Worktype;
 import com.doumee.service.business.WorktypeService;
 import io.swagger.annotations.Api;
@@ -98,13 +99,10 @@
     }
 
 
-    @ApiOperation("鏍规嵁淇濋櫓鏂规鏌ヨ宸ョ淇℃伅")
-    @GetMapping("/getBySolutionsId")
-    @ApiImplicitParams({
-            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "solutionId", value = "鏂规涓婚敭", required = true),
-    })
-    public ApiResponse<List<Worktype>> getBySolutionsId (@RequestParam Integer solutionId) {
-        return ApiResponse.success(worktypeService.getBySolutionsId(solutionId));
+    @ApiOperation("鏍规嵁鏉′欢宸ョ鍒楄〃")
+    @PostMapping("/findListByDTO")
+    public ApiResponse<List<Worktype>> findListByDTO (@RequestBody WorkTypeQueryDTO workTypeQueryDTO) {
+        return ApiResponse.success(worktypeService.findListByDTO(workTypeQueryDTO));
     }
 
 
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
new file mode 100644
index 0000000..5329ebc
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java
@@ -0,0 +1,46 @@
+package com.doumee.dao.business.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 娲鹃仯鍗曚綅淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Data
+public class ApplyDetailPageDTO {
+
+    @ApiModelProperty(value = "鍦ㄤ繚鐘舵�侊細1=淇濋殰涓紱2=涓嶅湪淇濓紱 0=鍏ㄩ儴")
+    private Integer applyStatus;
+
+    @ApiModelProperty(value = "娲鹃仯鍗曚綅涓婚敭")
+    private Integer duId;
+
+    @ApiModelProperty(value = "宸ョ涓婚敭")
+    private Integer workTypeId;
+
+    @ApiModelProperty(value = "鍛樺伐濮撳悕")
+    private String memberName;
+
+    @ApiModelProperty(value = "鐢熸晥璧锋湡 yyyy-MM-dd 寮�濮�")
+    private String startTimeS;
+
+    @ApiModelProperty(value = "鐢熸晥璧锋湡 yyyy-MM-dd 缁撴潫")
+    private String startTimeE;
+
+    @ApiModelProperty(value = "鐢熸晥姝㈡湡 yyyy-MM-dd 寮�濮�")
+    private String endTimeS;
+
+    @ApiModelProperty(value = "鐢熸晥姝㈡湡 yyyy-MM-dd 缁撴潫")
+    private String endTimeE;
+
+    @ApiModelProperty(value = "淇濆崟涓婚敭")
+    private Integer applyId;
+
+    @ApiModelProperty(value = "绫诲瀷锛�0=鍔犱繚锛�1=鍑忎繚锛�2=鎹㈠巶 ")
+    private List<Integer> types;
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/DispatchUnitQueryDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/DispatchUnitQueryDTO.java
new file mode 100644
index 0000000..19578e6
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/DispatchUnitQueryDTO.java
@@ -0,0 +1,48 @@
+package com.doumee.dao.business.dto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.dao.business.model.DuLog;
+import com.doumee.dao.business.model.DuSolution;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 娲鹃仯鍗曚綅淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Data
+public class DispatchUnitQueryDTO {
+
+
+    @ApiModelProperty(value = "鍚嶇О")
+    private String name;
+
+    @ApiModelProperty(value = "娲鹃仯鍗曚綅淇$敤浠g爜")
+    private String code;
+
+    @ApiModelProperty(value = "娲鹃仯鍗曚綅鎻忚堪")
+    private String content;
+
+    @ApiModelProperty(value = "浼佷笟缂栫爜", example = "1")
+    private Integer companyId;
+
+    @ApiModelProperty(value = "璁板綍绫诲瀷 0鍩鸿〃鏁版嵁 1鍘嗗彶鐗堟湰鏁版嵁", example = "1")
+    private Integer dataType;
+
+    @ApiModelProperty(value = "鏂规涓婚敭")
+    private Integer solutionId;
+
+    @ApiModelProperty(value = "淇濆崟涓婚敭")
+    private Integer applyId;
+
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyOptDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyOptDTO.java
new file mode 100644
index 0000000..d9de1e6
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyOptDTO.java
@@ -0,0 +1,20 @@
+package com.doumee.dao.business.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author RenKang
+ */
+@Data
+public class InsuranceApplyOptDTO {
+
+    @ApiModelProperty(value = "淇濆崟涓婚敭", example = "1")
+    private Integer applyId;
+
+    @ApiModelProperty(value = "鎿嶄綔璇存槑")
+    private String optIllustration;
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/MemberQueryDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/MemberQueryDTO.java
new file mode 100644
index 0000000..c775b5d
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/MemberQueryDTO.java
@@ -0,0 +1,23 @@
+package com.doumee.dao.business.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class MemberQueryDTO {
+
+    @ApiModelProperty(value = "鍛樺伐鍚嶇О")
+    private String name;
+
+    @ApiModelProperty(value = "闇�杩囨护鏁版嵁闆嗗悎")
+    private List<Integer> memberIds;
+
+    @ApiModelProperty(value = "杩囨护淇濆崟涓婚敭涓嬫暟鎹�")
+    private Integer insuranceApplyId;
+
+    @ApiModelProperty(value = "浼佷笟涓婚敭")
+    private Integer companyId;
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/WorkTypeQueryDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/WorkTypeQueryDTO.java
new file mode 100644
index 0000000..d73af03
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/WorkTypeQueryDTO.java
@@ -0,0 +1,21 @@
+package com.doumee.dao.business.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 娲鹃仯鍗曚綅淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Data
+public class WorkTypeQueryDTO {
+
+    @ApiModelProperty(value = "鏌ヨ涓氬姟涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鏌ヨ绫诲瀷锛�0=淇濋櫓鏂规涓婚敭锛�1=娲鹃仯鍗曚綅涓婚敭")
+    private Integer queryType;
+
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/join/ApplyChangeDetailJoinMapper.java b/server/service/src/main/java/com/doumee/dao/business/join/ApplyChangeDetailJoinMapper.java
new file mode 100644
index 0000000..64a1427
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/join/ApplyChangeDetailJoinMapper.java
@@ -0,0 +1,13 @@
+package com.doumee.dao.business.join;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.ApplyChagneDetail;
+import com.github.yulichang.base.mapper.MPJJoinMapper;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+public interface ApplyChangeDetailJoinMapper extends MPJJoinMapper<ApplyChagneDetail> {
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/join/ApplyDetailJoinMapper.java b/server/service/src/main/java/com/doumee/dao/business/join/ApplyDetailJoinMapper.java
new file mode 100644
index 0000000..b97c7de
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/join/ApplyDetailJoinMapper.java
@@ -0,0 +1,13 @@
+package com.doumee.dao.business.join;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.ApplyDetail;
+import com.github.yulichang.base.mapper.MPJJoinMapper;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+public interface ApplyDetailJoinMapper extends MPJJoinMapper<ApplyDetail> {
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/join/ApplyLogJoinMapper.java b/server/service/src/main/java/com/doumee/dao/business/join/ApplyLogJoinMapper.java
new file mode 100644
index 0000000..728c63d
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/join/ApplyLogJoinMapper.java
@@ -0,0 +1,13 @@
+package com.doumee.dao.business.join;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.ApplyLog;
+import com.github.yulichang.base.mapper.MPJJoinMapper;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+public interface ApplyLogJoinMapper extends MPJJoinMapper<ApplyLog> {
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/join/MemberJoinMapper.java b/server/service/src/main/java/com/doumee/dao/business/join/MemberJoinMapper.java
new file mode 100644
index 0000000..dee7f4e
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/join/MemberJoinMapper.java
@@ -0,0 +1,13 @@
+package com.doumee.dao.business.join;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.Member;
+import com.github.yulichang.base.mapper.MPJJoinMapper;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+public interface MemberJoinMapper extends MPJJoinMapper<Member> {
+
+}
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 9d29828..8965f23 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
@@ -1,5 +1,6 @@
 package com.doumee.dao.business.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.doumee.core.annotation.excel.ExcelColumn;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -89,8 +90,20 @@
     @ExcelColumn(name="璐圭敤鍙樺姩")
     private BigDecimal fee;
 
-    @ApiModelProperty(value = "绫诲瀷 0鍔� 1鍑�", example = "1")
-    @ExcelColumn(name="绫诲瀷 0鍔� 1鍑�")
+    @ApiModelProperty(value = "绫诲瀷 0鍔� 1鍑� 2鎹㈠巶", example = "1")
+    @ExcelColumn(name="绫诲瀷 0鍔� 1鍑� 2鎹㈠巶")
     private Integer type;
 
+    @ApiModelProperty(value = "鍛樺伐鍚嶇О")
+    @TableField(exist = false)
+    private String memberName;
+
+    @ApiModelProperty(value = "娲鹃仯鍗曚綅鍚嶇О")
+    @TableField(exist = false)
+    private String duName;
+
+    @ApiModelProperty(value = "宸ョ鍚嶇О")
+    @TableField(exist = false)
+    private String workTypeName;
+
 }
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 7e043a3..a49a2be 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
@@ -100,4 +100,16 @@
     @ApiModelProperty(value = "鍛樺伐鍚嶇О")
     @TableField(exist = false)
     private String memberName;
+
+    @ApiModelProperty(value = "娲鹃仯鍗曚綅鍚嶇О")
+    @TableField(exist = false)
+    private String duName;
+
+    @ApiModelProperty(value = "宸ョ鍚嶇О")
+    @TableField(exist = false)
+    private String workTypeName;
+
+
+
+
 }
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/ApplyLog.java b/server/service/src/main/java/com/doumee/dao/business/model/ApplyLog.java
index 9c4af99..48b027a 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/ApplyLog.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/ApplyLog.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.business.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.doumee.core.annotation.excel.ExcelColumn;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -83,4 +84,14 @@
     @ExcelColumn(name="鐘舵�� 0寰呭鏍� 1骞冲彴閫�鍥炰繚鍗曪紙宸查��鍥烇級 2宸蹭笂浼犱唬绛剧敵璇疯〃寰呬紒涓氱绔狅紙寰呯缃诧級  3宸茬绔犲緟涓婁紶淇濋櫓鍗曪紙寰呭嚭鍗曪級 4淇濆崟鍑哄叿澶辫触閫�鍥烇紙宸查��鍥烇級 5宸蹭笂浼犱繚鍗曪紙淇濋殰涓級6浼佷笟鐢宠閫�鍥炰腑 7骞冲彴鍚屾剰閫�鍥烇紙宸查��鍥烇級 8浼佷笟鍏抽棴  锛堝凡鍏抽棴锛�")
     private Integer status;
 
+
+    @ApiModelProperty(value = "鍒涘缓浜哄悕绉�", example = "1")
+    @TableField(exist = false)
+    private String  creatorName;
+
+    @ApiModelProperty(value = "鍏徃鍚嶇О", example = "1")
+    @TableField(exist = false)
+    private String  companyName;
+
+
 }
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/CompanyPermission.java b/server/service/src/main/java/com/doumee/dao/business/model/CompanyPermission.java
index 14bd6ac..0a25a2b 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/CompanyPermission.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/CompanyPermission.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.business.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.doumee.core.annotation.excel.ExcelColumn;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -60,7 +61,7 @@
     @ExcelColumn(name="鐢ㄦ埛缂栫爜")
     private Integer userId;
     @ApiModelProperty(value = "浼佷笟缂栫爜闆嗗悎", example = "1")
-    @ExcelColumn(name="浼佷笟缂栫爜闆嗗悎")
+    @TableField(exist = false)
     private List<Integer> companyIdList;
 
 }
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java b/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java
index 1791dd4..ea11c80 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java
@@ -119,6 +119,12 @@
     @ExcelColumn(name="鍩鸿〃缂栫爜锛堣嚜鍏宠仈锛�")
     private Integer baseId;
 
+
+
+    @ApiModelProperty(value = "鏂规涓婚敭")
+    @TableField(exist = false)
+    private Integer solutionId;
+
     @ApiModelProperty(value = "娲鹃仯鍗曚綅鏂规绠″叧鑱斾俊鎭〃", example = "1")
     @TableField(exist = false)
     private List<DuSolution> duSolutionList;
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java b/server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java
index 4e65ee7..d400814 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java
@@ -128,5 +128,11 @@
     @TableField(exist = false)
     private List<ApplyDetail> applyDetailList;
 
+    @ApiModelProperty(value = "鎶曚繚浜烘暟")
+    @TableField(exist = false)
+    private Integer insureNum;
 
+    @ApiModelProperty(value = "鏃ュ織璁板綍")
+    @TableField(exist = false)
+    private List<ApplyLog> applyLogList;
 }
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 63bdb9c..17bbcc4 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
@@ -1,5 +1,6 @@
 package com.doumee.dao.business.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.doumee.core.annotation.excel.ExcelColumn;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -55,6 +56,10 @@
     @ExcelColumn(name="鎺掑簭鐮�")
     private Integer sortnum;
 
+    @ApiModelProperty(value = "濮撳悕")
+    @ExcelColumn(name="濮撳悕")
+    private String name;
+
     @ApiModelProperty(value = "鎶曚繚鐢宠缂栫爜锛堝叧鑱攊nsurance_apply", example = "1")
     @ExcelColumn(name="鎶曚繚鐢宠缂栫爜锛堝叧鑱攊nsurance_apply")
     private Integer applyId;
@@ -87,4 +92,12 @@
     @ExcelColumn(name="鎬у埆 0鐢� 1濂�")
     private Integer sex;
 
+    @ApiModelProperty(value = "娲鹃仯鍗曚綅鍚嶇О")
+    @TableField(exist = false)
+    private String duName;
+
+    @ApiModelProperty(value = "鎵�灞炲伐绉嶅悕绉�")
+    @TableField(exist = false)
+    private String workTypeName;
+
 }
diff --git a/server/service/src/main/java/com/doumee/service/business/ApplyChagneDetailService.java b/server/service/src/main/java/com/doumee/service/business/ApplyChagneDetailService.java
index ca224f1..dee52c3 100644
--- a/server/service/src/main/java/com/doumee/service/business/ApplyChagneDetailService.java
+++ b/server/service/src/main/java/com/doumee/service/business/ApplyChagneDetailService.java
@@ -2,6 +2,7 @@
 
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.dto.ApplyDetailPageDTO;
 import com.doumee.dao.business.model.ApplyChagneDetail;
 import java.util.List;
 
@@ -85,7 +86,7 @@
      * @param pageWrap 鍒嗛〉瀵硅薄
      * @return PageData<ApplyChagneDetail>
      */
-    PageData<ApplyChagneDetail> findPage(PageWrap<ApplyChagneDetail> pageWrap);
+    PageData<ApplyChagneDetail> findPage(PageWrap<ApplyDetailPageDTO> pageWrap);
 
     /**
      * 鏉′欢缁熻
diff --git a/server/service/src/main/java/com/doumee/service/business/ApplyDetailService.java b/server/service/src/main/java/com/doumee/service/business/ApplyDetailService.java
index 4b531a9..f1cc91f 100644
--- a/server/service/src/main/java/com/doumee/service/business/ApplyDetailService.java
+++ b/server/service/src/main/java/com/doumee/service/business/ApplyDetailService.java
@@ -2,6 +2,7 @@
 
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.dto.ApplyDetailPageDTO;
 import com.doumee.dao.business.model.ApplyDetail;
 import java.util.List;
 
@@ -85,7 +86,7 @@
      * @param pageWrap 鍒嗛〉瀵硅薄
      * @return PageData<ApplyDetail>
      */
-    PageData<ApplyDetail> findPage(PageWrap<ApplyDetail> pageWrap);
+    PageData<ApplyDetail> findPage(PageWrap<ApplyDetailPageDTO> pageWrap);
 
     /**
      * 鏉′欢缁熻
diff --git a/server/service/src/main/java/com/doumee/service/business/DispatchUnitService.java b/server/service/src/main/java/com/doumee/service/business/DispatchUnitService.java
index 769f967..70fe3d5 100644
--- a/server/service/src/main/java/com/doumee/service/business/DispatchUnitService.java
+++ b/server/service/src/main/java/com/doumee/service/business/DispatchUnitService.java
@@ -3,6 +3,7 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.dto.DispatchUnitAuditDTO;
+import com.doumee.dao.business.dto.DispatchUnitQueryDTO;
 import com.doumee.dao.business.dto.SaveDispatchUnitDTO;
 import com.doumee.dao.business.model.DispatchUnit;
 import java.util.List;
@@ -122,4 +123,11 @@
      * @return
      */
     DispatchUnit detailById(Integer id);
+
+    /**
+     * 鏍规嵁鏉′欢鏌ヨ娲鹃仯鍗曚綅淇℃伅
+     * @param dispatchUnitQueryDTO
+     * @return
+     */
+    List<DispatchUnit> findByDTO(DispatchUnitQueryDTO dispatchUnitQueryDTO);
 }
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 70d7162..a926df7 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
@@ -2,6 +2,7 @@
 
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.dto.InsuranceApplyOptDTO;
 import com.doumee.dao.business.dto.InsuranceApplyQueryDTO;
 import com.doumee.dao.business.model.InsuranceApply;
 import java.util.List;
@@ -95,4 +96,8 @@
      * @return long
      */
     long count(InsuranceApply insuranceApply);
+
+    InsuranceApply findDetail(Integer id);
+
+    void applyReturn(InsuranceApplyOptDTO insuranceApplyOptDTO);
 }
diff --git a/server/service/src/main/java/com/doumee/service/business/MemberService.java b/server/service/src/main/java/com/doumee/service/business/MemberService.java
index d4b8cee..f553fd8 100644
--- a/server/service/src/main/java/com/doumee/service/business/MemberService.java
+++ b/server/service/src/main/java/com/doumee/service/business/MemberService.java
@@ -2,6 +2,7 @@
 
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.dto.MemberQueryDTO;
 import com.doumee.dao.business.model.Member;
 import java.util.List;
 
@@ -94,4 +95,8 @@
      * @return long
      */
     long count(Member member);
+
+
+    List<Member> findListByDTO(MemberQueryDTO memberQueryDTO);
+
 }
diff --git a/server/service/src/main/java/com/doumee/service/business/WorktypeService.java b/server/service/src/main/java/com/doumee/service/business/WorktypeService.java
index 897dbe6..d4430a7 100644
--- a/server/service/src/main/java/com/doumee/service/business/WorktypeService.java
+++ b/server/service/src/main/java/com/doumee/service/business/WorktypeService.java
@@ -2,6 +2,7 @@
 
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.dto.WorkTypeQueryDTO;
 import com.doumee.dao.business.model.Worktype;
 import java.util.List;
 
@@ -82,10 +83,10 @@
 
     /**
      * 鏍规嵁淇濋櫓鏂规鏌ヨ宸ョ淇℃伅
-     * @param solutionId
+     * @param workTypeQueryDTO
      * @return
      */
-    List<Worktype> getBySolutionsId(Integer solutionId);
+    List<Worktype> findListByDTO(WorkTypeQueryDTO workTypeQueryDTO);
 
   
     /**
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 f38b4cc..f1d9a44 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
@@ -2,19 +2,27 @@
 
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.ApplyChagneDetailMapper;
-import com.doumee.dao.business.model.ApplyChagneDetail;
+import com.doumee.dao.business.dto.ApplyDetailPageDTO;
+import com.doumee.dao.business.join.ApplyChangeDetailJoinMapper;
+import com.doumee.dao.business.model.*;
 import com.doumee.service.business.ApplyChagneDetailService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
 
+import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 鍔犲噺淇濇崲鍘傜敵璇锋槑缁嗕俊鎭〃Service瀹炵幇
@@ -26,6 +34,9 @@
 
     @Autowired
     private ApplyChagneDetailMapper applyChagneDetailMapper;
+
+    @Autowired
+    private ApplyChangeDetailJoinMapper applyChangeDetailJoinMapper;
 
     @Override
     public Integer create(ApplyChagneDetail applyChagneDetail) {
@@ -85,64 +96,34 @@
     }
   
     @Override
-    public PageData<ApplyChagneDetail> findPage(PageWrap<ApplyChagneDetail> pageWrap) {
+    public PageData<ApplyChagneDetail> findPage(PageWrap<ApplyDetailPageDTO> pageWrap) {
         IPage<ApplyChagneDetail> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
-        QueryWrapper<ApplyChagneDetail> queryWrapper = new QueryWrapper<>();
+        MPJLambdaWrapper<ApplyChagneDetail> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
-        if (pageWrap.getModel().getId() != null) {
-            queryWrapper.lambda().eq(ApplyChagneDetail::getId, pageWrap.getModel().getId());
-        }
-        if (pageWrap.getModel().getCreator() != null) {
-            queryWrapper.lambda().eq(ApplyChagneDetail::getCreator, pageWrap.getModel().getCreator());
-        }
-        if (pageWrap.getModel().getCreateDate() != null) {
-            queryWrapper.lambda().ge(ApplyChagneDetail::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
-            queryWrapper.lambda().le(ApplyChagneDetail::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
-        }
-        if (pageWrap.getModel().getEditor() != null) {
-            queryWrapper.lambda().eq(ApplyChagneDetail::getEditor, pageWrap.getModel().getEditor());
-        }
-        if (pageWrap.getModel().getEditDate() != null) {
-            queryWrapper.lambda().ge(ApplyChagneDetail::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
-            queryWrapper.lambda().le(ApplyChagneDetail::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
-        }
-        if (pageWrap.getModel().getIsdeleted() != null) {
-            queryWrapper.lambda().eq(ApplyChagneDetail::getIsdeleted, pageWrap.getModel().getIsdeleted());
-        }
-        if (pageWrap.getModel().getRemark() != null) {
-            queryWrapper.lambda().eq(ApplyChagneDetail::getRemark, pageWrap.getModel().getRemark());
-        }
-        if (pageWrap.getModel().getSortnum() != null) {
-            queryWrapper.lambda().eq(ApplyChagneDetail::getSortnum, pageWrap.getModel().getSortnum());
-        }
-        if (pageWrap.getModel().getApplyChangeId() != null) {
-            queryWrapper.lambda().eq(ApplyChagneDetail::getApplyChangeId, pageWrap.getModel().getApplyChangeId());
-        }
-        if (pageWrap.getModel().getMemberId() != null) {
-            queryWrapper.lambda().eq(ApplyChagneDetail::getMemberId, pageWrap.getModel().getMemberId());
-        }
-        if (pageWrap.getModel().getEndTime() != null) {
-            queryWrapper.lambda().eq(ApplyChagneDetail::getEndTime, pageWrap.getModel().getEndTime());
-        }
-        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());
-        }
-        if (pageWrap.getModel().getWorktypeId() != null) {
-            queryWrapper.lambda().eq(ApplyChagneDetail::getWorktypeId, pageWrap.getModel().getWorktypeId());
-        }
-        if (pageWrap.getModel().getFee() != null) {
-            queryWrapper.lambda().eq(ApplyChagneDetail::getFee, pageWrap.getModel().getFee());
-        }
-        if (pageWrap.getModel().getType() != null) {
-            queryWrapper.lambda().eq(ApplyChagneDetail::getType, pageWrap.getModel().getType());
-        }
+        queryWrapper.selectAll(ApplyChagneDetail.class);
+        queryWrapper.selectAs(DispatchUnit::getName,ApplyChagneDetail::getDuName);
+        queryWrapper.selectAs(Worktype::getName,ApplyChagneDetail::getWorkTypeName);
+        queryWrapper.selectAs(Member::getName,ApplyChagneDetail::getMemberName);
+        ApplyDetailPageDTO applyDetailPageDTO = pageWrap.getModel();
+        queryWrapper.exists(!Objects.isNull(applyDetailPageDTO.getApplyId()),
+                " select 1 from apply_change ac where ac.isdeleted = 0 and ac.status in (1,2)  and ac.applyId = "+applyDetailPageDTO.getApplyId()+" and ac.id = t.apply_change_id  ");
+        //鍦ㄤ繚
+        queryWrapper.le(!Objects.isNull(applyDetailPageDTO.getApplyStatus())
+                        &&applyDetailPageDTO.getApplyStatus().equals(Constants.ONE),
+                ApplyChagneDetail::getEndTime, DateUtil.getDate(new Date(),"yyyy-MM-dd")+" 23:59:59");
+        //涓嶅湪淇�
+        queryWrapper.ge(!Objects.isNull(applyDetailPageDTO.getApplyStatus())
+                        &&applyDetailPageDTO.getApplyStatus().equals(Constants.TWO),
+                ApplyChagneDetail::getEndTime, DateUtil.getDate(new Date(),"yyyy-MM-dd")+" 23:59:59");
+        queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getDuId()),ApplyChagneDetail::getDuId,applyDetailPageDTO.getDuId());
+        queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getWorkTypeId()),ApplyChagneDetail::getWorktypeId,applyDetailPageDTO.getWorkTypeId());
+        queryWrapper.like(StringUtils.isNotBlank(applyDetailPageDTO.getMemberName()),Member::getName,applyDetailPageDTO.getMemberName());
+        queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeS()),ApplyChagneDetail::getStartTime,applyDetailPageDTO.getStartTimeS()+" 00:00:00");
+        queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyChagneDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59");
+        queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeS()),ApplyChagneDetail::getEndTime,applyDetailPageDTO.getEndTimeS()+" 00:00:00");
+        queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeE()),ApplyChagneDetail::getEndTime,applyDetailPageDTO.getEndTimeE()+" 23:59:59");
+        queryWrapper.in(CollectionUtils.isNotEmpty(applyDetailPageDTO.getTypes()),ApplyChagneDetail::getType,applyDetailPageDTO.getTypes());
+
         for(PageWrap.SortData sortData: pageWrap.getSorts()) {
             if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                 queryWrapper.orderByDesc(sortData.getProperty());
@@ -150,7 +131,8 @@
                 queryWrapper.orderByAsc(sortData.getProperty());
             }
         }
-        return PageData.from(applyChagneDetailMapper.selectPage(page, queryWrapper));
+        PageData<ApplyChagneDetail> pageData = PageData.from(applyChangeDetailJoinMapper.selectJoinPage(page,ApplyChagneDetail.class, queryWrapper));
+        return pageData;
     }
 
     @Override
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 0be110e..ff71806 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
@@ -2,19 +2,27 @@
 
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.ApplyDetailMapper;
-import com.doumee.dao.business.model.ApplyDetail;
+import com.doumee.dao.business.dto.ApplyDetailPageDTO;
+import com.doumee.dao.business.join.ApplyDetailJoinMapper;
+import com.doumee.dao.business.model.*;
 import com.doumee.service.business.ApplyDetailService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 鎶曚繚鐢宠鏄庣粏淇℃伅琛⊿ervice瀹炵幇
@@ -26,6 +34,9 @@
 
     @Autowired
     private ApplyDetailMapper applyDetailMapper;
+
+    @Autowired
+    private ApplyDetailJoinMapper applyDetailJoinMapper;
 
     @Override
     public Integer create(ApplyDetail applyDetail) {
@@ -85,60 +96,32 @@
     }
   
     @Override
-    public PageData<ApplyDetail> findPage(PageWrap<ApplyDetail> pageWrap) {
+    public PageData<ApplyDetail> findPage(PageWrap<ApplyDetailPageDTO> pageWrap) {
         IPage<ApplyDetail> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
-        QueryWrapper<ApplyDetail> queryWrapper = new QueryWrapper<>();
+        MPJLambdaWrapper<ApplyDetail> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
-        if (pageWrap.getModel().getId() != null) {
-            queryWrapper.lambda().eq(ApplyDetail::getId, pageWrap.getModel().getId());
-        }
-        if (pageWrap.getModel().getCreator() != null) {
-            queryWrapper.lambda().eq(ApplyDetail::getCreator, pageWrap.getModel().getCreator());
-        }
-        if (pageWrap.getModel().getCreateDate() != null) {
-            queryWrapper.lambda().ge(ApplyDetail::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
-            queryWrapper.lambda().le(ApplyDetail::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
-        }
-        if (pageWrap.getModel().getEditor() != null) {
-            queryWrapper.lambda().eq(ApplyDetail::getEditor, pageWrap.getModel().getEditor());
-        }
-        if (pageWrap.getModel().getEditDate() != null) {
-            queryWrapper.lambda().ge(ApplyDetail::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
-            queryWrapper.lambda().le(ApplyDetail::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
-        }
-        if (pageWrap.getModel().getIsdeleted() != null) {
-            queryWrapper.lambda().eq(ApplyDetail::getIsdeleted, pageWrap.getModel().getIsdeleted());
-        }
-        if (pageWrap.getModel().getRemark() != null) {
-            queryWrapper.lambda().eq(ApplyDetail::getRemark, pageWrap.getModel().getRemark());
-        }
-        if (pageWrap.getModel().getSortnum() != null) {
-            queryWrapper.lambda().eq(ApplyDetail::getSortnum, pageWrap.getModel().getSortnum());
-        }
-        if (pageWrap.getModel().getApplyId() != null) {
-            queryWrapper.lambda().eq(ApplyDetail::getApplyId, pageWrap.getModel().getApplyId());
-        }
-        if (pageWrap.getModel().getMemberId() != null) {
-            queryWrapper.lambda().eq(ApplyDetail::getMemberId, pageWrap.getModel().getMemberId());
-        }
-        if (pageWrap.getModel().getEndTime() != null) {
-            queryWrapper.lambda().eq(ApplyDetail::getEndTime, pageWrap.getModel().getEndTime());
-        }
-        if (pageWrap.getModel().getStartTime() != null) {
-            queryWrapper.lambda().eq(ApplyDetail::getStartTime, pageWrap.getModel().getStartTime());
-        }
-        if (pageWrap.getModel().getDuId() != null) {
-            queryWrapper.lambda().eq(ApplyDetail::getDuId, pageWrap.getModel().getDuId());
-        }
-        if (pageWrap.getModel().getWorktypeId() != null) {
-            queryWrapper.lambda().eq(ApplyDetail::getWorktypeId, pageWrap.getModel().getWorktypeId());
-        }
-        if (pageWrap.getModel().getFee() != null) {
-            queryWrapper.lambda().eq(ApplyDetail::getFee, pageWrap.getModel().getFee());
-        }
-        if (pageWrap.getModel().getSex() != null) {
-            queryWrapper.lambda().eq(ApplyDetail::getSex, pageWrap.getModel().getSex());
-        }
+        queryWrapper.selectAll(ApplyDetail.class);
+        queryWrapper.selectAs(DispatchUnit::getName,ApplyDetail::getDuName);
+        queryWrapper.selectAs(Worktype::getName,ApplyDetail::getWorkTypeName);
+        queryWrapper.selectAs(Member::getName,ApplyDetail::getMemberName);
+        ApplyDetailPageDTO applyDetailPageDTO = pageWrap.getModel();
+        queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getApplyId()),ApplyDetail::getApplyId,applyDetailPageDTO.getApplyId());
+        //鍦ㄤ繚
+        queryWrapper.le(!Objects.isNull(applyDetailPageDTO.getApplyStatus())
+                &&applyDetailPageDTO.getApplyStatus().equals(Constants.ONE),
+                ApplyDetail::getEndTime, DateUtil.getDate(new Date(),"yyyy-MM-dd")+" 23:59:59");
+        //涓嶅湪淇�
+        queryWrapper.ge(!Objects.isNull(applyDetailPageDTO.getApplyStatus())
+                        &&applyDetailPageDTO.getApplyStatus().equals(Constants.TWO),
+                ApplyDetail::getEndTime, DateUtil.getDate(new Date(),"yyyy-MM-dd")+" 23:59:59");
+        queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getDuId()),ApplyDetail::getDuId,applyDetailPageDTO.getDuId());
+        queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getWorkTypeId()),ApplyDetail::getWorktypeId,applyDetailPageDTO.getWorkTypeId());
+        queryWrapper.like(StringUtils.isNotBlank(applyDetailPageDTO.getMemberName()),Member::getName,applyDetailPageDTO.getMemberName());
+        queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeS()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeS()+" 00:00:00");
+        queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59");
+        queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeS()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeS()+" 00:00:00");
+        queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeE()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeE()+" 23:59:59");
+
         for(PageWrap.SortData sortData: pageWrap.getSorts()) {
             if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                 queryWrapper.orderByDesc(sortData.getProperty());
@@ -146,7 +129,8 @@
                 queryWrapper.orderByAsc(sortData.getProperty());
             }
         }
-        return PageData.from(applyDetailMapper.selectPage(page, queryWrapper));
+        PageData<ApplyDetail> pageData = PageData.from(applyDetailJoinMapper.selectJoinPage(page,ApplyDetail.class, queryWrapper));
+        return pageData;
     }
 
     @Override
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 226e031..77fd6a4 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
@@ -11,10 +11,7 @@
 import com.doumee.dao.business.DuLogMapper;
 import com.doumee.dao.business.DuSolutionMapper;
 import com.doumee.dao.business.DuWorktypeMapper;
-import com.doumee.dao.business.dto.DispatchUnitAuditDTO;
-import com.doumee.dao.business.dto.SaveDispatchUnitDTO;
-import com.doumee.dao.business.dto.SaveDuSolutionDTO;
-import com.doumee.dao.business.dto.SaveDuWorkTypeDTO;
+import com.doumee.dao.business.dto.*;
 import com.doumee.dao.business.join.DuLogJoinMapper;
 import com.doumee.dao.business.join.DuSolutionJoinMapper;
 import com.doumee.dao.business.join.DuWorkTypeJoinMapper;
@@ -449,6 +446,7 @@
 
     @Override
     public List<DispatchUnit> findList(DispatchUnit dispatchUnit) {
+        dispatchUnit.setIsdeleted(Constants.ZERO);
         QueryWrapper<DispatchUnit> wrapper = new QueryWrapper<>(dispatchUnit);
         return dispatchUnitMapper.selectList(wrapper);
     }
@@ -570,6 +568,11 @@
         //鏌ヨ鎿嶄綔璁板綍
         List<DuLog> duLogList = duLogJoinMapper.selectJoinList(DuLog.class,
                 new MPJLambdaWrapper<DuLog>()
+                        .selectAll(DuLog.class)
+                        .selectAs(Member::getName,DuLog::getCreatorName)
+                        .selectAs(Company::getName,DuLog::getCompanyName)
+                        .leftJoin(Member.class,Member::getId,DuLog::getCreator)
+                        .leftJoin(Company.class,Company::getId,Member::getCompanyId)
                         .eq(DuLog::getDuId,dispatchUnit.getId())
                         .orderByAsc(DuLog::getCreateDate)
         );
@@ -578,5 +581,26 @@
     }
 
 
+    /**
+     * 鏌ヨ浼佷笟涓嬬殑娲鹃仯鍗曚綅
+     * @return
+     */
+    @Override
+    public List<DispatchUnit> findByDTO(DispatchUnitQueryDTO dispatchUnitQueryDTO) {
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        List<DispatchUnit> dispatchUnitList = dispatchUnitMapper.selectList(new QueryWrapper<DispatchUnit>().lambda()
+                .eq(DispatchUnit::getIsdeleted,Constants.ZERO)
+                .eq(loginUserInfo.getType().equals(Constants.ONE),DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
+                .eq(DispatchUnit::getStatus,Constants.ZERO)
+                .eq(DispatchUnit::getDataType,dispatchUnitQueryDTO.getDataType())
+                .apply(!Objects.isNull(dispatchUnitQueryDTO.getSolutionId()), " id in ( select d.dispatch_unit_id from du_solution d where d.solutionId = "+dispatchUnitQueryDTO.getSolutionId()+"  ) " )
+                .exists(!Objects.isNull(dispatchUnitQueryDTO.getApplyId()),
+                        " select 1 from apply_detail ad where ad.isdeleted = 0 and ad.apply_id = "+dispatchUnitQueryDTO.getApplyId()+" " +
+                                " ad.du_id = t.id ")
+                .orderByAsc(DispatchUnit::getSortnum)
+        );
+        return dispatchUnitList;
+    }
+
 
 }
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 55425d6..4cbbb7a 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
@@ -9,7 +9,9 @@
 import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.*;
+import com.doumee.dao.business.dto.InsuranceApplyOptDTO;
 import com.doumee.dao.business.dto.InsuranceApplyQueryDTO;
+import com.doumee.dao.business.join.ApplyLogJoinMapper;
 import com.doumee.dao.business.join.InsuranceApplyJoinMapper;
 import com.doumee.dao.business.model.*;
 import com.doumee.dao.system.model.SystemUser;
@@ -21,6 +23,8 @@
 import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import io.swagger.models.auth.In;
+import jdk.internal.jline.internal.Log;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -49,6 +53,9 @@
 
     @Autowired
     private ApplyLogMapper applyLogMapper;
+
+    @Autowired
+    private ApplyLogJoinMapper applyLogJoinMapper;
 
     @Autowired
     private SolutionsMapper solutionsMapper;
@@ -148,9 +155,26 @@
             }
             applyDetailMapper.insert(applyDetail);
         }
-
+        //瀛樺偍鏃ュ織鏁版嵁
+        this.saveApplyLog(insuranceApply,insuranceApplyStatus,null);
         return insuranceApply.getId();
     }
+
+    public void saveApplyLog(InsuranceApply insuranceApply,Constants.InsuranceApplyStatus insuranceApplyStatus,String content){
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        ApplyLog applyLog = new ApplyLog();
+        applyLog.setCreateDate(new Date());
+        applyLog.setCreator(loginUserInfo.getId());
+        applyLog.setIsdeleted(Constants.ZERO);
+        applyLog.setApplyId(insuranceApply.getId());
+        applyLog.setTitle(insuranceApplyStatus.getName());
+        applyLog.setContent(content);
+        applyLog.setObjType(insuranceApplyStatus.getKey());
+        applyLog.setObjId(Integer.toString(insuranceApply.getId()));
+        applyLog.setStatus(insuranceApply.getStatus());
+        applyLogMapper.insert(applyLog);
+    }
+
 
 
     public BigDecimal countDetailFee(Solutions solutions ,Date startDate,Date endDate){
@@ -277,4 +301,70 @@
         QueryWrapper<InsuranceApply> wrapper = new QueryWrapper<>(insuranceApply);
         return insuranceApplyMapper.selectCount(wrapper);
     }
+
+
+
+    @Override
+    public InsuranceApply findDetail(Integer id) {
+        InsuranceApply insuranceApply = insuranceApplyMapper.selectById(id);
+        if(Objects.isNull(insuranceApply)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        insuranceApply.setInsureNum(applyDetailMapper.selectCount(new QueryWrapper<ApplyDetail>().lambda().eq(ApplyDetail::getApplyId,insuranceApply.getId())
+                .eq(ApplyDetail::getIsdeleted,Constants.ZERO)));
+
+        //鏌ヨ鎿嶄綔璁板綍
+        List<ApplyLog> applyLogList = applyLogJoinMapper.selectJoinList(ApplyLog.class,
+                new MPJLambdaWrapper<ApplyLog>()
+                        .selectAll(ApplyLog.class)
+                        .selectAs(Member::getName,ApplyLog::getCreatorName)
+                        .selectAs(Company::getName,ApplyLog::getCompanyName)
+                        .leftJoin(Member.class,Member::getId,ApplyLog::getCreator)
+                        .leftJoin(Company.class,Company::getId,Member::getCompanyId)
+                        .eq(ApplyLog::getApplyId,insuranceApply.getId())
+                        .orderByAsc(ApplyLog::getCreateDate)
+        );
+        insuranceApply.setApplyLogList(applyLogList);
+        return insuranceApply;
+    }
+
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public void applyReturn(InsuranceApplyOptDTO insuranceApplyOptDTO){
+        if(Objects.isNull(insuranceApplyOptDTO)
+            ||Objects.isNull(insuranceApplyOptDTO.getApplyId())
+            ||StringUtils.isBlank(insuranceApplyOptDTO.getOptIllustration())){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        if(loginUserInfo.getType().equals(Constants.ZERO)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氱鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�");
+        }
+        InsuranceApply insuranceApply = insuranceApplyMapper.selectById(insuranceApplyOptDTO.getApplyId());
+        if(Objects.isNull(insuranceApply)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(insuranceApply.getIsdeleted().equals(Constants.ONE)){
+            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"鏁版嵁宸插垹闄�,鏃犳硶杩涜璇ユ搷浣�");
+        }
+        if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.COMPANY_APPLY_RETURN.getKey())){
+            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"閫�鍥炵敵璇蜂腑锛岃鍕块噸澶嶆搷浣�");
+        }
+        if(!(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD.getKey())
+            ||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey())
+            ||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.SIGNATURE.getKey()))){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�侀潪鍙敵璇烽��鍥�!");
+        }
+        insuranceApply.setCheckDate(new Date());
+        insuranceApply.setCheckInfo(insuranceApplyOptDTO.getOptIllustration());
+        insuranceApply.setCheckUserId(loginUserInfo.getId());
+        insuranceApplyMapper.updateById(insuranceApply);
+
+        //瀛樺偍鏃ュ織鏁版嵁
+        this.saveApplyLog(insuranceApply,Constants.InsuranceApplyStatus.COMPANY_APPLY_RETURN,null);
+
+    }
+
+
 }
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 559352f..94379e9 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
@@ -2,19 +2,27 @@
 
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.MemberMapper;
+import com.doumee.dao.business.dto.MemberQueryDTO;
+import com.doumee.dao.business.join.MemberJoinMapper;
+import com.doumee.dao.business.model.DispatchUnit;
+import com.doumee.dao.business.model.DuWorktype;
 import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.model.Worktype;
 import com.doumee.service.business.MemberService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
 
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 鐢ㄥ伐淇℃伅琛⊿ervice瀹炵幇
@@ -26,6 +34,9 @@
 
     @Autowired
     private MemberMapper memberMapper;
+
+    @Autowired
+    private MemberJoinMapper memberJoinMapper;
 
     @Override
     public Integer create(Member member) {
@@ -151,4 +162,25 @@
         QueryWrapper<Member> wrapper = new QueryWrapper<>(member);
         return memberMapper.selectCount(wrapper);
     }
+
+    @Override
+    public List<Member> findListByDTO(MemberQueryDTO memberQueryDTO) {
+        List<Member> memberList = memberJoinMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>()
+                .selectAll(Member.class)
+                .selectAs(DispatchUnit::getName,Member::getDuName)
+                .selectAs(Worktype::getName,Member::getWorkTypeName)
+                .leftJoin(DispatchUnit.class,DispatchUnit::getId,Member::getDuId)
+                .leftJoin(Worktype.class,Worktype::getId,Member::getWorktypeId)
+                .notIn(CollectionUtils.isNotEmpty(memberQueryDTO.getMemberIds()),Member::getId,memberQueryDTO.getMemberIds())
+                .eq(!Objects.isNull(memberQueryDTO.getCompanyId()),Member::getCompanyId,memberQueryDTO.getCompanyId())
+                .eq(Member::getIsdeleted, Constants.ZERO)
+                .notExists(!Objects.isNull(memberQueryDTO.getInsuranceApplyId()),
+                        " select 1 from apply_detail ad where ad.applyId = "+memberQueryDTO.getInsuranceApplyId()+" and ad.END_TIME > now() and ad.isdeleted = 0 " +
+                                " and ad.member_id = t.id ")
+        );
+        return memberList;
+    }
+
+
+
 }
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java
index a80996b..2435385 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java
@@ -5,6 +5,7 @@
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.WorktypeMapper;
+import com.doumee.dao.business.dto.WorkTypeQueryDTO;
 import com.doumee.dao.business.model.Worktype;
 import com.doumee.service.business.WorktypeService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -16,6 +17,7 @@
 import org.springframework.util.CollectionUtils;
 
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 宸ョ淇℃伅琛⊿ervice瀹炵幇
@@ -87,10 +89,15 @@
     }
 
     @Override
-    public List<Worktype> getBySolutionsId(Integer solutionId){
-        QueryWrapper<Worktype> wrapper = new QueryWrapper<>();
-        wrapper.apply(" id in ( select  sw.WORKTYPE_ID from solution_worktype sw where sw.SOLUTION_ID = "+solutionId+" ) ");
-        return worktypeMapper.selectList(wrapper);
+    public List<Worktype> findListByDTO(WorkTypeQueryDTO workTypeQueryDTO){
+        List<Worktype> list = worktypeMapper.selectList(new QueryWrapper<Worktype>().lambda()
+                .eq(Worktype::getIsdeleted,Constants.ZERO)
+                .apply(workTypeQueryDTO.getQueryType().equals(Constants.ZERO),
+                        "id in ( select  sw.worktype_id from solution_worktype sw where sw.SOLUTION_ID = "+workTypeQueryDTO.getId()+" )")
+                .apply(workTypeQueryDTO.getQueryType().equals(Constants.ONE),
+                        "id in ( select  dw.work_type_id from du_worktype dw where dw.du_solution_id = "+workTypeQueryDTO.getId()+" )")
+        );
+        return list;
     }
   
     @Override

--
Gitblit v1.9.3