From e5a85d904ce028a35229ab6245ab894afbca6531 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期六, 26 七月 2025 17:07:30 +0800
Subject: [PATCH] 维修工单

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentWorkLineServiceImpl.java |   64 ++++++++++++++++++++++----------
 1 files changed, 44 insertions(+), 20 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentWorkLineServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentWorkLineServiceImpl.java
index fd58a96..b082be7 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentWorkLineServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentWorkLineServiceImpl.java
@@ -9,11 +9,13 @@
 import org.jeecg.modules.mdc.service.IMdcDriveTypeParamConfigService;
 import org.jeecg.modules.mdc.service.IMdcEquipmentService;
 import org.jeecg.modules.mdc.service.IMdcEquipmentWorkLineService;
+import org.jeecg.modules.mdc.service.IMdcTorqueConfigService;
 import org.jeecg.modules.mdc.util.DateUtils;
 import org.jeecg.modules.mdc.vo.MdcWorkChartVo;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -35,6 +37,9 @@
     @Resource
     private EquipmentWorklineMapper equipmentWorklineMapper;
 
+    @Resource
+    private IMdcTorqueConfigService mdcTorqueConfigService;
+
     /**
      * 鏌ユ壘鎸囧畾鏃ユ湡鐨勬暟鎹�
      */
@@ -49,7 +54,7 @@
             endTime = DateUtils.toDateMedium(mdcWorkChartVo.getDate() + " " + mdcWorkChartVo.getEnd() + ":00");
         }
 
-        if (startTime != null && endTime != null && (startTime.getTime() > endTime.getTime() || startTime.getTime() > new Date().getTime())) {
+        if (startTime != null && endTime != null && (startTime.getTime() > endTime.getTime() || startTime.getTime() > System.currentTimeMillis())) {
             return Collections.emptyList();
         }
         MdcEquipment mdcEquipment = mdcEquipmentService.getOne(new LambdaQueryWrapper<MdcEquipment>().eq(MdcEquipment::getEquipmentId, mdcWorkChartVo.getEquipmentId()));
@@ -66,6 +71,12 @@
             return null;
         }
         List<EquipmentMachingDto> result = this.getWorkLineList(saveTableName, mdcDriveTypeParamConfigs, mdcWorkChartVo, startTime, endTime);
+        // 鏌ユ壘鎵煩鍜岃繘缁欏弬鏁�
+        List<EquipmentMachingDto> torqueList = mdcTorqueConfigService.getWorkLineList(mdcWorkChartVo.getEquipmentId(), startTime, endTime);
+        if (torqueList != null && !torqueList.isEmpty()) {
+            result.addAll(torqueList);
+            result = result.stream().sorted(Comparator.comparing(EquipmentMachingDto::getCollectTime)).collect(Collectors.toList());
+        }
         if (result == null || result.isEmpty()) {
             return null;
         }
@@ -101,6 +112,20 @@
             }
         }
         resultList = resultList.stream().sorted(Comparator.comparing(EquipmentMachingDto::getCollectTime)).collect(Collectors.toList());
+        for (MdcDriveTypeParamConfig mdcDriveTypeParamConfig : mdcDriveTypeParamConfigs) {
+            if ("spindleCurrent".equals(mdcDriveTypeParamConfig.getEnglishName())) {
+                for (EquipmentMachingDto equipmentMachingDto : resultList) {
+                    String devicePower = mdcEquipment.getDevicePower();
+                    if (StringUtils.isNotBlank(devicePower)) {
+                        devicePower = "2500";
+                    }
+                    String spindleload = equipmentMachingDto.getSpindleload();
+                    if (StringUtils.isNotBlank(spindleload)) {
+                        equipmentMachingDto.setSpindleCurrent(new BigDecimal(devicePower).divide(new BigDecimal("380"), 2, BigDecimal.ROUND_HALF_UP).add(new BigDecimal(spindleload)));
+                    }
+                }
+            }
+        }
         return resultList;
     }
 
@@ -110,7 +135,7 @@
             //寰呬紭鍖�
             if ("FANUC".equals(mdcWorkChartVo.getDriveType()) || "SIEMENS840D".equals(mdcWorkChartVo.getDriveType())) {
                 Map<String, Object> param = new HashMap<>();
-                param.put("columns", ",spindlespeed,spindleload,spindlebeilv,feedrate,feedbeilv");
+                param.put("columns", ",spindlespeed,spindleload,spindlebeilv,feedrate,feedbeilv,actualfeedrate,actualspindlespeed");
                 param.put("tableName", saveTableName);
                 param.put("startTime", startTime);
                 param.put("endTime", endTime);
@@ -147,30 +172,27 @@
             }
             for (int i = 1; i <= collentParams.size(); i++) {
                 try {
-                    switch (i) {
-                        case 1:
-                            ei.setDataLine1(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString());
+                    switch (collentParams.get(i - 1).getEnglishName()) {
+                        case "spindlespeed":
+                            ei.setSpindlespeed(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString());
                             break;
-                        case 2:
-                            ei.setDataLine2(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString());
+                        case "spindleload":
+                            ei.setSpindleload(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString());
                             break;
-                        case 3:
-                            ei.setDataLine3(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString());
+                        case "spindlebeilv":
+                            ei.setSpindlebeilv(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString());
                             break;
-                        case 4:
-                            ei.setDataLine4(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString());
+                        case "feedrate":
+                            ei.setFeedrate(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString());
                             break;
-                        case 5:
-                            ei.setDataLine5(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString());
+                        case "feedbeilv":
+                            ei.setFeedbeilv(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString());
                             break;
-                        case 6:
-                            ei.setDataLine6(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString());
+                        case "actualfeedrate":
+                            ei.setActualfeedrate(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString());
                             break;
-                        case 7:
-                            ei.setDataLine7(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString());
-                            break;
-                        case 8:
-                            ei.setDataLine8(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString());
+                        case "actualspindlespeed":
+                            ei.setActualspindlespeed(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString());
                             break;
                     }
                 } catch (Exception e) {
@@ -207,6 +229,8 @@
             ei.setSequencenumber(map.get("Sequencenumber") == null ? null : map.get("Sequencenumber").toString());
             ei.setExecutingcode(map.get("executingcode") == null ? null : map.get("executingcode").toString());
             ei.setProductName(map.get("ProductName") == null ? null : map.get("ProductName").toString());
+            ei.setActualfeedrate(map.get("actualfeedrate") == null ? null : map.get("actualfeedrate").toString());
+            ei.setActualspindlespeed(map.get("actualspindlespeed") == null ? null : map.get("actualspindlespeed").toString());
             dto.add(ei);
         }
         if (dto.isEmpty()) {

--
Gitblit v1.9.3