From 20ae109f6e2faabc057e70b0dbae13570c1020cd Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 24 十月 2023 08:58:38 +0800 Subject: [PATCH] 修改创建人,最后修改人列存储信息为账号 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java | 125 ++++++++++++++++++++++++++++++----------- 1 files changed, 91 insertions(+), 34 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 6f1dbdf..66505ab 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 @@ -36,13 +36,16 @@ 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; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.LangBaseUtil; import com.vci.ubcs.starter.web.util.VciBaseUtil; +import com.vci.ubcs.system.cache.NacosConfigCache; import org.apache.poi.hssf.util.HSSFColor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -81,9 +84,6 @@ @Resource private IBtmTypeClient btmTypeClient; - - @Value("${user-info.tenant-id}") - private String tenantId; /** * 鏃ュ織 @@ -124,14 +124,30 @@ @Override public IPage<CodeClassifyVO> selectPlCodeClassifyPage(IPage<CodeClassifyVO> page, CodeClassifyVO plCodeClassify) { - return page.setRecords(codeClassifyMapper.selectPlCodeClassifyPage(page, plCodeClassify)); + return page.setRecords(codeClassifyMapper.selectPlCodeClassifyPage(page, plCodeClassify,AuthUtil.getTenantId() + .equals( + NacosConfigCache + .getAdminUserInfo() + .getTenantId() + ) ? null:AuthUtil.getTenantId())); } + /** + * 涓婚搴撳畾涔夎〃 鏂板 + * @param + */ @Override public R addSave(CodeClassify codeClassifyEntity) { - + try { + VciBaseUtil.alertNotNull(codeClassifyEntity.getId(),"涓婚搴撶紪鍙蜂笉鑳戒负绌猴紒",codeClassifyEntity.getName(),"涓婚搴撳悕绉颁笉鑳戒负绌猴紒"); + }catch (VciBaseException e){ + return R.fail(e.getMessage()); + } if(StringUtils.isNotBlank(codeClassifyEntity.getParentCodeClassifyOid()) && StringUtils.isNotBlank(codeClassifyEntity.getBtmTypeId())){ return R.fail("鍙湁鍦ㄩ《灞傜殑涓婚搴撳垎绫绘墠鑳借缃笟鍔$被鍨�"); + } + if(StringUtils.isEmpty(codeClassifyEntity.getParentCodeClassifyOid()) && StringUtils.isBlank(codeClassifyEntity.getBtmTypeId())){ + return R.fail("涓婚搴撳叧鑱旂殑涓氬姟绫诲瀷涓嶈兘涓虹┖锛�"); } QueryWrapper<CodeClassify> classifyQueryWrapper = new QueryWrapper<>(); classifyQueryWrapper.eq("parentCodeClassifyOid",codeClassifyEntity.getParentCodeClassifyOid()); @@ -145,14 +161,8 @@ codeClassifyEntity.setBtmTypeId(codeClassify.getBtmTypeId()); codeClassifyEntity.setBtmTypeName(codeClassify.getBtmTypeName()); } - 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); + DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyEntity, MdmBtmTypeConstant.CODE_CLASSIFY); + codeClassifyEntity.setLcStatus(FRAMEWORK_DATA_ENABLED); int insertNumber = codeClassifyMapper.insert(codeClassifyEntity); return R.status(SqlHelper.retBool(insertNumber)); } @@ -176,7 +186,8 @@ if(StringUtils.isNotBlank(codeClassifyEntity.getParentCodeClassifyOid()) && StringUtils.isNotBlank(codeClassifyEntity.getBtmTypeId())){ return R.fail("鍙湁鍦ㄩ《灞傜殑涓婚搴撳垎绫绘墠鑳借缃笟鍔$被鍨�"); } - codeClassifyEntity.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); + // codeClassifyEntity.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); + codeClassifyEntity.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount())); codeClassifyEntity.setLastModifyTime(new Date()); codeClassifyEntity.setTs(new Date()); int insertNumber = codeClassifyMapper.updateById(codeClassifyEntity); @@ -236,11 +247,13 @@ // .selectOne(Condition.getQueryWrapper(condition,CodeClassify.class)); if(detail == null){//涓嶆槸鏈�鏂扮殑涓嶈鏀� throw new ServiceException("褰撳墠鏁版嵁涓嶆槸鏈�鏂帮紝璇峰埛鏂板悗鍐嶄慨鏀癸紒"); -// return R.fail("褰撳墠鏁版嵁涓嶆槸鏈�鏂帮紝璇峰埛鏂板悗鍐嶄慨鏀癸紒"); } //鏍¢獙涓嬬骇鏄惁鏈夊紩鐢� if(checkChildIsLinked(detail.getOid())){ return R.fail("dataCascadeLinkedNotDelete"); + } + if(checkHasChild(detail.getOid())){ + return R.fail("姝ゆ暟鎹湁涓嬬骇锛屾棤娉曡繘琛屽垹闄わ紒"); } return R.status(!checkHasChild(detail.getOid())); } @@ -359,20 +372,33 @@ @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()); + String account = AuthUtil.getUserAccount(); + classifyList = classifyList.stream().map(s -> { + s.setLcStatus(lcStatus); + s.setTs(now); + s.setLastModifier(account); + 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(""); } /** @@ -497,9 +523,19 @@ } if(StringUtils.isNotBlank(id) || StringUtils.isNotBlank(lcStatus) ){ doList = codeClassifyMapper - .selectCodeClassifyDOByTree(treeQueryObject.getConditionMap().get("id"),treeQueryObject.getConditionMap().get("lcStatus"),treeQueryObject.getParentOid(), AuthUtil.getTenantId().equals(this.tenantId) ? "":AuthUtil.getTenantId()); + .selectCodeClassifyDOByTree(treeQueryObject.getConditionMap().get("id"),treeQueryObject.getConditionMap().get("lcStatus"),treeQueryObject.getParentOid(), AuthUtil.getTenantId() + .equals( + NacosConfigCache + .getAdminUserInfo() + .getTenantId() + ) ? null:AuthUtil.getTenantId()); }else{ - doList =codeClassifyMapper.selectCodeClassifyVOByTree(treeQueryObject.getParentOid(), AuthUtil.getTenantId().equals(this.tenantId) ? "":AuthUtil.getTenantId()); + doList =codeClassifyMapper.selectCodeClassifyVOByTree(treeQueryObject.getParentOid(), AuthUtil.getTenantId() + .equals( + NacosConfigCache + .getAdminUserInfo() + .getTenantId() + ) ? null:AuthUtil.getTenantId()); } List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList); TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME); @@ -558,11 +594,27 @@ if(StringUtils.isNotBlank(libName)){ libNameList=VciBaseUtil.str2List(libName); } - List<CodeClassify> doList =codeClassifyMapper.getRMLibByName(libNameList,"Enabled",AuthUtil.getTenantId()); + List<CodeClassify> doList =codeClassifyMapper.getRMLibByName(libNameList,"Enabled",AuthUtil.getTenantId() + .equals( + NacosConfigCache + .getAdminUserInfo() + .getTenantId() + ) ? null:AuthUtil.getTenantId()); List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList); return voList; } + /*** + * 鏍规嵁oid鑾峰彇涓嬮潰鎵�鏈夌殑鍒嗙被淇℃伅 + * @param oid + * @return + */ + public List<CodeClassifyVO> selectAllClassifyByOid(String oid){ + List<CodeClassify> codeClassifyList=codeClassifyMapper.selectAllClassifyByOid(oid,AuthUtil.getTenantId()); + List<CodeClassifyVO> voList = codeClassifyDO2VOs(codeClassifyList); + return voList; + + } /*** * 鏍规嵁鍒嗙被鎻忚堪澶囨敞鍜屽簱鑺傜偣鏌ヨ鍒嗙被淇℃伅 * @param desc @@ -658,8 +710,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))); }); } @@ -692,6 +744,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())); @@ -726,7 +779,8 @@ if(allLevel){ List<CodeClassify> classifyDOS = codeClassifyMapper.selectAllLevelChildHasPath(codeClassifyOid,fieldInPath); if(!CollectionUtils.isEmpty(classifyDOS)){ - classifyDOS = classifyDOS.stream().filter(s->FRAMEWORK_DATA_ENABLED.equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList()); + // 杩欏効鐢╯tream鏈夌偣鎱� + classifyDOS = classifyDOS.parallelStream().filter(s->FRAMEWORK_DATA_ENABLED.equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList()); } return codeClassifyDO2VOs(classifyDOS); }else{ @@ -827,7 +881,7 @@ s -> StringUtils.isNotBlank(s.getCodeRuleId())) .map(CodeClassifyPO::getCodeRuleId) .collect(Collectors.toList()); - Map<String, CodeRuleVO> ruleVOMap = Optional.ofNullable(ruleOids.size()==0 ? null:codeRuleService.listCodeRuleByOids(ruleOids) + Map<String, CodeRuleVO> ruleVOMap = Optional.ofNullable(ruleOids.size()==0 ? null:codeRuleService.listCodeRuleByIds(ruleOids,true) ).orElse(new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t,(o1,o2)->o2)); List<String> keyOids = poList.stream().filter(s -> StringUtils.isNotBlank(s.getKeyRepeatRuleId())) @@ -835,7 +889,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()) @@ -963,8 +1017,10 @@ classifyDO.setBtmname("codeclassify"); classifyDO.setLcStatus("Enabled"); classifyDO.setOwner(String.valueOf(AuthUtil.getUser().getUserId())); - classifyDO.setCreator(String.valueOf(AuthUtil.getUser().getUserId())); - classifyDO.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); + // classifyDO.setCreator(String.valueOf(AuthUtil.getUser().getUserId())); + // classifyDO.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); + classifyDO.setCreator(String.valueOf(AuthUtil.getUser().getAccount())); + classifyDO.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount())); classifyDO.setLastModifyTime(new Date()); codeClassifyMapper.insert(classifyDO); } @@ -1106,7 +1162,8 @@ List<Map<String,Object>> cbos = codeClassifyMapper.selectAllLevelParentByOid(oid); Map<String,String> oidLevelMap = new HashMap<>(); Optional.ofNullable(cbos).orElseGet(()->new ArrayList<>()).stream().forEach(cbo->{ - oidLevelMap.put(cbo.get("OID").toString(),cbo.get("LEVEL").toString()); + // 鐢╧ey鍙杕ap鍊煎苟涓斾笉鍖哄垎澶у皬鍐� + oidLevelMap.put(cbo.getOrDefault("OID",cbo.get("oid")).toString(),cbo.get("LEVEL").toString()); }); if(CollectionUtils.isEmpty(oidLevelMap)){ return new ArrayList<>(); -- Gitblit v1.9.3