From c219f11b51903d5aeb4c7ca261df593597aa7fe2 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 16 四月 2024 17:59:54 +0800
Subject: [PATCH] 人员明细+报告编制的提交审核批准+能力范围的下拉数据字典

---
 user-server/src/main/java/com/yuanchu/mom/mapper/EnumMapper.java                    |    2 
 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java   |   28 ++++
 framework/src/main/java/com/yuanchu/mom/mapper/AuthMapper.java                      |    3 
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java |   71 +++++++++++
 user-server/src/main/java/com/yuanchu/mom/dto/UserPageDto.java                      |    1 
 user-server/src/main/java/com/yuanchu/mom/service/EnumService.java                  |    1 
 cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java          |    4 
 cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml              |    1 
 user-server/src/main/resources/mapper/UserMapper.xml                                |    2 
 cnas-server/src/main/java/com/yuanchu/mom/controller/DepartmentController.java      |   21 ++
 user-server/src/main/java/com/yuanchu/mom/pojo/User.java                            |    7 +
 cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentMapper.java              |   13 ++
 inspect-server/src/main/java/com/yuanchu/mom/dto/ReportPageDto.java                 |    8 
 inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java    |   20 +++
 inspect-server/src/main/resources/mapper/InsReportMapper.xml                        |    4 
 cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentService.java            |    7 +
 user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java            |    6 +
 cnas-server/src/main/resources/mapper/DepartmentMapper.xml                          |   20 +++
 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsReport.java                    |   39 +++++-
 user-server/src/main/java/com/yuanchu/mom/service/impl/EnumServiceImpl.java         |   10 +
 cnas-server/src/main/java/com/yuanchu/mom/dto/UserDto.java                          |   41 ++++++
 inspect-server/pom.xml                                                              |    6 +
 cnas-server/pom.xml                                                                 |    6 +
 inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java          |    8 +
 24 files changed, 306 insertions(+), 23 deletions(-)

diff --git a/cnas-server/pom.xml b/cnas-server/pom.xml
index 801e39a..22ffb64 100644
--- a/cnas-server/pom.xml
+++ b/cnas-server/pom.xml
@@ -21,5 +21,11 @@
             <artifactId>framework</artifactId>
             <version>0.0.1-SNAPSHOT</version>
         </dependency>
+        <dependency>
+            <groupId>com.yuanchu.mom</groupId>
+            <artifactId>user-server</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 </project>
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DepartmentController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DepartmentController.java
index 6925d5e..f02883a 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/controller/DepartmentController.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DepartmentController.java
@@ -1,13 +1,20 @@
 package com.yuanchu.mom.controller;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.dto.UserDto;
+import com.yuanchu.mom.dto.UserPageDto;
 import com.yuanchu.mom.pojo.Department;
+import com.yuanchu.mom.pojo.User;
 import com.yuanchu.mom.service.DepartmentService;
+import com.yuanchu.mom.utils.JackSonUtil;
 import com.yuanchu.mom.vo.Result;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.stereotype.Controller;
