Explorar o código

Merge remote-tracking branch 'origin/dev' into dev

donggaosheng %!s(int64=2) %!d(string=hai) anos
pai
achega
7607e5d9e4
Modificáronse 27 ficheiros con 289 adicións e 16 borrados
  1. 8 0
      zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/feign/RemoteLaboratoryService.java
  2. 10 0
      zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/feign/fallback/RemoteLaboratoryFallbackFactory.java
  3. 10 0
      zd-model/src/main/java/com/zd/model/entity/SysUser.java
  4. 1 1
      zd-modules/zd-algorithm/src/main/java/com/zd/alg/forward/serivce/CheckService.java
  5. 15 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabSecurityApplyController.java
  6. 9 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabSubMangerV2Controller.java
  7. 14 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabWhitelistController.java
  8. 1 1
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabXxpClassifyController.java
  9. 2 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabXxpInspectionController.java
  10. 16 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/bigview/BigViewController.java
  11. 12 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/SubDiyVO.java
  12. 14 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabCheckOptionMapper.java
  13. 3 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabWhiteJoinSublistMapper.java
  14. 2 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabWhitelistMapper.java
  15. 14 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabCheckOptionService.java
  16. 2 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabWhitelistService.java
  17. 22 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabCheckOptionServiceImpl.java
  18. 1 1
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabSubjectManagerService.java
  19. 5 0
      zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabWhitelistServiceImpl.java
  20. 33 0
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabCheckOptionMapper.xml
  21. 5 1
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabSecurityApplyMapper.xml
  22. 12 2
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabSubjectMapper.xml
  23. 11 0
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabWhitelistMapper.xml
  24. 13 6
      zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/XxpInspectionMapper.xml
  25. 30 1
      zd-modules/zd-modules-system/src/main/java/com/zd/system/controller/SysUserController.java
  26. 2 1
      zd-modules/zd-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml
  27. 22 2
      zd-modules/zd-modules-system/src/main/resources/mapper/system/SysUserMapper.xml

+ 8 - 0
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/feign/RemoteLaboratoryService.java

@@ -499,4 +499,12 @@ public interface RemoteLaboratoryService {
     @ApiOperation(value = "根据实验室id查询实验室位置信息")
     @PostMapping("/buildFloorLayout/getPositionBySubId")
     ResultData getPositionBySubId(@RequestParam("subIds") String subIds);
+
+    @ApiOperation(value = "根据用户id查询用户关联的白名单实验室")
+    @GetMapping("/whitelist/subWhiteList")
+    ResultData getWhiteSubList(@RequestParam("userId") Long userId);
+
+    @ApiOperation(value = "根据用户id查询用户关联的未过期的安全准入实验室")
+    @GetMapping("/apply/getApplySubList")
+    ResultData getApplySubList(@RequestParam("userId") Long userId);
 }

+ 10 - 0
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/feign/fallback/RemoteLaboratoryFallbackFactory.java

@@ -460,6 +460,16 @@ public class RemoteLaboratoryFallbackFactory implements FallbackFactory<RemoteLa
             public ResultData getPositionBySubId(String subIds) {
                 return ResultData.fail("查询实验室位置信息失败!"+ cause.getMessage());
             }
+
+            @Override
+            public ResultData getWhiteSubList(Long userId) {
+                return ResultData.fail("根据用户id查询用户关联的白名单实验室失败!"+ cause.getMessage());
+            }
+
+            @Override
+            public ResultData getApplySubList(Long userId) {
+                return ResultData.fail("根据用户id查询用户关联的安全准入实验室失败!"+ cause.getMessage());
+            }
         };
     }
 }

+ 10 - 0
zd-model/src/main/java/com/zd/model/entity/SysUser.java

