From e61a898fe563214cb13e97c08804534a61aad46b Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 07 十一月 2023 17:32:40 +0800 Subject: [PATCH] 主数据管理按钮返回缓存问题修改 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java | 92 ++++++++++++++++++++++++++++----------------- 1 files changed, 57 insertions(+), 35 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java index 998564e..a33819e 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java @@ -16,7 +16,6 @@ */ package com.vci.ubcs.code.service.impl; -import com.alibaba.nacos.api.utils.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -32,6 +31,9 @@ import com.vci.ubcs.code.service.ICodeClstemplateService; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; +import com.vci.ubcs.common.constant.CommonConstant; +import com.vci.ubcs.flow.core.entity.ProcessTemplate; +import com.vci.ubcs.flow.core.feign.IFlowClient; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.revision.model.TreeWrapperOptions; @@ -41,6 +43,7 @@ import com.vci.ubcs.starter.web.pagemodel.Tree; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; +import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.secure.utils.AuthUtil; @@ -106,6 +109,8 @@ private CodeClassifyTemplateMapper codeClassifyTemplateMapper; @Autowired(required = false) private CodePhaseAttrServiceImpl codePhaseattrServiceImpl; + @Autowired(required = false) + private IFlowClient iFlowClient; @Override public IPage<CodeClassifyTemplateVO> selectPlCodeClstemplatePage(IPage<CodeClassifyTemplateVO> page, CodeClassifyTemplateVO plCodeClstemplate) { @@ -503,13 +508,15 @@ codeCls_template_insert.setNameOid(codeCls_template.getNameOid()); codeCls_template_insert.setBtmname(codeCls_template.getBtmname()); codeCls_template_insert.setLastR(String.valueOf(1)); - codeCls_template_insert.setFirstR(String.valueOf(1)); + codeCls_template_insert.setFirstR(String.valueOf(0)); codeCls_template_insert.setFirstV(String.valueOf(1)); codeCls_template_insert.setLastV(String.valueOf(1)); - codeCls_template_insert.setCreator(AuthUtil.getUser().getUserName()); +// codeCls_template_insert.setCreator(String.valueOf(AuthUtil.getUser().getUserId())); + codeCls_template_insert.setCreator(String.valueOf(AuthUtil.getUser().getAccount())); codeCls_template_insert.setCreateTime(new Date()); codeCls_template_insert.setTs(new Date()); - codeCls_template_insert.setLastModifier(AuthUtil.getUser().getUserName()); + // codeCls_template_insert.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); + codeCls_template_insert.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount())); codeCls_template_insert.setLastModifyTime(new Date()); codeCls_template_insert.setRevisionRule(codeCls_template.getRevisionRule()); codeCls_template_insert.setVersionRule(codeCls_template.getVersionRule()); @@ -527,9 +534,14 @@ codeCls_template_insert.setId(codeCls_template.getId()); codeCls_template_insert.setName(codeCls_template.getName()); codeCls_template_insert.setDescription(codeCls_template.getDescription()); - codeCls_template_insert.setOwner(AuthUtil.getUser().getUserName()); + codeCls_template_insert.setOwner(String.valueOf(AuthUtil.getUser().getUserId())); codeCls_template_insert.setCopyFromVersion(codeCls_template.getOid()); int insertCount = baseMapper.insert(codeCls_template_insert); + codeCls_template.setLastR("0"); + codeCls_template.setLastModifyTime(new Date()); + // codeCls_template.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); + codeCls_template.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); + baseMapper.updateById(codeCls_template); //鍗囩増杩囧悗鐨勬ā鏉縪id String templateNewOid = codeCls_template_insert.getOid(); @@ -545,7 +557,7 @@ } //澶嶅埗妯℃澘娴佺▼ - List<CodeClassifyProcessTemp> codeClassifyProcessTempDOList = copyTemplateProcess(templateOldOid,templateNewOid); + List<ProcessTemplate> codeClassifyProcessTempDOList = copyTemplateProcess(templateOldOid,templateNewOid); //澶嶅埗妯℃澘闃舵锛岄樁娈靛睘鎬� Map phase_attrMap = copyTemplatePhase_attr(templateOldOid,templateNewOid); @@ -557,7 +569,7 @@ //淇濆瓨妯℃澘娴佺▼ if(!CollectionUtils.isEmpty(codeClassifyProcessTempDOList)) { - codeClsflowtempServiceImpl.saveBatch(codeClassifyProcessTempDOList); + iFlowClient.processBatchSave(codeClassifyProcessTempDOList); } //妯℃澘闃舵 if(!CollectionUtils.isEmpty(codeClassifyPhaseDOList)) { @@ -584,6 +596,13 @@ String newOid = VciBaseUtil.getPk(); //鍒嗙被oid,澶嶅埗杩囨潵鐨勬柊鐨勫垎绫籵id String codeClassifyOid = codeClassifyDTO.getCodeclassifyoid(); + + QueryWrapper<CodeClassifyTemplate> wrapper = new QueryWrapper<>(); + wrapper.eq("CODECLASSIFYOID",codeClassifyOid); + Long aLong = baseMapper.selectCount(wrapper); + if(aLong > 0){ + return R.fail("璇ュ垎绫讳笅宸叉湁瀛愭ā鐗堬紝鏃犳硶杩涜澶嶅埗鎿嶄綔锛屼粎鑳借繘琛屽崌鐗堟搷浣滐紒"); + } //澶嶅埗妯℃澘 CodeClassifyTemplate codeClassifyTemplateDO_old = baseMapper.selectById(oldOid);//鏃фā鏉� @@ -612,6 +631,8 @@ codeClassifyTemplateDO_old.setTs(new Date()); codeClassifyTemplateDO_old.setCreateTime(new Date()); codeClassifyTemplateDO_old.setLastModifyTime(new Date()); + // 澶嶅埗鐨勬ā鏉跨敓鍛藉懆鏈熸敼涓虹紪杈戜腑 + codeClassifyTemplateDO_old.setLcStatus(FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_EDITING); List<CodeClassifyTemplate> codeClassifyTemplateDOList = new ArrayList<>(); codeClassifyTemplateDOList.add(codeClassifyTemplateDO_old); @@ -619,10 +640,10 @@ List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList = copyTemplateAttr(oldOid,newOid); //澶嶅埗妯℃澘娴佺▼ - List<CodeClassifyProcessTemp> codeClassifyProcessTempDOList = copyTemplateProcess(oldOid,newOid); + List<ProcessTemplate> codeClassifyProcessTempDOList = copyTemplateProcess(oldOid,newOid); //澶嶅埗妯℃澘闃舵锛岄樁娈靛睘鎬� - Map phase_attrMap = copyTemplatePhase_attr(oldOid,newOid); + Map phase_attrMap = copyTemplatePhase_attr(oldOid,newOid); List<CodeTemplatePhase> codeClassifyPhaseDOList = (ArrayList<CodeTemplatePhase>)phase_attrMap.get("phase");//妯℃澘闃舵 List<CodePhaseAttr> codePhaseAttrDOList = (ArrayList<CodePhaseAttr>)phase_attrMap.get("phaseAttr");//闃舵灞炴�� @@ -633,7 +654,7 @@ // baseMapper.insert(codeClassifyTemplateDOList); this.saveBatch(codeClassifyTemplateDOList); codeTempbuttonServiceImpl.saveBatch(codeClassifyTemplateButtonDOList); - codeClsflowtempServiceImpl.saveBatch(codeClassifyProcessTempDOList); + iFlowClient.processBatchSave(codeClassifyProcessTempDOList); codeClstempattrService.saveBatch(codeClassifyTemplateAttrDOList); codeTempphaseServiceImpl.saveBatch(codeClassifyPhaseDOList); codePhaseattrServiceImpl.saveBatch(codePhaseAttrDOList); @@ -696,22 +717,17 @@ /** * 澶嶅埗妯℃澘娴佺▼ */ - public List<CodeClassifyProcessTemp> copyTemplateProcess(String templateOldOid,String templateNewOid){ -// VciQueryWrapperForDO processWrapper = new VciQueryWrapperForDO(CodeClassifyProcessTempDO.class); -// processWrapper.addQueryMap("classifyTemplateOid",templateOldOid); - -// Map<String,Object> condition = new HashMap<>(1); -// condition.put("classifyTemplateOid",templateOldOid); - QueryWrapper<CodeClassifyProcessTemp> wrapper = new QueryWrapper<>(); - wrapper.eq("classifyTemplateOid",templateOldOid); - List<CodeClassifyProcessTemp> codeClsflowtempEntities = codeClsflowtempServiceImpl.list(wrapper); -// List<CodeClassifyProcessTempDO> codeClassifyProcessTempDOList = codeClassifyProcessTempDaoI.selectByWrapper(processWrapper);//瑕佷繚瀛樼殑鏂扮殑妯℃澘娴佺▼ - for (CodeClassifyProcessTemp codeClassifyProcessTempDO:codeClsflowtempEntities){ -// String newOid = VciBaseUtil.getPk(); - codeClassifyProcessTempDO.setOid(null); - //codeClassifyProcessTempDO.setCodeClassifyOid(templateNewOid); - codeClassifyProcessTempDO.setClassifyTemplateOid(templateNewOid); -// codeClsflowtempMapper.insert(codeClassifyProcessTempDO); + public List<ProcessTemplate> copyTemplateProcess(String templateOldOid,String templateNewOid){ + Map<String,Object> wrapperMap = new HashMap(); + wrapperMap.put("template_id",templateOldOid); + R<List<ProcessTemplate>> listR = iFlowClient.selectByWrapper(wrapperMap); + if(!listR.isSuccess()){ + throw new VciBaseException("鏌ヨ妯℃澘娴佺▼鏃跺嚭閿欙紝璇烽噸璇曪紒"); + } + List<ProcessTemplate> codeClsflowtempEntities = listR.getData(); + for (ProcessTemplate codeClassifyProcessTempDO:codeClsflowtempEntities){ + codeClassifyProcessTempDO.setId(null); + codeClassifyProcessTempDO.setTemplateId(templateNewOid); //modify by lihang - @20220406 璁剧疆妯℃澘涓婚敭浣嶇疆鍑洪敊锛屽鑷村崌鐗堢殑妯℃澘涓殑娴佺▼鏄┖鐨勩�� } return codeClsflowtempEntities; @@ -853,6 +869,7 @@ if(pageHelper.getLimit() != -1){ query.setSize(pageHelper.getLimit()); query.setCurrent(pageHelper.getPage()); + query.setDescs("versionValue"); } // List<CodeClstemplateVO> doList = codeClstemplateMapper.selectPlCodeClstemplatePage(Condition.getPage(query), codeClstemplateVO); @@ -897,11 +914,11 @@ //鎵�鏈夊垎绫婚兘娌℃湁涓氬姟绫诲瀷锛岃繑鍥炴彁绀� if(codeClassifyDOList.size()==0){ - return R.fail("娣诲姞妯℃澘娣诲姞澶辫触,鍒嗙被鍜屼笂绾у垎绫婚兘娌℃湁鍏宠仈涓氬姟绫诲瀷锛�"); + return R.fail(DATA_OID_NOT_EXIST); } //璁剧疆btmtypeid鍜宯ame - CodeClassify codeClassifyDO = codeClassifyDOList.get(0); + CodeClassify codeClassifyDO = codeClassifyDOList.stream().filter(s -> StringUtils.isNotBlank(s.getBtmTypeId())).findFirst().get(); codeClassifyTemplateDO.setBtmTypeId(codeClassifyDO.getBtmTypeId()); codeClassifyTemplateDO.setNameOid(VciBaseUtil.getPk()); codeClassifyTemplateDO.setBtmTypeName(codeClassifyDO.getBtmTypeName()); @@ -916,8 +933,10 @@ codeClassifyTemplateDO.setVersionRule("0"); codeClassifyTemplateDO.setRevisionRule("numberversionrule"); codeClassifyTemplateDO.setLastModifyTime(new Date()); - codeClassifyTemplateDO.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); - codeClassifyTemplateDO.setCreator(String.valueOf(AuthUtil.getUser().getUserId())); +// codeClassifyTemplateDO.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); + codeClassifyTemplateDO.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount())); +// codeClassifyTemplateDO.setCreator(String.valueOf(AuthUtil.getUser().getUserId())); + codeClassifyTemplateDO.setCreator(String.valueOf(AuthUtil.getUser().getAccount())); codeClassifyTemplateDO.setCreateTime(new Date()); codeClassifyTemplateDO.setLastV("1"); codeClassifyTemplateDO.setLastR("1"); @@ -1032,7 +1051,7 @@ codeClassifyTemplateDO.setLcStatus(lcstatus); codeClassifyTemplateDO.setVersionValue(versionvalue); codeClassifyTemplateDO.setTs(new Date()); - codeClassifyTemplateDO.setLastModifier(AuthUtil.getUser().getUserName()); + codeClassifyTemplateDO.setLastModifier(AuthUtil.getUser().getAccount()); codeClassifyTemplateDO.setLastModifyTime(new Date()); baseMapper.updateById(codeClassifyTemplateDO); } @@ -1074,7 +1093,6 @@ return codeClassifyTemplateVOList; } - /** * 浣跨敤鍒嗙被涓婚敭閫掑綊鏌ヨ * @param codeClassifyOid 鍒嗙被鐨勪富閿� @@ -1097,11 +1115,15 @@ //閫掑綊鎵句笂绾х殑妯℃澘 CodeClassify classifyDO = codeClassifyMapper.selectById(codeClassifyOid); // codeClassifyDaoI.selectByPrimaryKey(codeClassifyOid); - if(Func.isEmpty(classifyDO)&&StringUtils.isBlank(classifyDO.getParentCodeClassifyOid())){ + if(Func.isEmpty(classifyDO)){ //璇存槑宸茬粡鏄《浜嗭紝涔熸病鎵惧埌鐨勮瘽锛岄偅灏辫繑鍥炰簡 - return null; + return new ArrayList<>(); } - return selectOnlyTemplateByClassifyOid(classifyDO.getParentCodeClassifyOid()); + if(StringUtils.isNotBlank(classifyDO.getParentCodeClassifyOid())) { + return selectOnlyTemplateByClassifyOid(classifyDO.getParentCodeClassifyOid()); + }else{ + return new ArrayList<>(); + } }else{ return templateDOS; } -- Gitblit v1.9.3