From a6e6575bc3d668e14009ed0e931a376f1a4d86ff Mon Sep 17 00:00:00 2001 From: yuxc <653031404@qq.com> Date: 星期六, 06 五月 2023 18:59:29 +0800 Subject: [PATCH] 编码管理代码上传 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java | 104 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 88 insertions(+), 16 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java index cab8c88..fef2e76 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java @@ -2,13 +2,13 @@ import com.alibaba.cloud.commons.lang.StringUtils; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vci.ubcs.code.constant.MdmBtmTypeConstant; import com.vci.ubcs.code.dto.CodeBasicSecDTO; import com.vci.ubcs.code.entity.CodeBasicSec; -import com.vci.ubcs.code.entity.CodeClassify; import com.vci.ubcs.code.entity.CodeClassifyValue; import com.vci.ubcs.code.entity.CodeFixedValue; import com.vci.ubcs.code.enumpack.*; @@ -18,8 +18,10 @@ import com.vci.ubcs.code.mapper.CodeFixedValueMapper; import com.vci.ubcs.code.service.ICodeBasicSecService; import com.vci.ubcs.code.service.ICodeClassifyValueService; +import com.vci.ubcs.code.service.ICodeFixedValueService; import com.vci.ubcs.code.service.ICodeRuleService; import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO; +import com.vci.ubcs.code.vo.pagemodel.CodeFixedValueVO; import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; import com.vci.ubcs.code.wrapper.CodeBasicSecWrapper; import com.vci.ubcs.starter.exception.VciBaseException; @@ -35,6 +37,7 @@ import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -84,6 +87,12 @@ private IDictBizClient iDictBizClient; /** + * 鍥哄畾鐮佹鐨勭爜鍊肩殑鏈嶅姟 + */ + @Resource + private ICodeFixedValueService fixedValueService; + + /** * 涓婂眰鍒嗙被鐮佹鐨勫睘鎬у悕绉� */ private static final String PARENT_FIELD_NAME = "parentclassifysecoid"; @@ -124,12 +133,8 @@ if (CollectionUtils.isEmpty(deleteList)){ return true; } - boolean deletFlag = false; // 2銆佸啀鍒犻櫎鍩虹鐮佹 - Set<String> basicOids = deleteList.stream().map(CodeBasicSec::getOid).collect(Collectors.toSet()); - if(basicOids.size()>0 || !Func.isEmpty(basicOids)){ - deletFlag = codeBasicSecMapper.deleteBatchIds(basicOids) > 0; - } + boolean deletFlag = codeBasicSecMapper.deleteBatchIds(deleteList.stream().map(CodeBasicSec::getOid).collect(Collectors.toSet())) > 0; // 3銆佸啀鏍规嵁鍒犻櫎鍥哄畾鐮佹锛屼笡鏌ヨ鍑烘潵鐨勫熀纭�鐮佹涓繃婊ゅ嚭鍖呭惈鍥哄畾鐮佹鐨勮褰� List<CodeBasicSec> fixedSecList = deleteList.stream().filter(sec -> { return CodeSecTypeEnum.CODE_FIXED_SEC.getValue().equals(sec.getSecType()); @@ -139,11 +144,8 @@ Set<String> fixedSecOidSet = fixedSecList.stream().map(CodeBasicSec::getOid).collect(Collectors.toSet()); // 閫氳繃澶栭敭杩涜鏌ヨ List<CodeFixedValue> fixedValueS = fixedValueMapper.selectList(Wrappers.<CodeFixedValue>query().lambda().in(CodeFixedValue::getCodeFixedSecOid,fixedSecOidSet)); - Set<String> collectOid = fixedValueS.stream().map(CodeFixedValue::getOid).collect(Collectors.toSet()); - if(collectOid.size()>0 || !Func.isEmpty(collectOid)){ - // 鏍规嵁鏌ヨ鍑烘潵鐨刬d鎵ц鍥哄畾鐮佹鎵ц鍒犻櫎 - fixedValueMapper.deleteBatchIds(collectOid); - } + // 鏍规嵁鏌ヨ鍑烘潵鐨刬d鎵ц鍥哄畾鐮佹鎵ц鍒犻櫎 + deletFlag = fixedValueMapper.deleteBatchIds(fixedValueS.stream().map(CodeFixedValue::getOid).collect(Collectors.toSet()))>0; } // 4銆佸啀鍒犻櫎鍒嗙被鐮佹 List<CodeBasicSec> classifySecList = deleteList.stream().filter(sec -> { @@ -153,12 +155,9 @@ // 灏嗚浣滀负鍒犻櫎鏉′欢鐨勫�兼斁鍦ㄤ竴涓泦鍚堥噷闈� Set<String> classifySecOidSet = classifySecList.stream().map(CodeBasicSec::getOid).collect(Collectors.toSet()); // 閫氳繃澶栭敭杩涜鏌ヨ - List<CodeClassifyValue> classifyValues = codeClassifyValueMapper.selectList(Wrappers.<CodeClassifyValue>query().lambda().in(CodeClassifyValue::getCodeClassifySecOid,classifySecOidSet)); + List<CodeClassifyValue> fixedValueS = codeClassifyValueMapper.selectList(Wrappers.<CodeClassifyValue>query().lambda().in(CodeClassifyValue::getCodeClassifySecOid,classifySecOidSet)); // 鏍规嵁鏌ヨ鍑烘潵鐨勪富閿甶d鎵ц鍥哄畾鐮佹鎵ц鍒犻櫎 - Set<String> codeclassifyOids = classifyValues.stream().map(CodeClassifyValue::getOid).collect(Collectors.toSet()); - if(codeclassifyOids.size()>0 || !Func.isEmpty(codeclassifyOids)){ - fixedValueMapper.deleteBatchIds(codeclassifyOids); - } + deletFlag = fixedValueMapper.deleteBatchIds(fixedValueS.stream().map(CodeClassifyValue::getOid).collect(Collectors.toSet()))>0; } return deletFlag; } @@ -683,4 +682,77 @@ return codeBasicSecDO; } + + /** + * 浣跨敤瑙勫垯鐨勪富閿幏鍙栧搴旂殑鐮佹鍐呭 + * + * @param ruleOid 瑙勫垯鐨勫唴瀹� + * @return 鐮佹鐨勫唴瀹� + */ + @Override + public List<CodeBasicSecVO> listCodeBasicSecByRuleOid(String ruleOid) { + if(StringUtils.isBlank(ruleOid)){ + return new ArrayList<>(); + } + Map<String,String> conditionMap = new HashMap<>(); + conditionMap.put("pkCodeRule",ruleOid); +// PageHelper pageHelper = new PageHelper(-1); +// pageHelper.addDefaultAsc("ordernum"); + QueryWrapper<CodeBasicSec> wrapper = new QueryWrapper<>(); + wrapper.orderByAsc("ordernum"); + List<CodeBasicSec> secDOList = codeBasicSecMapper.selectList(wrapper);//.selectByCondition(conditionMap, pageHelper); + return codeBasicSecDO2VOs(secDOList,true); + } + + /** + * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� + * + * @param codeBasicSecDOs 鏁版嵁瀵硅薄鍒楄〃 + * @param hasFixedValue 鏄惁鏈夊浐瀹氬�� + * @return 鏄剧ず瀵硅薄 + * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呬笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父 + */ + @Override + public List<CodeBasicSecVO> codeBasicSecDO2VOs(Collection<CodeBasicSec> codeBasicSecDOs, boolean hasFixedValue) throws VciBaseException { + List<CodeBasicSecVO> voList = new ArrayList<CodeBasicSecVO>(); + if (!CollectionUtils.isEmpty(codeBasicSecDOs)) { + for (CodeBasicSec s : codeBasicSecDOs) { + CodeBasicSecVO vo = codeBasicSecDO2VO(s); + if (vo != null) { + voList.add(vo); + } + } + } + if(hasFixedValue && !CollectionUtils.isEmpty(voList)){ + List<CodeBasicSecVO> fixedSecVOList = voList.stream().filter(s -> CodeSecTypeEnum.CODE_FIXED_SEC.getValue().equalsIgnoreCase(s.getSecType())).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(fixedSecVOList)){ + //鏌ヨ鍥哄畾鐮佺殑鐮佸�� + Map<String, List<CodeFixedValueVO>> secValueMap = fixedValueService.listCodeFixedValueBySecOids(fixedSecVOList.stream().map(CodeBasicSecVO::getOid).collect(Collectors.toList())); + voList.stream().forEach(vo->{ + vo.setFixedValueVOList(secValueMap.getOrDefault(vo.getOid(),null)); + }); + } + } + return voList; + } + + /** + * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� + * + * @param codeBasicSecDO 鏁版嵁瀵硅薄 + * @return 鏄剧ず瀵硅薄 + * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 + */ + @Override + public CodeBasicSecVO codeBasicSecDO2VO(CodeBasicSec codeBasicSecDO) throws VciBaseException { + CodeBasicSecVO vo = new CodeBasicSecVO(); + if (codeBasicSecDO != null) { + BeanUtilForVCI.copyPropertiesIgnoreCase(codeBasicSecDO, vo); + //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽 + if (true) { + //vo.setLcStatusText({lcStatusFullClassName}.getTextByValue(vo.getLcStatus())); + } + } + return vo; + } } -- Gitblit v1.9.3