From 04b4676f4f8f2674a0fdd52624c417d600f6f06b Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期二, 05 十二月 2023 16:19:30 +0800
Subject: [PATCH] 整合代码
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java | 115 +++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 75 insertions(+), 40 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 9b73f3e..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,10 +43,12 @@
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;
@@ -105,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) {
@@ -457,16 +463,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("淇敼鎴愬姛");
}
@@ -494,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());
@@ -518,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();
@@ -536,7 +557,7 @@
}
//澶嶅埗妯℃澘娴佺▼
- List<CodeClassifyProcessTemp> codeClassifyProcessTempDOList = copyTemplateProcess(templateOldOid,templateNewOid);
+ List<ProcessTemplate> codeClassifyProcessTempDOList = copyTemplateProcess(templateOldOid,templateNewOid);
//澶嶅埗妯℃澘闃舵锛岄樁娈靛睘鎬�
Map phase_attrMap = copyTemplatePhase_attr(templateOldOid,templateNewOid);
@@ -548,7 +569,7 @@
//淇濆瓨妯℃澘娴佺▼
if(!CollectionUtils.isEmpty(codeClassifyProcessTempDOList)) {
- codeClsflowtempServiceImpl.saveBatch(codeClassifyProcessTempDOList);
+ iFlowClient.processBatchSave(codeClassifyProcessTempDOList);
}
//妯℃澘闃舵
if(!CollectionUtils.isEmpty(codeClassifyPhaseDOList)) {
@@ -575,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);//鏃фā鏉�
@@ -603,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);
@@ -610,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");//闃舵灞炴��
@@ -624,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);
@@ -687,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;
@@ -844,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);
@@ -888,12 +914,13 @@
//鎵�鏈夊垎绫婚兘娌℃湁涓氬姟绫诲瀷锛岃繑鍥炴彁绀�
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());
codeClassifyTemplateDO.setLcStatus(FRAMEWORK_RELEASE_EDITING);
codeClassifyTemplateDO.setTs(new Date());
@@ -906,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");
@@ -1022,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);
}
@@ -1040,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);
});
}
@@ -1063,7 +1095,6 @@
}
return codeClassifyTemplateVOList;
}
-
/**
* 浣跨敤鍒嗙被涓婚敭閫掑綊鏌ヨ
@@ -1087,11 +1118,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