Bladeren bron

安全信息牌修改

xuxiaofei 2 jaren geleden
bovenliggende
commit
ecbe4daef5
24 gewijzigde bestanden met toevoegingen van 739 en 29 verwijderingen
  1. 11 0
      zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/entity/LabSubjectControllerVO.java
  2. 31 0
      zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/vo/ClassifyDetailVO.java
  3. 28 0
      zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/vo/ClassifyVO.java
  4. 42 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabXxpClassifyController.java
  5. 24 5
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabXxpClassifyDetailedController.java
  6. 26 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/LabSubject.java
  7. 1 1
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/XxpCardInfo.java
  8. 13 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/XxpClassify.java
  9. 61 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/XxpClassifySubject.java
  10. 17 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/vo/XxpClassifyDetailVO.java
  11. 9 1
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/XxpClassifyDetailedMapper.java
  12. 72 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/XxpClassifySubjectMapper.java
  13. 9 1
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/IXxpClassifyDetailedService.java
  14. 73 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/IXxpClassifySubjectService.java
  15. 68 3
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabSubjectManagerService.java
  16. 13 1
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabSubjectServiceImpl.java
  17. 13 1
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/XxpClassifyDetailedServiceImpl.java
  18. 4 3
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/XxpClassifyServiceImpl.java
  19. 100 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/XxpClassifySubjectServiceImpl.java
  20. 1 1
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/XxpCardInfoMapper.xml
  21. 17 2
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/XxpClassifyDetailMapper.xml
  22. 6 0
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/XxpClassifyMapper.xml
  23. 81 0
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/XxpClassifySubjectMapper.xml
  24. 19 10
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/XxpDutyMapper.xml

+ 11 - 0
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/entity/LabSubjectControllerVO.java

@@ -2,6 +2,7 @@ package com.zd.laboratory.api.entity;
 
 
 import com.fasterxml.jackson.annotation.JsonInclude;
+import com.zd.laboratory.api.vo.ClassifyVO;
 import com.zd.laboratory.api.vo.HardwareCVO;
 import com.zd.laboratory.api.vo.LabRiskVO;
 import com.zd.laboratory.api.vo.SenseValVO;
