From f2e8dc200f4ec9c1021e908f65e6e1e458c2ef70 Mon Sep 17 00:00:00 2001
From: zenglf <18502938215@163.com>
Date: 星期三, 25 十月 2023 13:19:39 +0800
Subject: [PATCH] 鉴定工单调整

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderController.java |  163 ++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 102 insertions(+), 61 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderController.java
index a604a67..adc8d65 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderController.java
@@ -3,6 +3,8 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
 import io.swagger.annotations.Api;
@@ -21,14 +23,8 @@
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.eam.entity.*;
-import org.jeecg.modules.eam.service.ICalibrationOrderDetailService;
-import org.jeecg.modules.eam.service.ICalibrationOrderReportService;
-import org.jeecg.modules.eam.service.ICalibrationOrderService;
-import org.jeecg.modules.eam.service.IEamEquipmentService;
+import org.jeecg.modules.eam.service.*;
 import org.jeecg.modules.eam.vo.CalibrationOrderPage;
-
-//import org.jeecg.modules.system.service.IUploadRelaService;
-//import org.jeecg.modules.system.service.IUploadService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -45,6 +41,8 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.time.LocalDate;
+import java.time.ZoneId;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.Collectors;
@@ -69,6 +67,9 @@
     private ICalibrationOrderReportService calibrationOrderReportService;
     @Autowired
     private IEamEquipmentService equipmentService;
+
+    @Autowired
+    private IPrecisionParametersTemplateDetailService precisionParametersTemplateDetailService;
 //    @Autowired
 //    private IUploadRelaService uploadRelaService;
 //    @Autowired
@@ -451,44 +452,44 @@
         QueryWrapper<CalibrationOrder> queryWrapper = QueryGenerator.initQueryWrapper(calibrationOrder, req.getParameterMap());
         Page<CalibrationOrder> page = new Page<CalibrationOrder>(pageNo, pageSize);
         IPage<CalibrationOrder> pageList = calibrationOrderService.page(page, queryWrapper);
