From dea248c9da9f82e4032b6ab4a8ce0a6422a5c2cc Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期五, 13 九月 2024 16:35:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
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