qushaowei
2023-12-13 7f11e541f239d8c816bcefb32aae6b9efa31e28e
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionOrderController.java
@@ -33,6 +33,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.SysFileNameVo;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -40,6 +41,7 @@
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.unit.DataUnit;
import org.springframework.web.bind.annotation.*;
@@ -76,6 +78,18 @@
    @Autowired
    private IEquipmentReportRepairService equipmentReportRepairService;
    @Autowired
    @Lazy
    private IdentityService sysIdentityService;
    @Autowired
    @Lazy
    private IEamEquipmentService equipmentService;
    @Autowired
    @Lazy
    private IDailyInspectionStandardService dailyInspectionStandardService;
//    @Autowired
//    private IUploadRelaService uploadRelaService;
@@ -125,24 +139,6 @@
          record.put("inspectionCycles",inspectionCycles);
          List<Map<String, Object>> inspectionOrderDetails = inspectionOrderService.getInspectionOrderDetailByOrderId(id);
//          for (Map<String, Object> inspectionOrderDetail : inspectionOrderDetails) {
//             //获取订单明细示意图
////             List<SysUploadRela> sysUploadRelas = uploadRelaService.lambdaQuery().eq(SysUploadRela::getBusId, (String)inspectionOrderDetail.get("inspectionStandardDetailId")).eq(SysUploadRela::getDelFlag, 0).list();
//             List<SysUploadRela> sysUploadRelas = sysBaseApi.listByBusIdAndBusType ((String)inspectionOrderDetail.get("inspectionStandardDetailId"),null);
//             if(sysUploadRelas.size()>0){
////                List<SysUploadRela> uploadRelas = uploadRelaService.listByBusIdAndBusType((String)inspectionOrderDetail.get("inspectionStandardDetailId"), "daily_inspection_standard_photo");
//                List<SysUploadRela> uploadRelas = sysBaseApi.listByBusIdAndBusType ((String)inspectionOrderDetail.get("inspectionStandardDetailId"),"daily_inspection_standard_photo");
//                SysUpload upload = new SysUpload();
//                if (CollectionUtils.isNotEmpty(uploadRelas)) {
////                   upload = uploadService.getById(uploadRelas.get(0).getUploadId());
//                   upload = sysBaseApi.getUploadById(uploadRelas.get(0).getUploadId());
//                }
//                inspectionOrderDetail.put("upload",upload);
//             }else{
//                SysUpload upload = new SysUpload();
//                inspectionOrderDetail.put("upload",upload);
//             }
//          }
          record.put("inspectionOrderDetails",inspectionOrderDetails);
