From 7f11e541f239d8c816bcefb32aae6b9efa31e28e Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期三, 13 十二月 2023 16:49:15 +0800
Subject: [PATCH] 生产线点检

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionOrderController.java |  146 +++++++++++++++++++++++++++--------
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/DailyInspectionOrderJob.java          |   83 +++++++++++++++++---
 2 files changed, 181 insertions(+), 48 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionOrderController.java
index 59367c1..128eb2f 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionOrderController.java
@@ -83,6 +83,14 @@
 	 @Lazy
 	 private IdentityService sysIdentityService;
 
+	 @Autowired
+	 @Lazy
+	 private IEamEquipmentService equipmentService;
+
+	 @Autowired
+	 @Lazy
+	 private IDailyInspectionStandardService dailyInspectionStandardService;
+
 //	 @Autowired
 //	 private IUploadRelaService uploadRelaService;
 //
@@ -180,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("娣诲姞鎴愬姛锛�");
 	}
 	
@@ -242,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();
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/DailyInspectionOrderJob.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/DailyInspectionOrderJob.java
index 57944ce..cb7a65a 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/DailyInspectionOrderJob.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/DailyInspectionOrderJob.java
@@ -35,6 +35,14 @@
     private IInspectionOrderDetailService inspectionOrderDetailService;
     @Autowired
     private IDailyInspectionStandardDetailService dailyInspectionStandardDetailService;
+    @Autowired
+    private IEamEquipmentService equipmentService;
+
+    @Autowired
+    private IDailyInspectionStandardService dailyInspectionStandardService;
+
+    @Autowired
+    private IInspectionProjectService inspectionProjectService;
 
     @Override
     public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
@@ -125,19 +133,61 @@
                 inspectionOrder.setEquipmentId(inspectionCycle.getEquipmentId());
                 inspectionOrder.setTeamId(inspectionCycle.getTeamId());
                 inspectionOrderService.save(inspectionOrder);
-                //淇濆瓨鐐规宸ュ崟瀛愯〃鏁版嵁
-                List<DailyInspectionStandardDetail> dailyInspectionStandardDetailList = dailyInspectionStandardDetailService.lambdaQuery()
-                        .eq(DailyInspectionStandardDetail::getDailyInspectionStandardId,inspectionOrder.getInspectionStandardId())
-                        .eq(DailyInspectionStandardDetail::getInspectionCycleId,inspectionOrder.getInspectionCycleId()).list();
-                for(DailyInspectionStandardDetail dailyInspectionStandardDetail : dailyInspectionStandardDetailList){
-                    InspectionOrderDetail inspectionOrderDetail = new InspectionOrderDetail();
-                    inspectionOrderDetail.setInspectionOrderId(inspectionOrder.getId());
-                    inspectionOrderDetail.setInspectionProjectId(dailyInspectionStandardDetail.getInspectionProjectId());
-                    inspectionOrderDetail.setInspectionStandardDetailId(dailyInspectionStandardDetail.getId());
-                    inspectionOrderDetail.setLocation(dailyInspectionStandardDetail.getLocation());
-                    inspectionOrderDetail.setPhoto(dailyInspectionStandardDetail.getPhoto());
-                    inspectionOrderDetailService.save(inspectionOrderDetail);
+
+                Equipment equipment = equipmentService.getById(inspectionCycle.getEquipmentId());
+                String isLineEquip = equipment.getIsLineEquip();
+                if("no".equals(isLineEquip)){
+                    //淇濆瓨鐐规宸ュ崟瀛愯〃鏁版嵁
+                    List<DailyInspectionStandardDetail> dailyInspectionStandardDetailList = dailyInspectionStandardDetailService.lambdaQuery()
+                            .eq(DailyInspectionStandardDetail::getDailyInspectionStandardId,inspectionOrder.getInspectionStandardId())
+                            .eq(DailyInspectionStandardDetail::getInspectionCycleId,inspectionOrder.getInspectionCycleId()).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);
+                    }
+                }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);
+                        }
+                    }
                 }
+
+
             }else if("week".equals(inspectionCycle.getCycleUnit()) && dayOfWeek == DayOfWeek.FRIDAY){
                 //淇濆瓨鐐规宸ュ崟涓昏〃鏁版嵁
                 InspectionOrder inspectionOrder = new InspectionOrder();
@@ -154,12 +204,19 @@
                         .eq(DailyInspectionStandardDetail::getDailyInspectionStandardId,inspectionOrder.getInspectionStandardId())
                         .eq(DailyInspectionStandardDetail::getInspectionCycleId,inspectionOrder.getInspectionCycleId()).list();
                 for(DailyInspectionStandardDetail dailyInspectionStandardDetail : dailyInspectionStandardDetailList){
+                    String inspectionProjectId = dailyInspectionStandardDetail.getInspectionProjectId();
+
                     InspectionOrderDetail inspectionOrderDetail = new InspectionOrderDetail();
                     inspectionOrderDetail.setInspectionOrderId(inspectionOrder.getId());
-                    inspectionOrderDetail.setInspectionProjectId(dailyInspectionStandardDetail.getInspectionProjectId());
+                    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);
                 }
             }

--
Gitblit v1.9.3