“linengliang”
2023-10-18 3bef134da79cb768d6444d9a2fc68e0ca7cf7347
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentMaintenancePlanController.java
@@ -1,6 +1,8 @@
package org.jeecg.modules.eam.controller;
import org.jeecg.common.api.dto.message.MessageDTO;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.api.ISysBaseAPI;
import org.jeecg.common.system.query.QueryGenerator;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -8,6 +10,8 @@
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.eam.entity.*;
import org.jeecg.modules.eam.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
@@ -16,10 +20,6 @@
import org.springframework.web.servlet.ModelAndView;
import java.util.Arrays;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.eam.entity.EquipmentMaintenancePlanDetail;
import org.jeecg.modules.eam.entity.EquipmentMaintenancePlan;
import org.jeecg.modules.eam.service.IEquipmentMaintenancePlanService;
import org.jeecg.modules.eam.service.IEquipmentMaintenancePlanDetailService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
@@ -54,6 +54,29 @@
   @Autowired
   private IEquipmentMaintenancePlanDetailService equipmentMaintenancePlanDetailService;
   @Autowired
   private IDailyMaintenanceOrderService dailyMaintenanceOrderService;
   @Autowired
   private IEamEquipmentService equipmentService;
   @Autowired
   private IMaintenanceStandardService maintenanceStandardService;
    @Autowired
   private IdentityService sysIdentityService;
    @Autowired
    private ISysBaseAPI sysBaseApi;
    @Autowired
    private IDailyMaintenanceOrderDetailService maintenanceOrderDetailService;
    @Autowired
    private IMaintenanceStandardDetailService maintenanceStandardDetailService;
   /*---------------------------------主表处理-begin-------------------------------------*/
@@ -195,8 +218,52 @@
   }
   @PutMapping("distrbute")
   public Result<?> distrbute(@RequestBody EquipmentMaintenancePlan equipmentMaintenancePlan) {
       LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
       equipmentMaintenancePlan.setStatus("distributed");
       equipmentMaintenancePlanService.updateById(equipmentMaintenancePlan);
       //生成工单
       List<EquipmentMaintenancePlanDetail> equipmentMaintenancePlanDetails = equipmentMaintenancePlanDetailService.selectByMainId(equipmentMaintenancePlan.getId());
         for(EquipmentMaintenancePlanDetail equipmentMaintenancePlanDetail:equipmentMaintenancePlanDetails){
          MaintenanceStandard maintenanceStandard = maintenanceStandardService.getById(equipmentMaintenancePlanDetail.getStandardId());
          String num = sysIdentityService.getNumByTypeAndLength("DailyMaintenanceOrder",4);
          DailyMaintenanceOrder dailyMaintenanceOrder = new DailyMaintenanceOrder();
          dailyMaintenanceOrder.setNum(num);
          dailyMaintenanceOrder.setEquipmentId(maintenanceStandard.getEquipmentId());
          dailyMaintenanceOrder.setPlanStartTime(equipmentMaintenancePlanDetail.getPlanStartTime());
          dailyMaintenanceOrder.setPlanEndTime(equipmentMaintenancePlanDetail.getPlanEndTime());
          dailyMaintenanceOrder.setStatus(CommonConstant.STATUS_1);
          dailyMaintenanceOrder.setMaintenanceStandardId(maintenanceStandard.getId());
          dailyMaintenanceOrder.setCreateType(CommonConstant.ANNOUNCEMENT_SEND_STATUS_2);
          List<MaintenanceStandardDetail> maintenanceStandardDetailList = equipmentMaintenancePlanService.getCycle(maintenanceStandard.getId(),equipmentMaintenancePlan.getType());
          if(maintenanceStandardDetailList.size()>0){
             dailyMaintenanceOrder.setMaintenanceCycleId(maintenanceStandardDetailList.get(0).getMaintenanceCycleId());
          }
          dailyMaintenanceOrder.setMaintenanceOrderUda1(equipmentMaintenancePlan.getId());
          dailyMaintenanceOrder.setMaintenanceOrderUda2(equipmentMaintenancePlanDetail.getId());
          dailyMaintenanceOrder.setDelFlag(CommonConstant.DEL_FLAG_0);
          dailyMaintenanceOrder.setPrecisionInspectionStatus(CommonConstant.STATUS_0);
          dailyMaintenanceOrder.setStoveExemptStatus(CommonConstant.STATUS_0);
          dailyMaintenanceOrderService.save(dailyMaintenanceOrder);
          for(MaintenanceStandardDetail maintenanceStandardDetail:maintenanceStandardDetailList){
             DailyMaintenanceOrderDetail dailyMaintenanceOrderDetail = new DailyMaintenanceOrderDetail();
             dailyMaintenanceOrderDetail.setDailyMaintenanceOrderId(dailyMaintenanceOrder.getId());
             dailyMaintenanceOrderDetail.setMaintenanceStandardDetailId(maintenanceStandardDetail.getId());
             dailyMaintenanceOrderDetail.setMaintenanceStandardId(maintenanceStandard.getId());
             dailyMaintenanceOrderDetail.setMaintenanceProjectId(maintenanceStandardDetail.getMaintenanceProjectId());
             dailyMaintenanceOrderDetail.setDelFlag(0);
             maintenanceOrderDetailService.save(dailyMaintenanceOrderDetail);
          }
       }
         equipmentMaintenancePlanService.updateById(equipmentMaintenancePlan);
         String msg  = "单据号为【"+equipmentMaintenancePlan.getNum()+"】的保养计划已生成保养工单";
         MessageDTO messageDTO = new MessageDTO();
         messageDTO.setTitle("有新的保养工单");
         messageDTO.setContent(msg);
         messageDTO.setCategory("系统消息");
         messageDTO.setFromUser(user.getUsername());
         messageDTO.setToUser("admin");
         if(equipmentMaintenancePlanDetails.size()!=0){
            sysBaseApi.sendSysAnnouncement(messageDTO);
         }
       return Result.OK("操作成功");
   }