@@ -282,6 +282,8 @@ public class SysUser extends BaseEntity implements Serializable {
      * */
     private List<Long> deptIds;
 
+    private List<Long> subjectIds;
+
     private boolean include = false;
 
     private List<Object> permitMenus = new ArrayList<>();
@@ -724,4 +726,12 @@ public class SysUser extends BaseEntity implements Serializable {
     public void setCardNumSimple(String cardNumSimple) {
         this.cardNumSimple = cardNumSimple;
     }
+
+    public List<Long> getSubjectIds() {
+        return subjectIds;
+    }
+
+    public void setSubjectIds(List<Long> subjectIds) {
+        this.subjectIds = subjectIds;
+    }
 }

+ 1 - 1
zd-modules/zd-algorithm/src/main/java/com/zd/alg/forward/serivce/CheckService.java

@@ -287,7 +287,7 @@ public class CheckService {
                 //是否验证通过
                 //if(!algorithmData.getBoolean("is_alert") && objects.size()>0){
                 //算法厂家技术人员前期要添加objects判断精准性,后面对接人员要让去掉对objects的判断
-                if (!algorithmData.getBoolean("is_alert")) {
+                if (!algorithmData.getBoolean("is_alert") && !objects.isEmpty()) {
                     //不报警,代表验证通过
                     responseResult.setIsPass(Boolean.TRUE);
                 } else {

+ 15 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabSecurityApplyController.java

@@ -808,6 +808,21 @@ public class LabSecurityApplyController extends BaseController
         return ResultData.success(list);
     }
 
+    /***
+     * 未过期的安全准入-值班使用
+     * @param userId
+     * @return
+     */
+    @RequestMapping("/getApplySubList")
+    @ApiOperation(value = "查询安全准入未过期列表")
+    public ResultData getUserApplySubList(Long userId)
+    {
+        LabSecurityApply securityApply = new LabSecurityApply();
+        securityApply.setUserId(userId);
+        List<LabSecurityApply> list = labSecurityApplyService.selectValidApply(securityApply);
+        return ResultData.success(list);
+    }
+
     /**
      * 电子信息牌获取准入人员的指纹信息列表
      * @param labId

+ 9 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabSubMangerV2Controller.java

@@ -4,6 +4,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
 import com.zd.common.core.security.TokenService;
 import com.zd.common.core.web.controller.BaseController;
 import com.zd.common.swagger.config.Knife4jConfiguration;
+import com.zd.laboratory.api.vo.ClassifyVO;
 import com.zd.laboratory.domain.AdminWranCount;
 import com.zd.laboratory.domain.LabSubject;
 import com.zd.laboratory.domain.SubDiyVO;
@@ -11,6 +12,7 @@ import com.zd.laboratory.domain.dto.LabSubListQuery;
 import com.zd.laboratory.domain.vo.LabRiskPlanAbnormalLogVO;
 import com.zd.laboratory.service.ILabRiskPlanAbnormalLogService;
 import com.zd.laboratory.service.ILabSubjectService;
+import com.zd.laboratory.service.impl.LabSubjectManagerService;
 import com.zd.laboratory.service.impl.SubQueryManager;
 import com.zd.model.domain.ResultData;
 import com.zd.model.entity.SubQueryConfig;
@@ -44,6 +46,9 @@ public class LabSubMangerV2Controller extends BaseController {
     @Autowired
     private ILabRiskPlanAbnormalLogService labRiskPlanAbnormalLogService;
 
+    @Autowired
+    LabSubjectManagerService subjectManagerService;
+
     /**
      * 查询实验室控制数据列表- 数据权限(包括负责人) 小程序我的实验室
      */
@@ -80,6 +85,10 @@ public class LabSubMangerV2Controller extends BaseController {
     @PostMapping("/diy/{id}/common")
     public ResultData<List<SubDiyVO>> querySubCListVO(@PathVariable("id") Long id, @RequestBody SubQueryConfig subQueryConfig) {
         List<SubDiyVO> subDiyVOList = subQueryManager.querySubs(subQueryConfig, id);
+        if(subDiyVOList.size()>0){
+            //安全类目信息查询
+            subDiyVOList.get(0).setClassifyList(subjectManagerService.getSubClassify(id));
+        }
         return ResultData.success(subDiyVOList);
     }
 

+ 14 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabWhitelistController.java

@@ -107,6 +107,20 @@ public class LabWhitelistController extends BaseController
     }
 
     /**
+     * 获取白名单信息-值班使用
+     * @param userId
+     * @return
+     */
+    @ApiOperation(value = "获取白名单详细信息-值班使用")
+    @GetMapping(value = "/subWhiteList")
+    public ResultData<List<LabWhitelistVO>> getWhiteSubList(Long userId)
+    {
+        LabWhitelistVO vo = new LabWhitelistVO();
+        vo.setUserId(userId);
+        return ResultData.success(labWhitelistService.selectWhiteSublist(vo));
+    }
+
+    /**
      * 新增白名单
      */
     @ApiOperation(value = "新增白名单")

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

@@ -206,7 +206,7 @@ public class LabXxpClassifyController extends BaseController
             //查询所有有效类目配置
             XxpClassify classify = new XxpClassify();
             classify.setIsShow(1);
-            classify.setIsSpecial(1);
+            //classify.setIsSpecial(1);
             classify.setRemark("sort");
             List<XxpClassify> classifyList = xxpClassifyService.selectXxpClassifyList(classify);
             for (XxpClassify xcf:classifyList) {

+ 2 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabXxpInspectionController.java

@@ -4,6 +4,7 @@ import com.zd.common.core.annotation.Log;
 import com.zd.common.core.annotation.PreAuthorize;
 import com.zd.common.core.log.BusinessType;
 import com.zd.common.core.security.TokenService;
+import com.zd.common.core.utils.DateUtils;
 import com.zd.common.core.utils.ExcelUtil;
 import com.zd.common.core.utils.FileConfigUtils;
 import com.zd.common.core.utils.StringUtils;
@@ -84,6 +85,7 @@ public class LabXxpInspectionController extends BaseController
     public List<XxpInspectionVO> listYmd(XxpInspectionVO inspectionVO)
     {
         Map<String,XxpInspectionVO> allMap = new LinkedHashMap<>();
+        inspectionVO.setEndTime(DateUtils.getDate());
         //startPage();
         //获取时间段内签到人员总数
         List<XxpInspectionVO> signinList = xxpInspectionService.selectListSigninCount(inspectionVO);

+ 16 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/bigview/BigViewController.java

@@ -399,4 +399,20 @@ public class BigViewController extends BaseController {
         remoteSpeakService.textParseUrlIps(labHornMessageVo.getMessageContext(),labHornMessageVo.getPlayVo());
         return ResultData.success();
     }
+
+    @ApiOperation("大屏-隐患统计-按实验室统计柱形图")
+    @GetMapping("/pitfallSubColumn")
+    public ResultData pitfallSubcolumn(LabCheckOptionStatisticsVo statisticsVo) {
+        startPage();
+        List<LabCheckOptionStatisticsVo> list =labCheckOptionService.selectSubjectListColumn(statisticsVo);
+        return ResultData.success(list);
+    }
+
+    @ApiOperation("大屏-隐患统计-按实验室统计列表")
+    @GetMapping("/pitfallSubList")
+    public ResultData pitfallSubList(LabCheckOptionStatisticsVo statisticsVo) {
+        startPage();
+        List<LabCheckOptionStatisticsVo> list =labCheckOptionService.selectSubjectListList(statisticsVo);
+        return ResultData.success(list);
+    }
 }

+ 12 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/SubDiyVO.java

@@ -3,6 +3,7 @@ package com.zd.laboratory.domain;
 import cn.hutool.core.util.StrUtil;
 import com.zd.laboratory.api.entity.SensorFunctionStatus;
 import com.zd.laboratory.api.entity.SubAddrr;
+import com.zd.laboratory.api.vo.ClassifyVO;
 import com.zd.laboratory.api.vo.HardwareCVO;
 import com.zd.laboratory.api.vo.LabSubClassVO;
 import com.zd.laboratory.domain.vo.LabSubjectVO;
@@ -109,6 +110,9 @@ public class SubDiyVO {
     @ApiModelProperty("安全分类名称")
     private String typeName;
 
+    @ApiModelProperty("安全类目信息")
+    private List<ClassifyVO>  classifyList;
+
     public int getSourceRiskCount() {
         return sourceRiskCount;
     }
@@ -290,6 +294,14 @@ public class SubDiyVO {
         this.fiedColor = fiedColor;
     }
 
+    public List<ClassifyVO> getClassifyList() {
+        return classifyList;
+    }
+
+    public void setClassifyList(List<ClassifyVO> classifyList) {
+        this.classifyList = classifyList;
+    }
+
     @ApiModel("安全信息")
     public static class SafeInfo{
         @ApiModelProperty("安全警示标示--字典")

+ 14 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabCheckOptionMapper.java

@@ -66,4 +66,18 @@ public interface LabCheckOptionMapper
     int queryCheckOptionStatistics(LabCheckOptionStatisticsVo labCheckOptionStatisticsVo);
 
     List<LabCheckOptionStatisticsVo> queryCheckOptionStatisticDtails(LabCheckOptionStatisticsVo labCheckOptionStatisticsVo);
+
+    /***
+     * 大屏-安全隐患-按实验室统计-柱形图
+     * @param statisticsVo
+     * @return
+     */
+    List<LabCheckOptionStatisticsVo> selectSubjectListColumn(LabCheckOptionStatisticsVo statisticsVo);
+
+    /***
+     * 大屏-安全隐患-按实验室统计-列表
+     * @param statisticsVo
+     * @return
+     */
+    List<LabCheckOptionStatisticsVo> selectSubjectListList(LabCheckOptionStatisticsVo statisticsVo);
 }

+ 3 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabWhiteJoinSublistMapper.java

@@ -3,6 +3,7 @@ package com.zd.laboratory.mapper;
 import java.util.List;
 import com.zd.laboratory.domain.LabWhiteJoinSublist;
 import com.zd.laboratory.domain.vo.LabSubjectVO;
+import com.zd.laboratory.domain.vo.LabWhitelistVO;
 
 /**
  * 白名单关联的实验室Mapper接口
@@ -75,4 +76,6 @@ public interface LabWhiteJoinSublistMapper
      * @return
      */
     public int deleteLabWhiteJoinSublistByParameter(LabWhiteJoinSublist labWhiteJoinSublist);
+
+    public List<LabWhitelistVO> selectWhiteSublist(LabWhitelistVO whitelistVO);
 }

+ 2 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabWhitelistMapper.java

@@ -67,4 +67,6 @@ public interface LabWhitelistMapper
      * @return 结果
      */
     public int deleteLabWhitelistByIds(Long[] ids);
+
+    public List<LabWhitelistVO>  selectWhiteSublist(LabWhitelistVO whitelistVO);
 }

+ 14 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabCheckOptionService.java

@@ -71,4 +71,18 @@ public interface ILabCheckOptionService {
     Map<String, Object> queryCheckOptionStatistics(LabCheckOptionStatisticsVo labCheckOptionStatisticsVo);
 
     List<LabCheckOptionStatisticsVo> queryCheckOptionStatisticDtails(LabCheckOptionStatisticsVo labCheckOptionStatisticsVo);
+
+    /***
+     * 大屏-安全隐患-按实验室统计-柱形图
+     * @param statisticsVo
+     * @return
+     */
+    List<LabCheckOptionStatisticsVo> selectSubjectListColumn(LabCheckOptionStatisticsVo statisticsVo);
+
+    /***
+     * 大屏-安全隐患-按实验室统计-列表
+     * @param statisticsVo
+     * @return
+     */
+    List<LabCheckOptionStatisticsVo> selectSubjectListList(LabCheckOptionStatisticsVo statisticsVo);
 }

+ 2 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabWhitelistService.java

@@ -78,4 +78,6 @@ public interface ILabWhitelistService
      * @return 结果
      */
     public int deleteLabWhitelistById(Long id);
+
+    public List<LabWhitelistVO> selectWhiteSublist(LabWhitelistVO whitelistVO);
 }

+ 22 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabCheckOptionServiceImpl.java

@@ -509,6 +509,28 @@ public class LabCheckOptionServiceImpl implements ILabCheckOptionService {
         return labCheckOptionMapper.queryCheckOptionStatisticDtails(labCheckOptionStatisticsVo);
     }
 
+    /***
+     * 大屏-安全隐患-按实验室统计-柱形图
+     * @param statisticsVo
+     * @return
+     */
+    @Override
+    @DataScope(deptAlias = "d" , userAlias = "t" , permi = PerPrefix.LABORATORY_SUBJECT)
+    public List<LabCheckOptionStatisticsVo> selectSubjectListColumn(LabCheckOptionStatisticsVo statisticsVo) {
+        return labCheckOptionMapper.selectSubjectListColumn(statisticsVo);
+    }
+
+    /***
+     * 大屏-安全隐患-按实验室统计-列表
+     * @param statisticsVo
+     * @return
+     */
+    @Override
+    @DataScope(deptAlias = "d" , userAlias = "t" , permi = PerPrefix.LABORATORY_SUBJECT)
+    public List<LabCheckOptionStatisticsVo> selectSubjectListList(LabCheckOptionStatisticsVo statisticsVo) {
+        return labCheckOptionMapper.selectSubjectListList(statisticsVo);
+    }
+
     private List<Long> getAllChildrenIds(LabCheckOption option1) {
         List<Long> optionIds = new ArrayList<>();
         optionIds.add(option1.getId());

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

@@ -707,7 +707,7 @@ public class LabSubjectManagerService {
             //查询所有有效类目配置
             XxpClassify classify = new XxpClassify();
             classify.setIsShow(1);
-            classify.setIsSpecial(1);
+            //classify.setIsSpecial(1);
             classify.setRemark("sort");
             List<XxpClassify> classifyList = classifyService.selectXxpClassifyList(classify);
             for (XxpClassify xcf:classifyList) {

+ 5 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabWhitelistServiceImpl.java

@@ -177,4 +177,9 @@ public class LabWhitelistServiceImpl implements ILabWhitelistService
 
         return count;
     }
+
+    @Override
+    public List<LabWhitelistVO> selectWhiteSublist(LabWhitelistVO whitelistVO) {
+        return labWhitelistMapper.selectWhiteSublist(whitelistVO);
+    }
 }

+ 33 - 0
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabCheckOptionMapper.xml

@@ -225,4 +225,37 @@
             #{id}
         </foreach>
     </delete>
+
+    <select id="selectSubjectListColumn" parameterType="com.zd.laboratory.domain.vo.LabCheckOptionStatisticsVo"
+            resultType="com.zd.laboratory.domain.vo.LabCheckOptionStatisticsVo">
+        select
+            s.id subId,s.`name` subName ,( select count(1) from lab_check_record_details d LEFT JOIN lab_check_record r on d.check_id=r.id where r.is_fabu=1 and  r.laboratory_id=s.id) count
+        from lab_subject s
+             LEFT JOIN sys_dept d on d.dept_id=s.dept_id
+        where s.is_del=0
+            ${params.dataScope}
+        order by count desc
+    </select>
+
+    <select id="selectSubjectListList" parameterType="com.zd.laboratory.domain.vo.LabCheckOptionStatisticsVo"
+            resultType="com.zd.laboratory.domain.vo.LabCheckOptionStatisticsVo">
+        select t.id,t.name subName,t.classified_name levelName,t.type_name typeName,t.optionId,t.optionName, count(1) count  from (
+        select s.id,s.`name`,sc.classified_name,cl.type_name,substring_index(rd.jcx_id,',',1) optionId,
+        substring_index(rd.jcx_sstk_ms,'-',1) optionName,rd.create_time
+        from lab_subject s
+        LEFT JOIN sys_dept d on d.dept_id=s.dept_id
+        LEFT JOIN lab_safe_classified sc on sc.id= s.level
+        LEFT JOIN lab_safe_classtype cl on cl.id= s.type_id
+        LEFT JOIN lab_check_record r on r.laboratory_id = s.id
+        LEFT JOIN lab_check_record_details rd on rd.check_id=r.id
+        where r.is_fabu=1
+        <if test="subId != null"> and  s.id=#{subId}</if>
+        <if test="startTime != null"> and  date_format(rd.create_time,'%y%m%d') &gt;= date_format(#{startTime},'%y%m%d')</if>
+        <if test="endTime != null"> and  date_format(rd.create_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')</if>
+        ) t
+        <if test="optionId != null"> where t.optionId=#{optionId}</if>
+        GROUP BY   t.optionId,t.optionName
+        ${params.dataScope}
+    </select>
+
 </mapper>

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

@@ -569,13 +569,17 @@
     <!--未过期的申请 -->
     <select id="selectValidApply" parameterType="com.zd.laboratory.domain.LabSecurityApply" resultMap="LabSecurityApplyResult">
         <include refid="selectLabSecurityApplyVo"/>
-        where t.audit_status = 2 and t.valid_end_time &gt;= now()
+        where t.audit_status = 2 and date_format(t.valid_end_time,'%Y-%m-%d')  &gt;= date_format(NOW(),'%Y-%m-%d')
         <if test="userId!=null">
             and t.user_id=#{userId}
         </if>
         <if test="subjectId!=null">
             and t.subject_id=#{subjectId}
         </if>
+        <if test="deptId != null and deptId != 0">
+            AND (t.dept_id = #{deptId} OR t.dept_id IN ( SELECT d.dept_id FROM sys_dept d WHERE find_in_set(#{deptId},
+            ancestors) ))
+        </if>
     </select>
 
     <!--获取实验室准入人员信息-->

+ 12 - 2
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabSubjectMapper.xml

@@ -32,6 +32,7 @@
         <result property="inspectCheckCount" column="inspect_check_count"/>
         <result property="inspectSignTime" column="inspect_sign_time"/>
         <result property="details" column="details"/>
+        <result property="hardwareType" column="hardware_type"/>
     </resultMap>
 
     <resultMap type="com.zd.laboratory.domain.vo.LabSubjectVO" id="LabSubjectResultVO">
@@ -81,6 +82,7 @@
         <result property="inspectCheckCount" column="inspect_check_count"/>
         <result property="inspectSignTime" column="inspect_sign_time"/>
         <result property="details" column="details"/>
+        <result property="hardwareType" column="hardware_type"/>
     </resultMap>
 
     <resultMap type="com.zd.laboratory.domain.vo.LabSubjectDetailVO" id="subjectAndInfoResult">
@@ -123,6 +125,7 @@
         <result property="inspectCheckCount" column="inspect_check_count"/>
         <result property="inspectSignTime" column="inspect_sign_time"/>
         <result property="details" column="details"/>
+        <result property="hardwareType" column="hardware_type"/>
 
         <collection property="hazardSubjectRelations" column="id"
                     ofType="com.zd.laboratory.domain.LabHazardSubjectRelation"
@@ -171,6 +174,7 @@
                inspect_check_count,
                inspect_sign_time,
                details,
+               hardware_type,
                (SELECT GROUP_CONCAT(ur.nick_name)
                 FROM sys_user ur
                 WHERE ur.`user_id`
@@ -256,6 +260,7 @@
                t.inspect_check_count,
                t.inspect_sign_time,
                t.details,
+               t.hardware_type,
                (select i.id from xxp_card_info i where i.subJect_id=t.id LIMIT 1)         xxpCardInfoId,
                CONCAT(su.nick_name, '@', su.phonenumber)                      AS          adminNameAndPhone,
 
@@ -311,7 +316,8 @@
                t.inspect_skipped,
                t.inspect_check_count,
                t.inspect_sign_time,
-               t.details
+               t.details,
+               t.hardware_type
         from lab_subject t
                  left join sys_user su on su.user_id = t.admin_id
                  left join sys_dept sd on sd.dept_id = t.dept_id
@@ -461,7 +467,8 @@
         t.inspect_skipped,
         t.inspect_check_count,
         t.inspect_sign_time,
-        t.details
+        t.details,
+        t.hardware_type
         from lab_subject t
         left join sys_user su on su.user_id = t.admin_id AND su.`del_flag`=0
         left join sys_dept sd on sd.dept_id = t.dept_id
@@ -584,6 +591,7 @@
             <if test="inspectCheckCount != null">inspect_check_count,</if>
             <if test="inspectSignTime != null">inspect_sign_time,</if>
             <if test="details != null">details,</if>
+            <if test="hardwareType != null">hardware_type,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -624,6 +632,7 @@
             <if test="inspectCheckCount != null">#{inspectCheckCount},</if>
             <if test="inspectSignTime != null">#{inspectSignTime},</if>
             <if test="details != null">#{details},</if>
+            <if test="hardwareType != null">#{hardwareType},</if>
         </trim>
     </insert>
 
@@ -668,6 +677,7 @@
             <if test="inspectCheckCount != null">inspect_check_count = #{inspectCheckCount},</if>
             <if test="inspectSignTime != null">inspect_sign_time = #{inspectSignTime},</if>
             <if test="details != null">details = #{details},</if>
+            <if test="hardwareType != null">hardware_type = #{hardwareType},</if>
         </trim>
         where id = #{id}
     </update>

+ 11 - 0
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabWhitelistMapper.xml

@@ -132,4 +132,15 @@
             #{id}
         </foreach>
     </delete>
+
+    <select id="selectWhiteSublist" parameterType="com.zd.laboratory.domain.vo.LabWhitelistVO"
+            resultType="com.zd.laboratory.domain.vo.LabWhitelistVO">
+        select w.user_id, j.subject_id subId
+        from lab_whitelist w
+        LEFT JOIN lab_white_join_sublist j on w.user_id = j.white_user_id
+        <where>
+            <if test="userId != null ">and w.user_id = #{userId}</if>
+            <if test="subId != null ">and j.subject_id = #{subId}</if>
+        </where>
+    </select>
 </mapper>

+ 13 - 6
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/XxpInspectionMapper.xml

@@ -176,8 +176,7 @@
         from xxp_inspection i
         where sign_in is not null
         and sign_in &gt;= #{beginTime}
-        and sign_in &lt;= #{endTime}
-        and date_format(sign_in, '%Y-%m-%d') != date_format(NOW(), '%Y-%m-%d')
+        and sign_in &lt; #{endTime}
         <if test="deptId != null ">and ( i.dept_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId}
             ,ancestors )) or i.dept_id = #{deptId} )
         </if>
@@ -203,7 +202,7 @@
         and i.subject_id = du.subject_id ) noSignedInCount
         from xxp_duty du
         where du.duty_time &gt;= #{beginTime}
-        and du.duty_time &lt;= #{endTime}
+        and du.duty_time &lt; #{endTime}
         <if test="deptId != null ">and ( du.dept_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId}
             ,ancestors )) or du.dept_id = #{deptId} )
         </if>
