lyh
2025-06-30 0843d9fa608a6d319d9d1c37860a0f16ce263a19
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java
@@ -5,7 +5,9 @@
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.DateUtils;
import org.jeecg.modules.eam.entity.Equipment;
import org.jeecg.modules.eam.entity.EquipmentReportRepair;
@@ -19,6 +21,7 @@
import org.jeecg.modules.eam.vo.EquipmentAvailabilityVo;
import org.jeecg.modules.system.entity.SysUser;
import org.jeecg.modules.system.mapper.SysUserMapper;
import org.jeecg.modules.system.service.ISysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -29,6 +32,7 @@
import java.text.SimpleDateFormat;
import java.time.YearMonth;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @Description: 维修工单
@@ -61,6 +65,9 @@
   private IEamEquipmentService equipmentService;
   @Autowired
   private IEquipmentReportRepairService equipmentReportRepairService;
   @Autowired
   private ISysUserService sysUserService;
@@ -100,11 +107,80 @@
      }else{
         repairOrder.setTeamId("");
      }
      LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
      SysUser sysUser = sysUserService.getById(user.getId());
      String areaId = sysUser.getAreaId();
      List<String>  workCenterIds = null;
      if(StringUtils.isNotBlank(areaId)){
         String[] split = areaId.split(",");
         workCenterIds = Arrays.asList(split);
      }
      List<String> equipNums = new ArrayList<>();
        if(StringUtils.isNotBlank(repairOrder.getNums())){
           equipNums = Arrays.asList(repairOrder.getNums().trim().split(","));
           equipNums = Arrays.asList(repairOrder.getNums().trim().split("\n")).stream().filter(num->!num.equals("\n")).collect(Collectors.toList());
      }
      return page.setRecords(baseMapper.getRepairOrderList(page,repairOrder.getId(),repairOrder.getNum(),repairOrder.getEquipmentNum(),repairOrder.getEquipmentName(),repairOrder.getStatus(),repairOrder.getRepairOrderType(),repairOrder.getEquipmentCategoryId(),repairOrder.getFactoryModelId(),repairOrder.getSpecificEquipment(),repairOrder.getTeamId(),equipNums,repairOrder.getRepairOrderUda1()));
      //状态筛选
      List<String> statusEnumList = null;
      if(repairOrder.getStatusEnums() != null && StringUtils.isNotBlank(repairOrder.getStatusEnums())) {
         String[] statusEnums = repairOrder.getStatusEnums().split(",");
         statusEnumList = Arrays.asList(statusEnums);
      }
      return page.setRecords(baseMapper.getRepairOrderList(page,
            repairOrder.getId(),
            repairOrder.getNum(),
            repairOrder.getEquipmentNum(),
            repairOrder.getEquipmentName(),
            repairOrder.getStatus(),
            repairOrder.getRepairOrderType(),
            repairOrder.getEquipmentCategoryId(),
            repairOrder.getFactoryModelId(),
            repairOrder.getSpecificEquipment(),
            repairOrder.getTeamId(),
            equipNums,
            repairOrder.getRepairOrderUda1(),
            repairOrder.getFaultStartTime(),
            repairOrder.getFaultEndTime(),
            repairOrder.getCreateStartTime(),
            repairOrder.getCreateEndTime(),
            repairOrder.getEquipmentImportanceId(),
            repairOrder.getFaultCause(),
            workCenterIds,
            repairOrder.getEquipmentId(),
            statusEnumList
            ));
   }
   @Override
   public List<Map<String, Object>> getFaultCause(String equipmentId) {
      return this.baseMapper.getFaultCause(equipmentId);
   }
   @Override
   public List<Map<String, Object>> getAllFaultCause() {
      return this.baseMapper.getAllFaultCause();
   }
   @Override
   public List<Map<String, Object>> getFaultCausePie( Map<String, Object> params) {
      return this.baseMapper.getFaultCausePie(params);
   }
   @Override
   public List<Map<String, Object>> getFaultCauseBar(Map<String, Object> params) {
      return this.baseMapper.getFaultCauseBar(params);
   }
   @Override
   public List<Map<String, Object>> getEquipmentFaultCause(Map<String, Object> params) {
      return this.baseMapper.getEquipmentFaultCause(params);
   }
   @Override
   public IPage<Map<String, Object>> getMTPF(Integer pageNo, Integer pageSize, Map<String, Object> params) {
      IPage<Map> pageData = new Page<Map>(pageNo, pageSize);
      return this.baseMapper.getMTPF(pageData,params);
   }
   @Override
@@ -383,7 +459,7 @@
               if(equipmentReportRepair.getFaultTime() != null && equipmentReportRepair.getFaultTime().compareTo(endDate) < 0 &&  equipmentReportRepair.getFaultTime().compareTo(startDate) > 0){
                  //2、验收时间在查询时间段内
                  if(equipmentReportRepair.getAcceptTime() != null && equipmentReportRepair.getAcceptTime().compareTo(endDate) < 0){
                     equipmentFaultTime = equipmentFaultTime.add(new BigDecimal(equipmentReportRepair.getFaultHour()));
                     equipmentFaultTime = equipmentFaultTime.add(equipmentReportRepair.getFaultHour());
                     int flag = 0;
                     if(CollectionUtils.isNotEmpty(faultTimeList)){
                        for(String faultTime : faultTimeList){
@@ -504,7 +580,7 @@
               if(equipmentReportRepair.getFaultTime() != null && equipmentReportRepair.getFaultTime().compareTo(endDate) < 0 &&  equipmentReportRepair.getFaultTime().compareTo(startDate) > 0){
                  //2、验收时间在查询时间段内
                  if(equipmentReportRepair.getAcceptTime() != null && equipmentReportRepair.getAcceptTime().compareTo(endDate) < 0){
                     equipmentFaultTime = equipmentFaultTime.add(new BigDecimal(equipmentReportRepair.getFaultHour()));
                     equipmentFaultTime = equipmentFaultTime.add(equipmentReportRepair.getFaultHour());
                     //3、验收时间大于查询结束时间
                  }else {
                     long diff2 = endDate.getTime() - equipmentReportRepair.getFaultTime().getTime();