Browse Source

app检查登记列表使用月份查询

jiawuxian 1 năm trước cách đây
mục cha
commit
dd53f3b1b9

+ 3 - 2
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/panel/service/impl/PanelServiceImpl.java

@@ -60,8 +60,9 @@ public class PanelServiceImpl implements PanelService {
     @Autowired
     @Qualifier(ThreadPoolConfig.SOC_EXECUTOR)
     private ThreadPoolTaskExecutor threadPoolTaskExecutor;
-@Autowired
-private ICoreEvaluateTaskService iCoreEvaluateTaskService;
+    @Autowired
+    private ICoreEvaluateTaskService iCoreEvaluateTaskService;
+
     @Override
     public List<PanelResultVo> selectPage() throws ExecutionException, InterruptedException, TimeoutException {
         List<Long> roles = RemoteCallHandlerExecutor.executeRemoteCall(

+ 9 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/dto/register/AppPageDto.java

@@ -1,5 +1,7 @@
 package com.xunmei.core.safetyCheck.dto.register;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.xunmei.common.core.web.domain.PageDto;
 import com.xunmei.core.safetyCheck.vo.regsiter.AppPageVo;
 import lombok.Data;
@@ -33,8 +35,15 @@ public class AppPageDto extends PageDto<AppPageVo> {
     /**
      * 任务日期
      */
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date taskTime;
 
+    @JsonIgnore
+    private Date startTime;
+
+    @JsonIgnore
+    private Date endTime;
+
     /**
      * 任务状态
      */

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

@@ -95,6 +95,8 @@ public interface CoreSafetyTaskMapper extends BaseMapper<CoreSafetyTask> {
 
     Page<AppPageVo> selectTaskGroup(@Param("page") Page<AppPageVo> page, @Param("params") AppPageDto params, @Param("userId") Long userId);
 
+    List<CoreSafetyTask> selectTaskList( @Param("params") AppPageDto params, @Param("userId") Long userId);
+
     List<CheckNfcRecord> selectNfcRecord(String taskId);
 
     List<PanelListVo> selectCurUserTaskList(@Param("request") PanelListDto request);

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

@@ -10,7 +10,10 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xunmei.common.core.constant.SecurityConstants;
+import com.xunmei.common.core.domain.DateRange;
+import com.xunmei.common.core.enums.CycleCommonEnum;
 import com.xunmei.common.core.exception.ServiceException;
+import com.xunmei.common.core.utils.DateUtils;
 import com.xunmei.common.core.utils.IDHelper;
 import com.xunmei.common.core.utils.StringUtils;
 import com.xunmei.common.core.utils.Ymd;
@@ -87,7 +90,13 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
 
     @Override
     public TableDataInfo appList(AppPageDto dto) {
+        if(ObjectUtil.isNotNull(dto.getTaskTime())){
+            DateRange r= DateUtils.getStartAndEnd(dto.getTaskTime(), CycleCommonEnum.MONTHLY);
+            dto.setStartTime(r.getStartTime());
+            dto.setEndTime(r.getEndTime());
+        }
         Page<AppPageVo> page = dto.toPage();
+
         page = baseMapper.selectTaskGroup(page, dto, SecurityUtils.getUserId());
         if (CollectionUtil.isEmpty(page.getRecords())) {
             return TableDataInfo.success(page);
@@ -96,25 +105,26 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
 //        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
 
 //        List<Long> batchIds = page.getRecords().stream().map(r -> r.getBatchId()).collect(Collectors.toList());
-        LambdaQueryWrapper<CoreSafetyTask> wrapper = new LambdaQueryWrapper<CoreSafetyTask>();
-        if (ObjectUtil.isNotNull(dto.getBeCheckedOrgId())) {
-            wrapper.eq(CoreSafetyTask::getOrgId, dto.getBeCheckedOrgId());
-        }
-        if (ObjectUtil.isNotNull(dto.getCheckOrgId())) {
-            wrapper.and(w -> w.eq(CoreSafetyTask::getCheckOrgId, dto.getCheckOrgId())
-                    .or()
-                    .eq(CoreSafetyTask::getGrantUserId, SecurityUtils.getUserId()));
-        }
-        if (ObjectUtil.isNotNull(dto.getStatus())) {
-            wrapper.eq(CoreSafetyTask::getStatus, dto.getStatus());
-        }
-        if (ObjectUtil.isNotNull(dto.getTaskTime())) {
-            wrapper.and(w -> w.and(w1 -> w1.ge(CoreSafetyTask::getPlanEndTime, dto.getTaskTime())
-                    .le(CoreSafetyTask::getPlanStartTime, dto.getTaskTime())).or().eq(CoreSafetyTask::getYmdDate, dto.getTaskTime()));
-        }
-        wrapper.in(CoreSafetyTask::getPlanId, page.getRecords().stream().map(r -> r.getPlanId()).collect(Collectors.toList()));
+//        LambdaQueryWrapper<CoreSafetyTask> wrapper = new LambdaQueryWrapper<CoreSafetyTask>();
+//        if (ObjectUtil.isNotNull(dto.getBeCheckedOrgId())) {
+//            wrapper.eq(CoreSafetyTask::getOrgId, dto.getBeCheckedOrgId());
+//        }
+//        if (ObjectUtil.isNotNull(dto.getCheckOrgId())) {
+//            wrapper.and(w -> w.eq(CoreSafetyTask::getCheckOrgId, dto.getCheckOrgId())
+//                    .or()
+//                    .eq(CoreSafetyTask::getGrantUserId, SecurityUtils.getUserId()));
+//        }
+//        if (ObjectUtil.isNotNull(dto.getStatus())) {
+//            wrapper.eq(CoreSafetyTask::getStatus, dto.getStatus());
+//        }
+//        if (ObjectUtil.isNotNull(dto.getTaskTime())) {
+//            wrapper.and(w -> w.and(w1 -> w1.ge(CoreSafetyTask::getPlanEndTime, dto.getTaskTime())
+//                    .le(CoreSafetyTask::getPlanStartTime, dto.getTaskTime()))
+//                    .or().eq(CoreSafetyTask::getYmdDate, dto.getTaskTime()));
+//        }
+//        wrapper.in(CoreSafetyTask::getPlanId, page.getRecords().stream().map(r -> r.getPlanId()).collect(Collectors.toList()));
 
-        List<CoreSafetyTask> list = baseMapper.selectList(wrapper);
+        List<CoreSafetyTask> list = baseMapper.selectTaskList(dto,SecurityUtils.getUserId());
 //        Map<Long, List<CoreSafetyTask>> grouped = list.stream().collect(Collectors.groupingBy(t -> t.getBatchId()));
 
         List<Long> planIds = page.getRecords().stream().map(r -> r.getPlanId()).distinct().collect(Collectors.toList());

+ 49 - 2
soc-modules/soc-modules-core/src/main/resources/mapper/safetycheck/CoreSafetyTaskMapper.xml

@@ -776,8 +776,18 @@ SELECT t.id,
             and t.org_id=#{params.beCheckedOrgId}
         </if>
         <if test="params.taskTime!=null">
-            and ((t.plan_start_time &lt;=#{params.taskTime} and t.plan_end_time&gt;=#{params.taskTime}) or
-            t.ymd_date=#{params.taskTime})
+            and ((
+            #{params.startTime}   <![CDATA[<=]]> t.plan_start_time
+            and #{params.endTime} >= t.plan_start_time
+            )
+            or (
+            #{params.startTime}    <![CDATA[<=]]> t.plan_end_time
+            and #{params.endTime} >= t.plan_end_time
+            )
+            or (
+            #{params.startTime} >= t.plan_start_time
+            and #{params.endTime}  <![CDATA[<=]]> t.plan_end_time
+            ))
         </if>
         <if test="params.status">
             and t.status=#{params.status}
@@ -796,6 +806,43 @@ SELECT t.id,
         ) or t.grant_user_id=#{userId})
         group by t.plan_id,t.title,t.plan_start_time,t.plan_end_time,t.count
     </select>
+    <select id="selectTaskList" resultType="com.xunmei.core.safetyCheck.domain.CoreSafetyTask">
+        select t.*
+        from core_safety_task t
+        where t.deleted=0
+        <if test="params.beCheckedOrgId!=null">
+            and t.org_id=#{params.beCheckedOrgId}
+        </if>
+        <if test="params.taskTime!=null">
+            and ((
+            #{params.startTime}   <![CDATA[<=]]> t.plan_start_time
+            and #{params.endTime} >= t.plan_start_time
+            )
+            or (
+            #{params.startTime}    <![CDATA[<=]]> t.plan_end_time
+            and #{params.endTime} >= t.plan_end_time
+            )
+            or (
+            #{params.startTime} >= t.plan_start_time
+            and #{params.endTime}  <![CDATA[<=]]> t.plan_end_time
+            ))
+        </if>
+        <if test="params.status">
+            and t.status=#{params.status}
+        </if>
+        and ((t.check_org_id = #{params.checkOrgId}
+        <if test="params.roleIds!=null and params.roleIds.size>0">
+            and (t.role_id in
+            <foreach collection="params.roleIds" item="roleId" open="(" separator="," close=")">
+                #{roleId}
+            </foreach>
+            or t.plan_id in (select plan_id from core_safecheck_plan_to_role where role_id in
+            <foreach collection="params.roleIds" item="roleId" open="(" separator="," close=")">
+                #{roleId}
+            </foreach>))
+        </if>
+        ) or t.grant_user_id=#{userId})
+    </select>
     <select id="selectNfcRecord" resultType="com.xunmei.core.safetyCheck.vo.CheckNfcRecord">
         select t.scan_method,
                n.area_name,