@@ -217,8 +216,11 @@
     <select id="selectListSignin" parameterType="com.zd.laboratory.domain.XxpInspection"
             resultMap="XxpInspectionResult">
         <include refid="selectXxpInspection"/>
-        where sign_in is not null and sign_out is not null
+        where t.sign_in is not null and t.sign_out is not null
         <if test="signIn != null">and date_format(t.sign_in, '%Y-%m-%d') =date_format(#{signIn}, '%Y-%m-%d')</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>
     </select>
 
     <!-- 异常签到列表-->
@@ -229,9 +231,11 @@
                  LEFT JOIN xxp_duty d
                            on i.user_id = d.user_id and i.subject_id = d.subject_id and
                               date_format(i.sign_in, '%Y-%m-%d') = d.duty_time
-        where sign_out is null
+        where i.sign_out is null
           and date_format(i.sign_in, '%Y-%m-%d') = date_format(#{dutyTime}, '%Y-%m-%d')
-
+        <if test="deptId != null ">and ( i.dept_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId}
+            ,ancestors )) or i.dept_id = #{deptId} )
+        </if>
         UNION all
 
         select user_name, user_phone, subject_name, '未巡查' remark
@@ -246,6 +250,9 @@
                            and i.subject_id = du.subject_id) noSignedInCount
                  from xxp_duty du
                  where du.duty_time = date_format(#{dutyTime}, '%Y-%m-%d')
+                <if test="deptId != null ">and ( du.dept_id in (SELECT dt.dept_id FROM sys_dept dt WHERE find_in_set(#{deptId}
+                    ,ancestors )) or du.dept_id = #{deptId} )
+                </if>
              ) t
         where noSignedInCount = 0
     </select>

+ 30 - 1
zd-modules/zd-modules-system/src/main/java/com/zd/system/controller/SysUserController.java

@@ -2,6 +2,7 @@ package com.zd.system.controller;
 
 import cn.hutool.core.util.RandomUtil;
 import cn.hutool.core.util.StrUtil;
+import com.zd.laboratory.api.feign.RemoteLaboratoryService;
 import com.zd.model.domain.ResultData;
 import com.zd.model.entity.SysFile;
 import com.zd.base.api.feign.RemoteFileService;
@@ -93,7 +94,8 @@ public class SysUserController extends BaseController {
 
     @Resource
     private RemoteStockService stockService;
-
+    @Autowired
+    private RemoteLaboratoryService remoteLaboratoryService;
 
     /**
      * 获取用户列表 "system:user:list"
@@ -127,6 +129,33 @@ public class SysUserController extends BaseController {
     public TableDataInfo getUserDutyList(SysUser user) {
         startPage();
         List<SysUser> list = userService.selectUserDutyList(user);
+        for (SysUser su:list) {
+            //白名单集合
+            ResultData white= remoteLaboratoryService.getWhiteSubList(su.getUserId());
+            List<Long> subList = new ArrayList<>();
+            if(white.getCode()==200){
+                List<LinkedHashMap<String,Object>> linkedWhite = (List<LinkedHashMap<String, Object>>) white.getData();
+                for (int i=0;i<linkedWhite.size();i++){
+                    if(linkedWhite.get(i).get("subId")!=null){
+                        subList.add(Long.valueOf(linkedWhite.get(i).get("subId")+""));
+                    }
+
+                }
+            }
+            //安全准入集合
+            ResultData apply=remoteLaboratoryService.getApplySubList(su.getUserId());
+            if(apply.getCode()==200){
+                List<LinkedHashMap<String,Object>> linkedWhite = (List<LinkedHashMap<String, Object>>) apply.getData();
+                for (int i=0;i<linkedWhite.size();i++){
+                    if(linkedWhite.get(i).get("subjectId")!=null){
+                        subList.add(Long.valueOf(linkedWhite.get(i).get("subjectId")+""));
+                    }
+
+                }
+            }
+            su.setSubjectIds(subList);
+        }
+
         return getDataTable(list);
     }
 

+ 2 - 1
zd-modules/zd-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml

@@ -238,7 +238,8 @@
         d.ancestors,
         d.dept_name,
         d.del_flag,
-        d.subOrDept
+        d.subOrDept,
+        d.subOrDeptId
         FROM
         (
         SELECT

+ 22 - 2
zd-modules/zd-modules-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -1039,9 +1039,29 @@
         u.status, u.del_flag,u.user_type
         from
         (
-        select w.user_id from lab_whitelist w
+        select w.user_id from lab_whitelist w LEFT JOIN lab_white_join_sublist j on w.user_id = j.white_user_id
+        <if test="deptId != null and deptId != 0">
+            AND (w.dept_id = #{deptId} OR w.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId},
+            ancestors) ))
+        </if>
+        <if test="subjectIds!=null and subjectIds.size > 0">
+        where j.subject_id in
+            <foreach item="item" collection="subjectIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+
+        GROUP BY w.user_id
         union all
-        select a.user_id from lab_security_apply a where a.valid_end_time> NOW() and audit_status=2
+        select a.user_id from lab_security_apply a
+        where date_format(a.valid_end_time,'%Y-%m-%d')  &gt;= date_format(NOW(),'%Y-%m-%d')
+        and audit_status=2
+        <if test="subjectIds!=null and subjectIds.size > 0">
+             and a.subject_id in
+            <foreach item="item" collection="subjectIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
         ) t
         LEFT JOIN sys_user u on t.user_id=u.user_id
         LEFT JOIN sys_dept d on d.dept_id = u.dept_id