qushaowei
2025-06-04 fff5ef18854efe6a4eb03049a1ddcc16edb0087e
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
@@ -1,5 +1,6 @@
package org.jeecg.modules.eam.controller;
import java.time.LocalDate;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -20,6 +21,7 @@
import org.jeecg.common.system.base.entity.SysUpload;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.DateUtils;
import org.jeecg.modules.base.entity.Constructor;
import org.jeecg.modules.base.service.IConstructorService;
import org.jeecg.modules.base.service.IFactoryModelService;
@@ -36,7 +38,9 @@
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.modules.system.entity.SysDepart;
import org.jeecg.modules.system.entity.SysUser;
import org.jeecg.modules.system.service.ISysDepartService;
import org.jeecg.modules.system.service.ISysUserService;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.springframework.beans.factory.annotation.Autowired;
@@ -124,7 +128,8 @@
    @Autowired
    private IMaintenanceStandardService maintenanceStandardService;
    @Autowired
    private ISysUserService sysUserService;
   /**
@@ -159,6 +164,10 @@
      }
      if(StringUtils.isNotBlank(equipment.getEquipmentCategoryId())){
         queryWrapper.eq("equipment_category_id",equipment.getEquipmentCategoryId());
      }
      List<String> userWorkCenterIds = getUserWorkCenterIds();
      if(CollectionUtils.isNotEmpty(userWorkCenterIds)) {
         queryWrapper.in("work_center_id",userWorkCenterIds);
      }
      if(StringUtils.isNotBlank(equipment.getWorkCenterId())){
         queryWrapper.eq("work_center_id",equipment.getWorkCenterId());
@@ -292,6 +301,10 @@
                                       HttpServletRequest req) {
       QueryWrapper<Equipment> queryWrapper = QueryGenerator.initQueryWrapper(equipment, req.getParameterMap());
       Page<Equipment> page = new Page<Equipment>(pageNo, pageSize);
       List<String> userWorkCenterIds = getUserWorkCenterIds();
       if(userWorkCenterIds != null && userWorkCenterIds.size() > 0){
          equipment.setUserWorkCenterIds(userWorkCenterIds);
       }
       IPage<Equipment> pageList = equipmentService.getEquipmentList(page, equipment);
       return Result.OK(pageList);
    }
@@ -306,9 +319,41 @@
                                         @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                         @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                         HttpServletRequest req) {
       QueryWrapper<Equipment> queryWrapper = QueryGenerator.initQueryWrapper(equipment, req.getParameterMap());
       //QueryWrapper<Equipment> queryWrapper = QueryGenerator.initQueryWrapper(equipment, req.getParameterMap());
       Page<Equipment> page = new Page<Equipment>(pageNo, pageSize);
       IPage<Equipment> pageList = equipmentService.getEquipmentTZList(page, equipment);
       List<Equipment> list = pageList.getRecords();
       list.forEach(equip -> {
          String id = equip.getId();
          List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery()
                .eq(DailyInspectionStandard::getEquipmentId, id)
                .eq(DailyInspectionStandard::getVersionStatus, "2")
                .list();
          if (dailyInspectionStandards.size() > 0) {
             equip.setYseNoInspectionStandard("0");
          } else {
             equip.setYseNoInspectionStandard("1");
          }
          List<MaintenanceStandard> maintenance2Standards = maintenanceStandardService.lambdaQuery()
                .eq(MaintenanceStandard::getEquipmentId, id)
                .eq(MaintenanceStandard::getMaintenanceType, "2")
                .eq(MaintenanceStandard::getVersionStatus, "2").list();
          if (maintenance2Standards.size() > 0) {
             equip.setYseNoMaintenance2Standard("0");
          } else {
             equip.setYseNoMaintenance2Standard("1");
          }
          List<MaintenanceStandard> maintenance3Standards = maintenanceStandardService.lambdaQuery()
                .eq(MaintenanceStandard::getEquipmentId, id)
                .eq(MaintenanceStandard::getMaintenanceType, "3")
                .eq(MaintenanceStandard::getVersionStatus, "2").list();
          if (maintenance3Standards.size() > 0) {
             equip.setYseNoMaintenance3Standard("0");
          } else {
             equip.setYseNoMaintenance3Standard("1");
          }
       });
       return Result.OK(pageList);
    }
@@ -329,6 +374,20 @@
   @PostMapping(value = "/add")
   @Transactional(rollbackFor = { Exception.class })
   public Result<String> add(@RequestBody Equipment equipment) {
      //下次三保日期处理
      if(equipment.getThirdMaintenanceTime() == null && equipment.getAcceptanceCheckDate() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){
         //如果没有三保日期 按照验收日期计算下次三保日期
         int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1;
         LocalDate acceptanceCheckDate = LocalDate.parse(equipment.getAcceptanceCheckDate());
         LocalDate localDate = acceptanceCheckDate.plusDays(checkPeriod);
         Date date = DateUtils.str2Date(localDate.toString(), DateUtils.date_sdf.get());
         equipment.setNextThirdMaintenanceTime(date);
      }else if(equipment.getThirdMaintenanceTime() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){
         //如果有三保日期 则使用三保日期计算 下次三保日期
         int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1;
         Date date = DateUtils.getDayAfter(equipment.getThirdMaintenanceTime(), checkPeriod);
         equipment.setNextThirdMaintenanceTime(date);
      }
      equipmentService.save(equipment);
      //获取工艺参数模板明细
      String processParametersTemplateId = equipment.getProcessParametersTemplateId();
@@ -408,6 +467,21 @@
         equipmentPrecisionParameters.setEquipmentId(equipment.getId());
         equipmentPrecisionParameters.setPrecisionParametersId(precisionParameter.getPrecisionParametersId());
         equipmentPrecisionParametersService.save(equipmentPrecisionParameters);
      }
      //下次三保日期处理
      if(equipment.getThirdMaintenanceTime() == null && equipment.getAcceptanceCheckDate() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){
         //如果没有三保日期 按照验收日期计算下次三保日期
         int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1;
         LocalDate acceptanceCheckDate = LocalDate.parse(equipment.getAcceptanceCheckDate());
         LocalDate localDate = acceptanceCheckDate.plusDays(checkPeriod);
         Date date = DateUtils.str2Date(localDate.toString(), DateUtils.date_sdf.get());
         equipment.setNextThirdMaintenanceTime(date);
      }else if(equipment.getThirdMaintenanceTime() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){
         //如果有三保日期 则使用三保日期计算 下次三保日期
         int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1;
         Date date = DateUtils.getDayAfter(equipment.getThirdMaintenanceTime(), checkPeriod);
         equipment.setNextThirdMaintenanceTime(date);
      }
      equipmentService.updateById(equipment);
@@ -904,7 +978,7 @@
                               .setEquipmentUda4(equipmentImportVo.getEquipmentUda4())
                               .setEquipmentUda5(equipmentImportVo.getEquipmentUda5())
                               .setLocation(equipmentImportVo.getLocation())
                               .setLastVerificationDate(equipmentImportVo.getLeaveFactoryDate())
                               .setLeaveFactoryDate(equipmentImportVo.getLeaveFactoryDate())
                               .setProjectApprovalNo(equipmentImportVo.getProjectApprovalNo())
                               .setFundSource(equipmentImportVo.getFundSource())
                               .setAcceptanceCheckDate(equipmentImportVo.getAcceptanceCheckDate())
@@ -912,9 +986,14 @@
                               .setSourceCountry(equipmentImportVo.getSourceCountry())
                               .setModel(equipmentImportVo.getModel())
                               .setSpecification(equipmentImportVo.getSpecification())
                               .setPropertyStatus("normal")
                               .setPropertyStatus(equipmentImportVo.getPropertyStatus())
                               .setOperatingSystem(equipmentImportVo.getOperatingSystem())
                               .setWarrantyStart(equipmentImportVo.getWarrantyStart())
                               .setWarrantyEnd(equipmentImportVo.getWarrantyEnd())
                               .setCreateBy(equipmentImportVo.getCreateBy())
                               .setCreateTime(equipmentImportVo.getCreateTime())
                               .setUpdateBy(equipmentImportVo.getUpdateBy())
                               .setUpdateTime(equipmentImportVo.getUpdateTime())
                               .setIsLineEquip("no")
                               .setIsLine("no")
                               .setNextTechnologyStatusQualificationTime(equipmentImportVo.getNextTechnologyStatusQualificationTime())
@@ -948,11 +1027,114 @@
                              }
                           }
                         }
                         equipmentService.save(equipment);
                         //下次三保日期处理
                         if(equipment.getThirdMaintenanceTime() == null && equipment.getAcceptanceCheckDate() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){
                            //如果没有三保日期 按照验收日期计算下次三保日期
                            int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1;
                            LocalDate acceptanceCheckDate = LocalDate.parse(equipment.getAcceptanceCheckDate());
                            LocalDate localDate = acceptanceCheckDate.plusDays(checkPeriod);
                            Date date = DateUtils.str2Date(localDate.toString(), DateUtils.date_sdf.get());
                            equipment.setNextThirdMaintenanceTime(date);
                         }else if(equipment.getThirdMaintenanceTime() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){
                            //如果有三保日期 则使用三保日期计算 下次三保日期
                            int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1;
                            Date date = DateUtils.getDayAfter(equipment.getThirdMaintenanceTime(), checkPeriod);
                            equipment.setNextThirdMaintenanceTime(date);
                         }
                         equipmentService.saveOrUpdate(equipment);
                      }else {
                         exceptionInfo = exceptionInfo+"第"+(i+2)+"行导入失败,原因:统一编码已存在,数据重复导入;";
                         exceptionNum++;
                         continue;
//                         oriEquipment.setUseId(equipment.getUseId());
//                         oriEquipment.setWorkCenterId(equipment.getWorkCenterId());
//                         oriEquipment.setFactoryModelId(equipment.getFactoryModelId());
//                         oriEquipment.setAreaId(equipment.getAreaId());
//                         oriEquipment.setManageId(equipment.getManageId());
//                         oriEquipment.setEquipmentCategoryId(equipment.getEquipmentCategoryId());
//                         oriEquipment.setTeamId(equipment.getTeamId());
//                         oriEquipment.setConstructorId(equipment.getConstructorId());
//                         oriEquipment.setNum(equipmentImportVo.getNum())
//                               .setName(equipmentImportVo.getName())
//                               .setTechnologyStatus(equipmentImportVo.getTechnologyStatus())
//                               .setEquipmentImportanceId(equipmentImportVo.getEquipmentImportanceId())
//                               .setSpecificEquipment(equipmentImportVo.getKeyEquipmentIdentification())
//                               .setSecurityConfiguration(equipmentImportVo.getSecurityConfiguration())
//                               .setCoolingSystem(equipmentImportVo.getCoolingSystem())
//                               .setFireExtinguisher(equipmentImportVo.getFireExtinguisher())
//                               .setFireExtinguisherValidityPeriod(equipmentImportVo.getFireExtinguisherValidityPeriod())
//                               .setSystem(equipmentImportVo.getSystem())
//                               .setPort(equipmentImportVo.getPort())
//                               .setCoordinateNum(equipmentImportVo.getCoordinateNum())
//                               .setEquipmentStatus(equipmentImportVo.getEquipmentStatus())
//                               .setEquipmentUda3(equipmentImportVo.getEquipmentUda3())
//                               .setEquipmentUda4(equipmentImportVo.getEquipmentUda4())
//                               .setEquipmentUda5(equipmentImportVo.getEquipmentUda5())
//                               .setLocation(equipmentImportVo.getLocation())
//                               .setLeaveFactoryDate(equipmentImportVo.getLeaveFactoryDate())
//                               .setProjectApprovalNo(equipmentImportVo.getProjectApprovalNo())
//                               .setFundSource(equipmentImportVo.getFundSource())
//                               .setAcceptanceCheckDate(equipmentImportVo.getAcceptanceCheckDate())
//                               .setFactoryNumber(equipmentImportVo.getFactoryNumber())
//                               .setSourceCountry(equipmentImportVo.getSourceCountry())
//                               .setModel(equipmentImportVo.getModel())
//                               .setSpecification(equipmentImportVo.getSpecification())
//                               .setPropertyStatus(equipmentImportVo.getPropertyStatus())
//                               .setOperatingSystem(equipmentImportVo.getOperatingSystem())
//                               .setWarrantyStart(equipmentImportVo.getWarrantyStart())
//                               .setWarrantyEnd(equipmentImportVo.getWarrantyEnd())
//                               .setCreateBy(equipmentImportVo.getCreateBy())
//                               .setCreateTime(equipmentImportVo.getCreateTime())
//                               .setUpdateBy(equipmentImportVo.getUpdateBy())
//                               .setUpdateTime(equipmentImportVo.getUpdateTime())
//                               .setIsLineEquip("no")
//                               .setIsLine("no")
//                               .setNextTechnologyStatusQualificationTime(equipmentImportVo.getNextTechnologyStatusQualificationTime())
//                               .setThirdMaintenanceTime(equipmentImportVo.getThirdMaintenanceTime())
//                               .setTechnologyStatusQualificationTime(equipmentImportVo.getTechnologyStatusQualificationTime())
//                               .setGpo(equipmentImportVo.getGpo());
//                         if(equipmentCategory.getEquipmentCategoryUda1().equals("weldingMachine")){
//                            oriEquipment.setCheckPeriod(365*3+"");
//                         }
//                         if(equipmentCategory.getEquipmentCategoryUda1().equals("filesCarousel")){
//                            oriEquipment.setCheckPeriod(365*4+"");
//                         }
//                         if(equipmentCategory.getEquipmentCategoryUda1().equals("tester")){
//                            oriEquipment.setCheckPeriod(365*1+"");
//                         }
//                         if(
//                               !equipmentCategory.getEquipmentCategoryUda1().equals("weldingMachine")
//                                     &&!equipmentCategory.getEquipmentCategoryUda1().equals("filesCarousel")
//                                     &&!equipmentCategory.getEquipmentCategoryUda1().equals("tester")
//                         ){
//                            if(StringUtils.isNotBlank(abc)){
//                               if(abc.equals("A")){
//                                  oriEquipment.setCheckPeriod(365*3+"");
//                               }
//                               if(
//                                     abc.equals("B")
//                                           ||abc.equals("C")
//                                           ||abc.equals("D")
//                               ){
//                                  oriEquipment.setCheckPeriod(365*4+"");
//                               }
//                            }
//                         }
//                         //下次三保日期处理
//                         if(oriEquipment.getThirdMaintenanceTime() == null && oriEquipment.getAcceptanceCheckDate() != null && StringUtils.isNotBlank(oriEquipment.getCheckPeriod())){
//                            //如果没有三保日期 按照验收日期计算下次三保日期
//                            int checkPeriod = Integer.parseInt(oriEquipment.getCheckPeriod()) - 1;
//                            LocalDate acceptanceCheckDate = LocalDate.parse(oriEquipment.getAcceptanceCheckDate());
//                            LocalDate localDate = acceptanceCheckDate.plusDays(checkPeriod);
//                            Date date = DateUtils.str2Date(localDate.toString(), DateUtils.date_sdf.get());
//                            oriEquipment.setNextThirdMaintenanceTime(date);
//                         }else if(oriEquipment.getThirdMaintenanceTime() != null && StringUtils.isNotBlank(oriEquipment.getCheckPeriod())){
//                            //如果有三保日期 则使用三保日期计算 下次三保日期
//                            int checkPeriod = Integer.parseInt(oriEquipment.getCheckPeriod()) - 1;
//                            Date date = DateUtils.getDayAfter(oriEquipment.getThirdMaintenanceTime(), checkPeriod);
//                            oriEquipment.setNextThirdMaintenanceTime(date);
//                         }
//                         equipmentService.updateById(oriEquipment);
                      }
                   }
                }
@@ -1099,4 +1281,17 @@
       return Result.OK(pageList);
    }
    private List<String> getUserWorkCenterIds(){
       LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
       SysUser sysUser = sysUserService.getById(user.getId());
       String areaId = sysUser.getAreaId();
       List<String>  workCenterIds = null;
       if(StringUtils.isNotBlank(areaId)){
//            strings = new ArrayList<>();
          String[] split = areaId.split(",");
          workCenterIds = Arrays.asList(split);
       }
       return workCenterIds;
    }
}