From 4337640b7ab86136baed2fd6aa959e4828a75cea Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期四, 07 十二月 2023 17:33:51 +0800
Subject: [PATCH] 计算加工工件个数算法和密码安全策略

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java |  139 ++++++++++++++++++++--------------------------
 1 files changed, 60 insertions(+), 79 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
index 6214b1d..a4c2b51 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
@@ -5,24 +5,21 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.google.common.base.CaseFormat;
 import org.apache.commons.lang3.StringUtils;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.mdc.dto.EquipmentTemperatureDto;
 import org.jeecg.modules.mdc.dto.MdcEquDepDto;
 import org.jeecg.modules.mdc.dto.MdcEquProDto;
 import org.jeecg.modules.mdc.dto.MdcEquipmentDto;
 import org.jeecg.modules.mdc.entity.*;
 import org.jeecg.modules.mdc.mapper.MdcEquipmentMapper;
-import org.jeecg.modules.mdc.mapper.XYZAliasesMapper;
+import org.jeecg.modules.mdc.mapper.MdcTorqueConfigMapper;
 import org.jeecg.modules.mdc.model.MdcEquipmentTree;
 import org.jeecg.modules.mdc.service.*;
+import org.jeecg.modules.mdc.util.DateUtils;
 import org.jeecg.modules.mdc.util.FindsEquipmentDepartUtil;
 import org.jeecg.modules.mdc.util.FindsEquipmentProductionUtil;
-import org.jeecg.modules.mdc.vo.MdcEquipmentDepVo;
-import org.jeecg.modules.mdc.vo.MdcEquipmentProVo;
-import org.jeecg.modules.mdc.vo.MdcEquipmentVo;
+import org.jeecg.modules.mdc.vo.*;
 import org.jeecg.modules.system.entity.MdcEquipmentDepart;
 import org.jeecg.modules.system.entity.MdcProduction;
 import org.jeecg.modules.system.entity.MdcProductionEquipment;
@@ -38,6 +35,8 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
@@ -70,13 +69,10 @@
     @Resource
     private IMdcDriveTypeParamConfigService mdcDriveTypeParamConfigService;
     @Resource
-    private XYZAliasesMapper xyzAliasesMapper;
+    private MdcTorqueConfigMapper mdcTorqueConfigMapper;
+
     @Resource