@@ -64,6 +65,8 @@ public class LabSubjectControllerVO extends LabSubjectEntity {
     @ApiModelProperty("预案数据")
     private List<LabRiskVO> riskPlanList;
 
+    private List<ClassifyVO>  classifyList;
+
     /**
      * 实验室类型ID
      */
@@ -418,4 +421,12 @@ public class LabSubjectControllerVO extends LabSubjectEntity {
     public void setRiskPlanList(List<LabRiskVO> riskPlanList) {
         this.riskPlanList = riskPlanList;
     }
+
+    public List<ClassifyVO> getClassifyList() {
+        return classifyList;
+    }
+
+    public void setClassifyList(List<ClassifyVO> classifyList) {
+        this.classifyList = classifyList;
+    }
 }

+ 31 - 0
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/vo/ClassifyDetailVO.java

@@ -0,0 +1,31 @@
+package com.zd.laboratory.api.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: xxf
+ * @Date: 2023/03/29/11:14
+ * @Description:
+ */
+@Data
+public class ClassifyDetailVO {
+
+    /** 主键 */
+    private Long id;
+
+    /** 类目表主键 */
+
+    private Long infoClassifyId;
+
+    /** 信息名称  */
+    private String infoName;
+
+
+    /** 类型 1文字 2图片*/
+    private Integer infoType;
+
+    /** 内容 */
+    private String infoContent;
+
+
+}

+ 28 - 0
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/vo/ClassifyVO.java

@@ -0,0 +1,28 @@
+package com.zd.laboratory.api.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author: xxf
+ * @Date: 2023/03/29/11:06
+ * @Description:
+ */
+@Data
+public class ClassifyVO {
+
+    /** 主键 */
+    private Long id;
+
+    /** 类目名称 */
+    private String classifyName;
+
+    /** 类目类型 1文字 2图片 */
+    private Integer classifyType;
+
+    /**公共类目**/
+    private List<ClassifyDetailVO> publicList;
+    /***私有类目**/
+    private List<ClassifyDetailVO> privateList;
+}

+ 42 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabXxpClassifyController.java

@@ -6,14 +6,18 @@ import com.zd.common.core.exception.NoRollException;
 import com.zd.common.core.log.BusinessType;
 import com.zd.common.core.security.TokenService;
 import com.zd.common.core.utils.ExcelUtil;
+import com.zd.common.core.utils.StringUtils;
 import com.zd.common.core.web.controller.BaseController;
 import com.zd.laboratory.domain.LabWhiteJoinSublist;
 import com.zd.laboratory.domain.LabWhitelist;
 import com.zd.laboratory.domain.XxpClassify;
+import com.zd.laboratory.domain.XxpClassifyDetail;
 import com.zd.laboratory.domain.vo.LabSubjectVO;
 import com.zd.laboratory.domain.vo.LabWhitelistVO;
+import com.zd.laboratory.domain.vo.XxpClassifyDetailVO;
 import com.zd.laboratory.service.ILabWhiteJoinSublistService;
 import com.zd.laboratory.service.ILabWhitelistService;
+import com.zd.laboratory.service.IXxpClassifyDetailedService;
 import com.zd.laboratory.service.IXxpClassifyService;
 import com.zd.laboratory.service.impl.HaiKangDoorService;
 import com.zd.model.constant.HttpStatus;
@@ -48,6 +52,9 @@ public class LabXxpClassifyController extends BaseController
     private IXxpClassifyService xxpClassifyService;
 
     @Autowired
+    private IXxpClassifyDetailedService xxpClassifyDetailedService;
+
+    @Autowired
     private TokenService tokenService;
 
     /**
@@ -66,6 +73,41 @@ public class LabXxpClassifyController extends BaseController
     }
 
     /**
+     * 查询信息牌类目列表-无权限-实验室编辑使用
+     */
+    @GetMapping("/listSub")
+    public TableDataInfo<XxpClassify> listSub(XxpClassifyDetailVO detailVO)
+    {
+        // 显示的
+        XxpClassify cfy = new XxpClassify();
+        //展示的数据
+        cfy.setIsShow(1);
+        List<XxpClassify> list = xxpClassifyService.selectXxpClassifyList(cfy);
+        XxpClassifyDetailVO  publicCd= new XxpClassifyDetailVO();
+        XxpClassifyDetailVO  privateCd = new XxpClassifyDetailVO();
+        XxpClassifyDetailVO  normalCd = new XxpClassifyDetailVO();
+        for (XxpClassify classify:list) {
+
+            //查询非公共所有配置
+            normalCd.setIsCollective(1);
+            normalCd.setInfoClassifyId(classify.getId());
+            List<XxpClassifyDetailVO> normalList = xxpClassifyDetailedService.selectXxpClassifyDetailedList(normalCd);
+            classify.setNormalDetailList(normalList);
+
+            if(StringUtils.isNotNull(detailVO.getSubjectId())){
+                //查询私有配置
+                privateCd.setInfoClassifyId(classify.getId());
+                privateCd.setIsCollective(1);
+                privateCd.setSubjectId(detailVO.getSubjectId());
+                List<XxpClassifyDetailVO> privateList = xxpClassifyDetailedService.selectXxpClassifyDetailedByPara(privateCd);
+                classify.setPrivateDetailList(privateList);
+            }
+
+        }
+        return getDataTable(list);
+    }
+
+    /**
      * 导出信息牌类目列表
      */
     @ApiOperation(value = "导出信息牌类目列表")

+ 24 - 5
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabXxpClassifyDetailedController.java

@@ -8,7 +8,10 @@ import com.zd.common.core.utils.ExcelUtil;
 import com.zd.common.core.web.controller.BaseController;
 import com.zd.laboratory.domain.LabWhitelist;
 import com.zd.laboratory.domain.XxpClassifyDetail;
+import com.zd.laboratory.domain.XxpClassifySubject;
+import com.zd.laboratory.domain.vo.XxpClassifyDetailVO;
 import com.zd.laboratory.service.IXxpClassifyDetailedService;
+import com.zd.laboratory.service.IXxpClassifySubjectService;
 import com.zd.model.domain.ResultData;
 import com.zd.model.domain.per.PerFun;
 import com.zd.model.domain.per.PerPrefix;
@@ -39,16 +42,19 @@ public class LabXxpClassifyDetailedController extends BaseController
     @Autowired
     private TokenService tokenService;
 
+    @Autowired
+    private IXxpClassifySubjectService classifySubjectService;
+
     /**
      * 查询安全信息类目详情列表
      */
     @PreAuthorize(hasPermi = PerPrefix.LABORATORY_CLASSIFY_DET + PerFun.LIST)
     @GetMapping("/list")
     @ApiOperation(value = "查询安全信息类目详情列表")
-    public TableDataInfo<XxpClassifyDetail> list(XxpClassifyDetail classifyDetailed)
+    public TableDataInfo<XxpClassifyDetailVO> list(XxpClassifyDetailVO classifyDetailed)
     {
         startPage();
-        List<XxpClassifyDetail> list = classifyDetailedService.selectXxpClassifyDetailedList(classifyDetailed);
+        List<XxpClassifyDetailVO> list = classifyDetailedService.selectXxpClassifyDetailedList(classifyDetailed);
         return getDataTable(list);
     }
 
@@ -59,10 +65,10 @@ public class LabXxpClassifyDetailedController extends BaseController
     @PreAuthorize(hasPermi = PerPrefix.LABORATORY_CLASSIFY_DET + PerFun.EXPORT)
     @Log(title = "安全信息类目详情", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, XxpClassifyDetail classifyDetailed) throws IOException
+    public void export(HttpServletResponse response, XxpClassifyDetailVO classifyDetailed) throws IOException
     {
-        List<XxpClassifyDetail> list = classifyDetailedService.selectXxpClassifyDetailedList(classifyDetailed);
-        ExcelUtil<XxpClassifyDetail> util = new ExcelUtil<XxpClassifyDetail>(XxpClassifyDetail.class);
+        List<XxpClassifyDetailVO> list = classifyDetailedService.selectXxpClassifyDetailedList(classifyDetailed);
+        ExcelUtil<XxpClassifyDetailVO> util = new ExcelUtil<XxpClassifyDetailVO>(XxpClassifyDetailVO.class);
         util.exportExcel(response, list, "安全信息类目详情数据");
     }
 
@@ -130,4 +136,17 @@ public class LabXxpClassifyDetailedController extends BaseController
         return ResultData.result(classifyDetailedService.deleteXxpClassifyDetailedById(id));
     }
 
