Selaa lähdekoodia

[chg] 维保项list接口,优化年检和急修的修改事务

wcz 5 vuotta sitten
vanhempi
commit
1e16af8fd3

+ 80 - 57
lift-business-service/src/main/java/cn/com/ty/lift/business/annualinspection/service/AnnualInspectionService.java

@@ -45,18 +45,20 @@ public class AnnualInspectionService extends ServiceImpl<AnnualInspectionMapper,
 
     /**
      * 年检列表中根据条件分页查询记录
+     *
      * @param request
      * @return
      */
     public IPage<InspectionResponse> pageByCondition(InspectionRequest request) {
         long pageNum = request.getPageNum();
         long pageSize = request.getPageSize();
-        IPage<InspectionResponse> page = new Page<>(pageNum,pageSize);
-        return baseMapper.pageByCondition(page,request);
+        IPage<InspectionResponse> page = new Page<>(pageNum, pageSize);
+        return baseMapper.pageByCondition(page, request);
     }
 
     /**
      * 年检列表中根据条件计算记录总条数
+     *
      * @param request
      * @return
      */
@@ -66,6 +68,7 @@ public class AnnualInspectionService extends ServiceImpl<AnnualInspectionMapper,
 
     /**
      * 根据id查询单个年检记录的详情,带全部关联信息
+     *
      * @param request
      * @return
      */
@@ -75,66 +78,65 @@ public class AnnualInspectionService extends ServiceImpl<AnnualInspectionMapper,
 
     /**
      * 根据用户id查询关联的年检
+     *
      * @param request
      * @return
      */
     public IPage<InspectionResponse> pageByUser(InspectionRequest request) {
         long pageNum = request.getPageNum();
         long pageSize = request.getPageSize();
-        IPage<InspectionResponse> page = new Page<>(pageNum,pageSize);
-        return baseMapper.pageByUser(page,request);
+        IPage<InspectionResponse> page = new Page<>(pageNum, pageSize);
+        return baseMapper.pageByUser(page, request);
     }
 
     /**
      * 阶段2 修改电梯的业务状态为年检中
      * 阶段3 如果合格,修改电梯的业务状态为正常,
      * 完成年检,如果是不合格,清空维保计划,如果是合格,直接更新
+     *
      * @param entity
      * @return
      */
     @Transactional
