Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

xiahan 1 год назад
Родитель
Сommit
6ebb7f799a

+ 78 - 1
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/EquMaintenanceScheduleService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.rongwei.bsentity.domain.EquMaintenanceScheduleDo;
 import com.rongwei.bsentity.dto.BatchCreateDTO;
 import com.rongwei.bsentity.dto.TaskCreatorDTO;
+import com.rongwei.bsentity.enums.PlannedStatusEnum;
 
 import java.util.List;
 
@@ -14,13 +15,89 @@ import java.util.List;
  * @description 保养/维护计划业务类
  */
 public interface EquMaintenanceScheduleService extends IService<EquMaintenanceScheduleDo>{
+    /**
+     * 通过年、设备ID、保养分类获得保养计划
+     *
+     * @param taskCreator
+     * @return {@link EquMaintenanceScheduleDo}
+     * @date 2023/12/13 10:09
+     * @author shangmi
+     *
+     */
+
     EquMaintenanceScheduleDo getMaintenanceSiteByList(TaskCreatorDTO taskCreator);
 
+    /**
+     * 批量保存
+     *
+     * @param maintenanceScheduleList
+     * @return {@link int}
+     * @date 2023/12/13 10:08
+     * @author shangmi
+     *
+     */
+
     int saveBatchList(List<EquMaintenanceScheduleDo> maintenanceScheduleList);
 
+    /**
+     * 通过年和设备查询
+     *
+     * @param split
+     * @param batchCreate
+     * @return {@link List< EquMaintenanceScheduleDo>}
+     * @date 2023/12/13 10:08
+     * @author shangmi
+     *
+     */
+
     List<EquMaintenanceScheduleDo> getYearAndEquipmentByList(List<String> split,BatchCreateDTO batchCreate);
 
-    List<EquMaintenanceScheduleDo> getYearByList(int oldYear, String tenantId);
+    /**
+     * 查询该年下当前工厂的计划
+     *
+     * @param oldYear
+     * @param tenantId
+     * @return {@link List<EquMaintenanceScheduleDo>}
+     * @date 2023/12/13 10:06
+     * @author shangmi
+     *
+     */
+
+    List<EquMaintenanceScheduleDo> getYearAndTenantIdByList(int oldYear, String tenantId);
+
+    /**
+     * 通过ID查询记录表
+     *
+     * @param masterIds
+     * @return {@link List< EquMaintenanceScheduleDo>}
+     * @date 2023/12/13 10:06
+     * @author shangmi
+     *
+     */
 
     List<EquMaintenanceScheduleDo> getListByIds(List<String> masterIds);
+
+    /**
+     * 根据用户ID修改计划状态
+     *
+     * @param strings
+     * @param plannedStatusEnum
+     * @return
+     * @date 2023/12/13 10:07
+     * @author shangmi
+     *
+     */
+
+    void updatePlannedstatusByIds(List<String> strings, PlannedStatusEnum plannedStatusEnum);
+
+    /**
+     * 查询该年所有
+     *
+     * @param year
+     * @return {@link List<EquMaintenanceScheduleDo>}
+     * @date 2023/12/13 10:11
+     * @author shangmi
+     */
+
+    List<EquMaintenanceScheduleDo> getYearByList(int year);
 }

+ 47 - 1
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquMaintenanceScheduleServiceImpl.java

@@ -1,12 +1,14 @@
 package com.rongwei.bscommon.sys.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.rongwei.bscommon.sys.dao.EquMaintenanceScheduleDao;
 import com.rongwei.bscommon.sys.service.EquMaintenanceScheduleService;
 import com.rongwei.bsentity.domain.EquMaintenanceScheduleDo;
 import com.rongwei.bsentity.dto.BatchCreateDTO;
 import com.rongwei.bsentity.dto.TaskCreatorDTO;
+import com.rongwei.bsentity.enums.PlannedStatusEnum;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -78,14 +80,33 @@ public class EquMaintenanceScheduleServiceImpl extends ServiceImpl<EquMaintenanc
         return maintenanceScheduleDao.selectList(queryWrapper);
     }
 
+    /**
+     * 查询该年下当前工厂的计划
+     *
+     * @param oldYear
+     * @param tenantId
+     * @return {@link List<EquMaintenanceScheduleDo>}
+     * @date 2023/12/13 10:06
+     * @author shangmi
+     *
+     */
     @Override
-    public List<EquMaintenanceScheduleDo> getYearByList(int oldYear, String tenantId) {
+    public List<EquMaintenanceScheduleDo> getYearAndTenantIdByList(int oldYear, String tenantId) {
         LambdaQueryWrapper<EquMaintenanceScheduleDo> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(EquMaintenanceScheduleDo::getPlanyear,oldYear)
                 .eq(EquMaintenanceScheduleDo::getTenantid,tenantId);
         return maintenanceScheduleDao.selectList(queryWrapper);
     }
 
+    /**
+     * 通过ID查询记录表
+     *
+     * @param masterIds
+     * @return {@link List< EquMaintenanceScheduleDo>}
+     * @date 2023/12/13 10:06
+     * @author shangmi
+     *
+     */
     @Override
     public List<EquMaintenanceScheduleDo> getListByIds(List<String> masterIds) {
         LambdaQueryWrapper<EquMaintenanceScheduleDo> queryWrapper = new LambdaQueryWrapper<>();
@@ -93,4 +114,29 @@ public class EquMaintenanceScheduleServiceImpl extends ServiceImpl<EquMaintenanc
                 .eq(EquMaintenanceScheduleDo::getDeleted,0);
         return maintenanceScheduleDao.selectList(queryWrapper);
     }
+    /**
+     * 根据用户ID修改计划状态
+     *
+     * @param strings
+     * @param plannedStatusEnum
+     * @return
+     * @date 2023/12/13 10:07
+     * @author shangmi
+     *
+     */
+    @Override
+    public void updatePlannedstatusByIds(List<String> strings, PlannedStatusEnum plannedStatusEnum) {
+        LambdaUpdateWrapper<EquMaintenanceScheduleDo> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.in(EquMaintenanceScheduleDo::getId,strings)
+                .set(EquMaintenanceScheduleDo::getPlannedstatus,plannedStatusEnum.getValue());
+        maintenanceScheduleDao.update(null,updateWrapper);
+    }
+
+    @Override
+    public List<EquMaintenanceScheduleDo> getYearByList(int year) {
+        LambdaQueryWrapper<EquMaintenanceScheduleDo> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(EquMaintenanceScheduleDo::getPlanyear,year)
+                .eq(EquMaintenanceScheduleDo::getDeleted,0);
+        return maintenanceScheduleDao.selectList(queryWrapper);
+    }
 }

