From 27cddefb0cb28da699954ba1a1756d6bcabafbbe Mon Sep 17 00:00:00 2001 From: ludc <ludc@vci-tech.com> Date: 星期三, 05 三月 2025 17:41:29 +0800 Subject: [PATCH] 集成申码接口调整:当码值按照约定传表名为空的业务场景下传null校验问题和码值组装问题。 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java | 1444 ++++++++++++++++++++++++++++++++------------------------- 1 files changed, 809 insertions(+), 635 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 0b14181..1874a0c 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,728 +1,902 @@ package com.vci.ubcs.code.service.impl; import com.alibaba.fastjson.JSONObject; -import com.vci.ubcs.code.constant.MdmBtmTypeConstant; +import com.alibaba.nacos.common.utils.StringUtils; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +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.CodeClassify; +import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr; +import com.vci.ubcs.code.entity.CodeClassifyTemplate; +import com.vci.ubcs.code.entity.CodeSynonym; +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.enumpack.CodeLevelTypeEnum; -import com.vci.ubcs.code.entity.CodeClassifyTemplateAttrDO; -import com.vci.ubcs.code.entity.CodeClassifyTemplateDO; -import com.vci.ubcs.code.service.CodeClassifyTemplateAttrServiceI; -import com.vci.ubcs.code.service.CodeTemplatePhaseServiceI; -import com.vci.ubcs.code.utils.PatternUtil; -import com.vci.starter.revision.service.RevisionModelUtil; -import com.vci.starter.web.constant.QueryOptionConstant; -import com.vci.starter.web.enumpck.VciFieldTypeEnum; -import com.vci.starter.web.exception.VciBaseException; -import com.vci.starter.web.pagemodel.*; -import com.vci.starter.web.util.BeanUtil; -import com.vci.starter.web.util.BeanUtilForVCI; -import com.vci.starter.web.util.VciBaseUtil; -import com.vci.starter.web.util.VciDateUtil; -import com.vci.starter.web.wrapper.VciQueryWrapperForDO; -import com.vci.web.pageModel.BatchCBO; -import com.vci.web.pageModel.OsBtmTypeAttributeVO; -import com.vci.web.pageModel.UIFormReferVO; -import com.vci.web.service.BdSelectInputCharServiceI; -import com.vci.web.service.OsAttributeServiceI; -import com.vci.web.service.OsBtmServiceI; -import com.vci.web.service.WebBoServiceI; -import com.vci.web.util.WebUtil; -import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import com.vci.ubcs.code.dto.CodeClassifyTemplateAttrDTO; +import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService; +import com.vci.ubcs.code.service.ICodeReferConfigService; +import com.vci.ubcs.code.service.ICodeSynonymService; +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.vo.pagemodel.CodeSynonymVO; +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.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.*; +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.frameworkcore.constant.FrameWorkBusLangCodeConstant.DATA_OID_NOT_EXIST; -import static com.vci.frameworkcore.constant.FrameWorkLangCodeConstant.*; +import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.*; +import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_OID_NOT_EXIST; + /** * 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф湇鍔� - * @author weidy - * @date 2022-01-24 + * @author ludc + * @date 2023/5/5 */ @Service -public class CodeClassifyTemplateAttrServiceImpl implements CodeClassifyTemplateAttrServiceI { +public class CodeClassifyTemplateAttrServiceImpl extends ServiceImpl<CodeClassifyTemplateAttrMapper, CodeClassifyTemplateAttr> implements ICodeClassifyTemplateAttrService { - /** - * 鏃ュ織 - */ - private Logger logger = LoggerFactory.getLogger(getClass()); + /** + * 鏁版嵁鎿嶄綔灞� + */ + @Resource + private CodeClassifyTemplateAttrMapper codeClassifyTemplateAttrMapper; - /** - * 鏁版嵁鎿嶄綔灞� - */ - @Resource - private CodeClassifyTemplateAttrMapper codeClassifyTemplateAttrMapper; + @Resource + IDictBizClient iDictBizClient; - /** - * 妯℃澘鏁版嵁鎿嶄綔灞� - */ - @Resource - private CodeClassifyTemplateMapper codeClassifyTemplateMapper; + @Resource + CodeClassifyTemplateMapper codeClassifyTemplateMapper; - /** - * 妯℃澘鏁版嵁鎿嶄綔灞� - */ - @Resource - private CodeTemplatePhaseServiceI codeTemplatePhaseServiceI; + @Resource + private ICodeReferConfigService codeReferConfigService; - - /** - * 涓氬姟绫诲瀷鎿嶄綔鐨勬湇鍔� - */ - @Autowired + @Resource @Lazy - private WebBoServiceI boService; + ICodeTempphaseService codeTempphaseService; - /** - * 瀵硅薄鐨勬搷浣� - */ - @Autowired - private RevisionModelUtil revisionModelUtil; + /** + * 瀵硅薄鐨勬搷浣� + */ + @Autowired(required = false) + private RevisionModelUtil revisionModelUtil; - /** - * 鏌ヨ杩欎釜涓氬姟绫诲瀷鐨勬墍鏈夊睘鎬� - */ - @Autowired - private OsBtmServiceI btmService; + /** + * 灞炴�ф湇鍔″璞� + */ + @Resource + private IBtmTypeClient btmTypeClient; - /** - * 鍙�夊彲杈撴湇鍔� - */ - @Autowired - private BdSelectInputCharServiceI charService; + @Resource + @Lazy + private ICodeSynonymService codeSynonymService; - /** - * 灞炴�х殑鏈嶅姟 - */ - @Autowired - private OsAttributeServiceI attributeService; + /** + * 鏌ヨ鎵�鏈夌殑涓婚搴撳垎绫荤殑妯℃澘灞炴�� + * @param mpjLambdaWrapper 鏌ヨ鏉′欢 + * @param pageHelper 鍒嗛〉鍜屾帓搴� + * @return 鎵ц缁撴灉 + * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 + */ + @Override + public IPage<CodeClassifyTemplateAttrVO> gridCodeClassifyTemplateAttr(MPJLambdaWrapper<CodeClassifyTemplateAttr> mpjLambdaWrapper , PageHelper pageHelper) throws VciBaseException { + //娌℃湁浼犻�掑弬鏁帮紝灏变笉鎵ц鏌ヨ閫昏緫 + if(mpjLambdaWrapper == null){ + return new Page<>(); + } + Query query = new Query(); + if (pageHelper == null) { + pageHelper = new PageHelper(-1); + query.setSize(-1); + }else { + query.setCurrent(pageHelper.getPage()); + query.setSize(pageHelper.getLimit()); + } + //pageHelper.addDefaultAsc("ordernum"); + query.setAscs("ORDERNUM"); + //杩欏効鏄釜杩炶〃鏌ヨ + IPage<CodeClassifyTemplateAttr> doList = codeClassifyTemplateAttrMapper.selectPage(Condition.getPage(query), mpjLambdaWrapper); + IPage<CodeClassifyTemplateAttrVO> voList = new Page<>(); + if (!CollectionUtils.isEmpty(doList.getRecords())) { + voList = CodeClassifyTemplateAttrWrapper.build().pageVO(doList); + } + return voList; + } - /** - * 鏌ヨ鎵�鏈夌殑涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param conditionMap 鏌ヨ鏉′欢 - * @param pageHelper 鍒嗛〉鍜屾帓搴� - * @return 鎵ц缁撴灉 - * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 - */ - @Override - public DataGrid<CodeClassifyTemplateAttrVO> gridCodeClassifyTemplateAttr(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{ - DataGrid<CodeClassifyTemplateAttrVO> dataGrid=new DataGrid<CodeClassifyTemplateAttrVO>(); - //娌℃湁浼犻�掑弬鏁帮紝灏变笉鎵ц鏌ヨ閫昏緫 - if(conditionMap.size()==0){ - dataGrid.setData(new ArrayList<>()); - dataGrid.setTotal(0); - return dataGrid; - } + /** + * 鍙傜収涓婚搴撳垎绫荤殑妯℃澘灞炴�у垪琛� + * @param conditionMap 鏌ヨ鏉′欢 + * @param pageHelper 鍒嗛〉鍜屾帓搴� + * @return 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф樉绀哄璞″垪琛紝鐢熸晥鐨勫唴瀹� + * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 + */ + @Override + public IPage<CodeClassifyTemplateAttrVO> refDataGridCodeClassifyTemplateAttr(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{ + if(conditionMap == null){ + conditionMap = new HashMap<String, String>(); + } + return gridCodeClassifyTemplateAttr(UBCSCondition.getMPJLambdaWrapperByMapString(conditionMap, CodeClassifyTemplateAttr.class),pageHelper); + } - if (pageHelper == null) { - pageHelper = new PageHelper(-1); - } - pageHelper.addDefaultAsc("ordernum"); - List<CodeClassifyTemplateAttrDO> doList = codeClassifyTemplateAttrMapper.selectByCondition(conditionMap,pageHelper); - if (!CollectionUtils.isEmpty(doList)) { - dataGrid.setData(codeClassifyTemplateAttrDO2VOs(doList)); - dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(codeClassifyTemplateAttrMapper.countByCondition(conditionMap)))); - } - return dataGrid; - } + @Override + public IPage<CodeClassifyTemplateAttrVO> selectCodeClstempattrPage(IPage<CodeClassifyTemplateAttrVO> page, CodeClassifyTemplateAttrVO CodeClstempattr) { + return page.setRecords(baseMapper.selectCodeClstempattrPage(page, CodeClstempattr)); + } - /** - * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� - * @param codeClassifyTemplateAttrDOs 鏁版嵁瀵硅薄鍒楄〃 - * @return 鏄剧ず瀵硅薄 - * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呬笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父 - */ - @Override - public List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrDO2VOs(Collection<CodeClassifyTemplateAttrDO> codeClassifyTemplateAttrDOs) throws VciBaseException{ - List<CodeClassifyTemplateAttrVO> voList = new ArrayList<CodeClassifyTemplateAttrVO>(); - if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOs)){ - for(CodeClassifyTemplateAttrDO s: codeClassifyTemplateAttrDOs){ - CodeClassifyTemplateAttrVO vo = codeClassifyTemplateAttrDO2VO(s); - if(vo != null){ - voList.add(vo); - } - } - } - return voList; - } + /** + * 浣跨敤妯℃澘鐨勪富閿幏鍙栨ā鏉跨殑灞炴��--鎵归噺 + * + * @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"); +// 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]))); - /** - * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� - * @param codeClassifyTemplateAttrDO 鏁版嵁瀵硅薄 - * @return 鏄剧ず瀵硅薄 - * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 - */ - @Override - public CodeClassifyTemplateAttrVO codeClassifyTemplateAttrDO2VO(CodeClassifyTemplateAttrDO codeClassifyTemplateAttrDO) throws VciBaseException{ - CodeClassifyTemplateAttrVO vo = new CodeClassifyTemplateAttrVO(); - if(codeClassifyTemplateAttrDO != null){ - BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDO,vo); - //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽 - vo.setAttributeDataTypeText(VciFieldTypeEnum.getTextByValue(vo.getAttributedatatype())); - } - return vo; - } + if(!CollectionUtils.isEmpty(attrDOS)){ + attrDOList.addAll(attrDOS); + } + }); + return codeClassifyTemplateAttrDO2VOs(attrDOList); + } - /** - * 澧炲姞涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param codeClassifyTemplateAttrDTO 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф暟鎹紶杈撳璞� - * @return 鎵ц缁撴灉 - * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父 - */ - @Override - public CodeClassifyTemplateAttrVO addSave(CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO) throws VciBaseException{ - VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄"); - //灏咲TO杞崲涓篋O - CodeClassifyTemplateAttrDO codeClassifyTemplateAttrDO = new CodeClassifyTemplateAttrDO(); - BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO); - codeClassifyTemplateAttrMapper.insert(codeClassifyTemplateAttrDO); - return codeClassifyTemplateAttrDO2VO(codeClassifyTemplateAttrDO); - } + /** + * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� + * @param codeClassifyTemplateAttrDOs 鏁版嵁瀵硅薄鍒楄〃 + * @return 鏄剧ず瀵硅薄 + * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呬笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父 + */ + @Override + public List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrDO2VOs(Collection<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOs) throws VciBaseException{ + 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 codeClassifyTemplateAttrDTOs 鏁版嵁浼犺緭瀵硅薄 - * @return 淇濆瓨鍚庣殑鏄剧ず瀵硅薄 - * @throws VciBaseException 鎵ц鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父 - */ - @Override - public List<CodeClassifyTemplateAttrVO> batchAddSave(List<CodeClassifyTemplateAttrDTO> codeClassifyTemplateAttrDTOs) throws VciBaseException{ - if(CollectionUtils.isEmpty(codeClassifyTemplateAttrDTOs)){ - return new ArrayList<>(); - } + /** + * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� + * @param codeClassifyTemplateAttrDO 鏁版嵁瀵硅薄 + * @return 鏄剧ず瀵硅薄 + * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 + */ + @Override + public CodeClassifyTemplateAttrVO codeClassifyTemplateAttrDO2VO(CodeClassifyTemplateAttr codeClassifyTemplateAttrDO) throws VciBaseException{ + CodeClassifyTemplateAttrVO vo = new CodeClassifyTemplateAttrVO(); + if(codeClassifyTemplateAttrDO != null){ + BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDO,vo); + //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽 + vo.setAttributeDataTypeText(VciFieldTypeEnum.getTextByValue(vo.getAttributeDataType())); + if(Func.isNotBlank(codeClassifyTemplateAttrDO.getSysonymRuleOids())){ + vo.setSysonymRuleOidsText( + codeSynonymService.selectNameByWrapper( + Wrappers.<CodeSynonym>query() + .lambda().in(CodeSynonym::getOid, Func.toStrList(",", codeClassifyTemplateAttrDO.getSysonymRuleOids())) + ) + ); + } + } + return vo; + } - //鍙栨墍鏈夊睘鎬х殑鑻辨枃鍚嶇О锛岀涓変釜楠岃瘉闇�瑕佺敤鍒� - Map<String,CodeClassifyTemplateAttrDTO> attrDTOMap =codeClassifyTemplateAttrDTOs.stream().collect(Collectors.toMap(s->s.getId().toLowerCase(Locale.ROOT), t->t)); + // @Override +// public IPage<CodeClassifyTemplateAttrVO> selectCodeClstempattrPage(IPage<CodeClassifyTemplateAttrVO> page, CodeClassifyTemplateAttrVO CodeClstempattr) { +// return page.setRecords(baseMapper.selectCodeClstempattrPage(page, CodeClstempattr)); +// } - //鎵惧睘鎬т腑鏂囧悕瀛楅噸澶� - 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; - //杞崲 - List<CodeClassifyTemplateAttrDO> codeClassifyTemplateAttrDOInsert = new ArrayList<CodeClassifyTemplateAttrDO>(); - List<String> prefix = new ArrayList<>(); - List<String> suffix = new ArrayList<>(); - List<String> dateFormates = new ArrayList<>(); - for (CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO:codeClassifyTemplateAttrDTOs){ - VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄"); - //灏咲TO杞崲涓篋O - CodeClassifyTemplateAttrDO codeClassifyTemplateAttrDO = new CodeClassifyTemplateAttrDO(); - BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO); - codeClassifyTemplateAttrDOInsert.add(codeClassifyTemplateAttrDO); +// /** +// * 浣跨敤妯℃澘鐨勪富閿幏鍙栨ā鏉跨殑灞炴��--鎵归噺 +// * +// * @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); +// } - 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()}); - } +// /** +// * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� +// * @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; +// } - //鍒ゆ柇浼犺繃鏉ョ殑鍙傜収閰嶇疆鏄惁鏄痡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}); - } - } - } +// /** +// * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� +// * @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; +// } - if(CLASSIFYTEMPLATEOID==null){ - CLASSIFYTEMPLATEOID = codeClassifyTemplateAttrDTO.getClassifytemplateoid(); - } + /** + * 鏌ヨ鎵�鏈夌殑涓婚搴撳垎绫荤殑妯℃澘灞炴�� + * @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; + } - //鎵ц鏁版嵁淇濆瓨鎿嶄綔 - WebUtil.setPersistence(false);//涓嶆墽琛屼繚瀛� + /** + * 澧炲姞涓婚搴撳垎绫荤殑妯℃澘灞炴�� + * @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); + } - //鍏堥兘鍒犱簡 - VciQueryWrapperForDO deleteAttrWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class); - deleteAttrWrapper.addQueryMap("CLASSIFYTEMPLATEOID",CLASSIFYTEMPLATEOID); - List<CodeClassifyTemplateAttrDO> codeClassifyTemplateAttrDODelete = codeClassifyTemplateAttrMapper.selectByWrapper(deleteAttrWrapper); + /** + * 鎵归噺娣诲姞 + * @param codeClassifyTemplateAttrDTOs 鏁版嵁浼犺緭瀵硅薄 + * @return 淇濆瓨鍚庣殑鏄剧ず瀵硅薄 + */ + @Override + @Transactional + public List<CodeClassifyTemplateAttrVO> batchAddSave(List<CodeClassifyTemplateAttrDTO> codeClassifyTemplateAttrDTOs) { + if(CollectionUtils.isEmpty(codeClassifyTemplateAttrDTOs)){ + return new ArrayList<>(); + } - //oids - List<String> oids = new ArrayList<String>(); - for (CodeClassifyTemplateAttrDO codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDODelete){ - oids.add(codeClassifyTemplateAttrDO.getOid()); - } - BatchCBO batchCBOTemplateDelete = new BatchCBO(); - if(!CollectionUtils.isEmpty(oids)){ - batchCBOTemplateDelete = codeClassifyTemplateAttrMapper.batchDeleteByOids(oids); - } + //鍙栨墍鏈夊睘鎬х殑鑻辨枃鍚嶇О锛岀涓変釜楠岃瘉闇�瑕佺敤鍒� + Map<String,CodeClassifyTemplateAttrDTO> attrDTOMap =codeClassifyTemplateAttrDTOs.stream().collect(Collectors.toMap(s->s.getId().toLowerCase(Locale.ROOT), t->t)); - //鍐嶆柊澧� - if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOInsert)){ - BatchCBO batchCBOTemplateAdd = codeClassifyTemplateAttrMapper.batchInsert(codeClassifyTemplateAttrDOInsert); - batchCBOTemplateDelete.copyFromOther(batchCBOTemplateAdd); - } + //鎵惧睘鎬т腑鏂囧悕瀛楅噸澶� + 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(","))}); + } - //璋冪敤闃舵 - if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOInsert)){ - BatchCBO batchCBO0 = codeTemplatePhaseServiceI.codeTemplateAttrModifyTrigger(codeClassifyTemplateAttrDOInsert); - batchCBOTemplateDelete.copyFromOther(batchCBO0); - } + // 妯℃澘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.setCreator(String.valueOf(AuthUtil.getUser().getAccount())); + codeClassifyTemplateAttrDO.setLastModifyTime(new Date()); + // codeClassifyTemplateAttrDO.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); + codeClassifyTemplateAttrDO.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount())); + codeClassifyTemplateAttrDOInsert.add(codeClassifyTemplateAttrDO); - SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo(); - //澶勭悊鍙緭鍙�夌殑瀛楃 - if(!CollectionUtils.isEmpty(prefix)){ - charService.saveBySameNamespaceAndFlag(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR,"prefix",prefix,sessionInfo); - } - if(!CollectionUtils.isEmpty(suffix)){ - charService.saveBySameNamespaceAndFlag(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR,"suffix",suffix,sessionInfo); - } - if(!CollectionUtils.isEmpty(dateFormates)){ - charService.saveBySameNamespaceAndFlag(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR,"dateFormates",dateFormates,sessionInfo); - } + 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()}); + } - WebUtil.setPersistence(true);//鎵ц淇濆瓨 - boService.persistenceBatch(batchCBOTemplateDelete);//涓�璧锋墽琛屼繚瀛� - return codeClassifyTemplateAttrDO2VOs(codeClassifyTemplateAttrDOInsert); - } + //鍒ゆ柇浼犺繃鏉ョ殑鍙傜収閰嶇疆鏄惁鏄痡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}); + } + } + } - /** - * 淇敼涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param codeClassifyTemplateAttrDTO 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф暟鎹紶杈撳璞� - * @return 鎵ц缁撴灉 - * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父 - */ - @Override - public BaseResult editSave(CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO) throws VciBaseException{ - VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"鏁版嵁瀵硅薄",codeClassifyTemplateAttrDTO.getOid(),"涓婚搴撳垎绫荤殑妯℃澘灞炴�т富閿�"); + 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; + } + } - //鍒ゆ柇浼犺繃鏉ョ殑鏋氫妇娉ㄥ叆鏄惁鏄痡sonArr鏍煎紡 - if(StringUtils.isNotBlank(codeClassifyTemplateAttrDTO.getEnumString())&&!checkKVArr(codeClassifyTemplateAttrDTO.getEnumString())){ - throw new VciBaseException("鏋氫妇娉ㄥ叆鏁版嵁鏍煎紡閿欒!"); - } + /** + * 淇敼涓婚搴撳垎绫荤殑妯℃澘灞炴�� + * @param codeClassifyTemplateAttrDTO 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф暟鎹紶杈撳璞� + * @return 鎵ц缁撴灉 + * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父 + */ + @Override + public R editSave(CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO) throws VciBaseException{ + VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"鏁版嵁瀵硅薄",codeClassifyTemplateAttrDTO.getOid(),"涓婚搴撳垎绫荤殑妯℃澘灞炴�т富閿�"); - //鍒ゆ柇浼犺繃鏉ョ殑鍙傜収閰嶇疆鏄惁鏄痡son鏍煎紡 - if(StringUtils.isNotBlank(codeClassifyTemplateAttrDTO.getReferbtmid())&&!checkKVObj(codeClassifyTemplateAttrDTO.getReferbtmid())){ - throw new VciBaseException("鏋氫妇娉ㄥ叆鏁版嵁鏍煎紡閿欒!"); - } + //鍒ゆ柇浼犺繃鏉ョ殑鏋氫妇娉ㄥ叆鏄惁鏄痡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 - CodeClassifyTemplateAttrDO codeClassifyTemplateAttrDOCopyFromDTO = new CodeClassifyTemplateAttrDO(); - BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDOCopyFromDTO); - boolean tsBoolean = boService.checkTs(codeClassifyTemplateAttrDOCopyFromDTO); - if(!tsBoolean){//涓嶆槸鏈�鏂扮殑涓嶈鏀� - return BaseResult.fail("褰撳墠鏁版嵁涓嶆槸鏈�鏂帮紝璇峰埛鏂板悗鍐嶄慨鏀癸紒"); - } - //灏咲TO杞崲涓篋O - CodeClassifyTemplateAttrDO codeClassifyTemplateAttrDO = selectByOid(codeClassifyTemplateAttrDTO.getOid()); - revisionModelUtil.copyFromDTOIgnore(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO); - codeClassifyTemplateAttrMapper.updateByPrimaryKey(codeClassifyTemplateAttrDO); - return BaseResult.success(codeClassifyTemplateAttrDO2VO(codeClassifyTemplateAttrDO)); - } + //妫�鏌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("褰撳墠鏁版嵁涓嶆槸鏈�鏂帮紝璇峰埛鏂板悗鍐嶄慨鏀癸紒"); + } - /** - * 鏍¢獙鏄惁鍙互鍒犻櫎锛屽鏋滃瓨鍦ㄤ笅绾э紝骞朵笖涓嬬骇鏈夋暟鎹紩鐢ㄥ垯涓嶈兘鍒犻櫎 - * @param codeClassifyTemplateAttrDTO 鏁版嵁浼犺緭瀵硅薄 - * @param codeClassifyTemplateAttrDO 鏁版嵁搴撲腑鐨勬暟鎹璞� - * @return success涓簍rue涓哄彲浠ュ垹闄わ紝false琛ㄧず鏈夋暟鎹紩鐢紝obj涓簍rue琛ㄧず鏈変笅绾� - */ - private BaseResult checkIsCanDeleteForDO(CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO, CodeClassifyTemplateAttrDO codeClassifyTemplateAttrDO) { - boService.checkTs(codeClassifyTemplateAttrDO); - if(!checkIsLinked(codeClassifyTemplateAttrDO.getOid())) { - return BaseResult.success(); - }else{ - return BaseResult.fail(DATA_LINKED_NOT_DELETE,new String[]{""}); - } - } + //灏咲TO杞崲涓篋O + CodeClassifyTemplateAttr codeClassifyTemplateAttrDO = baseMapper.selectById(codeClassifyTemplateAttrDTO.getOid()); + revisionModelUtil.copyFromDTOIgnore(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO); + baseMapper.updateById(codeClassifyTemplateAttrDO); + return R.data(codeClassifyTemplateAttrDO2VO(codeClassifyTemplateAttrDO)); + } - /** - * 鏍¢獙鏄惁琚紩鐢� - * @param oid 涓婚敭 - * @throws VciBaseException 琚紩鐢ㄧ殑鏃跺�欎細鎶涘嚭寮傚父 - */ - private boolean checkIsLinked(String oid) throws VciBaseException{ - //TODO 娣诲姞闇�瑕佹牎楠屽紩鐢ㄧ殑鍦版柟 - return false; - } + /** + * 鍒犻櫎涓婚搴撳垎绫荤殑妯℃澘灞炴�� + * @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 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф暟鎹紶杈撳璞★紝oid鍜宼s闇�瑕佷紶杈� - * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐� - * @throws VciBaseException 鍙傛暟涓虹┖锛岃寮曠敤鏃舵姏鍑哄紓甯� - */ - @Override - public BaseResult deleteCodeClassifyTemplateAttr(CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO) throws VciBaseException{ - VciBaseUtil.alertNotNull(codeClassifyTemplateAttrDTO,"涓婚搴撳垎绫荤殑妯℃澘灞炴�ф暟鎹璞�",codeClassifyTemplateAttrDTO.getOid(),"涓婚搴撳垎绫荤殑妯℃澘灞炴�х殑涓婚敭"); - CodeClassifyTemplateAttrDO codeClassifyTemplateAttrDO = selectByOid(codeClassifyTemplateAttrDTO.getOid()); - BaseResult baseResult = checkIsCanDeleteForDO(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO); - if(baseResult.isSuccess()) { - }else{ - return baseResult; - } - //鎵ц鍒犻櫎鎿嶄綔 - BatchCBO batchCBO = codeClassifyTemplateAttrMapper.deleteByPrimaryKey(codeClassifyTemplateAttrDO.getOid()); - return (batchCBO!=null && batchCBO.getDeleteCbos() !=null &&batchCBO.getDeleteCbos().size() > 0)?BaseResult.successMsg(DELETE_SUCCESS):BaseResult.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)); - /** - * 涓婚敭鑾峰彇涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param oid 涓婚敭 - * @return 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф樉绀哄璞� - * @throws VciBaseException 鍙傛暟涓虹┖锛屾暟鎹笉瀛樺湪鏃朵細鎶涘嚭寮傚父 - */ - @Override - public CodeClassifyTemplateAttrVO getObjectByOid(String oid) throws VciBaseException{ - return codeClassifyTemplateAttrDO2VO(selectByOid(oid)); - } + 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 涓婚敭 - * @return 鏁版嵁瀵硅薄 - * @throws VciBaseException 鍙傛暟涓虹┖锛屽苟涓旀暟鎹笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父 - */ - private CodeClassifyTemplateAttrDO selectByOid(String oid) throws VciBaseException{ - VciBaseUtil.alertNotNull(oid,"涓婚敭"); - CodeClassifyTemplateAttrDO codeClassifyTemplateAttrDO = codeClassifyTemplateAttrMapper.selectByPrimaryKey(oid.trim()); - if(codeClassifyTemplateAttrDO == null || StringUtils.isBlank(codeClassifyTemplateAttrDO.getOid())){ - throw new VciBaseException(DATA_OID_NOT_EXIST); - } - return codeClassifyTemplateAttrDO; - } + /** + * 鏍¢獙鏄惁琚紩鐢� + * @param oid 涓婚敭 + * @throws VciBaseException 琚紩鐢ㄧ殑鏃跺�欎細鎶涘嚭寮傚父 + */ + private boolean checkIsLinked(String oid) throws VciBaseException{ + //TODO 娣诲姞闇�瑕佹牎楠屽紩鐢ㄧ殑鍦版柟 + return false; + } - /** - * 涓婚敭鎵归噺鑾峰彇涓婚搴撳垎绫荤殑妯℃澘灞炴�� - * @param oidCollections 涓婚敭闆嗗悎锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓� - * @return 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф樉绀哄璞� - * @throws VciBaseException 鏌ヨ鍑虹幇寮傚父鏃朵細鎶涘嚭 - */ - @Override - public Collection<CodeClassifyTemplateAttrVO> listCodeClassifyTemplateAttrByOids(Collection<String> oidCollections) throws VciBaseException{ - VciBaseUtil.alertNotNull(oidCollections,"鏁版嵁瀵硅薄涓婚敭闆嗗悎"); - List<CodeClassifyTemplateAttrDO> codeClassifyTemplateAttrDOList = listCodeClassifyTemplateAttrDOByOidCollections(oidCollections); - return codeClassifyTemplateAttrDO2VOs(codeClassifyTemplateAttrDOList); - } + /** + * 涓婚敭鑾峰彇涓婚搴撳垎绫荤殑妯℃澘灞炴�� + * @param oid 涓婚敭 + * @return 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф樉绀哄璞� + * @throws VciBaseException 鍙傛暟涓虹┖锛屾暟鎹笉瀛樺湪鏃朵細鎶涘嚭寮傚父 + */ + @Override + public CodeClassifyTemplateAttrVO getObjectByOid(String oid) throws VciBaseException{ + return codeClassifyTemplateAttrDO2VO(selectByOid(oid)); + } - /** - * 浣跨敤涓婚敭闆嗗悎鏌ヨ鏁版嵁瀵硅薄 - * @param oidCollections 涓婚敭鐨勯泦鍚� - * @return 鏁版嵁瀵硅薄鍒楄〃 - */ - private List<CodeClassifyTemplateAttrDO> listCodeClassifyTemplateAttrDOByOidCollections(Collection<String> oidCollections){ - List<CodeClassifyTemplateAttrDO> codeClassifyTemplateAttrDOList = new ArrayList<CodeClassifyTemplateAttrDO>(); - if(!CollectionUtils.isEmpty(oidCollections)){ - Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections); - for(Collection<String> oids: oidCollectionsList){ - List<CodeClassifyTemplateAttrDO> tempDOList = codeClassifyTemplateAttrMapper.selectByPrimaryKeyCollection(oids); - if(!CollectionUtils.isEmpty(tempDOList)){ - codeClassifyTemplateAttrDOList.addAll(tempDOList); - } - } - } - return codeClassifyTemplateAttrDOList; - } + /** + * 涓婚敭鏌ヨ鏁版嵁瀵硅薄 + * @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 conditionMap 鏌ヨ鏉′欢 - * @param pageHelper 鍒嗛〉鍜屾帓搴� - * @return 涓婚搴撳垎绫荤殑妯℃澘灞炴�ф樉绀哄璞″垪琛紝鐢熸晥鐨勫唴瀹� - * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 - */ - @Override - public DataGrid<CodeClassifyTemplateAttrVO> refDataGridCodeClassifyTemplateAttr(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{ - if(conditionMap == null){ - conditionMap = new HashMap<String, String>(); - } - return gridCodeClassifyTemplateAttr(conditionMap,pageHelper); - } + /** + * 涓婚敭鎵归噺鑾峰彇涓婚搴撳垎绫荤殑妯℃澘灞炴�� + * @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 baseQueryObject - * @return - */ - @Override - public DataGrid<OsBtmTypeAttributeVO> codeClassifyTemplateAttrByBtm(BaseQueryObject baseQueryObject){ - if(baseQueryObject.getConditionMap() == null){ - baseQueryObject.setConditionMap(new HashMap<>()); - } - DataGrid<OsBtmTypeAttributeVO> dataGrid=new DataGrid<OsBtmTypeAttributeVO>(); - //妯℃澘oid - String templateAttrOid = baseQueryObject.getConditionMap().get("oid"); - String name = baseQueryObject.getConditionMap().getOrDefault("name",""); - String id = baseQueryObject.getConditionMap().getOrDefault("id",""); + /** + * 浣跨敤涓婚敭闆嗗悎鏌ヨ鏁版嵁瀵硅薄 + * @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; + } - //娌℃湁oid涓嶆墽琛岄�昏緫 - if(StringUtils.isBlank(templateAttrOid)){ - dataGrid.setData(new ArrayList<>()); - dataGrid.setTotal(0); - return dataGrid; - } + /** + * 鏌ヨ杩欎釜妯℃澘锛屼笟鍔$被鍨嬩笅鐨勬墍鏈夋湭閫夋嫨鐨勫睘鎬� + * @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",""); - //鏌ヨ妯℃澘瀵硅薄 - CodeClassifyTemplateDO codeClassifyTemplateDO = codeClassifyTemplateMapper.selectByPrimaryKey(templateAttrOid); + //娌℃湁oid涓嶆墽琛岄�昏緫 + if(StringUtils.isBlank(templateAttrOid)){ + dataGrid.setData(new ArrayList<>()); + dataGrid.setTotal(0); + return dataGrid; + } - //杩欎釜涓氬姟绫诲瀷涓嬬殑鎵�鏈夊睘鎬� - List<OsBtmTypeAttributeVO> boAttrs = this.btmService.listAttributeByBtmId(codeClassifyTemplateDO.getBtmTypeId()); + //鏌ヨ妯℃澘瀵硅薄 + 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璋冪敤閿欒锛�"); + } - //鎶婇粯璁ょ殑灞炴�т篃娣诲姞鍒癰oAttrs - if(boAttrs == null){ - boAttrs = new ArrayList<>(); - } - if(!CollectionUtils.isEmpty(attributeService.getDefaultAttributeVOs())){ - List<OsBtmTypeAttributeVO> finalBoAttrs = boAttrs; - attributeService.getDefaultAttributeVOs().stream().forEach(attr-> { - OsBtmTypeAttributeVO attributeVO = new OsBtmTypeAttributeVO(); - BeanUtil.convert(attr, attributeVO); - if (VciQueryWrapperForDO.ID_FIELD.equalsIgnoreCase(attributeVO.getId())) { - attributeVO.setName("浼佷笟缂栫爜"); - } - if ("name".equalsIgnoreCase(attributeVO.getId())) { - attributeVO.setName("闆嗗洟鐮�"); - } - attributeVO.setAttrDataType(attr.getAttributeDataType()); - attributeVO.setAttributeLength(attr.getAttrLength()); - attributeVO.setReferBtmTypeId(attr.getBtmTypeId()); - attributeVO.setReferBtmTypeName(attr.getBtmTypeName()); - finalBoAttrs.add(attributeVO); - }); - boAttrs = finalBoAttrs; - } + //杩欎釜妯℃澘涓嬪凡缁忔湁鐨勫睘鎬� + // VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class); + // queryWrapper.addQueryMap("CLASSIFYTEMPLATEOID",templateAttrOid); + Map<String,Object> condition = new HashMap<>(1); + condition.put("CLASSIFYTEMPLATEOID",templateAttrOid); - //杩欎釜妯℃澘涓嬪凡缁忔湁鐨勫睘鎬� - VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class); - queryWrapper.addQueryMap("CLASSIFYTEMPLATEOID",templateAttrOid); - List<CodeClassifyTemplateAttrDO> codeClassifyTemplateAttrDOList = codeClassifyTemplateAttrMapper.selectByWrapper(queryWrapper); - List<String> btmOids = new ArrayList<String>(); - for (CodeClassifyTemplateAttrDO codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDOList){ - btmOids.add(codeClassifyTemplateAttrDO.getId()); - } + List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList = baseMapper.selectByMap(condition); - //杩囨护鎺夊凡缁忓瓨鍦ㄧ殑灞炴�� - List<OsBtmTypeAttributeVO> boAttrss = new ArrayList<OsBtmTypeAttributeVO>(); - for (OsBtmTypeAttributeVO osBtmTypeAttributeVO:boAttrs){ - if(!btmOids.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) { - boAttrss.add(osBtmTypeAttributeVO); - } - } - } - dataGrid.setData(boAttrss); - dataGrid.setTotal(boAttrss.size()); - return dataGrid; - } + List<String> btmIds = new ArrayList<String>(); + for (CodeClassifyTemplateAttr codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDOList){ + btmIds.add(codeClassifyTemplateAttrDO.getId()); + } - /** - * 鏌ヨ杩欎釜妯℃澘锛屼笟鍔$被鍨嬩笅宸查�夋嫨鐨勫睘鎬� - * @param baseQueryObject - * @return - */ - @Override - public DataGrid<OsBtmTypeAttributeVO> codeClassifyTemplateAttrByBtmHave(BaseQueryObject baseQueryObject){ - DataGrid<OsBtmTypeAttributeVO> dataGrid=new DataGrid<OsBtmTypeAttributeVO>(); - //妯℃澘oid - String templateAttrOid = baseQueryObject.getConditionMap().get("oid"); + //杩囨护鎺夊凡缁忓瓨鍦ㄧ殑灞炴�� + 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; + } - //娌℃湁oid涓嶆墽琛岄�昏緫 - if(StringUtils.isBlank(templateAttrOid)){ - dataGrid.setData(new ArrayList<>()); - dataGrid.setTotal(0); - 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"); - //鏌ヨ妯℃澘瀵硅薄 - CodeClassifyTemplateDO codeClassifyTemplateDO = codeClassifyTemplateMapper.selectByPrimaryKey(templateAttrOid); + //娌℃湁oid涓嶆墽琛岄�昏緫 + if(StringUtils.isBlank(templateAttrOid)){ + dataGrid.setData(new ArrayList<>()); + dataGrid.setTotal(0); + return dataGrid; + } - //杩欎釜涓氬姟绫诲瀷涓嬬殑鎵�鏈夊睘鎬� - List<OsBtmTypeAttributeVO> boAttrs = this.btmService.listAttributeByBtmIdHasDefault(codeClassifyTemplateDO.getBtmTypeId()); + //鏌ヨ妯℃澘瀵硅薄 + CodeClassifyTemplate codeClassifyTemplateDO = codeClassifyTemplateMapper.selectById(templateAttrOid); - //杩欎釜妯℃澘涓嬪凡缁忔湁鐨勫睘鎬� - VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class); - queryWrapper.addQueryMap("CLASSIFYTEMPLATEOID",templateAttrOid); - List<CodeClassifyTemplateAttrDO> codeClassifyTemplateAttrDOList = codeClassifyTemplateAttrMapper.selectByWrapper(queryWrapper); - List<String> btmOids = new ArrayList<String>(); - for (CodeClassifyTemplateAttrDO codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDOList){ - btmOids.add(codeClassifyTemplateAttrDO.getId()); - } + //杩欎釜涓氬姟绫诲瀷涓嬬殑鎵�鏈夊睘鎬� + // 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<OsBtmTypeAttributeVO> boAttrss = new ArrayList<OsBtmTypeAttributeVO>(); - for (OsBtmTypeAttributeVO 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 BaseResult copyto(CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO) throws VciBaseException{ + List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList = baseMapper.selectList(wrapper); + List<String> btmOids = new ArrayList<String>(); + for (CodeClassifyTemplateAttr codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDOList){ + btmOids.add(codeClassifyTemplateAttrDO.getId()); + } - String templateAttrOid = codeClassifyTemplateAttrDTO.getOid(); + //杩囨护鎺夐櫎浜嗚嚜韬殑鍒殑灞炴�� + List<BtmTypeAttributeVO> boAttrss = new ArrayList<BtmTypeAttributeVO>(); - //鏌ヨ鍑烘潵瑕佸鍒剁殑瀵硅薄 - CodeClassifyTemplateAttrDO codeClassifyTemplateAttrDO = selectByOid(templateAttrOid); - String id = codeClassifyTemplateAttrDO.getId();//鑻辨枃鍚嶇О - String classfyTemplateOid = codeClassifyTemplateAttrDO.getClassifyTemplateOid(); + for (BtmTypeAttributeVO osBtmTypeAttributeVO:boAttrs){ + if(btmOids.contains(osBtmTypeAttributeVO.getId())){ + boAttrss.add(osBtmTypeAttributeVO); + } + } + dataGrid.setData(boAttrss); + dataGrid.setTotal(boAttrss.size()); + return dataGrid; + } - //鏌ヨ鍏朵粬id=id鐨勬ā鏉垮睘鎬� - VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class); - queryWrapper.addQueryMap("id",id); - //鎵�鏈塱d=id鐨勬ā鏉垮睘鎬� - List<CodeClassifyTemplateAttrDO> codeClassifyTemplateAttrDOList = codeClassifyTemplateAttrMapper.selectByWrapper(queryWrapper); - //瑕佸垹闄ょ殑妯℃澘灞炴�х殑oids - List<String> deleteOids = new ArrayList<String>(); - //瑕佷慨鏀圭殑妯℃澘灞炴�у璞� - List<CodeClassifyTemplateAttrDO> codeClassifyTemplateAttrDOListInsert = new ArrayList<CodeClassifyTemplateAttrDO>(); - for (CodeClassifyTemplateAttrDO codeClassifyTemplateAttrDOi:codeClassifyTemplateAttrDOList){ - String oid = codeClassifyTemplateAttrDOi.getOid(); - String templateOldOid = codeClassifyTemplateAttrDOi.getClassifyTemplateOid(); + /** + * 鍚屾鍒板叾浠栨ā鏉� + * @param codeClassifyTemplateAttrDTO oid + * @return + */ + @Override + public R copyto(CodeClassifyTemplateAttrDTO codeClassifyTemplateAttrDTO) throws VciBaseException{ - CodeClassifyTemplateAttrDO codeClassifyTemplateAttrDOInsert = new CodeClassifyTemplateAttrDO(); - BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDO,codeClassifyTemplateAttrDOInsert); - codeClassifyTemplateAttrDOInsert.setOid(oid); - codeClassifyTemplateAttrDOInsert.setClassifyTemplateOid(templateOldOid); - codeClassifyTemplateAttrDOListInsert.add(codeClassifyTemplateAttrDOInsert); + String templateAttrOid = codeClassifyTemplateAttrDTO.getOid(); - deleteOids.add(codeClassifyTemplateAttrDOi.getOid()); - } + //鏌ヨ鍑烘潵瑕佸鍒剁殑瀵硅薄 + CodeClassifyTemplateAttr codeClassifyTemplateAttrDO = selectByOid(templateAttrOid); + String id = codeClassifyTemplateAttrDO.getId();//鑻辨枃鍚嶇О + String classfyTemplateOid = codeClassifyTemplateAttrDO.getClassifyTemplateOid(); - WebUtil.setPersistence(false);//涓嶆墽琛屼繚瀛� + //鏌ヨ鍏朵粬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); - //鍒犻櫎 - BatchCBO batchCBOTemplateAttrDelete = codeClassifyTemplateAttrMapper.batchDeleteByOids(deleteOids); + //瑕佸垹闄ょ殑妯℃澘灞炴�х殑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(); - //鍐嶆柊澧� - BatchCBO batchCBOTemplateAttrInsert = codeClassifyTemplateAttrMapper.batchInsert(codeClassifyTemplateAttrDOListInsert); - batchCBOTemplateAttrDelete.copyFromOther(batchCBOTemplateAttrInsert); + CodeClassifyTemplateAttr codeClassifyTemplateAttrDOInsert = new CodeClassifyTemplateAttr(); + BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDO,codeClassifyTemplateAttrDOInsert); + codeClassifyTemplateAttrDOInsert.setOid(oid); + codeClassifyTemplateAttrDOInsert.setClassifyTemplateOid(templateOldOid); + codeClassifyTemplateAttrDOListInsert.add(codeClassifyTemplateAttrDOInsert); - WebUtil.setPersistence(true);//鎵ц淇濆瓨 - boService.persistenceBatch(batchCBOTemplateAttrDelete);//涓�璧锋墽琛屼繚瀛� + deleteOids.add(codeClassifyTemplateAttrDOi.getOid()); + } - return BaseResult.success(); - } +// WebUtil.setPersistence(false);//涓嶆墽琛屼繚瀛� - /** - * 浣跨敤妯℃澘鐨勪富閿幏鍙栨ā鏉跨殑灞炴��--鎵归噺 - * - * @param templateOidCollection 妯℃澘鐨勪富閿� - * @return 灞炴�х殑淇℃伅 - */ - @Override - public List<CodeClassifyTemplateAttrVO> listCodeClassifyTemplateAttrByTemplateOids(Collection<String> templateOidCollection) { - if(CollectionUtils.isEmpty(templateOidCollection)){ - return new ArrayList<>(); - } - List<CodeClassifyTemplateAttrDO> 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<CodeClassifyTemplateAttrDO> attrDOS = codeClassifyTemplateAttrMapper.selectByCondition(conditionMap, pageHelper); - if(!CollectionUtils.isEmpty(attrDOS)){ - attrDOList.addAll(attrDOS); - } - }); - return codeClassifyTemplateAttrDO2VOs(attrDOList); - } + //鍒犻櫎 +// BatchCBO batchCBOTemplateAttrDelete = codeClassifyTemplateAttrDOissifyTemplateAttrMapper.batchDeleteByOids(deleteOids); + baseMapper.deleteBatchIds(deleteOids); + //鍐嶆柊澧� +// BatchCBO batchCBOTemplateAttrInsert = codeClassifyTemplateAttrMapper.batchInsert(codeClassifyTemplateAttrDOListInsert); +// batchCBOTemplateAttrDelete.copyFromOther(batchCBOTemplateAttrInsert); + this.saveBatch(codeClassifyTemplateAttrDOListInsert); - 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; - } +// WebUtil.setPersistence(true);//鎵ц淇濆瓨 +// boService.persistenceBatch(batchCBOTemplateAttrDelete);//涓�璧锋墽琛屼繚瀛� - /** - * 鏍¢獙鏃堕棿鏍煎紡 - * @param dateFormat 鏃堕棿鏍煎紡 - * @return true琛ㄧず鏍¢獙閫氳繃 - */ - public boolean checkDateFormat(String dateFormat){ - try{ - VciDateUtil.date2Str(new Date(),dateFormat); - return true; - }catch (Throwable e){ - return false; - } - } + return R.success("鎿嶄綔鎴愬姛锛�"); + } + /** + * 浣跨敤鏌ヨ灏佽鍣ㄦ潵鏌ヨ + * @param wrapper 鏌ヨ灏佽鍣� + * @return 鏁版嵁瀵硅薄 + */ + @Override + public List<CodeClassifyTemplateAttr> selectByWrapper(Wrapper wrapper) { + return codeClassifyTemplateAttrMapper.selectList(wrapper); + } } - -- Gitblit v1.9.3