فهرست منبع

处理web排序

jiawuxian 1 سال پیش
والد
کامیت
4781152158

+ 8 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/question/mapper/QuestionMapper.java

@@ -1,15 +1,20 @@
 package com.xunmei.core.question.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xunmei.common.core.domain.safetyindex.domain.CoreSafetyExceptionData;
 import com.xunmei.core.question.domain.Question;
 import com.xunmei.core.question.dto.QuestionExportDto;
 import com.xunmei.core.question.dto.QuestionPageDto;
 import com.xunmei.core.question.dto.ReformPageDto;
+import com.xunmei.core.resumption.dto.resumptionRecord.ResumptionRecordPageDto;
+import com.xunmei.core.resumption.vo.resumptionRecord.ResumptionRecordPageVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Set;
 
 /**
  * 隐患问题清单Mapper接口
@@ -18,6 +23,9 @@ import java.util.List;
  * @date 2023-09-12
  */
 public interface QuestionMapper extends BaseMapper<Question> {
+    Page<Question> pageQuestion(@Param("page") Page<Question> page,@Param("params") QuestionPageDto query ,@Param("today") Date today);
+
+    Page<Question> pageReform(@Param("page") Page<Question> page,@Param("params") ReformPageDto query ,@Param("today") Date today);
     /**
      * 查询隐患问题清单
      *

+ 40 - 41
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/question/service/impl/QuestionReformServiceImpl.java

@@ -48,7 +48,7 @@ import java.util.stream.Collectors;
  * @date 2023-09-12
  */
 @Service
-public class  QuestionReformServiceImpl extends ServiceImpl<QuestionMapper, Question> implements IQuestionReformService {
+public class QuestionReformServiceImpl extends ServiceImpl<QuestionMapper, Question> implements IQuestionReformService {
     @Autowired
     private QuestionFlowMapper questionFlowMapper;
     @Autowired
@@ -71,49 +71,48 @@ public class  QuestionReformServiceImpl extends ServiceImpl<QuestionMapper, Ques
         //未删除
         Page<Question> page = query.toPage();
 
-        //查询条件
-        LambdaQueryWrapper<Question> wrapper = new LambdaQueryWrapper<>();
-        //下穿
-        if (query.getCheckSub()) {
-            List<Long> ids = orgService.selectCheckSubOrgIdList(query.getOrgId(), SecurityConstants.INNER);
-            //添加in条件
-            wrapper.in(Question::getOrgId, ids);
-        } else {
-            wrapper.eq(Question::getOrgId, query.getOrgId());
-        }
-        wrapper.ge(Question::getConfirmStatus, 2);
-        wrapper.isNotNull(Question::getReformStatus);
-        if (ObjectUtil.isNotEmpty(query.getReformStatus())) {
-            if(ObjectUtil.equal(query.getReformStatus(),QuestionReformEnum.OverDue.getValue())){
-                wrapper.ne(Question::getConfirmStatus, QuestionConfirmEnum.Closed.getValue());
-                wrapper.lt(Question::getReformDeadline,DateUtil.beginOfDay(new Date()));
-            }else{
-                wrapper.eq(Question::getReformStatus, query.getReformStatus());
-            }
-        }
+//        //查询条件
+//        LambdaQueryWrapper<Question> wrapper = new LambdaQueryWrapper<>();
+//        //下穿
+//        if (query.getCheckSub()) {
+//            List<Long> ids = orgService.selectCheckSubOrgIdList(query.getOrgId(), SecurityConstants.INNER);
+//            //添加in条件
+//            wrapper.in(Question::getOrgId, ids);
+//        } else {
+//            wrapper.eq(Question::getOrgId, query.getOrgId());
+//        }
+//        wrapper.ge(Question::getConfirmStatus, 2);
+//        wrapper.isNotNull(Question::getReformStatus);
+//        if (ObjectUtil.isNotEmpty(query.getReformStatus())) {
+//            if(ObjectUtil.equal(query.getReformStatus(),QuestionReformEnum.OverDue.getValue())){
+//                wrapper.ne(Question::getConfirmStatus, QuestionConfirmEnum.Closed.getValue());
+//                wrapper.lt(Question::getReformDeadline,DateUtil.beginOfDay(new Date()));
+//            }else{
+//                wrapper.eq(Question::getReformStatus, query.getReformStatus());
+//            }
+//        }
 
         //时间范围查询
         if (ObjectUtil.isNotEmpty(query.getReformRange()) && query.getReformRange().length == 2) {
-            Date start = DateUtil.beginOfDay(query.getReformRange()[0]);
-            Date end = DateUtil.endOfDay(query.getReformRange()[1]);
-            wrapper.between(Question::getReformDeadline, start, end);
+            query.getReformRange()[0] = DateUtil.beginOfDay(query.getReformRange()[0]);
+            query.getReformRange()[1] = DateUtil.endOfDay(query.getReformRange()[1]);
         }
 
-        if (ObjectUtil.isNotNull(query.getReformDate())) {
-            Date start = DateUtil.beginOfDay(query.getReformDate());
-            wrapper.ge(Question::getReformDeadline, start);
-
-            Date end = DateUtil.endOfDay(query.getReformDate());
-            wrapper.le(Question::getReformDeadline, end);
-        }
-        if (ObjectUtil.isNotEmpty(query.getSearchKey())) {
-            wrapper.and(w ->
-                    w.like(Question::getCheckContent, query.getSearchKey()).or().like(Question::getQuestionDesc, query.getSearchKey())
-            );
-        }
-        wrapper.orderByDesc(Question::getId);
+//        if (ObjectUtil.isNotNull(query.getReformDate())) {
+//            Date start = DateUtil.beginOfDay(query.getReformDate());
+//            wrapper.ge(Question::getReformDeadline, start);
+//
+//            Date end = DateUtil.endOfDay(query.getReformDate());
+//            wrapper.le(Question::getReformDeadline, end);
+//        }
+//        if (ObjectUtil.isNotEmpty(query.getSearchKey())) {
+//            wrapper.and(w ->
+//                    w.like(Question::getCheckContent, query.getSearchKey()).or().like(Question::getQuestionDesc, query.getSearchKey())
+//            );
+//        }
+//        wrapper.orderByDesc(Question::getId);
         //获取数据
-        page = baseMapper.selectPage(page, wrapper);
+        page = baseMapper.pageReform(page, query, DateUtil.beginOfDay(new Date()));
         page.getRecords().forEach(r -> {
             if (ObjectUtil.notEqual(r.getConfirmStatus(), QuestionConfirmEnum.Closed.getValue()) &&
                     r.getReformDeadline().before(DateUtil.beginOfDay(new Date()))) {
@@ -183,14 +182,14 @@ public class  QuestionReformServiceImpl extends ServiceImpl<QuestionMapper, Ques
     @Override
     public void export(ReformPageDto pageDto, HttpServletResponse response) throws Exception {
         if (ObjectUtil.isNotEmpty(pageDto.getReformRange()) && pageDto.getReformRange().length == 2) {
-            Date[] nd=new Date[2];
-            nd[0]= DateUtil.beginOfDay(pageDto.getReformRange()[0]);
+            Date[] nd = new Date[2];
+            nd[0] = DateUtil.beginOfDay(pageDto.getReformRange()[0]);
             nd[1] = DateUtil.endOfDay(pageDto.getReformRange()[1]);
             pageDto.setReformRange(nd);
         }
 
         List<QuestionExportDto> list = baseMapper.selectReformExportList(pageDto);
-        Integer index=1;
+        Integer index = 1;
         for (QuestionExportDto questionExportDto : list) {
             questionExportDto.setIndex(index++);
         }

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

@@ -76,56 +76,59 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
         Page<Question> page = query.toPage();
 
         //查询条件
-        LambdaQueryWrapper<Question> wrapper = new LambdaQueryWrapper<>();
-        //下穿
-        if (query.getCheckSub()) {
-            List<Long> ids = orgService.selectCheckSubOrgIdList(query.getOrgId(), SecurityConstants.INNER);
-            //添加in条件
-            wrapper.in(Question::getOrgId, ids);
-        } else {
-            wrapper.eq(Question::getOrgId, query.getOrgId());
-        }
-
-        if (ObjectUtil.isNotEmpty(query.getConfirmStatus())) {
-            if (ObjectUtil.equal(query.getConfirmStatus(), QuestionConfirmEnum.OverDue.getValue())) {
-                wrapper.ne(Question::getConfirmStatus, QuestionConfirmEnum.Closed.getValue());
-                wrapper.lt(Question::getReformDeadline, DateUtil.beginOfDay(new Date()));
-            } else {
-                wrapper.eq(Question::getConfirmStatus, query.getConfirmStatus());
-            }
-        }
-
-
+//        LambdaQueryWrapper<Question> wrapper = new LambdaQueryWrapper<>();
+//        //下穿
+//        if (query.getCheckSub()) {
+//            List<Long> ids = orgService.selectCheckSubOrgIdList(query.getOrgId(), SecurityConstants.INNER);
+//            //添加in条件
+//            wrapper.in(Question::getOrgId, ids);
+//        } else {
+//            wrapper.eq(Question::getOrgId, query.getOrgId());
+//        }
+//
+//        if (ObjectUtil.isNotEmpty(query.getConfirmStatus())) {
+//            if (ObjectUtil.equal(query.getConfirmStatus(), QuestionConfirmEnum.OverDue.getValue())) {
+//                wrapper.ne(Question::getConfirmStatus, QuestionConfirmEnum.Closed.getValue());
+//                wrapper.lt(Question::getReformDeadline, DateUtil.beginOfDay(new Date()));
+//            } else {
+//                wrapper.eq(Question::getConfirmStatus, query.getConfirmStatus());
+//            }
+//        }
+//
+//
         if (ObjectUtil.isNotNull(query.getReformDate())) {
+            query.setSubmitRange(new Date[2]);
             Date submitTime = DateUtil.endOfDay(query.getReformDate());
-            wrapper.le(Question::getSubmitTime, submitTime);
+            query.getSubmitRange()[0] = submitTime;
 
             Date reformDeadLine = DateUtil.beginOfDay(query.getReformDate());
-            wrapper.ge(Question::getReformDeadline, reformDeadLine);
+            query.getSubmitRange()[1] = reformDeadLine;
 
-            if (ObjectUtil.isNotEmpty(query.getSearchKey())) {
-                wrapper.and(w ->
-                        w.like(Question::getQuestionDesc, query.getSearchKey())
-                );
-            }
+
+//            if (ObjectUtil.isNotEmpty(query.getSearchKey())) {
+//                wrapper.and(w ->
+//                        w.like(Question::getQuestionDesc, query.getSearchKey())
+//                );
+//            }
         } else {
             //时间范围查询
             if (ObjectUtil.isNotEmpty(query.getSubmitRange()) && query.getSubmitRange().length == 2) {
-                Date start = DateUtil.beginOfDay(query.getSubmitRange()[0]);
-                Date end = DateUtil.endOfDay(query.getSubmitRange()[1]);
-                wrapper.between(Question::getSubmitTime, start, end);
-            }
+                query.getSubmitRange()[0] = DateUtil.beginOfDay(query.getSubmitRange()[0]);
+                query.getSubmitRange()[1] = DateUtil.endOfDay(query.getSubmitRange()[1]);
 
-            if (ObjectUtil.isNotEmpty(query.getSearchKey())) {
-                wrapper.and(w ->
-                        w.like(Question::getCheckContent, query.getSearchKey()).or().like(Question::getQuestionDesc, query.getSearchKey())
-                );
+//                wrapper.between(Question::getSubmitTime, start, end);
             }
-        }
 
-        wrapper.orderByDesc(Question::getId);
+//            if (ObjectUtil.isNotEmpty(query.getSearchKey())) {
+//                wrapper.and(w ->
+//                        w.like(Question::getCheckContent, query.getSearchKey()).or().like(Question::getQuestionDesc, query.getSearchKey())
+//                );
+//            }
+        }
+//
+//        wrapper.orderByDesc(Question::getId);
         //获取数据
-        page = baseMapper.selectPage(page, wrapper);
+        page = baseMapper.pageQuestion(page, query, DateUtil.beginOfDay(new Date()));
         page.getRecords().forEach(r -> {
             if (ObjectUtil.notEqual(r.getConfirmStatus(), QuestionConfirmEnum.Closed.getValue()) &&
                     r.getReformDeadline().before(DateUtil.beginOfDay(new Date()))) {
@@ -185,7 +188,7 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
     public int insertQuestion(Question question) {
         question.setId(IDHelper.id());
 
-        if (ObjectUtil.equal(question.getOrgId(),SecurityUtils.getLoginUser().getOrgId())) {
+        if (ObjectUtil.equal(question.getOrgId(), SecurityUtils.getLoginUser().getOrgId())) {
             question.setConfirmStatus(QuestionConfirmEnum.Confirmed.getValue());
             question.setReformStatus(QuestionReformEnum.Unreform.getValue());
         } else {
@@ -309,32 +312,33 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
 
     /**
      * 当前用户的工作台。有所属机构+有整改权限的待整改、所属机构+有确认权限的待确认、异议提出人+异议状态的异议审批
+     *
      * @param panelListDto
      * @return
      */
     @Override
-    public List<PanelListVo> selectCurUserTaskList(PanelListDto panelListDto){
-        LambdaQueryWrapper<Question> wrapper=new LambdaQueryWrapper<>();
-        Long confirmButton=2353L;
-        Long dissentButton=2354L;
-        Long reformButton=2355L;
-        List<Long> ownPermission= remoteUserService.checkUserPermission(Arrays.asList(confirmButton,dissentButton,reformButton)
-                ,SecurityUtils.getUserId(),SecurityConstants.INNER);
-        if(ownPermission.contains(reformButton)){
-            wrapper.or(w->w.eq(Question::getOrgId,panelListDto.getOrgId()).eq(Question::getReformStatus,QuestionReformEnum.Unreform.getValue()));
+    public List<PanelListVo> selectCurUserTaskList(PanelListDto panelListDto) {
+        LambdaQueryWrapper<Question> wrapper = new LambdaQueryWrapper<>();
+        Long confirmButton = 2353L;
+        Long dissentButton = 2354L;
+        Long reformButton = 2355L;
+        List<Long> ownPermission = remoteUserService.checkUserPermission(Arrays.asList(confirmButton, dissentButton, reformButton)
+                , SecurityUtils.getUserId(), SecurityConstants.INNER);
+        if (ownPermission.contains(reformButton)) {
+            wrapper.or(w -> w.eq(Question::getOrgId, panelListDto.getOrgId()).eq(Question::getReformStatus, QuestionReformEnum.Unreform.getValue()));
         }
 
-        if(ownPermission.contains(confirmButton)){
-            wrapper.or(w->w.eq(Question::getOrgId,panelListDto.getOrgId()).eq(Question::getConfirmStatus,QuestionConfirmEnum.Unconfirm.getValue()));
+        if (ownPermission.contains(confirmButton)) {
+            wrapper.or(w -> w.eq(Question::getOrgId, panelListDto.getOrgId()).eq(Question::getConfirmStatus, QuestionConfirmEnum.Unconfirm.getValue()));
         }
 
-        if(ownPermission.contains(dissentButton)){
-            wrapper.or(w->w.eq(Question::getSubmitorId,SecurityUtils.getUserId()).eq(Question::getConfirmStatus,QuestionConfirmEnum.Dissent.getValue()));
+        if (ownPermission.contains(dissentButton)) {
+            wrapper.or(w -> w.eq(Question::getSubmitorId, SecurityUtils.getUserId()).eq(Question::getConfirmStatus, QuestionConfirmEnum.Dissent.getValue()));
         }
 
-        if(wrapper.isEmptyOfWhere()){
-            return  new ArrayList<>();
-        }else{
+        if (wrapper.isEmptyOfWhere()) {
+            return new ArrayList<>();
+        } else {
             wrapper.select(Question::getId,
                     Question::getQuestionDesc,
                     Question::getOrgId,
@@ -342,24 +346,24 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
                     Question::getReformStatus,
                     Question::getSubmitTime,
                     Question::getReformDeadline);
-            List<Question> list= baseMapper.selectList(wrapper);
-            List<PanelListVo> vos=list.stream().map(item->{
-                PanelListVo vo=new PanelListVo();
+            List<Question> list = baseMapper.selectList(wrapper);
+            List<PanelListVo> vos = list.stream().map(item -> {
+                PanelListVo vo = new PanelListVo();
                 vo.setId(item.getId());
                 vo.setEndTime(item.getReformDeadline());
                 vo.setTaskName(item.getQuestionDesc());
                 vo.setStartTime(item.getSubmitTime());
                 vo.setType(PanelTypeEnums.QUESTION.getCode());
-                if(ObjectUtil.isNull(item.getReformStatus())){
+                if (ObjectUtil.isNull(item.getReformStatus())) {
                     vo.setStatus(item.getConfirmStatus());
-                }else{
+                } else {
                     vo.setStatus(item.getReformStatus());
                 }
 
-                return  vo;
+                return vo;
             }).collect(Collectors.toList());
 
-            return  vos;
+            return vos;
         }
     }
 }

+ 1 - 1
soc-modules/soc-modules-core/src/main/resources/mapper/device/ProtectionMapper.xml

@@ -40,7 +40,7 @@
         <if test="request.startTime!=null and request.endTime!=null">
             and a.status_update_time >= #{request.startTime} and  a.status_update_time&lt;=#{request.endTime}
         </if>
-        order by id desc
+        order by c.sort asc,a.id desc
     </select>
 <!--    <select id="pageLog" resultType="com.xunmei.core.resumption.vo.protection.ProtectionLogPageVo">-->
 <!--        select a.id, a.name as name,a.status as status,a.status_update_time,a.status_updator_name-->

+ 63 - 0
soc-modules/soc-modules-core/src/main/resources/mapper/question/QuestionMapper.xml

@@ -275,6 +275,69 @@
         </foreach>
     </delete>
 
+    <select id="pageQuestion" resultType="com.xunmei.core.question.domain.Question">
+        select * from core_question q
+        inner join sys_org o on q.org_id =o.id
+        where 1=1
+        <if test="params.checkSub==true">
+            and o.path like concat((select path from sys_org where id=#{params.orgId}),"%")
+        </if>
+        <if test="params.checkSub!=true">
+            and q.org_id=#{params.orgId}
+        </if>
+        <if test="params.confirmStatus!=null">
+            <if test="params.confirmStatus==4">
+                and (q.confirm_status!=3) and q.reform_deadline &lt; #{today}
+            </if>
+            <if test="params.confirmStatus!=4">
+                and q.confirm_status=#{params.confirmStatus}
+            </if>
+        </if>
+        <if test="params.reformDate!=null">
+            and q.submit_time &lt;=#{params.submitRange[0]}
+            and q.reform_deadline>=#{params.submitRange[1]}
+            <if test="params.searchKey!=null">
+                and q.question_desc like concat('%',#{params.searchKey},'%')
+            </if>
+        </if>
+        <if test="params.reformDate==null">
+            <if test="params.submitRange!=null and params.submitRange.length==2">
+                and q.submit_time between #{params.submitRange[0]} and #{params.submitRange[1]}
+            </if>
+            <if test="params.searchKey!=null">
+                and (q.question_desc like concat('%',#{params.searchKey},'%') or q.check_content like
+                concat('%',#{params.searchKey},'%'))
+            </if>
+        </if>
+        order by q.submit_time desc,o.sort desc ,q.id desc
+    </select>
+    <select id="pageReform" resultType="com.xunmei.core.question.domain.Question">
+        select * from core_question q
+        inner join sys_org o on q.org_id =o.id
+        where q.confirm_status>=2 and q.reform_status is not null
+        <if test="params.checkSub==true">
+            and o.path like concat((select path from sys_org where id=#{params.orgId}),"%")
+        </if>
+        <if test="params.checkSub!=true">
+            and q.org_id=#{params.orgId}
+        </if>
+        <if test="params.reformStatus!=null">
+            <if test="params.reformStatus==12">
+                and q.confirm_status!=3 and q.reform_deadline &lt; #{today}
+            </if>
+            <if test="params.reformStatus!=12">
+                and q.reform_status=#{params.reformStatus}
+            </if>
+        </if>
+        <if test="params.reformRange!=null and params.reformRange.length==2">
+            and q.submit_time between #{params.reformRange[0]} and #{params.reformRange[1]}
+        </if>
+        <if test="params.searchKey!=null">
+            and (q.question_desc like concat('%',#{params.searchKey},'%') or q.check_content like
+            concat('%',#{params.searchKey},'%'))
+        </if>
+        order by q.submit_time desc,o.sort desc ,q.id desc
+    </select>
     <select id="selectQuestionExceptionData"
             resultType="com.xunmei.common.core.domain.safetyindex.domain.CoreSafetyExceptionData">
         SELECT a.id as dataId,

+ 1 - 1
soc-modules/soc-modules-core/src/main/resources/mapper/resumption/AppPlanMapper.xml

@@ -111,7 +111,7 @@
                 where path like concat((select path from sys_org where id=#{info.orgId}),'%'))
             </if>
         </where>
-        order by a.plan_name COLLATE utf8mb4_general_ci DESC
+        order by a.plan_name DESC
     </select>
     <!--    <select id="selectChildren" parameterType="com.xunmei.core.resumption.dto.plan.CoreResumptionPlanPageDto"-->
     <!--            resultMap="appPlans">-->

+ 1 - 1
soc-modules/soc-modules-core/src/main/resources/mapper/resumption/AppRuleMapper.xml

@@ -40,7 +40,7 @@
                 </if>
             </if>
         </where>
-        order by a.id desc
+        order by a.status asc,a.name desc, a.id desc
     </select>
 
     <select id="getRuleGroupList" resultType="com.xunmei.core.resumption.vo.appRule.AppRuleGroupVo">

+ 2 - 20
soc-modules/soc-modules-core/src/main/resources/mapper/resumption/ResumptionRecordMapper.xml

@@ -109,38 +109,20 @@
     <select id="selectPageByCondition"
             resultType="com.xunmei.core.resumption.vo.resumptionRecord.ResumptionRecordPageVo">
         select r.id as resumptionId,r.exception_count as abnormalDataNums,
-        <!--p.plan_name as time,
-        p.plan_name as planName,-->
         r.name,
         r.plan_id as planId,
-        <!--        p.plan_exec as planExec,-->
         r.ymd_year as year,
         r.ymd_quarter as quarter,
         r.status as status,
         r.role_id as roleId,
-        <!--o.name as orgName ,-->
-        <!--ro.name as roleName,-->
         r.submit_time as submitTime,
         r.update_by as submitter,
-        <!--u.name as submitter,-->
         r.org_id as orgId,
         r.plan_start_time as planStartTime,
         r.plan_end_time as planEndTime
         from core_resumption r
-        <!--inner join t_app_plan p on r.plan_id = p.id
-        inner join sys_org o on r.org_id = o.id and o.deleted = 0
-        inner join t_role ro on ro.id = r.role_id
-        eft join t_user u on u.id=r.modified_id-->
+        inner join sys_org o on r.org_id=o.id
         <where>
-<!--            <choose>-->
-<!--                <when test="pageDto.executeCycle  ==1">-->
-<!--                    r.type in (1,2)-->
-<!--                </when>-->
-<!--                <otherwise>-->
-<!--                    r.type = #{pageDto.executeCycle}-->
-<!--                </otherwise>-->
-<!--            </choose>-->
-
             <if test="isTime==true">
                 and r.ymd_year between #{hashMap.startYear} and #{hashMap.endYear}
                 and r.ymd_quarter in
@@ -183,7 +165,7 @@
             <!--            </if>-->
 
         </where>
-        order by r.plan_start_time desc ,r.plan_end_time desc
+        order by r.name desc ,o.sort asc,r.id desc
     </select>
     <select id="selectResumptionDataList"
             resultType="com.xunmei.core.resumption.vo.resumptionRecord.AppResumptionDataInfoVo">