+
+    @PostMapping(value = "/addSub")
+    public ResultData addSub(@RequestBody XxpClassifySubject subject)
+    {
+        return ResultData.success(classifySubjectService.insertClassifySubject(subject));
+    }
+
+    @GetMapping(value = "/delSub")
+    public ResultData delSub(Long subjectId)
+    {
+        return ResultData.success(classifySubjectService.deleteBySubjectId(subjectId));
+    }
+
 }

+ 26 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/LabSubject.java

@@ -141,6 +141,16 @@ public class LabSubject extends BaseEntity implements QCInterface {
     //安全分类id
     private Long typeId;
 
+    /***
+     * 实验室安全类目关系集合
+     */
+    List<XxpClassifySubject> classifySubjectList;
+
+    /***
+     * 安全类目信息
+     */
+    List<XxpClassify> classifyList;
+
     /**
      * 是否查询安全用户
      */
@@ -601,4 +611,20 @@ public class LabSubject extends BaseEntity implements QCInterface {
     public void setDetails(String details) {
         this.details = details;
     }
+
+    public List<XxpClassifySubject> getClassifySubjectList() {
+        return classifySubjectList;
+    }
+
+    public void setClassifySubjectList(List<XxpClassifySubject> classifySubjectList) {
+        this.classifySubjectList = classifySubjectList;
+    }
+
+    public List<XxpClassify> getClassifyList() {
+        return classifyList;
+    }
+
+    public void setClassifyList(List<XxpClassify> classifyList) {
+        this.classifyList = classifyList;
+    }
 }

+ 1 - 1
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/XxpCardInfo.java

@@ -105,7 +105,7 @@ public class XxpCardInfo extends BaseEntity {
      */
     @Excel(name = "是否启用门锁")
     @ApiModelProperty(value = "是否启用门锁")
-    private String isStart;
+    private Integer isStart;
 
     /**
      * 创建人id

+ 13 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/XxpClassify.java

@@ -1,6 +1,7 @@
 package com.zd.laboratory.domain;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zd.laboratory.domain.vo.XxpClassifyDetailVO;
 import com.zd.model.annotation.Excel;
 import com.zd.model.entity.BaseEntity;
 import io.swagger.annotations.ApiModel;
@@ -11,6 +12,7 @@ import lombok.experimental.Accessors;
 import org.hibernate.validator.constraints.Length;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * 安全信息类目对象 xxp_classify
@@ -103,6 +105,17 @@ public class XxpClassify extends  BaseEntity
      */
     private String endTime;
 
+
+    /**
+     * 类目子项-实验室私有
+     */
+    List<XxpClassifyDetailVO> privateDetailList;
+
+    /**
+     * 非共有的所有子类
+     */
+    List<XxpClassifyDetailVO> normalDetailList;
+
     @Override
     public Long getUserId() {
         return userId;

+ 61 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/XxpClassifySubject.java

@@ -0,0 +1,61 @@
+package com.zd.laboratory.domain;
+
+import com.zd.model.annotation.Excel;
+import com.zd.model.entity.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+
+/**
+ * 实验室安全类目关系表 xxp_classify_subject
+ *
+ * @author xxf
+ * @date 2023-03-27
+ */
+@ApiModel("实验室安全类目关系表")
+@Data
+@Accessors(chain = true)
+@ToString(callSuper = true)
+public class XxpClassifySubject extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 实验室id
+     */
+    @Excel(name = "实验室id")
+    @ApiModelProperty(value = "实验室id")
+    private Long subjectId;
+
+    /**
+     * 类目id
+     */
+    @Excel(name = "类目id")
+    @ApiModelProperty(value = "类目id")
+    private Long classifyId;
+
+    /**
+     * 详情id
+     */
+    @Excel(name = "详情id")
+    @ApiModelProperty(value = "详情id")
+    private String classifyDetailId;
+
+    /***
+     * 开始时间
+     */
+    private String beginTime;
+
+    /***
+     * 结束时间
+     */
+    private String endTime;
+
+}

+ 17 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/vo/XxpClassifyDetailVO.java

@@ -0,0 +1,17 @@
+package com.zd.laboratory.domain.vo;
+
+import com.zd.laboratory.domain.XxpClassifyDetail;
+import lombok.Data;
+
+/**
+ * @Author: xxf
+ * @Date: 2023/03/28/17:38
+ * @Description:
+ */
+@Data
+public class XxpClassifyDetailVO extends XxpClassifyDetail {
+    /***
+     * 实验室id
+     */
+    private Long subjectId;
+}

+ 9 - 1
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/XxpClassifyDetailedMapper.java

@@ -1,6 +1,7 @@
 package com.zd.laboratory.mapper;
 
 import com.zd.laboratory.domain.XxpClassifyDetail;
+import com.zd.laboratory.domain.vo.XxpClassifyDetailVO;
 
 import java.util.List;
 
@@ -26,7 +27,7 @@ public interface XxpClassifyDetailedMapper
      * @param classifyDetailed 信息牌类目详情
      * @return 集合
      */
-    public List<XxpClassifyDetail> selectXxpClassifyDetailedList(XxpClassifyDetail classifyDetailed);
+    public List<XxpClassifyDetailVO> selectXxpClassifyDetailedList(XxpClassifyDetailVO classifyDetailed);
 
 
     /**
@@ -60,4 +61,11 @@ public interface XxpClassifyDetailedMapper
      * @return 结果
      */
     public int deleteXxpClassifyDetailedByIds(Long[] ids);
+
+    /**
+     * 查询实验室下的类目配置
+     * @param classifyDetailVO
+     * @return
+     */
+    public List<XxpClassifyDetailVO> selectXxpClassifyDetailedByPara(XxpClassifyDetailVO classifyDetailVO);
 }

+ 72 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/XxpClassifySubjectMapper.java

@@ -0,0 +1,72 @@
+package com.zd.laboratory.mapper;
+
+import com.zd.laboratory.domain.XxpClassifySubject;
+import com.zd.laboratory.domain.vo.XxpDutyVO;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 实验室安全类目关系表 Mapper接口
+ *
+ * @author xxf
+ * @date 2023-03-22
+ */
+public interface XxpClassifySubjectMapper
+{
+    /**
+     * 查询
+     *
+     * @param id 主键
+     * @return 值班信息
+     */
+    public XxpClassifySubject selectClassifySubjectById(Long id);
+
+    /**
+     * 查询列表
+     *
+     * @param XxpClassifySubject 值班信息
+     * @return 白名单集合
+     */
+    public List<XxpClassifySubject> selectClassifySubjectList(XxpClassifySubject XxpClassifySubject);
+
+
+    /**
+     * 新增值班信息
+     *
+     * @param XxpClassifySubject 值班信息
+     * @return 结果
+     */
+    public int insertClassifySubject(XxpClassifySubject XxpClassifySubject);
+
+    /**
+     * 修改
+     *
+     * @param XxpClassifySubject 值班信息
+     * @return 结果
+     */
+    public int updateClassifySubject(XxpClassifySubject XxpClassifySubject);
+
+    /**
+     * 删除
+     *
+     * @param subjectId 主键
+     * @return 结果
+     */
+    public int deleteClassifySubjectById(Long subjectId);
+
+    /**
+     * 批量删除
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteClassifySubjectByIds(Long[] ids);
+
+    /***
+     * 根据实验室id删除
+     * @param subjectId
+     * @return
+     */
+    public int deleteBySubjectId(Long subjectId);
+}

+ 9 - 1
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/IXxpClassifyDetailedService.java

@@ -1,6 +1,7 @@
 package com.zd.laboratory.service;
 
 import com.zd.laboratory.domain.XxpClassifyDetail;
+import com.zd.laboratory.domain.vo.XxpClassifyDetailVO;
 
 import java.util.List;
 
@@ -26,7 +27,7 @@ public interface IXxpClassifyDetailedService
      * @param classifyDetail 安全信息类目详情
      * @return 安全信息类目详情集合
      */
-    public List<XxpClassifyDetail> selectXxpClassifyDetailedList(XxpClassifyDetail classifyDetail);
+    public List<XxpClassifyDetailVO> selectXxpClassifyDetailedList(XxpClassifyDetailVO classifyDetail);
 
 
 
@@ -63,4 +64,11 @@ public interface IXxpClassifyDetailedService
      * @return 结果
      */
     public int deleteXxpClassifyDetailedById(Long id);
+
+    /**
+     * 查询实验室下的类目配置
+     * @param classifyDetailVO
+     * @return
+     */
+    public List<XxpClassifyDetailVO> selectXxpClassifyDetailedByPara(XxpClassifyDetailVO classifyDetailVO);
 }

