qushaowei
2024-10-22 dfe79661a899378c80f55b55fbbbb1f884fd045d
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
@@ -1,6 +1,7 @@
package org.jeecg.modules.eam.controller;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
@@ -24,6 +25,7 @@
import org.jeecg.modules.base.service.IFactoryModelService;
import org.jeecg.modules.eam.entity.*;
import org.jeecg.modules.eam.model.DepartVo;
import org.jeecg.modules.eam.model.MaintenanceCycleVo;
import org.jeecg.modules.eam.service.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -116,6 +118,12 @@
    @Autowired
    private IAreaService areaService;
    @Autowired
    private IDailyInspectionStandardService dailyInspectionStandardService;
    @Autowired
    private IMaintenanceStandardService maintenanceStandardService;
@@ -151,6 +159,9 @@
      }
      if(StringUtils.isNotBlank(equipment.getEquipmentCategoryId())){
         queryWrapper.eq("equipment_category_id",equipment.getEquipmentCategoryId());
      }
      if(StringUtils.isNotBlank(equipment.getWorkCenterId())){
         queryWrapper.eq("work_center_id",equipment.getWorkCenterId());
      }
      queryWrapper.isNull("line_id");
      queryWrapper.eq("status","1");
@@ -195,6 +206,78 @@
      return Result.OK(pageList);
   }
    @ApiOperation(value="mom_eam_equipment-分页列表查询", notes="mom_eam_equipment-分页列表查询")
    @GetMapping(value = "/showEquipmentList")
    public Result<IPage<Equipment>> showEquipmentList(Equipment equipment,
                                       @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                       @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                       HttpServletRequest req) {
       QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>();
       if(StringUtils.isNotBlank(equipment.getNum())){
          queryWrapper.like("num",equipment.getNum());
       }
       if(StringUtils.isNotBlank(equipment.getName())){
          queryWrapper.like("name",equipment.getName());
       }
//       queryWrapper.eq("equipment_status","1");
       queryWrapper.in("technology_status","qualified","limitedUse");
       queryWrapper.eq("status","1");
       queryWrapper.eq("del_flag",0);
       queryWrapper.orderByDesc("create_time");
       Page<Equipment> page = new Page<Equipment>(pageNo, pageSize);
       IPage<Equipment> pageList = equipmentService.page(page, queryWrapper);
       return Result.OK(pageList);
    }
    @ApiOperation(value="mom_eam_equipment-分页列表查询", notes="mom_eam_equipment-分页列表查询")
    @GetMapping(value = "/findEquipmentList")
    public Result<IPage<Equipment>> findEquipmentList(Equipment equipment,
                                          @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                          @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                          HttpServletRequest req) {
       QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>();
       if(StringUtils.isNotBlank(equipment.getNum())){
          queryWrapper.like("num",equipment.getNum());
       }
       if(StringUtils.isNotBlank(equipment.getName())){
          queryWrapper.like("name",equipment.getName());
       }
//       queryWrapper.eq("equipment_status","1");
       queryWrapper.in("technology_status","qualified","limitedUse");
       queryWrapper.in("equipment_importance_id","A","B","C");
       queryWrapper.eq("status","1");
       queryWrapper.eq("del_flag",0);
       queryWrapper.orderByDesc("create_time");
       Page<Equipment> page = new Page<Equipment>(pageNo, pageSize);
       IPage<Equipment> pageList = equipmentService.page(page, queryWrapper);
       return Result.OK(pageList);
    }
    @ApiOperation(value="mom_eam_equipment-分页列表查询", notes="mom_eam_equipment-分页列表查询")
    @GetMapping(value = "/queryEquipmentList")
    public Result<IPage<Equipment>> queryEquipmentList(Equipment equipment,
                                          @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                          @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                          HttpServletRequest req) {
       QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>();
       if(StringUtils.isNotBlank(equipment.getNum())){
          queryWrapper.like("num",equipment.getNum());
       }
       if(StringUtils.isNotBlank(equipment.getName())){
          queryWrapper.like("name",equipment.getName());
       }
       queryWrapper.eq("use_id",equipment.getUseId());
       queryWrapper.eq("del_flag",0);
       queryWrapper.orderByDesc("create_time");
       Page<Equipment> page = new Page<Equipment>(pageNo, pageSize);
       IPage<Equipment> pageList = equipmentService.page(page, queryWrapper);
       return Result.OK(pageList);
    }
    /**
     * 设备保修  获取设备列表组件
@@ -210,6 +293,22 @@
       QueryWrapper<Equipment> queryWrapper = QueryGenerator.initQueryWrapper(equipment, req.getParameterMap());
       Page<Equipment> page = new Page<Equipment>(pageNo, pageSize);
       IPage<Equipment> pageList = equipmentService.getEquipmentList(page, equipment);
       return Result.OK(pageList);
    }
    /**
     * 设备保修  获取设备列表组件
     * qsw 2023-7-14
     */
    @GetMapping(value = "/getEquipmentTZList")
    @PermissionData
    public Result<IPage<Equipment>> getEquipmentTZList(Equipment equipment,
                                         @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                         @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                         HttpServletRequest req) {
       QueryWrapper<Equipment> queryWrapper = QueryGenerator.initQueryWrapper(equipment, req.getParameterMap());
       Page<Equipment> page = new Page<Equipment>(pageNo, pageSize);
       IPage<Equipment> pageList = equipmentService.getEquipmentTZList(page, equipment);
       return Result.OK(pageList);
    }
