From 84b83aca7adb18249ea5bd5c7d35ced4b056c98a Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期四, 14 九月 2023 10:05:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java |   69 +++++++++++++++++++++-------------
 1 files changed, 43 insertions(+), 26 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 825b051..cfa0d29 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
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.vci.ubcs.code.applyjtcodeservice.vo.BaseModelVO;
 import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
 import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO;
 import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant;
@@ -20,6 +21,7 @@
 import com.vci.ubcs.code.vo.pagemodel.UITableFieldVO;
 import com.vci.ubcs.code.vo.pagemodel.UITablePageVO;
 import com.vci.ubcs.code.vo.pagemodel.*;
+import com.vci.ubcs.code.wrapper.BaseMdodelWrapper;
 import com.vci.ubcs.flow.core.dto.FlowStatusDTO;
 import com.vci.ubcs.flow.core.feign.IMDMIFlowAttrClient;
 import com.vci.ubcs.flow.core.vo.ProcessStageAttrVO;
@@ -435,18 +437,11 @@
         //澶囨敞
         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 (BaseModel baseModel : cboList) {
-//			charList.add(baseModel.getId());
-//		}
         batchSaveSelectChar(templateVO, cboList);
         return codeList.size() > 0 ? codeList.get(0) : "";
-//		return null;
     }
 
     /**
@@ -751,7 +746,29 @@
 		return dataList;
 	}
 
-    /**
+	/**
+	 * 鏍规嵁褰撳墠鐢宠缂栫爜鐨勫垎绫伙紝閫愬眰寰�涓婃牎楠屾槸鍚︾鍚堝睘浜庨厤缃殑涓殑鍒嗙被瀛愯妭鐐圭殑鍒�
+	 * 绫伙紝濡傛灉绗﹀悎锛屽垯璇ュ垎绫荤敵璇风殑缂栫爜涓洪泦鍥㈢爜杩斿洖true锛屽弽涔嬪垯涓轰紒涓氱紪鐮佽繑鍥瀎alse
+	 * @param parameter 浼犲叆鏁版嵁,classifyGroupCode:閰嶇疆鐨勪腑鐨勫垎绫婚《鑺傜偣锛宱id锛氶�夋嫨鑺傜偣鐨刼id
+	 */
+	@Override
+	public R checkGroupCode(Map<String, String> parameter) {
+		List<CodeClassify> codeClassifyList = classifyService.selectAllLevelParents(parameter.get("oid"));
+		Set<String> configGroupCode = Arrays.stream(parameter.get("classifyGroupCode").split("#")).collect(Collectors.toSet());
+//		Boolean checkGroupFlag = false;//鏄惁鏌ヨ鍒伴厤缃殑椤跺眰鍒嗙被涓�
+		for (int i = codeClassifyList.size()-1; i >= 0; i--) {
+			if(configGroupCode.contains(codeClassifyList.get(i).getId())){
+//				checkGroupFlag = true;
+				return R.data("true");
+			}
+//			if(checkGroupFlag && parameter.get("nowApplyCode").equals(codeClassifyList.get(i).getId())){
+//				return R.data(true);
+//			}
+		}
+		return R.data("false");
+	}
+
+	/**
      * 灏佽鍏抽敭灞炴�х殑鏌ヨ璇彞
      *
      * @param value        褰撳墠鐨勫��
@@ -2413,7 +2430,6 @@
         return phaseAttrService.listAttrByTemplateOidAndPhaseId(templateVO.getOid(), phase);
     }
 
-
     /**
      * 璺緞涓婂寘鍚綋鍓嶅垎绫荤殑鎵�鏈夊垎绫讳俊鎭�
      *
@@ -2761,13 +2777,13 @@
 			CodeSecTypeEnum.CODE_FIXED_SEC.getValue(),
 			CodeSecTypeEnum.CODE_VARIABLE_SEC.getValue(),
 			CodeSecTypeEnum.CODE_CLASSIFY_SEC.getValue(),
-			CodeSecTypeEnum.CODE_REFER_SEC.getValue()
+			CodeSecTypeEnum.CODE_REFER_SEC.getValue(),
+			CodeSecTypeEnum.CODE_DATE_SEC.getValue()
 		);
 		// 鍙鐮佹绫诲瀷
 		List<String> readOnlyTypes = Arrays.asList(
 			CodeSecTypeEnum.CODE_LEVEL_SEC.getValue(),
-			CodeSecTypeEnum.CODE_ATTR_SEC.getValue(),
-			CodeSecTypeEnum.CODE_DATE_SEC.getValue()
+			CodeSecTypeEnum.CODE_ATTR_SEC.getValue()
 		);
 		// 闅愯棌鐮佹绫诲瀷
 		/*List<String> hideType = Arrays.asList(
@@ -2832,6 +2848,7 @@
 			return secVO;
 		}).collect(Collectors.toList());
 		codeRuleVO.setSecVOList(basicSecVOS);
+		codeRuleVO.setIsShowHideStatus(hasAllReadOnlyType ? "readOnly":(hasAllInputType ? "input":"readAndInput"));
 		return codeRuleVO;
 	}
 
@@ -2850,7 +2867,7 @@
         } else {
             if (CollectionUtils.isEmpty(fullInfoBO.getParentClassifyVOs())) {
                 //璇存槑宸茬粡鏄渶楂樺眰绾�,
-                throw new VciBaseException("褰撳墠涓婚搴撳垎绫伙紝浠ュ強瀹冪殑鎵�鏈夌殑涓婄骇鍒嗙被閮芥病鏈夎缃紪鐮佽鍒�");
+                throw new ServiceException("褰撳墠涓婚搴撳垎绫伙紝浠ュ強瀹冪殑鎵�鏈夌殑涓婄骇鍒嗙被閮芥病鏈夎缃紪鐮佽鍒�");
             }
             List<CodeClassifyVO> parentClassifyVOList = fullInfoBO.getParentClassifyVOs().stream().sorted((o1, o2) -> o1.getDataLevel().compareTo(o2.getDataLevel())).collect(Collectors.toList());
             //浠庢渶楂樼殑level寮�濮嬭幏鍙�
@@ -2862,7 +2879,7 @@
                 }
             }
             if (StringUtils.isBlank(codeRuleOid)) {
-                throw new VciBaseException("褰撳墠涓婚搴撳垎绫伙紝浠ュ強瀹冪殑鎵�鏈夌殑涓婄骇鍒嗙被閮芥病鏈夎缃紪鐮佽鍒�");
+                throw new ServiceException("褰撳墠涓婚搴撳垎绫伙紝浠ュ強瀹冪殑鎵�鏈夌殑涓婄骇鍒嗙被閮芥病鏈夎缃紪鐮佽鍒�");
             }
         }
         return ruleService.getObjectHasSecByOid(codeRuleOid);
@@ -3559,7 +3576,6 @@
         return baseModels;
     }
 
-
     /**
      * 鏍规嵁涓氬姟绫诲瀷鍚嶇О鍒涘缓涓氬姟鏁版嵁婧愬璞�
      *
@@ -3676,12 +3692,12 @@
      * @return 鍒楄〃鏁版嵁
      */
     @Override
