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 | 124 +++++++++++++++++++++++++++++++++++++---- 1 files changed, 112 insertions(+), 12 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 55478c2..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,38 +2,42 @@ 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.CodeSecTypeEnum; +import com.vci.ubcs.code.enumpack.*; import com.vci.ubcs.code.lifecycle.CodeRuleLC; import com.vci.ubcs.code.mapper.CodeBasicSecMapper; import com.vci.ubcs.code.mapper.CodeClassifyValueMapper; 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.com.vci.starter.exception.VciBaseException; -import com.vci.ubcs.com.vci.starter.revision.service.RevisionModelUtil; -import com.vci.ubcs.com.vci.starter.web.enumpck.OsCodeFillTypeEnum; -import com.vci.ubcs.com.vci.starter.web.pagemodel.KeyValue; -import com.vci.ubcs.com.vci.starter.web.pagemodel.UIFormReferVO; -import com.vci.ubcs.com.vci.starter.web.util.BeanUtilForVCI; -import com.vci.ubcs.com.vci.starter.web.util.VciBaseUtil; -import com.vci.ubcs.com.vci.starter.web.util.WebUtil; +import com.vci.ubcs.starter.exception.VciBaseException; +import com.vci.ubcs.starter.revision.service.RevisionModelUtil; +import com.vci.ubcs.starter.web.enumpck.OsCodeFillTypeEnum; +import com.vci.ubcs.starter.web.pagemodel.KeyValue; +import com.vci.ubcs.starter.web.pagemodel.UIFormReferVO; +import com.vci.ubcs.starter.web.util.BeanUtilForVCI; +import com.vci.ubcs.starter.web.util.VciBaseUtil; +import com.vci.ubcs.starter.web.util.WebUtil; import com.vci.ubcs.system.entity.DictBiz; import com.vci.ubcs.system.feign.IDictBizClient; +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; @@ -81,6 +85,12 @@ @Resource private IDictBizClient iDictBizClient; + + /** + * 鍥哄畾鐮佹鐨勭爜鍊肩殑鏈嶅姟 + */ + @Resource + private ICodeFixedValueService fixedValueService; /** * 涓婂眰鍒嗙被鐮佹鐨勫睘鎬у悕绉� @@ -160,8 +170,8 @@ */ @Override public KeyValue checkAttrNullableBySecType(CodeBasicSecDTO codeBasicSecDTO) { - VciBaseUtil.alertNotNull(codeBasicSecDTO.getSectype(), "鐮佹鍒嗙被"); - String secType = codeBasicSecDTO.getSectype(); + VciBaseUtil.alertNotNull(codeBasicSecDTO.getSecType(), "鐮佹鍒嗙被"); + String secType = codeBasicSecDTO.getSecType(); HashMap<String, String> attrMap = JSONObject.parseObject(JSONObject.toJSONString(codeBasicSecDTO), HashMap.class); Map<String, String> notNullableAttr = getNotNullableAttr(secType); if (notNullableAttr == null) { @@ -204,6 +214,22 @@ //灏咲TO杞崲涓篋O CodeBasicSec codeBasicSecDO = new CodeBasicSec(); BeanUtilForVCI.copyPropertiesIgnoreCase(codeBasicSecDTO, codeBasicSecDO); + //text杞崲 + codeBasicSecDO.setSecTypeText(CodeSecTypeEnum.getTextByValue(codeBasicSecDTO.getSecType())); + codeBasicSecDO.setCodeLevelTypeText(CodeLevelTypeEnum.getTextByValue(codeBasicSecDTO.getCodeLevelType())); + codeBasicSecDO.setCodeSecLengthTypeText(CodeSecLengthTypeEnum.getTextByValue(codeBasicSecDTO.getCodeSecLengthType())); + 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()); //鎺掑簭鍙凤紝榛樿绛変簬褰撳墠宸叉湁鐨勬暟閲忓姞1 Long total = codeBasicSecMapper.selectCount(Wrappers.<CodeBasicSec>query() .lambda() @@ -288,6 +314,7 @@ resBoolean = codeBasicSecMapper.updateById(codeBasicSecDO)>0; //SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo(); if(StringUtils.isNotBlank(codeBasicSecDO.getCodeFillSeparator())){ + //杩欏効鐩墠闇�瑕佹敼 2023/4/24 DictBiz dictBiz = new DictBiz(); dictBiz.setCode(MdmBtmTypeConstant.CODE_BASIC_SEC); dictBiz.setDictKey("codefileseparator"); @@ -655,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