From c3c9baf912f572a78b2b82613d31889be187ab92 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期一, 03 七月 2023 23:53:56 +0800
Subject: [PATCH] 历史导入修改

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java          |   29 +++++++++++++++++++++++------
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/ClientBusinessObject.java              |    3 ++-
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java    |    2 +-
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java |   11 +++++++++--
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml                            |    3 +++
 5 files changed, 38 insertions(+), 10 deletions(-)

diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java
index a1cac1a..6747ede 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java
@@ -24,7 +24,7 @@
 	@TableId(value = "OID",type = IdType.ASSIGN_UUID)
 	private String oid;
 
-	@TableField(value = "ID")
+	@TableField(value = "id")
 	private String id;
 
 	private String name;
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
index ad6059a..90a9ab3 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -1016,7 +1016,7 @@
 					thisCbos.stream().forEach(clientBusinessObject -> {
 						BaseModel baseModel=new BaseModel();
 						BeanUtil.convert(clientBusinessObject,baseModel);
-						baseModel.setData(VciBaseUtil.objectToMapString(clientBusinessObject));
+						//baseModel.setData(VciBaseUtil.objectToMapString(clientBusinessObject));
 						dataCBOList.add(baseModel);
 						dataCBOIdList.add(baseModel);
 					});
@@ -1030,9 +1030,14 @@
 								String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX);
 								errorMap.put(rowIndex, errorMap.getOrDefault(rowIndex, "") + ";绯荤粺閿欒锛屽瓨鍌ㄦ暟鎹殑鏃跺�欏嚭閿欎簡");
 							});
+
 						}
 					}
 				});
+				if (errorMap.size() > 0) {
+					isExport = true;
+				}
+				createWriteExcelData(rowDataList, errorMap, new ArrayList<>(), titleRowData, shetNameMap, finalTemplateVO);
 				engineService.batchSaveSelectChar(templateVO, dataCBOIdList);
 			}
 		}
@@ -1061,7 +1066,19 @@
 
 		return codeImProtRusultVO;
 	}
+	/*private void converBaseModels(List<ClientBusinessObject> clientBusinessObjects,List<BaseModel>dataCBOList){
+		clientBusinessObjects.stream().forEach(clientBusinessObject -> {
+			BaseModel baseModel=new BaseModel();
+			BeanUtil.convert(clientBusinessObject,baseModel);
+			Map<String,String> dataMap=new HashMap<>();
+			clientBusinessObject.getHisAttrValList()
+			baseModel.setData(VciBaseUtil.objectToMapString(baseModel));
 
+			AttributeValue[] newAttributeValue= 	clientBusinessObject.getNewAttrValList();
+			dataCBOList.add(baseModel);
+		});
+
+	}*/
 	/***
 	 * 浠巈xecl閲屾瀯寤哄璞�
 	 * @param rowDataList
@@ -1338,7 +1355,7 @@
 				cboList.stream().forEach(clientBusinessObject -> {
 					BaseModel baseModel=new BaseModel();
 					BeanUtil.convert(clientBusinessObject,baseModel);
-					baseModel.setData(VciBaseUtil.objectToMapString(clientBusinessObject));
+					//baseModel.setData(VciBaseUtil.objectToMapString(clientBusinessObject));
 					dataCBOList.add(baseModel);
 					dataCBOIdList.add(baseModel.getOid());
 				});
@@ -1528,7 +1545,7 @@
 				needSaveCboList.stream().forEach(clientBusinessObject -> {
 					BaseModel baseModel=new BaseModel();
 					BeanUtil.convert(clientBusinessObject,baseModel);
-					baseModel.setData(VciBaseUtil.objectToMapString(clientBusinessObject));
+					//baseModel.setData(VciBaseUtil.objectToMapString(clientBusinessObject));
 					dataCBOList.add(baseModel);
 //					allNeedSaveCboList.add(baseModel);
 				});
@@ -1802,7 +1819,7 @@
 			needSaveCboList.stream().forEach(clientBusinessObject -> {
 				BaseModel baseModel=new BaseModel();
 				BeanUtil.convert(clientBusinessObject,baseModel);
-				baseModel.setData(VciBaseUtil.objectToMapString(clientBusinessObject));
+			//(VciBaseUtil.objectToMapString(clientBusinessObject));
 				dataCBOList.add(baseModel);
 				allNeedSaveCboList.add(baseModel.getOid());
 			});
@@ -2004,7 +2021,7 @@
 
 				BaseModel baseModel=new BaseModel();
 				BeanUtil.convert(cbo,baseModel);
-				baseModel.setData(VciBaseUtil.objectToMapString(cbo));
+				//baseModel.setData(VciBaseUtil.objectToMapString(cbo));
 				updateList.add(baseModel);
 			}else if(operation.equals("delete")){//濡傛灉鍦ㄦ祦绋嬩腑涓嶅厑璁稿垹闄わ紝涓嶅湪娴佺▼涓姸鎬佷负鍙戝竷鎴栬�呭仠鐢ㄧ殑鏁版嵁涓嶅厑璁稿垹闄わ紝灏嗗叾鏇存敼涓哄仠鐢紝鍏朵粬鐨勬儏鍐电洿鎺ュ垹闄�
 				//  if(finalIsProcess){
@@ -2045,7 +2062,7 @@
 
 					BaseModel baseModel=new BaseModel();
 					BeanUtil.convert(cbo,baseModel);
-					baseModel.setData(VciBaseUtil.objectToMapString(cbo));
+					//baseModel.setData(VciBaseUtil.objectToMapString(cbo));
 					updateList.add(baseModel);
 				}catch (VciBaseException e) {
 					e.printStackTrace();
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
index f199450..984f76a 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
@@ -23,6 +23,7 @@
 import com.vci.ubcs.starter.exception.VciBaseException;
 import com.vci.ubcs.starter.revision.model.BaseModel;
 import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
+import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
 import com.vci.ubcs.starter.web.constant.QueryOptionConstant;
 import com.vci.ubcs.starter.web.constant.RegExpConstant;
 import com.vci.ubcs.starter.web.enumpck.OsCodeFillTypeEnum;
@@ -31,6 +32,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
@@ -73,6 +75,7 @@
 	private FormulaServiceImpl formulaService;
 
 	@Override
+	@Transactional(rollbackFor = VciBaseException.class)
 	public List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO, CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<BaseModel> dataCBOList) throws Exception {
 //		BatchCBO batchCBO = new BatchCBO();
 //		WebUtil.setPersistence(false);
@@ -99,6 +102,8 @@
 				String code = cbo.getId();
 				List<String> serialUnitList = new ArrayList<>();
 				String[] secLengths = cbo.getData().get(CODE_SEC_LENGTH_FIELD).split("#");
+				cbo.getData().remove(CODE_SEC_LENGTH_FIELD);//灏嗘key闄ゅ幓
+				cbo.getData().remove(IMPORT_ROW_INDEX);//灏嗘key闄ゅ幓
 				List<CodeBasicSecVO> secVOList = ruleVO.getSecVOList().stream().sorted(((o1, o2) -> o1.getOrderNum().compareTo(o2.getOrderNum()))).collect(Collectors.toList());
 				Map<String/**鐮佹鐨勪富閿�**/,String/**鐮佹鐨勫��**/> serialValueMap = new HashMap<>();
 				Map<String, CodeBasicSecVO> secVOMap = secVOList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t));
