From 9d96f11fb1de77d1ad4fb0be04a10ae8eb7f46c9 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期五, 04 八月 2023 17:52:08 +0800 Subject: [PATCH] 提交代码 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java | 120 +++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 98 insertions(+), 22 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java index 59e2b3a..e2a1347 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; 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.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; @@ -35,7 +36,9 @@ import com.vci.ubcs.starter.revision.model.TreeWrapperOptions; import com.vci.ubcs.starter.revision.service.RevisionModelUtil; import com.vci.ubcs.starter.util.BladeTreeQueryObject; +import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; import com.vci.ubcs.starter.util.LocalFileUtil; +import com.vci.ubcs.starter.util.MdmBtmTypeConstant; import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.pagemodel.Tree; @@ -126,20 +129,29 @@ return page.setRecords(codeClassifyMapper.selectPlCodeClassifyPage(page, plCodeClassify)); } + /** + * 涓婚搴撳畾涔夎〃 鏂板 + * @param + */ @Override public R addSave(CodeClassify codeClassifyEntity) { - if(StringUtils.isNotBlank(codeClassifyEntity.getParentCodeClassifyOid()) && StringUtils.isNotBlank(codeClassifyEntity.getBtmTypeId())){ return R.fail("鍙湁鍦ㄩ《灞傜殑涓婚搴撳垎绫绘墠鑳借缃笟鍔$被鍨�"); } - codeClassifyEntity.setCreator(String.valueOf(AuthUtil.getUser().getUserId())); - codeClassifyEntity.setCreateTime(new Date()); - codeClassifyEntity.setTs(new Date()); - codeClassifyEntity.setOwner(String.valueOf(AuthUtil.getUser().getUserId())); - codeClassifyEntity.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); - codeClassifyEntity.setLastModifyTime(new Date()); - codeClassifyEntity.setRevisionSeq(1); - codeClassifyEntity.setVersionSeq(1); + QueryWrapper<CodeClassify> classifyQueryWrapper = new QueryWrapper<>(); + classifyQueryWrapper.eq("parentCodeClassifyOid",codeClassifyEntity.getParentCodeClassifyOid()); + classifyQueryWrapper.eq("id",codeClassifyEntity.getId()); + List<CodeClassify> codeClassifyList = baseMapper.selectList(classifyQueryWrapper); + if(codeClassifyList.size()!=0){ + return R.fail("褰撳墠鍒嗙被涓嬩笉鍏佽鍒嗙被缂栧彿閲嶅锛岃妫�鏌ワ紒锛侊紒"); + } + if(Func.isNotEmpty(codeClassifyEntity.getParentCodeClassifyOid())){ + CodeClassify codeClassify = baseMapper.selectOne(Wrappers.<CodeClassify>query().lambda().eq(CodeClassify::getOid, codeClassifyEntity.getParentCodeClassifyOid())); + codeClassifyEntity.setBtmTypeId(codeClassify.getBtmTypeId()); + codeClassifyEntity.setBtmTypeName(codeClassify.getBtmTypeName()); + } + DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyEntity, MdmBtmTypeConstant.CODE_CLASSIFY); + codeClassifyEntity.setLcStatus(FRAMEWORK_DATA_ENABLED); int insertNumber = codeClassifyMapper.insert(codeClassifyEntity); return R.status(SqlHelper.retBool(insertNumber)); } @@ -229,7 +241,7 @@ if(checkChildIsLinked(detail.getOid())){ return R.fail("dataCascadeLinkedNotDelete"); } - return R.data(checkHasChild(detail.getOid())); + return R.status(!checkHasChild(detail.getOid())); } /** @@ -285,7 +297,7 @@ R result = checkIsCanDeleteForDO(codeClassify); - //鍏堢畝绉版槸鍚︽湁鍏宠仈妯℃澘锛屾湁妯℃澘瑕佸厛鍒犻櫎 + //鍏堟鏌ユ槸鍚︽湁鍏宠仈妯℃澘锛屾湁妯℃澘瑕佸厛鍒犻櫎 Map<String,Object> condition = new HashMap<>(2); condition.put("codeClassifyOid",codeClassify.getOid()); List<CodeClassifyTemplate> codeClstemplateEntities = codeClassifyTemplateMapper.selectByMap(condition); @@ -346,20 +358,32 @@ @Override public R updateLcStatus(String oid, String lcStatus){ - //鏌ヨ淇敼鍓峵s - CodeClassify codeClassify = codeClassifyMapper.selectById(oid);//涓昏鏄负浜嗘煡璇s - codeClassify.setLcStatus(lcStatus); - codeClassify.setTs(new Date()); - codeClassify.setLastModifyTime(new Date()); - codeClassify.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); + List<CodeClassify> classifyList = codeClassifyMapper.selectStartWithCurrentOid(oid); + Date now = new Date(); + String userId = String.valueOf(AuthUtil.getUserId()); + classifyList = classifyList.stream().map(s -> { + s.setLcStatus(lcStatus); + s.setTs(now); + s.setLastModifier(userId); + s.setLastModifyTime(now); + return s; + }).collect(Collectors.toList()); +// //鏌ヨ淇敼鍓峵s +// CodeClassify codeClassify = codeClassifyMapper.selectById(oid);//涓昏鏄负浜嗘煡璇s +// codeClassify.setLcStatus(lcStatus); +// codeClassify.setTs(new Date()); +// codeClassify.setLastModifyTime(new Date()); +// codeClassify.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); //鍚敤銆佸仠鐢� // int u = codeClassifyMapper.updateLcStatus(oid,lcStatus); - int count = codeClassifyMapper.updateById(codeClassify); +// int count = codeClassifyMapper.updateById(codeClassify); + codeClassifyMapper.batchUpdateLcStatus(classifyList); // //澶勭悊鏁版嵁闆嗘垚閫昏緫,鎴愬姛鍚庢墽琛岄泦鎴愮涓�姝�,鍒嗙被鏁版嵁鐗规畩澶勭悊銆� // if(u!=0) { // codeDuckingServiceI.insertCache1(lcStatus,lcStatus,DOCKING_DEFAULT_CLASSIFY, DOCKING_DEFAULT_CLASSIFYOID, oid, codeClassifyDO_old.getTs()); // } - return R.data(SqlHelper.retBool(count)); +// return R.data(SqlHelper.retBool(count)); + return R.success(""); } /** @@ -521,6 +545,57 @@ List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList); return voList; } + + /*** + * + * @param parentOid + * @return + */ + @Override + public List<CodeClassifyVO> selectCodeClassifyVOByParentId(String parentOid) { + List<CodeClassify> doList =codeClassifyMapper.selectCodeClassifyDOByParentId(parentOid,AuthUtil.getTenantId()); + List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList); + return voList; + } + + /** + * 鏍规嵁搴撹妭鐐瑰悕绉拌幏鍙栧垎绫� + * @param libName + * @return + */ + @Override + public List<CodeClassifyVO> getRMLibByName(String libName) { + List<String> libNameList=new ArrayList<>(); + if(StringUtils.isNotBlank(libName)){ + libNameList=VciBaseUtil.str2List(libName); + } + List<CodeClassify> doList =codeClassifyMapper.getRMLibByName(libNameList,"Enabled",AuthUtil.getTenantId()); + List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList); + return voList; + } + + /*** + * 鏍规嵁鍒嗙被鎻忚堪澶囨敞鍜屽簱鑺傜偣鏌ヨ鍒嗙被淇℃伅 + * @param desc + * @param codeLibName + * @return + */ + @Override + public List<CodeClassifyVO> getRMTypeByDescAndLib(String desc, String codeLibName) { + List<CodeClassify> doList =codeClassifyMapper.getRMTypeByDesc(desc,"Enabled",AuthUtil.getTenantId()); + if (CollectionUtils.isEmpty(doList)) { + return new LinkedList<CodeClassifyVO>(); + } + CodeClassify codeClassify=doList.get(0); + List<CodeClassify> codeClassifyList=codeClassifyMapper.selectAllParenClassifytByOid(codeClassify.getOid(),AuthUtil.getTenantId()); + CodeClassify currentLib = codeClassifyList.get(codeClassifyList.size() - 1); + if (!currentLib.getName().equals(codeLibName)) { + return new ArrayList<>(); + } + List<CodeClassifyVO> voList = codeClassifyDO2VOs(codeClassifyList); + return voList; + } + /** * 浣跨敤缂栧彿鐨勮矾寰勮幏鍙栧璞� * @@ -594,8 +669,8 @@ Map<String, CodeRuleVO> ruleVOMap = new HashMap<>(); if(!CollectionUtils.isEmpty(codeRuleOids)){ VciBaseUtil.switchCollectionForOracleIn(codeRuleOids).stream().forEach(ruleOids->{ -// Collection<CodeRuleVO> ruleVOS = codeRuleService.listCodeRuleByOids(ruleOids); - Collection<CodeRuleVO> ruleVOS = null; + Collection<CodeRuleVO> ruleVOS = codeRuleService.listCodeRuleByOids(ruleOids); + // Collection<CodeRuleVO> ruleVOS = null; ruleVOMap.putAll( Optional.ofNullable(ruleVOS).orElseGet(()->new ArrayList<>()).stream().collect(Collectors.toMap(s->s.getOid(),t->t))); }); } @@ -628,6 +703,7 @@ excelDataList.add(new WriteExcelData(0,9,"鐘舵��")); excelDataList.add(new WriteExcelData(0,10,"鍒嗙被灞傜骇")); excelDataList.add(new WriteExcelData(0,11,"鎻忚堪")); + codeClassifyVOS = codeClassifyVOS.stream().sorted(Comparator.comparing(CodeClassifyVO::getDataLevel)).collect(Collectors.toList()); for (int i = 0; i < codeClassifyVOS.size(); i++) { CodeClassifyVO vo = codeClassifyVOS.get(i); excelDataList.add(new WriteExcelData(i+1,0,vo.getId())); @@ -771,7 +847,7 @@ Map<String,CodeKeyAttrRepeatRuleVO> keyRuleVOMap =Optional.ofNullable(keyOids.size()==0 ? null: iCodeKeyattrrepeatService.listCodeKeyAttrRepeatRuleByOids(keyOids) ).orElse(new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t,(o1,o2)->o2)); - List<String> btmOids = poList.stream().filter(s -> StringUtils.isNotBlank(s.getKeyRepeatRuleId())) + List<String> btmOids = poList.stream().filter(s -> StringUtils.isNotBlank(s.getBtmTypeId())) .map(CodeClassifyPO::getBtmTypeId).collect(Collectors.toList()); Map<String, BtmTypeVO> btmVOMap = Optional .ofNullable(btmOids.size()==0 ? null: btmTypeClient.selectByIdCollection(btmOids).getData()) -- Gitblit v1.9.3