+
+import java.util.Map;
 
 /**
  * <p>
@@ -27,23 +34,29 @@
 
     @ApiOperation(value = "娣诲姞閮ㄩ棬")
     @PostMapping("/addDepartment")
-    public Result addDepartment(@RequestBody Department department){
+    public Result addDepartment(@RequestBody Department department) {
         return Result.success(departmentService.addDepartment(department));
     }
 
     @ApiOperation(value = "鑾峰彇閮ㄩ棬鏍�")
     @GetMapping("/selectDepartment")
-    public Result selectDepartment(){
+    public Result selectDepartment() {
         return Result.success(departmentService.selectDepartment());
     }
 
     @ApiOperation(value = "鍒犻櫎閮ㄩ棬")
     @PostMapping("/delDepartment")
-    public Result delDepartment(Integer id){
+    public Result delDepartment(Integer id) {
         return Result.success(departmentService.delDepartment(id));
     }
 
-
+    @ApiOperation(value = "鏍规嵁閫夋嫨鐨勬爲灞曠ず鐩稿叧鐨勪汉鍛�")
+    @PostMapping("/showUserById")
+    public Result showUserById(@RequestBody Map<String, Object> data) throws Exception {
+        Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
+        UserDto user = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), UserDto.class);
+        return Result.success(departmentService.showUserById(page, user));
+    }
 
 
 }
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/UserDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/UserDto.java
new file mode 100644
index 0000000..e327cd7
--- /dev/null
+++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/UserDto.java
@@ -0,0 +1,41 @@
+package com.yuanchu.mom.dto;
+
+
+import com.yuanchu.mom.annotation.ValueTableShow;
+import com.yuanchu.mom.common.OrderBy;
+import com.yuanchu.mom.pojo.User;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class UserDto extends OrderBy {
+
+
+    @ApiModelProperty(value = "id")
+    private Integer id;
+
+    @ValueTableShow(1)
+    @ApiModelProperty(value = "鐢ㄦ埛鍚�")
+    private String name;
+
+    @ValueTableShow(2)
+    @ApiModelProperty(value = "骞撮緞")
+    private Integer age;
+
+    @ValueTableShow(3)
+    @ApiModelProperty(value = "閭")
+    private String email;
+
+    @ValueTableShow(4)
+    @ApiModelProperty(value = "鐢佃瘽鍙风爜")
+    private String phone;
+
+
+    @ApiModelProperty(value = "閮ㄩ棬鏍戠殑id")
+    private String departId;
+}
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentMapper.java
index 112fe5a..f88d409 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentMapper.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentMapper.java
@@ -1,8 +1,13 @@
 package com.yuanchu.mom.mapper;
 
-import com.yuanchu.mom.dto.DepartmentDto;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.dto.UserDto;
 import com.yuanchu.mom.pojo.Department;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yuanchu.mom.pojo.User;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -19,4 +24,10 @@
 
     //鑾峰彇閮ㄩ棬鏍�
     List<Department> selectDepartment();
+
+    //鏍规嵁閫夋嫨鐨勬爲灞曠ず鐩稿叧鐨勪汉鍛�
+    IPage<UserDto> showUserById(@Param("page") IPage<UserDto> page, @Param("ids") String ids, @Param("ew") QueryWrapper<UserDto> ew);
+
+    //鏍规嵁閮ㄩ棬id,鏌ヨ浠栫殑鎵�鏈夊瓙绫籭d
+    List<Integer> selectSonById(Integer id);
 }
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java
index 2145ff5..8f54984 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java
@@ -124,5 +124,9 @@
     @ValueTableShow(15)
     private LocalDateTime updateTime;
 
+    @ValueTableShow(9)
+    @ApiModelProperty(value = "瀛楀吀绫诲瀷")
+    private String dic;
+
 }
 
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentService.java
index 5f96bf1..a956618 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentService.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentService.java
@@ -1,10 +1,14 @@
 package com.yuanchu.mom.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.dto.DepartmentDto;
+import com.yuanchu.mom.dto.UserDto;
 import com.yuanchu.mom.pojo.Department;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.yuanchu.mom.pojo.User;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -24,4 +28,7 @@
 
     //鍒犻櫎閮ㄩ棬
     boolean delDepartment(Integer id);
+
+    //鏍规嵁閫夋嫨鐨勬爲灞曠ず鐩稿叧鐨勪汉鍛�
+    Map<String, Object> showUserById(Page page, UserDto user);
 }
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java
index 62c43c3..56e1c6d 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java
@@ -2,11 +2,18 @@
 
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.common.PrintChina;
 import com.yuanchu.mom.dto.DepartmentDto;
+import com.yuanchu.mom.dto.UserDto;
+import com.yuanchu.mom.dto.UserPageDto;
 import com.yuanchu.mom.pojo.Department;
 import com.yuanchu.mom.mapper.DepartmentMapper;
+import com.yuanchu.mom.pojo.Device;
+import com.yuanchu.mom.pojo.User;
 import com.yuanchu.mom.service.DepartmentService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.mom.utils.QueryWrappers;
 import lombok.AllArgsConstructor;
 import lombok.var;
 import org.springframework.stereotype.Service;
@@ -20,6 +27,7 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -77,16 +85,30 @@
         return removeBatchByIds(department);
     }
 
+    //鏍规嵁閫夋嫨鐨勬爲灞曠ず鐩稿叧鐨勪汉鍛�
+    @Override
+    public Map<String, Object> showUserById(Page page, UserDto user) {
+        //鏍规嵁閮ㄩ棬id,鏌ヨ浠栫殑鎵�鏈夊瓙绫籭d
+        List<Integer> list = departmentMapper.selectSonById(Integer.parseInt(user.getDepartId()));
+        String ids = list.stream()
+                .map(Object::toString)
+                .collect(Collectors.joining(","));
+        Map<String, Object> map = new HashMap<>();
+        map.put("head", PrintChina.printChina(UserDto.class));
+        map.put("body", departmentMapper.showUserById(page, ids, QueryWrappers.queryWrappers(user)));
+        return map;
+    }
+
 
     //鍒ゆ柇鏄惁鏈夊瓙绫�,鐩村埌娌℃湁涓烘
-    public List<Department> getDepartment(Integer id){
+    public List<Department> getDepartment(Integer id) {
         List<Department> list = new ArrayList<>();
         Department depart = baseMapper.selectById(id);
         list.add(depart);
         List<Department> departments = baseMapper.selectList(Wrappers.<Department>lambdaQuery().eq(Department::getFatherId, id));
-        if (ObjectUtils.isNotEmpty(departments)){
+        if (ObjectUtils.isNotEmpty(departments)) {
             list.addAll(departments);
-            for (Department department : departments){
+            for (Department department : departments) {
                 list.addAll(getDepartment(department.getId()));
             }
         }
diff --git a/cnas-server/src/main/resources/mapper/DepartmentMapper.xml b/cnas-server/src/main/resources/mapper/DepartmentMapper.xml
index 87ba206..465bbc1 100644
--- a/cnas-server/src/main/resources/mapper/DepartmentMapper.xml
+++ b/cnas-server/src/main/resources/mapper/DepartmentMapper.xml
@@ -16,4 +16,24 @@
         SELECT id, name, father_id
         FROM DepartmentHierarchy;
     </select>
+    <select id="showUserById" resultType="com.yuanchu.mom.dto.UserDto">
+        select * from (select id, name, age, email, phone,depart_id
+        from user where FIND_IN_SET( SUBSTRING_INDEX(depart_id, ',', -1) ,#{ids}) > 0 ) a
+        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+            ${ew.customSqlSegment}
+        </if>
+    </select>
+    <select id="selectSonById" resultType="java.lang.Integer">
+        WITH RECURSIVE DepartmentHierarchy AS (
+            SELECT id, name, father_id
+            FROM department
+            WHERE id = #{id}
+            UNION ALL
+            SELECT d.id, d.name, d.father_id
+            FROM department d
+                     JOIN DepartmentHierarchy dh ON d.father_id = dh.id
+        )
+        SELECT id
+        FROM DepartmentHierarchy;
+    </select>
 </mapper>
diff --git a/cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml b/cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml
index 93e3b8e..9da3cee 100644
--- a/cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml
+++ b/cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml
@@ -29,6 +29,7 @@
         bsm,
         sample,
         inspection_value_type,
+        dic,
         template_id,
         son_laboratory
         from structure_item_parameter
diff --git a/framework/src/main/java/com/yuanchu/mom/mapper/AuthMapper.java b/framework/src/main/java/com/yuanchu/mom/mapper/AuthMapper.java
index 34275f7..310f6f0 100644
--- a/framework/src/main/java/com/yuanchu/mom/mapper/AuthMapper.java
+++ b/framework/src/main/java/com/yuanchu/mom/mapper/AuthMapper.java
@@ -6,6 +6,7 @@
 import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
 import java.util.Map;
 
 @Mapper
@@ -25,4 +26,6 @@
     @Select("select look from power p left join user u on u.role_id = p.role_id where u.id = #{userId} and p.menu_method = #{method}")
     Integer countPower(Integer userId, String method);
 
+    @Select("select distinct category from enums")
+    List<String> getDic();
 }
diff --git a/inspect-server/pom.xml b/inspect-server/pom.xml
index 2d00a40..6506148 100644
--- a/inspect-server/pom.xml
+++ b/inspect-server/pom.xml
@@ -47,5 +47,11 @@
             <artifactId>spring-expression</artifactId>
             <version>5.3.18</version>
         </dependency>
+        <dependency>
+            <groupId>com.yuanchu.mom</groupId>
+            <artifactId>user-server</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 </project>
\ No newline at end of file
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java
index e480a74..9b15c05 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java
@@ -64,7 +64,7 @@
             pathName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmmss")) + "_" + file.getOriginalFilename();
             urlString = realpath + "/" + pathName;
             file.transferTo(new File(urlString));
-            return Result.success(insReportService.inReport("/word/"+pathName, id));
+            return Result.success(insReportService.inReport("/word/" + pathName, id));
         } catch (Exception e) {
             throw new ErrorException("鏂囦欢涓婁紶澶辫触");
         }
@@ -82,4 +82,22 @@
         return Result.success();
     }
 
+    @ApiOperation(value = "鎻愪氦")
+    @PostMapping("/writeReport")
+    public Result writeReport(Integer id) {
+        return Result.success(insReportService.writeReport(id));
+    }
+
+    @ApiOperation(value = "瀹℃牳")
+    @PostMapping("/examineReport")
+    public Result examineReport(Integer id, Integer isExamine, String examineTell) {
+        return Result.success(insReportService.examineReport(id, isExamine, examineTell));
+    }
+
+    @ApiOperation(value = "鎵瑰噯")
+    @PostMapping("/ratifyReport")
+    public Result ratifyReport(Integer id, Integer isRatify, String ratifyTell) {
+        return Result.success(insReportService.ratifyReport(id, isRatify, ratifyTell));
+    }
+
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/ReportPageDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/ReportPageDto.java
index b39829f..95442d8 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/dto/ReportPageDto.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/ReportPageDto.java
@@ -17,13 +17,13 @@
     @ApiModelProperty(value = "濮旀墭缂栧彿")
     private String entrustCode;
 
-    @ValueTableShow(value = 3,name = "缂栧埗浜�")
-    private String updateUserName;
+    @ValueTableShow(value = 3,name = "鎻愪氦浜�")
+    private String writeUserName;
 
-    @ValueTableShow(value = 8,name = "鎵瑰噯浜�")
+    @ValueTableShow(value = 10,name = "鎵瑰噯浜�")
     private String ratifyUser;
 
-    @ValueTableShow(value = 5,name = "瀹℃牳浜�")
+    @ValueTableShow(value = 6,name = "瀹℃牳浜�")
     private String examineUser;
 
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsReport.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsReport.java
index 78fe548..a845fd2 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsReport.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsReport.java
@@ -45,22 +45,27 @@
     private String urlS;
 
     /**
-     * 1锛氭壒鍑� 0锛氭湭鎵瑰噯
+     * 1锛氭壒鍑� 0锛氫笉鎵瑰噯
      */
