From 09db48299939cc576ae3e925e722f60c42e673bd Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期五, 21 四月 2023 18:01:24 +0800
Subject: [PATCH] 路径名字改动
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java | 537 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 537 insertions(+), 0 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 6cb26c3..632c040 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,13 +16,40 @@
*/
package com.vci.ubcs.code.service.impl;
+import com.alibaba.nacos.api.utils.StringUtils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.code.bo.TreeWrapperOptions;
+import com.vci.ubcs.code.dto.CodeClstemplateDTO;
+import com.vci.ubcs.code.entity.CodeClstempattrEntity;
import com.vci.ubcs.code.entity.CodeClstemplateEntity;
+import com.vci.ubcs.code.enumpack.CodeClassifyTemplateLC;
+import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus;
+import com.vci.ubcs.code.mapper.CodeClstempattrMapper;
import com.vci.ubcs.code.mapper.CodeClstemplateMapper;
import com.vci.ubcs.code.service.ICodeClstemplateService;
+import com.vci.ubcs.code.vo.CodeClstempattrVO;
import com.vci.ubcs.code.vo.CodeClstemplateVO;
+import com.vci.ubcs.code.vo.pagemodel.TreeQueryObject;
+import com.vci.ubcs.com.vci.starter.exception.VciBaseException;
+import com.vci.ubcs.com.vci.starter.revision.service.RevisionModelUtil;
+import com.vci.ubcs.com.vci.starter.web.pagemodel.Tree;
+import com.vci.ubcs.com.vci.starter.web.util.BeanUtilForVCI;
+import com.vci.ubcs.com.vci.starter.web.util.VciBaseUtil;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.tool.api.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_RELEASED;
+import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.LC_STATUS;
+import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.*;
+import static com.vci.ubcs.code.service.impl.CodeClassifyServiceImpl.PARENT_FIELD_NAME;
/**
* 缂栫爜搴撳畾涔�-妯℃澘绠$悊 鏈嶅姟瀹炵幇绫�
@@ -33,8 +60,518 @@
@Service
public class CodeClstemplateServiceImpl extends ServiceImpl<CodeClstemplateMapper, CodeClstemplateEntity> implements ICodeClstemplateService {
+ /**
+ * 妯℃澘灞炴�х殑鏈嶅姟
+ */
+ @Lazy
+ @Autowired(required = false)
+ CodeClstempattrServiceImpl codeClstempattrService;
+
+ /**
+ * 瀵硅薄鐨勬搷浣�
+ */
+ @Autowired(required = false)
+ private RevisionModelUtil revisionModelUtil;
+
+ @Autowired(required = false)
+ private CodeClstempattrMapper codeClstempattrMapper;
+ @Autowired(required = false)
+ private CodeTempphaseServiceImpl codeTempphaseServiceImpl;
+ @Autowired(required = false)
+ private CodeTempbuttonServiceImpl codeTempbuttonServiceImpl;
+ @Autowired(required = false)
+ private CodeClsflowtempServiceImpl codeClsflowtempServiceImpl;
@Override
public IPage<CodeClstemplateVO> selectPlCodeClstemplatePage(IPage<CodeClstemplateVO> page, CodeClstemplateVO plCodeClstemplate) {
return page.setRecords(baseMapper.selectPlCodeClstemplatePage(page, plCodeClstemplate));
}
+
+ /**
+ * 鏌ヨ鍒嗙被妯℃澘瀵硅薄 鏍�
+ * @param treeQueryObject 鏍戞煡璇㈠璞�
+ * @return 鍒嗙被妯℃澘瀵硅薄 鏄剧ず鏍�
+ */
+ @Override
+ public List<Tree> treeCodeClassifyTemplate(TreeQueryObject treeQueryObject) {
+ List<CodeClstemplateEntity> doList =selectCodeClassifyTemplateDOByTree(treeQueryObject);
+
+ List<CodeClstemplateVO> voList = codeClassifyTemplateDO2VOs(doList);
+ TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME);
+ treeWrapperOptions.copyFromTreeQuery(treeQueryObject);
+ return revisionModelUtil.doList2Trees(voList,treeWrapperOptions,(CodeClstemplateVO s) ->{
+ //鍙互鍦ㄨ繖閲屽鐞嗘爲鑺傜偣鐨勬樉绀�
+ return s.getId() + " " + s.getName() + (FrameworkDataLCStatus.DISABLED.getValue().equalsIgnoreCase(s
+ .getLcStatus()) ? (" 銆愬仠鐢ㄣ�� ") : "");
+ });
+ }
+
+ /**
+ * 鏍规嵁鏍戝舰鏌ヨ瀵硅薄鏉ユ煡璇㈡暟鎹璞�
+ *
+ * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄
+ * @return 鏌ヨ缁撴灉,鏁版嵁瀵硅薄
+ */
+ @Override
+ public List<CodeClstemplateEntity> selectCodeClassifyTemplateDOByTree(TreeQueryObject treeQueryObject) {
+// VciQueryWrapperForDO queryWrapperForDO = new VciQueryWrapperForDO(null,CodeClassifyTemplateDO.class);
+// VciParentQueryOption parentQueryOption = new VciParentQueryOption();
+// parentQueryOption.setParentFieldName(PARENT_FIELD_NAME);
+// queryWrapperForDO.parentQueryChild(treeQueryObject,parentQueryOption);
+ CodeClstemplateEntity codeClstemplateEntity = new CodeClstemplateEntity();
+ return baseMapper.selectList(Condition.getQueryWrapper(codeClstemplateEntity));
+// return codeClassifyTemplateMapper.selectByWrapper(queryWrapperForDO);
+ }
+
+ /**
+ * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
+ * @param codeClassifyTemplateDOs 鏁版嵁瀵硅薄鍒楄〃
+ * @return 鏄剧ず瀵硅薄
+ */
+ @Override
+ public List<CodeClstemplateVO> codeClassifyTemplateDO2VOs(Collection<CodeClstemplateEntity> codeClassifyTemplateDOs) {
+ return codeClassifyTemplateDO2VOs(codeClassifyTemplateDOs,false);
+ }
+
+ /**
+ * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
+ * @param codeClassifyTemplateDOs 鏁版嵁瀵硅薄鍒楄〃
+ * @param hasAttr 鏄惁鍖呭惈灞炴��
+ * @return 鏄剧ず瀵硅薄
+ */
+ @Override
+ public List<CodeClstemplateVO> codeClassifyTemplateDO2VOs(Collection<CodeClstemplateEntity> codeClassifyTemplateDOs,boolean hasAttr) {
+ List<CodeClstemplateVO> voList = new ArrayList<CodeClstemplateVO>();
+ if(!CollectionUtils.isEmpty(codeClassifyTemplateDOs)){
+ for(CodeClstemplateEntity s: codeClassifyTemplateDOs){
+ CodeClstemplateVO vo = codeClassifyTemplateDO2VO(s);
+ if(vo != null){
+ voList.add(vo);
+ }
+ }
+ }
+ if(hasAttr){
+ //涓�涓垎绫婚噷闈㈡�讳笉鑳借秴杩�1000涓敓鏁堢殑鐗堟湰鍚э紒锛侊紒
+ VciBaseUtil.switchCollectionForOracleIn(voList.stream().map(CodeClstemplateVO::getOid).collect(Collectors.toList())).forEach(tempOids->{
+ List<CodeClstempattrVO> attrVOList = codeClstempattrService.listCodeClassifyTemplateAttrByTemplateOids(tempOids);
+
+ if(!CollectionUtils.isEmpty(attrVOList)){
+ Map<String, List<CodeClstempattrVO>> attrVOMap = attrVOList.stream().collect(Collectors.groupingBy(s -> s.getClassifytemplateoid()));
+
+ voList.stream().forEach(templateVO->{
+ if(attrVOMap.containsKey(templateVO.getOid())){
+ templateVO.setAttributes(attrVOMap.get(templateVO.getOid()));
+ }
+ });
+ }
+ });
+
+ }
+ return voList;
+ }
+ /**
+ * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
+ * @param codeClassifyTemplateDO 鏁版嵁瀵硅薄
+ * @return 鏄剧ず瀵硅薄
+ */
+ @Override
+ public CodeClstemplateVO codeClassifyTemplateDO2VO(CodeClstemplateEntity codeClassifyTemplateDO) {
+ CodeClstemplateVO vo = new CodeClstemplateVO();
+ if(codeClassifyTemplateDO != null){
+ BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateDO,vo);
+ //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽
+ vo.setLcStatusText(CodeClassifyTemplateLC.getTextByValue(vo.getLcStatus()));
+
+ }
+ return vo;
+ }
+
+ /**
+ * 妫�鏌� 鍒嗙被妯℃澘瀵硅薄鏄惁鍒犻櫎
+ * @param codeClstemplateDTO 鍒嗙被妯℃澘瀵硅薄鏁版嵁浼犺緭瀵硅薄锛屽繀椤昏鏈塷id鍜宼s灞炴��
+ * @return 鎵ц缁撴灉 success涓簍rue涓哄彲浠ュ垹闄わ紝false琛ㄧず鏈夋暟鎹紩鐢紝obj涓簍rue琛ㄧず鏈変笅绾�
+ */
+ @Override
+ public R checkIsCanDelete(CodeClstemplateDTO codeClstemplateDTO) {
+ VciBaseUtil.alertNotNull(codeClstemplateDTO,"鏁版嵁浼犺緭瀵硅薄",codeClstemplateDTO.getOid(),"涓婚敭");
+ CodeClstemplateEntity codeClstemplateEntity = baseMapper.selectById(codeClstemplateDTO.getOid());
+ return checkIsCanDeleteForDO(codeClstemplateDTO,codeClstemplateEntity);
+ }
+
+ /**
+ * 鏍¢獙鏄惁鍙互鍒犻櫎锛屽鏋滃瓨鍦ㄤ笅绾э紝骞朵笖涓嬬骇鏈夋暟鎹紩鐢ㄥ垯涓嶈兘鍒犻櫎
+ * @param codeClstemplateDTO 鏁版嵁浼犺緭瀵硅薄
+ * @param codeClstemplateEntity 鏁版嵁搴撲腑鐨勬暟鎹璞�
+ * @return success涓簍rue涓哄彲浠ュ垹闄わ紝false琛ㄧず鏈夋暟鎹紩鐢紝obj涓簍rue琛ㄧず鏈変笅绾�
+ */
+ private R checkIsCanDeleteForDO(CodeClstemplateDTO codeClstemplateDTO, CodeClstemplateEntity codeClstemplateEntity) {
+ CodeClstemplateEntity codeClassifyTemplateDOCopyFromDTO = new CodeClstemplateEntity();
+ BeanUtilForVCI.copyPropertiesIgnoreCase(codeClstemplateDTO,codeClassifyTemplateDOCopyFromDTO);
+
+ //妫�鏌s
+ Map<String,Object> condition = new HashMap<>(2);
+ condition.put("oid",codeClstemplateDTO.getOid());
+ condition.put("ts",codeClstemplateDTO.getTs());
+ CodeClstemplateEntity detail = baseMapper
+ .selectOne(Condition.getQueryWrapper(condition,CodeClstemplateEntity.class));
+ if(detail == null){//涓嶆槸鏈�鏂扮殑涓嶈鏀�
+ return R.fail("褰撳墠鏁版嵁涓嶆槸鏈�鏂帮紝璇峰埛鏂板悗鍐嶄慨鏀癸紒");
+ }
+ //鏍¢獙涓嬬骇鏄惁鏈夊紩鐢�
+ if(checkChildIsLinked(codeClstemplateEntity.getOid())){
+ return R.fail(DATA_CASCADE_LINKED_NOT_DELETE);
+ }
+ return R.status(checkHasChild(codeClstemplateEntity.getOid()));
+ }
+
+ /**
+ * 妫�鏌ユ槸鍚︽湁涓嬬骇鏄惁鍏宠仈浜嗘暟鎹�
+ *
+ * @param oid 涓婚敭
+ * @return true 琛ㄧず鏈夊紩鐢紝false琛ㄧず娌℃湁寮曠敤
+ */
+ @Override
+ public boolean checkChildIsLinked(String oid) {
+ VciBaseUtil.alertNotNull(oid,"涓婚敭");
+ List<String> childOids = baseMapper.selectAllLevelChildOid(oid.trim());
+ if(!CollectionUtils.isEmpty(childOids)){
+ for(String childOid: childOids){
+ if(!checkIsLinked(childOid)){
+ return false;
+ }
+ }
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * 鏍¢獙鏄惁琚紩鐢�
+ * @param oid 涓婚敭
+ */
+ private boolean checkIsLinked(String oid){
+ //TODO 娣诲姞闇�瑕佹牎楠屽紩鐢ㄧ殑鍦版柟
+ return false;
+ }
+
+ /**
+ * 鏍¢獙鏄惁鏈変笅绾ц妭鐐癸紝涓嶆牎楠屾槸鍚﹀叧鑱斾簡鏁版嵁
+ *
+ * @param oid 涓婚敭
+ * @return true琛ㄧず鏈変笅绾э紝false琛ㄧず娌℃湁涓嬬骇
+ */
+ @Override
+ public boolean checkHasChild(String oid) {
+ VciBaseUtil.alertNotNull(oid,"涓婚敭");
+ return baseMapper.countAllLevelChildOid(oid.trim()) > 0;
+ }
+
+
+ /**
+ * 鍒犻櫎鍒嗙被妯℃澘瀵硅薄
+ * @param codeClstemplateDTO 鍒嗙被妯℃澘瀵硅薄鏁版嵁浼犺緭瀵硅薄锛宱id鍜宼s闇�瑕佷紶杈�
+ * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐�
+ */
+ @Override
+ public R deleteCodeClassifyTemplate(CodeClstemplateDTO codeClstemplateDTO) {
+ checkIsCanDelete(codeClstemplateDTO);
+ VciBaseUtil.alertNotNull(codeClstemplateDTO,"鍒嗙被妯℃澘瀵硅薄鏁版嵁瀵硅薄",codeClstemplateDTO.getOid(),"鍒嗙被妯℃澘瀵硅薄鐨勪富閿�");
+
+ CodeClstemplateEntity codeClassifyTemplateDO = baseMapper.selectById(codeClstemplateDTO.getOid());
+
+ //鍙湁缂栬緫涓墠鑳藉垹
+ if(!CodeClassifyTemplateLC.EDITING.getValue().equals(codeClassifyTemplateDO.getLcStatus())){
+ return R.fail("鍙湁缂栬緫涓殑锛屾ā鏉挎墠鑳藉垹闄わ紒");
+ }
+ R baseResult = checkIsCanDeleteForDO(codeClstemplateDTO,codeClassifyTemplateDO);
+
+ //妯℃澘oid
+ String templateOid = codeClstemplateDTO.getOid();
+
+ int updateCount = 0;
+
+// WebUtil.setPersistence(false);//涓嶆墽琛屼繚瀛�
+// BatchCBO batchCBO = new BatchCBO();
+
+ if(baseResult.isSuccess()) {
+ //鎵句笅绾х殑锛岃繖涓槸鍙互鍒犻櫎鐨勬椂鍊�
+ List<String> childrenOids = baseMapper.selectAllLevelChildOid(codeClassifyTemplateDO.getOid().trim());
+ if (!CollectionUtils.isEmpty(childrenOids)) {
+ Collection<Collection<String>> childrenCollections = VciBaseUtil.switchCollectionForOracleIn(childrenOids);
+ for (Collection<String> s : childrenCollections) {
+ updateCount += baseMapper.deleteBatchIds(s);
+
+// batchCBO.copyFromOther(batchCBOi);
+ }
+ }
+ }else{
+ return baseResult;
+ }
+ //鎵ц鍒犻櫎鎿嶄綔
+
+ updateCount += baseMapper.deleteById(codeClassifyTemplateDO.getOid());
+// batchCBO.copyFromOther(batchCBO_delete);
+
+ //鍒犻櫎妯℃澘灞炴��
+// VciQueryWrapperForDO templateQueryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class);
+// templateQueryWrapper.addQueryMap("classifyTemplateOid",templateOid);
+ List<CodeClstempattrEntity> codeClstempattrEntityList = codeClstempattrMapper.selectRefByOid(templateOid);
+
+ if(!CollectionUtils.isEmpty(codeClstempattrEntityList)) {
+ List<String> templateAttrOids = new ArrayList<String>();
+ for (CodeClstempattrEntity codeClstempattrEntity:codeClstempattrEntityList){
+ templateAttrOids.add(codeClstempattrEntity.getOid());
+ }
+
+ updateCount += codeClstempattrMapper.deleteBatchIds(templateAttrOids);
+// batchCBO.copyFromOther(batchCBO_templateAttr_delete);
+ }
+
+ //璋冪敤妯℃澘闃舵鏂规硶
+ updateCount += codeTempphaseServiceImpl.codeTemplateDeleteTrigger(templateOid);
+
+ //璋冪敤妯℃澘鎸夐挳鏂规硶
+ updateCount += codeTempbuttonServiceImpl.codeTemplateDeleteTrigger(templateOid);
+
+ //璋冪敤妯℃澘娴佺▼鏂规硶
+ updateCount += codeClsflowtempServiceImpl.codeTemplateDeleteTrigger(templateOid);
+
+ return updateCount > 0?R.success(DELETE_SUCCESS):R.fail(DELETE_FAIL);
+ }
+
+
+ /**
+ * 涓婚敭鑾峰彇鍒嗙被妯℃澘瀵硅薄
+ * @param oid 涓婚敭
+ * @return 鍒嗙被妯℃澘瀵硅薄鏄剧ず瀵硅薄
+ */
+ @Override
+ public CodeClstemplateVO getObjectByOid(String oid) {
+ return codeClassifyTemplateDO2VO(selectByOid(oid));
+ }
+
+ @Override
+ public Collection<CodeClstemplateVO> listCodeClassifyTemplateByOids(List<String> oidCollections) {
+ VciBaseUtil.alertNotNull(oidCollections,"鏁版嵁瀵硅薄涓婚敭闆嗗悎");
+ List<CodeClstemplateEntity> codeClassifyTemplateDOList = listCodeClassifyTemplateDOByOidCollections(oidCollections);
+ return codeClassifyTemplateDO2VOs(codeClassifyTemplateDOList);
+ }
+
+ /**
+ * 鍙傜収鏍� 鍒嗙被妯℃澘瀵硅薄
+ * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄
+ * @return 鍒嗙被妯℃澘瀵硅薄鏄剧ず鏍�
+ * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
+ */
+ @Override
+ public List<Tree> referTree(TreeQueryObject treeQueryObject) {
+ if(treeQueryObject == null){
+ treeQueryObject = new TreeQueryObject();
+ }
+ if(treeQueryObject.getConditionMap() == null){
+ treeQueryObject.setConditionMap(new HashMap<>());
+ }
+ if(treeQueryObject.getConditionMap().containsKey(LC_STATUS)) {
+ treeQueryObject.getConditionMap().remove(LC_STATUS);
+ }
+ treeQueryObject.getConditionMap().put(LC_STATUS,CodeClassifyTemplateLC.RELEASED.getValue());
+ return treeCodeClassifyTemplate(treeQueryObject);
+ }
+
+ /**
+ * 浣跨敤涓婚敭闆嗗悎鏌ヨ鏁版嵁瀵硅薄
+ * @param oidCollections 涓婚敭鐨勯泦鍚�
+ * @return 鏁版嵁瀵硅薄鍒楄〃
+ */
+ private List<CodeClstemplateEntity> listCodeClassifyTemplateDOByOidCollections(Collection<String> oidCollections){
+ List<CodeClstemplateEntity> codeClassifyTemplateDOList = new ArrayList<CodeClstemplateEntity>();
+ if(!CollectionUtils.isEmpty(oidCollections)){
+ Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections);
+ for(Collection<String> oids: oidCollectionsList){
+ List<CodeClstemplateEntity> tempDOList = baseMapper.selectBatchIds(oids); //codeClassifyTemplateMapper.selectByPrimaryKeyCollection(oids);
+ if(!CollectionUtils.isEmpty(tempDOList)){
+ codeClassifyTemplateDOList.addAll(tempDOList);
+ }
+ }
+ }
+ return codeClassifyTemplateDOList;
+ }
+
+ /**
+ * 涓婚敭鏌ヨ鏁版嵁瀵硅薄
+ * @param oid 涓婚敭
+ * @return 鏁版嵁瀵硅薄
+ */
+ private CodeClstemplateEntity selectByOid(String oid) {
+ VciBaseUtil.alertNotNull(oid,"涓婚敭");
+ CodeClstemplateEntity codeClstemplateEntity = baseMapper.selectById(oid.trim());
+ if(codeClstemplateEntity == null || StringUtils.isBlank(codeClstemplateEntity.getOid())){
+ throw new VciBaseException(DATA_OID_NOT_EXIST);
+ }
+ return codeClstemplateEntity;
+ }
+
+ /**
+ * 鍚敤銆佸仠鐢�
+ * @param oid
+ * @param lcStatus
+ * @return
+ */
+ @Override
+ public R updateLcStatus( String oid, String lcStatus){
+ CodeClstemplateEntity 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("妯℃澘鏈惎鐢紝涓嶈兘鍋滅敤锛�");
+ }
+ }
+ //鍚敤銆佸仠鐢�
+ codeClassifyTemplateDO.setLcStatus(lcStatus);
+ int u = baseMapper.updateById(codeClassifyTemplateDO);
+// codeClassifyTemplateMapper.updateLcStatus(oid,lcStatus);
+
+ return u==0?R.fail("淇敼澶辫触锛�"):R.success("淇敼鎴愬姛");
+ }
+
+ /**
+ * 鍗囩増
+ * @param codeClassifyDTO
+ */
+ @Override
+ public R Upgrade(CodeClstemplateDTO codeClassifyDTO) {
+
+ //鏃х殑妯℃澘oid
+ String templateOldOid = codeClassifyDTO.getOid();
+ //鍙湁宸插彂甯冪殑鎵嶈兘鍗囩増
+ CodeClstemplateEntity codeClassifyTemplateDOOld = baseMapper.selectById(templateOldOid);
+ if(!FRAMEWORK_RELEASE_RELEASED.equals(codeClassifyTemplateDOOld.getLcStatus())){
+ return R.fail("璇ユā鏉挎湭鍙戝竷锛屼笉鑳藉崌鐗堬紒");
+ }
+
+ //闇�瑕佹柊澧炵殑鍗囩骇妯℃澘
+// ClientBusinessObject clientBusinessObject_template = boService.selectCBOByOid(codeClassifyDTO.getOid(), "codeclstemplate");
+ CodeClstemplateEntity codeCls_template = baseMapper.selectById(templateOldOid);
+ CodeClstemplateEntity codeCls_template_insert = null;
+// ClientBusinessObject clientBusinessObject_template_insert = null;
+// try {
+//// clientBusinessObject_template_insert = clientBusinessObjectOperation.reviseBusinessObject(clientBusinessObject_template, "");
+//// codeCls_template_insert.setOid((new ObjectUtility()).getNewObjectID36());
+//// toBo.setRevisionid((new ObjectUtility()).getNewObjectID36());
+// codeCls_template_insert.setNameOid(codeCls_template.getNameOid());
+// codeCls_template_insert.setBtmname(codeCls_template.getBtmname());
+//// codeCls_template_insert.setIsLast(1);
+//// codeCls_template_insert.setIsFirstr(0);
+//// codeCls_template_insert.setIsFirstv(1);
+//// codeCls_template_insert.setIsLastV(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());
+// RevisionValueObject rvObj = this.getNextRevision(fromBo.getBtmName(), fromBo.getNameoid(), item.revRuleName, item.revInput, revisionVal);
+// codeCls_template_insert.setRevisionSeq(rvObj.getRevisionSeq());
+// codeCls_template_insert.setRevisionValue(rvObj.getRevisionVal());
+// VersionValueObject versionObj = this.getVersionValue(item.verRuleName);
+// codeCls_template_insert.setVersionSeq(versionObj.getVersionSeq());
+// codeCls_template_insert.setVersionValue(versionObj.getVersionVal());
+// codeCls_template_insert.setLctId(codeCls_template.getLctId());
+// codeCls_template_insert.setLcStatus(this.getLcFirstStatus(item.lifeCycle));
+// 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("鍗囩増鍑洪敊");
+// }
+//
+//
+// CodeClassifyTemplateDO codeClassifyTemplateDO = new CodeClassifyTemplateDO();
+// 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);
+// //鍗囩増杩囧悗鐨勬ā鏉縪id
+// String templateNewOid = codeClassifyTemplateDO.getOid();
+//
+// //闇�瑕佸鍒剁殑妯℃澘灞炴��
+// //鏌ヨ鑰佹ā鏉夸笅杈圭殑鎵�鏈夊睘鎬э紝璧嬪�兼柊妯℃澘oid
+// VciQueryWrapperForDO codeClassifyTemplateAttrQuery = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class);
+// codeClassifyTemplateAttrQuery.addQueryMap("classifyTemplateOid",templateOldOid);
+// List<CodeClassifyTemplateAttrDO> codeClassifyTemplateAttrDOList = codeClassifyTemplateAttrDaoI.selectByWrapper(codeClassifyTemplateAttrQuery);
+// for (CodeClassifyTemplateAttrDO codeClassifyTemplateAttrDO :codeClassifyTemplateAttrDOList){
+// String attrOid = VciBaseUtil.getPk();
+// codeClassifyTemplateAttrDO.setOid(attrOid);
+// codeClassifyTemplateAttrDO.setClassifyTemplateOid(templateNewOid);
+// }
+//
+// //澶嶅埗妯℃澘娴佺▼
+// List<CodeClassifyProcessTempDO> codeClassifyProcessTempDOList = copyTemplateProcess(templateOldOid,templateNewOid);
+//
+// //澶嶅埗妯℃澘闃舵锛岄樁娈靛睘鎬�
+// Map phase_attrMap = copyTemplatePhase_attr(templateOldOid,templateNewOid);
+//
+// List<CodeTemplatePhaseDO> codeClassifyPhaseDOList = (ArrayList<CodeTemplatePhaseDO>)phase_attrMap.get("phase");//妯℃澘闃舵
+// List<CodePhaseAttrDO> codePhaseAttrDOList = (ArrayList<CodePhaseAttrDO>)phase_attrMap.get("phaseAttr");//闃舵灞炴��
+//
+// //澶嶅埗妯℃澘鎸夐挳
+// List<CodeClassifyTemplateButtonDO> 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);//涓�璧锋墽琛屼繚瀛�
+//
+// return BaseResult.success("鍗囩増鎴愬姛锛�");
+ return R.success("鍗囩増鎴愬姛锛�");
+ }
}
--
Gitblit v1.9.3