Browse Source

20221020自检类型管理及自检

sunruiqi 2 years ago
parent
commit
b1052de430
13 changed files with 387 additions and 8 deletions
  1. 60 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/controller/ProofreadInfoController.java
  2. 18 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/domain/ProofreadDetail.java
  3. 3 1
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/domain/ProofreadInfo.java
  4. 5 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/domain/ProofreadType.java
  5. 15 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/mapper/ProofreadDetailMapper.java
  6. 12 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/mapper/ProofreadInfoMapper.java
  7. 3 3
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/mapper/ProofreadTypeMapper.java
  8. 47 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/mapper/xml/ProofreadDetailMapper.xml
  9. 30 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/mapper/xml/ProofreadInfoMapper.xml
  10. 4 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/mapper/xml/ProofreadTypeMapper.xml
  11. 109 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/service/ProofreadInfoService.java
  12. 5 4
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/service/ProofreadTypeService.java
  13. 76 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/service/dto/ProofreadInfoDto.java

+ 60 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/controller/ProofreadInfoController.java

@@ -0,0 +1,60 @@
+package com.jeeplus.test.proofread.controller;
+
+import com.jeeplus.test.proofread.domain.ProofreadDetail;
+import com.jeeplus.test.proofread.domain.ProofreadType;
+import com.jeeplus.test.proofread.mapper.ProofreadTypeMapper;
+import com.jeeplus.test.proofread.service.ProofreadInfoService;
+import com.jeeplus.test.proofread.service.ProofreadTypeService;
+import com.jeeplus.test.proofread.service.dto.ProofreadInfoDto;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@RestController
+@Api(tags ="项目登记校对")
+@RequestMapping(value = "/proofread/info")
+public class ProofreadInfoController {
+
+    @Resource
+    private ProofreadInfoService service;
+
+    /**
+     * 新增/修改
+     * @param dto
+     * @return
+     */
+    @ApiOperation(value = "新增/修改")
+    @PostMapping("/save")
+    public ResponseEntity<String> save(@RequestBody ProofreadInfoDto dto) {
+        String s = service.save(dto);
+        return ResponseEntity.ok(s);
+    }
+
+    /**
+     * 根据项目id查询
+     * @param id
+     * @return
+     */
+    @ApiOperation(value = "根据项目id查询")
+    @GetMapping("/findById")
+    public ResponseEntity<ProofreadInfoDto> findById(String id) {
+        ProofreadInfoDto info = service.findById(id);
+        return ResponseEntity.ok(info);
+    }
+
+    /**
+     * 初始化类型列表查询
+     * @return
+     */
+    @ApiOperation(value = "初始化类型列表查询")
+    @GetMapping("/list")
+    public ResponseEntity<List<ProofreadDetail>> list(String type) {
+        List<ProofreadDetail> list = service.list(type);
+        return ResponseEntity.ok(list);
+    }
+
+}

+ 18 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/domain/ProofreadDetail.java

@@ -1,5 +1,6 @@
 package com.jeeplus.test.proofread.domain;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.jeeplus.core.domain.BaseEntity;
 import lombok.Data;