-    @ValueTableShow(value = 9, name = "鎵瑰噯鐘舵��")
+    @ValueTableShow(value = 11, name = "鎵瑰噯鐘舵��")
     private Integer isRatify;
 
-    @ValueTableShow(value = 10, name = "鎵瑰噯澶囨敞")
+    @ValueTableShow(value = 12, name = "鎵瑰噯澶囨敞")
     private String ratifyTell;
 
     /**
-     * 1锛氬鏍� 0锛氭湭瀹℃牳
+     * 1锛氬鏍搁�氳繃 0锛氬鏍镐笉閫氳繃
      */
-    @ValueTableShow(value = 6, name = "瀹℃牳鐘舵��")
+    @ValueTableShow(value = 7, name = "瀹℃牳鐘舵��")
     private Integer isExamine;
 
-    @ValueTableShow(value = 7, name = "瀹℃牳澶囨敞")
+    @ValueTableShow(value = 8, name = "瀹℃牳澶囨敞")
     private String examineTell;
+
+    /**
+     * 澶栭敭锛氱敤鎴穒d锛堟彁浜や汉锛�
+     */
+    private Integer writeUserId;
 
     /**
      * 澶栭敭锛氱敤鎴穒d锛堟壒鍑嗕汉锛�
@@ -75,6 +80,7 @@
     @TableField(fill = FieldFill.INSERT)
     private Integer createUser;
 
+    @ValueTableShow(value = 2, name = "鍒涘缓鏃堕棿")
     @ApiModelProperty("鍒涘缓鏃堕棿")
     @TableField(fill = FieldFill.INSERT)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@@ -83,9 +89,28 @@
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Integer updateUser;
 
-    @ValueTableShow(value = 4, name = "缂栧埗鏃堕棿")
     @ApiModelProperty("淇敼鏃堕棿")
     @TableField(fill = FieldFill.INSERT_UPDATE)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime updateTime;
+
+    /**
+     * 1锛氬凡鎻愪氦 0锛氬緟鎻愪氦
+     */
+    @ValueTableShow(value = 4, name = "鎻愪氦鐘舵��")
+    private Integer state;
+
+    @ValueTableShow(value = 5, name = "鎻愪氦鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime writeTime;
+
+    @ValueTableShow(value = 9, name = "瀹℃牳鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime examineTime;
+
+    @ValueTableShow(value = 13, name = "鎵瑰噯鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime ratifyTime;
+
+
 }
\ No newline at end of file
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java
index dbb3df2..fefb514 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java
@@ -23,4 +23,12 @@
 
     int upReportUrl(Integer id);
 
+    //鎻愪氦
+    int writeReport(Integer id);
+
+    //瀹℃牳
+    int examineReport(Integer id, Integer isExamine, String examineTell);
+
+    //鎵瑰噯
+    int ratifyReport(Integer id, Integer isRatify, String ratifyTell);
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
index a7294cf..4195719 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
@@ -1,6 +1,7 @@
 package com.yuanchu.mom.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -12,6 +13,7 @@
 import com.yuanchu.mom.dto.ReportPageDto;
 import com.yuanchu.mom.dto.SampleOrderDto;
 import com.yuanchu.mom.exception.ErrorException;
+import com.yuanchu.mom.mapper.UserMapper;
 import com.yuanchu.mom.pojo.InsReport;
 import com.yuanchu.mom.service.InsReportService;
 import com.yuanchu.mom.mapper.InsReportMapper;
@@ -24,6 +26,7 @@
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.IOException;
+import java.time.LocalDateTime;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -38,6 +41,9 @@
 
     @Resource
     private GetLook getLook;
+
+    @Resource
+    private UserMapper userMapper;
 
     @Resource
     private InsReportMapper insReportMapper;
@@ -79,6 +85,71 @@
     public int upReportUrl(Integer id) {
         return insReportMapper.update(null, Wrappers.<InsReport>lambdaUpdate().eq(InsReport::getId, id).set(InsReport::getUrlS, null));
     }
+
+    //鎻愪氦
+    @Override
+    public int writeReport(Integer id) {
+        InsReport insReport = insReportMapper.selectById(id);
+        insReport.setId(id);
+        insReport.setState(1);
+        insReport.setWriteUserId(getLook.selectPowerByMethodAndUserId(null).get("userId"));//鎻愪氦浜�
+        insReport.setWriteTime(LocalDateTime.now());//鎻愪氦鏃堕棿
+        //鑾峰彇鎻愪氦浜虹殑绛惧悕鍦板潃
+        String signatureUrl = userMapper.selectById(insReport.getWriteUserId()).getSignatureUrl();
+        //绯荤粺鐢熸垚鎶ュ憡鍦板潃
+        String url = insReport.getUrl();
+        //鎵嬪姩涓婁紶鎶ュ憡鍦板潃
+        String urlS = insReport.getUrlS();
+        return insReportMapper.updateById(insReport);
+    }
+
+    //瀹℃牳
+    @Override
+    public int examineReport(Integer id, Integer isExamine, String examineTell) {
+        InsReport insReport = insReportMapper.selectById(id);
+        insReport.setIsExamine(isExamine);
+        if (ObjectUtils.isNotEmpty(examineTell)) {
+            insReport.setExamineTell(examineTell);
+        }
+        insReport.setExamineUserId(getLook.selectPowerByMethodAndUserId(null).get("userId"));//瀹℃牳浜�
+        insReport.setExamineTime(LocalDateTime.now());//瀹℃牳鏃堕棿
+        if (isExamine==0){
+            //濡傛灉瀹℃牳涓嶉�氳繃
+            insReport.setState(0);//鎻愪氦鐘舵�佹敼涓哄緟鎻愪氦
+        }
+        //鑾峰彇瀹℃牳浜虹殑绛惧悕鍦板潃
+        String signatureUrl = userMapper.selectById(insReport.getExamineUserId()).getSignatureUrl();
+        //绯荤粺鐢熸垚鎶ュ憡鍦板潃
+        String url = insReport.getUrl();
+        //鎵嬪姩涓婁紶鎶ュ憡鍦板潃
+        String urlS = insReport.getUrlS();
+
+        return insReportMapper.updateById(insReport);
+    }
+
+    //鎵瑰噯
+    @Override
+    public int ratifyReport(Integer id, Integer isRatify, String ratifyTell) {
+        InsReport insReport = insReportMapper.selectById(id);
+        insReport.setIsRatify(isRatify);
+        if (ObjectUtils.isNotEmpty(ratifyTell)) {
+            insReport.setRatifyTell(ratifyTell);
+        }
+        insReport.setRatifyUserId(getLook.selectPowerByMethodAndUserId(null).get("userId"));//鎵瑰噯浜�
+        insReport.setRatifyTime(LocalDateTime.now());//鎵瑰噯鏃堕棿
+        if (isRatify==0){
+            //濡傛灉鎵瑰噯涓嶉�氳繃
+            insReport.setState(0);//鎻愪氦鐘舵�佹敼涓哄緟鎻愪氦
+        }
+        //鑾峰彇瀹℃牳浜虹殑绛惧悕鍦板潃
+        String signatureUrl = userMapper.selectById(insReport.getRatifyUserId()).getSignatureUrl();
+        //绯荤粺鐢熸垚鎶ュ憡鍦板潃
+        String url = insReport.getUrl();
+        //鎵嬪姩涓婁紶鎶ュ憡鍦板潃
+        String urlS = insReport.getUrlS();
+
+        return insReportMapper.updateById(insReport);
+    }
 }
 
 
diff --git a/inspect-server/src/main/resources/mapper/InsReportMapper.xml b/inspect-server/src/main/resources/mapper/InsReportMapper.xml
index a7b3143..3b27479 100644
--- a/inspect-server/src/main/resources/mapper/InsReportMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsReportMapper.xml
@@ -23,10 +23,10 @@
         select *
         from (
         select
-        ir.*,io.entrust_code,u.name update_user_name,u1.name ratify_user,u2.name examine_user
+        ir.*,io.entrust_code,u.name write_user_name,u1.name ratify_user,u2.name examine_user
         from ins_report ir
         left join ins_order io on io.id = ir.ins_order_id
-        left join user u on u.id = ir.update_user
+        left join user u on u.id = ir.write_user_id
         left join user u1 on u1.id = ir.ratify_user_id
         left join user u2 on u2.id = ir.examine_user_id
         ) a
diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java b/user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java
index eacf6d6..77aa7da 100644
--- a/user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java
+++ b/user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java
@@ -56,4 +56,10 @@
         return Result.success(enumService.selectEnumByCategory(category));
     }
 