+ 73 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/IXxpClassifySubjectService.java

@@ -0,0 +1,73 @@
+package com.zd.laboratory.service;
+
+import com.zd.laboratory.domain.XxpClassifySubject;
+import java.util.List;
+
+/**
+ * 值班 Service接口
+ *
+ * @author zd
+ * @date 2022-01-26
+ */
+public interface IXxpClassifySubjectService
+{
+    /**
+     * 查询值班
+     *
+     * @param id 值班主键
+     * @return 值班
+     */
+    public XxpClassifySubject  selectClassifySubjectById(Long id);
+
+    /**
+     * 查询值班列表
+     *
+     * @param classifySubject 值班
+     * @return 值班集合
+     */
+    public List<XxpClassifySubject> selectClassifySubjectList(XxpClassifySubject classifySubject);
+
+
+
+    /**
+     * 新增值班
+     *
+     * @param classifySubject 值班
+     * @return 结果
+     */
+    public int insertClassifySubject(XxpClassifySubject classifySubject);
+
+
+
+    /**
+     * 修改值班
+     *
+     * @param classifySubject 值班
+     * @return 结果
+     */
+    public int updateClassifySubject(XxpClassifySubject classifySubject);
+
+    /**
+     * 批量删除值班
+     *
+     * @param ids 需要删除的值班主键集合
+     * @return 结果
+     */
+    public int deleteClassifySubjectByIds(Long[] ids);
+
+    /**
+     * 删除值班信息
+     *
+     * @param id 值班主键
+     * @return 结果
+     */
+    public int deleteClassifySubjectById(Long id);
+
+    /***
+     * 根据实验室id删除
+     * @param subjectId
+     * @return
+     */
+    public int deleteBySubjectId(Long subjectId);
+
+}

+ 68 - 3
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabSubjectManagerService.java

@@ -14,9 +14,7 @@ import com.zd.common.core.utils.DictUtils;
 import com.zd.common.core.utils.PageHelperUtil;
 import com.zd.common.core.utils.SecurityUtils;
 import com.zd.laboratory.api.entity.*;
