From 8310a8fb31e4a82cbbb8bb512e9815709f23d441 Mon Sep 17 00:00:00 2001
From: fujunling <2984387807@qq.com>
Date: 星期二, 11 七月 2023 19:08:02 +0800
Subject: [PATCH] Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java |   95 ++++++++++++++++-------------------------------
 1 files changed, 32 insertions(+), 63 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
index d7b784b..4699ed2 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -416,6 +416,11 @@
 //		//榛樿鐨勫睘鎬ч兘涓嶇敤浠庡墠绔嫹璐�
 //		//璁剧疆缂栫爜闇�瑕佺殑榛樿灞炴�х殑鍐呭
         copyValueToCBO(classifyFullInfo, cbo, orderDTO, templateVO, false);
+		cbo.setOid(VciBaseUtil.getPk());
+		cbo.setCreateTime(new Date());
+		cbo.setLastModifyTime(new Date());
+		cbo.setCreator(AuthUtil.getUser().getUserName());
+		cbo.setLastModifier(AuthUtil.getUser().getUserName());
 //		//TODO:鍥犱负榛樿鐨勫睘鎬ч兘涓嶆嫹璐濓紝鐩墠闆嗗洟鐮佸彨name锛屽苟娌℃湁浠嶥TO鎷疯礉鍒癱bo閲屻�傚鍔犱竴涓崟鐙鐞嗭紝浠ュ悗鍐嶇湅瑕佷笉瑕佽皟鏁�
         cbo.setName(orderDTO.getName() == null ? "" : orderDTO.getName());
 //		//end -- modify by lihang @20220407
@@ -799,35 +804,27 @@
 //		BeanUtils.
 //		BeanUtils.copyProperties(orderDTO.getData(),cbo);
 //		cbo.setMaterialtype(Short.valueOf("1001"));