@@ -9,11 +10,22 @@ import lombok.Data;
 public class ProofreadDetail extends BaseEntity {
 
     /**
+     * 基本信息
+     */
+    private String infoId;
+
+    /**
      * 类型id
      */
     private String typeId;
 
     /**
+     * 类型名称
+     */
+    @TableField(exist = false)
+    private String typeName;
+
+    /**
      * 审核意见
      */
     private String reviewComments;
@@ -23,4 +35,10 @@ public class ProofreadDetail extends BaseEntity {
      */
     private String replyComments;
 
+    /**
+     * 序号
+     */
+    @TableField(exist = false)
+    private String sort;
+
 }

+ 3 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/domain/ProofreadInfo.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.jeeplus.core.domain.BaseEntity;
 import lombok.Data;
 
+import java.util.Date;
+
 @Data
 @TableName(value = "proofread_info")
 public class ProofreadInfo extends BaseEntity {
@@ -21,7 +23,7 @@ public class ProofreadInfo extends BaseEntity {
     /**
      * 审核日期
      */
-    private String processDate;
+    private Date processDate;
 
     /**
      * 保留意见

+ 5 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/domain/ProofreadType.java

@@ -10,6 +10,11 @@ import lombok.Data;
 public class ProofreadType extends TreeEntity<ProofreadType> {
 
     /**
+     * 类型1自检2浏览审核记录
+     */
+    private String type;
+
+    /**
      * 父节点id
      */
     private String parentId;

+ 15 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/mapper/ProofreadDetailMapper.java

@@ -0,0 +1,15 @@
+package com.jeeplus.test.proofread.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.proofread.domain.ProofreadDetail;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface ProofreadDetailMapper extends BaseMapper<ProofreadDetail> {
+
+    List<ProofreadDetail> findByInfoId(@Param("id") String id);
+
+    List<ProofreadDetail> findList(@Param("type")String type);
+
+}

+ 12 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/mapper/ProofreadInfoMapper.java

@@ -0,0 +1,12 @@
+package com.jeeplus.test.proofread.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.proofread.domain.ProofreadInfo;
+import com.jeeplus.test.proofread.service.dto.ProofreadInfoDto;
+import org.apache.ibatis.annotations.Param;
+
+public interface ProofreadInfoMapper extends BaseMapper<ProofreadInfo> {
+
+    ProofreadInfoDto findByProjectId(@Param("id") String id);
+
+}

+ 3 - 3
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/mapper/ProofreadTypeMapper.java

@@ -7,9 +7,9 @@ import org.apache.ibatis.annotations.Param;
 
 public interface ProofreadTypeMapper extends BaseMapper<ProofreadType>, TreeMapper<ProofreadType> {
 
-    Integer checkNameIsExist(@Param("name") String name);
+    Integer checkNameIsExist(@Param("parentId")String parentId, @Param("name") String name, @Param("type")String type);
 
-    Integer getNo(@Param("parentId") String parentId);
+    Integer getNo(@Param("parentId") String parentId, @Param("type")String type);
 
-    Integer getLevel(@Param("parentId") String parentId);
+    Integer getLevel(@Param("parentId") String parentId, @Param("type")String type);
 }

+ 47 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/mapper/xml/ProofreadDetailMapper.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.test.proofread.mapper.ProofreadDetailMapper">
+
+	<select id="findByInfoId" resultType="com.jeeplus.test.proofread.domain.ProofreadDetail">
+		SELECT
+			a.id,
+			a.create_by,
+			a.create_date,
+			a.update_by,
+			a.update_date,
+			a.del_flag,
+			a.info_id,
+			a.type_id,
+			b.`name` AS type_name,
+			a.review_comments,
+			a.reply_comments,
+			b.sort
+		FROM proofread_detail a
+		LEFT JOIN proofread_type b ON a.type_id = b.id
+		WHERE
+			a.del_flag = 0
+			AND a.info_id = #{id}
+	</select>
+
+	<select id="findList" resultType="com.jeeplus.test.proofread.domain.ProofreadDetail">
+		SELECT
+			id AS type_id,
+			create_by,
+			create_date,
+			update_by,
+			update_date,
+			del_flag,
+			parent_id,
+			parent_ids,
+			`level`,
+			`name` AS type_name,
+			sort
+		FROM
+			proofread_type
+		WHERE
+			del_flag = 0
+			AND `type` = #{type}
+		ORDER BY sort
+	</select>
+
+</mapper>

+ 30 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/mapper/xml/ProofreadInfoMapper.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.test.proofread.mapper.ProofreadInfoMapper">
+
+	<select id="findByProjectId" resultType="com.jeeplus.test.proofread.service.dto.ProofreadInfoDto">
+		SELECT
+			a.id,
+			a.create_by,
+			a.create_date,
+			a.update_by,
+			a.update_date,
+			a.del_flag,
+			a.project_id,
+			b.`name` AS project_name,
+			b.assessment_date,
+			b.project_manager_name,
+			a.process_user_id,
+			c.name AS process_user_name,
+			a.process_date,
+			a.reservations,
+			a.unmodified_comments
+		FROM proofread_info a
+		LEFT JOIN program_project_list_info b ON a.project_id = b.id
+		LEFT JOIN sys_user c ON a.process_user_id = c.id
+		WHERE
+			a.del_flag = 0
+			AND a.project_id = #{id}
+	</select>
+
+</mapper>

+ 4 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/mapper/xml/ProofreadTypeMapper.xml

@@ -9,7 +9,9 @@
 			proofread_type
 		WHERE
 			del_flag = 0
+			AND parent_id = #{parentId}
 			AND `name` = #{name}
+			AND `type` = #{type}
 	</select>
 
 	<select id="getNo" resultType="java.lang.Integer">
@@ -20,6 +22,7 @@
 		WHERE
 			del_flag = 0
 			AND parent_id = #{parentId}
+			AND `type` = #{type}
 	</select>
 
 	<select id="getLevel" resultType="java.lang.Integer">
@@ -30,5 +33,6 @@
 		WHERE
 			del_flag = 0
 			AND id = #{parentId}
+			AND `type` = #{type}
 	</select>
 </mapper>

+ 109 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/service/ProofreadInfoService.java

@@ -0,0 +1,109 @@
+package com.jeeplus.test.proofread.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.jeeplus.sys.service.dto.UserDTO;
+import com.jeeplus.sys.utils.StringUtils;
+import com.jeeplus.sys.utils.UserUtils;
+import com.jeeplus.test.proofread.domain.ProofreadDetail;
+import com.jeeplus.test.proofread.domain.ProofreadInfo;
+import com.jeeplus.test.proofread.mapper.ProofreadDetailMapper;
+import com.jeeplus.test.proofread.mapper.ProofreadInfoMapper;
+import com.jeeplus.test.proofread.service.dto.ProofreadInfoDto;
+import org.flowable.editor.language.json.converter.util.CollectionUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+
+@Service
+public class ProofreadInfoService {
+
+    @Resource
+    private ProofreadInfoMapper infoMapper;
+
+    @Resource
+    private ProofreadDetailMapper detailMapper;
+
+    public String save(ProofreadInfoDto dto) {
+        if (StringUtils.isNotEmpty(dto.getProjectId())) {
+            LambdaQueryWrapper<ProofreadInfo> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(ProofreadInfo::getProjectId, dto.getProjectId());
+            wrapper.eq(ProofreadInfo::getDelFlag, 0);
+            ProofreadInfo proofreadInfo = infoMapper.selectOne(wrapper);
+            if (proofreadInfo != null) {
+                update(dto);
+            }else {
+                add(dto);
+            }
+        }
+        return "操作成功";
+    }
+
+    public String add(ProofreadInfoDto dto) {
+        //生成主键id值
+        String id = UUID.randomUUID().toString().replace("-", "");
+        //获取当前登录人信息
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        //保存基本信息
+        ProofreadInfo info = new ProofreadInfo();
+        BeanUtils.copyProperties(dto, info);
+        info.setId(id);
+        info.setCreateBy(userDTO.getId());
+        info.setCreateDate(new Date());
+        info.setUpdateBy(userDTO.getId());
+        info.setUpdateDate(new Date());
+        infoMapper.insert(info);
+        //明细表相关信息
+        if (CollectionUtils.isNotEmpty(dto.getDetails())) {
+            for (ProofreadDetail detail:dto.getDetails()) {
+                String detailId = UUID.randomUUID().toString().replace("-", "");
+                detail.setId(detailId);
+                detail.setInfoId(id);
+                detail.setCreateBy(userDTO.getId());
+                detail.setCreateDate(new Date());
+                detail.setUpdateBy(userDTO.getId());
+                detail.setUpdateDate(new Date());
+                detailMapper.insert(detail);
+            }
+        }
+        return dto.getProjectId();
+    }
+
+    public String update(ProofreadInfoDto dto) {
+        //获取当前登录人信息
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        //修改基本信息
+        ProofreadInfo info = new ProofreadInfo();
+        BeanUtils.copyProperties(dto, info);
+        info.setUpdateBy(userDTO.getId());
+        info.setUpdateDate(new Date());
+        infoMapper.updateById(info);
+        //明细表相关信息修改
+        if (CollectionUtils.isNotEmpty(dto.getDetails())) {
+            for (ProofreadDetail detail:dto.getDetails()) {
+                detail.setUpdateBy(userDTO.getId());
+                detail.setUpdateDate(new Date());
+                detailMapper.updateById(detail);
+            }
+        }
+        return dto.getProjectId();
+    }
+
+    public ProofreadInfoDto findById(String id) {
+        //查询基本信息
+        ProofreadInfoDto dto = infoMapper.findByProjectId(id);
+        if (dto != null) {
+            //查询扩展信息
+            List<ProofreadDetail> details = detailMapper.findByInfoId(dto.getId());
+            dto.setDetails(details);
+        }
+        return dto;
+    }
+
+    public List<ProofreadDetail> list(String type) {
+        return detailMapper.findList(type);
+    }
+}

+ 5 - 4
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/service/ProofreadTypeService.java

@@ -27,6 +27,7 @@ public class ProofreadTypeService extends TreeService<ProofreadTypeMapper, Proof
             wrapper.like(ProofreadType::getName, type.getName());
         }
         wrapper.eq(BaseEntity::getDelFlag, 0);
+        wrapper.eq(ProofreadType::getType, type.getType());
         wrapper.orderByAsc(ProofreadType::getSort);
         return mapper.selectList(wrapper);
     }
@@ -37,9 +38,9 @@ public class ProofreadTypeService extends TreeService<ProofreadTypeMapper, Proof
             type.setParentId("0");
         }
         // 判断名称是否已存在
