From 2948ec26c9e8f9f4dabda83a0a68f077ab98ccb7 Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期四, 24 八月 2023 18:29:20 +0800
Subject: [PATCH] pom还原
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java | 735 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 721 insertions(+), 14 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
index 157a9c3..30835c5 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
@@ -1,33 +1,61 @@
package com.vci.ubcs.code.service.impl;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.nacos.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
+
+import com.vci.ubcs.code.dto.CodeClassifyTemplateAttrDTO;
import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr;
-import com.vci.ubcs.code.entity.CodeClstemplateEntity;
+import com.vci.ubcs.code.entity.CodeClassifyTemplate;
+import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum;
import com.vci.ubcs.code.mapper.CodeClassifyTemplateAttrMapper;
+import com.vci.ubcs.code.mapper.CodeClassifyTemplateMapper;
import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService;
+import com.vci.ubcs.code.service.ICodeReferConfigService;
+import com.vci.ubcs.code.service.ICodeTempphaseService;
+import com.vci.ubcs.code.vo.CodeReferConfigVO;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
-import com.vci.ubcs.code.wrapper.CodeClstempattrWrapper;
-import com.vci.ubcs.common.utils.PageDO2PageVO;
+import com.vci.ubcs.code.vo.pagemodel.UIFormReferVO;
+import com.vci.ubcs.code.wrapper.CodeClassifyTemplateAttrWrapper;
+import com.vci.ubcs.omd.feign.IBtmTypeClient;
+import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
+import com.vci.ubcs.omd.vo.BtmTypeVO;
import com.vci.ubcs.starter.exception.VciBaseException;
-import com.vci.ubcs.starter.util.Map2MPLLambdaUtil;
-import com.vci.ubcs.starter.util.MybatisParameterUtil;
+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.util.PatternUtil;
+import com.vci.ubcs.starter.util.UBCSCondition;
import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
-import com.vci.ubcs.starter.web.pagemodel.DataGrid;
+import com.vci.ubcs.starter.web.pagemodel.*;
import com.vci.ubcs.starter.web.pagemodel.PageHelper;
import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
+import com.vci.ubcs.starter.web.util.VciDateUtil;
+import com.vci.ubcs.system.entity.DictBiz;
+import com.vci.ubcs.system.feign.IDictBizClient;
+import org.springblade.core.log.exception.ServiceException;
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.context.annotation.Lazy;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.*;
+import java.util.stream.Collectors;
+
+import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.*;
+import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_OID_NOT_EXIST;
/**
* 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф湇鍔�
@@ -42,6 +70,31 @@
*/
@Resource
private CodeClassifyTemplateAttrMapper codeClassifyTemplateAttrMapper;
+
+ @Resource
+ IDictBizClient iDictBizClient;
+
+ @Resource
+ CodeClassifyTemplateMapper codeClassifyTemplateMapper;
+
+ @Resource
+ private ICodeReferConfigService codeReferConfigService;
+
+ @Resource
+ @Lazy
+ ICodeTempphaseService codeTempphaseService;
+
+ /**
+ * 瀵硅薄鐨勬搷浣�
+ */
+ @Autowired(required = false)
+ private RevisionModelUtil revisionModelUtil;
+
+ /**
+ * 灞炴�ф湇鍔″璞�
+ */
+ @Resource
+ private IBtmTypeClient btmTypeClient;
/**
* 鏌ヨ鎵�鏈夌殑涓婚搴撳垎绫荤殑妯℃澘灞炴��
@@ -65,13 +118,12 @@
query.setSize(pageHelper.getLimit());
}
//pageHelper.addDefaultAsc("ordernum");
- query.setAscs("ordernum");
+ query.setAscs("ORDERNUM");
//杩欏効鏄釜杩炶〃鏌ヨ
IPage<CodeClassifyTemplateAttr> doList = codeClassifyTemplateAttrMapper.selectPage(Condition.getPage(query), mpjLambdaWrapper);
IPage<CodeClassifyTemplateAttrVO> voList = new Page<>();
if (!CollectionUtils.isEmpty(doList.getRecords())) {
- voList.setRecords(CodeClstempattrWrapper.build().listVO(doList.getRecords()));
- PageDO2PageVO.pageDO2PageVO(doList,voList);
+ voList = CodeClassifyTemplateAttrWrapper.build().pageVO(doList);
}
return voList;
}
@@ -84,11 +136,11 @@
* @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
*/
@Override
- public IPage<CodeClassifyTemplateAttrVO> refDataGridCodeClassifyTemplateAttr(Map<String, Object> conditionMap, PageHelper pageHelper) throws VciBaseException{
+ public IPage<CodeClassifyTemplateAttrVO> refDataGridCodeClassifyTemplateAttr(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{
if(conditionMap == null){
- conditionMap = new HashMap<String, Object>();
+ conditionMap = new HashMap<String, String>();
}
- return gridCodeClassifyTemplateAttr(Map2MPLLambdaUtil.getMPJLambdaWrapper(conditionMap, CodeClassifyTemplateAttr.class),pageHelper);
+ return gridCodeClassifyTemplateAttr(UBCSCondition.getMPJLambdaWrapperByMapString(conditionMap, CodeClassifyTemplateAttr.class),pageHelper);
}
@Override
@@ -113,7 +165,11 @@
// conditionMap.put("classifytemplateoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(templateOids.toArray(new String[0])) + ")");
// PageHelper pageHelper = new PageHelper(-1);
// pageHelper.addDefaultAsc("orderNum");
- List<CodeClassifyTemplateAttr> attrDOS = baseMapper.selectByClassifytemplateoid(VciBaseUtil.toInSql(templateOids.toArray(new String[0])));
+// QueryWrapper<CodeClassifyTemplateAttr> wrapper = new QueryWrapper<>();
+// wrapper.in("classifytemplateoid",templateOids);
+// wrapper.orderByAsc("orderNum");
+ List<CodeClassifyTemplateAttr> attrDOS = baseMapper.selectByClassifytemplateoidRel(VciBaseUtil.toInSql(templateOids.toArray(new String[0])));
+// baseMapper.selectByClassifytemplateoid(VciBaseUtil.toInSql(templateOids.toArray(new String[0])));
if(!CollectionUtils.isEmpty(attrDOS)){
attrDOList.addAll(attrDOS);
@@ -159,6 +215,657 @@
return vo;
}
+ // @Override
+// public IPage<CodeClassifyTemplateAttrVO> selectCodeClstempattrPage(IPage<CodeClassifyTemplateAttrVO> page, CodeClassifyTemplateAttrVO CodeClstempattr) {
+// return page.setRecords(baseMapper.selectCodeClstempattrPage(page, CodeClstempattr));
+// }
+// /**
+// * 浣跨敤妯℃澘鐨勪富閿幏鍙栨ā鏉跨殑灞炴��--鎵归噺
+// *
+// * @param templateOidCollection 妯℃澘鐨勪富閿�
+// * @return 灞炴�х殑淇℃伅
+// */
+// @Override
+// public List<CodeClassifyTemplateAttrVO> listCodeClassifyTemplateAttrByTemplateOids(Collection<String> templateOidCollection) {
+// if(CollectionUtils.isEmpty(templateOidCollection)){
+// return new ArrayList<>();
+// }
+// List<CodeClassifyTemplateAttr> attrDOList = new ArrayList<>();
+// VciBaseUtil.switchCollectionForOracleIn(templateOidCollection).stream().forEach(templateOids->{
+//// Map<String,String> conditionMap = new HashMap<>();
+//// conditionMap.put("classifytemplateoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(templateOids.toArray(new String[0])) + ")");
+//// PageHelper pageHelper = new PageHelper(-1);
+//// pageHelper.addDefaultAsc("orderNum");
+// List<CodeClassifyTemplateAttr> attrDOS = baseMapper.selectByClassifytemplateoid(VciBaseUtil.toInSql(templateOids.toArray(new String[0])));
+//
+// if(!CollectionUtils.isEmpty(attrDOS)){
+// attrDOList.addAll(attrDOS);
+// }
+// });
+// return codeClassifyTemplateAttrDO2VOs(attrDOList);
+// }
+
+// /**
+// * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
+// * @param codeClassifyTemplateAttrDOs 鏁版嵁瀵硅薄鍒楄〃
+// * @return 鏄剧ず瀵硅薄
+// */
+// @Override
+// public List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrDO2VOs(Collection<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOs){
+// List<CodeClassifyTemplateAttrVO> voList = new ArrayList<CodeClassifyTemplateAttrVO>();
+// if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOs)){
+// for(CodeClassifyTemplateAttr s: codeClassifyTemplateAttrDOs){
+// CodeClassifyTemplateAttrVO vo = codeClassifyTemplateAttrDO2VO(s);
+// if(vo != null){
+// voList.add(vo);
+// }
+// }
+// }
+// return voList;
+// }
+
+// /**
+// * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
+// * @param codeClassifyTemplateAttrDO 鏁版嵁瀵硅薄
+// * @return 鏄剧ず瀵硅薄
+// */
+// @Override
+// public CodeClassifyTemplateAttrVO codeClassifyTemplateAttrDO2VO(CodeClassifyTemplateAttr codeClassifyTemplateAttrDO){
+// CodeClassifyTemplateAttrVO vo = new CodeClassifyTemplateAttrVO();
+// if(codeClassifyTemplateAttrDO != null){
+// BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDO,vo);
+// //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽
+// vo.setAttributeDataTypeText(VciFieldTypeEnum.getTextByValue(vo.getAttributeDataType()));
+// }
+// return vo;
+// }
+
+ /**
+ * 鏌ヨ鎵�鏈夌殑涓婚搴撳垎绫荤殑妯℃澘灞炴��
+ * @param conditionMap 鏌ヨ鏉′欢
+ * @param pageHelper 鍒嗛〉鍜屾帓搴�
+ * @return 鎵ц缁撴灉
+ */
+ @Override
+ public DataGrid<CodeClassifyTemplateAttrVO> gridCodeClassifyTemplateAttr(Map<String, String> conditionMap, PageHelper pageHelper) {
+ DataGrid<CodeClassifyTemplateAttrVO> dataGrid=new DataGrid<>();
+ //娌℃湁浼犻�掑弬鏁帮紝灏变笉鎵ц鏌ヨ閫昏緫
+ if(conditionMap.size()==0){
+ dataGrid.setData(new ArrayList<>());
+ dataGrid.setTotal(0);
+ return dataGrid;
+ }
+
+ if (pageHelper == null) {
+ pageHelper = new PageHelper(-1);
+ }
+ pageHelper.addDefaultAsc("ordernum");
+ Query query = new Query();
+ query.setAscs("ordernum");
+ query.setSize(pageHelper.getLimit());
+ if(pageHelper.getLimit() != -1){
+ query.setCurrent(pageHelper.getPage());
+ }
+ IPage<CodeClassifyTemplateAttr> doList = baseMapper.
+ selectPage(Condition.getPage(query), UBCSCondition.getQueryWrapperByMapString(conditionMap,CodeClassifyTemplateAttr.class).orderByAsc("ordernum"));
+ if (!CollectionUtils.isEmpty(doList.getRecords())) {
+ dataGrid.setData(codeClassifyTemplateAttrDO2VOs(doList.getRecords()));
+ dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(baseMapper.selectCount(UBCSCondition.getQueryWrapperByMapString(conditionMap,CodeClassifyTemplateAttr.class)))));
+ }
+ return dataGrid;
+ }
+
+ /**
+ * 澧炲姞涓婚搴撳垎绫荤殑妯℃澘灞炴��
+ * @param codeClassifyTemplateAttrDTO 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф暟鎹紶杈撳璞�
+ * @return 鎵ц缁撴灉
+ */
+ @Override
+ public CodeClassifyTemplateAttrVO addSave(CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO){
+ VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄");
+ //灏咲TO杞崲涓篋O
+ CodeClassifyTemplateAttr codeClassifyTemplateAttrDO = new CodeClassifyTemplateAttr();
+ BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO);
+ DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyTemplateAttrDO,"codeclstempattr");
+ baseMapper.insert(codeClassifyTemplateAttrDO);
+ return codeClassifyTemplateAttrDO2VO(codeClassifyTemplateAttrDO);
+ }
+
+ /**
+ * 鎵归噺娣诲姞
+ * @param codeClassifyTemplateAttrDTOs 鏁版嵁浼犺緭瀵硅薄
+ * @return 淇濆瓨鍚庣殑鏄剧ず瀵硅薄
+ */
+ @Override
+ @Transactional
+ public List<CodeClassifyTemplateAttrVO> batchAddSave(List<CodeClassifyTemplateAttrDTO> codeClassifyTemplateAttrDTOs) {
+ if(CollectionUtils.isEmpty(codeClassifyTemplateAttrDTOs)){
+ return new ArrayList<>();
+ }
+
+ //鍙栨墍鏈夊睘鎬х殑鑻辨枃鍚嶇О锛岀涓変釜楠岃瘉闇�瑕佺敤鍒�
+ Map<String,CodeClassifyTemplateAttrDTO> attrDTOMap =codeClassifyTemplateAttrDTOs.stream().collect(Collectors.toMap(s->s.getId().toLowerCase(Locale.ROOT), t->t));
+
+ //鎵惧睘鎬т腑鏂囧悕瀛楅噸澶�
+ Map<String, Long> nameCountMap = codeClassifyTemplateAttrDTOs.stream().collect(Collectors.groupingBy(s -> s.getName(), Collectors.counting()));
+ List<String> repeatNameList = nameCountMap.keySet().stream().filter(s -> nameCountMap.get(s) > 1).collect(Collectors.toList());
+ if(!CollectionUtils.isEmpty(repeatNameList)){
+ throw new VciBaseException("妯℃澘灞炴�т腑鏂囧悕绉般�恵0}銆戦噸澶�",new String[]{ repeatNameList.stream().collect(Collectors.joining(","))});
+ }
+ //鎵惧睘鎬ц嫳鏂囧悕瀛楅噸澶�
+ Map<String, Long> idCountMap = codeClassifyTemplateAttrDTOs.stream().collect(Collectors.groupingBy(s -> s.getId().toLowerCase(Locale.ROOT), Collectors.counting()));
+ List<String> repeatIdList = idCountMap.keySet().stream().filter(s -> idCountMap.get(s) > 1).collect(Collectors.toList());
+ if(!CollectionUtils.isEmpty(repeatIdList)){
+ throw new VciBaseException("妯℃澘灞炴�ц嫳鏂囧悕绉般�恵0}銆戦噸澶�",new String[]{ repeatIdList.stream().collect(Collectors.joining(","))});
+ }
+
+ // 妯℃澘oid
+ String CLASSIFYTEMPLATEOID = null;
+ //
+ CodeReferConfigVO codeReferConfigVO = null;
+ //杞崲
+ List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOInsert = new ArrayList<CodeClassifyTemplateAttr>();
+ List<String> prefix = new ArrayList<>();
+ List<String> suffix = new ArrayList<>();
+ List<String> dateFormates = new ArrayList<>();
+ for (CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO:codeClassifyTemplateAttrDTOs){
+ VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄");
+ //灏咲TO杞崲涓篋O
+ CodeClassifyTemplateAttr codeClassifyTemplateAttrDO = new CodeClassifyTemplateAttr();
+ BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO);
+ codeClassifyTemplateAttrDO.setCreateTime(codeClassifyTemplateAttrDO.getCreateTime()!=null?codeClassifyTemplateAttrDO.getCreateTime():new Date());
+ codeClassifyTemplateAttrDO.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
+ codeClassifyTemplateAttrDO.setLastModifyTime(new Date());
+ codeClassifyTemplateAttrDO.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
+ codeClassifyTemplateAttrDOInsert.add(codeClassifyTemplateAttrDO);
+
+ if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getPrefixValue())){
+ prefix.add(codeClassifyTemplateAttrDO.getPrefixValue());
+ }
+ if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getSuffixValue())){
+ suffix.add(codeClassifyTemplateAttrDO.getSuffixValue());
+ }
+ if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getCodeDateFormat())){
+ dateFormates.add(codeClassifyTemplateAttrDO.getCodeDateFormat());
+ }
+ //鍒ゆ柇浼犺繃鏉ョ殑鏋氫妇娉ㄥ叆鏄惁鏄痡sonArr鏍煎紡
+ if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getEnumString())&&!checkKVArr(codeClassifyTemplateAttrDO.getEnumString())){
+ throw new VciBaseException("{0}{1}灞炴�х殑鏋氫妇娉ㄥ叆鏁版嵁鏍煎紡閿欒!",new String[]{codeClassifyTemplateAttrDO.getId(),codeClassifyTemplateAttrDO.getName()});
+ }
+ //鍒嗙被娉ㄥ叆
+ if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getClassifyInvokeAttr())
+ && !CodeLevelTypeEnum.MIN.getValue().equalsIgnoreCase(codeClassifyTemplateAttrDO.getClassifyInvokeLevel())
+ && VciBaseUtil.getInt(codeClassifyTemplateAttrDO.getClassifyInvokeLevel()) < 0){
+ throw new VciBaseException("{0}{1}灞炴�х殑鏄垎绫绘敞鍏ワ紝浣嗘槸娉ㄥ叆灞傜骇涓嶈兘灏忎簬0!",new String[]{codeClassifyTemplateAttrDO.getId(),codeClassifyTemplateAttrDO.getName()});
+ }
+
+ //鍒ゆ柇浼犺繃鏉ョ殑鍙傜収閰嶇疆鏄惁鏄痡son鏍煎紡
+ if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getReferConfig())&&!checkKVObj(codeClassifyTemplateAttrDO.getReferConfig())){
+ throw new VciBaseException("{0}{1}灞炴�х殑鍙傜収閰嶇疆鏁版嵁鏍煎紡閿欒!",new String[]{codeClassifyTemplateAttrDO.getId(),codeClassifyTemplateAttrDO.getName()});
+ }
+ if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getCodeDateFormat()) && !checkDateFormat(codeClassifyTemplateAttrDO.getCodeDateFormat())){
+ throw new VciBaseException("{0}{1}灞炴�х殑鏃堕棿鏍煎紡涓嶇鍚堣姹�",new String[]{codeClassifyTemplateAttrDO.getId(),codeClassifyTemplateAttrDO.getName()});
+ }
+ //濡傛灉鏄粍鍚堣鍒欙紝閲岄潰浣跨敤鐨勫睘鎬т笉鑳界己澶憋紝涔熼兘寰楁樉绀�
+ String componentrule = codeClassifyTemplateAttrDTO.getComponentRule();
+ boolean isContainsDynamicParameter = PatternUtil.isContainsDynamicParameter(componentrule);
+ if(isContainsDynamicParameter){
+ List<String> userdAttrList = PatternUtil.getKeyListByContent(componentrule);//鍖呭惈鐨勬墍鏈�${xxx}涓殑xxx
+ if(!CollectionUtils.isEmpty(userdAttrList)){
+ String unExistAttr = userdAttrList.stream().filter(s -> !attrDTOMap.containsKey(s.toLowerCase(Locale.ROOT))).collect(Collectors.joining(","));
+ if(StringUtils.isNotBlank(unExistAttr)){
+ throw new VciBaseException("{0}灞炴�ф槸缁勫悎瑙勫垯锛屼絾鏄鍒欓噷鍖呭惈鐨勫睘鎬{1}]鍦ㄥ綋鍓嶆ā鏉夸腑涓嶅瓨鍦�!",new String[]{codeClassifyTemplateAttrDO.getName(), unExistAttr});
+ }
+ //瑕佺湅鐪嬭〃鍗曟槸鍚︽樉绀�
+ String unFormDisplayAttr = userdAttrList.stream().filter(s -> !VciBaseUtil.getBoolean(attrDTOMap.getOrDefault(s.toLowerCase(Locale.ROOT),
+ new CodeClassifyTemplateAttrDTO()).getFormDisplayFlag())).collect(Collectors.joining(","));
+ if(StringUtils.isNotBlank(unFormDisplayAttr)){
+ throw new VciBaseException("{0}灞炴�ф槸缁勫悎瑙勫垯锛屼絾鏄鍒欓噷鍖呭惈鐨勫睘鎬{1}]鍦ㄥ綋鍓嶆ā鏉夸腑娌℃湁璁剧疆 琛ㄥ崟鏄剧ず ",new String[]{codeClassifyTemplateAttrDO.getName(),unFormDisplayAttr});
+ }
+ }
+ }
+
+ if(CLASSIFYTEMPLATEOID==null){
+ CLASSIFYTEMPLATEOID = codeClassifyTemplateAttrDTO.getClassifyTemplateOid();
+ }
+
+ // 鍙傜収閰嶇疆鏄惁闇�瑕佹寔涔呭寲
+ codeReferConfigVO = JSONObject.parseObject(codeClassifyTemplateAttrDTO.getReferConfig(), CodeReferConfigVO.class);
+ if(Func.isNotEmpty(codeReferConfigVO) && codeReferConfigVO.getIsPersistence()=="true"){
+ codeReferConfigService.insert(codeReferConfigVO);
+ }
+ }
+
+ //鍏堥兘鍒犱簡
+ Map<String,Object> condition = new HashMap<>();
+ condition.put("CLASSIFYTEMPLATEOID",CLASSIFYTEMPLATEOID);
+ List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDODelete = baseMapper.selectByMap(condition);
+
+ //oids
+ List<String> oids = new ArrayList<String>();
+ for (CodeClassifyTemplateAttr codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDODelete){
+ oids.add(codeClassifyTemplateAttrDO.getOid());
+ }
+ if(!CollectionUtils.isEmpty(oids)){
+ this.removeBatchByIds(oids);
+ }
+ //鍐嶆柊澧�
+ if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOInsert)){
+ this.saveBatch(codeClassifyTemplateAttrDOInsert);
+ }
+
+ //璋冪敤闃舵
+ if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOInsert)){
+ codeTempphaseService.codeTemplateAttrModifyTrigger(codeClassifyTemplateAttrDOInsert);
+
+ }
+
+ //澶勭悊鍙緭鍙�夌殑瀛楃
+ if(!CollectionUtils.isEmpty(prefix)){
+ for (String s : prefix) {
+ DictBiz dictBiz = new DictBiz();
+ dictBiz.setCode(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR);
+ dictBiz.setDictKey("prefix");
+ dictBiz.setDictValue(s);
+ iDictBizClient.getCheck(dictBiz) ;
+ }
+ }
+ if(!CollectionUtils.isEmpty(suffix)){
+ for (String s : suffix) {
+ DictBiz dictBiz = new DictBiz();
+ dictBiz.setCode(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR);
+ dictBiz.setDictKey("suffix");
+ dictBiz.setDictValue(s);
+ iDictBizClient.getCheck(dictBiz) ;
+ }
+ }
+ if(!CollectionUtils.isEmpty(dateFormates)){
+ for (String s : dateFormates) {
+ DictBiz dictBiz = new DictBiz();
+ dictBiz.setCode(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR);
+ dictBiz.setDictKey("dateFormates");
+ dictBiz.setDictValue(s);
+ iDictBizClient.getCheck(dictBiz) ;
+ }
+ }
+ return codeClassifyTemplateAttrDO2VOs(codeClassifyTemplateAttrDOInsert);
+ }
+
+ public boolean checkKVArr(String kvString){
+ boolean isKV = true;
+ try {
+ JSONObject.parseArray(kvString, KeyValue.class);
+ }catch (Exception e){
+ isKV=false;
+ }
+ return isKV;
+ }
+
+ public boolean checkKVObj(String kvString){
+ boolean isKV = true;
+ try {
+ JSONObject.parseObject(kvString, UIFormReferVO.class);
+ }catch (Exception e){
+ isKV=false;
+ }
+ return isKV;
+ }
+
+ /**
+ * 鏍¢獙鏃堕棿鏍煎紡
+ * @param dateFormat 鏃堕棿鏍煎紡
+ * @return true琛ㄧず鏍¢獙閫氳繃
+ */
+ public boolean checkDateFormat(String dateFormat){
+ try{
+ VciDateUtil.date2Str(new Date(),dateFormat);
+ return true;
+ }catch (Throwable e){
+ return false;
+ }
+ }
+
+ /**
+ * 淇敼涓婚搴撳垎绫荤殑妯℃澘灞炴��
+ * @param codeClassifyTemplateAttrDTO 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф暟鎹紶杈撳璞�
+ * @return 鎵ц缁撴灉
+ * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
+ */
+ @Override
+ public R editSave(CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO) throws VciBaseException{
+ VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"鏁版嵁瀵硅薄",codeClassifyTemplateAttrDTO.getOid(),"涓婚搴撳垎绫荤殑妯℃澘灞炴�т富閿�");
+
+ //鍒ゆ柇浼犺繃鏉ョ殑鏋氫妇娉ㄥ叆鏄惁鏄痡sonArr鏍煎紡
+ if(StringUtils.isNotBlank(codeClassifyTemplateAttrDTO.getEnumString())&&!checkKVArr(codeClassifyTemplateAttrDTO.getEnumString())){
+ throw new VciBaseException("鏋氫妇娉ㄥ叆鏁版嵁鏍煎紡閿欒!");
+ }
+
+ //鍒ゆ柇浼犺繃鏉ョ殑鍙傜収閰嶇疆鏄惁鏄痡son鏍煎紡
+ if(StringUtils.isNotBlank(codeClassifyTemplateAttrDTO.getReferBtmId())&&!checkKVObj(codeClassifyTemplateAttrDTO.getReferBtmId())){
+ throw new VciBaseException("鏋氫妇娉ㄥ叆鏁版嵁鏍煎紡閿欒!");
+ }
+
+
+ //妫�鏌s
+ CodeClassifyTemplateAttr codeClassifyTemplateAttrDOCopyFromDTO = new CodeClassifyTemplateAttr();
+// BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDOCopyFromDTO);
+// boolean tsBoolean = boService.checkTs(codeClassifyTemplateAttrDOCopyFromDTO);
+
+ //妫�鏌s
+// Map<String,Object> condition = new HashMap<>(2);
+// condition.put("oid",codeClassifyTemplateAttrDTO.getOid());
+// condition.put("ts",codeClassifyTemplateAttrDTO.getTs());
+ CodeClassifyTemplateAttr detail = baseMapper.selectById(codeClassifyTemplateAttrDTO.getOid());
+ if(!detail.getTs().toString().equals(codeClassifyTemplateAttrDTO.getTs().toString())){//涓嶆槸鏈�鏂扮殑涓嶈鏀�
+ return R.fail("褰撳墠鏁版嵁涓嶆槸鏈�鏂帮紝璇峰埛鏂板悗鍐嶄慨鏀癸紒");
+ }
+
+ //灏咲TO杞崲涓篋O
+ CodeClassifyTemplateAttr codeClassifyTemplateAttrDO = baseMapper.selectById(codeClassifyTemplateAttrDTO.getOid());
+ revisionModelUtil.copyFromDTOIgnore(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO);
+ baseMapper.updateById(codeClassifyTemplateAttrDO);
+ return R.data(codeClassifyTemplateAttrDO2VO(codeClassifyTemplateAttrDO));
+ }
+
+ /**
+ * 鍒犻櫎涓婚搴撳垎绫荤殑妯℃澘灞炴��
+ * @param codeClassifyTemplateAttrDTO 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф暟鎹紶杈撳璞★紝oid鍜宼s闇�瑕佷紶杈�
+ * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐�
+ * @throws VciBaseException 鍙傛暟涓虹┖锛岃寮曠敤鏃舵姏鍑哄紓甯�
+ */
+ @Override
+ public R deleteCodeClassifyTemplateAttr(CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO) throws VciBaseException{
+ VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"涓婚搴撳垎绫荤殑妯℃澘灞炴�ф暟鎹璞�",codeClassifyTemplateAttrDTO.getOid(),"涓婚搴撳垎绫荤殑妯℃澘灞炴�х殑涓婚敭");
+ CodeClassifyTemplateAttr codeClassifyTemplateAttrDO = baseMapper.selectById(codeClassifyTemplateAttrDTO.getOid());
+ R baseResult = checkIsCanDeleteForDO(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO);
+ if(baseResult.isSuccess()) {
+ }else{
+ return baseResult;
+ }
+ //鎵ц鍒犻櫎鎿嶄綔
+ int deleteNum = baseMapper.deleteById(codeClassifyTemplateAttrDO.getOid());
+ return deleteNum>0?R.success(DELETE_SUCCESS):R.fail(DELETE_FAIL);
+ }
+
+ /**
+ * 鏍¢獙鏄惁鍙互鍒犻櫎锛屽鏋滃瓨鍦ㄤ笅绾э紝骞朵笖涓嬬骇鏈夋暟鎹紩鐢ㄥ垯涓嶈兘鍒犻櫎
+ * @param codeClassifyTemplateAttrDTO 鏁版嵁浼犺緭瀵硅薄
+ * @param codeClassifyTemplateAttrDO 鏁版嵁搴撲腑鐨勬暟鎹璞�
+ * @return success涓簍rue涓哄彲浠ュ垹闄わ紝false琛ㄧず鏈夋暟鎹紩鐢紝obj涓簍rue琛ㄧず鏈変笅绾�
+ */
+ private R checkIsCanDeleteForDO(CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO, CodeClassifyTemplateAttr codeClassifyTemplateAttrDO) {
+// boService.checkTs(codeClassifyTemplateAttrDO);
+// Map<String,Object> condition = new HashMap<>(2);
+// condition.put("oid",codeClassifyTemplateAttrDTO.getOid());
+// condition.put("ts",codeClassifyTemplateAttrDTO.getTs());
+ CodeClassifyTemplateAttr detail = baseMapper.selectById(codeClassifyTemplateAttrDTO.getOid());
+// .selectOne(Condition.getQueryWrapper(condition,CodeClstempattrEntity.class));
+
+ if(!detail.getTs().toString().equals(codeClassifyTemplateAttrDTO.getTs().toString())){//涓嶆槸鏈�鏂扮殑涓嶈鏀�
+ return R.fail("褰撳墠鏁版嵁涓嶆槸鏈�鏂帮紝璇峰埛鏂板悗鍐嶄慨鏀癸紒");
+ }
+ if(!checkIsLinked(codeClassifyTemplateAttrDO.getOid())) {
+ return R.success("鍙互鍒犻櫎锛�");
+ }else{
+ return R.fail(DATA_LINKED_NOT_DELETE);
+ }
+ }
+
+ /**
+ * 鏍¢獙鏄惁琚紩鐢�
+ * @param oid 涓婚敭
+ * @throws VciBaseException 琚紩鐢ㄧ殑鏃跺�欎細鎶涘嚭寮傚父
+ */
+ private boolean checkIsLinked(String oid) throws VciBaseException{
+ //TODO 娣诲姞闇�瑕佹牎楠屽紩鐢ㄧ殑鍦版柟
+ return false;
+ }
+
+ /**
+ * 涓婚敭鑾峰彇涓婚搴撳垎绫荤殑妯℃澘灞炴��
+ * @param oid 涓婚敭
+ * @return 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф樉绀哄璞�
+ * @throws VciBaseException 鍙傛暟涓虹┖锛屾暟鎹笉瀛樺湪鏃朵細鎶涘嚭寮傚父
+ */
+ @Override
+ public CodeClassifyTemplateAttrVO getObjectByOid(String oid) throws VciBaseException{
+ return codeClassifyTemplateAttrDO2VO(selectByOid(oid));
+ }
+
+ /**
+ * 涓婚敭鏌ヨ鏁版嵁瀵硅薄
+ * @param oid 涓婚敭
+ * @return 鏁版嵁瀵硅薄
+ * @throws VciBaseException 鍙傛暟涓虹┖锛屽苟涓旀暟鎹笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ private CodeClassifyTemplateAttr selectByOid(String oid) throws VciBaseException{
+ VciBaseUtil.alertNotNull(oid,"涓婚敭");
+ CodeClassifyTemplateAttr codeClassifyTemplateAttrDO = baseMapper.selectById(oid.trim());
+ if(codeClassifyTemplateAttrDO == null || StringUtils.isBlank(codeClassifyTemplateAttrDO.getOid())){
+ throw new VciBaseException(DATA_OID_NOT_EXIST);
+ }
+ return codeClassifyTemplateAttrDO;
+ }
+
+ /**
+ * 涓婚敭鎵归噺鑾峰彇涓婚搴撳垎绫荤殑妯℃澘灞炴��
+ * @param oidCollections 涓婚敭闆嗗悎锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓�
+ * @return 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф樉绀哄璞�
+ * @throws VciBaseException 鏌ヨ鍑虹幇寮傚父鏃朵細鎶涘嚭
+ */
+ @Override
+ public Collection<CodeClassifyTemplateAttrVO> listCodeClassifyTemplateAttrByOids(Collection<String> oidCollections) {
+ VciBaseUtil.alertNotNull(oidCollections,"鏁版嵁瀵硅薄涓婚敭闆嗗悎");
+ List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList = listCodeClassifyTemplateAttrDOByOidCollections(oidCollections);
+ return codeClassifyTemplateAttrDO2VOs(codeClassifyTemplateAttrDOList);
+ }
+
+ /**
+ * 浣跨敤涓婚敭闆嗗悎鏌ヨ鏁版嵁瀵硅薄
+ * @param oidCollections 涓婚敭鐨勯泦鍚�
+ * @return 鏁版嵁瀵硅薄鍒楄〃
+ */
+ private List<CodeClassifyTemplateAttr> listCodeClassifyTemplateAttrDOByOidCollections(Collection<String> oidCollections){
+ List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList = new ArrayList<CodeClassifyTemplateAttr>();
+ if(!CollectionUtils.isEmpty(oidCollections)){
+ Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections);
+ for(Collection<String> oids: oidCollectionsList){
+ List<CodeClassifyTemplateAttr> tempDOList = baseMapper.selectBatchIds(oids);
+ if(!CollectionUtils.isEmpty(tempDOList)){
+ codeClassifyTemplateAttrDOList.addAll(tempDOList);
+ }
+ }
+ }
+ return codeClassifyTemplateAttrDOList;
+ }
+
+ /**
+ * 鏌ヨ杩欎釜妯℃澘锛屼笟鍔$被鍨嬩笅鐨勬墍鏈夋湭閫夋嫨鐨勫睘鎬�
+ * @param baseQueryObject
+ * @return
+ */
+ @Override
+ public DataGrid<BtmTypeAttributeVO> codeClassifyTemplateAttrByBtm(BaseQueryObject baseQueryObject){
+ if(baseQueryObject.getConditionMap() == null){
+ baseQueryObject.setConditionMap(new HashMap<>());
+ }
+ DataGrid<BtmTypeAttributeVO> dataGrid=new DataGrid<BtmTypeAttributeVO>();
+ //妯℃澘oid
+ String templateAttrOid = baseQueryObject.getConditionMap().get("oid");
+ String name = baseQueryObject.getConditionMap().getOrDefault("name","");
+ String id = baseQueryObject.getConditionMap().getOrDefault("id","");
+
+ //娌℃湁oid涓嶆墽琛岄�昏緫
+ if(StringUtils.isBlank(templateAttrOid)){
+ dataGrid.setData(new ArrayList<>());
+ dataGrid.setTotal(0);
+ return dataGrid;
+ }
+
+ //鏌ヨ妯℃澘瀵硅薄
+ CodeClassifyTemplate codeClassifyTemplateDO = codeClassifyTemplateMapper.selectById(templateAttrOid);
+ // 娌℃湁妯℃澘瀵硅薄涓嶆墽琛岄�昏緫
+ if(Objects.isNull(codeClassifyTemplateDO)){
+ dataGrid.setData(new ArrayList<>());
+ dataGrid.setTotal(0);
+ return dataGrid;
+ }
+ //杩欎釜涓氬姟绫诲瀷涓嬬殑鎵�鏈夊睘鎬�
+ R<BtmTypeVO> btmTypeVOR = btmTypeClient.getAllAttributeByBtmId(codeClassifyTemplateDO.getBtmTypeId());
+ if(!btmTypeVOR.isSuccess()){
+ throw new ServiceException("涓氬姟绫诲瀷feign璋冪敤閿欒锛�");
+ }
+
+ //杩欎釜妯℃澘涓嬪凡缁忔湁鐨勫睘鎬�
+ // VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class);
+ // queryWrapper.addQueryMap("CLASSIFYTEMPLATEOID",templateAttrOid);
+ Map<String,Object> condition = new HashMap<>(1);
+ condition.put("CLASSIFYTEMPLATEOID",templateAttrOid);
+
+ List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList = baseMapper.selectByMap(condition);
+
+ List<String> btmIds = new ArrayList<String>();
+ for (CodeClassifyTemplateAttr codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDOList){
+ btmIds.add(codeClassifyTemplateAttrDO.getId());
+ }
+
+ //杩囨护鎺夊凡缁忓瓨鍦ㄧ殑灞炴��
+ List<BtmTypeAttributeVO> boAttrss = new ArrayList<BtmTypeAttributeVO>();
+ for (BtmTypeAttributeVO osBtmTypeAttributeVO:btmTypeVOR.getData().getAttributes()){
+ if(!btmIds.contains(osBtmTypeAttributeVO.getId())){
+ //鐪嬬湅鏄笉鏄湁妯$硦鏌ヨ
+ boolean inSearch = true;
+ if(StringUtils.isNotBlank(name) && !osBtmTypeAttributeVO.getName().contains(name.replace("*",""))){
+ inSearch = false;
+ }
+ if(StringUtils.isNotBlank(id) && !osBtmTypeAttributeVO.getId().contains(id.replace("*",""))){
+ inSearch = false;
+ }
+ if(inSearch) {
+ if(!VciFieldTypeEnum.VTDouble.equals(osBtmTypeAttributeVO.getAttrDataType())){
+ osBtmTypeAttributeVO.setPrecisionLength(null);
+ osBtmTypeAttributeVO.setScaleLength(null);
+ }
+ boAttrss.add(osBtmTypeAttributeVO);
+ }
+ }
+ }
+ // 鎸夌収id鍗囧簭鎺掑簭
+ boAttrss = boAttrss.stream().sorted(Comparator.comparing(BtmTypeAttributeVO::getId)).collect(Collectors.toList());
+ dataGrid.setData(boAttrss);
+ dataGrid.setTotal(boAttrss.size());
+ return dataGrid;
+ }
+
+ /**
+ * 鏌ヨ杩欎釜妯℃澘锛屼笟鍔$被鍨嬩笅宸查�夋嫨鐨勫睘鎬�
+ * @param baseQueryObject
+ * @return
+ */
+ @Override
+ public DataGrid<BtmTypeAttributeVO> codeClassifyTemplateAttrByBtmHave(BaseQueryObject baseQueryObject){
+ DataGrid<BtmTypeAttributeVO> dataGrid=new DataGrid<BtmTypeAttributeVO>();
+ //妯℃澘oid
+ String templateAttrOid = baseQueryObject.getConditionMap().get("oid");
+
+ //娌℃湁oid涓嶆墽琛岄�昏緫
+ if(StringUtils.isBlank(templateAttrOid)){
+ dataGrid.setData(new ArrayList<>());
+ dataGrid.setTotal(0);
+ return dataGrid;
+ }
+
+ //鏌ヨ妯℃澘瀵硅薄
+ CodeClassifyTemplate codeClassifyTemplateDO = codeClassifyTemplateMapper.selectById(templateAttrOid);
+
+ //杩欎釜涓氬姟绫诲瀷涓嬬殑鎵�鏈夊睘鎬�
+ // TODO 宸插畬鍠�
+ List<BtmTypeAttributeVO> boAttrs = (List<BtmTypeAttributeVO>) btmTypeClient.getAllAttributeByBtmId(codeClassifyTemplateDO.getBtmTypeId());
+ //杩欎釜妯℃澘涓嬪凡缁忔湁鐨勫睘鎬�
+ //鎶婇粯璁ょ殑灞炴�т篃娣诲姞鍒癰oAttrs
+ if(boAttrs == null){
+ boAttrs = new ArrayList<>();
+ }
+ QueryWrapper<CodeClassifyTemplateAttr> wrapper=new QueryWrapper<>();
+ wrapper.eq("CLASSIFYTEMPLATEOID",templateAttrOid);
+
+ List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList = baseMapper.selectList(wrapper);
+ List<String> btmOids = new ArrayList<String>();
+ for (CodeClassifyTemplateAttr codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDOList){
+ btmOids.add(codeClassifyTemplateAttrDO.getId());
+ }
+
+ //杩囨护鎺夐櫎浜嗚嚜韬殑鍒殑灞炴��
+ List<BtmTypeAttributeVO> boAttrss = new ArrayList<BtmTypeAttributeVO>();
+
+ for (BtmTypeAttributeVO osBtmTypeAttributeVO:boAttrs){
+ if(btmOids.contains(osBtmTypeAttributeVO.getId())){
+ boAttrss.add(osBtmTypeAttributeVO);
+ }
+ }
+ dataGrid.setData(boAttrss);
+ dataGrid.setTotal(boAttrss.size());
+ return dataGrid;
+ }
+
+ /**
+ * 鍚屾鍒板叾浠栨ā鏉�
+ * @param codeClassifyTemplateAttrDTO oid
+ * @return
+ */
+ @Override
+ public R copyto(CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO) throws VciBaseException{
+
+ String templateAttrOid = codeClassifyTemplateAttrDTO.getOid();
+
+ //鏌ヨ鍑烘潵瑕佸鍒剁殑瀵硅薄
+ CodeClassifyTemplateAttr codeClassifyTemplateAttrDO = selectByOid(templateAttrOid);
+ String id = codeClassifyTemplateAttrDO.getId();//鑻辨枃鍚嶇О
+ String classfyTemplateOid = codeClassifyTemplateAttrDO.getClassifyTemplateOid();
+
+ //鏌ヨ鍏朵粬id=id鐨勬ā鏉垮睘鎬�
+// VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class);
+// queryWrapper.addQueryMap("id",id);
+// Map<String,Object> condition = new HashMap<>(1);
+// condition.put("id",id);
+ QueryWrapper<CodeClassifyTemplateAttr> wrapper=new QueryWrapper<>();
+ wrapper.eq("id",id);
+ //鎵�鏈塱d=id鐨勬ā鏉垮睘鎬�
+ List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList =baseMapper.selectList(wrapper);
+
+ //瑕佸垹闄ょ殑妯℃澘灞炴�х殑oids
+ List<String> deleteOids = new ArrayList<String>();
+ //瑕佷慨鏀圭殑妯℃澘灞炴�у璞�
+ List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOListInsert = new ArrayList<CodeClassifyTemplateAttr>();
+ for (CodeClassifyTemplateAttr codeClassifyTemplateAttrDOi:codeClassifyTemplateAttrDOList){
+ String oid = codeClassifyTemplateAttrDOi.getOid();
+ String templateOldOid = codeClassifyTemplateAttrDOi.getClassifyTemplateOid();
+
+ CodeClassifyTemplateAttr codeClassifyTemplateAttrDOInsert = new CodeClassifyTemplateAttr();
+ BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDO,codeClassifyTemplateAttrDOInsert);
+ codeClassifyTemplateAttrDOInsert.setOid(oid);
+ codeClassifyTemplateAttrDOInsert.setClassifyTemplateOid(templateOldOid);
+ codeClassifyTemplateAttrDOListInsert.add(codeClassifyTemplateAttrDOInsert);
+
+ deleteOids.add(codeClassifyTemplateAttrDOi.getOid());
+ }
+
+// WebUtil.setPersistence(false);//涓嶆墽琛屼繚瀛�
+
+ //鍒犻櫎
+// BatchCBO batchCBOTemplateAttrDelete = codeClassifyTemplateAttrDOissifyTemplateAttrMapper.batchDeleteByOids(deleteOids);
+ baseMapper.deleteBatchIds(deleteOids);
+ //鍐嶆柊澧�
+// BatchCBO batchCBOTemplateAttrInsert = codeClassifyTemplateAttrMapper.batchInsert(codeClassifyTemplateAttrDOListInsert);
+// batchCBOTemplateAttrDelete.copyFromOther(batchCBOTemplateAttrInsert);
+ this.saveBatch(codeClassifyTemplateAttrDOListInsert);
+
+// WebUtil.setPersistence(true);//鎵ц淇濆瓨
+// boService.persistenceBatch(batchCBOTemplateAttrDelete);//涓�璧锋墽琛屼繚瀛�
+
+ return R.success("鎿嶄綔鎴愬姛锛�");
+ }
+
}
--
Gitblit v1.9.3