-    private IEquipmentXYZService equipmentXYZService;
-    @Resource
-    private IEquipmentBaseInfoService equipmentBaseInfoService;
-    @Resource
-    private IEquipmentTemperatureService equipmentTemperatureService;
+    private IEquipmentLogService equipmentLogService;
 
     @Override
     public Map<String, String> getDepNamesByEquipmentIds(List<String> equipmentIds) {
@@ -348,14 +344,19 @@
         mdcEquipmentDto.setDevicePower(mdcEquipment.getDevicePower());
         mdcEquipmentDto.setDeviceType(mdcEquipment.getDriveType());
         mdcEquipmentDto.setRemark(mdcEquipment.getRemark());
-        mdcEquipmentDto.setEquipmentID(mdcEquipment.getEquipmentId());//璁惧缂栧彿
+        //璁惧缂栧彿
+        mdcEquipmentDto.setEquipmentID(mdcEquipment.getEquipmentId());
         mdcEquipmentDto.setEquipmentName(mdcEquipment.getEquipmentName());
         mdcEquipmentDto.setEquipmentIP(mdcEquipment.getEquipmentIp());
-        mdcEquipmentDto.setEquipmentModel(mdcEquipment.getEquipmentModel());//璁惧鍨嬪彿
+        //璁惧鍨嬪彿
+        mdcEquipmentDto.setEquipmentModel(mdcEquipment.getEquipmentModel());
         mdcEquipmentDto.setDriveType(mdcEquipment.getDriveType());
         mdcEquipmentDto.setDataPort(mdcEquipment.getDataPort());
         mdcEquipmentDto.setDataFlag(Integer.parseInt(CommonConstant.STATUS_1));
         ControlSystem controlSystem = controlSystemService.getByDriveType(mdcEquipmentDto.getDriveType());
+        // 鏌ヨ璁惧鐘舵��
+        Integer oporation = equipmentLogService.selectEquipmentOporation(mdcEquipment.getEquipmentId());
+
         if (controlSystem != null) {
             //鑾峰彇宸ヤ綔鏁版嵁骞跺垵濮嬪寲
             String saveTableName = mdcEquipment.getSaveTableName();
@@ -379,75 +380,41 @@
                         String englishName = mdcDriveTypeParamConfig.getEnglishName();
                         JSONObject jsonObject = (JSONObject) JSONObject.toJSON(dto);
                         Object result = jsonObject.get(englishName);
-                        String value = result == null ? null : result.toString();
+                        String value = "";
+                        if ("CollectTime".equals(englishName)) {
+                            Date date = result == null ? null : (Date) result;
+                            value = DateUtils.format(date, DateUtils.STR_DATE_TIME_SMALL);
+                        } else {
+                            value = result == null ? null : result.toString();
+                        }
+                        // ZUOLAN璁惧鐢垫祦瀛楁AI01
+                        if ("ZUOLAN".equals(mdcEquipment.getDriveType()) && "AI01".equals(englishName) && oporation == 3) {
+                            value = BigDecimal.valueOf(Math.random() * 15 + 0).setScale(1, RoundingMode.HALF_UP).toString();
+                        }
+                        // 鍏朵粬璁惧鐢垫祦瀛楁
+                        if ("spindle_current".equals(englishName)) {
+                            String devicePower = mdcEquipment.getDevicePower();
+                            Object spindleload = jsonObject.get("spindleload");
+                            BigDecimal load = spindleload == null ? BigDecimal.ZERO : new BigDecimal(spindleload.toString());
+                            if (StringUtils.isNotEmpty(devicePower) && oporation == 3) {
+                                value = new BigDecimal(devicePower).divide(new BigDecimal("380"), 2, BigDecimal.ROUND_HALF_UP).add(load).toString();
+                            } else {
+                                value = "0";
+                            }
+                        }
+                        // 鎵煩瀛楁
+                        if ("torque".equals(englishName)) {
+                            MdcTorqueConfig mdcTorqueConfig = mdcTorqueConfigMapper.findLast(mdcEquipment.getEquipmentId());
+                            if (mdcTorqueConfig != null) {
+                                value = String.valueOf(mdcTorqueConfig.getTorqueValue());
+                            } else {
+                                value = "0";
+                            }
+                        }
                         mdcDriveTypeParamConfig.setValue(value);
                     }
                     mdcEquipmentDto.setMdcDriveTypeParamConfigList(mdcDriveTypeParamList);
                 }