-        Integer isExist = mapper.checkNameIsExist(type.getName());
+        Integer isExist = mapper.checkNameIsExist(type.getParentId(), type.getName(), type.getType());
         if (isExist > 0) {
-            return "false";
+            return "该名称已存在";
         }
         // 保存数据
         if (StringUtils.isNotEmpty(type.getId())) {
@@ -99,7 +100,7 @@ public class ProofreadTypeService extends TreeService<ProofreadTypeMapper, Proof
             parentInfo = mapper.selectOne(wrapper);
         }
         //查询序号
-        Integer no = mapper.getNo(type.getParentId());
+        Integer no = mapper.getNo(type.getParentId(), type.getType());
         // 该层级下有数据,正常返回序号值
         if (no != null) {
             type.setSort(no);
@@ -114,7 +115,7 @@ public class ProofreadTypeService extends TreeService<ProofreadTypeMapper, Proof
         }
         // 生成层级
         //查询层级
-        Integer level = mapper.getLevel(type.getParentId());
+        Integer level = mapper.getLevel(type.getParentId(), type.getType());
         if (level != null) {
             type.setLevel(level.toString());
         } else {

+ 76 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/proofread/service/dto/ProofreadInfoDto.java

@@ -0,0 +1,76 @@
+package com.jeeplus.test.proofread.service.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.jeeplus.core.domain.BaseEntity;
+import com.jeeplus.test.proofread.domain.ProofreadDetail;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class ProofreadInfoDto extends BaseEntity {
+
+    /**
+     * 项目id
+     */
+    private String projectId;
+
+    /**
+     * 项目名称
+     */
+    private String projectName;
+
+    /**
+     * 评估基准日
+     */
+    @TableField(exist = false)
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date assessmentDate;
+
+    /**
+     * 项目负责人
+     */
+    @TableField(exist = false)
+    private String projectManagerName;
+
+    /**
+     * 项目审批人
+     */
+    private String processUserId;
+
+    /**
+     * 项目审批人
+     */
+    private String processUserName;
+
+    /**
+     * 审核日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date processDate;
+
+    /**
+     * 保留意见
+     */
+    private String reservations;
+
+    /**
+     * 未修改意见
+     */
+    private String unmodifiedComments;
+
+    /**
+     * 明细表
+     */
+    private List<ProofreadDetail> details;
+
+    /**
+     * 序号
+     */
+    @TableField(exist = false)
+    private String serialNumber;
+
+}