ソースを参照

安全检查功能完善

jiawuxian 2 年 前
コミット
7248ce58b3

+ 11 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/question/service/impl/QuestionServiceImpl.java

@@ -26,6 +26,8 @@ import com.xunmei.core.question.vo.QuestionVo;
 import com.xunmei.core.question.domain.QuestionFlow;
 import com.xunmei.core.question.mapper.QuestionFlowMapper;
 import com.xunmei.core.resumption.service.IAppResumptionDataRemarkimgService;
+import com.xunmei.core.safetyCheck.domain.CoreSafetyTaskDataRemarkimg;
+import com.xunmei.core.safetyCheck.service.ICoreSafetyTaskDataRemarkimgService;
 import com.xunmei.system.api.RemoteOrgService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -59,6 +61,9 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
     @Autowired
     private IAppResumptionDataRemarkimgService appResumptionDataRemarkimgService;
 
+    @Autowired
+    private ICoreSafetyTaskDataRemarkimgService iCoreSafetyTaskDataRemarkimgService;
+
     @Override
     public TableDataInfo<Question> selectPage(QuestionPageDto query) {
         //未删除
@@ -125,6 +130,12 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
         if (ObjectUtil.equal(q.getSrcType(), QuestionSrcType.Resumption.getValue())) {
             List<String> images = appResumptionDataRemarkimgService.getImagePath(q.getSrcDataPointId());
             vo.setImages(images);
+        }else if (ObjectUtil.equal(q.getSrcType(), QuestionSrcType.SafetyCheck.getValue())) {
+            List<String> images = iCoreSafetyTaskDataRemarkimgService
+                    .list(new LambdaQueryWrapper<CoreSafetyTaskDataRemarkimg>()
+                            .eq(CoreSafetyTaskDataRemarkimg::getTaskDataId,q.getSrcDataPointId()))
+                    .stream().map(i->i.getImgPath()).collect(Collectors.toList());
+            vo.setImages(images);
         }
 
         return vo;

+ 1 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/mapper/CoreSafetyTaskMapper.java

@@ -80,7 +80,7 @@ public interface CoreSafetyTaskMapper extends BaseMapper<CoreSafetyTask> {
 
     List<TaskRegisterNfcVo> selectNfc(@Param("planId") Long planId, @Param("taskId") Long taskId, @Param("orgId") Long orgId);
 
-    Page<AppPageVo> selectTaskGroup(@Param("page") Page<AppPageVo> page, @Param("params") AppPageDto params);
+    Page<AppPageVo> selectTaskGroup(@Param("page") Page<AppPageVo> page, @Param("params") AppPageDto params, @Param("userId") Long userId);
 
     List<CheckNfcRecord> selectNfcRecord(String taskId);
 }

+ 3 - 3
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/service/impl/SafetyCheckRegisterSericeImpl.java

@@ -82,7 +82,7 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
     @Override
     public TableDataInfo appList(AppPageDto dto) {
         Page<AppPageVo> page = dto.toPage();
-        page = baseMapper.selectTaskGroup(page, dto);
+        page = baseMapper.selectTaskGroup(page, dto,SecurityUtils.getUserId());
         if (CollectionUtil.isEmpty(page.getRecords())) {
             return TableDataInfo.success(page);
         }
@@ -207,7 +207,7 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
                 .collect(Collectors.toList());
         RoleConditionEto eto = new RoleConditionEto();
         eto.setIds(roleIds);
-        List<String> roleNames = remoteRoleService.getNames(eto).stream().map(r -> r.getName()).collect(Collectors.toList());
+        List<IdNameVo> roleNames = remoteRoleService.getNames(eto);
         // 找出检查内容
         List<AppTaskRegisterPointVo> points = baseMapper.selectPoint(plan.getId(), id);
         Map<Long, List<CoreSafetyTaskDataRemarkimg>> taskImgs = new HashMap<>();
@@ -220,7 +220,7 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
         }
 
         List<TaskRegisterNfcVo> nfcs = baseMapper.selectNfc(plan.getId(), id, task.getOrgId());
-        TaskRegisterVo<AppTaskRegisterPointVo> vo = TaskRegisterVo.of(task, plan.getCheckOrgType().toString(), StringUtils.join(roleNames, ","));
+        TaskRegisterVo<AppTaskRegisterPointVo> vo = TaskRegisterVo.of(task, plan.getCheckOrgType().toString(),roleNames);
         Set<Long> usedNfcId = new HashSet<>();
         for (AppTaskRegisterPointVo point : points) {
             List<CoreSafetyTaskDataRemarkimg> dataImgs = taskImgs.get(point.getPointDataId());

+ 4 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/vo/regsiter/AppTaskRegisterPointVo.java

@@ -11,21 +11,25 @@ import java.util.List;
 @Data
 public class AppTaskRegisterPointVo {
     @ApiModelProperty(value = "区域id")
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long areaId;
 
     @ApiModelProperty(value = "区域名称")
     private String areaName;
 
     @ApiModelProperty(value = "检查项id")
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long itemId;
 
     @ApiModelProperty(value = "检查项")
     private String itemName;
 
     @ApiModelProperty(value = "已检查记录的id")
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long pointDataId;
 
     @ApiModelProperty(value = "检查内容id")
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long pointId;
 
     @ApiModelProperty(value = "检查内容")

+ 1 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/vo/regsiter/TaskRegisterNfcVo.java

@@ -15,6 +15,7 @@ public class TaskRegisterNfcVo {
     private Long nfcDataId;
 
     @JsonIgnore
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long taskDataId;
 
     @JsonSerialize(using = ToStringSerializer.class)

+ 9 - 3
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/vo/regsiter/TaskRegisterVo.java

@@ -6,6 +6,7 @@ import java.util.List;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.xunmei.common.core.vo.IdNameVo;
 import com.xunmei.core.safetyCheck.domain.CoreSafetyTask;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Builder;
@@ -24,7 +25,7 @@ public class TaskRegisterVo<T> {
     private String taskName;
 
     @ApiModelProperty(value = "检查角色")
-    private String checkRoleNames;
+    private List<IdNameVo> checkRoles;
 
     @ApiModelProperty(value = "计划id")
     @JsonSerialize(using = ToStringSerializer.class)
@@ -66,10 +67,13 @@ public class TaskRegisterVo<T> {
     @ApiModelProperty(value = "任务状态")
     private Integer status;
 
+    @ApiModelProperty(value = "授权目标用户id")
+    private Long grantUserId;
+
     @ApiModelProperty(value = "检查列表")
     private List<T> checkList;
 
-    public static TaskRegisterVo of(CoreSafetyTask task, String beCheckOrgType, String checkRoleNames) {
+    public static TaskRegisterVo of(CoreSafetyTask task, String beCheckOrgType, List<IdNameVo> checkRoles) {
         TaskRegisterVo vo = new TaskRegisterVo();
         vo.setId(task.getId());
         vo.setTaskName(task.getTitle());
@@ -82,9 +86,11 @@ public class TaskRegisterVo<T> {
         vo.setBeCheckedOrgName(task.getOrgName());
         vo.setBeCheckOrgType(beCheckOrgType);
         vo.setCheckTeam(task.getCheckTeam());
-        vo.setCheckRoleNames(checkRoleNames);
+        vo.setCheckRoles(checkRoles);
         vo.setStatus(task.getDoneStatus());
         vo.setYmdDate(task.getYmdDate());
+        vo.setGrantUserId(task.getGrantUserId());
+
         return  vo;
     }
 }

+ 9 - 5
soc-modules/soc-modules-core/src/main/resources/mapper/safetycheck/CoreSafetyTaskMapper.xml

@@ -694,11 +694,8 @@
         t.batch_id as batchId
         from core_safety_task t
         <if test="params.roleIds!=null and params.roleIds.size>0">
-            inner join ( select id from core_safecheck_plan p
-            inner join core_safecheck_plan_to_role r on p.id=r.plan_id and r.role_id in
-            <foreach collection="params.roleIds" close=")" open="(" separator="," item="id">
-                #{id}
-            </foreach>
+            inner join ( select id,r.role_id from core_safecheck_plan p
+            inner join core_safecheck_plan_to_role r on p.id=r.plan_id
             )
             p on t.plan_id =p.id
         </if>
@@ -712,6 +709,13 @@
         <if test="params.status">
             and t.done_status=#{params.status}
         </if>
+        <if test="params.roleIds!=null and params.roleIds.size>0">
+            and (p.role_id in
+            <foreach collection="params.roleIds" close=")" open="(" separator="," item="id">
+                #{id}
+            </foreach> or
+                t.grant_user_id=#{userId})
+        </if>
         group by t.plan_id,t.title,t.plan_start_time,t.plan_end_time,t.batch_id
     </select>
     <select id="selectNfcRecord" resultType="com.xunmei.core.safetyCheck.vo.CheckNfcRecord">