-import com.zd.laboratory.api.vo.HardwareCVO;
-import com.zd.laboratory.api.vo.LabSubClassVO;
-import com.zd.laboratory.api.vo.SenseValVO;
+import com.zd.laboratory.api.vo.*;
 import com.zd.laboratory.config.HardwareFunctionStatusConfig;
 import com.zd.laboratory.config.TimeWaitConfigUtils;
 import com.zd.laboratory.domain.*;
@@ -103,6 +101,11 @@ public class LabSubjectManagerService {
     @Autowired
     private RemoteChemicalService remoteChemicalService;
 
+    @Autowired
+    private IXxpClassifyService classifyService;
+    @Autowired
+    private IXxpClassifyDetailedService classifyDetailedService;
+
     private Map<ControlEntity.CommTypeEnums, ControlService> controlServiceMap = new HashMap<>();
 
     /**
@@ -686,12 +689,74 @@ public class LabSubjectManagerService {
                 subjectControllerVO.setRiskPlanList(labRiskPlanMapper.selectRiskPlanCountBySubId(subjectControllerVO.getId()));
             }
 
+
+            subjectControllerVO.setClassifyList(getSubClassify(id));
             return subjectControllerVO;
         }
 
         throw new ServiceException("未查询到数据,ID无效!");
     }
 
+    /***
+     * 查询实验室下的安全类目信息
+     * @param subJectId
+     * @return
+     */
+    public List<ClassifyVO> getSubClassify(Long subJectId){
+        List<ClassifyVO> classifyVOList = new ArrayList<>();
+        try {
+            //查询所有有效类目配置
+            XxpClassify classify = new XxpClassify();
+            classify.setIsShow(1);
+            classify.setIsSpecial(1);
+            classify.setRemark("sort");
+            List<XxpClassify> classifyList = classifyService.selectXxpClassifyList(classify);
+            for (XxpClassify xcf:classifyList) {
+                ClassifyVO classifyVO = new ClassifyVO();
+                classifyVO.setId(xcf.getId());
+                classifyVO.setClassifyName(xcf.getClassifyName());
+                classifyVO.setClassifyType(xcf.getClassifyType());
+                classifyVOList.add(classifyVO);
+
+                //查询公共配置
+                XxpClassifyDetailVO detailVO = new XxpClassifyDetailVO();
+                detailVO.setInfoClassifyId(xcf.getId());
+                detailVO.setIsCollective(1);
+                //类目下公共所有子项类目
+                List<XxpClassifyDetailVO> allDetailList= classifyDetailedService.selectXxpClassifyDetailedList(detailVO);
+                List<ClassifyDetailVO> showPublickList= new ArrayList<>();
+                for (XxpClassifyDetailVO vo:allDetailList ) {
+                    ClassifyDetailVO detailVO1 = new ClassifyDetailVO();
+                    detailVO1.setId(vo.getId());
+                    detailVO1.setInfoClassifyId(vo.getInfoClassifyId());
+                    detailVO1.setInfoName(vo.getInfoName());
+                    detailVO1.setInfoType(vo.getInfoType());
+                    detailVO1.setInfoContent(vo.getInfoContent());
+                    showPublickList.add(detailVO1);
+                }
+
+                detailVO.setSubjectId(subJectId);
+                //实验室私有配置类目
+                List<XxpClassifyDetailVO> detailVOList= classifyDetailedService.selectXxpClassifyDetailedByPara(detailVO);
+                List<ClassifyDetailVO> showprivateList = new ArrayList<>();
+                for (XxpClassifyDetailVO vo:detailVOList) {
+                    ClassifyDetailVO classifyDetailVO = new ClassifyDetailVO();
+                    classifyDetailVO.setId(vo.getId());
+                    classifyDetailVO.setInfoClassifyId(vo.getInfoClassifyId());
+                    classifyDetailVO.setInfoName(vo.getInfoName());
+                    classifyDetailVO.setInfoType(vo.getInfoType());
+                    classifyDetailVO.setInfoContent(vo.getInfoContent());
+                    showprivateList.add(classifyDetailVO);
+                }
+
+                classifyVO.setPrivateList(showprivateList);
+                classifyVO.setPublicList(showPublickList);
+            }
+        }catch (Exception e){
+            logger.info("查询实验室下的安全类目信息异常:"+e);
+        }
+        return classifyVOList;
+    }
     /**
      * 查询我管理的实验室-即我作为负责人的实验室
      *

+ 13 - 1
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabSubjectServiceImpl.java

@@ -9,6 +9,7 @@ import com.zd.laboratory.api.vo.LabSubClassVO;
 import com.zd.laboratory.domain.LabHazardSubjectRelation;
 import com.zd.laboratory.domain.LabQpSubjectRelation;
 import com.zd.laboratory.domain.LabSubject;
+import com.zd.laboratory.domain.XxpClassifySubject;
 import com.zd.laboratory.domain.vo.LabClassifiedVo;
 import com.zd.laboratory.domain.vo.LabClasstypeVo;
 import com.zd.laboratory.domain.vo.LabSubjectVO;
@@ -17,6 +18,7 @@ import com.zd.laboratory.mapper.LabQpSubjectRelationMapper;
 import com.zd.laboratory.mapper.LabSubjectMapper;
 import com.zd.laboratory.service.ILabHazardSubjectRelationService;
 import com.zd.laboratory.service.ILabSubjectService;
+import com.zd.laboratory.service.IXxpClassifySubjectService;
 import com.zd.model.constant.SecurityConstants;
 import com.zd.model.constant.UserConstants;
 import com.zd.model.domain.R;
@@ -53,6 +55,8 @@ public class LabSubjectServiceImpl implements ILabSubjectService {
     private LabHazardSubjectRelationMapper labHazardSubjectRelationMapper;
     @Autowired
     private LabQpSubjectRelationMapper labQpSubjectRelationMapper;
+    @Autowired
+    private IXxpClassifySubjectService classifySubjectService;
     /**
      * 查询实验室
      *
@@ -210,7 +214,15 @@ public class LabSubjectServiceImpl implements ILabSubjectService {
 //            labHazardSubjectRelationMapper.deleteBySubId(labSubject.getId());
 //        }
 
-
+        List<XxpClassifySubject> classifySubjectList = labSubject.getClassifySubjectList();
+        if(classifySubjectList!=null && classifySubjectList.size()>0){
+            //删除关系
+            classifySubjectService.deleteBySubjectId(labSubject.getId());
+        }
+        //安全类目关系入库
+        for (XxpClassifySubject cs:classifySubjectList) {
+            classifySubjectService.insertClassifySubject(cs);
+        }
         return labSubjectMapper.updateLabSubject(labSubject);
     }
 

+ 13 - 1
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/XxpClassifyDetailedServiceImpl.java

@@ -4,6 +4,7 @@ import com.zd.common.core.exception.ServiceException;
 import com.zd.common.core.security.TokenService;
 import com.zd.common.core.utils.StringUtils;
 import com.zd.laboratory.domain.XxpClassifyDetail;
+import com.zd.laboratory.domain.vo.XxpClassifyDetailVO;
 import com.zd.laboratory.mapper.XxpClassifyDetailedMapper;
 import com.zd.laboratory.service.IXxpClassifyDetailedService;
 import com.zd.model.entity.SysUser;
@@ -47,7 +48,7 @@ public class XxpClassifyDetailedServiceImpl implements IXxpClassifyDetailedServi
      * @return 安全信息类目详情集合
      */
     @Override
-    public List<XxpClassifyDetail> selectXxpClassifyDetailedList(XxpClassifyDetail classifyDetailed) {
+    public List<XxpClassifyDetailVO> selectXxpClassifyDetailedList(XxpClassifyDetailVO classifyDetailed) {
         return classifyDetailedMapper.selectXxpClassifyDetailedList(classifyDetailed);
     }
 
@@ -104,4 +105,15 @@ public class XxpClassifyDetailedServiceImpl implements IXxpClassifyDetailedServi
     public int deleteXxpClassifyDetailedById(Long id) {
         return classifyDetailedMapper.deleteXxpClassifyDetailedById(id);
     }
+
+    /**
+     * 查询实验室下的类目配置
+     *
+     * @param classifyDetailVO
+     * @return
+     */
+    @Override
+    public List<XxpClassifyDetailVO> selectXxpClassifyDetailedByPara(XxpClassifyDetailVO classifyDetailVO) {
+        return classifyDetailedMapper.selectXxpClassifyDetailedByPara(classifyDetailVO);
+    }
 }

+ 4 - 3
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/XxpClassifyServiceImpl.java

@@ -9,6 +9,7 @@ import com.zd.laboratory.domain.LabWhitelist;
 import com.zd.laboratory.domain.XxpClassify;
 import com.zd.laboratory.domain.XxpClassifyDetail;
 import com.zd.laboratory.domain.vo.LabWhitelistVO;
+import com.zd.laboratory.domain.vo.XxpClassifyDetailVO;
 import com.zd.laboratory.mapper.LabWhiteJoinSublistMapper;
 import com.zd.laboratory.mapper.LabWhitelistMapper;
 import com.zd.laboratory.mapper.XxpClassifyDetailedMapper;
@@ -130,10 +131,10 @@ public class XxpClassifyServiceImpl implements IXxpClassifyService
      * @param classifyId
      * @return
      */
-    public List<XxpClassifyDetail> delCheck(Long classifyId){
-        XxpClassifyDetail detail = new XxpClassifyDetail();
+    public List<XxpClassifyDetailVO> delCheck(Long classifyId){
+        XxpClassifyDetailVO detail = new XxpClassifyDetailVO();
         detail.setInfoClassifyId(classifyId);
-        List<XxpClassifyDetail> list = detailedMapper.selectXxpClassifyDetailedList(detail);
+        List<XxpClassifyDetailVO> list = detailedMapper.selectXxpClassifyDetailedList(detail);
         return list;
     }
 }

+ 100 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/XxpClassifySubjectServiceImpl.java

@@ -0,0 +1,100 @@
+package com.zd.laboratory.service.impl;
+
+import com.zd.common.core.security.TokenService;
+import com.zd.laboratory.domain.XxpClassifySubject;
+import com.zd.laboratory.mapper.XxpClassifySubjectMapper;
+import com.zd.laboratory.service.IXxpClassifySubjectService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 值班Service业务层处理
+ *
+ * @author zd
+ * @date 2022-01-26
+ */
+@Service
+public class XxpClassifySubjectServiceImpl implements IXxpClassifySubjectService
+{
+    @Autowired
+    private XxpClassifySubjectMapper classifySubjectMapper;
+
+    @Autowired
+    private TokenService tokenService;
+
+
+    /**
+     * 查询值班
+     *
+     * @param id 值班主键
+     * @return 值班
+     */
+    @Override
+    public XxpClassifySubject selectClassifySubjectById(Long id) {
+        return classifySubjectMapper.selectClassifySubjectById(id);
+    }
+
+    /**
+     * 查询值班列表
+     *
+     * @param classifySubject@return 值班集合
+     */
+    @Override
+    public List<XxpClassifySubject> selectClassifySubjectList(XxpClassifySubject classifySubject) {
+        return classifySubjectMapper.selectClassifySubjectList(classifySubject);
+    }
+
+    /**
+     * 新增值班
+     *
+     * @param classifySubject@return 结果
+     */
+    @Override
+    public int insertClassifySubject(XxpClassifySubject classifySubject) {
+        return classifySubjectMapper.insertClassifySubject(classifySubject);
+    }
+
+    /**
+     * 修改值班
+     *
+     * @param classifySubject@return 结果
+     */
+    @Override
+    public int updateClassifySubject(XxpClassifySubject classifySubject) {
+        return classifySubjectMapper.updateClassifySubject(classifySubject);
+    }
+
+    /**
+     * 批量删除值班
+     *
+     * @param ids 需要删除的值班主键集合
+     * @return 结果
+     */
+    @Override
+    public int deleteClassifySubjectByIds(Long[] ids) {
+        return classifySubjectMapper.deleteClassifySubjectByIds(ids);
+    }
+
+    /**
+     * 删除值班信息
+     *
+     * @param id 值班主键
+     * @return 结果
+     */
+    @Override
+    public int deleteClassifySubjectById(Long id) {
+        return classifySubjectMapper.deleteClassifySubjectById(id);
+    }
+
+    /***
+     * 根据实验室id删除
+     * @param subjectId
+     * @return
+     */
+    @Override
+    public int deleteBySubjectId(Long subjectId) {
+        return classifySubjectMapper.deleteBySubjectId(subjectId);
+    }
+}

+ 1 - 1
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/XxpCardInfoMapper.xml

@@ -29,7 +29,7 @@
                card_name,
                card_num,
                college,
-               college_id
+               college_id,
                location,
                operate,
                subject_id,

+ 17 - 2
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/XxpClassifyDetailMapper.xml

@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zd.laboratory.mapper.XxpClassifyDetailedMapper">
 
-    <resultMap type="com.zd.laboratory.domain.XxpClassifyDetail" id="XxpClassifyDetailedResult">
+    <resultMap type="com.zd.laboratory.domain.vo.XxpClassifyDetailVO" id="XxpClassifyDetailedResult">
         <result property="id" column="id"/>
         <result property="infoClassifyId" column="info_classify_id"/>
         <result property="infoName" column="info_name"/>
@@ -35,7 +35,7 @@
         from xxp_classify_detail t
     </sql>
 
-    <select id="selectXxpClassifyDetailedList" parameterType="com.zd.laboratory.domain.XxpClassifyDetail"
+    <select id="selectXxpClassifyDetailedList" parameterType="com.zd.laboratory.domain.vo.XxpClassifyDetailVO"
             resultMap="XxpClassifyDetailedResult">
         <include refid="selectXxpClassifyDetailed"/>
         <where>
@@ -136,4 +136,19 @@
             #{id}
         </foreach>
     </delete>
+
+    <select id="selectXxpClassifyDetailedByPara" parameterType="com.zd.laboratory.domain.vo.XxpClassifyDetailVO"
+            resultType="com.zd.laboratory.domain.vo.XxpClassifyDetailVO">
+        select d.id, d.info_classify_id, d.info_content,d.info_name,d.info_type
+        from xxp_classify_subject s
+                 LEFT JOIN xxp_classify c on s.classify_id = c.id
+                 LEFT JOIN xxp_classify_detail d on s.classify_detail_id = d.id
+        <where>
+        <if test="infoClassifyId != null ">and d.info_classify_id = #{infoClassifyId}</if>
+        <if test="isCollective != null ">and d.is_collective = #{isCollective}</if>
+        <if test="subjectId != null ">and s.subject_id = #{subjectId}</if>
+        </where>
+    </select>
+
+
 </mapper>

+ 6 - 0
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/XxpClassifyMapper.xml

@@ -56,6 +56,12 @@
             <if test="endTime != null ">
                 and t.create_time &lt;= str_to_date(#{endTime}, '%Y-%m-%d')
             </if>
+            <if test="remark == 'time' ">
+                order by t.create_time desc
+            </if>
+            <if test="remark == 'sort' ">
+                order by t.sort
+            </if>
         </where>
     </select>
 

+ 81 - 0
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/XxpClassifySubjectMapper.xml

@@ -0,0 +1,81 @@
+<?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.zd.laboratory.mapper.XxpClassifySubjectMapper">
+
+    <resultMap type="com.zd.laboratory.domain.XxpClassifySubject" id="XxpClassifySubjectResult">
+        <result property="id" column="id"/>
+        <result property="subjectId" column="subject_id"/>
+        <result property="classifyId" column="classify_id"/>
+        <result property="classifyDetailId" column="classify_detail_id"/>
+    </resultMap>
+
+    <sql id="selectClassifySubject">
+        select t.id,
+               t.subject_id,
+               t.classify_id,
+               t.classify_detail_id
+        from xxp_classify_subject t
+    </sql>
+
+    <select id="selectClassifySubjectList" parameterType="com.zd.laboratory.domain.XxpClassifySubject"
+            resultMap="XxpClassifySubjectResult">
+        <include refid="selectClassifySubject"/>
+        <where>
+            <if test="subjectId != null ">and t.subject_id = #{subjectId}</if>
+            <if test="classifyId != null ">and t.classify_id = #{classifyId}</if>
+            <if test="classifyDetailId != null ">and t.classify_detail_id = #{classifyDetailId}</if>
+        </where>
+    </select>
+
+    <select id="selectClassifySubjectById" resultMap="XxpClassifySubjectResult">
+        <include refid="selectClassifySubject"/>
+        where t.id = #{id}
+    </select>
+
+    <insert id="insertClassifySubject" parameterType="com.zd.laboratory.domain.XxpClassifySubject">
+        insert into xxp_classify_subject
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="subjectId != null">subject_id,</if>
+            <if test="classifyId != null">classify_id,</if>
+            <if test="classifyDetailId != null">classify_detail_id,</if>
+
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="subjectId != null">#{subjectId},</if>
+            <if test="classifyId != null">#{classifyId},</if>
+            <if test="classifyDetailId != null">#{classifyDetailId},</if>
+        </trim>
+    </insert>
+
+    <update id="updateClassifySubject" parameterType="com.zd.laboratory.domain.XxpClassifySubject">
+        update xxp_classify_subject
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="subjectId != null">subject_id = #{subjectId},</if>
+            <if test="classifyId != null">classify_id = #{classifyId},</if>
+            <if test="classifyDetailId != null">classify_detail_id = #{classifyDetailId},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteClassifySubjectById">
+        delete
+        from xxp_classify_subject
+        where id = #{id}
+    </delete>
+
+    <delete id="deleteClassifySubjectByIds">
+        delete from xxp_classify_subject where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+    <delete id="deleteBySubjectId">
+        delete
+        from xxp_classify_subject
+        where subject_id = #{SubjectId}
+    </delete>
+
+</mapper>

+ 19 - 10
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/XxpDutyMapper.xml

@@ -52,7 +52,9 @@
             <if test="userType != null ">and t.user_type = #{userType}</if>
             <if test="subjectId != null ">and t.subject_id = #{subjectId}</if>
             <if test="subjectName != null and subjectName != '' ">and t.subject_name = #{subjectName}</if>
-            <if test="deptId != null ">and ( t.dept_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId} ,ancestors )) or t.dept_id = #{deptId} )</if>
+            <if test="deptId != null ">and ( t.dept_id in (SELECT dt.dept_id FROM sys_dept dt WHERE
+                find_in_set(#{deptId} ,ancestors )) or t.dept_id = #{deptId} )
+            </if>
             <if test="deptName != null ">and t.dept_name = #{deptName}</if>
             <if test="college != null ">and t.college = #{college}</if>
             <if test="dutyTime != null  ">and t.duty_time =#{dutyTime}</if>
@@ -143,15 +145,19 @@
         </foreach>
     </delete>
 
-    <select id="selectDutyYmdById" parameterType="com.zd.laboratory.domain.XxpDuty" resultType="com.zd.laboratory.domain.vo.XxpDutyVO">
+    <select id="selectDutyYmdById" parameterType="com.zd.laboratory.domain.XxpDuty"
+            resultType="com.zd.laboratory.domain.vo.XxpDutyVO">
         select t1.duty_time
         from (
-                 select t.duty_time
-                 from xxp_duty t
-                 where t.duty_time &gt;= str_to_date(#{beginTime}, '%Y-%m-%d')
-                   and t.duty_time &lt;= str_to_date(#{endTime}, '%Y-%m-%d')
-                 GROUP BY t.duty_time
-             ) t1
+        select t.duty_time
+        from xxp_duty t
+        where t.duty_time &gt;= str_to_date(#{beginTime}, '%Y-%m-%d')
+        and t.duty_time &lt;= str_to_date(#{endTime}, '%Y-%m-%d')
+        <if test="deptId != null ">and ( t.dept_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId}
+            ,ancestors )) or t.dept_id = #{deptId} )
+        </if>
+        GROUP BY t.duty_time
+        ) t1
     </select>
 
     <select id="selectSubAndUserSum" resultType="com.zd.laboratory.domain.vo.XxpDutyVO" parameterType="java.util.Date">
@@ -169,10 +175,13 @@
              ) t
     </select>
 
-    <select id="selectInfoByDate" parameterType="com.zd.laboratory.domain.XxpDuty" resultType="com.zd.laboratory.domain.vo.XxpDutyVO">
+    <select id="selectInfoByDate" parameterType="com.zd.laboratory.domain.XxpDuty"
+            resultType="com.zd.laboratory.domain.vo.XxpDutyVO">
         select subject_id,subject_name from xxp_duty t
         where t.duty_time=#{dutyTime}
-        <if test="deptId != null ">and ( t.dept_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId} ,ancestors )) or t.dept_id = #{deptId} )</if>
+        <if test="deptId != null ">and ( t.dept_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId}
+            ,ancestors )) or t.dept_id = #{deptId} )
+        </if>
         GROUP BY t.subject_id, t.subject_name
     </select>