@@ -569,13 +668,17 @@
                     EquipmentImportVo equipmentImportVo = list.get(i);
                String equipmentCategoryName = equipmentImportVo.getEquipmentCategoryName();
                String useId = equipmentImportVo.getUseId();
                String areaId = equipmentImportVo.getFactoryModelId();
                String workCenterId = equipmentImportVo.getWorkCenterId();//中心
                String areaId = equipmentImportVo.getFactoryModelId();//工区
                String productionId = equipmentImportVo.getAreaId();//工段
                String manageId = equipmentImportVo.getManageId();
                String constructorId = equipmentImportVo.getConstructorId();
                String teamId = equipmentImportVo.getTeamId();
                String propertyStatus = equipmentImportVo.getPropertyStatus();
                String abc = equipmentImportVo.getEquipmentImportanceId();
                     if(StringUtils.isBlank(equipmentImportVo.getNum())){
                Date thirdMaintenanceTime = equipmentImportVo.getThirdMaintenanceTime();
                Date technologyStatusQualificationTime = equipmentImportVo.getTechnologyStatusQualificationTime();
                if(StringUtils.isBlank(equipmentImportVo.getNum())){
                   exceptionInfo = exceptionInfo+"第"+(i+2)+"行导入失败,原因:统一编码缺失,请填写必填项后再导入;";
                   exceptionNum++;
                   continue;
@@ -600,13 +703,18 @@
                   exceptionNum++;
                   continue;
                }
                else if(StringUtils.isBlank(equipmentImportVo.getModel())){
                   exceptionInfo = exceptionInfo+"第"+(i+2)+"行导入失败,原因:设备型号缺失,请填写必填项后再导入;";
//                else if(StringUtils.isBlank(equipmentImportVo.getModel())){
//                   exceptionInfo = exceptionInfo+"第"+(i+2)+"行导入失败,原因:设备型号缺失,请填写必填项后再导入;";
//                   exceptionNum++;
//                   continue;
//                }
                else if(StringUtils.isBlank(useId)){
                   exceptionInfo = exceptionInfo+"第"+(i+2)+"行导入失败,原因:使用部门缺失,请填写必填项后再导入;";
                   exceptionNum++;
                   continue;
                }
                else if(StringUtils.isBlank(useId)){
                   exceptionInfo = exceptionInfo+"第"+(i+2)+"行导入失败,原因:使用部门缺失,请填写必填项后再导入;";
                else if(StringUtils.isBlank(workCenterId)){
                   exceptionInfo = exceptionInfo+"第"+(i+2)+"行导入失败,原因:中心缺失,请填写必填项后再导入;";
                   exceptionNum++;
                   continue;
                }
@@ -684,7 +792,7 @@
//                   exceptionNum++;
//                }
                else{
                   SysDepart use = departService.getOne(new QueryWrapper<SysDepart>().eq("depart_name",useId.trim()),false);
                   SysDepart use = departService.getOne(new QueryWrapper<SysDepart>().eq("depart_name",useId.trim()).eq("del_flag",0),false);
                   if(ObjectUtils.isNotNull(use)){
                      equipment.setUseId(use.getId());
                   }else {
@@ -692,8 +800,20 @@
                      exceptionNum++;
                      continue;
                   }
                   Area area = areaService.getOne(new QueryWrapper<Area>().eq("name",areaId.trim()));
                   Area area1 = areaService.getOne(new QueryWrapper<Area>().eq("num",areaId.trim()));
                   //中心
                   Area workCenterArea = areaService.getOne(new QueryWrapper<Area>().eq("name",workCenterId.trim()).eq("del_flag",0));
                   if(ObjectUtils.isNotNull(workCenterArea)){
                      equipment.setWorkCenterId(workCenterArea.getId());
//                   }else if(ObjectUtils.isNotNull(area1)) {
//                      equipment.setFactoryModelId(area1.getId());
                   }else {
                      exceptionInfo = exceptionInfo+"第"+(i+2)+"行导入失败,原因:不存在该中心,请维护中心数据后再导入;";
                      exceptionNum++;
                      continue;
                   }
                   //工区
                   Area area = areaService.getOne(new QueryWrapper<Area>().eq("name",areaId.trim()).eq("del_flag",0));
                   Area area1 = areaService.getOne(new QueryWrapper<Area>().eq("num",areaId.trim()).eq("del_flag",0));
                   if(ObjectUtils.isNotNull(area)){
                      equipment.setFactoryModelId(area.getId());
                   }else if(ObjectUtils.isNotNull(area1)) {
@@ -703,7 +823,14 @@
                      exceptionNum++;
                      continue;
                   }
                   SysDepart manage = departService.getOne(new QueryWrapper<SysDepart>().eq("depart_name",manageId.trim()));
                   //工段
                   Area productionArea = areaService.getOne(new QueryWrapper<Area>().eq("name",productionId.trim()).eq("del_flag",0));
                   if(ObjectUtils.isNotNull(productionArea)){
                      equipment.setAreaId(productionArea.getId());
                   }
                   SysDepart manage = departService.getOne(new QueryWrapper<SysDepart>().eq("depart_name",manageId.trim()).eq("del_flag",0));
                   if(ObjectUtils.isNotNull(manage)){
                      equipment.setManageId(manage.getId());
                   }else{
@@ -711,7 +838,9 @@
                      exceptionNum++;
                      continue;
                   }
                   EquipmentCategory equipmentCategory = equipmentCategoryService.getOne(new QueryWrapper<EquipmentCategory>().eq("name",equipmentCategoryName.trim()),false);
                   EquipmentCategory equipmentCategory = equipmentCategoryService
                         .getOne(new QueryWrapper<EquipmentCategory>()
                               .eq("name",equipmentCategoryName.trim()).eq("del_flag",0),false);
                   if(ObjectUtils.isNotNull(equipmentCategory)){
                      equipment.setEquipmentCategoryId(equipmentCategory.getId());
                   }
@@ -720,8 +849,8 @@
                      exceptionNum++;
                      continue;
                   }
                   Team team = teamService.getOne(new QueryWrapper<Team>().eq("name",teamId.trim()),false);
                   Team team1 = teamService.getOne(new QueryWrapper<Team>().eq("num",teamId.trim()),false);
                   Team team = teamService.getOne(new QueryWrapper<Team>().eq("name",teamId.trim()).eq("del_flag",0),false);
                   Team team1 = teamService.getOne(new QueryWrapper<Team>().eq("num",teamId.trim()).eq("del_flag",0),false);
                   if(ObjectUtils.isNotNull(team)){
                      equipment.setTeamId(team.getId());
                   }else if(ObjectUtils.isNotNull(team1)) {
@@ -756,7 +885,7 @@
                   }else{
                      Equipment oriEquipment = equipmentService
                            .getOne(new QueryWrapper<Equipment>()
                                  .eq("num",equipmentImportVo.getNum()),false);
                                  .eq("num",equipmentImportVo.getNum()).eq("del_flag",0),false);
                      if(ObjectUtils.isNull(oriEquipment)){
                         equipment.setNum(equipmentImportVo.getNum())
                               .setName(equipmentImportVo.getName())
@@ -783,10 +912,14 @@
                               .setSourceCountry(equipmentImportVo.getSourceCountry())
                               .setModel(equipmentImportVo.getModel())
                               .setSpecification(equipmentImportVo.getSpecification())
                               .setPropertyStatus(equipmentImportVo.getPropertyStatus())
                               .setPropertyStatus("normal")
                               .setWarrantyStart(equipmentImportVo.getWarrantyStart())
                               .setWarrantyEnd(equipmentImportVo.getWarrantyEnd())
                               .setIsLineEquip("no")
                               .setIsLine("no")
                               .setNextTechnologyStatusQualificationTime(equipmentImportVo.getNextTechnologyStatusQualificationTime())
                               .setThirdMaintenanceTime(equipmentImportVo.getThirdMaintenanceTime())
                               .setTechnologyStatusQualificationTime(equipmentImportVo.getTechnologyStatusQualificationTime())
                               .setGpo(equipmentImportVo.getGpo());
                         if(equipmentCategory.getEquipmentCategoryUda1().equals("weldingMachine")){
                            equipment.setCheckPeriod(365*3+"");
@@ -851,16 +984,19 @@
                                         HttpServletRequest req) {
       QueryWrapper<DailyInspectionStandardDetail> queryWrapper = QueryGenerator.initQueryWrapper(standardDetail, req.getParameterMap());
       Page<DailyInspectionStandardDetail> page = new Page<DailyInspectionStandardDetail>(pageNo, pageSize);
       IPage<DailyInspectionStandardDetail> pageList = equipmentService.getStandardList(page,standardDetail.getEquipmentId());
       IPage<DailyInspectionStandardDetail> pageList = equipmentService.getStandardList(page,standardDetail.getEquipmentId(),standardDetail.getType());
       return Result.OK(pageList);
    }
    @PostMapping("addLine")
    @Transactional(rollbackFor = {Exception.class})
    public Result<?> addLine(@RequestBody Equipment equipment){
        equipment.setIsLineEquip("no");
        equipment.setIsLine("yes");
        equipmentService.save(equipment);
        List<Equipment> equipmentList = equipment.getEquipmentOfLineTable();
        for(Equipment equipment1:equipmentList){
           equipment1.setId(equipment1.getShowId());
           equipment1.setIsLineEquip("yes");
           equipment1.setLineId(equipment.getId());
       }
        equipmentService.updateBatchById(equipmentList);
@@ -870,14 +1006,97 @@
    @Transactional(rollbackFor = {Exception.class})
    public Result<?> editLine(@RequestBody Equipment equipment){
       equipmentService.updateById(equipment);
       equipmentService.update(new UpdateWrapper<Equipment>().eq("line_id",equipment.getId()).set("line_id",null).set("is_meta",null));
       equipmentService.update(new UpdateWrapper<Equipment>()
             .eq("line_id",equipment.getId())
             .set("line_id",null)
             .set("is_meta",null)
             .set("is_line_equip","no"));
       List<Equipment> equipmentList = equipment.getEquipmentOfLineTable();
       for(Equipment equipment1:equipmentList){
          equipment1.setLineId(equipment.getId());
          String id = equipment1.getId();
          if(StringUtils.isBlank(id)){
             equipment1.setId(equipment1.getShowId());
          }
          equipment1.setIsLineEquip("yes");
       }
       equipmentService.updateBatchById(equipmentList);
       return Result.OK("编辑成功");
    }
    @PostMapping("/updateKeyEquipment")
    public  Result<?>updateKeyEquipment(@RequestBody Equipment equipment){
        equipmentService.update(new UpdateWrapper<Equipment>().eq("specific_equipment","0").set("specific_equipment",null));
       List<Equipment> keyEquipmentUpdateList = equipment.getKeyEquipmentUpdateList();
       for(Equipment updateEquipment:keyEquipmentUpdateList){
           updateEquipment.setId(updateEquipment.getEquipmentId());
             equipmentService.updateById(updateEquipment);
       }
       return Result.OK("修改成功");
    }
    /**
     *设备台站-保养标准
     */
    @GetMapping("getEquipmentListAllStandard")
    public Result<?> getEquipmentListAllStandard(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) {
       IPage<Map<String, Object>> equipmentListAllStandards = equipmentService.getEquipmentListAllStandard(pageNo, pageSize, params);
       List<Map<String, Object>> records = equipmentListAllStandards.getRecords();
       for (Map<String, Object> record : records) {
          String id = (String) record.get("id");
          String precisionParameters = (String)record.get("precisionParameters");
          if("1".equals(precisionParameters)){
             record.put("yseNoPrecisionParameters","0");
          }else{
             record.put("yseNoPrecisionParameters","1");
          }
          List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery()
                .eq(DailyInspectionStandard::getEquipmentId, id)
                .eq(DailyInspectionStandard::getVersionStatus, "2")
                .list();
          if(dailyInspectionStandards.size()>0){
             record.put("yseNoInspectionStandard","0");
          }else{
             record.put("yseNoInspectionStandard","1");
          }
          List<MaintenanceStandard> maintenance2Standards = maintenanceStandardService.lambdaQuery()
                .eq(MaintenanceStandard::getEquipmentId, id)
                .eq(MaintenanceStandard::getMaintenanceType, "2")
                .eq(MaintenanceStandard::getVersionStatus, "2").list();
          if(maintenance2Standards.size()>0){
             record.put("yseNoMaintenance2Standard","0");
          }else{
             record.put("yseNoMaintenance2Standard","1");
          }
          List<MaintenanceStandard> maintenance3Standards = maintenanceStandardService.lambdaQuery()
                .eq(MaintenanceStandard::getEquipmentId, id)
                .eq(MaintenanceStandard::getMaintenanceType, "3")
                .eq(MaintenanceStandard::getVersionStatus, "2").list();
          if(maintenance3Standards.size()>0){
             record.put("yseNoMaintenance3Standard","0");
          }else{
             record.put("yseNoMaintenance3Standard","1");
          }
       }
       return Result.ok(equipmentListAllStandards);
    }
    @GetMapping(value = "/planEquipmentList")
    @PermissionData
    public Result<IPage<Equipment>> planEquipmentList(Equipment equipment,
                                         @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.orderByAsc("next_third_maintenance_time");
       //如果startTime和endTime不为空,则查询下次三保时间在这个时间段内的设备
       if(equipment.getStartTime()!=null && equipment.getEndTime()!=null){
          queryWrapper.between("next_third_maintenance_time",equipment.getStartTime(),equipment.getEndTime());
       }
       Page<Equipment> page = new Page<Equipment>(pageNo, pageSize);
       IPage<Equipment> pageList = equipmentService.page(page, queryWrapper);
       return Result.OK(pageList);
    }
}