From 5a8861736eb17fe27a4ac49cc8ebaa6f3ade2e71 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 07 七月 2023 17:08:35 +0800
Subject: [PATCH] 前端代码提交

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java |   93 ++++++++++++++++++++++++++++++++++------------
 1 files changed, 69 insertions(+), 24 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
index 224a3f1..4328924 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -106,6 +106,17 @@
 		return codeClassifyMapper.selectList(wrapper);
 	}
 
+	/**
+	 * 鏌ヨ
+	 * @param wrapper 鏌ヨ灏佽鍣�
+	 * @return
+	 */
+	@Override
+	public List<String> select1(Wrapper wrapper) {
+
+		return codeClassifyMapper.selectObjs(wrapper);
+	}
+
 	@Override
 	public IPage<CodeClassifyVO> selectPlCodeClassifyPage(IPage<CodeClassifyVO> page, CodeClassifyVO plCodeClassify) {
 		return page.setRecords(codeClassifyMapper.selectPlCodeClassifyPage(page, plCodeClassify));
@@ -117,11 +128,11 @@
 		if(StringUtils.isNotBlank(codeClassifyEntity.getParentCodeClassifyOid()) && StringUtils.isNotBlank(codeClassifyEntity.getBtmTypeId())){
 			return R.fail("鍙湁鍦ㄩ《灞傜殑涓婚搴撳垎绫绘墠鑳借缃笟鍔$被鍨�");
 		}
-		codeClassifyEntity.setCreator(AuthUtil.getUser().getUserName());
+		codeClassifyEntity.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
 		codeClassifyEntity.setCreateTime(new Date());
 		codeClassifyEntity.setTs(new Date());
-		codeClassifyEntity.setOwner(AuthUtil.getUser().getUserName());
-		codeClassifyEntity.setLastModifier(AuthUtil.getUser().getUserName());
+		codeClassifyEntity.setOwner(String.valueOf(AuthUtil.getUser().getUserId()));
+		codeClassifyEntity.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
 		codeClassifyEntity.setLastModifyTime(new Date());
 		codeClassifyEntity.setRevisionSeq(1);
 		codeClassifyEntity.setVersionSeq(1);
@@ -140,20 +151,17 @@
 			return R.fail("浼犲叆鏁版嵁涓嶈兘涓虹┖锛�");
 		}
 		//妫�鏌s
