From 46c8d02ada5e72e5525ee7232e5932dbe383ffe6 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期四, 15 八月 2024 15:08:01 +0800 Subject: [PATCH] 修改 --- modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java | 175 +++++++++++++++++++++++++++++++-------------------------- 1 files changed, 95 insertions(+), 80 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..24cfe80 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 @@ -125,7 +125,6 @@ } public List<Map<String, Object>> importProductExcel(MultipartFile mutFile, String progressId, Long shipId) { - int count = 0; Date beginDate = new Date(); List<Map<String, Object>> list = new ArrayList<>();//瀛樺偍鎵�鏈夌殑瀵煎叆鐘舵�� Map<String, Object> map;//瀛樺偍姣忎竴琛岀殑鐘舵�� @@ -136,24 +135,14 @@ 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); Map<String, Integer> isOrNot = new HashMap<>(); isOrNot.put("鏄�", 1); isOrNot.put("鍚�", 0); - - //鑾峰彇鏄惁鏈夋暟鎹紝濡傛灉鏈夊垯鍒犻櫎鏁版嵁 - 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 { // 鑾峰彇瀵煎叆鏂囦欢鐨勫悗缂�鍚� @@ -168,56 +157,42 @@ assert workbook != null; //鏂█濡傛灉[boolean琛ㄨ揪寮廬涓簍rue锛屽垯绋嬪簭缁х画鎵ц銆� 濡傛灉涓篺alse锛屽垯绋嬪簭鎶涘嚭AssertionError锛屽苟缁堟鎵ц銆� 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; + 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; + 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 (!com.zt.core.shiro.ImportUtil.getCellValue(row, 1, pattern).equals(xt)) { - isToggleXt = true; - xtId = UUIDUtil.generateId(); - } - xt = com.zt.core.shiro.ImportUtil.getCellValue(row, 1, pattern); //绯荤粺 - } - if (StringUtils.isNotBlank(com.zt.core.shiro.ImportUtil.getCellValue(row, 2, pattern)) && !isToggleXt) { - fxt = com.zt.core.shiro.ImportUtil.getCellValue(row, 2, pattern); //鍒嗙郴缁� - fxtId = UUIDUtil.generateId(); - isToggleFxt = true; - } else if (isToggleXt) { - if (StringUtils.isNotBlank(com.zt.core.shiro.ImportUtil.getCellValue(row, 2, pattern))) { - fxt = com.zt.core.shiro.ImportUtil.getCellValue(row, 2, pattern); //鍒嗙郴缁� - fxtId = UUIDUtil.generateId(); - isToggleFxt = true; - } else { - 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 +211,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,64 +266,61 @@ 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.setPageCode("expect"); + itemEntity.setProductId(curXtId); 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.setPageCode("expect"); + itemEntity.setProductId(curFxtId); 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.setPageCode("expect"); + itemEntity.setProductId(curSbId); itemEntity.setReliabDistribType(reliabType.get(reliabDistribType)); itemEntity.setBasicJoinCompute(isOrNot.get(basicJoinCompute)); if (StringUtils.isNotBlank(basicMtbfRegulate)) { @@ -346,7 +362,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); + } } } @@ -355,13 +376,7 @@ ImportUtil.updateErrMap(errMap, "瀵煎叆寮傚父" + e.getMessage(), "", row1); //err++; } - /* if (batchList.size() > 0 && err == 0) { - super.insertBatch(batchList, 100); - baseDao.updateOldId(); - } - if (batchUpdateList.size() > 0) { - super.updateBatch(batchUpdateList, 100); - }*/ + Date nowDate = new Date(); String msg = "浜у搧妯″瀷瀵煎叆鏃堕棿锛�" + CommonUtils.getDatePoor(nowDate, beginDate) + "\r\n"; System.out.println(msg); -- Gitblit v1.9.1