From 195bb5267a6ece13363303e177fee7d1fa3941aa Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期二, 19 十一月 2024 15:25:25 +0800
Subject: [PATCH] 修改

---
 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java |  282 ++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 173 insertions(+), 109 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 946c469..cf66123 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
@@ -102,24 +102,32 @@
                     productList = baseDao.selectList(new QueryWrapper<XhProductModel>().eq(Constant.TableColumn.IS_DELETE,
                             Constant.Bool.NO).lt("product_type", 5).ne("product_type", 1).and(wrapper -> wrapper.eq("ship_id", productId).or().eq("id", productId)).orderByAsc(Constant.TableColumn.SORT));
                 } else if (ztShow == 5) {
-                    List<XhProductModel> dbList = baseDao.getProductListByShip(productId,2,5);
+                    List<XhProductModel> dbList = baseDao.getProductListByShip(productId, 2, 5);
                     for (XhProductModel row : dbList) {
-                        if (row.getSameSbNum()!=null && row.getSameSbNum() > 1) {
-                            for (int i = 1; i <= row.getSameSbNum(); i++) {
-                                try {
-                                    XhProductModel newRow = row.clone();
-                                    newRow.setDeviceNo(i);
-                                    newRow.setName(row.getName() + "-" + i);
-                                    newRow.setDataId(row.getId().toString() + "-" + i);
-                                    productList.add(newRow);
-                                } catch (CloneNotSupportedException e) {
-                                    e.printStackTrace();
+                        int sameNum = row.getSameSbNum() == null ? 1 : row.getSameSbNum();
+                        for (int i = 1; i <= sameNum; i++) {
+                            try {
+                                XhProductModel newRow = null;
+                                if (sameNum > 1) {
+                                    newRow = row.clone();
                                 }
+                                else
+                                    newRow = row;
+                                if ("5".equals(newRow.getProductType())){
+                                    newRow.setDeviceNo(i);
+                                    newRow.setDataId(row.getId().toString() + "-" + i);
+                                    if (i>1){
+                                        newRow.setName(row.getName() + "-" + i);
+                                    }
+                                }
+                                else{
+                                    newRow.setDeviceNo(0);
+                                    newRow.setDataId(row.getId().toString());
+                                }
+                                productList.add(newRow);
+                            } catch (CloneNotSupportedException e) {
+                                e.printStackTrace();
                             }
-                        } else {
-                            row.setDeviceNo(0);
-                            row.setDataId(row.getId().toString());
-                            productList.add(row);
                         }
                     }
                     productList.sort(Comparator.comparing(XhProductModel::getSort, Comparator.naturalOrder())
@@ -138,7 +146,7 @@
     }
 
     public List<XhProductModel> getProductList(Long shipId, Integer type) {
-        List<XhProductModel> ProductList = baseDao.getProductList(shipId,type);
+        List<XhProductModel> ProductList = baseDao.getProductList(shipId, type);
         return TreeUtils.build(ProductList);
     }
 
@@ -153,6 +161,7 @@
     }
 
     public List<Map<String, Object>> importProductExcel(MultipartFile mutFile, String progressId, Long shipId) {
+        Map<Long, XhProductModel> imgMap = new HashMap<>();
         Date beginDate = new Date();
         List<Map<String, Object>> list = new ArrayList<>();//瀛樺偍鎵�鏈夌殑瀵煎叆鐘舵��
         Map<String, Object> map;//瀛樺偍姣忎竴琛岀殑鐘舵��
@@ -319,6 +328,8 @@
                         xhProductModel.setOperatImg(defultImg);
                         xhProductModel.setNamePath(curXtName);
                         this.insert(xhProductModel);
+                        imgMap = (Map<Long, XhProductModel>) CacheUtils.get("sysImgCache", "sysImgCache");
+                        imgMap.put(xhProductModel.getId(), xhProductModel);
 
                         //瀵煎叆棰勮鍙傛暟
                         ParamData itemEntity = new ParamData();
@@ -339,6 +350,8 @@
                         xhProductModel.setOperatImg(defultImg);
                         xhProductModel.setNamePath(fxtPath);
                         this.insert(xhProductModel);
+                        imgMap = (Map<Long, XhProductModel>) CacheUtils.get("sysImgCache", "sysImgCache");
+                        imgMap.put(xhProductModel.getId(), xhProductModel);
 
                         //瀵煎叆棰勮鍙傛暟
                         ParamData itemEntity = new ParamData();
@@ -360,8 +373,12 @@
                     xhProductModel.setNamePath(sbPath);
                     if (insertSb) {
                         this.insert(xhProductModel);
+                        imgMap = (Map<Long, XhProductModel>) CacheUtils.get("sysImgCache", "sysImgCache");
+                        imgMap.put(xhProductModel.getId(), xhProductModel);
                     } else {
                         this.update(xhProductModel);
+                        imgMap = (Map<Long, XhProductModel>) CacheUtils.get("sysImgCache", "sysImgCache");
+                        imgMap.put(xhProductModel.getId(), xhProductModel);
                     }
 
                     //瀵煎叆棰勮鍙傛暟
@@ -471,106 +488,106 @@
             String fxt = "";
             String sb = "";
             for (int i = 0; i < List.size(); i++) {
-                    num = num + 1;
-                    String[] parentList = List.get(i).getNamePath().split(",");
-                    Row row = sheet.createRow(sheet.getLastRowNum() + 1); // 鍒涘缓鏂拌
-                    Cell cell = row.createCell(0);
-                    cell.setCellValue(num);
+                num = num + 1;
+                String[] parentList = List.get(i).getNamePath().split(",");
+                Row row = sheet.createRow(sheet.getLastRowNum() + 1); // 鍒涘缓鏂拌
+                Cell cell = row.createCell(0);
+                cell.setCellValue(num);
                 if (!xt.equals(parentList[0])) {
                     xt = parentList[0];
                     cell = row.createCell(1);
                     cell.setCellValue(xt);
                 }
-                    if (parentList.length > 2) {
-                        if (!fxt.equals(parentList[1])) {
-                            fxt = parentList[1];
-                            cell = row.createCell(2);
-                            cell.setCellValue(fxt);
-                        }
-                        if (!sb.equals(parentList[2])) {
-                            sb = parentList[2];
-                            cell = row.createCell(3);
-                            cell.setCellValue(sb);
-                        }
-                    } else {
-                        if (!sb.equals(parentList[1])) {
-                            sb = parentList[1];
-                            cell = row.createCell(3);
-                            cell.setCellValue(sb);
-                        }
+                if (parentList.length > 2) {
+                    if (!fxt.equals(parentList[1])) {
+                        fxt = parentList[1];
+                        cell = row.createCell(2);
+                        cell.setCellValue(fxt);
                     }
-                    cell = row.createCell(4);
-                    cell.setCellValue(List.get(i).getSameSbNum());
-
-                    cell = row.createCell(5);
-                    if (StringUtils.isNotBlank(List.get(i).getEquipType())) {
-                        cell.setCellValue(List.get(i).getEquipType());
+                    if (!sb.equals(parentList[2])) {
+                        sb = parentList[2];
+                        cell = row.createCell(3);
+                        cell.setCellValue(sb);
                     }
-                    cell = row.createCell(6);
-                    String type = reliabType.get(List.get(i).getReliabDistribType());
-                    cell.setCellValue(type);
-                    cell = row.createCell(7);
-                    String isNot = isOrNot.get(List.get(i).getBasicJoinCompute());
-                    cell.setCellValue(isNot);
-                    cell = row.createCell(8);
-                    if (List.get(i).getBasicMtbfRegulate() != null) {
-                        cell.setCellValue(List.get(i).getBasicMtbfRegulate());
-                    }
-                    cell = row.createCell(9);
-                    if (List.get(i).getBasicMtbfRegulSuccRate() != null) {
-                        cell.setCellValue(List.get(i).getBasicMtbfRegulSuccRate());
-                    }
-                    cell = row.createCell(10);
-                    if (List.get(i).getBasicMtbfOperatingRatio() != null) {
-                        cell.setCellValue(List.get(i).getBasicMtbfOperatingRatio());
-                    } else {
-                        cell.setCellValue(1.0);
-                    }
-                    cell = row.createCell(11);
-                    if (List.get(i).getTaskMtbcfRegulate() != null) {
-                        cell.setCellValue(List.get(i).getTaskMtbcfRegulate());
-                    }
-                    cell = row.createCell(12);
-                    if (List.get(i).getTaskMtbcfOtherParams2() != null) {
-                        cell.setCellValue(List.get(i).getTaskMtbcfOtherParams2());
-                    }
-                    cell = row.createCell(13);
-                    if (List.get(i).getTaskMtbcfOtherParams3() != null) {
-                        cell.setCellValue(List.get(i).getTaskMtbcfOtherParams3());
-                    }
-                    cell = row.createCell(14);
-                    if (List.get(i).getTaskMtbcfRegulSuccRate() != null) {
-                        cell.setCellValue(List.get(i).getTaskMtbcfRegulSuccRate());
-                    }
-                    cell = row.createCell(15);
-                    if (List.get(i).getTaskMtbcfOperatingRatio() != null) {
-                        cell.setCellValue(List.get(i).getTaskMtbcfOperatingRatio());
-                    } else {
-                        cell.setCellValue(1.0);
-                    }
-                    cell = row.createCell(16);
-                    if (List.get(i).getRepairable() != null) {
-                        isNot = isOrNot.get(List.get(i).getRepairable());
-                        cell.setCellValue(isNot);
-                    }
-                    cell = row.createCell(17);
-                    if (List.get(i).getRepairDistribType() != null) {
-                        type = repairType.get(List.get(i).getRepairDistribType());
-                        cell.setCellValue(type);
-                    }
-                    cell = row.createCell(18);
-                    if (List.get(i).getRepairMttcr() != null) {
-                        cell.setCellValue(List.get(i).getRepairMttcr());
-                    }
-                    cell = row.createCell(19);
-                    if (List.get(i).getRepairMttcrOtherParams2() != null) {
-                        cell.setCellValue(List.get(i).getRepairMttcrOtherParams2());
-                    }
-                    cell = row.createCell(20);
-                    if (List.get(i).getRepairMttcrOtherParams3() != null) {
-                        cell.setCellValue(List.get(i).getRepairMttcrOtherParams3());
+                } else {
+                    if (!sb.equals(parentList[1])) {
+                        sb = parentList[1];
+                        cell = row.createCell(3);
+                        cell.setCellValue(sb);
                     }
                 }
+                cell = row.createCell(4);
+                cell.setCellValue(List.get(i).getSameSbNum());
+
+                cell = row.createCell(5);
+                if (StringUtils.isNotBlank(List.get(i).getEquipType())) {
+                    cell.setCellValue(List.get(i).getEquipType());
+                }
+                cell = row.createCell(6);
+                String type = reliabType.get(List.get(i).getReliabDistribType());
+                cell.setCellValue(type);
+                cell = row.createCell(7);
+                String isNot = isOrNot.get(List.get(i).getBasicJoinCompute());
+                cell.setCellValue(isNot);
+                cell = row.createCell(8);
+                if (List.get(i).getBasicMtbfRegulate() != null) {
+                    cell.setCellValue(List.get(i).getBasicMtbfRegulate());
+                }
+                cell = row.createCell(9);
+                if (List.get(i).getBasicMtbfRegulSuccRate() != null) {
+                    cell.setCellValue(List.get(i).getBasicMtbfRegulSuccRate());
+                }
+                cell = row.createCell(10);
+                if (List.get(i).getBasicMtbfOperatingRatio() != null) {
+                    cell.setCellValue(List.get(i).getBasicMtbfOperatingRatio());
+                } else {
+                    cell.setCellValue(1.0);
+                }
+                cell = row.createCell(11);
+                if (List.get(i).getTaskMtbcfRegulate() != null) {
+                    cell.setCellValue(List.get(i).getTaskMtbcfRegulate());
+                }
+                cell = row.createCell(12);
+                if (List.get(i).getTaskMtbcfOtherParams2() != null) {
+                    cell.setCellValue(List.get(i).getTaskMtbcfOtherParams2());
+                }
+                cell = row.createCell(13);
+                if (List.get(i).getTaskMtbcfOtherParams3() != null) {
+                    cell.setCellValue(List.get(i).getTaskMtbcfOtherParams3());
+                }
+                cell = row.createCell(14);
+                if (List.get(i).getTaskMtbcfRegulSuccRate() != null) {
+                    cell.setCellValue(List.get(i).getTaskMtbcfRegulSuccRate());
+                }
+                cell = row.createCell(15);
+                if (List.get(i).getTaskMtbcfOperatingRatio() != null) {
+                    cell.setCellValue(List.get(i).getTaskMtbcfOperatingRatio());
+                } else {
+                    cell.setCellValue(1.0);
+                }
+                cell = row.createCell(16);
+                if (List.get(i).getRepairable() != null) {
+                    isNot = isOrNot.get(List.get(i).getRepairable());
+                    cell.setCellValue(isNot);
+                }
+                cell = row.createCell(17);
+                if (List.get(i).getRepairDistribType() != null) {
+                    type = repairType.get(List.get(i).getRepairDistribType());
+                    cell.setCellValue(type);
+                }
+                cell = row.createCell(18);
+                if (List.get(i).getRepairMttcr() != null) {
+                    cell.setCellValue(List.get(i).getRepairMttcr());
+                }
+                cell = row.createCell(19);
+                if (List.get(i).getRepairMttcrOtherParams2() != null) {
+                    cell.setCellValue(List.get(i).getRepairMttcrOtherParams2());
+                }
+                cell = row.createCell(20);
+                if (List.get(i).getRepairMttcrOtherParams3() != null) {
+                    cell.setCellValue(List.get(i).getRepairMttcrOtherParams3());
+                }
+            }
             response.setContentType("application/octet-stream;charset=UTF-8");
             String encodedFilename = DownloadService.getNameEncoder(request, name + "_浜у搧缁撴瀯鏍�.xlsx");
             response.addHeader("Content-Disposition", "attachment;filename=" + encodedFilename);
@@ -589,6 +606,7 @@
             writeList(dto.getChildren(), List);
         }
     }
+
     public void refreshCache() {
         List<XhProductModel> productList = baseDao.getProductListAll();
         Map<Long, XhProductModel> imgMap = new HashMap<>();
@@ -600,8 +618,54 @@
 
     public void getImg(HttpServletResponse response, Long id) {
         Map<Long, XhProductModel> imgMap = new HashMap<>();
-        imgMap = (Map<Long, XhProductModel>) CacheUtils.get("sysImgCache","sysImgCache");
+        imgMap = (Map<Long, XhProductModel>) CacheUtils.get("sysImgCache", "sysImgCache");
         XhProductModel product = imgMap.get(id);
-        sysPictureBaseService.getSvgImage(response,product.getOperatImg());
+        sysPictureBaseService.getSvgImage(response, product.getOperatImg());
+    }
+
+    public void insertProduct(XhProductModel xhProductModel) {
+        Integer no = this.getNo(xhProductModel.getPid(), xhProductModel.getProductType());
+        if (xhProductModel.getSort() == null || xhProductModel.getSort() < no) {
+            xhProductModel.setSort(no + 1);
+        }
+        if (xhProductModel.getProductType().equals("2")) {
+            Long id = UUIDUtil.generateId();
+            xhProductModel.setId(id);
+            xhProductModel.setShipId(id);
+
+            ParamData data = new ParamData();
+            data.setShipId(id);
+            data.setProductId(id);
+
+            paramDataService.insert(data);
+        } else {
+            xhProductModel.setNamePath(xhProductModel.getNamePath() + "," + xhProductModel.getName());
+            this.insert(xhProductModel);
+            ParamData data = new ParamData();
+            data.setShipId(xhProductModel.getShipId());
+            data.setProductId(xhProductModel.getId());
+            paramDataService.insert(data);
+        }
+        Map<Long, XhProductModel> imgMap = new HashMap<>();
+        imgMap = (Map<Long, XhProductModel>) CacheUtils.get("sysImgCache", "sysImgCache");
+        imgMap.put(xhProductModel.getId(), xhProductModel);
+    }
+
+    public void updateProduct(XhProductModel xhProductModel) {
+        XhProductModel oldXh = this.get(xhProductModel.getId());
+        if (oldXh != null) {
+            if (!oldXh.getPid().equals(xhProductModel.getPid())) {
+                XhProductModel parentXh = this.get(xhProductModel.getPid());
+                if (parentXh.getProductType().equals("3")) {
+                    xhProductModel.setNamePath(parentXh.getName() + "," + xhProductModel.getName());
+                } else if (parentXh.getProductType().equals("4")) {
+                    xhProductModel.setNamePath(parentXh.getNamePath() + "," + xhProductModel.getName());
+                }
+            }
+        }
+        this.update(xhProductModel);
+        Map<Long, XhProductModel> imgMap = new HashMap<>();
+        imgMap = (Map<Long, XhProductModel>) CacheUtils.get("sysImgCache", "sysImgCache");
+        imgMap.put(xhProductModel.getId(), xhProductModel);
     }
 }

--
Gitblit v1.9.1