Parcourir la source

修复bug:app年检统计重复问题,维保计划修改问题

别傲 il y a 5 ans
Parent
commit
d5f4e1eb8c

+ 9 - 4
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/service/MaintenancePlanService.java

@@ -122,6 +122,7 @@ public class MaintenancePlanService extends ServiceImpl<MaintenancePlanMapper, M
         lambdaQueryWrapper.eq(MaintenancePlan::getProjectId, request.getProjectId());
         lambdaQueryWrapper.eq(MaintenancePlan::getLiftId, request.getLiftId());
         lambdaQueryWrapper.between(MaintenancePlan::getPlanDate, request.getBeginTime(), request.getEndTime());
+        lambdaQueryWrapper.orderByAsc(MaintenancePlan::getPlanDate);
         return list(lambdaQueryWrapper);
     }
 
@@ -359,13 +360,17 @@ public class MaintenancePlanService extends ServiceImpl<MaintenancePlanMapper, M
      * @description 查询当前时间之后的维保计划
      * @date 2020/1/7 2:40 下午
      */
-    public List<MaintenancePlan> findPlanList(Long liftId, Long projectId, Long mtCompanyId, LocalDate currentTime) {
+    public List<MaintenancePlan> findPlanList(Long liftId, Long projectId, Long mtCompanyId, LocalDate currentTime, String source) {
         QueryWrapper<MaintenancePlan> queryWrapper = new QueryWrapper<>();
         LambdaQueryWrapper<MaintenancePlan> lambdaQueryWrapper = queryWrapper.lambda();
         lambdaQueryWrapper.eq(MaintenancePlan::getLiftId, liftId);
         lambdaQueryWrapper.eq(MaintenancePlan::getProjectId, projectId);
         lambdaQueryWrapper.eq(MaintenancePlan::getMtCompanyId, mtCompanyId);
-        lambdaQueryWrapper.gt(MaintenancePlan::getPlanDate, currentTime);
+        if (source.equals("plan")) {
+            lambdaQueryWrapper.ge(MaintenancePlan::getPlanDate, currentTime);
+        } else {
+            lambdaQueryWrapper.gt(MaintenancePlan::getPlanDate, currentTime);
+        }
         return list(lambdaQueryWrapper);
     }
 
@@ -434,7 +439,7 @@ public class MaintenancePlanService extends ServiceImpl<MaintenancePlanMapper, M
         List<MaintenancePlan> plans = new ArrayList<>();
         if (isNotNull && ObjectUtil.isEmpty(updateInterval)) {
             //获取当前时间后的维保计划列表,并清除计划
-            planList = findPlanList(liftId, projectId, mtCompanyId, currentTime);
+            planList = findPlanList(liftId, projectId, mtCompanyId, currentTime, "plan");
             removeByIds(planList.stream().map(MaintenancePlan::getId).collect(Collectors.toList()));
             //按照修改时间重新生成计划
             plans = generatePlan(plan, periods, interval, updateTime, endDate);
@@ -463,7 +468,7 @@ public class MaintenancePlanService extends ServiceImpl<MaintenancePlanMapper, M
         }
         MaintenancePlan newPlan = plans.get(0);
         String workerName = commonMapper.queryUserNameById(workerId);
-        String creatorName = commonMapper.queryUserNameById(plan.getCreatorId());
+        String creatorName = commonMapper.queryUserNameById(newPlan.getCreatorId());
         //发送修改计划消息推送
         sendModifyMessage(liftId, projectId, mtCompanyId, interval, newPlan.getPlanDate(), newPlan.getType(), workerName, creatorName, workerId);
         return saveBatch(plans, plans.size());

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/service/MaintenanceRecordService.java

@@ -168,7 +168,7 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
         ProjectLiftRelevance entry = projectLiftRelevanceService.getOne(mtCompanyId, liftId);
         if (ObjectUtil.isEmpty(entry)) return false;
         int interval = entry.getPlanInterval();
-        List<MaintenancePlan> planList = maintenancePlanService.findPlanList(liftId, projectId, mtCompanyId, request.getCurrentTime());
+        List<MaintenancePlan> planList = maintenancePlanService.findPlanList(liftId, projectId, mtCompanyId, request.getCurrentTime(), "record");
         //提前保养跳过当前保养的计划
         Iterator<MaintenancePlan> iterator = planList.iterator();
         if (iterator.hasNext()) {

+ 1 - 1
lift-business-service/src/main/resources/mapper/annualinspection/AnnualInspectionMapper.xml

@@ -276,7 +276,7 @@
     <!--app统计年检列表待确认总数 -->
     <select id="countInspectionConfirmByUserId" resultType="java.lang.Integer"
             parameterType="cn.com.ty.lift.business.annualinspection.dto.InspectionRequest">
-        SELECT count(1) toConfirm
+        SELECT COUNT(DISTINCT li.id) toConfirm
         FROM lift li
         LEFT JOIN project_lift_relevance plr ON li.id = plr.lift_id AND plr.delete_flag = '0'
         LEFT JOIN project_user pu ON pu.project_id = plr.project_id

+ 9 - 11
lift-business-service/src/main/resources/mapper/lift/LiftMapper.xml

@@ -257,17 +257,15 @@
         <if test="request.mtCompanyId != null and request.mtCompanyId > 0">
             AND plr.mt_company_id = #{request.mtCompanyId}
         </if>
-        <if test="request.userId != null and request.userId > 0">
-            <choose>
-                <when test="request.currentRoleCode == 'REGION_DIRECTOR' or request.currentRoleCode == 'CLERK' ">
-                    AND pu.user_id = #{request.userId,jdbcType=BIGINT}
-                </when>
-                <when test="request.currentRoleCode == 'ROLEMTWORK' ">
-                    AND plr.worker_id = #{request.userId,jdbcType=BIGINT}
-                </when>
-                <otherwise/>
-            </choose>
-        </if>
+        <choose>
+            <when test="request.currentRoleCode == 'REGION_DIRECTOR' or request.currentRoleCode == 'CLERK' ">
+                AND pu.user_id = #{request.userId,jdbcType=BIGINT}
+            </when>
+            <when test="request.currentRoleCode == 'ROLEMTWORK' ">
+                AND plr.worker_id = #{request.userId,jdbcType=BIGINT}
+            </when>
+            <otherwise/>
+        </choose>
     </select>
     <select id="groupByRegistrationCode" resultType="cn.com.ty.lift.business.library.dao.entity.Lift">
         SELECT