From abd832383e0a6941352215a1b150a6fb0c50e7dc Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期五, 24 十一月 2023 10:18:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java | 99 +++++++++++++++++++++++++++++++------------------
1 files changed, 62 insertions(+), 37 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..61d3037 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);
}
@@ -1050,13 +1069,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);
});
}
@@ -1073,7 +1095,6 @@
}
return codeClassifyTemplateVOList;
}
-
/**
* 浣跨敤鍒嗙被涓婚敭閫掑綊鏌ヨ
@@ -1097,11 +1118,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