+    @ApiOperation(value = "鑾峰彇鏁版嵁瀛楀吀鐨勫垎绫�")
+    @PostMapping("/getDic")
+    public Result<?> getDic(){
+        return Result.success(enumService.getDic());
+    }
+
 }
diff --git a/user-server/src/main/java/com/yuanchu/mom/dto/UserPageDto.java b/user-server/src/main/java/com/yuanchu/mom/dto/UserPageDto.java
index 9f1f95b..d959ddd 100644
--- a/user-server/src/main/java/com/yuanchu/mom/dto/UserPageDto.java
+++ b/user-server/src/main/java/com/yuanchu/mom/dto/UserPageDto.java
@@ -24,4 +24,5 @@
     @ApiModelProperty(value = "瑙掕壊")
     private String roleName;
 
+
 }
diff --git a/user-server/src/main/java/com/yuanchu/mom/mapper/EnumMapper.java b/user-server/src/main/java/com/yuanchu/mom/mapper/EnumMapper.java
index a4252db..1997d72 100644
--- a/user-server/src/main/java/com/yuanchu/mom/mapper/EnumMapper.java
+++ b/user-server/src/main/java/com/yuanchu/mom/mapper/EnumMapper.java
@@ -5,6 +5,8 @@
 import com.yuanchu.mom.pojo.Enums;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import java.util.List;