-    public IPage<BaseModel> referDataGrid(UIFormReferVO referConfigVO, BaseQueryObject baseQueryObject) throws VciBaseException {
+    public IPage<BaseModelVO> referDataGrid(UIFormReferVO referConfigVO, BaseQueryObject baseQueryObject) throws VciBaseException {
         //checkReferConfig(referConfigVO);
         //浣跨敤涓氬姟绫诲瀷鏌ヨ
         R<BtmTypeVO> allAttributeByBtmId = btmTypeClient.getAllAttributeByBtmId(referConfigVO.getReferType());
         if (!allAttributeByBtmId.isSuccess()) {
-            throw new ServiceException("涓氬姟绫诲瀷feign鎺ュ彛璋冪敤閿欒锛�");
+            throw new ServiceException("涓氬姟绫诲瀷feign鎺ュ彛璋冪敤閿欒;"+allAttributeByBtmId.getMsg());
         }
         if (Func.isEmpty(allAttributeByBtmId.getData())) {
             throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
@@ -3708,6 +3724,7 @@
         if (listR.getData().isEmpty()) {
             throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
         }
+		// TODO:鍙傜収閰嶇疆鐨勬ā绯婃煡璇㈣繃婊ゆ潯浠舵殏鏈鐞�
         String namesql = "";
         if (StringUtils.isNotBlank(baseQueryObject.getConditionMap().get("name"))) {
             String s = baseQueryObject.getConditionMap().get("name");
@@ -3757,27 +3774,28 @@
                             ZonedDateTime zdt = localDateTime.atZone(zoneId);
                             Date date = Date.from(zdt.toInstant());
                             setter.invoke(obj, date);
-                            map.remove(property.getName().toUpperCase());
+                            //map.remove(property.getName().toUpperCase());
                         } //oracle鐨勬暟瀛椾负BigDecimal鐨勶紝闇�瑕佽繘琛岃浆鎹㈡垚Integer锛屽惁鍒欏皢鎶ラ敊
                         else if (map.get(property.getName().toUpperCase()) instanceof BigDecimal
                                 && ("Integer").equals(setter.getParameterTypes()[0].getSimpleName())) {
                             setter.invoke(obj, ((BigDecimal) map.get(property.getName().toUpperCase())).intValue());
-                            map.remove(property.getName().toUpperCase());
+                            //map.remove(property.getName().toUpperCase());
                         } else if (map.get(property.getName().toUpperCase()) != null) {
 							if(setter.getParameterTypes()[0].getSimpleName().equals("String")){
 								setter.invoke(obj, map.get(property.getName().toUpperCase()) == null ? null:String.valueOf(map.get(property.getName().toUpperCase())));
 							}else{
 								setter.invoke(obj, map.get(property.getName().toUpperCase()));
 							}
-                            map.remove(property.getName().toUpperCase());
+                            //map.remove(property.getName().toUpperCase());
                         }
                     }
                 }
                 for (Object key : map.keySet()) {
                     map.put(key, String.valueOf(map.get(key)));
                 }
-
-                ((BaseModel) obj).setData(map);
+				Map<String, String> newMap = new HashMap<>();
+				map.forEach((key, value) -> newMap.put(String.valueOf(key).toLowerCase(), String.valueOf(value)));
+				((BaseModel) obj).setData(newMap);
                 baseModels.add((BaseModel) obj);
             }
         } catch (Exception e) {
@@ -3788,10 +3806,10 @@
                 + "and lastv = " + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lastv").toString())) + " and" : "where") + SPACE + "1=1 "
                 + lcstatusSql + namesql + codesql
         );
-        IPage<BaseModel> objectDataGrid = new Page<>();
+        IPage<BaseModelVO> objectDataGrid = new Page<>();
         objectDataGrid.setPages(baseQueryObject.getPage());
         objectDataGrid.setCurrent(baseQueryObject.getPage());
-        objectDataGrid.setRecords(baseModels);
+        objectDataGrid.setRecords(BaseMdodelWrapper.build().listVO(baseModels));
         objectDataGrid.setSize(baseQueryObject.getLimit());
         objectDataGrid.setTotal(total);
         return objectDataGrid;
@@ -3916,7 +3934,6 @@
         treeWrapperOptions.setParentOid(queryObject.getParentOid());
         return revisionModelUtil.doList2Trees(codeClassifies, treeWrapperOptions, null);
     }
-
 
     @Override
     public boolean checkUnAttrUnEdit(String attrName) {

--
Gitblit v1.9.3