From 35a36f60cdbd9ef3bf2ab7be9f418f988c93c5eb Mon Sep 17 00:00:00 2001 From: yuxc <653031404@qq.com> Date: 星期五, 21 四月 2023 17:05:02 +0800 Subject: [PATCH] 1、主题库定义相关代码。 2、枚举定义相关代码移植修改。 --- 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