From 4494a005613728c9dc22d018bca42ef5d3ebcf69 Mon Sep 17 00:00:00 2001 From: xiejun <xiejun@vci-tech.com> Date: 星期二, 14 一月 2025 20:41:47 +0800 Subject: [PATCH] 产品型号集成,类型转换,人员组织加日志,申请接口引用码段值校验 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java | 274 +++++++++++++++++++++++++----------------------------- 1 files changed, 127 insertions(+), 147 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 bfb5344..1b87d97 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,19 +31,26 @@ 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; import com.vci.ubcs.starter.revision.service.RevisionModelUtil; +import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; +import com.vci.ubcs.starter.util.MdmBtmTypeConstant; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.pagemodel.PageHelper; 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; import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cglib.beans.BeanMap; import org.springframework.context.annotation.Lazy; @@ -89,7 +95,7 @@ private CodeClassifyTemplateButtonServiceImpl codeTempbuttonServiceImpl; @Autowired(required = false) private ICodeClassifyProcessTempService codeClsflowtempServiceImpl; -// @Autowired(required = false) + // @Autowired(required = false) // private CodeClsflowtempMapper codeClsflowtempMapper; @Autowired(required = false) private CodeTemplatePhaseMapper codeTempphaseMapper; @@ -105,6 +111,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) { @@ -457,16 +465,24 @@ CodeClassifyTemplate codeClassifyTemplateDO = baseMapper.selectById(oid); //鍋滅敤鐨勬椂鍊欙紝楠岃瘉妯℃澘鏄惁涓哄凡鍙戝竷 if(CodeClassifyTemplateLC.DISABLED.getValue().equals(lcStatus)){ -// CodeClstemplateEntity codeClassifyTemplateDO = baseMapper.selectById(oid); if(!CodeClassifyTemplateLC.RELEASED.getValue().equals(codeClassifyTemplateDO.getLcStatus())){ return R.fail("妯℃澘鏈惎鐢紝涓嶈兘鍋滅敤锛�"); } } + + if(lcStatus.equals(CodeClassifyTemplateLC.RELEASED.getValue())){ + QueryWrapper<CodeClassify> classifyQueryWrapper = new QueryWrapper<>(); + classifyQueryWrapper.eq("oid",codeClassifyTemplateDO.getCodeClassifyOid()); + classifyQueryWrapper.eq("lcstatus","Enabled"); + List<CodeClassify> codeClassifyList = codeClassifyService.selectByWrapper(classifyQueryWrapper); + if(codeClassifyList.size()==0){ + return R.fail("鏌ヨ鍒版墍灞炲垎绫绘湭鍚敤锛岃鍏堣繘琛屽惎鐢紒锛侊紒"); + } + } + //鍚敤銆佸仠鐢� codeClassifyTemplateDO.setLcStatus(lcStatus); int u = baseMapper.updateById(codeClassifyTemplateDO); -// codeClassifyTemplateMapper.updateLcStatus(oid,lcStatus); - return u==0?R.fail("淇敼澶辫触锛�"):R.success("淇敼鎴愬姛"); } @@ -487,73 +503,63 @@ } //闇�瑕佹柊澧炵殑鍗囩骇妯℃澘 -// ClientBusinessObject clientBusinessObject_template = boService.selectCBOByOid(codeClassifyDTO.getOid(), "codeclstemplate"); CodeClassifyTemplate codeCls_template = baseMapper.selectById(templateOldOid); CodeClassifyTemplate codeCls_template_insert = new CodeClassifyTemplate(); -// ClientBusinessObject clientBusinessObject_template_insert = null; -// try { -// clientBusinessObject_template_insert = clientBusinessObjectOperation.reviseBusinessObject(clientBusinessObject_template, ""); - codeCls_template_insert.setOid(VciBaseUtil.getPk()); - codeCls_template_insert.setRevisionOid(VciBaseUtil.getPk()); - 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(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.setCreateTime(new Date()); - codeCls_template_insert.setLastModifier(AuthUtil.getUser().getUserName()); - codeCls_template_insert.setLastModifyTime(new Date()); - codeCls_template_insert.setRevisionRule(codeCls_template.getRevisionRule()); - codeCls_template_insert.setVersionRule(codeCls_template.getVersionRule()); - Map rvObj = baseMapper.getNextRevision(codeCls_template.getNameOid()); - codeCls_template_insert.setRevisionSeq(Integer.parseInt(rvObj.get("REVISIONSEQ").toString())); - codeCls_template_insert.setRevisionValue(rvObj.get("REVISIONVAL").toString()); -// VersionValueObject versionObj = this.getVersionValue(item.verRuleName); - codeCls_template_insert.setVersionSeq(Integer.parseInt(rvObj.get("VERSIONSEQ").toString())); - codeCls_template_insert.setVersionValue(rvObj.get("VERSIONVAL").toString()); - codeCls_template_insert.setLctid(codeCls_template.getLctid()); - codeCls_template_insert.setLcStatus("Editing"); - 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.setCheckinBy(userName); - codeCls_template_insert.setCopyFromVersion(codeCls_template.getOid()); -// }catch (VCIError e){ -// e.printStackTrace(); -// logger.error("===============>鍒嗙被妯℃澘-鍗囩増澶嶅埗鍑洪敊oid锛� "+templateOldOid+",mes"+e.error_message); -// return BaseResult.error("鍗囩増鍑洪敊"); -// } + codeCls_template_insert.setOid(VciBaseUtil.getPk()); + codeCls_template_insert.setRevisionOid(VciBaseUtil.getPk()); + 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(0)); + codeCls_template_insert.setFirstV(String.valueOf(1)); + codeCls_template_insert.setLastV(String.valueOf(1)); +// 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(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()); + codeCls_template_insert.setBtmTypeId(codeCls_template.getBtmTypeId()); + codeCls_template_insert.setBtmTypeName(codeCls_template.getBtmTypeName()); + codeCls_template_insert.setCodeClassifyOid(codeCls_template.getCodeClassifyOid()); + codeCls_template_insert.setCodeClassifyOidName(codeCls_template.getCodeClassifyOidName()); + Map rvObj = baseMapper.getNextRevision(codeCls_template.getNameOid()); + codeCls_template_insert.setRevisionSeq(Integer.parseInt(rvObj.get("REVISIONSEQ").toString())); + codeCls_template_insert.setRevisionValue(rvObj.get("REVISIONVAL").toString()); + codeCls_template_insert.setVersionSeq(Integer.parseInt(rvObj.get("VERSIONSEQ").toString())); + codeCls_template_insert.setVersionValue(rvObj.get("VERSIONVAL").toString()); + codeCls_template_insert.setLctid(codeCls_template.getLctid()); + codeCls_template_insert.setLcStatus("Editing"); + 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(String.valueOf(AuthUtil.getUser().getUserId())); + codeCls_template_insert.setCopyFromVersion(codeCls_template.getOid()); int insertCount = baseMapper.insert(codeCls_template_insert); -// CodeClstemplateEntity codeClassifyTemplateDO = new CodeClstemplateEntity(); -// BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyDTO,codeClassifyTemplateDO); -// WebUtil.copyValueToObjectFromCbos(clientBusinessObject_template_insert,codeClassifyTemplateDO); - //modify by weidy@2022-2-27 - //鍗囩増鍚庝笉鑳戒娇鐢╥nsert鏂规硶锛屽洜涓洪偅涓案杩滄槸鏂板涓�鏉℃暟鎹紝 - //涓婃柟鍏堜粠dto杞粰do锛岀劧鍚庢妸鍗囩増鐨勫垵濮嬪寲鐨勫睘鎬ф嫹璐濈粰do锛屾渶鍚庡啀浠巇o鎷疯礉鍒癱bo涓� -// WebUtil.copyValueToCboFromObj(clientBusinessObject_template_insert,codeClassifyTemplateDO); + 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(); //闇�瑕佸鍒剁殑妯℃澘灞炴�� //鏌ヨ鑰佹ā鏉夸笅杈圭殑鎵�鏈夊睘鎬э紝璧嬪�兼柊妯℃澘oid -// VciQueryWrapperForDO codeClassifyTemplateAttrQuery = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class); -// codeClassifyTemplateAttrQuery.addQueryMap("classifyTemplateOid",templateOldOid); Map<String,Object> condition = new HashMap<>(1); condition.put("classifyTemplateOid",templateOldOid); List<CodeClassifyTemplateAttr> codeClstempattrEntities = codeClstempattrMapper.selectByMap(condition); -// List<CodeClassifyTemplateAttrDO> codeClassifyTemplateAttrDOList = codeClassifyTemplateAttrDaoI.selectByWrapper(codeClassifyTemplateAttrQuery); for (CodeClassifyTemplateAttr codeClassifyTemplateAttrDO :codeClstempattrEntities){ -// String attrOid = VciBaseUtil.getPk(); - codeClassifyTemplateAttrDO.setOid(null); + codeClassifyTemplateAttrDO.setOid(VciBaseUtil.getPk()); codeClassifyTemplateAttrDO.setClassifyTemplateOid(templateNewOid); codeClstempattrMapper.insert(codeClassifyTemplateAttrDO); } //澶嶅埗妯℃澘娴佺▼ - List<CodeClassifyProcessTemp> codeClassifyProcessTempDOList = copyTemplateProcess(templateOldOid,templateNewOid); + List<ProcessTemplate> codeClassifyProcessTempDOList = copyTemplateProcess(templateOldOid,templateNewOid); //澶嶅埗妯℃澘闃舵锛岄樁娈靛睘鎬� Map phase_attrMap = copyTemplatePhase_attr(templateOldOid,templateNewOid); @@ -563,54 +569,23 @@ //澶嶅埗妯℃澘鎸夐挳 List<CodeClassifyTemplateButton> codeClassifyTemplateButtonDOList = copyTemplateButton(templateOldOid,templateNewOid); - //涓�璧蜂繚瀛樻暟鎹� -// WebUtil.setPersistence(false);//涓嶆墽琛屼繚瀛� - //淇濆瓨妯℃澘鈥斺�� -// BatchCBO batchCBOTemplate = new BatchCBO(); - //batchCBO淇濆瓨鐨勬椂鍊欐病鏈夎兘澶熻嚜鍔╱pdate婧愭暟鎹殑isLastR - //batchCBOTemplate.getCreateCbos().add(clientBusinessObject_template_insert); - //浣跨敤saveRevisionBuisnessObject鍙互瑙e喅杩欎釜闂锛岃繖閲屽厛鏆傛椂鎵ц涓ゆ淇濆瓨 -// try { -// clientBusinessObjectOperation.saveRevisionBuinessObject(clientBusinessObject_template_insert); -// } catch (VCIError vciError) { -// throw new VciBaseException("鍗囩増淇濆瓨鍑洪敊浜�",new String[0],vciError); -// } - // end --modify by lihang @20220408 - //codeClassifyTemplateMapper.insert(codeClassifyTemplateDO); - //淇濆瓨妯℃澘灞炴�� -// if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOList)){ -// BatchCBO batchCBOTemplateAttr = codeClassifyTemplateAttrDaoI.batchInsert(codeClassifyTemplateAttrDOList); -// batchCBOTemplate.copyFromOther(batchCBOTemplateAttr); -// } -// -// //淇濆瓨妯℃澘娴佺▼ -// if(!CollectionUtils.isEmpty(codeClassifyProcessTempDOList)) { -// BatchCBO batchCBOTemplateProcessAttr = codeClassifyProcessTempDaoI.batchInsert(codeClassifyProcessTempDOList); -// batchCBOTemplate.copyFromOther(batchCBOTemplateProcessAttr); -// } -// //妯℃澘闃舵 -// if(!CollectionUtils.isEmpty(codeClassifyPhaseDOList)) { -// BatchCBO batchCBOTemplatePhaseAttr = codeTemplatePhaseDaoI.batchInsert(codeClassifyPhaseDOList); -// batchCBOTemplate.copyFromOther(batchCBOTemplatePhaseAttr); -// } -// -// //妯℃澘闃舵灞炴�� -// if(!CollectionUtils.isEmpty(codePhaseAttrDOList)) { -// BatchCBO batchCBOTemplatePhaseAttrAttr = codePhaseAttrDaoI.batchInsert(codePhaseAttrDOList); -// batchCBOTemplate.copyFromOther(batchCBOTemplatePhaseAttrAttr); -// } -// -// //妯℃澘鎸夐挳 -// if(!CollectionUtils.isEmpty(codeClassifyTemplateButtonDOList)) { -// BatchCBO batchCBOTemplateButtonAttr = codeClassifyTemplateButtonDaoI.batchInsert(codeClassifyTemplateButtonDOList); -// batchCBOTemplate.copyFromOther(batchCBOTemplateButtonAttr); -// } -// -// WebUtil.setPersistence(true);//鎵ц淇濆瓨 -// -// boService.persistenceBatch(batchCBOTemplate);//涓�璧锋墽琛屼繚瀛� + //淇濆瓨妯℃澘娴佺▼ + if(!CollectionUtils.isEmpty(codeClassifyProcessTempDOList)) { + iFlowClient.processBatchSave(codeClassifyProcessTempDOList); + } + //妯℃澘闃舵 + if(!CollectionUtils.isEmpty(codeClassifyPhaseDOList)) { + codeTempphaseServiceImpl.saveBatch(codeClassifyPhaseDOList); + } -// return BaseResult.success("鍗囩増鎴愬姛锛�"); + //妯℃澘闃舵灞炴�� + if(!CollectionUtils.isEmpty(codePhaseAttrDOList)) { + codePhaseattrServiceImpl.saveBatch(codePhaseAttrDOList); + } +// //妯℃澘鎸夐挳 + if(!CollectionUtils.isEmpty(codeClassifyTemplateButtonDOList)) { + codeTempbuttonServiceImpl.saveBatch(codeClassifyTemplateButtonDOList); + } return R.success("鍗囩増鎴愬姛锛�"); } @@ -623,6 +598,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);//鏃фā鏉� @@ -651,6 +633,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); @@ -658,10 +642,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");//闃舵灞炴�� @@ -672,7 +656,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); @@ -735,22 +719,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; @@ -858,6 +837,7 @@ * @return 鏄剧ず瀵硅薄 * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父 */ + @Override public DataGrid<CodeClassifyTemplateVO> gridCodeClassifyTemplate(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException { DataGrid<CodeClassifyTemplateVO> dataGrid=new DataGrid<CodeClassifyTemplateVO>(); //娌℃湁浼犲垎绫籭d锛屼笉鎵ц鏌ヨ閫昏緫锛岀洿鎺ヨ繑鍥� @@ -891,6 +871,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); @@ -919,6 +900,13 @@ @Override public R<CodeClassifyTemplateVO> addSave(CodeClassifyTemplateDTO codeClassifyTemplateDTO) throws VciBaseException{ VciBaseUtil.alertNotNull(codeClassifyTemplateDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄"); + + QueryWrapper<CodeClassifyTemplate> wrapper = new QueryWrapper<>(); + wrapper.eq("CODECLASSIFYOID",codeClassifyTemplateDTO.getCodeclassifyoid()); + Long aLong = baseMapper.selectCount(wrapper); + if(aLong > 0){ + return R.fail("璇ュ垎绫讳笅宸叉湁瀛愭ā鐗堬紝鏃犳硶鏂板锛屼粎鑳借繘琛屽崌鐗堟搷浣滐紒"); + } //灏咲TO杞崲涓篋O CodeClassifyTemplate codeClassifyTemplateDO = new CodeClassifyTemplate(); BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateDTO,codeClassifyTemplateDO); @@ -928,32 +916,18 @@ //鎵�鏈夊垎绫婚兘娌℃湁涓氬姟绫诲瀷锛岃繑鍥炴彁绀� if(codeClassifyDOList.size()==0){ - return R.fail("娣诲姞妯℃澘娣诲姞澶辫触,鍒嗙被鍜屼笂绾у垎绫婚兘娌℃湁鍏宠仈涓氬姟绫诲瀷锛�"); + return R.fail(DATA_OID_NOT_EXIST); } //璁剧疆btmtypeid鍜宯ame - CodeClassify codeClassifyDO = codeClassifyDOList.get(0); + DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyTemplateDO, MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE); + CodeClassify codeClassifyDO = codeClassifyDOList.stream().filter(s -> StringUtils.isNotBlank(s.getBtmTypeId())).findFirst().get(); codeClassifyTemplateDO.setBtmTypeId(codeClassifyDO.getBtmTypeId()); codeClassifyTemplateDO.setBtmTypeName(codeClassifyDO.getBtmTypeName()); codeClassifyTemplateDO.setLcStatus(FRAMEWORK_RELEASE_EDITING); - codeClassifyTemplateDO.setTs(new Date()); - codeClassifyTemplateDO.setOwner(AuthUtil.getUser().getUserName()); + codeClassifyTemplateDO.setOwner(String.valueOf(AuthUtil.getUser().getUserId())); codeClassifyTemplateDO.setLctid("codeClsTempLc"); - codeClassifyTemplateDO.setVersionValue("1"); - codeClassifyTemplateDO.setVersionSeq(1); - codeClassifyTemplateDO.setRevisionValue("1"); - codeClassifyTemplateDO.setRevisionSeq(1); - codeClassifyTemplateDO.setVersionRule("0"); codeClassifyTemplateDO.setRevisionRule("numberversionrule"); - codeClassifyTemplateDO.setLastModifyTime(new Date()); - codeClassifyTemplateDO.setLastModifier(AuthUtil.getUser().getUserName()); - codeClassifyTemplateDO.setCreator(AuthUtil.getUser().getUserName()); - codeClassifyTemplateDO.setCreateTime(new Date()); - codeClassifyTemplateDO.setLastV("1"); - codeClassifyTemplateDO.setLastR("1"); - codeClassifyTemplateDO.setFirstV("1"); - codeClassifyTemplateDO.setFirstR("1"); - codeClassifyTemplateDO.setBtmname("codeclstemplate"); baseMapper.insert(codeClassifyTemplateDO); //榛樿娣诲姞妯℃澘灞炴�� @@ -1043,7 +1017,7 @@ // condition.put("ts",codeClassifyTemplateDOCopyFromDTO.getTs()); CodeClassifyTemplate detail = baseMapper .selectById(codeClassifyTemplateDOCopyFromDTO.getOid()); - // boolean tsBoolean = boService.checkTs(codeClassifyTemplateAttrDOListemplateDOCopyFromDTO); + // boolean tsBoolean = boService.checkTs(codeClassifyTemplateAttrDOListemplateDOCopyFromDTO); if(detail.getTs().compareTo(codeClassifyTemplateDOCopyFromDTO.getTs()) != 0){//涓嶆槸鏈�鏂扮殑涓嶈鏀� return R.fail("褰撳墠鏁版嵁涓嶆槸鏈�鏂帮紝璇峰埛鏂板悗鍐嶄慨鏀癸紒"); } @@ -1062,7 +1036,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); } @@ -1080,13 +1054,16 @@ // Map<String/**妯℃澘鐨勪富閿�**/,String/**鍒嗙被鐨勪富閿�**/> childHasTemplateMap =baseMapper // .selectChildHasReleaseTemplate(FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED, // codeClassifyOid,CodeClassifyTemplateLC.RELEASED.getValue()); - List<Map<String,String>> childHasTemplateList =baseMapper + List<Map<String,String>> childHasTemplateList = baseMapper .selectChildHasReleaseTemplate(FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED, codeClassifyOid,CodeClassifyTemplateLC.RELEASED.getValue()); Map<String/**妯℃澘鐨勪富閿�**/,String/**鍒嗙被鐨勪富閿�**/> childHasTemplateMap = new HashMap<>(); if(!CollectionUtils.isEmpty(childHasTemplateList)){ childHasTemplateList.stream().forEach(cbo->{ - childHasTemplateMap.put(cbo.get("OID"),cbo.get("CLSOID")); + // 鏈夋椂鍊欐煡璇㈠嚭鏉ョ殑key鏄ぇ鍐欙紝鏈夋椂鍊欐槸灏忓啓鐨刱ey + String oid = Func.isEmpty(cbo.get("OID")) ? cbo.get("oid"):cbo.get("OID"); + String clsoid = Func.isEmpty(cbo.get("CLSOID")) ? cbo.get("clsoid") : cbo.get("CLSOID"); + childHasTemplateMap.put(oid,clsoid); }); } @@ -1103,7 +1080,6 @@ } return codeClassifyTemplateVOList; } - /** * 浣跨敤鍒嗙被涓婚敭閫掑綊鏌ヨ @@ -1127,11 +1103,15 @@ //閫掑綊鎵句笂绾х殑妯℃澘 CodeClassify classifyDO = codeClassifyMapper.selectById(codeClassifyOid); // codeClassifyDaoI.selectByPrimaryKey(codeClassifyOid); - if(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