From 91560799c8088421983a6168c95b84a5d617df05 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 17 十一月 2023 02:00:44 +0800
Subject: [PATCH] 历史数据导入、批量申请、申请编码接口代码逻辑中关键属性校验增加过滤条件

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java |   45 +++++++++++++++++++++++++++++++++------------
 1 files changed, 33 insertions(+), 12 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
index 80894c7..61d3037 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
@@ -31,6 +31,7 @@
 import com.vci.ubcs.code.service.ICodeClstemplateService;
 import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO;
+import com.vci.ubcs.common.constant.CommonConstant;
 import com.vci.ubcs.flow.core.entity.ProcessTemplate;
 import com.vci.ubcs.flow.core.feign.IFlowClient;
 import com.vci.ubcs.starter.exception.VciBaseException;
@@ -507,13 +508,15 @@
 		codeCls_template_insert.setNameOid(codeCls_template.getNameOid());
 		codeCls_template_insert.setBtmname(codeCls_template.getBtmname());
 		codeCls_template_insert.setLastR(String.valueOf(1));
-		codeCls_template_insert.setFirstR(String.valueOf(1));
+		codeCls_template_insert.setFirstR(String.valueOf(0));
 		codeCls_template_insert.setFirstV(String.valueOf(1));
 		codeCls_template_insert.setLastV(String.valueOf(1));
-		codeCls_template_insert.setCreator(AuthUtil.getUser().getUserName());
+//		codeCls_template_insert.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
+		codeCls_template_insert.setCreator(String.valueOf(AuthUtil.getUser().getAccount()));
 		codeCls_template_insert.setCreateTime(new Date());
 		codeCls_template_insert.setTs(new Date());
-		codeCls_template_insert.setLastModifier(AuthUtil.getUser().getUserName());
+		// codeCls_template_insert.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
+		codeCls_template_insert.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount()));
 		codeCls_template_insert.setLastModifyTime(new Date());
 		codeCls_template_insert.setRevisionRule(codeCls_template.getRevisionRule());
 		codeCls_template_insert.setVersionRule(codeCls_template.getVersionRule());
@@ -531,9 +534,14 @@
 		codeCls_template_insert.setId(codeCls_template.getId());
 		codeCls_template_insert.setName(codeCls_template.getName());
 		codeCls_template_insert.setDescription(codeCls_template.getDescription());
-		codeCls_template_insert.setOwner(AuthUtil.getUser().getUserName());
+		codeCls_template_insert.setOwner(String.valueOf(AuthUtil.getUser().getUserId()));
 		codeCls_template_insert.setCopyFromVersion(codeCls_template.getOid());
 		int insertCount = baseMapper.insert(codeCls_template_insert);
+		codeCls_template.setLastR("0");
+		codeCls_template.setLastModifyTime(new Date());
+		// codeCls_template.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
+		codeCls_template.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
+		baseMapper.updateById(codeCls_template);
 		//鍗囩増杩囧悗鐨勬ā鏉縪id
 		String templateNewOid = codeCls_template_insert.getOid();
 
@@ -589,6 +597,13 @@
 		//鍒嗙被oid,澶嶅埗杩囨潵鐨勬柊鐨勫垎绫籵id
 		String codeClassifyOid = codeClassifyDTO.getCodeclassifyoid();
 
+		QueryWrapper<CodeClassifyTemplate> wrapper = new QueryWrapper<>();
+		wrapper.eq("CODECLASSIFYOID",codeClassifyOid);
+		Long aLong = baseMapper.selectCount(wrapper);
+		if(aLong > 0){
+			return R.fail("璇ュ垎绫讳笅宸叉湁瀛愭ā鐗堬紝鏃犳硶杩涜澶嶅埗鎿嶄綔锛屼粎鑳借繘琛屽崌鐗堟搷浣滐紒");
+		}
+
 		//澶嶅埗妯℃澘
 		CodeClassifyTemplate codeClassifyTemplateDO_old = baseMapper.selectById(oldOid);//鏃фā鏉�
 
@@ -616,6 +631,8 @@
 		codeClassifyTemplateDO_old.setTs(new Date());
 		codeClassifyTemplateDO_old.setCreateTime(new Date());
 		codeClassifyTemplateDO_old.setLastModifyTime(new Date());
+		// 澶嶅埗鐨勬ā鏉跨敓鍛藉懆鏈熸敼涓虹紪杈戜腑
+		codeClassifyTemplateDO_old.setLcStatus(FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_EDITING);
 		List<CodeClassifyTemplate> codeClassifyTemplateDOList = new ArrayList<>();
 		codeClassifyTemplateDOList.add(codeClassifyTemplateDO_old);
 