-    public boolean finish(AnnualInspection entity){
+    public boolean finish(AnnualInspection entity) {
+        //更新年检
         boolean up = saveOrUpdate(entity);
-        if (!up){
+        //更新失败,直接返回false
+        if (!up) {
             return false;
         }
+
         Integer stepStatus = entity.getStepStatus();
         Integer stepName = entity.getStepName();
+        Long mtCompanyId = entity.getMtCompanyId();
+        Long liftId = entity.getLiftId();
+
         //阶段2 修改电梯的业务状态为年检中
-        if(Values.Ai.stepTwo(stepName)){
-            PlatformCompanyLiftRelevance relevance = platformCompanyLiftRelevanceService.findByMtCompanyAndLift(entity.getMtCompanyId(),entity.getLiftId());
-            if(null != relevance){
-                relevance.setLiftCompanyStatus(CommonEnum.LiftStatus.ANNUAL_INSPECTION.getCode());
-                boolean re = platformCompanyLiftRelevanceService.updateById(relevance);
-                if(re){
-                    return true;
-                }else{
-                    //强制手动事务回滚
-                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    return false;
-                }
+        if (Values.Ai.stepTwo(stepName)) {
+            PlatformCompanyLiftRelevance relevance = platformCompanyLiftRelevanceService.findByMtCompanyAndLift(mtCompanyId, liftId);
+            if (null == relevance) {
+                return false;
+            }
+            relevance.setLiftCompanyStatus(CommonEnum.LiftStatus.ANNUAL_INSPECTION.getCode());
+            boolean re = platformCompanyLiftRelevanceService.updateById(relevance);
+            if (re) {
+                return true;
+            } else {
+                //强制手动事务回滚
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return false;
             }
         }
 
         //阶段3 如果合格,修改电梯的业务状态为正常,
-        if(Values.Ai.stepThree(stepName)){
-            PlatformCompanyLiftRelevance relevance = platformCompanyLiftRelevanceService.findByMtCompanyAndLift(entity.getMtCompanyId(),entity.getLiftId());
-            if(null != relevance){
-                relevance.setLiftCompanyStatus(CommonEnum.LiftStatus.NORMAL.getCode());
-                boolean re = platformCompanyLiftRelevanceService.updateById(relevance);
-                if(re){
-                    return true;
-                }else{
-                    //强制手动事务回滚
-                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    return false;
-                }
+        if (Values.Ai.stepThree(stepName)) {
+            PlatformCompanyLiftRelevance relevance = platformCompanyLiftRelevanceService.findByMtCompanyAndLift(mtCompanyId, liftId);
+            if (null == relevance) {
+                return false;
             }
-        }
-        //todo 不合格:流程结束,电梯扭转到不合格状态列表,电梯停保,清理维保计划记录
-        if(Values.Ai.statusCertificateReportUnqualified(stepStatus)) {
-            boolean mp = maintenancePlanService.cleanPlan(entity.getMtCompanyId(), entity.getLiftId());
-            if (mp) {
+            relevance.setLiftCompanyStatus(CommonEnum.LiftStatus.NORMAL.getCode());
+            boolean re = platformCompanyLiftRelevanceService.updateById(relevance);
+            if (re) {
                 return true;
             } else {
                 //强制手动事务回滚
@@ -142,35 +144,56 @@ public class AnnualInspectionService extends ServiceImpl<AnnualInspectionMapper,
                 return false;
             }
         }
-        //todo:合格:修改电梯的年检时间lift-annual_inspection_date,增加lift_history记录
-        if(Values.Ai.statusCertificateReportQualified(stepStatus)){
-            Lift lift = liftService.getById(entity.getLiftId());
-            if(null == lift){
-                return false;
+
+        //阶段4 年检结果不合格 or 合格
+        if (Values.Ai.stepFour(stepName)) {
+            //todo 不合格:流程结束,电梯扭转到不合格状态列表,电梯停保,清理维保计划记录
+            if (Values.Ai.statusCertificateReportUnqualified(stepStatus)) {
+                boolean mp = maintenancePlanService.cleanPlan(mtCompanyId, liftId);
+                if (mp) {
+                    return true;
+                } else {
+                    //强制手动事务回滚
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return false;
+                }
             }
-            LocalDate oldInspectionDate = lift.getAnnualInspectionDate();
-            lift.setAnnualInspectionDate(entity.getNextInspectionTime());
-            boolean li = liftService.updateById(lift);
-            boolean lh = false;
-            if(li){
+            //todo:合格:修改电梯的年检时间lift-annual_inspection_date,增加lift_history记录
+            if (Values.Ai.statusCertificateReportQualified(stepStatus)) {
+                //电梯不存在,说明数据有误,直接返回false
+                Lift lift = liftService.getById(liftId);
+                if (null == lift) {
+                    return false;
+                }
+                //更新电梯之前获取旧的年检时间
+                LocalDate oldInspectionDate = lift.getAnnualInspectionDate();
+                LocalDate nextInspectionTime = entity.getNextInspectionTime();
+                lift.setAnnualInspectionDate(nextInspectionTime);
+                boolean li = liftService.updateById(lift);
+                //更新电梯失败,返回false
+                if (!li) {
+                    return false;
+                }
+                //更新电梯成功,插入电梯操作记录
                 LiftHistory liftHistory = new LiftHistory();
                 liftHistory.setId(IdWorker.getId());
-                liftHistory.setMtCompanyId(entity.getMtCompanyId());
-                liftHistory.setLiftId(entity.getLiftId());
+                liftHistory.setMtCompanyId(mtCompanyId);
+                liftHistory.setLiftId(liftId);
                 liftHistory.setCode(lift.getLiftCode());
                 liftHistory.setDescription("修改电梯年检日期");
-                liftHistory.setContent(StrUtil.format("电梯年检日期由:{}修改成{}",oldInspectionDate,entity.getNextInspectionTime()));
+                liftHistory.setContent(StrUtil.format("电梯年检日期由:{}修改成{}", oldInspectionDate, nextInspectionTime));
                 //fixme:获取当前登录用户
-                liftHistory.setOperatorId(1l);
+                liftHistory.setOperatorId(entity.getCreatorId());
                 liftHistory.setOperateDate(LocalDateTime.now());
-                lh = liftHistoryService.save(liftHistory);
-            }
-            if(li && lh){
-                return true;
-            }else{
-                //强制手动事务回滚
-                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return false;
+                boolean lh = liftHistoryService.save(liftHistory);
+                //插入电梯记录成功,直接返回true,否则手动事务回滚,返回false
+                if (lh) {
+                    return true;
+                } else {
+                    //强制手动事务回滚
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return false;
+                }
             }
         }
         return true;

+ 119 - 100
lift-business-service/src/main/java/cn/com/ty/lift/business/emergency/service/EmergencyRepairService.java

@@ -45,30 +45,33 @@ public class EmergencyRepairService extends ServiceImpl<EmergencyRepairMapper, E
 
     /**
      * 分页查询急修中的急修记录
+     *
      * @param request
      * @return
      */
     public IPage<RepairResponse> pageByRepairing(RepairRequest request) {
         long pageSize = request.getPageSize();
         long pageNum = request.getPageNum();
-        IPage<RepairResponse>  page = new Page<>(pageNum,pageSize);
-        return baseMapper.pageByRepairing(page,request);
+        IPage<RepairResponse> page = new Page<>(pageNum, pageSize);
+        return baseMapper.pageByRepairing(page, request);
     }
 
     /**
      * 根据条件分页查询急修记录
+     *
      * @param request
      * @return
      */
     public IPage<RepairResponse> pageByCondition(RepairRequest request) {
         long pageNum = request.getPageNum();
         long pageSize = request.getPageSize();
-        IPage<RepairResponse> page = new Page<>(pageNum,pageSize);
-        return baseMapper.pageByCondition(page,request);
+        IPage<RepairResponse> page = new Page<>(pageNum, pageSize);
+        return baseMapper.pageByCondition(page, request);
     }
 
     /**
      * 根据条件统计急修记录总条数
+     *
      * @param request
      * @return
      */
@@ -78,6 +81,7 @@ public class EmergencyRepairService extends ServiceImpl<EmergencyRepairMapper, E
 
     /**
      * 根据id查询急修记录,带关联信息
+     *
      * @param request
      * @return
      */
@@ -87,34 +91,37 @@ public class EmergencyRepairService extends ServiceImpl<EmergencyRepairMapper, E
 
     /**
      * 根据用户id查询关联的急修
+     *
      * @param request
      * @return
      */
     public IPage<RepairResponse> pageByUser(RepairRequest request) {
         long pageNum = request.getPageNum();
         long pageSize = request.getPageSize();
-        IPage<RepairResponse> page = new Page<>(pageNum,pageSize);
-        return baseMapper.pageByUser(page,request);
+        IPage<RepairResponse> page = new Page<>(pageNum, pageSize);
+        return baseMapper.pageByUser(page, request);
     }
 
     /**
      * 急修接单,修改急修为修理中,修改电梯的业务状态为急修中
+     *
      * @param entity
      * @return
      */
     @Transactional
     public boolean taking(EmergencyRepair entity) {
         boolean er = updateById(entity);
-        boolean re = false;
-        if (er) {
-            PlatformCompanyLiftRelevance relevance = platformCompanyLiftRelevanceService.findByMtCompanyAndLift(entity.getMtCompanyId(), entity.getLiftId());
-            if (null != relevance) {
-                //电梯业务状态改成急修中
-                relevance.setLiftCompanyStatus(CommonEnum.LiftStatus.EMERGENCY_REPAIR.getCode());
-                re = platformCompanyLiftRelevanceService.updateById(relevance);
-            }
+        if (!er) {
+            return false;
+        }
+        PlatformCompanyLiftRelevance relevance = platformCompanyLiftRelevanceService.findByMtCompanyAndLift(entity.getMtCompanyId(), entity.getLiftId());
+        if (null == relevance) {
+            return false;
         }
-        if (er && re) {
+        //电梯业务状态改成急修中
+        relevance.setLiftCompanyStatus(CommonEnum.LiftStatus.EMERGENCY_REPAIR.getCode());
+        boolean re = platformCompanyLiftRelevanceService.updateById(relevance);
+        if (re) {
             return true;
         } else {
             //强制手动事务回滚
@@ -122,17 +129,19 @@ public class EmergencyRepairService extends ServiceImpl<EmergencyRepairMapper, E
             return false;
         }
     }
+
     /**
      * 根据维保公司和电梯id查找急修
+     *
      * @param mtCompanyId
      * @param liftId
      * @return
      */
-    public EmergencyRepair findByMtCompanyAndLift(Long mtCompanyId,Long liftId){
+    public EmergencyRepair findByMtCompanyAndLift(Long mtCompanyId, Long liftId) {
         QueryWrapper<EmergencyRepair> queryWrapper = new QueryWrapper<>();
         LambdaQueryWrapper<EmergencyRepair> lambdaQueryWrapper = queryWrapper.lambda();
         lambdaQueryWrapper.eq(EmergencyRepair::getMtCompanyId, mtCompanyId);
-        lambdaQueryWrapper.eq(EmergencyRepair::getLiftId,liftId);
+        lambdaQueryWrapper.eq(EmergencyRepair::getLiftId, liftId);
         //只查询一条
         lambdaQueryWrapper.last("LIMIT 1");
         return getOne(lambdaQueryWrapper);
@@ -140,60 +149,66 @@ public class EmergencyRepairService extends ServiceImpl<EmergencyRepairMapper, E
 
     /**
      * 电梯管理中根据电梯,维保公司和项目查询急修记录
+     *
      * @param request
      * @return
      */
-    public IPage<RepairResponse> pageByCompanyLiftProject(RepairRequest request){
+    public IPage<RepairResponse> pageByCompanyLiftProject(RepairRequest request) {
         long pageSize = request.getPageSize();
         long pageNum = request.getPageNum();
-        IPage<RepairResponse> page = new Page<>(pageNum,pageSize);
-        return baseMapper.pageByLift(page,request);
+        IPage<RepairResponse> page = new Page<>(pageNum, pageSize);
+        return baseMapper.pageByLift(page, request);
     }
+
     /**
      * 统计维保公司和电梯下是否存在待急修和急修中的急修单
+     *
      * @param mtCompanyId
      * @param liftId
      * @return
      */
-    public int countRepairing(Long mtCompanyId,Long liftId){
+    public int countRepairing(Long mtCompanyId, Long liftId) {
         QueryWrapper<EmergencyRepair> queryWrapper = new QueryWrapper<>();
         LambdaQueryWrapper<EmergencyRepair> lambdaQueryWrapper = queryWrapper.lambda();
         lambdaQueryWrapper.eq(EmergencyRepair::getMtCompanyId, mtCompanyId);
-        lambdaQueryWrapper.eq(EmergencyRepair::getLiftId,liftId);
-        lambdaQueryWrapper.in(EmergencyRepair::getStatus,Arrays.asList(Values.Er.STATUS_TO_REPAIRED,Values.Er.STATUS_REPAIRING));
+        lambdaQueryWrapper.eq(EmergencyRepair::getLiftId, liftId);
+        lambdaQueryWrapper.in(EmergencyRepair::getStatus, Arrays.asList(Values.Er.STATUS_TO_REPAIRED, Values.Er.STATUS_REPAIRING));
         return count(lambdaQueryWrapper);
 
     }
+
     /**
      * 开启维保,暂停急修,修改电梯业务状态为维保中
+     *
      * @param mtCompanyId
      * @param liftId
      * @return
      */
     @Transactional
-    public boolean startMaintenance(Long mtCompanyId,Long liftId){
+    public boolean startMaintenance(Long mtCompanyId, Long liftId) {
         // 如果急修单不存在,直接返回,
-        EmergencyRepair emergencyRepair = findByMtCompanyAndLift(mtCompanyId,liftId);
-        if(null == emergencyRepair){
+        EmergencyRepair emergencyRepair = findByMtCompanyAndLift(mtCompanyId, liftId);
+        if (null == emergencyRepair) {
             return true;
         }
         // 如果存在,并且急修中
-        if(Values.Er.statusRepairing(emergencyRepair.getStatus())){
+        if (Values.Er.statusRepairing(emergencyRepair.getStatus())) {
             //急修改成暂停中
             emergencyRepair.setStatus(Values.Er.STATUS_STOPING);
             boolean er = updateById(emergencyRepair);
-            boolean re = false;
-            if(er){
-                PlatformCompanyLiftRelevance relevance = platformCompanyLiftRelevanceService.findByMtCompanyAndLift(mtCompanyId,liftId);
-                if(null != relevance){
-                    //电梯业务状态改成维保中
-                    relevance.setLiftCompanyStatus(CommonEnum.LiftStatus.MAINTENANCE.getCode());
-                    re = platformCompanyLiftRelevanceService.updateById(relevance);
-                }
+            if (!er) {
+                return false;
+            }
+            PlatformCompanyLiftRelevance relevance = platformCompanyLiftRelevanceService.findByMtCompanyAndLift(mtCompanyId, liftId);
+            if (null == relevance) {
+                return false;
             }
-            if(er && re){
+            //电梯业务状态改成维保中
+            relevance.setLiftCompanyStatus(CommonEnum.LiftStatus.MAINTENANCE.getCode());
+            boolean re = platformCompanyLiftRelevanceService.updateById(relevance);
+            if (re) {
                 return true;
-            }else{
+            } else {
                 //强制手动事务回滚
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return false;
@@ -204,33 +219,32 @@ public class EmergencyRepairService extends ServiceImpl<EmergencyRepairMapper, E
 
     /**
      * 停止维保,恢复急修,修改电梯业务状态为急修中
+     *
      * @param mtCompanyId
      * @param liftId
      * @return
      */
-    public boolean stopMaintenance(Long mtCompanyId,Long liftId){
+    public boolean stopMaintenance(Long mtCompanyId, Long liftId) {
         //如果急修单不存在,直接返回,
-        EmergencyRepair emergencyRepair = findByMtCompanyAndLift(mtCompanyId,liftId);
-        if(null == emergencyRepair){
+        EmergencyRepair emergencyRepair = findByMtCompanyAndLift(mtCompanyId, liftId);
+        if (null == emergencyRepair) {
             return true;
         }
-        if(Values.Er.statusStoping(emergencyRepair.getStatus())){
+        if (Values.Er.statusStoping(emergencyRepair.getStatus())) {
             //恢复暂停中的急修为急修中
             emergencyRepair.setStatus(Values.Er.STATUS_REPAIRING);
             boolean er = updateById(emergencyRepair);
-            boolean re = false;
-            if(er){
-                PlatformCompanyLiftRelevance relevance = platformCompanyLiftRelevanceService.findByMtCompanyAndLift(mtCompanyId,liftId);
-                if(null == relevance){
-                    return false;
-                }
-                //电梯业务状态改成急修中
-                relevance.setLiftCompanyStatus(CommonEnum.LiftStatus.EMERGENCY_REPAIR.getCode());
-                re = platformCompanyLiftRelevanceService.updateById(relevance);
+            if (!er) return false;
+            PlatformCompanyLiftRelevance relevance = platformCompanyLiftRelevanceService.findByMtCompanyAndLift(mtCompanyId, liftId);
+            if (null == relevance) {
+                return false;
             }
-            if(er && re){
+            //电梯业务状态改成急修中
+            relevance.setLiftCompanyStatus(CommonEnum.LiftStatus.EMERGENCY_REPAIR.getCode());
+            boolean re = platformCompanyLiftRelevanceService.updateById(relevance);
+            if (re) {
                 return true;
-            }else{
+            } else {
                 //强制手动事务回滚
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return false;
@@ -241,112 +255,117 @@ public class EmergencyRepairService extends ServiceImpl<EmergencyRepairMapper, E
 
     /**
      * 生成急修单,同时插入急修图片记录
+     *
      * @param repair
      * @param erRecordImgs
      * @return
      */
     @Transactional
-    public boolean repairOrder(EmergencyRepair repair, List<ErRecordImg> erRecordImgs){
+    public boolean repairOrder(EmergencyRepair repair, List<ErRecordImg> erRecordImgs) {
         Judge.notNull(repair);
         Judge.notNull(erRecordImgs);
         boolean re = saveOrUpdate(repair);
-        if(re){
-            boolean im = erRecordImgService.saveBatch(erRecordImgs);
-            if(im){
-                return true;
-            }else{
-                //强制手动事务回滚
-                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return false;
-            }
+        if (!re) {
+            return false;
+        }
+        boolean im = erRecordImgService.saveBatch(erRecordImgs);
+        if (im) {
+            return true;
+        } else {
+            //强制手动事务回滚
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return false;
         }
-        return false;
     }
 
     /**
      * 插入急修收费项,同时更新急修记录总金额
+     *
      * @param repair
      * @param erRecordCosts
      * @return
      */
     @Transactional
-    public boolean costAdd(EmergencyRepair repair, List<ErRecordCost> erRecordCosts){
+    public boolean costAdd(EmergencyRepair repair, List<ErRecordCost> erRecordCosts) {
         boolean re = saveOrUpdate(repair);
-        if(re){
-            boolean er = erRecordCostService.saveBatch(erRecordCosts);
-            if(er){
-                return true;
-            }else{
-                //强制手动事务回滚
-                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return false;
-            }
+        if (!re) {
+            return false;
+        }
+        boolean er = erRecordCostService.saveBatch(erRecordCosts);
+        if (er) {
+            return true;
+        } else {
+            //强制手动事务回滚
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return false;
         }
-        return false;
     }
 
     /**
      * 修改收费项,更新急修总金额
+     *
      * @param repair
      * @param erRecordCosts
      * @return
      */
     @Transactional
-    public boolean costModify(EmergencyRepair repair,List<ErRecordCost> erRecordCosts){
+    public boolean costModify(EmergencyRepair repair, List<ErRecordCost> erRecordCosts) {
         boolean re = saveOrUpdate(repair);
-        if(re){
-            boolean er = erRecordCostService.updateBatchById(erRecordCosts);
-            if(er){
-                return true;
-            }else{
-                //强制手动事务回滚
-                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return false;
-            }
+        if (!re) {
+            return false;
+        }
+        boolean er = erRecordCostService.updateBatchById(erRecordCosts);
+        if (er) {
+            return true;
+        } else {
+            //强制手动事务回滚
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return false;
         }
-        return false;
     }
 
     /**
      * 删除收费项,修改急修中的总金额
+     *
      * @param repair
      * @param erRecordCost
      * @return
      */
     @Transactional
-    public boolean costDelete(EmergencyRepair repair,ErRecordCost erRecordCost){
+    public boolean costDelete(EmergencyRepair repair, ErRecordCost erRecordCost) {
         boolean er = erRecordCostService.removeById(erRecordCost);
-        if(er){
-            boolean re = updateById(repair);
-            if(re){
-                return true;
-            }else{
-                //强制手动事务回滚
-                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return false;
-            }
+        if (!er) {
+            return false;
+        }
+        boolean re = updateById(repair);
+        if (re) {
+            return true;
+        } else {
+            //强制手动事务回滚
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return false;
         }
-        return false;
     }
 
     /**
      * 急修评价,同时更新急修的评价状态
+     *
      * @param repair
      * @param entity
      * @return
      */
     @Transactional
-    public boolean evaluate(EmergencyRepair repair, Evaluation entity){
+    public boolean evaluate(EmergencyRepair repair, Evaluation entity) {
         boolean ev = evaluationService.save(entity);
-        if(!ev){
+        if (!ev) {
             return false;
         }
         //设置评价状态
         repair.setHasEvaluate(1);
         boolean re = updateById(repair);
-        if(re){
+        if (re) {
             return true;
-        }else{
+        } else {
             //强制手动事务回滚
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             return false;

+ 0 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/evaluation/dao/entity/Evaluation.java

@@ -46,7 +46,6 @@ public class Evaluation implements Serializable {
     /**
      * 来源(1 维保;2 急修)
      */
-    @NotNull(message = "评价来源不能为空")
     @Range(min = 1,max = 2,message = "评价来源有误")
     private Integer source;
 

+ 1 - 3
lift-business-service/src/main/java/cn/com/ty/lift/business/library/service/LiftService.java

@@ -423,7 +423,6 @@ public class LiftService extends ServiceImpl<LiftMapper, Lift> {
         codes.forEach(code -> {
             List<Long> ids = lifts.stream().filter(lift -> (StrUtil.equals(code, lift.getRegistrationCode()))).map(Lift::getId).collect(Collectors.toList());
             codeIdMap.put(code, ids);
-//            log.info("{} <--> {}",code,ids);
         });
         //从相同registration_code中的lift_id的集合,取出第一个id保留,剩下的删除,并且把删除的id引用update成保留的id
         Collection<List<Long>> liftIds = codeIdMap.values();
@@ -467,12 +466,11 @@ public class LiftService extends ServiceImpl<LiftMapper, Lift> {
 //        updateTables.add("reward_lift");
         for (int i = 0; i < updateTables.size(); i++) {
             String table = updateTables.get(i);
-            int num = i + 2;
             updateBuffer.append(StrUtil.format("-- 更新{}中lift_id :{}", table, DateUtil.now())).append("\n\n");
             updateIds.entrySet().forEach(entry -> {
                 updateBuffer.append(StrUtil.format("UPDATE {} SET lift_id = {} WHERE lift_id IN ({});", table, entry.getKey(), StrUtil.join(",", entry.getValue()))).append("\n");
             });
-            sqlname = StrUtil.format("./sql/{}.update_{}.sql",num,table);
+            sqlname = StrUtil.format("./sql/{}.update_{}.sql",(i + 2),table);
             FileUtil.writeString(updateBuffer.toString(), new File(sqlname), "utf-8");
             log.info("生成UPDATE操作sql文件:{}",sqlname);
             //清空buffer

+ 16 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/controller/MaintenanceRecordController.java

@@ -125,8 +125,8 @@ public class MaintenanceRecordController {
      * 维保项-树形
      * @return
      */
-    @PostMapping("options")
-    public RestResponse options(@RequestBody MtRecordRequest request){
+    @PostMapping("treeOptions")
+    public RestResponse treeOptions(@RequestBody MtRecordRequest request){
         Integer type = request.getType();
         Integer liftType = request.getLiftType();
         Long mtCompanyId = request.getMtCompanyId();
@@ -143,6 +143,20 @@ public class MaintenanceRecordController {
         return RestResponse.success(mtOptionTrees);
     }
 
+    /**
+     * 维保项list
+     * @param request
+     * @return
+     */
+    @PostMapping("listOptions")
+    public RestResponse listOptions(@RequestBody MtRecordRequest request){
+        Integer type = request.getType();
+        Integer liftType = request.getLiftType();
+        Long mtCompanyId = request.getMtCompanyId();
+        Judge.ids(type,liftType,mtCompanyId);
+        List<MaintenanceOption> optionList = maintenanceOptionService.listByTypeAndLiftType(type,liftType,mtCompanyId);
+        return RestResponse.success(optionList);
+    }
     /**
      * 填写保养单
      * @param entity

+ 16 - 4
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/common/Judge.java

@@ -24,8 +24,20 @@ public interface Judge {
      * 检查id类型值,如果为null或者<= 0 ,直接抛出异常,返回结果
      * @param id
      */
-    static void id(Long id) {
-        if(null == id || id <= 0){
+    static void id(Number id) {
+        if(null == id){
+            throw new JudgeException(INVALID_IDENTIFIER);
+        }
+        if(id instanceof Long && id.longValue() <= 0){
+            throw new JudgeException(INVALID_IDENTIFIER);
+        }
+        if(id instanceof Integer && id.intValue() <= 0){
+            throw new JudgeException(INVALID_IDENTIFIER);
+        }
+        if(id instanceof Float && id.floatValue() <= 0){
+            throw new JudgeException(INVALID_IDENTIFIER);
+        }
+        if(id instanceof Double && id.doubleValue() <= 0){
             throw new JudgeException(INVALID_IDENTIFIER);
         }
     }
@@ -34,10 +46,10 @@ public interface Judge {
      * 判断多个id有效,ids为空,或者出现id <= 0,抛出异常
      * @param ids
      */
-    static void ids(Long... ids){
+    static void ids(Number... ids){
         notNull(ids,INVALID_IDENTIFIER);
         isTrue(ids.length > 0,INVALID_IDENTIFIER);
-        List<Long> list = Arrays.asList(ids);
+        List<Number> list = Arrays.asList(ids);
         list.forEach(id -> {
             id(id);
         });

+ 1 - 1
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/common/Values.java

@@ -62,6 +62,6 @@ public interface Values {
         String PmDownClock = "下午下班打卡";
         String OtTopClock = "加班上班打卡";
         String OtDownClock = "加班下班打卡";
-        String MissingAddress = "缺少地址信息";
+        String hadClock = "打卡记录已存在";
     }
 }

+ 4 - 1
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/oa/controller/AttendanceController.java

@@ -123,12 +123,15 @@ public class AttendanceController {
     @PostMapping("clock")
     public RestResponse clock(@Valid @RequestBody Attendance entity) {
         Long mtCompanyId = entity.getMtCompanyId();
+        Long userId = entity.getUserId();
+        Integer type = entity.getType();
 
+        int count = attendanceService.countByUserAndType(mtCompanyId,userId,type);
+        Judge.notTrue(count > 0,Values.At.hadClock);
         MaintenanceCompany maintenanceCompany = maintenanceCompanyService.getById(mtCompanyId);
         Judge.notNull(maintenanceCompany);
 
         LocalTime now = LocalTime.now();
-        int type = entity.getType();
         //状态(是否迟到早退,0:否,1:是)
         switch (type) {
             case 11:

+ 8 - 1
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/oa/service/AttendanceService.java

@@ -11,6 +11,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+
 /**
  * <p>
  * 打卡签到记录 服务类
@@ -53,12 +57,15 @@ public class AttendanceService extends ServiceImpl<AttendanceMapper,Attendance>{
      * @param type
      * @return
      */
-    public int countByUserAndType(Long mtCompanyId,Long userId,int type){
+    public int countByUserAndType(Long mtCompanyId,Long userId,Integer type){
         QueryWrapper<Attendance> queryWrapper = new QueryWrapper<>();
         LambdaQueryWrapper<Attendance> lambdaQueryWrapper = queryWrapper.lambda();
         lambdaQueryWrapper.eq(Attendance::getMtCompanyId,mtCompanyId);
         lambdaQueryWrapper.eq(Attendance::getUserId,userId);
         lambdaQueryWrapper.eq(Attendance::getType,type);
+        LocalDateTime begin = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);
+        LocalDateTime end = LocalDateTime.of(LocalDate.now(),LocalTime.MAX);
+        lambdaQueryWrapper.between(Attendance::getCreateDate,begin,end);
         return count(lambdaQueryWrapper);
     }