-        for (CalibrationOrder record : pageList.getRecords()) {
-            String id = record.getId();
-            String status = record.getStatus();
-            String managementMode = record.getManagementMode();
-            String equipmentId = record.getEquipmentId();
-            Equipment equipment = equipmentService.getById(equipmentId);
-            if(equipment != null){
-                record.setEquipmentNum(equipment.getNum());
-                record.setEquipmentName(equipment.getName());
-                record.setEquipmentModel(equipment.getModel());
-                record.setEquipmentSpecification(equipment.getSpecification());
-            }
-            List<Map<String, Object>> precisionParameterList = calibrationOrderService.getPrecisionParameterList(equipmentId);
-            record.setPrecisionParameterList(precisionParameterList);
-            if("4".equals(status)){
-                if("data".equals(managementMode)){
-                    List<CalibrationOrderDetail> calibrationOrderDetails = calibrationOrderDetailService.lambdaQuery()
-                            .eq(CalibrationOrderDetail::getCalibrationOrderId, id)
-                            .eq(CalibrationOrderDetail::getJudgmentResult, "fail")
-                            .eq(CalibrationOrderDetail::getDelFlag,"0").list();
-                    if(calibrationOrderDetails.size()>0){
-                        record.setCalibrationResult("寮傚父");
-                    }else{
-                        record.setCalibrationResult("姝e父");
-                    }
-                }else{
-                    List<CalibrationOrderReport> calibrationOrderReports = calibrationOrderReportService.lambdaQuery()
-                            .eq(CalibrationOrderReport::getCalibrationOrderId, id)
-                            .eq(CalibrationOrderReport::getJudgmentResult, "fail")
-                            .eq(CalibrationOrderReport::getDelFlag, "0").list();
-                    if(calibrationOrderReports.size()>0){
-                        record.setCalibrationResult("寮傚父");
-                    }else{
-                        record.setCalibrationResult("姝e父");
-                    }
-                }
-            }
-        }
+//        for (CalibrationOrder record : pageList.getRecords()) {
+//            String id = record.getId();
+//            String status = record.getStatus();
+//            String managementMode = record.getManagementMode();
+//            String equipmentId = record.getEquipmentId();
+//            Equipment equipment = equipmentService.getById(equipmentId);
+//            if(equipment != null){
+//                record.setEquipmentNum(equipment.getNum());
+//                record.setEquipmentName(equipment.getName());
+//                record.setEquipmentModel(equipment.getModel());
+//                record.setEquipmentSpecification(equipment.getSpecification());
+//            }
+//            List<Map<String, Object>> precisionParameterList = calibrationOrderService.getPrecisionParameterList(equipmentId);
+//            record.setPrecisionParameterList(precisionParameterList);
+//            if("4".equals(status)){
+//                if("data".equals(managementMode)){
+//                    List<CalibrationOrderDetail> calibrationOrderDetails = calibrationOrderDetailService.lambdaQuery()
+//                            .eq(CalibrationOrderDetail::getCalibrationOrderId, id)
+//                            .eq(CalibrationOrderDetail::getJudgmentResult, "fail")
+//                            .eq(CalibrationOrderDetail::getDelFlag,"0").list();
+//                    if(calibrationOrderDetails.size()>0){
+//                        record.setCalibrationResult("寮傚父");
+//                    }else{
+//                        record.setCalibrationResult("姝e父");
+//                    }
+//                }else{
+//                    List<CalibrationOrderReport> calibrationOrderReports = calibrationOrderReportService.lambdaQuery()
+//                            .eq(CalibrationOrderReport::getCalibrationOrderId, id)
+//                            .eq(CalibrationOrderReport::getJudgmentResult, "fail")
+//                            .eq(CalibrationOrderReport::getDelFlag, "0").list();
+//                    if(calibrationOrderReports.size()>0){
+//                        record.setCalibrationResult("寮傚父");
+//                    }else{
+//                        record.setCalibrationResult("姝e父");
+//                    }
+//                }
+//            }
+//        }
         return Result.OK(pageList);
     }
     /**
@@ -502,16 +503,24 @@
         for (CalibrationOrderDetail calibrationOrderDetail : calibrationOrderDetails) {
             calibrationOrderDetailService.removeById(calibrationOrderDetail);
         }
-        List<Map<String, Object>> precisionParameterList = calibrationOrderService.getPrecisionParameterList(calibrationOrder.getEquipmentId());
-        CalibrationOrderDetail calibrationOrderDetail = null;
-        for (Map<String, Object> map : precisionParameterList) {
-            calibrationOrderDetail = new CalibrationOrderDetail();
+        addAndEdit(calibrationOrder);
+        return Result.OK("缂栬緫鎴愬姛!");
+    }
+
+    private void addAndEdit(@RequestBody CalibrationOrder calibrationOrder) {
+        String precisionParametersTemplateId = calibrationOrder.getCalibrationOrderUda1();
+        List<PrecisionParametersTemplateDetail> precisionParametersTemplateDetails = precisionParametersTemplateDetailService
+                .list(new QueryWrapper<PrecisionParametersTemplateDetail>()
+                        .eq("precision_parameters_template_id",precisionParametersTemplateId)
+                        .eq("del_flag",0));
+        for (PrecisionParametersTemplateDetail precisionParametersTemplateDetail : precisionParametersTemplateDetails) {
+            CalibrationOrderDetail calibrationOrderDetail = new CalibrationOrderDetail();
             calibrationOrderDetail.setCalibrationOrderId(calibrationOrder.getId());
-            calibrationOrderDetail.setEquipmentPrecisionParametersId((String)map.get("id"));
-            calibrationOrderDetail.setPrecisionParametersId((String)map.get("precisionParametersId"));
+            calibrationOrderDetail.setCalibrationOrderDetailUda1(precisionParametersTemplateDetail.getId());
+            calibrationOrderDetail.setPrecisionParametersId(precisionParametersTemplateDetail.getPrecisionParametersId());
+            calibrationOrderDetail.setSort(precisionParametersTemplateDetail.getSort());
             calibrationOrderDetailService.save(calibrationOrderDetail);
         }
-        return Result.OK("缂栬緫鎴愬姛!");
     }
 
     /**
@@ -523,15 +532,7 @@
     public Result<String> addNew(@RequestBody CalibrationOrder calibrationOrder) {
         calibrationOrder.setStatus("1");
         calibrationOrderService.save(calibrationOrder);
-        List<Map<String, Object>> precisionParameterList = calibrationOrderService.getPrecisionParameterList(calibrationOrder.getEquipmentId());
-        CalibrationOrderDetail calibrationOrderDetail = null;
-        for (Map<String, Object> map : precisionParameterList) {
-            calibrationOrderDetail = new CalibrationOrderDetail();
-            calibrationOrderDetail.setCalibrationOrderId(calibrationOrder.getId());
-            calibrationOrderDetail.setEquipmentPrecisionParametersId((String)map.get("id"));
-            calibrationOrderDetail.setPrecisionParametersId((String)map.get("precisionParametersId"));
-            calibrationOrderDetailService.save(calibrationOrderDetail);
-        }
+        addAndEdit(calibrationOrder);
         return Result.OK("娣诲姞鎴愬姛锛�");
     }
 
@@ -598,4 +599,44 @@
         calibrationOrderService.removeById(id);
         return Result.OK("鍒犻櫎鎴愬姛!");
     }
+    @GetMapping(value = "/listByMainId")
+    public Result<IPage<CalibrationOrderDetail>> listByMainId(CalibrationOrderDetail calibrationOrderDetail,
+                                                                                                    @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                                                                    @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                                                                    HttpServletRequest req) {
+        QueryWrapper<CalibrationOrderDetail> queryWrapper = QueryGenerator.initQueryWrapper(calibrationOrderDetail, req.getParameterMap());
+        Page<CalibrationOrderDetail> page = new Page<CalibrationOrderDetail>(pageNo, pageSize);
+        IPage<CalibrationOrderDetail> pageList = calibrationOrderDetailService.pageList(page,calibrationOrderDetail.getCalibrationOrderId());
+        return Result.OK(pageList);
+    }
+    @RequestMapping(value = "/saveFinal", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<String> saveFinal(@RequestBody CalibrationOrder calibrationOrder) {
+        calibrationOrder.setCalibrationTime(new Date());
+        calibrationOrder.setStatus("5");
+        if(StringUtils.isNotBlank(calibrationOrder.getEquipmentId())){
+            String equipmentId = calibrationOrder.getEquipmentId();
+            Equipment equipment = equipmentService.getById(equipmentId);
+            if(ObjectUtils.isNotNull(equipment)){
+                LocalDate currentDate = LocalDate.now();
+                // 娣诲姞缁存姢鍛ㄦ湡鐨勬棩鏈�
+                String checkPeriod = equipment.getCheckPeriod();
+                if(StringUtils.isNotBlank(checkPeriod)){
+                    LocalDate dateAfter30Days = currentDate.plusDays(Integer.parseInt(checkPeriod));
+                    Date result = Date.from(dateAfter30Days.atStartOfDay(ZoneId.systemDefault()).toInstant());
+                    equipment.setTechnologyStatus(calibrationOrder.getCalibrationOrderUda6());
+                    equipment.setTechnologyStatusQualificationTime(new Date());
+                    equipment.setNextTechnologyStatusQualificationTime(result);
+                }else {
+                    return Result.error("璇ヨ澶囧皻鏈淮鎶ゆ瀹氬懆鏈燂紝璇峰厛缁存姢妫�瀹氬懆鏈�");
+                }
+
+                // 杞崲涓簀ava.util.Date
+                equipmentService.updateById(equipment);
+            }
+
+
+        }
+        calibrationOrderService.updateById(calibrationOrder);
+        return Result.OK("缂栬緫鎴愬姛!");
+    }
 }

--
Gitblit v1.9.3