@@ -157,7 +153,7 @@
                .eq(InspectionOrderDetail::getDelFlag, 0).list();
          record.put("result","正常:"+passCount.size()+","+"异常:"+failCount.size());
          if("5".equals(status)){
          if("5".equals(status) ){
             record.put("distable",true);
          }else{
             record.put("distable",false);
@@ -192,29 +188,63 @@
      inspectionOrder.setInspectionDeadline(date);
      inspectionOrder.setInspectionStandardType("1");
      inspectionOrderService.save(inspectionOrder);
      List<InspectionOrderDetail> inspectionOrderDetailList = inspectionOrder.getInspectionOrderDetailList();
      for (InspectionOrderDetail inspectionOrderDetail : inspectionOrderDetailList) {
         String id = inspectionOrder.getId();
         String inspectionStandardDetailId = inspectionOrderDetail.getInspectionStandardDetailId();
         String inspectionProjectId = inspectionOrderDetail.getInspectionProjectId();
         DailyInspectionStandardDetail dailyInspectionStandardDetail = dailyInspectionStandardDetailService.getById(inspectionStandardDetailId);
         InspectionProject inspectionProject = inspectionProjectService.getById(inspectionProjectId);
      String equipmentId = inspectionOrder.getEquipmentId();
      Equipment equipment = equipmentService.getById(equipmentId);
      String isLineEquip = equipment.getIsLineEquip();
      if("no".equals(isLineEquip)){
         List<InspectionOrderDetail> inspectionOrderDetailList = inspectionOrder.getInspectionOrderDetailList();
         for (InspectionOrderDetail inspectionOrderDetail : inspectionOrderDetailList) {
            String id = inspectionOrder.getId();
            String inspectionStandardDetailId = inspectionOrderDetail.getInspectionStandardDetailId();
            String inspectionProjectId = inspectionOrderDetail.getInspectionProjectId();
         inspectionOrderDetail.setId("");
         inspectionOrderDetail.setInspectionOrderId(id);
         inspectionOrderDetail.setLocation(dailyInspectionStandardDetail.getLocation());
         inspectionOrderDetail.setPhoto(dailyInspectionStandardDetail.getPhoto());
         inspectionOrderDetail.setInspectionMethod(inspectionProject.getInspectionMethod());
         inspectionOrderDetail.setInspectionTool(inspectionProject.getInspectionTool());
         inspectionOrderDetail.setAnalysisMethod(inspectionProject.getAnalysisMethod());
         inspectionOrderDetail.setTestValueType(inspectionProject.getTestValueType());
         inspectionOrderDetail.setDetectionStandard(inspectionProject.getDetectionStandard());
         inspectionOrderDetail.setAcceptabilityLimit(inspectionProject.getAcceptabilityLimit());
            DailyInspectionStandardDetail dailyInspectionStandardDetail = dailyInspectionStandardDetailService.getById(inspectionStandardDetailId);
            InspectionProject inspectionProject = inspectionProjectService.getById(inspectionProjectId);
         inspectionOrderDetailService.save(inspectionOrderDetail);
            inspectionOrderDetail.setId("");
            inspectionOrderDetail.setInspectionOrderId(id);
            inspectionOrderDetail.setLocation(dailyInspectionStandardDetail.getLocation());
            inspectionOrderDetail.setPhoto(dailyInspectionStandardDetail.getPhoto());
            inspectionOrderDetail.setInspectionMethod(inspectionProject.getInspectionMethod());
            inspectionOrderDetail.setInspectionTool(inspectionProject.getInspectionTool());
            inspectionOrderDetail.setAnalysisMethod(inspectionProject.getAnalysisMethod());
            inspectionOrderDetail.setTestValueType(inspectionProject.getTestValueType());
            inspectionOrderDetail.setDetectionStandard(inspectionProject.getDetectionStandard());
            inspectionOrderDetail.setAcceptabilityLimit(inspectionProject.getAcceptabilityLimit());
            inspectionOrderDetailService.save(inspectionOrderDetail);
         }
      }else{
         String lineId = equipment.getLineId();
         List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery()
               .eq(DailyInspectionStandard::getEquipmentId, lineId)
               .eq(DailyInspectionStandard::getVersionStatus, "2")
               .eq(DailyInspectionStandard::getDelFlag, "0").list();
         if(dailyInspectionStandards.size()>0) {
            DailyInspectionStandard dailyInspectionStandard = dailyInspectionStandards.get(0);
            //保存点检工单子表数据
            List<DailyInspectionStandardDetail> dailyInspectionStandardDetailList = dailyInspectionStandardDetailService.lambdaQuery()
                  .eq(DailyInspectionStandardDetail::getDailyInspectionStandardId,dailyInspectionStandard.getId())
                  .eq(DailyInspectionStandardDetail::getInspectionCycleId,inspectionOrder.getInspectionCycleId())
                  .eq(DailyInspectionStandardDetail::getDelFlag,"0").list();
            for(DailyInspectionStandardDetail dailyInspectionStandardDetail : dailyInspectionStandardDetailList){
               String inspectionProjectId = dailyInspectionStandardDetail.getInspectionProjectId();
               InspectionOrderDetail inspectionOrderDetail = new InspectionOrderDetail();
               inspectionOrderDetail.setInspectionOrderId(inspectionOrder.getId());
               inspectionOrderDetail.setInspectionProjectId(inspectionProjectId);
               inspectionOrderDetail.setInspectionStandardDetailId(dailyInspectionStandardDetail.getId());
               inspectionOrderDetail.setLocation(dailyInspectionStandardDetail.getLocation());
               inspectionOrderDetail.setPhoto(dailyInspectionStandardDetail.getPhoto());
               InspectionProject inspectionProject = inspectionProjectService.getById(inspectionProjectId);
               if(inspectionProject != null){
                  inspectionOrderDetail.setDetectionStandard(inspectionProject.getDetectionStandard());
               }
               inspectionOrderDetailService.save(inspectionOrderDetail);
            }
         }
      }
      return Result.OK("添加成功!");
   }
   
@@ -254,25 +284,59 @@
            inspectionOrderDetailService.updateById(inspectionOrderDetail);
         }
         List<InspectionOrderDetail> inspectionOrderDetailList = inspectionOrder.getInspectionOrderDetailList();
         for (InspectionOrderDetail inspectionOrderDetail : inspectionOrderDetailList) {
            String inspectionStandardDetailId = inspectionOrderDetail.getInspectionStandardDetailId();
            String inspectionProjectId = inspectionOrderDetail.getInspectionProjectId();
         String equipmentId = inspectionOrder.getEquipmentId();
         Equipment equipment = equipmentService.getById(equipmentId);
         String isLineEquip = equipment.getIsLineEquip();
         if("no".equals(isLineEquip)){
            List<InspectionOrderDetail> inspectionOrderDetailList = inspectionOrder.getInspectionOrderDetailList();
            for (InspectionOrderDetail inspectionOrderDetail : inspectionOrderDetailList) {
               String inspectionStandardDetailId = inspectionOrderDetail.getInspectionStandardDetailId();
               String inspectionProjectId = inspectionOrderDetail.getInspectionProjectId();
            DailyInspectionStandardDetail dailyInspectionStandardDetail = dailyInspectionStandardDetailService.getById(inspectionStandardDetailId);
            InspectionProject inspectionProject = inspectionProjectService.getById(inspectionProjectId);
               DailyInspectionStandardDetail dailyInspectionStandardDetail = dailyInspectionStandardDetailService.getById(inspectionStandardDetailId);
               InspectionProject inspectionProject = inspectionProjectService.getById(inspectionProjectId);
            inspectionOrderDetail.setId("");
            inspectionOrderDetail.setInspectionOrderId(id);
            inspectionOrderDetail.setLocation(dailyInspectionStandardDetail.getLocation());
            inspectionOrderDetail.setInspectionMethod(inspectionProject.getInspectionMethod());
            inspectionOrderDetail.setInspectionTool(inspectionProject.getInspectionTool());
            inspectionOrderDetail.setAnalysisMethod(inspectionProject.getAnalysisMethod());
            inspectionOrderDetail.setTestValueType(inspectionProject.getTestValueType());
            inspectionOrderDetail.setDetectionStandard(inspectionProject.getDetectionStandard());
            inspectionOrderDetail.setAcceptabilityLimit(inspectionProject.getAcceptabilityLimit());
               inspectionOrderDetail.setId("");
               inspectionOrderDetail.setInspectionOrderId(id);
               inspectionOrderDetail.setLocation(dailyInspectionStandardDetail.getLocation());
               inspectionOrderDetail.setInspectionMethod(inspectionProject.getInspectionMethod());
               inspectionOrderDetail.setInspectionTool(inspectionProject.getInspectionTool());
               inspectionOrderDetail.setAnalysisMethod(inspectionProject.getAnalysisMethod());
               inspectionOrderDetail.setTestValueType(inspectionProject.getTestValueType());
               inspectionOrderDetail.setDetectionStandard(inspectionProject.getDetectionStandard());
               inspectionOrderDetail.setAcceptabilityLimit(inspectionProject.getAcceptabilityLimit());
            inspectionOrderDetailService.save(inspectionOrderDetail);
               inspectionOrderDetailService.save(inspectionOrderDetail);
            }
         }else{
            String lineId = equipment.getLineId();
            List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery()
                  .eq(DailyInspectionStandard::getEquipmentId, lineId)
                  .eq(DailyInspectionStandard::getVersionStatus, "2")
                  .eq(DailyInspectionStandard::getDelFlag, "0").list();
            if(dailyInspectionStandards.size()>0) {
               DailyInspectionStandard dailyInspectionStandard = dailyInspectionStandards.get(0);
               //保存点检工单子表数据
               List<DailyInspectionStandardDetail> dailyInspectionStandardDetailList = dailyInspectionStandardDetailService.lambdaQuery()
                     .eq(DailyInspectionStandardDetail::getDailyInspectionStandardId,dailyInspectionStandard.getId())
                     .eq(DailyInspectionStandardDetail::getInspectionCycleId,inspectionOrder.getInspectionCycleId())
                     .eq(DailyInspectionStandardDetail::getDelFlag,"0").list();
               for(DailyInspectionStandardDetail dailyInspectionStandardDetail : dailyInspectionStandardDetailList){
                  String inspectionProjectId = dailyInspectionStandardDetail.getInspectionProjectId();
                  InspectionOrderDetail inspectionOrderDetail = new InspectionOrderDetail();
                  inspectionOrderDetail.setInspectionOrderId(inspectionOrder.getId());
                  inspectionOrderDetail.setInspectionProjectId(inspectionProjectId);
                  inspectionOrderDetail.setInspectionStandardDetailId(dailyInspectionStandardDetail.getId());
                  inspectionOrderDetail.setLocation(dailyInspectionStandardDetail.getLocation());
                  inspectionOrderDetail.setPhoto(dailyInspectionStandardDetail.getPhoto());
                  InspectionProject inspectionProject = inspectionProjectService.getById(inspectionProjectId);
                  if(inspectionProject != null){
                     inspectionOrderDetail.setDetectionStandard(inspectionProject.getDetectionStandard());
                  }
                  inspectionOrderDetailService.save(inspectionOrderDetail);
               }
            }
         }
      }
      String inspectionUserId = inspectionOrder.getInspectionUserId();
@@ -390,6 +454,12 @@
    @RequestMapping(value = "/editStatus", method = {RequestMethod.PUT, RequestMethod.POST})
    public Result<String> editStatus(@RequestBody InspectionOrder inspectionOrder) {
       LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
       String status = inspectionOrder.getStatus();
       if("6".equals(status)){
          inspectionOrder.setInspectionOrderUda1(sysUser.getRealname());
          inspectionOrder.setRepairConfirmDate(new Date());
       }
       boolean b = inspectionOrderService.updateById(inspectionOrder);
       if (b) {
          return Result.OK("下发成功!");
@@ -430,16 +500,16 @@
       String status = order.getStatus();
       if ("5".equals(status)) {
          List<InspectionOrderDetail> inspectionOrderDetails = inspectionOrderDetailService.lambdaQuery()
                .eq(InspectionOrderDetail::getInspectionOrderId, id)
                .eq(InspectionOrderDetail::getDelFlag, 0).list();
          ArrayList<String> strings = new ArrayList<>();
          for (InspectionOrderDetail inspectionOrderDetail : inspectionOrderDetails) {
             strings.add(inspectionOrderDetail.getId());
          }
//          List<InspectionOrderDetail> inspectionOrderDetails = inspectionOrderDetailService.lambdaQuery()
//                .eq(InspectionOrderDetail::getInspectionOrderId, id)
//                .eq(InspectionOrderDetail::getDelFlag, 0).list();
//
//          ArrayList<String> strings = new ArrayList<>();
//          for (InspectionOrderDetail inspectionOrderDetail : inspectionOrderDetails) {
//             strings.add(inspectionOrderDetail.getId());
//          }
          List<EquipmentReportRepair> equipmentReportRepairs = equipmentReportRepairService.lambdaQuery()
                .in(EquipmentReportRepair::getSourceId, strings)
                .eq(EquipmentReportRepair::getSourceId, id)
                .eq(EquipmentReportRepair::getDelFlag, 0).list();
          if(equipmentReportRepairs.size()>0){
@@ -466,25 +536,35 @@
    @RequestMapping(value = "/report", method = {RequestMethod.PUT, RequestMethod.POST})
    public Result<String> report(@RequestBody InspectionOrder inspectionOrder) {
//       LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
       LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//       String userId = sysUser.getId();
//       inspectionOrder.setInspectionUserId(userId);
       List<InspectionOrderDetail> inspectionOrderDetailList = inspectionOrder.getInspectionOrderDetailList();
       boolean flag = false;
       String num = "";
       for (InspectionOrderDetail orderDetail : inspectionOrderDetailList) {
          inspectionOrderDetailService.updateById(orderDetail);
          String treatmentMeasure = orderDetail.getTreatmentMeasure();//1:自行处置   2: 故障报修
          if ("2".equals(treatmentMeasure)) {
             if(flag == true){
                continue;
             }
             EquipmentReportRepair equipmentReportRepair = new EquipmentReportRepair();
             equipmentReportRepair.setNum("RCNum001");
             num = sysIdentityService.getNumByTypeAndLength("EquipmentReportRepair", 4);
             equipmentReportRepair.setNum(num);
             equipmentReportRepair.setStatus("1");
             equipmentReportRepair.setSource("2");
             equipmentReportRepair.setIsCreateOrder(0);
             equipmentReportRepair.setEquipmentId(inspectionOrder.getEquipmentId());
             equipmentReportRepair.setFaultDescription(orderDetail.getAbnormalDesc());
             equipmentReportRepair.setFaultTime(new Date(System.currentTimeMillis()));
             equipmentReportRepair.setIsStop("1");
             equipmentReportRepair.setStatus("1");
             equipmentReportRepair.setSource("2");
             equipmentReportRepair.setSourceId(orderDetail.getId());
             equipmentReportRepair.setSourceId(inspectionOrder.getId());
             equipmentReportRepair.setErrUda1("no");
             equipmentReportRepair.setErrUda2(sysUser.getRealname());
             equipmentReportRepairService.save(equipmentReportRepair);
             flag = true;
          }
       }
       inspectionOrder.setActualEndTime(new Date());
@@ -492,6 +572,26 @@
       if (!b) {
          return Result.error("报工失败!");
       } else {
          if(flag){
             return Result.ok("点检结果异常,已自动生成故障报修单,单号为"+num+"!");
          }else{
             return Result.ok("报工成功!");
          }
       }
    }
    @RequestMapping(value = "/normalReport", method = {RequestMethod.PUT, RequestMethod.POST})
    public Result<String> normalReport(@RequestBody InspectionOrder inspectionOrder) {
       List<InspectionOrderDetail> inspectionOrderDetailList = inspectionOrder.getInspectionOrderDetailList();
       for (InspectionOrderDetail orderDetail : inspectionOrderDetailList) {
          orderDetail.setInspectionProjectResult("1");
          inspectionOrderDetailService.updateById(orderDetail);
       }
       inspectionOrder.setActualEndTime(new Date());
       boolean b = inspectionOrderService.updateById(inspectionOrder);
       if (!b) {
          return Result.error("报工失败!");
       } else {
          return Result.ok("报工成功!");
       }
    }