Ver código fonte

修复bug:1.电梯新增重复数据 2.实际保养时间精确到时分秒 3.APP端自建电梯选择维保责任人范围 4.删除电梯,清除维保计划

别傲 5 anos atrás
pai
commit
58f9618449

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

@@ -278,6 +278,12 @@ public class LiftService extends ServiceImpl<LiftMapper, Lift> {
         Lift lift = request.getLift();
         RestResponse response = preJudgment(mtCompanyId, lift.getRegistrationCode());
         if (ApiConstants.RESULT_ERROR.equals(response.getStatusCode())) return response;
+        //判断电梯是否需要新增
+        Optional<Lift> lifts = getOne(lift.getRegistrationCode(), null);
+        Long liftId = lifts.map(Lift::getId).orElse(null);
+        if (ObjectUtil.isNotEmpty(liftId)) {
+            mark = "1";
+        }
         //新增标记 (0:新增,1:查询后带入)
         if ("0".equals(mark)) {
             //按当前日期时间戳自动生成电梯编号
@@ -293,7 +299,7 @@ public class LiftService extends ServiceImpl<LiftMapper, Lift> {
                 return RestResponse.fail(MessageUtils.get("msg.add.fail"));
             id = lift.getId();
         } else {
-            id = request.getId();
+            id = liftId;
         }
         //新增电梯来源
         String source = request.getSource();

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

@@ -296,7 +296,7 @@ public class MaintenanceRecordController {
         entity.setIsRegular(0);
         //补录
         entity.setIsRepair(1);
-        entity.setWorkDate(LocalDate.now());
+        entity.setWorkDate(LocalDateTime.now());
         entity.setHasEvaluate(0);
         return maintenanceRecordService.tofill(entity);
     }

+ 2 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/MaintenancePlan.java

@@ -7,6 +7,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.time.LocalDate;
+import java.time.LocalDateTime;
 
 /**
  * 实体类 - 表:maintenance_plan
@@ -51,7 +52,7 @@ public class MaintenancePlan extends BaseEntity {
     /**
      * 实际保养时间
      */
-	private LocalDate workDate;
+	private LocalDateTime workDate;
 
     /**
      * 保养次数

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/MaintenanceRecord.java

@@ -92,7 +92,7 @@ public class MaintenanceRecord extends BaseEntity {
 	 */
 	@NotNull(message = "缺少实际保养时间")
 	@PastOrPresent(message = "保养时间不能早于标准北京时间")
-	private LocalDate workDate;
+	private LocalDateTime workDate;
 
 	/**
 	 * 停梯时间

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

@@ -33,8 +33,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.google.common.reflect.TypeToken;
 import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -243,7 +243,7 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
             record.setType(type);
             record.setStatus(CommonEnum.MaintenanceRecordStatus.MAINTENANCE_DOING.getCode());
             record.setWorkerId1(record.getWorkerId1());
-            record.setWorkDate(LocalDate.now());
+            record.setWorkDate(LocalDateTime.now());
             record.setPlanDate(plan.getPlanDate());
             record.setStopDate(LocalDateTime.now());
             MaintenanceRecord one = findOne(planId, mtCompanyId, liftId);
@@ -450,7 +450,7 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
         MaintenancePlan plan = maintenancePlanService.getOne(oldRecord.getMtPlanId());
         if (ObjectUtil.isEmpty(plan)) return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
         plan.setStatus(Integer.parseInt(CommonEnum.MaintenancePlanStatus.COMPLETE.getCode()));
-        plan.setWorkDate(LocalDate.now());
+        plan.setWorkDate(LocalDateTime.now());
         //修改保养计划为完成
         boolean planResult = maintenancePlanService.updateById(plan);
         if (!planResult) {
@@ -659,7 +659,7 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
         if (Objects.isNull(plan)) {
             return RestResponse.success(entity.getId());
         }
-        plan.setWorkDate(LocalDate.now());
+        plan.setWorkDate(LocalDateTime.now());
         boolean mp = maintenancePlanService.updateById(plan);
         if (mp) {
             return RestResponse.success(entity.getId());
@@ -742,7 +742,7 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
             return RestResponse.success(true);
         }
         plan.setStatus(1);
-        plan.setWorkDate(LocalDate.now());
+        plan.setWorkDate(LocalDateTime.now());
         boolean mp = maintenancePlanService.updateById(plan);
         if (mp) {
             return RestResponse.success(true);

+ 2 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/entity/model/request/ProjectRequest.java

@@ -161,4 +161,6 @@ public class ProjectRequest extends PageRequest {
     @NotNull(message = "当前时间不能为空")
     private LocalDate beginTime;
 
+    private String currentRoleCode;
+
 }

+ 24 - 6
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectAppService.java

@@ -99,9 +99,22 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper, Project> {
      */
     public List<ProjectAppUser> userList(ProjectRequest request) {
         List<ProjectAppUser> userList = projectUserMapper.findProjectUserListById(request);
-        return userList.stream().filter(
-                entry -> (DefaultRole.MTWORK.getCode().equals(entry.getUserRole())))
-                .collect(Collectors.toList());
+        String currentRoleCode = request.getCurrentRoleCode();
+        Long userId = request.getUserId();
+        List<ProjectAppUser> workerList = new ArrayList<>();
+        if (DefaultRole.MTWORK.getCode().equals(currentRoleCode)) {
+            userList.forEach(entry -> {
+                if (Objects.equals(userId, entry.getUserId())) {
+                    workerList.add(entry);
+                }
+            });
+            return workerList;
+        } else {
+            return userList.stream().filter(
+                    entry -> (DefaultRole.MTWORK.getCode().equals(entry.getUserRole())
+                            || DefaultRole.REGION_DIRECTOR.getCode().equals(entry.getUserRole())))
+                    .collect(Collectors.toList());
+        }
     }
 
     /**
@@ -148,9 +161,14 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper, Project> {
         if (!preJudgment(mtCompanyId, lift.getRegistrationCode()))
             return RestResponse.fail(MessageUtils.get("msg.lift.exist"));
 
-        boolean result = liftService.save(lift);
-        if (!result) {
-            return RestResponse.fail(MessageUtils.get("msg.add.fail"));
+        //检查电梯是否需要新增
+        Optional<Lift> lifts = liftService.getOne(lift.getRegistrationCode(), null);
+        Long checkLiftId = lifts.map(Lift::getId).orElse(null);
+        if (!ObjectUtil.isNotEmpty(checkLiftId)) {
+            boolean result = liftService.save(lift);
+            if (!result) {
+                return RestResponse.fail(MessageUtils.get("msg.add.fail"));
+            }
         }
         Long liftId = lift.getId();
         //判断当前公司台量是否大于企业设置的台量

+ 7 - 3
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectLiftRelevanceService.java

@@ -77,11 +77,15 @@ public class ProjectLiftRelevanceService extends ServiceImpl<ProjectLiftRelevanc
      */
     @Transactional(rollbackFor = Exception.class)
     public RestResponse delete(LiftRequest request) {
-        boolean result = remove(request.getId());
+        //项目电梯关联主键id
+        Long id = request.getId();
+        ProjectLiftRelevance relevance = getById(id);
+        boolean result = remove(id);
         if (!result)
             return RestResponse.fail(MessageUtils.get("msg.delete.fail"));
-        boolean ret = platformService.remove(request.getRelevanceId());
-        if (!ret) {
+        //清除电梯维保计划
+        boolean cleanPlan = maintenancePlanService.cleanPlan(request.getMtCompanyId(), relevance.getLiftId());
+        if (!cleanPlan) {
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             return RestResponse.fail(MessageUtils.get("msg.delete.fail"));
         }