From a43fd8f15c7da7f4a14ba4ebb79970dad4ce1fae Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期五, 02 八月 2024 15:18:25 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java |  139 +++++++++++++++++++++++++++++++++-------------
 1 files changed, 99 insertions(+), 40 deletions(-)

diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java
index 590b0c6..b764725 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java
@@ -136,8 +136,8 @@
         Map<String, Object> errMap = new HashMap<>();
         Map<String, Integer> reliabType = new HashMap<>();
         reliabType.put("鎸囨暟鍒嗗竷", 1);
-        reliabType.put("浜岄」鍒嗗竷", 2);
-        reliabType.put("濞佸竷灏斿垎甯�", 3);
+        reliabType.put("浜岄」鍒嗗竷", 3);
+        reliabType.put("濞佸竷灏斿垎甯�", 2);
         Map<String, Integer> repairType = new HashMap<>();
         repairType.put("鎸囨暟鍒嗗竷", 1);
         repairType.put("濞佸竷灏斿垎甯�", 2);
@@ -146,14 +146,14 @@
         isOrNot.put("鍚�", 0);
 
         //鑾峰彇鏄惁鏈夋暟鎹紝濡傛灉鏈夊垯鍒犻櫎鏁版嵁
-        List<XhProductModel> productList = this.getByShipId(shipId);
+     /*   List<XhProductModel> productList = this.getByShipId(shipId);
         List<ParamData> dataList = paramDataService.getByShipId(shipId);
         if (productList.size() > 0) {
             this.deleteByShipId(shipId);
         }
         if (dataList.size() > 0) {
             paramDataService.deleteByShipId(shipId);
-        }
+        }*/
 
         try {
             // 鑾峰彇瀵煎叆鏂囦欢鐨勫悗缂�鍚�
@@ -169,33 +169,41 @@
             int sheets = workbook.getNumberOfSheets();
 
             //List<LifeManagement> lifeManagementList = new ArrayList<LifeManagement>();
-            String xt = null;
-            String fxt = null;
-            Long xtId = null;
-            Long fxtId = null;
+            Long curXtId = null;
+            Long curFxtId = null;
+            Long curSbId = null;
+            String curXtName = "";
+            String curFxtName = "";
 
+            Map<String, XhProductModel> modelMap = new HashMap<>();
+            List<XhProductModel> prductList = baseDao.getProductPath(shipId);
 
-            //瀵煎叆棰勮鍙傛暟
-            ParamData itemEntity1 = new ParamData();
-            itemEntity1.setShipId(shipId);
-            itemEntity1.setProductId(shipId);
-            itemEntity1.setPageCode("expect");
-            paramDataService.insert(itemEntity1);
+            for (XhProductModel product : prductList) {
+                if (StringUtils.isNotBlank(product.getNamePath())) {
+                    modelMap.put(product.getNamePath(), product);
+                }
+            }
 
+            boolean insertXt;
+            boolean insertFxt;
+            Boolean insertSb;
             for (int i = 0; i < sheets; i++) {
                 Sheet sheet = workbook.getSheetAt(i);
                 int num = sheet.getLastRowNum(); // 涓�鍏辨湁澶氬皯琛�
                 String sheetName = sheet.getSheetName(); //鑾峰彇褰撳墠sheet鍚嶇О
                 for (int j = 1; j <= num; j++) {
+                    insertXt = false;
+                    insertFxt = false;
+                    insertSb = false;
                     CacheUtils.put(progressId, "speed", CommonUtils.getPercent(j, num));
                     CacheUtils.put(progressId, "msg", "鍏�" + num + "琛岋紝宸插畬鎴愮" + j + "琛�");
-                    boolean isToggleXt = false;
-                    boolean isToggleFxt = false;
+                  /*  boolean isToggleXt = false;
+                    boolean isToggleFxt = false;*/
                     row1 = j + 1;
                     String pattern = "yyyy-MM-dd";
                     Row row = sheet.getRow(row1);
                     String sort = com.zt.core.shiro.ImportUtil.getCellValue(row, 0, pattern); //搴忓彿
-                    if (StringUtils.isNotBlank(com.zt.core.shiro.ImportUtil.getCellValue(row, 1, pattern))) {
+/*                    if (StringUtils.isNotBlank(com.zt.core.shiro.ImportUtil.getCellValue(row, 1, pattern))) {
                         if (!com.zt.core.shiro.ImportUtil.getCellValue(row, 1, pattern).equals(xt)) {
                             isToggleXt = true;
                             xtId = UUIDUtil.generateId();
@@ -216,8 +224,10 @@
                             fxt = null;
                             isToggleFxt = true;
                         }
-                    }
+                    }*/
 
+                    String xt = com.zt.core.shiro.ImportUtil.getCellValue(row, 1, pattern); //绯荤粺
+                    String fxt = com.zt.core.shiro.ImportUtil.getCellValue(row, 2, pattern);
                     String sb = com.zt.core.shiro.ImportUtil.getCellValue(row, 3, pattern); //璁惧
                     String equipType = com.zt.core.shiro.ImportUtil.getCellValue(row, 4, pattern); //璁惧绫诲瀷
                     String reliabDistribType = com.zt.core.shiro.ImportUtil.getCellValue(row, 5, pattern); //鍙潬鎬у垎甯冪被鍨�
@@ -236,10 +246,54 @@
                     String repairMttcrOtherParams2 = com.zt.core.shiro.ImportUtil.getCellValue(row, 18, pattern); //mttcr鍏朵粬鍙傛暟2
                     String repairMttcrOtherParams3 = com.zt.core.shiro.ImportUtil.getCellValue(row, 19, pattern); //mttcr鍏朵粬鍙傛暟3
 
+                    if (StringUtils.isBlank(sb))
+                        continue;
+
+                    if (StringUtils.isBlank(xt)) {
+                        if (StringUtils.isBlank(curXtName))
+                            continue;
+                        else
+                            xt = curXtName;
+                    } else {
+                        if (StringUtils.isBlank(curXtName) || !xt.equals(curXtName)) {
+                            curXtName = xt;
+                            if (modelMap.get(curXtName) == null) {
+                                curXtId = UUIDUtil.generateId();
+                                insertXt = true;
+                            } else {
+                                curXtId = modelMap.get(curXtName).getId();
+                            }
+                            curFxtId = null;
+                            curFxtName = "";
+                        }
+                    }
+                    String fxtPath = "";
+                    if (StringUtils.isNotBlank(fxt) && !fxt.equals(curFxtName)) {
+                        curFxtName = fxt;
+                        fxtPath = curXtName + "," + curFxtName;
+                        if (modelMap.get(fxtPath) == null) {
+                            curFxtId = UUIDUtil.generateId();
+                            insertFxt = true;
+                        } else {
+                            curFxtId = modelMap.get(fxtPath).getId();
+                        }
+                    }
+
+                    Long paramId = null;
+                    String sbPath = curXtName + "," + (StringUtils.isBlank(curFxtName) ? "" : curFxtName + ",") + sb;
+                    if (modelMap.get(sbPath) == null) {
+                        curSbId = UUIDUtil.generateId();
+                        insertSb = true;
+                    } else {
+                        curSbId = modelMap.get(sbPath).getId();
+                        paramId = modelMap.get(sbPath).getParamId();
+                    }
+
                     if (StringUtils.isEmpty(sb)) {
                         com.zt.life.util.ImportUtil.updateErrMap(errMap, "娌℃湁濉啓璁惧鍚嶇О", sheetName, row1);
                         continue;
                     }
+
                     //瀵煎叆鍨嬪彿浜у搧缁撴灉搴�
                     XhProductModel xhProductModel = new XhProductModel();
 
@@ -247,63 +301,63 @@
                     xhProductModel.setShipId(shipId);
 
                     //娣诲姞绯荤粺
-                    if (isToggleXt) {
+                    if (insertXt) {
                         xhProductModel.setPid(shipId);
-                        xhProductModel.setId(xtId);
+                        xhProductModel.setId(curXtId);
                         xhProductModel.setName(xt);
                         xhProductModel.setProductType("3");
                         xhProductModel.setSort(Integer.valueOf(sort));
                         defultImg = sysPictureBaseService.getDefaultImg(3).getId();
                         xhProductModel.setOperatImg(defultImg);
+                        xhProductModel.setNamePath(curXtName);
                         this.insert(xhProductModel);
 
                         //瀵煎叆棰勮鍙傛暟
                         ParamData itemEntity = new ParamData();
                         itemEntity.setShipId(shipId);
-                        itemEntity.setProductId(xtId);
+                        itemEntity.setProductId(curXtId);
                         itemEntity.setPageCode("expect");
                         paramDataService.insert(itemEntity);
                     }
 
 
-                    if (StringUtils.isNotBlank(fxt) && isToggleFxt) {
-                        xhProductModel.setPid(xtId);
-                        xhProductModel.setId(fxtId);
+                    if (insertFxt) {
+                        xhProductModel.setPid(curXtId);
+                        xhProductModel.setId(curFxtId);
                         xhProductModel.setName(fxt);
                         xhProductModel.setProductType("4");
                         xhProductModel.setSort(Integer.valueOf(sort));
                         defultImg = sysPictureBaseService.getDefaultImg(4).getId();
                         xhProductModel.setOperatImg(defultImg);
+                        xhProductModel.setNamePath(fxtPath);
                         this.insert(xhProductModel);
 
                         //瀵煎叆棰勮鍙傛暟
                         ParamData itemEntity = new ParamData();
                         itemEntity.setShipId(shipId);
-                        itemEntity.setProductId(fxtId);
+                        itemEntity.setProductId(curFxtId);
                         itemEntity.setPageCode("expect");
                         paramDataService.insert(itemEntity);
                     }
 
-                    Long sbId = UUIDUtil.generateId();
-                    if (StringUtils.isNotBlank(fxt)) {
-                        xhProductModel.setPid(fxtId);
-                    } else {
-                        xhProductModel.setPid(xtId);
+                    if (insertSb) {
+                        xhProductModel.setPid(curFxtId == null ? curXtId : curFxtId);
+                        xhProductModel.setId(curSbId);
+                        xhProductModel.setName(sb);
+                        xhProductModel.setEquipType(equipType);
+                        xhProductModel.setProductType("5");
+                        xhProductModel.setSort(Integer.valueOf(sort));
+                        defultImg = sysPictureBaseService.getDefaultImg(5).getId();
+                        xhProductModel.setOperatImg(defultImg);
+                        xhProductModel.setNamePath(sbPath);
+                        this.insert(xhProductModel);
                     }
-                    xhProductModel.setId(sbId);
-                    xhProductModel.setName(sb);
-                    xhProductModel.setEquipType(equipType);
-                    xhProductModel.setProductType("5");
-                    xhProductModel.setSort(Integer.valueOf(sort));
-                    defultImg = sysPictureBaseService.getDefaultImg(5).getId();
-                    xhProductModel.setOperatImg(defultImg);
-                    this.insert(xhProductModel);
 
                     //瀵煎叆棰勮鍙傛暟
                     ParamData itemEntity = new ParamData();
                     //缁戝畾璁惧ID
                     itemEntity.setShipId(shipId);
-                    itemEntity.setProductId(sbId);
+                    itemEntity.setProductId(curSbId);
                     itemEntity.setPageCode("expect");
                     itemEntity.setReliabDistribType(reliabType.get(reliabDistribType));
                     itemEntity.setBasicJoinCompute(isOrNot.get(basicJoinCompute));
@@ -346,7 +400,12 @@
                     if (StringUtils.isNotBlank(repairMttcrOtherParams3)) {
                         itemEntity.setRepairMttcrOtherParams3(Double.valueOf(repairMttcrOtherParams3));
                     }
-                    paramDataService.insert(itemEntity);
+                    if (modelMap.get(sbPath) == null) {
+                        paramDataService.insert(itemEntity);
+                    } else {
+                        itemEntity.setId(paramId);
+                        paramDataService.update(itemEntity);
+                    }
                 }
             }
 

--
Gitblit v1.9.1