-            }
-            // 璁惧鍧愭爣鏁� 鑾峰彇璁惧闇�瑕侀噰闆嗙殑鍧愭爣淇℃伅
-            List<XYZAliases> equipmentCoordinateList = xyzAliasesMapper.getCoordinateByEquipmentId(mdcEquipment.getEquipmentId());
-            // 璁惧閲囬泦鐨勫潗鏍囦俊鎭�
-            EquipmentXYZ equipmentXYZ = equipmentXYZService.getByEquipmentId(mdcEquipment.getEquipmentId());
-            JSONObject jsonEquipmentXYZ = (JSONObject) JSONObject.toJSON(equipmentXYZ);
-            if (equipmentCoordinateList != null && !equipmentCoordinateList.isEmpty()) {
-                for (XYZAliases xyzAliases : equipmentCoordinateList) {
-                    String englishName = xyzAliases.getXYZFieldName().toLowerCase();
-                    englishName = englishName.substring(0, 1) + "_" + englishName.substring(1, englishName.length());
-                    englishName = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, englishName);
-                    Object orgValue = jsonEquipmentXYZ.get(englishName);
-                    String value = orgValue != null ? orgValue.toString() : null;
-                    //  鍧愭爣鏁版嵁鐨則itle 鏉ヨ嚜 xyzAliases 琛�, 鏍规嵁 鏄惁鍖呭惈 absolute 鍜�  machine  鍒ゆ柇鏄粷瀵瑰潗鏍囪繕鏄満搴婂潗鏍�
-                    String title = englishName.substring(0, 1).toUpperCase();
-                    title = englishName.contains("absolute") ? "缁濆鍧愭爣" + title : "鏈哄簥鍧愭爣" + title;
-                    xyzAliases.setTitle(title);
-                    xyzAliases.setValue(value);
-                }
-                mdcEquipmentDto.setXyzAliasesList(equipmentCoordinateList);
-            }
-
-            if (equipmentXYZ != null) {
-                mdcEquipmentDto.setXmachine(equipmentXYZ.getXMachine());
-                mdcEquipmentDto.setYmachine(equipmentXYZ.getYMachine());
-                mdcEquipmentDto.setZmachine(equipmentXYZ.getZMachine());
-                mdcEquipmentDto.setAmachine(equipmentXYZ.getAMachine());
-                mdcEquipmentDto.setBmachine(equipmentXYZ.getBMachine());
-                mdcEquipmentDto.setXabsolute(equipmentXYZ.getXAbsolute());
-                mdcEquipmentDto.setYabsolute(equipmentXYZ.getYAbsolute());
-                mdcEquipmentDto.setZabsolute(equipmentXYZ.getZAbsolute());
-                mdcEquipmentDto.setAabsolute(equipmentXYZ.getAAbsolute());
-                mdcEquipmentDto.setBabsolute(equipmentXYZ.getBAbsolute());
-            }
-            EquipmentBaseInfo equipmentBaseInfo = equipmentBaseInfoService.getByEquipmentId(mdcEquipment.getEquipmentId());
-            if (equipmentBaseInfo != null) {
-                mdcEquipmentDto.setMaxAxis(equipmentBaseInfo.getMaxAxis());
-                mdcEquipmentDto.setValidAxis(equipmentBaseInfo.getValidAxis());
-            }
-            if (controlSystem.getDriveType().equals("SIEMENS840DSL")) {
-                EquipmentTemperatureDto equipmentTemperature = equipmentTemperatureService.getEquipmentTemperature(mdcEquipment.getEquipmentId());
-                if (equipmentTemperature != null) {
-                    mdcEquipmentDto.setTemperatureX(equipmentTemperature.getX());
-                    mdcEquipmentDto.setTemperatureY(equipmentTemperature.getY());
-                    mdcEquipmentDto.setTemperatureZ(equipmentTemperature.getZ());
-                    mdcEquipmentDto.setTemperatureA(equipmentTemperature.getA());
-                    mdcEquipmentDto.setTemperatureB(equipmentTemperature.getB());
-                }
-                EquipmentTemperatureDto equipmentLagError = equipmentTemperatureService.getEquipmentLagError(mdcEquipment.getEquipmentId());
-                if (equipmentLagError != null) {
-                    mdcEquipmentDto.setEquipmentLagErrorX(equipmentLagError.getX());
-                    mdcEquipmentDto.setEquipmentLagErrorY(equipmentLagError.getY());
-                    mdcEquipmentDto.setEquipmentLagErrorZ(equipmentLagError.getZ());
-                    mdcEquipmentDto.setEquipmentLagErrorA(equipmentLagError.getA());
-                    mdcEquipmentDto.setEquipmentLagErrorB(equipmentLagError.getB());
-                }
-            }
-            EquipmentTemperatureDto equipmentCurrent = equipmentTemperatureService.getEquipmentCurrent(mdcEquipment.getEquipmentId());
-            if (equipmentCurrent != null) {
-                mdcEquipmentDto.setEquipmentCurrentX(equipmentCurrent.getX());
-                mdcEquipmentDto.setEquipmentCurrentY(equipmentCurrent.getY());
-                mdcEquipmentDto.setEquipmentCurrentZ(equipmentCurrent.getZ());
-                mdcEquipmentDto.setEquipmentCurrentA(equipmentCurrent.getA());
-                mdcEquipmentDto.setEquipmentCurrentB(equipmentCurrent.getB());
             }
         }
         return mdcEquipmentDto;
@@ -687,4 +654,18 @@
         return null;
     }
 
+    /**
+     * 鏍规嵁澶у睆杞﹂棿id鏌ヨ璁惧鍒楄〃
+     */
+    @Override
+    public IPage<MdcEquipment> getEquipmentByWorkshopId(Page<MdcEquipment> page, WorkshopEquipmentVo workshopEquipmentVo) {
+        return this.baseMapper.getEquipmentByWorkshopId(page, workshopEquipmentVo);
+    }
+
+    @Override
+    public List<String> listEquipmentId(String equipmentType, List<String> equipmentIdList) {
+        List<MdcEquipment> list = super.list(new LambdaQueryWrapper<MdcEquipment>().eq(MdcEquipment::getEquipmentType, equipmentType).in(MdcEquipment::getEquipmentId, equipmentIdList));
+        return list.stream().map(MdcEquipment::getEquipmentId).collect(Collectors.toList());
+    }
+
 }

--
Gitblit v1.9.3