From 7da596a115d06000f3ebcacfedcdc1629c87a41c Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 24 八月 2023 20:32:00 +0800
Subject: [PATCH] 整合前端代码
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java | 145 +++++++++++++++++++++++++++++++-----------------
1 files changed, 94 insertions(+), 51 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
index b0bb55c..6b14eaf 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
@@ -23,7 +23,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant;
-import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
+
import com.vci.ubcs.code.dto.CodeBasicSecDTO;
import com.vci.ubcs.code.dto.CodeRuleDTO;
import com.vci.ubcs.code.entity.*;
@@ -32,20 +32,20 @@
import com.vci.ubcs.code.mapper.CodeRuleMapper;
import com.vci.ubcs.code.mapper.CodeSerialValueMapper;
import com.vci.ubcs.code.mapper.CommonsMapper;
-import com.vci.ubcs.code.service.ICodeAllCodeService;
-import com.vci.ubcs.code.service.ICodeBasicSecService;
-import com.vci.ubcs.code.service.ICodeClassifyService;
-import com.vci.ubcs.code.service.ICodeRuleService;
+import com.vci.ubcs.code.service.*;
import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
+import com.vci.ubcs.code.vo.pagemodel.CodeFixedValueVO;
import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
import com.vci.ubcs.code.wrapper.CodeClassifyWrapper;
import com.vci.ubcs.code.wrapper.CodeRuleWrapper;
import com.vci.ubcs.omd.cache.EnumCache;
import com.vci.ubcs.omd.enums.EnumEnum;
import com.vci.ubcs.starter.exception.VciBaseException;
+import com.vci.ubcs.starter.revision.model.TreeQueryObject;
import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
+import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
import com.vci.ubcs.starter.util.UBCSCondition;
import com.vci.ubcs.starter.web.pagemodel.*;
import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
@@ -102,6 +102,8 @@
private ICodeAllCodeService codeAllcodeService;
@Resource
private ICodeBasicSecService codeBasicSecService;
+ @Resource
+ private ICodeClassifyValueService iCodeClassifyValueService;
/**
* 瀵硅薄鐨勬搷浣�
@@ -161,11 +163,14 @@
*/
@Override
public boolean checkCodeRuleRepeat(CodeRuleDTO codeRuleDTO){
- List<CodeRule> codeRulesList = this.codeRuleMapper.selectList(Wrappers.<CodeRule>query().lambda().eq(CodeRule::getId, codeRuleDTO.getId()));
+ // 鏍规嵁瑙勫垯id鏌ヨ缂栧彿
+ List<CodeRule> codeRulesList = this.codeRuleMapper.selectList(Wrappers.<CodeRule>query()
+ .lambda().eq(CodeRule::getId, codeRuleDTO.getId())
+ .eq(CodeRule::getTenantId,AuthUtil.getTenantId().equals(this.tenantId) ? "":codeRuleDTO.getTenantId()));
if(!codeRulesList.isEmpty()){
return codeRulesList.parallelStream().anyMatch(codeRule -> {
if(StringUtils.isNotBlank(codeRuleDTO.getOid())){
- // 浠h〃鏄慨鏀�
+ // 浠h〃鏄慨鏀癸紝涓嶆槸灏嗙紪鍙蜂慨鏀圭浉鍚岀殑缂栧彿
return !codeRule.getOid().equals(codeRuleDTO.getOid());
}else {
return true;
@@ -443,8 +448,7 @@
}
// 鍙戝竷鏃跺皢鐮佹绫诲瀷鎸夌収瀛楃涓插垎闅旂殑褰㈠紡鎷兼帴骞跺瓨鍌�
String secTypeStr = codeBasicSecService.listCodeBasicSecByRuleOid(codeRuleDO.getOid()).stream().map(CodeBasicSecVO::getSecType).collect(Collectors.joining(","));
- codeRuleDO.setBasicSecTypes(secTypeStr);
- count = codeRuleMapper.update(null,wrapper.set(CodeRule::getLcStatus, CodeRuleLC.RELEASED.getValue()));
+ count = codeRuleMapper.update(null,wrapper.set(CodeRule::getLcStatus, CodeRuleLC.RELEASED.getValue()).set(CodeRule::getBasicSecTypes,secTypeStr));
} else {
return R.fail("鏆備笉鏀寔鐨勬搷浣滅被鍨�");
}
@@ -507,76 +511,115 @@
@Override
public R checkLikeCodeRule(String oid) throws VciBaseException {
// 1銆佹煡璇㈠嚭褰撳墠瑕佸彂甯冪殑瑙勫垯
- CodeRuleVO codeRuleVO = getObjectHasSecByOid(oid);
- // 褰撳墠鍙戝竷鐨勮鍒欎笉瀛樺湪鐮佹淇℃伅
- if(Func.isEmpty(codeRuleVO.getSecVOList())){
- return R.data(null);
+ CodeRuleVO releaseCodeRule = getObjectHasSecByOid(oid);
+ // 褰撳墠鍙戝竷鐨勮鍒欎笉瀛樺湪鐮佹淇℃伅锛岀洿鎺ョ┖淇℃伅杩斿洖
+ if(Func.isEmpty(releaseCodeRule.getSecVOList())){
+ return R.success("");
}
// 2銆佹壘鍑轰笌褰撳墠鍙戝竷鐨勮鍒欑爜娈甸『搴忎竴鑷寸殑瑙勫垯
- String secTypes = codeRuleVO.getSecVOList().stream().map(CodeBasicSecVO::getSecType).collect(Collectors.joining(","));
- //鍏堟煡璇㈠嚭鎵�鏈夊凡鍙戝竷鐨勭紪鐮佽鍒�
- List<CodeRule> codeRuleList = codeRuleMapper.selectList(Wrappers.<CodeRule>query().lambda().eq(CodeRule::getLcStatus, FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_RELEASED));
+ String secTypes = releaseCodeRule.getSecVOList().stream().map(CodeBasicSecVO::getSecType).collect(Collectors.joining(","));
+ // 鏌ヨ鍑烘墍鏈夊凡鍙戝竷鐨勭紪鐮佽鍒欎腑鐮佹绫诲瀷椤哄簭涓庡綋鍓嶈鍙戝竷鐨勮鍒欓『搴忎竴鑷寸殑缂栫爜瑙勫垯锛屾鏃跺凡杩戣繃婊ゆ帀澶ч儴鍒嗚鍒欙紝杩愮畻閲忓噺灏�
+ List<CodeRule> codeRuleList = codeRuleMapper.selectList(Wrappers.<CodeRule>query().lambda()
+ .eq(CodeRule::getLcStatus, CodeRuleLC.RELEASED.getValue())
+ .eq(CodeRule::getBasicSecTypes,secTypes)
+ );
+ // 涓虹┖锛岃瘉鏄庝笉瀛樺湪绫诲悓鐨勭紪鐮佽鍒欑洿鎺ヨ繑鍥�
+ if(Func.isEmpty(codeRuleList)){
+ return R.success("");
+ }
+ // 鏌ヨ鍑哄熀纭�鐮佹鍒楄〃锛堟寜鐓rderNum鍗囧簭鎺掑簭锛�
List<CodeRuleVO> codeRuleVOS = codeRuleDO2VOs(codeRuleList, true);
- // 婊¤冻鐮佹绫诲瀷椤哄簭涓�鑷寸殑瑕佹眰鐨勭紪鐮佽鍒欙紝鍙互杩涘叆涓嬩竴姝ユ瘮杈冭鍒�
- List<CodeRuleVO> codeRuleVOStream = codeRuleVOS.parallelStream().filter(item -> {
- // 瀵笲asicSec浣跨敤orderNum鎺掑簭(鏌ヨ鐨勬椂鍊欏叾瀹炲凡缁忔帓杩囦竴娆″簭浜�)锛屽苟灏唖ecType鐢ㄩ�楀彿鍒嗛殧鎷兼帴鎴愪竴涓瓧绗︿覆
- String itemSecTypes = item.getSecVOList().parallelStream().sorted(Comparator.comparing(CodeBasicSecVO::getOrderNum)).map(CodeBasicSecVO::getSecType).collect(Collectors.joining(","));
- if (secTypes.equals(itemSecTypes)) {
- return true;
- }
- return false;
- }).collect(Collectors.toList());
// 3銆佸悇绫荤爜娈靛垎鍒繘琛屾瘮瀵�
- codeRuleVOStream.parallelStream().filter(item->{
- item.getSecVOList().stream().filter(basicSec->{
- switch (basicSec.getSecType()){
+ List<CodeRuleVO> lastCodeRule = new ArrayList<>();
+ codeRuleVOS.stream().forEach(item->{
+ List<CodeBasicSecVO> secVOList = item.getSecVOList();
+ boolean flag = true;
+ for (int index = 0; index < secVOList.size(); index++) {
+ // 褰撳墠瑕佸彂甯冪殑瑙勫垯鍖呭惈鐨勭爜娈典俊鎭�
+ CodeBasicSecVO releaseBasicSec = releaseCodeRule.getSecVOList().get(index);
+ // 宸插彂甯冪殑瑙勫垯鍖呭惈鐨勭爜娈典俊鎭�
+ CodeBasicSecVO releasedBasicSec = secVOList.get(index);
+ // 鍥犱负鐮佹椤哄簭閮芥槸鎸夌収OrderNum鎺掑簭鐨勶紝鎵�浠ョ洿鎺ユ寜鐓т笅鏍囦袱涓ゆ瘮杈冨氨鍙互浜�
+ switch (releasedBasicSec.getSecType()){
// 灞炴�х爜娈碉紝姣斿灞炴�у拰灞炴�ф墍鍦ㄥ垎绫�(referCodeClassifyOid)
case "codeattrsec":
- List<CodeBasicSecVO> codeattrsec = this.getBasicSecBySecType("codeattrsec", codeRuleVO);
-
+ if(!releasedBasicSec.getReferCodeClassifyOid().equals(releaseBasicSec.getReferCodeClassifyOid())){
+ flag = false;
+ }
break;
// 鍙彉鐮佹锛屾瘮瀵圭爜娈甸暱搴︼紝缂栫爜琛ヤ綅鏂瑰紡鍜岃ˉ浣嶆椂鐨勫瓧绗�
case "codevariablesec":
+ if(!(releasedBasicSec.getCodeSecLength().equals(releaseBasicSec.getCodeSecLength())
+ && releasedBasicSec.getCodeFillType().equals(releaseBasicSec.getCodeFillType())
+ && releasedBasicSec.getCodeFillSeparator().equals(releaseBasicSec.getCodeFillSeparator()))){
+ flag = false;
+ }
break;
// 鍥哄畾鐮佹姣斿鎸夊崌搴忔帓搴忕殑鐮佸�硷紝
case "codefixedsec":
+ if(Func.isNotEmpty(releasedBasicSec.getFixedValueVOList()) && Func.isNotEmpty(releaseBasicSec.getFixedValueVOList())){
+ // 灏唂ixedValue鎸夌収閫楀彿鍒嗛殧鎷兼帴璧锋潵锛屼互渚挎瘮杈冿紝鐢变簬鏌ヨ鏃跺凡鎸夌収orderNum鎺掕繃搴忎簡锛屾墍浠ヤ笉闇�瑕佸啀娆℃帓搴�
+ String reledFixedValues = releasedBasicSec.getFixedValueVOList().stream().map(CodeFixedValueVO::getId).collect(Collectors.joining(","));
+ String releFixedValues = releaseBasicSec.getFixedValueVOList().stream().map(CodeFixedValueVO::getId).collect(Collectors.joining(","));
+ if(reledFixedValues.equals(releFixedValues)){
+ flag = false;
+ }
+ }
break;
// 鍒嗙被鐮佹姣斿鎸夊崌搴忔帓搴忕爜鍊�
case "codeclassifysec":
+ String classifyValueStr = this.iCodeClassifyValueService.getClassifyValueStr(releasedBasicSec.getOid());
+ String classifyValueStr1 = this.iCodeClassifyValueService.getClassifyValueStr(releaseBasicSec.getOid());
+ if(classifyValueStr.equals(classifyValueStr1)){
+ flag = false;
+ }
break;
// 鏃ユ湡鐮佹姣斿鏃ユ湡鏍煎紡
case "codedatesec":
+ if(!releasedBasicSec.getCodeDateFormatStr().equals(releaseBasicSec.getCodeDateFormatStr())){
+ flag = false;
+ }
break;
- // 寮曠敤鐮佹锛屾瘮瀵瑰弬鐓у簲鐢ㄧ殑涓氬姟绫诲瀷
+ // 寮曠敤鐮佹锛屾瘮瀵瑰弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷
case "coderefersec":
+ if(!releasedBasicSec.getReferBtmId().equals(releaseBasicSec.getReferBtmId())){
+ flag = false;
+ }
break;
// 灞傜骇鐮佹锛屾瘮瀵瑰眰绾х被鍨嬨�佸眰绾х殑鍊笺�佸瓧绗︽埅鍙栫被鍨嬨�佸彇鍊肩被鍨�
case "codelevelsec":
+ if(!(releasedBasicSec.getCodeLevelType().equals(releaseBasicSec.getCodeLevelType())
+ && releasedBasicSec.getCodeLevelValue().equals(releaseBasicSec.getCodeLevelValue())
+ && releasedBasicSec.getValueCutType().equals(releaseBasicSec.getValueCutType())
+ && releasedBasicSec.getCodeGetValueType().equals(releaseBasicSec.getCodeGetValueType()))){
+ flag = false;
+ }
break;
- case "codeserialsec":
// 娴佹按鐮佹姣斿鐮佹鐨勯暱搴�
-
+ case "codeserialsec":
+ if(!releasedBasicSec.getCodeFillLength().equals(releaseBasicSec.getCodeFillLength())){
+ flag = false;
+ }
break;
- default:
- return false;
}
- return false;
- });
- return false;
- });
- // 鏈�鍚庡皢缁撴灉杩涜杩斿洖
-
- return null;
- }
-
- private List<CodeBasicSecVO> getBasicSecBySecType(String secType,CodeRuleVO codeRuleVO){
- List<CodeBasicSecVO> codeBasicSecVOList = codeRuleVO.getSecVOList().parallelStream().filter(item -> {
- if (item.getSecType().equals(secType)) {
- return true;
+ if (!flag) {
+ break;
+ }
}
- return false;
- }).collect(Collectors.toList());
- return codeBasicSecVOList;
+ // 婊¤冻鎵�鏈夌爜娈电被鍨嬫瘮瀵规潯浠剁殑瑙勫垯
+ if (flag) {
+ lastCodeRule.add(item);
+ }
+ });
+ StringBuffer resMsg = new StringBuffer();
+ resMsg.append("瀛樺湪濡備笅鐩镐技瑙勫垯锛屾槸鍚︾户缁彂甯冿紵\n");
+ // 鏈�鍚庡皢缁撴灉杩涜澶勭悊骞惰繑鍥�
+ lastCodeRule.stream().forEach(item->{
+ resMsg.append(item.getName());
+ resMsg.append(item.getId());
+ resMsg.append("缂栫爜瑙勫垯;\n");
+ });
+ return R.fail(resMsg.toString());
}
/**
--
Gitblit v1.9.3