From 4b9193e6ce1df7bae67b2a1ae006bc6989338545 Mon Sep 17 00:00:00 2001 From: yuxc <653031404@qq.com> Date: 星期二, 23 五月 2023 17:58:59 +0800 Subject: [PATCH] 克隆上传 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java | 117 +++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 91 insertions(+), 26 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..ed02a92 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,12 +18,15 @@ 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; import com.vci.ubcs.starter.revision.service.RevisionModelUtil; +import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; import com.vci.ubcs.starter.web.enumpck.OsCodeFillTypeEnum; import com.vci.ubcs.starter.web.pagemodel.KeyValue; import com.vci.ubcs.starter.web.pagemodel.UIFormReferVO; @@ -35,6 +38,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 +88,12 @@ private IDictBizClient iDictBizClient; /** + * 鍥哄畾鐮佹鐨勭爜鍊肩殑鏈嶅姟 + */ + @Resource + private ICodeFixedValueService fixedValueService; + + /** * 涓婂眰鍒嗙被鐮佹鐨勫睘鎬у悕绉� */ private static final String PARENT_FIELD_NAME = "parentclassifysecoid"; @@ -124,12 +134,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 +145,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 +156,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; } @@ -211,7 +211,6 @@ if (! "success".equals(attrKv.getKey())){ throw new VciBaseException(attrKv.getValue() + "涓嶈兘涓虹┖"); } - //灏咲TO杞崲涓篋O CodeBasicSec codeBasicSecDO = new CodeBasicSec(); BeanUtilForVCI.copyPropertiesIgnoreCase(codeBasicSecDTO, codeBasicSecDO); @@ -222,15 +221,7 @@ codeBasicSecDO.setValueCutTypeText(CodeCutTypeEnum.getValueByText(codeBasicSecDTO.getValueCutType())); codeBasicSecDO.setCodeGetValueTypeText(CodeGetValueTypeEnum.getValueByText(codeBasicSecDTO.getCodeGetValueType())); //濉厖涓�浜涢粯璁ゅ�� - codeBasicSecDO.setOid(VciBaseUtil.getPk()); - codeBasicSecDO.setRevisionOid(VciBaseUtil.getPk()); - codeBasicSecDO.setNameOid(VciBaseUtil.getPk()); - codeBasicSecDO.setBtmname(MdmBtmTypeConstant.CODE_BASIC_SEC); - codeBasicSecDO.setTs(new Date()); - codeBasicSecDO.setCreateTime(new Date()); - codeBasicSecDO.setCreator(AuthUtil.getUserId().toString()); - codeBasicSecDO.setLastModifier(AuthUtil.getUserId().toString()); - codeBasicSecDO.setLastModifyTime(new Date()); + DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeBasicSecDO,MdmBtmTypeConstant.CODE_BASIC_SEC); //鎺掑簭鍙凤紝榛樿绛変簬褰撳墠宸叉湁鐨勬暟閲忓姞1 Long total = codeBasicSecMapper.selectCount(Wrappers.<CodeBasicSec>query() .lambda() @@ -288,6 +279,7 @@ } //灏咲TO杞崲涓篋O CodeBasicSec codeBasicSecDO = selectByOid(codeBasicSecDTO.getOid()); + DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeBasicSecDO); boolean status = codeRuleService.checkEditDelStatus(codeRuleService.getObjectByOid(codeBasicSecDO.getPkCodeRule()).getLcStatus()); boolean resBoolean; if (!status){ @@ -683,4 +675,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