+
 /**
 * @author Administrator
 * @description 閽堝琛ㄣ�恊num銆戠殑鏁版嵁搴撴搷浣淢apper
diff --git a/user-server/src/main/java/com/yuanchu/mom/pojo/User.java b/user-server/src/main/java/com/yuanchu/mom/pojo/User.java
index f123b20..fb036d2 100644
--- a/user-server/src/main/java/com/yuanchu/mom/pojo/User.java
+++ b/user-server/src/main/java/com/yuanchu/mom/pojo/User.java
@@ -107,4 +107,11 @@
     @ValueTableShow(value = 13,name = "鑷韩鐓х墖鍦板潃")
     private String pictureUrl;
 
+    /**
+     * 缁勭粐
+     */
+    @ValueTableShow(value = 14,name = "缁勭粐")
+    @ApiModelProperty(value = "鍏宠仈鐨勯儴闂╥d")
+    private String departId;
+
 }
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/EnumService.java b/user-server/src/main/java/com/yuanchu/mom/service/EnumService.java
index 4fa38dd..22183f8 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/EnumService.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/EnumService.java
@@ -24,4 +24,5 @@
 
     List<Enums> selectEnumByCategory(String category);
 
+    List<String> getDic();
 }
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/impl/EnumServiceImpl.java b/user-server/src/main/java/com/yuanchu/mom/service/impl/EnumServiceImpl.java
index 95d3928..3a4d304 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/impl/EnumServiceImpl.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/impl/EnumServiceImpl.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yuanchu.mom.common.GetLook;
 import com.yuanchu.mom.common.PrintChina;