+ 10 - 2
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/MaintenanceServiceImpl.java

@@ -14,6 +14,7 @@ import com.rongwei.bsentity.dto.PlanYearCopyDTO;
 import com.rongwei.bsentity.dto.TaskCreatorDTO;
 import com.rongwei.bsentity.enums.EquipmentTypeEnum;
 import com.rongwei.bsentity.enums.MaintenanceTypeEnum;
+import com.rongwei.bsentity.enums.PlannedStatusEnum;
 import com.rongwei.bsentity.enums.PlantEnum;
 import com.rongwei.rwadmincommon.system.vo.SysUserVo;
 import com.rongwei.rwcommon.base.R;
@@ -99,6 +100,7 @@ public class MaintenanceServiceImpl implements MaintenanceService {
         // 插入
         int number = maintenanceTaskService.insertBatch(equMaintenanceTaskDos);
         partsSetoutTaskService.batchSave(partsSetoutTaskDoList);
+        maintenanceScheduleService.updatePlannedstatusByIds(Collections.singletonList(maintenanceSchedule.getId()), PlannedStatusEnum.PUBLISHED_TASK);
         // 判断是否全部插入成功
         if (number == equMaintenanceTaskDos.size()){
             return R.ok();
@@ -170,8 +172,8 @@ public class MaintenanceServiceImpl implements MaintenanceService {
         Date newDate = new Date();
         SysUserVo currentUser = CommonUtils.getCurrentUser();
         //获得指定年——工厂下所以计划及其备件信息
-        List<EquMaintenanceScheduleDo> maintenanceScheduleOldList = maintenanceScheduleService.getYearByList(planYearCopy.getOldYear(),planYearCopy.getTenantId());
-        List<EquMaintenanceScheduleDo> maintenanceScheduleNewList = maintenanceScheduleService.getYearByList(planYearCopy.getNewYear(), planYearCopy.getTenantId());
+        List<EquMaintenanceScheduleDo> maintenanceScheduleOldList = maintenanceScheduleService.getYearAndTenantIdByList(planYearCopy.getOldYear(),planYearCopy.getTenantId());
+        List<EquMaintenanceScheduleDo> maintenanceScheduleNewList = maintenanceScheduleService.getYearAndTenantIdByList(planYearCopy.getNewYear(), planYearCopy.getTenantId());
         List<EquMaintenanceScheduleDo> maintenanceScheduleList = maintenanceScheduleOldList;
         if (maintenanceScheduleNewList.size()!=0){
             //获取不重复数据(去重)
@@ -329,6 +331,12 @@ public class MaintenanceServiceImpl implements MaintenanceService {
         // 插入
         int number = maintenanceTaskService.insertBatch(equMaintenanceTaskList);
         partsSetoutTaskService.batchSave(partsSetoutTaskDoList);
+        if (month==12){
+            List<EquMaintenanceScheduleDo> maintenancePartYearAll = maintenanceScheduleService.getYearByList(year);
+            maintenanceScheduleService.updatePlannedstatusByIds(maintenancePartYearAll.stream().map(EquMaintenanceScheduleDo::getId).collect(Collectors.toList()), PlannedStatusEnum.PUBLISHED_TASK_ALL);
+        }else {
+            maintenanceScheduleService.updatePlannedstatusByIds(masterIds, PlannedStatusEnum.PUBLISHED_TASK);
+        }
         // 判断是否全部插入成功
         if (number == equMaintenanceTaskList.size()){
             return R.ok();

+ 25 - 0
cx-equipment/cx-equipment-entity/src/main/java/com/rongwei/bsentity/enums/PlannedStatusEnum.java

@@ -0,0 +1,25 @@
+package com.rongwei.bsentity.enums;
+
+import lombok.Getter;
+
+/**
+ * @author shangmi
+ * @title PlannedStatusEnum
+ * @date 2023/12/13 9:41
+ * @description 计划状态
+ */
+@Getter
+public enum PlannedStatusEnum {
+    UNLOCKED("未锁定","unlocked"),
+    LOCKED("锁定","Locked"),
+    PUBLISHED_TASK("部分任务生成","published_task"),
+    PUBLISHED_TASK_ALL("任务全部生成","published_task_all")
+    ;
+    private String Status;
+    private String value;
+
+    PlannedStatusEnum(String status, String value) {
+        Status = status;
+        this.value = value;
+    }
+}