lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionInspectionController.java
@@ -6,12 +6,17 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.eam.entity.PrecisionInspection;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.eam.entity.*;
import org.jeecg.modules.eam.service.IDailyMaintenanceOrderService;
import org.jeecg.modules.eam.service.IPrecisionInspectionDetailService;
import org.jeecg.modules.eam.service.IPrecisionInspectionService;
import org.jeecg.modules.eam.service.IPrecisionParametersService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
@@ -19,8 +24,10 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
 /**
/**
 * @Description: mom_eam_precision_inspection
 * @Author: jeecg-boot
 * @Date:   2023-09-04
@@ -33,6 +40,15 @@
public class PrecisionInspectionController extends JeecgController<PrecisionInspection, IPrecisionInspectionService> {
   @Autowired
   private IPrecisionInspectionService precisionInspectionService;
   @Autowired
   private IDailyMaintenanceOrderService dailyMaintenanceOrderService;
   @Autowired
   private IPrecisionInspectionDetailService precisionInspectionDetailService;
   @Autowired
   private IPrecisionParametersService precisionParametersService;
   
   /**
    * 分页列表查询
@@ -158,4 +174,77 @@
        return super.importExcel(request, response, PrecisionInspection.class);
    }
   @GetMapping("getPrecisionInspectionList")
   public Result<?> getPrecisionInspectionList(@RequestParam(name = "maintenanceOrderId", required = true) String maintenanceOrderId) {
      List<Map<String, Object>> precisionInspectionList = precisionInspectionService.getPrecisionInspectionList(maintenanceOrderId);
      for (Map<String, Object> map : precisionInspectionList) {
         String id = (String) map.get("id");
         List<PrecisionInspectionDetail> precisionInspectionDetails = precisionInspectionDetailService.lambdaQuery()
               .eq(PrecisionInspectionDetail::getPrecisionInspectionId, id)
               .eq(PrecisionInspectionDetail::getDelFlag, "0").list();
         for (PrecisionInspectionDetail precisionInspectionDetail : precisionInspectionDetails) {
            String precisionParametersId = precisionInspectionDetail.getPrecisionParametersId();
            PrecisionParameters precisionParameters = precisionParametersService.getById(precisionParametersId);
            precisionInspectionDetail.setPrecisionParametersName(precisionParameters.getName());
         }
         map.put("precisionInspectionDetails",precisionInspectionDetails);
      }
      return Result.ok(precisionInspectionList);
   }
   /**
    * 设备精度检验流程
    */
   @RequestMapping(value = "/precisionInspection", method = {RequestMethod.PUT, RequestMethod.POST})
   public Result<String> precisionInspection(@RequestBody PrecisionInspection precisionInspection) {
      LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
      String userId = sysUser.getId();
      PrecisionInspection preInspection = precisionInspectionService.getById(precisionInspection.getId());
      DailyMaintenanceOrder maintenanceOrder = dailyMaintenanceOrderService.getById(preInspection.getMaintenanceOrderId());
      String precisionInspectionStatus = maintenanceOrder.getPrecisionInspectionStatus();
      if ("0".equals(precisionInspectionStatus)){
         List<PrecisionInspectionDetail> precisionInspectionDetailList = precisionInspection.getPrecisionInspectionDetailList();
         for (PrecisionInspectionDetail precisionInspectionDetail : precisionInspectionDetailList) {
            precisionInspectionDetailService.updateById(precisionInspectionDetail);
         }
         preInspection.setPrecisionInspectionUser(userId);
         maintenanceOrder.setPrecisionInspectionStatus("1");
      }else if("1".equals(precisionInspectionStatus)){
         preInspection.setRepairDirectorUser(userId);
         maintenanceOrder.setPrecisionInspectionStatus("2");
      }else if("2".equals(precisionInspectionStatus)){
         preInspection.setEachTolerance(precisionInspection.getEachTolerance());
         preInspection.setPartTolerance(precisionInspection.getPartTolerance());
         preInspection.setEquipmentInspectorUser(userId);
         maintenanceOrder.setPrecisionInspectionStatus("3");
      } else if("3".equals(precisionInspectionStatus)){
         preInspection.setSparePart(precisionInspection.getSparePart());
         preInspection.setProcessPass(precisionInspection.getProcessPass());
         preInspection.setMeetProcessRequire(precisionInspection.getMeetProcessRequire());
         preInspection.setUseUnitDirectorUser(userId);
         maintenanceOrder.setPrecisionInspectionStatus("4");
      }else if("4".equals(precisionInspectionStatus)){
         preInspection.setEquipmentInspectorSignUser(userId);
         preInspection.setJudgmentResult(precisionInspection.getJudgmentResult());
         maintenanceOrder.setPrecisionInspectionStatus("5");
         maintenanceOrder.setStatus("8");
      }
      preInspection.setRemark(precisionInspection.getRemark());
      dailyMaintenanceOrderService.updateById(maintenanceOrder);
      precisionInspectionService.updateById(preInspection);
      return Result.OK("审批成功!");
   }
}