@@ -626,7 +643,7 @@
 		List<ProcessTemplate> codeClassifyProcessTempDOList = copyTemplateProcess(oldOid,newOid);
 
 		//澶嶅埗妯℃澘闃舵锛岄樁娈靛睘鎬�
-		Map  phase_attrMap = copyTemplatePhase_attr(oldOid,newOid);
+		Map phase_attrMap = copyTemplatePhase_attr(oldOid,newOid);
 
 		List<CodeTemplatePhase> codeClassifyPhaseDOList = (ArrayList<CodeTemplatePhase>)phase_attrMap.get("phase");//妯℃澘闃舵
 		List<CodePhaseAttr> codePhaseAttrDOList = (ArrayList<CodePhaseAttr>)phase_attrMap.get("phaseAttr");//闃舵灞炴��
@@ -916,8 +933,10 @@
 		codeClassifyTemplateDO.setVersionRule("0");
 		codeClassifyTemplateDO.setRevisionRule("numberversionrule");
 		codeClassifyTemplateDO.setLastModifyTime(new Date());
-		codeClassifyTemplateDO.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
-		codeClassifyTemplateDO.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
+//		codeClassifyTemplateDO.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
+		codeClassifyTemplateDO.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount()));
+//		codeClassifyTemplateDO.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
+		codeClassifyTemplateDO.setCreator(String.valueOf(AuthUtil.getUser().getAccount()));
 		codeClassifyTemplateDO.setCreateTime(new Date());
 		codeClassifyTemplateDO.setLastV("1");
 		codeClassifyTemplateDO.setLastR("1");
@@ -1032,7 +1051,7 @@
 			codeClassifyTemplateDO.setLcStatus(lcstatus);
 			codeClassifyTemplateDO.setVersionValue(versionvalue);
 			codeClassifyTemplateDO.setTs(new Date());
-			codeClassifyTemplateDO.setLastModifier(AuthUtil.getUser().getUserName());
+			codeClassifyTemplateDO.setLastModifier(AuthUtil.getUser().getAccount());
 			codeClassifyTemplateDO.setLastModifyTime(new Date());
 			baseMapper.updateById(codeClassifyTemplateDO);
 		}
@@ -1050,13 +1069,16 @@
 //		Map<String/**妯℃澘鐨勪富閿�**/,String/**鍒嗙被鐨勪富閿�**/> childHasTemplateMap =baseMapper
 //			.selectChildHasReleaseTemplate(FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED,
 //				codeClassifyOid,CodeClassifyTemplateLC.RELEASED.getValue());
-		List<Map<String,String>> childHasTemplateList =baseMapper
+		List<Map<String,String>> childHasTemplateList = baseMapper
 			.selectChildHasReleaseTemplate(FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED,
 				codeClassifyOid,CodeClassifyTemplateLC.RELEASED.getValue());
 		Map<String/**妯℃澘鐨勪富閿�**/,String/**鍒嗙被鐨勪富閿�**/> childHasTemplateMap = new HashMap<>();
 		if(!CollectionUtils.isEmpty(childHasTemplateList)){
 			childHasTemplateList.stream().forEach(cbo->{
-				childHasTemplateMap.put(cbo.get("OID"),cbo.get("CLSOID"));
+				// 鏈夋椂鍊欐煡璇㈠嚭鏉ョ殑key鏄ぇ鍐欙紝鏈夋椂鍊欐槸灏忓啓鐨刱ey
+				String oid = Func.isEmpty(cbo.get("OID")) ? cbo.get("oid"):cbo.get("OID");
+				String clsoid = Func.isEmpty(cbo.get("CLSOID")) ? cbo.get("clsoid") : cbo.get("CLSOID");
+				childHasTemplateMap.put(oid,clsoid);
 			});
 		}
 
@@ -1073,7 +1095,6 @@
 		}
 		return codeClassifyTemplateVOList;
 	}
-
 
 	/**
 	 * 浣跨敤鍒嗙被涓婚敭閫掑綊鏌ヨ
@@ -1097,7 +1118,7 @@
 			//閫掑綊鎵句笂绾х殑妯℃澘
 			CodeClassify classifyDO = codeClassifyMapper.selectById(codeClassifyOid);
 //				codeClassifyDaoI.selectByPrimaryKey(codeClassifyOid);
-			if(Func.isEmpty(classifyDO)&&StringUtils.isBlank(classifyDO.getParentCodeClassifyOid())){
+			if(Func.isEmpty(classifyDO)){
 				//璇存槑宸茬粡鏄《浜嗭紝涔熸病鎵惧埌鐨勮瘽锛岄偅灏辫繑鍥炰簡
 				return new ArrayList<>();
 			}

--
Gitblit v1.9.3