qushaowei
2024-01-12 286375a43369462cd75147271949cf819916912f
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionInspectionController.java
@@ -2,16 +2,19 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.modules.eam.service.IPrecisionInspectionService;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.eam.entity.*;
import org.jeecg.modules.eam.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
@@ -19,8 +22,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 +38,21 @@
public class PrecisionInspectionController extends JeecgController<PrecisionInspection, IPrecisionInspectionService> {
   @Autowired
   private IPrecisionInspectionService precisionInspectionService;
   @Autowired
   private IDailyMaintenanceOrderService dailyMaintenanceOrderService;
   @Autowired
   private IPrecisionInspectionDetailService precisionInspectionDetailService;
   @Autowired
   private IPrecisionParametersService precisionParametersService;
   @Autowired
   private IEamEquipmentService equipmentService;
   @Autowired
   private IPrecisionParametersTemplateDetailService precisionParametersTemplateDetailService;
   
   /**
    * 分页列表查询
@@ -158,4 +178,96 @@
        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());
            List<PrecisionParametersTemplateDetail> list = precisionParametersTemplateDetailService.lambdaQuery()
                  .eq(PrecisionParametersTemplateDetail::getPrecisionParametersId, precisionParametersId)
                  .eq(PrecisionParametersTemplateDetail::getDelFlag, "0").list();
            if(list.size()>0){
               precisionInspectionDetail.setTolerance(list.get(0).getTolerance());
            }
         }
         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();
      String receipts = precisionInspection.getReceipts();//精度检验单单据id
      PrecisionInspection preInspection = precisionInspectionService.getById(precisionInspection.getId());
      DailyMaintenanceOrder maintenanceOrder = dailyMaintenanceOrderService.getById(preInspection.getMaintenanceOrderId());
      String maintenanceOrderUda4 = maintenanceOrder.getMaintenanceOrderUda4();
      Equipment equipment = equipmentService.getById(maintenanceOrder.getEquipmentId());
      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");
      }
      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.setSparePart(precisionInspection.getSparePart());
         preInspection.setUseUnitDirectorUser(userId);
         maintenanceOrder.setPrecisionInspectionStatus("4");
      }else if("4".equals(precisionInspectionStatus)){
         preInspection.setEquipmentInspectorSignUser(userId);
         preInspection.setJudgmentResult(precisionInspection.getJudgmentResult());
         maintenanceOrder.setPrecisionInspectionStatus("5");
//         maintenanceOrder.setStatus("8");
         //更新设备技术状态
         equipment.setTechnologyStatus(precisionInspection.getJudgmentResult());
      }
      if(StringUtils.isBlank(maintenanceOrderUda4)){
         maintenanceOrder.setMaintenanceOrderUda4(receipts);
      }
      dailyMaintenanceOrderService.updateById(maintenanceOrder);
      preInspection.setRemark(precisionInspection.getRemark());
      precisionInspectionService.updateById(preInspection);
      equipmentService.updateById(equipment);
      return Result.OK("审批成功!");
   }
}