-//		orderDTO.getData().forEach((key, value) -> {
-//			if (!edit || (!checkUnAttrUnEdit(key) &&
-//				!VciQueryWrapperForDO.LC_STATUS_FIELD.equalsIgnoreCase(key))) {
-//				try {
-//					cbo.setAttributeValue(key, value);
-//				} catch (Exception e) {
-//					logger.error("璁剧疆灞炴�х殑鍊奸敊璇�", e);
-//				}
-//			}
-//		});
+		orderDTO.getData().forEach((key, value) -> {
+			if (!edit || (!checkUnAttrUnEdit(key) &&
+				!VciQueryWrapperForDO.LC_STATUS_FIELD.equalsIgnoreCase(key))) {
+				try {
+					cbo.getData().put(cbo.getData().containsKey(key.toUpperCase())?key.toUpperCase():key, value);
+				} catch (Exception e) {
+					logger.error("璁剧疆灞炴�х殑鍊奸敊璇�", e);
+				}
+			}
+		});
 //		BeanMap beanMap = BeanMap.create(cbo);
 //		beanMap.putAll(orderDTO.getData());
 
         try {
-
-            BeanUtilForVCI.copyPropertiesIgnoreNull(BeanUtilForVCI.convertMap(BaseModel.class, orderDTO.getData()), cbo);
-            Map<String, String> data = new HashMap<>();
-            data.put(CODE_CLASSIFY_OID_FIELD, classifyFullInfo.getCurrentClassifyVO().getOid());
-            data.put(CODE_TEMPLATE_OID_FIELD, templateVO.getOid());
-            data.put(CODE_FULL_PATH_FILED, fullPath);
-            cbo.setData(data);
-            cbo.setOid(VciBaseUtil.getPk());
-            cbo.setCreateTime(new Date());
+			Map<String, String> data = new HashMap<>();
+            data.put(cbo.getData().containsKey(CODE_CLASSIFY_OID_FIELD.toUpperCase())?CODE_CLASSIFY_OID_FIELD.toUpperCase():CODE_CLASSIFY_OID_FIELD, classifyFullInfo.getCurrentClassifyVO().getOid());
+            data.put(cbo.getData().containsKey(CODE_TEMPLATE_OID_FIELD.toUpperCase())?CODE_TEMPLATE_OID_FIELD.toUpperCase():CODE_TEMPLATE_OID_FIELD, templateVO.getOid());
+            data.put(cbo.getData().containsKey(CODE_FULL_PATH_FILED.toUpperCase())?CODE_FULL_PATH_FILED.toUpperCase():CODE_FULL_PATH_FILED, fullPath);
+            cbo.getData().putAll(data);
             cbo.setLastModifyTime(new Date());
-            cbo.setCreator(AuthUtil.getUser().getUserName());
             cbo.setLastModifier(AuthUtil.getUser().getUserName());
-//			cbo.setCodeclsfid(classifyFullInfo.getCurrentClassifyVO().getOid());
-//			cbo.setTemplateOid(templateVO.getOid());
-//			cbo.setCodeclsfpath(fullPath);
             cbo.setTs(new Date());
             if (!edit && StringUtils.isBlank(orderDTO.getLcStatus())) {
                 //TODO 鍏堝啓鍥哄畾锛屽悗闈㈢敓鍛藉懆鏈熷ソ浜嗗湪缂栧啓
@@ -2108,17 +2105,10 @@
         if (CollectionUtils.isEmpty(cbos)) {
             throw new VciBaseException(DATA_OID_NOT_EXIST);
         }
-//		QueryWrapper<CodeWupin> btmWrapper = new QueryWrapper<>();
-//		btmWrapper.eq("OID",orderDTO.getOid());
-//		CodeWupin cbo = codeWupinMapper.selectOne(btmWrapper);
         BaseModel cbo = cbos.get(0);
-//		CodeClstemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid());
-//		CodeRuleVO ruleVO = ruleService.getObjectHasSecByOid(orderDTO.getCodeRuleOid());
-
-        if (cbo != null) {
+        if (cbo == null) {
             throw new VciBaseException(DATA_OID_NOT_EXIST);
         }
-//		ClientBusinessObject cbo = cbos.get(0);
         if (!cbo.getTs().toString().contains(VciDateUtil.date2Str(orderDTO.getTs(), VciDateUtil.DateTimeFormat))) {
             throw new VciBaseException("鏁版嵁涓嶆槸鏈�鏂扮殑锛屽彲鑳戒粬浜哄凡缁忎慨鏀癸紝璇峰埛鏂板悗鍐嶈瘯");
         }
@@ -2128,9 +2118,16 @@
 
         //娉ㄦ剰妯℃澘涓嶈兘浣跨敤鏁版嵁瀛樺偍鐨勬椂鍊欑殑妯℃澘锛屽洜涓哄彲鑳戒細鍙樺寲
 
-        //1. 鍒ゆ柇蹇呰緭椤�
+		String codeClassifyOid=cbo.getData().get(CODE_CLASSIFY_OID_FIELD.toUpperCase());
+		orderDTO.setCodeClassifyOid(codeClassifyOid);
+//		CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid());
+//		CodeClassifyTemplateVO templateVO= this.getUsedTemplateByClassifyOid(orderDTO.getCodeClassifyOid());
+
+
         CodeClassifyTemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid());
-        checkRequiredAttrOnOrder(templateVO, orderDTO);
+		orderDTO.setTemplateOid(templateVO.getOid());
+		//1. 鍒ゆ柇蹇呰緭椤�
+		checkRequiredAttrOnOrder(templateVO, orderDTO);
         //2.鍏堟敞鍏ワ紝鍐嶇粍鍚堬紝鏈�鍚庢牎楠�
         switchClassifyLevelOnOrder(templateVO, classifyFullInfo, orderDTO);
         //3.澶勭悊缁勫悎瑙勫垯銆傜粍鍚堣鍒欎笉鑳戒娇鐢ㄧ紪鐮佺殑灞炴�э紝鍥犱负缂栫爜鐨勭敓鎴愬彲鑳芥槸闇�瑕佸睘鎬х殑
@@ -2147,46 +2144,18 @@
         copyValueToCBO(classifyFullInfo, cbo, orderDTO, templateVO, true);
         //浼佷笟鐮佸拰闆嗗洟鐮佺殑涓嶄慨鏀�
         cbo.setDescription(orderDTO.getDescription());
-        cbo.setName(orderDTO.getName());
+//        cbo.setName(orderDTO.getName());
         try {
             cbo.setDescription(StringUtils.isBlank(orderDTO.getDescription()) ? "" : orderDTO.getDescription());
             cbo.setName(orderDTO.getName());
-////			cbo.setAttributeValueWithNoCheck("description", orderDTO.getDescription());
-//			cbo.setAttributeValue("name", orderDTO.getName());
         } catch (Exception e) {
             e.printStackTrace();
         }
+//		cbo.getData().putAll(orderDTO.getData());
         cbo.setLastModifyTime(new Date());
         cbo.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
         updateBatchByBaseModel(classifyFullInfo.getTopClassifyVO().getBtmtypeid(), Collections.singletonList(cbo));
-//		codeWupinMapper.updateById(cbo);
-//
-//		List<CodeWupinEntity> cboList = new ArrayList<>();
-//
-//		//澶囨敞
-//		cbo.setDescription(orderDTO.getDescription());
-//		cboList.add(cbo);
-////
-////		cboList.add(cbo);
-//		List<String> codeList = productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(),cboList);
-//
-//
-//		List<String> charList = new ArrayList<>();
-//		for (CodeWupinEntity wupinEntity : cboList) {
-//			charList.add(wupinEntity.getId());
-//		}
-//		batchSaveSelectChar(templateVO, charList);
-//		return codeList.size() > 0 ? codeList.get(0) : "";
-
-
-        //淇敼鐨勬椂鍊欙紝缂栫爜鏄笉鍙樼殑
-//		BatchCBO batchCBO = new BatchCBO();
-//		batchCBO.getUpdateCbos().add(cbo);
-//		List<ClientBusinessObject> cboList = new ArrayList<>();
-//		cboList.add(cbo);
-//		boService.persistenceBatch(batchCBO);
         batchSaveSelectChar(templateVO, Collections.singletonList(cbo));
-//		batchSaveSelectChar(templateVO, Arrays.asList(cbo.getId()));
     }
 
     /**

--
Gitblit v1.9.3