-		Map<String,Object> condition = new HashMap<>(2);
-		condition.put("oid",codeClassifyEntity.getOid());
-		condition.put("ts",codeClassifyEntity.getTs());
-		CodeClassify detail = codeClassifyMapper
-			.selectOne(Condition.getQueryWrapper(condition,CodeClassify.class));
-		if(detail == null){//涓嶆槸鏈�鏂扮殑涓嶈鏀�
+		CodeClassify detail = codeClassifyMapper.selectById(codeClassifyEntity.getOid());
+		if(!detail.getTs().toString().equals(codeClassifyEntity.getTs().toString())){//涓嶆槸鏈�鏂扮殑涓嶈鏀�
 			return R.fail("褰撳墠鏁版嵁涓嶆槸鏈�鏂帮紝璇峰埛鏂板悗鍐嶄慨鏀癸紒");
 		}
 
 		if(StringUtils.isNotBlank(codeClassifyEntity.getParentCodeClassifyOid()) && StringUtils.isNotBlank(codeClassifyEntity.getBtmTypeId())){
 			return R.fail("鍙湁鍦ㄩ《灞傜殑涓婚搴撳垎绫绘墠鑳借缃笟鍔$被鍨�");
 		}
-		codeClassifyEntity.setLastModifier(AuthUtil.getUser().getUserName());
+		codeClassifyEntity.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
 		codeClassifyEntity.setLastModifyTime(new Date());
+		codeClassifyEntity.setTs(new Date());
 		int insertNumber = codeClassifyMapper.updateById(codeClassifyEntity);
 
 //         //澶勭悊鏁版嵁闆嗘垚閫昏緫,鎴愬姛鍚庢墽琛岄泦鎴愮涓�姝�,鍒嗙被鏁版嵁鐗规畩澶勭悊銆傚彧鏈夊惎鐢ㄧ姸鎬佺殑鍒嗙被鎵嶆帹閫�
@@ -189,8 +197,7 @@
 	 * @return  鏁版嵁瀵硅薄
 	 */
 	private CodeClassify selectByOid(String oid){
-
-		CodeClassify codeClassifyEntity = codeClassifyMapper.selectById(oid.trim());
+		CodeClassify codeClassifyEntity = codeClassifyMapper.selectClassifyByKeyAndReseRel("'"+oid.trim()+"'").get(0);
 		if(codeClassifyEntity == null || StringUtils.isBlank(codeClassifyEntity.getOid())){
 			throw new ServiceException("dataOidNotExist");//鏍规嵁涓婚敭id鏈煡鍒扮浉鍏虫暟鎹�
 		}
@@ -340,7 +347,7 @@
 		codeClassify.setLcStatus(lcStatus);
 		codeClassify.setTs(new Date());
 		codeClassify.setLastModifyTime(new Date());
-		codeClassify.setLastModifier(AuthUtil.getUser().getUserName());
+		codeClassify.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
 		//鍚敤銆佸仠鐢�
 //		int u = codeClassifyMapper.updateLcStatus(oid,lcStatus);
 		int count = codeClassifyMapper.updateById(codeClassify);
@@ -440,13 +447,43 @@
 	}
 
 	/**
+	 * 涓婚敭鏌ヨ鏁版嵁瀵硅薄,鍏宠仈鏌ヨ
+	 * @param oid 涓婚敭
+	 * @return  鏁版嵁瀵硅薄
+	 */
+	private CodeClassify selectByOidRel(String oid){
+
+		List<CodeClassify> codeClassifyList = codeClassifyMapper.selectClassifyByKeyAndReseRel("'"+oid.trim()+"'");
+//		CodeClassify codeClassifyEntity = (CodeClassify) codeClassifyList;
+		if(codeClassifyList.size() == 0 ){
+			throw new ServiceException("dataNotExist");//鏍规嵁涓婚敭id鏈煡鍒扮浉鍏虫暟鎹�
+		}
+//		if(codeClassifyEntity == null || StringUtils.isBlank(codeClassifyEntity.getOid())){
+//			throw new ServiceException("dataOidNotExist");//鏍规嵁涓婚敭id鏈煡鍒扮浉鍏虫暟鎹�
+//		}
+		return codeClassifyList.get(0);
+	}
+
+	/**
 	 * 鏌ヨ涓婚搴撳垎绫� 鏍�
 	 * @param treeQueryObject 鏍戞煡璇㈠璞�
 	 * @return 涓婚搴撳垎绫� 鏄剧ず鏍�
 	 */
 	@Override
 	public List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject) {
-		List<CodeClassify> doList =codeClassifyMapper.selectCodeClassifyVOByTree(treeQueryObject.getParentOid());
+		List<CodeClassify> doList = null;
+		String id = null;
+		String lcStatus = null;
+		if(!Objects.isNull(treeQueryObject.getConditionMap())){
+			id = treeQueryObject.getConditionMap().getOrDefault("id",null);
+			lcStatus = treeQueryObject.getConditionMap().getOrDefault("lcStatus",null);
+		}
+		if(StringUtils.isNotBlank(id) || StringUtils.isNotBlank(lcStatus) ){
+			doList = codeClassifyMapper
+				.selectCodeClassifyDOByTree(treeQueryObject.getConditionMap().get("id"),treeQueryObject.getConditionMap().get("lcStatus"),treeQueryObject.getParentOid());
+		}else{
+			doList =codeClassifyMapper.selectCodeClassifyVOByTree(treeQueryObject.getParentOid());
+		}
 		List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList);
 		TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME.toLowerCase(Locale.ROOT));
 		treeWrapperOptions.copyFromTreeQuery(treeQueryObject);
@@ -503,8 +540,11 @@
 	 */
 	@Override
 	public List<CodeClassifyVO> getIdPathToNamePathByParentId(String classifyId, boolean enable) {
-		return null;
+		List<CodeClassify>  doList=	codeClassifyMapper.getIdPathToNamePathByParentId(classifyId);
+		List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList);
+		return voList;
 	}
+
 
 	//	/**
 //	 * 鏍规嵁鏍戝舰鏌ヨ瀵硅薄鏉ユ煡璇㈡暟鎹璞�
@@ -617,7 +657,7 @@
 	@Override
 	public List<CodeClassifyVO> listChildrenClassify(String codeClassifyOid, boolean allLevel, String fieldInPath, boolean enable) {
 		if(allLevel){
-			List<CodeClassify> classifyDOS = codeClassifyMapper.selectAllLevelChildHasPath(codeClassifyOid);
+			List<CodeClassify> classifyDOS = codeClassifyMapper.selectAllLevelChildHasPath(codeClassifyOid,fieldInPath);
 			if(!CollectionUtils.isEmpty(classifyDOS)){
 				classifyDOS = classifyDOS.stream().filter(s->FRAMEWORK_DATA_ENABLED.equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList());
 			}
@@ -737,7 +777,7 @@
 		Map<String/**璺緞**/,String/**涓婚敭**/> oidPathMap = new HashMap<>();
 
 		//鎴戜滑闇�瑕佹煡璇㈡墍鏈夊凡缁忓瓨鍦ㄧ殑鍒嗙被锛屼富瑕佹槸璺緞锛岀敤鏉ュ垽鏂垎绫荤殑鏁版嵁
-		List<CodeClassify> existClassifyDOs = codeClassifyMapper.selectAllLevelChildHasPath("");
+		List<CodeClassify> existClassifyDOs = codeClassifyMapper.selectAllLevelChildHasPath("",null);
 		Map<String/**璺緞**/, CodeClassify/**宸茬粡瀛樺湪鐨勬暟鎹�**/> pathDOMap = Optional.ofNullable(existClassifyDOs).orElse(new ArrayList<>()).stream().collect(Collectors.toMap(s -> {
 			String path = s.getPath();
 			if(StringUtils.isNotBlank(path) && path.startsWith("#")){
@@ -855,9 +895,9 @@
 					classifyDO.setTs(new Date());
 					classifyDO.setBtmname("codeclassify");
 					classifyDO.setLcStatus("Enabled");
-					classifyDO.setOwner(AuthUtil.getUser().getUserName());
-					classifyDO.setCreator(AuthUtil.getUser().getUserName());
-					classifyDO.setLastModifier(AuthUtil.getUser().getUserName());
+					classifyDO.setOwner(String.valueOf(AuthUtil.getUser().getUserId()));
+					classifyDO.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
+					classifyDO.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
 					classifyDO.setLastModifyTime(new Date());
 					codeClassifyMapper.insert(classifyDO);
 				}
@@ -1006,10 +1046,15 @@
 		}
 
 		//浣跨敤涓婚敭鏌ヨ涓�涓�
-		List<CodeClassify> classifyDOS = codeClassifyMapper.selectBatchIds(oidLevelMap.keySet());
+		String oids = "";
+		for (String s : oidLevelMap.keySet()) {
+			oids += "'"+s+"',";
+		}
+		List<CodeClassify> classifyDOS = codeClassifyMapper.selectClassifyByKeyAndReseRel(oids.substring(0,oids.length()-1));
 		if(!CollectionUtils.isEmpty(classifyDOS)){
 			classifyDOS.stream().forEach(classifyDO->{
 				classifyDO.setDataLevel(VciBaseUtil.getInt(oidLevelMap.getOrDefault(classifyDO.getOid(),"0")));
+				classifyDO.setLcStatusText(EnumCache.getValue("codeLcstatus",classifyDO.getLcStatus()));
 			});
 		}
 		return classifyDOS;
@@ -1034,10 +1079,10 @@
 	 */
 	@Override
 	public CodeClassifyVO getObjectByIdPath(String idPath) {
-		List<Map<String, Object>> idPathValues = codeClassifyMapper.selectByFieldPath("/" + idPath);
+		List<Map<String, Object>> idPathValues = codeClassifyMapper.selectByFieldPath("#" + idPath);
 		CodeClassify classifyDO = null;
 		if (idPathValues != null){
-			classifyDO = codeClassifyMapper.selectById(idPathValues.get(0).get("oid").toString());
+			classifyDO = codeClassifyMapper.selectByIdRel(idPathValues.get(0).get("OID").toString());
 		}
 		return codeClassifyDO2VO(classifyDO);
 	}
@@ -1123,7 +1168,7 @@
 	public CodeClassifyFullInfoBO getClassifyFullInfo(String codeClassifyOid) {
 		VciBaseUtil.alertNotNull(codeClassifyOid,"鍒嗙被鐨勪富閿�");
 		CodeClassifyFullInfoBO fullInfo = new CodeClassifyFullInfoBO();
-		CodeClassify classifyDO = selectByOid(codeClassifyOid);
+		CodeClassify classifyDO = selectByOidRel(codeClassifyOid);
 		//鏌ヨ涓婄骇
 		fullInfo.setCurrentClassifyVO(codeClassifyDO2VO(classifyDO));
 //		List<Map<String, Object>> maps = codeClassifyMapper.selectAllLevelParentByOid(codeClassifyOid);

--
Gitblit v1.9.3