+import com.yuanchu.mom.mapper.AuthMapper;
 import com.yuanchu.mom.pojo.Enums;
 import com.yuanchu.mom.service.EnumService;
 import com.yuanchu.mom.mapper.EnumMapper;
@@ -13,6 +14,7 @@
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 
+import javax.annotation.Resource;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -30,6 +32,8 @@
     private GetLook getLook;
 
     private EnumMapper enumMapper;
+
+    private AuthMapper authMapper;
 
     @Override
     public Map<String, Object> selectEnumList(IPage<Enums> page, Enums enums) {
@@ -60,6 +64,12 @@
     public List<Enums> selectEnumByCategory(String category) {
         return enumMapper.selectList(Wrappers.<Enums>lambdaQuery().eq(Enums::getCategory, category).select(Enums::getLabel,Enums::getValue).orderByAsc(Enums::getOrderNum).orderByAsc(Enums::getId));
     }
+
+    @Override
+    public List<String> getDic() {
+        return authMapper.getDic();
+    }
+
 }
 
 
diff --git a/user-server/src/main/resources/mapper/UserMapper.xml b/user-server/src/main/resources/mapper/UserMapper.xml
index 593aecd..65cad3b 100644
--- a/user-server/src/main/resources/mapper/UserMapper.xml
+++ b/user-server/src/main/resources/mapper/UserMapper.xml
@@ -5,7 +5,7 @@
         select * from (
         select u1.id, u1.account, u1.name, u1.state, u1.create_time, u1.update_time, u1.create_user, u1.update_user,
         u1.age, u1.email, u1.phone, u1.department, u1.company, u1.address, u1.is_custom, u1.role_id, u2.name
-        create_user_name, u3.name update_user_name, r.name role_name,u1.signature_url,u1.picture_url
+        create_user_name, u3.name update_user_name, r.name role_name,u1.signature_url,u1.picture_url,u1.depart_id
         from user u1
         left join user u2 on u2.id = u1.create_user
         left join user u3 on u3.id = u1.update_user

--
Gitblit v1.9.3