@@ -147,6 +152,7 @@
 					});
 				}
 				CodeAllCode allCodeDO = new CodeAllCode();
+				DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCodeDO, MdmBtmTypeConstant.CODE_ALL_CODE);
 				allCodeDO.setCodeClassifyOid(classifyFullInfoBO.getCurrentClassifyVO().getOid());
 				allCodeDO.setCodeRuleOid(ruleVO.getOid());
 				allCodeDO.setId(cbo.getId());
@@ -209,7 +215,7 @@
 			}
 			//澶勭悊allCode
 			if(!CollectionUtils.isEmpty(allCodeDOList)){
-				Map<String, List<CodeAllCode>> ruleGroup = allCodeDOList.stream().collect(Collectors.groupingBy(s -> s.getCodeRuleOid()));
+				Map<String,List<CodeAllCode>> ruleGroup = allCodeDOList.stream().collect(Collectors.groupingBy(s -> s.getCodeRuleOid()));
 				Map<String, CodeAllCode> codeDOMap = allCodeDOList.stream().collect(Collectors.toMap(s -> s.getCodeRuleOid() + "${SEP}" + s.getId(), t -> t));
 				List<CodeAllCode> addCodeDOs = new ArrayList<>();
 				List<CodeAllCode> editCodeDOs = new ArrayList<>();
@@ -252,13 +258,14 @@
 					codeAllCodeService.updateBatchById(editCodeDOs);
 				}
 				if(!CollectionUtils.isEmpty(addCodeDOs)){
-//					batchCBO.copyFromOther(allCodeMapper.batchInsert(addCodeDOs));
+					//batchCBO.copyFromOther(allCodeMapper.batchInsert(addCodeDOs));
 					Map<String, String> statusMap = addCodeDOs.stream().collect(Collectors.toMap(s -> s.getOid(), s -> s.getLcStatus()));
 					addCodeDOs.stream().filter(s -> StringUtils.equalsIgnoreCase("codeallcode",s.getBtmname())).forEach(s -> {
 						s.setLcStatus(statusMap.get(s.getOid()));
 					});
 					codeAllCodeService.saveBatch(addCodeDOs);
 				}
+				mdmEngineService.insertBatchByType(dataCBOList.get(0).getBtmname(),dataCBOList);
 			}
 //			WebUtil.setPersistence(true);
 //			boService.persistenceBatch(batchCBO);
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/ClientBusinessObject.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/ClientBusinessObject.java
index 0bbfd41..f5c59e7 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/ClientBusinessObject.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/ClientBusinessObject.java
@@ -69,8 +69,9 @@
 				attrVal.attrName = attributeName.toUpperCase();
 				attrVal.attrVal = attributeValue;
 				attrValList.add(attrVal);
-			}
 
+			}
+			this.getData().put(attributeName,attributeValue);
 			this.newAttrValList = (AttributeValue[])attrValList.toArray(new AttributeValue[attrValList.size()]);
 	//	}
 	}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
index dd0d4d1..a022dc6 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
@@ -126,6 +126,9 @@
                     <when test='fieldInPath=="name"'>
                         SYS_CONNECT_BY_PATH(codeclassify0.name, '#')   as path
                     </when>
+                    <when test='fieldInPath=="oid"'>
+                        SYS_CONNECT_BY_PATH(codeclassify0.oid, '#')   as path
+                    </when>
                     <otherwise>
                         SYS_CONNECT_BY_PATH(codeclassify0.id, '#')   as path
                     </otherwise>

--
Gitblit v1.9.3