qushaowei
2025-06-10 78ee8165199655f2fb5a73775d3101da77a0d367
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionOrderController.java
@@ -8,6 +8,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import org.apache.shiro.SecurityUtils;
@@ -33,6 +34,7 @@
//import org.jeecg.modules.system.entity.SysUploadRela;
//import org.jeecg.modules.system.service.IUploadRelaService;
//import org.jeecg.modules.system.service.IUploadService;
import org.jeecg.modules.eam.vo.InspectionResultVo;
import org.jeecg.modules.eam.vo.SysFileNameVo;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
@@ -90,6 +92,10 @@
    @Autowired
    @Lazy
    private IDailyInspectionStandardService dailyInspectionStandardService;
    @Autowired
    @Lazy
    private IAreaService areaService;
//    @Autowired
//    private IUploadRelaService uploadRelaService;
@@ -198,11 +204,13 @@
         for (InspectionOrderDetail inspectionOrderDetail : inspectionOrderDetailList) {
            String id = inspectionOrder.getId();
            String inspectionStandardDetailId = inspectionOrderDetail.getInspectionStandardDetailId();
            //点检项目id
            String inspectionProjectId = inspectionOrderDetail.getInspectionProjectId();
            //点检标准
            DailyInspectionStandardDetail dailyInspectionStandardDetail = dailyInspectionStandardDetailService.getById(inspectionStandardDetailId);
            //点检项目
            InspectionProject inspectionProject = inspectionProjectService.getById(inspectionProjectId);
            //点检明细添加
            inspectionOrderDetail.setId("");
            inspectionOrderDetail.setInspectionOrderId(id);
            inspectionOrderDetail.setLocation(dailyInspectionStandardDetail.getLocation());
@@ -217,11 +225,18 @@
            inspectionOrderDetailService.save(inspectionOrderDetail);
         }
      }else{
         //生产线设备,按照生产线来进行点检
         String lineId = equipment.getLineId();
         if(StringUtils.isBlank(lineId)){
            return Result.error("生产线设备没有关联到产线编号");
         }
         List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery()
               .eq(DailyInspectionStandard::getEquipmentId, lineId)
               .eq(DailyInspectionStandard::getVersionStatus, "2")
               .eq(DailyInspectionStandard::getDelFlag, "0").list();
         if(CollectionUtils.isEmpty(dailyInspectionStandards)){
            return Result.error("设备对应的产线没有配置点检标准");
         }
         if(dailyInspectionStandards.size()>0) {
            DailyInspectionStandard dailyInspectionStandard = dailyInspectionStandards.get(0);
            //保存点检工单子表数据
@@ -684,4 +699,222 @@
       return Result.ok(maps);
    }
}
    /**
     *生产设备自主维护点检表 报表
     * 2024-3-27 qsw
     */
    @GetMapping("findInspectionForms")
    public Result<?> findInspectionForms(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                    @RequestParam(name = "pageSize", defaultValue = "1000") Integer pageSize,
                                    @RequestParam Map<String, Object> params) {
       HashMap<String, Object> mapResult = new HashMap<>();
       String equipmentNum = (String)params.get("num");
       String dataTime = (String)params.get("dataTime");
       Equipment equipment = equipmentService.getOne(new LambdaQueryWrapper<Equipment>().eq(Equipment::getNum, equipmentNum).eq(Equipment::getDelFlag, 0));
       if(equipment == null){
          return Result.error("设备统一编号不存在!");
       }
       String workCenterId = equipment.getWorkCenterId();
       Area area = areaService.getById(workCenterId);
       DailyInspectionStandard standard = dailyInspectionStandardService.getOne(new LambdaQueryWrapper<DailyInspectionStandard>()
             .eq(DailyInspectionStandard::getEquipmentId, equipment.getId())
             .eq(DailyInspectionStandard::getDelFlag, 0)
             .eq(DailyInspectionStandard::getVersionStatus, "2"));
       List<Map<String, Object>> list1 = this.getInspectionStandars(equipmentNum,"day",dataTime);
       List<Map<String, Object>> list2 = this.getUserQianzi(equipmentNum,"day",dataTime);
       List<Map<String, Object>> list3 = this.getCheckUserQianzi(equipmentNum,"day",dataTime);
       List<Map<String, Object>> list4 = this.getInspectionStandars(equipmentNum, "week",dataTime);
       List<Map<String, Object>> list5 = this.getUserQianzi(equipmentNum,"week",dataTime);
       List<Map<String, Object>> list6 = this.getCheckUserQianzi(equipmentNum,"week",dataTime);
       mapResult.put("equipentNum",equipment.getNum());
       mapResult.put("equipentName",equipment.getName());
       mapResult.put("equipmentModel",equipment.getModel());
       mapResult.put("equipmentModel",equipment.getModel());
       if(area != null){
          mapResult.put("workCenterName",area.getName());
       }
       if(standard != null){
          mapResult.put("regulations",standard.getDisUda1());
       }
       mapResult.put("list1",list1);
       mapResult.put("list2",list2);
       mapResult.put("list3",list3);
       mapResult.put("list4",list4);
       mapResult.put("list5",list5);
       mapResult.put("list6",list6);
       return Result.ok(mapResult);
    }
    List<Map<String, Object>> getInspectionStandars(String equipmentNum,String cycleUnit,String dataTime){
       List<Map<String, Object>> maps = new ArrayList<>();
       List<Map<String, Object>> dayInspectionStandard = inspectionOrderService.findDayInspectionStandard(equipmentNum,cycleUnit);
       for (Map<String, Object> map : dayInspectionStandard) {
          String name = (String)map.get("name");
          String detectionStandard = (String)map.get("detectionStandard");
          List<Map<String, Object>> record = inspectionOrderService.findDayInspectionStandardProject(equipmentNum,name, detectionStandard,dataTime);
          List<InspectionResultVo> listS = new ArrayList<>();
          for (Map<String, Object> r : record) {
             if(maps.size()>0){
                Boolean flag = false;
                for (Map<String, Object> map1 : maps) {
                   if(map1.containsValue(r.get("name")) && map1.containsValue(r.get("detectionStandard"))){
                      map1.put(r.get("dayTime").toString(),r.get("insResult"));
                      flag = true;
                      InspectionResultVo inspectionResultVo = new InspectionResultVo();
                      inspectionResultVo.setDayTime((String)r.get("dayTime"));
                      inspectionResultVo.setWeekOfMonth((Integer)r.get("weekOfMonth"));
                      inspectionResultVo.setInsResult((String)r.get("insResult"));
                      listS.add(inspectionResultVo);
                      map1.put("dataList",listS);
                   }
                }
                if(flag == false){
                   HashMap<String, Object> hashMap = new HashMap<>();
                   hashMap.put("name",r.get("name"));
                   hashMap.put("detectionStandard",r.get("detectionStandard"));
//                   hashMap.put(r.get("dayTime").toString(),r.get("insResult"));
                   InspectionResultVo inspectionResultVo = new InspectionResultVo();
                   inspectionResultVo.setDayTime((String)r.get("dayTime"));
                   inspectionResultVo.setWeekOfMonth((Integer)r.get("weekOfMonth"));
                   inspectionResultVo.setInsResult((String)r.get("insResult"));
                   listS.add(inspectionResultVo);
                   hashMap.put("dataList",listS);//----
                   maps.add(hashMap);
                }
             }else{
                HashMap<String, Object> hashMap = new HashMap<>();
                hashMap.put("name",r.get("name"));
                hashMap.put("detectionStandard",r.get("detectionStandard"));
//                hashMap.put(r.get("dayTime").toString(),r.get("insResult"));
                InspectionResultVo inspectionResultVo = new InspectionResultVo();
                inspectionResultVo.setDayTime((String)r.get("dayTime"));
                inspectionResultVo.setInsResult((String)r.get("insResult"));
                inspectionResultVo.setWeekOfMonth((Integer)r.get("weekOfMonth"));
                listS.add(inspectionResultVo);
                hashMap.put("dataList",listS);
                maps.add(hashMap);
             }
          }
       }
       return maps;
    }
   List<Map<String, Object>> getUserQianzi(String equipmentNum,String cycleUnit,String dataTime){
      List<Map<String, Object>> maps2 = new ArrayList<>();
      List<InspectionResultVo> listIn = new ArrayList<>();
      List<Map<String, Object>> userQianZi = inspectionOrderService.getUserQianZi(equipmentNum,cycleUnit,dataTime);
      for (Map<String, Object> map : userQianZi) {
         if(maps2.size()>0){
            Boolean flag = false;
            for (Map<String, Object> map1 : maps2) {
               if(map1.containsValue("维护责任人签字")){
//                  map1.put(map.get("dayTime").toString(),map.get("inspectionUserName"));
                  flag = true;
                  InspectionResultVo inspectionResultVo = new InspectionResultVo();
                  inspectionResultVo.setDayTime((String)map.get("dayTime"));
                  inspectionResultVo.setInspectionUserName((String)map.get("inspectionUserName"));
                  inspectionResultVo.setWeekOfMonth((Integer)map.get("weekOfMonth"));
                  listIn.add(inspectionResultVo);
                  map1.put("dataList",listIn);
               }
            }
            if(flag == false){
               HashMap<String, Object> hashMap = new HashMap<>();
               hashMap.put("inspectionUserName","维护责任人签字");
//               hashMap.put(map.get("dayTime").toString(),map.get("inspectionUserName"));
//               maps2.add(hashMap);
               InspectionResultVo inspectionResultVo = new InspectionResultVo();
               inspectionResultVo.setDayTime((String)map.get("dayTime"));
               inspectionResultVo.setInspectionUserName((String)map.get("inspectionUserName"));
               inspectionResultVo.setWeekOfMonth((Integer)map.get("weekOfMonth"));
               listIn.add(inspectionResultVo);
               hashMap.put("dataList",listIn);//---
               hashMap.put("dataList",listIn);
            }
         }else{
            HashMap<String, Object> hashMap = new HashMap<>();
            hashMap.put("inspectionUserName","维护责任人签字");
//            hashMap.put(map.get("dayTime").toString(),map.get("inspectionUserName"));
//            maps2.add(hashMap);
            InspectionResultVo inspectionResultVo = new InspectionResultVo();
            inspectionResultVo.setDayTime((String)map.get("dayTime"));
            inspectionResultVo.setInspectionUserName((String)map.get("inspectionUserName"));
            inspectionResultVo.setWeekOfMonth((Integer)map.get("weekOfMonth"));
            listIn.add(inspectionResultVo);
            hashMap.put("dataList",listIn);
            maps2.add(hashMap);
         }
      }
      return maps2;
   }
    List<Map<String, Object>> getCheckUserQianzi(String num,String cycleUnit,String dataTime){
       List<Map<String, Object>> maps3 = new ArrayList<>();
       List<InspectionResultVo> listRe = new ArrayList<>();
       List<Map<String, Object>> checkUserQianZi = inspectionOrderService.getUserQianZi(num,cycleUnit,dataTime);
       for (Map<String, Object> map : checkUserQianZi) {
          if(maps3.size()>0){
             Boolean flag = false;
             for (Map<String, Object> map1 : maps3) {
                if(map1.containsValue("检查责任人签字")){
//                   map1.put(map.get("dayTime").toString(),map.get("repairConfirmPerson"));
                   InspectionResultVo inspectionResultVo = new InspectionResultVo();
                   inspectionResultVo.setDayTime((String)map.get("dayTime"));
                   inspectionResultVo.setRepairConfirmPerson((String)map.get("repairConfirmPerson"));
                   inspectionResultVo.setWeekOfMonth((Integer)map.get("weekOfMonth"));
                   listRe.add(inspectionResultVo);
                   map1.put("dataList",listRe);
                   flag = true;
                }
             }
             if(flag == false){
                HashMap<String, Object> hashMap = new HashMap<>();
                hashMap.put("repairConfirmPerson","检查责任人签字");
//                hashMap.put(map.get("dayTime").toString(),map.get("repairConfirmPerson"));
//                maps3.add(hashMap);
                InspectionResultVo inspectionResultVo = new InspectionResultVo();
                inspectionResultVo.setDayTime((String)map.get("dayTime"));
                inspectionResultVo.setRepairConfirmPerson((String)map.get("repairConfirmPerson"));
                inspectionResultVo.setWeekOfMonth((Integer)map.get("weekOfMonth"));
                listRe.add(inspectionResultVo);
                hashMap.put("dataList",listRe);
                maps3.add(hashMap);//---
             }
          }else{
             HashMap<String, Object> hashMap = new HashMap<>();
             hashMap.put("repairConfirmPerson","检查责任人签字");
//             hashMap.put(map.get("dayTime").toString(),map.get("repairConfirmPerson"));
//             maps3.add(hashMap);
             InspectionResultVo inspectionResultVo = new InspectionResultVo();
             inspectionResultVo.setDayTime((String)map.get("dayTime"));
             inspectionResultVo.setRepairConfirmPerson((String)map.get("repairConfirmPerson"));
             inspectionResultVo.setWeekOfMonth((Integer)map.get("weekOfMonth"));
             listRe.add(inspectionResultVo);
             hashMap.put("dataList",listRe);
             maps3.add(hashMap);
          }
       }
       return maps3;
    }
 }