From 29ab7773efe351a879ce9b3c29ab3ca50f4e62cb Mon Sep 17 00:00:00 2001
From: xiejun <xiejun@vci-tech.com>
Date: 星期三, 15 一月 2025 21:36:08 +0800
Subject: [PATCH] 产品型号集成,类型转换,人员组织加日志,申请接口引用码段值校验

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateButtonServiceImpl.java |  730 +++++++++++++++++++++++++++++--------------------------
 1 files changed, 388 insertions(+), 342 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateButtonServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateButtonServiceImpl.java
index 5e0b607..c4eb529 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateButtonServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateButtonServiceImpl.java
@@ -1,382 +1,428 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 搴勯獮 (smallchill@163.com)
+ */
 package com.vci.ubcs.code.service.impl;
 
-import com.vci.ubcs.code.dao.CodeClassifyTemplateButtonDaoI;
-import com.vci.ubcs.code.model.CodeClassifyTemplateButtonDO;
-import com.vci.ubcs.code.service.CodeButtonServiceI;
-import com.vci.ubcs.code.service.CodeClassifyTemplateButtonServiceI;
-import com.vci.starter.revision.service.RevisionModelUtil;
-import com.vci.starter.web.exception.VciBaseException;
-import com.vci.starter.web.pagemodel.BaseResult;
-import com.vci.starter.web.pagemodel.DataGrid;
-import com.vci.starter.web.pagemodel.PageHelper;
-import com.vci.starter.web.util.BeanUtil;
-import com.vci.starter.web.util.BeanUtilForVCI;
-import com.vci.starter.web.util.VciBaseUtil;
-import com.vci.web.pageModel.BatchCBO;
-import com.vci.web.service.WebBoServiceI;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+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.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.CodeClassifyTemplateButtonDTO;
+import com.vci.ubcs.code.entity.*;
+import com.vci.ubcs.code.enumpack.CodeButtonUseEnum;
+import com.vci.ubcs.code.mapper.CodeClassifyTemplateButtonMapper;
+import com.vci.ubcs.code.service.ICodeButtonService;
+import com.vci.ubcs.code.service.ICodeClassifyTemplateButtonService;
 import com.vci.ubcs.code.vo.pagemodel.CodeButtonVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateButtonVO;
+import com.vci.ubcs.code.wrapper.CodeTempbuttonWrapper;
+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.UBCSCondition;
+import com.vci.ubcs.starter.web.pagemodel.PageHelper;
+import com.vci.ubcs.starter.web.util.BeanUtil;
+import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Lazy;
+import org.springframework.cglib.beans.BeanMap;
 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.FrameWorkLangCodeConstant.*;
+import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.*;
+
 /**
- * 涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽湇鍔�
- * @author weidy
- * @date 2022-01-24
+ * 缂栫爜搴撳畾涔�-妯℃澘鎸夐挳鎵╁睍 鏈嶅姟瀹炵幇绫�
+ *
+ * @author yuxc
+ * @since 2023-04-20
  */
 @Service
-public class CodeClassifyTemplateButtonServiceImpl implements CodeClassifyTemplateButtonServiceI {
+public class CodeClassifyTemplateButtonServiceImpl extends ServiceImpl<CodeClassifyTemplateButtonMapper, CodeClassifyTemplateButton> implements ICodeClassifyTemplateButtonService {
 
-    /**
-    * 鏃ュ織
-    */
-    private Logger logger = LoggerFactory.getLogger(getClass());
+	/**
+	 * 鏁版嵁鎿嶄綔灞�
+	 */
+	@Autowired
+	private CodeClassifyTemplateButtonMapper codeClassifyTemplateButtonMapper;
 
-    /**
-    * 鏁版嵁鎿嶄綔灞�
-    */
-    @Resource
-    private CodeClassifyTemplateButtonDaoI codeClassifyTemplateButtonMapper;
+	/**
+	 * 鎸夐挳鐨勬湇鍔�
+	 */
+	@Autowired
+	private ICodeButtonService buttonService;
 
-    /**
-     * 鎸夐挳鐨勬湇鍔�
-     */
-    @Autowired
-    private CodeButtonServiceI buttonService;
+	/**
+	 * 瀵硅薄鐨勬搷浣�
+	 */
+	@Autowired
+	private RevisionModelUtil revisionModelUtil;
 
-    /**
-    * 涓氬姟绫诲瀷鎿嶄綔鐨勬湇鍔�
-    */
-    @Autowired
-    @Lazy
-	private WebBoServiceI boService;
+	/**
+	 * 鏌ヨ鎵�鏈夌殑涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽�
+	 * @param conditionMap 鏌ヨ鏉′欢
+	 * @param pageHelper 鍒嗛〉鍜屾帓搴�
+	 * @return 鎵ц缁撴灉
+	 * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
+	 */
+	@Override
+	public IPage<CodeClassifyTemplateButtonVO> gridCodeClassifyTemplateButton(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException {
+		Query query = new Query();
+		if (pageHelper == null) {
+			query.setSize(-1);
+		}else {
+			query.setSize(pageHelper.getLimit());
+			query.setCurrent(pageHelper.getPage());
+		}
+		query.setDescs("createTime");
+		if(StringUtils.isBlank(conditionMap.getOrDefault("classifyTemplateOid",null))){
+			return new Page<>();
+		}
 
-    /**
-    * 瀵硅薄鐨勬搷浣�
-    */
-    @Autowired
-    private RevisionModelUtil revisionModelUtil;
+		IPage<CodeClassifyTemplateButton> doList = codeClassifyTemplateButtonMapper.selectPage(Condition.getPage(query),getMPJLambdaWrapper(conditionMap));
+		IPage<CodeClassifyTemplateButtonVO> voList = new Page<>();
+		if (!CollectionUtils.isEmpty(doList.getRecords())) {
+			voList = CodeTempbuttonWrapper.build().pageVO(doList);
+		}
+		return voList;
+	}
 
+	/**
+	 * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
+	 * @param codeClassifyTemplateButtonDOs 鏁版嵁瀵硅薄鍒楄〃
+	 * @return 鏄剧ず瀵硅薄
+	 * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呬笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父
+	 */
+	@Override
+	public List<CodeClassifyTemplateButtonVO> codeClassifyTemplateButtonDO2VOs(Collection<CodeClassifyTemplateButton> codeClassifyTemplateButtonDOs) throws VciBaseException{
+		return codeClassifyTemplateButtonDO2VOs(codeClassifyTemplateButtonDOs,false);
+	}
 
-    /**
-     * 鏌ヨ鎵�鏈夌殑涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽�
-     * @param conditionMap 鏌ヨ鏉′欢
-     * @param pageHelper 鍒嗛〉鍜屾帓搴�
-     * @return 鎵ц缁撴灉
-     * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
-     */
-    @Override
-    public DataGrid<CodeClassifyTemplateButtonVO> gridCodeClassifyTemplateButton(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{
-        if (pageHelper == null) {
-            pageHelper = new PageHelper(-1);
-        }
-        pageHelper.addDefaultDesc("createTime");
-        final String[] classifyTemplateOid = {""};
-        if(conditionMap!=null){
-            conditionMap.forEach((key,value)->{
-                if("classifytemplateoid".equalsIgnoreCase(key)){
-                    classifyTemplateOid[0] = value;
-                }
-            });
-        }
-        if(StringUtils.isBlank(classifyTemplateOid[0])){
-            return new DataGrid<>();
-        }
+	/**
+	 * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
+	 * @param codeClassifyTemplateButtonDOs 鏁版嵁瀵硅薄鍒楄〃
+	 * @param hasButtonVO 鏄惁鍖呭惈鎸夐挳鐨勪俊鎭�
+	 * @return 鏄剧ず瀵硅薄
+	 * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呬笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父
+	 */
+	@Override
+	public List<CodeClassifyTemplateButtonVO> codeClassifyTemplateButtonDO2VOs(Collection<CodeClassifyTemplateButton> codeClassifyTemplateButtonDOs, boolean hasButtonVO) throws VciBaseException{
+		List<CodeClassifyTemplateButtonVO> voList = new ArrayList<CodeClassifyTemplateButtonVO>();
+		if(!CollectionUtils.isEmpty(codeClassifyTemplateButtonDOs)){
+			for(CodeClassifyTemplateButton s: codeClassifyTemplateButtonDOs){
+				CodeClassifyTemplateButtonVO vo =  codeClassifyTemplateButtonDO2VO(s);
+				if(vo != null){
+					voList.add(vo);
+				}
+			}
+		}
+		if(hasButtonVO && !CollectionUtils.isEmpty(voList)){
+			//鑾峰彇鎸夐挳鐨勬樉绀哄璞�
+			List<CodeButtonVO> buttonVOList = new ArrayList<>();
+			VciBaseUtil.switchCollectionForOracleIn(voList.stream().map(CodeClassifyTemplateButtonVO::getClassifyButtonOid).collect(Collectors.toList())).stream().forEach(buttonOids->{
+				buttonVOList.addAll(buttonService.listCodeButtonByOids(buttonOids));
+			});
+			Map<String, CodeButtonVO> buttonVOMap = Optional.ofNullable(buttonVOList).orElseGet(() -> new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t));
+			voList.stream().forEach(vo->{
+				vo.setButtonVO(buttonVOMap.getOrDefault(vo.getClassifyButtonOid(),null));
+			});
+		}
+		return voList;
+	}
 
-        List<CodeClassifyTemplateButtonDO> doList = codeClassifyTemplateButtonMapper.selectByCondition(conditionMap,pageHelper);
-        DataGrid<CodeClassifyTemplateButtonVO> dataGrid=new DataGrid<CodeClassifyTemplateButtonVO>();
-        if (!CollectionUtils.isEmpty(doList)) {
-            dataGrid.setData(codeClassifyTemplateButtonDO2VOs(doList));
-            dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(codeClassifyTemplateButtonMapper.countByCondition(conditionMap))));
-        }
-        return dataGrid;
-    }
+	/**
+	 * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
+	 * @param  codeClassifyTemplateButtonDO 鏁版嵁瀵硅薄
+	 * @return 鏄剧ず瀵硅薄
+	 * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
+	 */
+	@Override
+	public  CodeClassifyTemplateButtonVO codeClassifyTemplateButtonDO2VO(CodeClassifyTemplateButton codeClassifyTemplateButtonDO) throws VciBaseException{
+		CodeClassifyTemplateButtonVO vo = new CodeClassifyTemplateButtonVO();
+		if(codeClassifyTemplateButtonDO != null){
+			BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateButtonDO,vo);
+			//濡傛灉鏈塴cstatus鐨勭被鐨勮瘽
+			vo.setButtonUseText(CodeButtonUseEnum.getTextByValue(codeClassifyTemplateButtonDO.getButtonUse()));
+		}
+		return vo;
+	}
 
-    /**
-     * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
-     * @param codeClassifyTemplateButtonDOs 鏁版嵁瀵硅薄鍒楄〃
-     * @return 鏄剧ず瀵硅薄
-     * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呬笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父
-     */
-    @Override
-    public List<CodeClassifyTemplateButtonVO> codeClassifyTemplateButtonDO2VOs(Collection<CodeClassifyTemplateButtonDO>  codeClassifyTemplateButtonDOs) throws VciBaseException{
-       return codeClassifyTemplateButtonDO2VOs(codeClassifyTemplateButtonDOs,false);
-    }
+	@Override
+	public IPage<CodeClassifyTemplateButtonVO> selectCodeTempbuttonPage(IPage<CodeClassifyTemplateButtonVO> page, CodeClassifyTemplateButtonVO CodeTempbutton) {
+		return page.setRecords(baseMapper.selectCodeTempbuttonPage(page, CodeTempbutton));
+	}
 
-    /**
-     * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
-     * @param codeClassifyTemplateButtonDOs 鏁版嵁瀵硅薄鍒楄〃
-     * @param hasButtonVO 鏄惁鍖呭惈鎸夐挳鐨勪俊鎭�
-     * @return 鏄剧ず瀵硅薄
-     * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呬笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父
-     */
-    @Override
-    public List<CodeClassifyTemplateButtonVO> codeClassifyTemplateButtonDO2VOs(Collection<CodeClassifyTemplateButtonDO> codeClassifyTemplateButtonDOs, boolean hasButtonVO) throws VciBaseException{
-        List<CodeClassifyTemplateButtonVO> voList = new ArrayList<CodeClassifyTemplateButtonVO>();
-        if(!CollectionUtils.isEmpty(codeClassifyTemplateButtonDOs)){
-            for(CodeClassifyTemplateButtonDO s: codeClassifyTemplateButtonDOs){
-                CodeClassifyTemplateButtonVO vo =  codeClassifyTemplateButtonDO2VO(s);
-                if(vo != null){
-                    voList.add(vo);
-                }
-            }
-        }
-        if(hasButtonVO && !CollectionUtils.isEmpty(voList)){
-            //鑾峰彇鎸夐挳鐨勬樉绀哄璞�
-            List<CodeButtonVO> buttonVOList = new ArrayList<>();
-            VciBaseUtil.switchCollectionForOracleIn(voList.stream().map(CodeClassifyTemplateButtonVO::getClassifybuttonoid).collect(Collectors.toList())).stream().forEach(buttonOids->{
-                buttonVOList.addAll(buttonService.listCodeButtonByOids(buttonOids));
-            });
-            Map<String, CodeButtonVO> buttonVOMap = Optional.ofNullable(buttonVOList).orElseGet(() -> new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t));
-            voList.stream().forEach(vo->{
-                vo.setButtonVO(buttonVOMap.getOrDefault(vo.getClassifybuttonoid(),null));
-            });
-        }
-        return voList;
-    }
+	/**
+	 * 澧炲姞涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽�
+	 * @param codeClassifyTemplateButtonDTO 涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽暟鎹紶杈撳璞�
+	 * @return 鎵ц缁撴灉
+	 * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public CodeClassifyTemplateButtonVO addSave(CodeClassifyTemplateButtonDTO codeClassifyTemplateButtonDTO) throws VciBaseException{
+		VciBaseUtil.alertNotNull(codeClassifyTemplateButtonDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄",codeClassifyTemplateButtonDTO.getClassifyTemplateOid(),"妯℃澘鐨勪富閿�");
+		//灏咲TO杞崲涓篋O
+		CodeClassifyTemplateButton codeClassifyTemplateButtonDO = new CodeClassifyTemplateButton();
+		BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateButtonDTO,codeClassifyTemplateButtonDO);
+		DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyTemplateButtonDO, MdmBtmTypeConstant.CODE_TEMPLATE_BUTTON);
+		if(codeClassifyTemplateButtonDO.getOrderNum()== null){
+			//鏌ヨ鍏ㄩ儴
+			Long count = codeClassifyTemplateButtonMapper.selectCount(Wrappers.<CodeClassifyTemplateButton>query()
+				.lambda().eq(CodeClassifyTemplateButton::getClassifyTemplateOid,codeClassifyTemplateButtonDTO.getClassifyTemplateOid())
+			);
+			if(count == null){
+				count = 0L;
+			}
+			codeClassifyTemplateButtonDO.setOrderNum(Long.valueOf(count + 1L).intValue());
+		}
+		boolean resInsertClsTempButton = codeClassifyTemplateButtonMapper.insert(codeClassifyTemplateButtonDO) > 0;
+		return resInsertClsTempButton ? codeClassifyTemplateButtonDO2VO(codeClassifyTemplateButtonDO):null;
+	}
 
-    /**
-     * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
-     * @param  codeClassifyTemplateButtonDO 鏁版嵁瀵硅薄
-     * @return 鏄剧ず瀵硅薄
-     * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
-     */
-    @Override
-    public  CodeClassifyTemplateButtonVO codeClassifyTemplateButtonDO2VO(CodeClassifyTemplateButtonDO codeClassifyTemplateButtonDO) throws VciBaseException{
-              CodeClassifyTemplateButtonVO vo = new CodeClassifyTemplateButtonVO();
-        if(codeClassifyTemplateButtonDO != null){
-            BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateButtonDO,vo);
-            //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽
+	/**
+	 * 淇敼涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽�
+	 * @param codeClassifyTemplateButtonDTO 涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽暟鎹紶杈撳璞�
+	 * @return 鎵ц缁撴灉
+	 * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public CodeClassifyTemplateButtonVO editSave(CodeClassifyTemplateButtonDTO codeClassifyTemplateButtonDTO) throws VciBaseException{
+		VciBaseUtil.alertNotNull(codeClassifyTemplateButtonDTO,"鏁版嵁瀵硅薄",codeClassifyTemplateButtonDTO.getOid(),"涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽富閿�");
+		//灏咲TO杞崲涓篋O
+		CodeClassifyTemplateButton codeClassifyTemplateButtonDO = selectByOid(codeClassifyTemplateButtonDTO.getOid());
+		revisionModelUtil.copyFromDTOIgnore(codeClassifyTemplateButtonDTO,codeClassifyTemplateButtonDO);
+		DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeClassifyTemplateButtonDO);
+		boolean resUpdateClsTempButton = codeClassifyTemplateButtonMapper.updateById(codeClassifyTemplateButtonDO) > 0;
+		return resUpdateClsTempButton ? codeClassifyTemplateButtonDO2VO(codeClassifyTemplateButtonDO):null;
+	}
 
-        }
-        return vo;
-    }
+	/**
+	 * 鍒犻櫎涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽�
+	 * @param codeClassifyTemplateButtonDTO 涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽暟鎹紶杈撳璞★紝oid鍜宼s闇�瑕佷紶杈�
+	 * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐�
+	 * @throws VciBaseException 鍙傛暟涓虹┖锛岃寮曠敤鏃舵姏鍑哄紓甯�
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public R deleteCodeClassifyTemplateButton(CodeClassifyTemplateButtonDTO codeClassifyTemplateButtonDTO) throws VciBaseException{
+		VciBaseUtil.alertNotNull(codeClassifyTemplateButtonDTO,"涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽暟鎹璞�",codeClassifyTemplateButtonDTO.getOid(),"涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽殑涓婚敭");
+		CodeClassifyTemplateButton codeClassifyTemplateButtonDO = selectByOid(codeClassifyTemplateButtonDTO.getOid());
+		R baseResult = checkIsCanDeleteForDO(codeClassifyTemplateButtonDTO,codeClassifyTemplateButtonDO);
+		if(baseResult.isSuccess()) {
+		}else{
+			return baseResult;
+		}
+		//鎵ц鍒犻櫎鎿嶄綔
+		boolean b = codeClassifyTemplateButtonMapper.deleteById(codeClassifyTemplateButtonDO.getOid()) > 0;
+		return R.status(b);
+	}
 
-    /**
-     * 澧炲姞涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽�
-     * @param codeClassifyTemplateButtonDTO 涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽暟鎹紶杈撳璞�
-     * @return 鎵ц缁撴灉
-     * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
-     */
-    @Override
-    public CodeClassifyTemplateButtonVO addSave(CodeClassifyTemplateButtonDTO codeClassifyTemplateButtonDTO) throws VciBaseException{
-        VciBaseUtil.alertNotNull(codeClassifyTemplateButtonDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄",codeClassifyTemplateButtonDTO.getClassifytemplateoid(),"妯℃澘鐨勪富閿�");
-        //灏咲TO杞崲涓篋O
-        CodeClassifyTemplateButtonDO codeClassifyTemplateButtonDO = new CodeClassifyTemplateButtonDO();
-        BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateButtonDTO,codeClassifyTemplateButtonDO);
-        if(codeClassifyTemplateButtonDO.getOrderNum()== null){
-            //鏌ヨ鍏ㄩ儴
-            Map<String,String> conditionMap = new HashMap<>();
-            conditionMap.put("classifytemplateoid",codeClassifyTemplateButtonDTO.getClassifytemplateoid());
-            Long count = codeClassifyTemplateButtonMapper.countByCondition(conditionMap);
-            if(count == null){
-                count = 0L;
-            }
-            codeClassifyTemplateButtonDO.setOrderNum(Long.valueOf(count + 1L).intValue());
-        }
-        codeClassifyTemplateButtonMapper.insert(codeClassifyTemplateButtonDO);
-        return codeClassifyTemplateButtonDO2VO(codeClassifyTemplateButtonDO);
-    }
+	/**
+	 * 鏍¢獙鏄惁鍙互鍒犻櫎锛屽鏋滃瓨鍦ㄤ笅绾э紝骞朵笖涓嬬骇鏈夋暟鎹紩鐢ㄥ垯涓嶈兘鍒犻櫎
+	 * @param codeClassifyTemplateButtonDTO 鏁版嵁浼犺緭瀵硅薄
+	 * @param codeClassifyTemplateButtonDO 鏁版嵁搴撲腑鐨勬暟鎹璞�
+	 * @return success涓簍rue涓哄彲浠ュ垹闄わ紝false琛ㄧず鏈夋暟鎹紩鐢紝obj涓簍rue琛ㄧず鏈変笅绾�
+	 */
+	private R checkIsCanDeleteForDO(CodeClassifyTemplateButtonDTO codeClassifyTemplateButtonDTO, CodeClassifyTemplateButton codeClassifyTemplateButtonDO) {
+		CodeClassifyTemplateButton tsDO = new CodeClassifyTemplateButton();
+		BeanUtil.convert(codeClassifyTemplateButtonDTO,tsDO);
+		if (!checkTs(tsDO,codeClassifyTemplateButtonDO)) {
+			return R.fail(TS_NOT_PROCESS);
+		}
+		if(!checkIsLinked(codeClassifyTemplateButtonDO.getOid())) {
+			return R.success("success");
+		}else{
+			return R.fail(DATA_LINKED_NOT_DELETE);
+		}
+	}
 
-    /**
-     * 淇敼涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽�
-     * @param codeClassifyTemplateButtonDTO 涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽暟鎹紶杈撳璞�
-     * @return 鎵ц缁撴灉
-     * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
-     */
-     @Override
-     public CodeClassifyTemplateButtonVO editSave(CodeClassifyTemplateButtonDTO codeClassifyTemplateButtonDTO) throws VciBaseException{
-         VciBaseUtil.alertNotNull(codeClassifyTemplateButtonDTO,"鏁版嵁瀵硅薄",codeClassifyTemplateButtonDTO.getOid(),"涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽富閿�");
-         //灏咲TO杞崲涓篋O
-         CodeClassifyTemplateButtonDO codeClassifyTemplateButtonDO = selectByOid(codeClassifyTemplateButtonDTO.getOid());
-         revisionModelUtil.copyFromDTOIgnore(codeClassifyTemplateButtonDTO,codeClassifyTemplateButtonDO);
-         codeClassifyTemplateButtonMapper.updateByPrimaryKey(codeClassifyTemplateButtonDO);
-         return codeClassifyTemplateButtonDO2VO(codeClassifyTemplateButtonDO);
-     }
+	/**
+	 * 妫�鏌s
+	 * @param tempDO
+	 * @param codeClassifyTemplateButtonDO
+	 * @return
+	 */
+	private boolean checkTs(CodeClassifyTemplateButton tempDO,CodeClassifyTemplateButton codeClassifyTemplateButtonDO){
+		Date dbTs = codeClassifyTemplateButtonDO.getTs();
+		Date currentTs = tempDO.getTs();
+		if(currentTs == null ?  dbTs == null:currentTs.compareTo(dbTs)==0){
+			return true;
+		}
+		return false;
+	}
 
+	/**
+	 * 鑾峰彇杩炶〃鏌ヨ鏉′欢瀵硅薄
+	 * @param conditionMap
+	 * @return
+	 */
+	private MPJLambdaWrapper<CodeClassifyTemplateButton> getMPJLambdaWrapper(Map<String,String> conditionMap){
+		CodeClassifyTemplateButton codeClassifyTemplateButton = new CodeClassifyTemplateButton();
+		BeanMap beanMap = BeanMap.create(codeClassifyTemplateButton);
+		beanMap.putAll(conditionMap);
+		MPJLambdaWrapper<CodeClassifyTemplateButton> mpjLambdaWrapper = UBCSCondition.getMPJLambdaWrapper(codeClassifyTemplateButton)
+			.selectAll(CodeClassifyTemplateButton.class)
+			.selectAs(CodeButton::getName, CodeClassifyTemplateButton::getClassifyButtonOidName)
+			.selectAs(CodeButton::getId, CodeClassifyTemplateButton::getClassifyButtonId)
+			.leftJoin(CodeButton.class, CodeButton::getOid, CodeClassifyTemplateButton::getClassifyButtonOid);
+		return mpjLambdaWrapper;
+	}
 
-    /**
-     * 鏍¢獙鏄惁鍙互鍒犻櫎锛屽鏋滃瓨鍦ㄤ笅绾э紝骞朵笖涓嬬骇鏈夋暟鎹紩鐢ㄥ垯涓嶈兘鍒犻櫎
-     * @param codeClassifyTemplateButtonDTO 鏁版嵁浼犺緭瀵硅薄
-     * @param codeClassifyTemplateButtonDO 鏁版嵁搴撲腑鐨勬暟鎹璞�
-     * @return success涓簍rue涓哄彲浠ュ垹闄わ紝false琛ㄧず鏈夋暟鎹紩鐢紝obj涓簍rue琛ㄧず鏈変笅绾�
-     */
-    private BaseResult checkIsCanDeleteForDO(CodeClassifyTemplateButtonDTO codeClassifyTemplateButtonDTO, CodeClassifyTemplateButtonDO codeClassifyTemplateButtonDO) {
-        CodeClassifyTemplateButtonDO tsDO = new CodeClassifyTemplateButtonDO();
-        BeanUtil.convert(codeClassifyTemplateButtonDTO,tsDO);
-        boService.checkTs(tsDO);
-        if(!checkIsLinked(codeClassifyTemplateButtonDO.getOid())) {
-            return BaseResult.success();
-        }else{
-            return BaseResult.fail(DATA_LINKED_NOT_DELETE,new String[]{""});
-        }
-    }
+	/**
+	 * 涓婚敭鑾峰彇涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽�
+	 * @param oid 涓婚敭
+	 * @return 涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽樉绀哄璞�
+	 * @throws VciBaseException 鍙傛暟涓虹┖锛屾暟鎹笉瀛樺湪鏃朵細鎶涘嚭寮傚父
+	 */
+	@Override
+	public  CodeClassifyTemplateButtonVO getObjectByOid(String oid) throws VciBaseException{
+		return codeClassifyTemplateButtonDO2VO(selectByOid(oid));
+	}
 
-    /**
-    * 鏍¢獙鏄惁琚紩鐢�
-    * @param oid 涓婚敭
-    * @throws VciBaseException 琚紩鐢ㄧ殑鏃跺�欎細鎶涘嚭寮傚父
-    */
-    private boolean checkIsLinked(String oid) throws VciBaseException{
-        //TODO 娣诲姞闇�瑕佹牎楠屽紩鐢ㄧ殑鍦版柟
-        return false;
-    }
+	/**
+	 * 涓婚敭鎵归噺鑾峰彇涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽�
+	 * @param oidCollections 涓婚敭闆嗗悎锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓�
+	 * @return 涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽樉绀哄璞�
+	 * @throws VciBaseException 鏌ヨ鍑虹幇寮傚父鏃朵細鎶涘嚭
+	 */
+	@Override
+	public Collection<CodeClassifyTemplateButtonVO> listCodeClassifyTemplateButtonByOids(Collection<String> oidCollections) throws VciBaseException{
+		VciBaseUtil.alertNotNull(oidCollections,"鏁版嵁瀵硅薄涓婚敭闆嗗悎");
+		List<CodeClassifyTemplateButton> codeClassifyTemplateButtonDOList = listCodeClassifyTemplateButtonDOByOidCollections(oidCollections);
+		return codeClassifyTemplateButtonDO2VOs(codeClassifyTemplateButtonDOList);
+	}
 
-    /**
-     * 鍒犻櫎涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽�
-     * @param codeClassifyTemplateButtonDTO 涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽暟鎹紶杈撳璞★紝oid鍜宼s闇�瑕佷紶杈�
-     * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐�
-     * @throws VciBaseException 鍙傛暟涓虹┖锛岃寮曠敤鏃舵姏鍑哄紓甯�
-     */
-    @Override
-    public BaseResult deleteCodeClassifyTemplateButton(CodeClassifyTemplateButtonDTO codeClassifyTemplateButtonDTO) throws VciBaseException{
-        VciBaseUtil.alertNotNull(codeClassifyTemplateButtonDTO,"涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽暟鎹璞�",codeClassifyTemplateButtonDTO.getOid(),"涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽殑涓婚敭");
-        CodeClassifyTemplateButtonDO codeClassifyTemplateButtonDO = selectByOid(codeClassifyTemplateButtonDTO.getOid());
-        BaseResult baseResult = checkIsCanDeleteForDO(codeClassifyTemplateButtonDTO,codeClassifyTemplateButtonDO);
-        if(baseResult.isSuccess()) {
-                    }else{
-            return baseResult;
-        }
-        //鎵ц鍒犻櫎鎿嶄綔
-        BatchCBO batchCBO = codeClassifyTemplateButtonMapper.deleteByPrimaryKey(codeClassifyTemplateButtonDO.getOid());
-        return (batchCBO!=null && batchCBO.getDeleteCbos() !=null &&batchCBO.getDeleteCbos().size() > 0)?BaseResult.successMsg(DELETE_SUCCESS):BaseResult.fail(DELETE_FAIL);
-    }
+	/**
+	 * 鍙傜収涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽垪琛�
+	 * @param conditionMap 鏌ヨ鏉′欢
+	 * @param pageHelper 鍒嗛〉鍜屾帓搴�
+	 * @return 涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽樉绀哄璞″垪琛紝鐢熸晥鐨勫唴瀹�
+	 * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
+	 */
+	@Override
+	public IPage<CodeClassifyTemplateButtonVO> refDataGridCodeClassifyTemplateButton(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{
+		if(conditionMap == null){
+			conditionMap = new HashMap<String, String>();
+		}
+		return gridCodeClassifyTemplateButton(conditionMap, pageHelper);
+	}
 
-    /**
-    * 涓婚敭鑾峰彇涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽�
-    * @param oid 涓婚敭
-    * @return 涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽樉绀哄璞�
-    * @throws VciBaseException 鍙傛暟涓虹┖锛屾暟鎹笉瀛樺湪鏃朵細鎶涘嚭寮傚父
-    */
-    @Override
-    public  CodeClassifyTemplateButtonVO getObjectByOid(String oid) throws VciBaseException{
-        return codeClassifyTemplateButtonDO2VO(selectByOid(oid));
-    }
+	/**
+	 * 浣跨敤涓婚敭闆嗗悎鏌ヨ鏁版嵁瀵硅薄
+	 * @param oidCollections 涓婚敭鐨勯泦鍚�
+	 * @return 鏁版嵁瀵硅薄鍒楄〃
+	 */
+	private List<CodeClassifyTemplateButton> listCodeClassifyTemplateButtonDOByOidCollections(Collection<String> oidCollections){
+		List<CodeClassifyTemplateButton> codeClassifyTemplateButtonDOList = new ArrayList<CodeClassifyTemplateButton>();
+		if(!CollectionUtils.isEmpty(oidCollections)){
+			Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections);
+			for(Collection<String> oids: oidCollectionsList){
+				List<CodeClassifyTemplateButton> tempDOList = codeClassifyTemplateButtonMapper.selectBatchIds(oids);
+				if(!CollectionUtils.isEmpty(tempDOList)){
+					codeClassifyTemplateButtonDOList.addAll(tempDOList);
+				}
+			}
+		}
+		return  codeClassifyTemplateButtonDOList;
+	}
 
-    /**
-    * 涓婚敭鏌ヨ鏁版嵁瀵硅薄
-    * @param oid 涓婚敭
-    * @return  鏁版嵁瀵硅薄
-    * @throws VciBaseException 鍙傛暟涓虹┖锛屽苟涓旀暟鎹笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父
-    */
-    private CodeClassifyTemplateButtonDO selectByOid(String oid) throws VciBaseException{
-        VciBaseUtil.alertNotNull(oid,"涓婚敭");
-        CodeClassifyTemplateButtonDO codeClassifyTemplateButtonDO = codeClassifyTemplateButtonMapper.selectByPrimaryKey(oid.trim());
-        if(codeClassifyTemplateButtonDO == null || StringUtils.isBlank(codeClassifyTemplateButtonDO.getOid())){
-            throw new VciBaseException(DATA_OID_NOT_EXIST);
-        }
-        return codeClassifyTemplateButtonDO;
-    }
+	/**
+	 * 鏍¢獙鏄惁琚紩鐢�
+	 * @param oid 涓婚敭
+	 * @throws VciBaseException 琚紩鐢ㄧ殑鏃跺�欎細鎶涘嚭寮傚父
+	 */
+	private boolean checkIsLinked(String oid) throws VciBaseException{
+		//TODO 娣诲姞闇�瑕佹牎楠屽紩鐢ㄧ殑鍦版柟
+		return false;
+	}
 
-    /**
-     * 涓婚敭鎵归噺鑾峰彇涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽�
-     * @param oidCollections 涓婚敭闆嗗悎锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓�
-     * @return 涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽樉绀哄璞�
-     * @throws VciBaseException 鏌ヨ鍑虹幇寮傚父鏃朵細鎶涘嚭
-     */
-    @Override
-    public Collection<CodeClassifyTemplateButtonVO> listCodeClassifyTemplateButtonByOids(Collection<String> oidCollections) throws VciBaseException{
-        VciBaseUtil.alertNotNull(oidCollections,"鏁版嵁瀵硅薄涓婚敭闆嗗悎");
-        List<CodeClassifyTemplateButtonDO> codeClassifyTemplateButtonDOList = listCodeClassifyTemplateButtonDOByOidCollections(oidCollections);
-        return codeClassifyTemplateButtonDO2VOs(codeClassifyTemplateButtonDOList);
-    }
+	/**
+	 * 涓婚敭鏌ヨ鏁版嵁瀵硅薄
+	 * @param oid 涓婚敭
+	 * @return  鏁版嵁瀵硅薄
+	 * @throws VciBaseException 鍙傛暟涓虹┖锛屽苟涓旀暟鎹笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父
+	 */
+	private CodeClassifyTemplateButton selectByOid(String oid) throws VciBaseException{
+		VciBaseUtil.alertNotNull(oid,"涓婚敭");
+		HashMap<String, String> conditionMap = new HashMap<>();
+		conditionMap.put("oid",oid);
+		MPJLambdaWrapper<CodeClassifyTemplateButton> mpjLambdaWrapper = getMPJLambdaWrapper(conditionMap);
+		CodeClassifyTemplateButton codeClassifyTemplateButtonDO = codeClassifyTemplateButtonMapper.selectOne(mpjLambdaWrapper);
+		if(codeClassifyTemplateButtonDO == null || StringUtils.isBlank(codeClassifyTemplateButtonDO.getOid())){
+			throw new VciBaseException(DATA_OID_NOT_EXIST);
+		}
+		return codeClassifyTemplateButtonDO;
+	}
 
-    /**
-    * 浣跨敤涓婚敭闆嗗悎鏌ヨ鏁版嵁瀵硅薄
-    * @param oidCollections 涓婚敭鐨勯泦鍚�
-    * @return 鏁版嵁瀵硅薄鍒楄〃
-    */
-    private List<CodeClassifyTemplateButtonDO> listCodeClassifyTemplateButtonDOByOidCollections(Collection<String> oidCollections){
-        List<CodeClassifyTemplateButtonDO> codeClassifyTemplateButtonDOList = new ArrayList<CodeClassifyTemplateButtonDO>();
-        if(!CollectionUtils.isEmpty(oidCollections)){
-            Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections);
-            for(Collection<String> oids: oidCollectionsList){
-                List<CodeClassifyTemplateButtonDO> tempDOList =  codeClassifyTemplateButtonMapper.selectByPrimaryKeyCollection(oids);
-                if(!CollectionUtils.isEmpty(tempDOList)){
-                        codeClassifyTemplateButtonDOList.addAll(tempDOList);
-                }
-            }
-        }
-        return  codeClassifyTemplateButtonDOList;
-    }
+	/**
+	 * 妯℃澘鍒犻櫎鐨勬椂鍊欒Е鍙�
+	 *
+	 * @param classifyTemplateOid 妯℃澘鐨勪富閿�
+	 * @return 鍙楀奖鍝嶇殑鏁版嵁琛�
+	 */
+	@Override
+	public int codeTemplateDeleteTrigger(String classifyTemplateOid) {
+		int updateCount = 0;
+		if(StringUtils.isNotBlank(classifyTemplateOid)){
+			Map<String,Object> conditionMap = new HashMap<>();
+			conditionMap.put("classifyTemplateOid",classifyTemplateOid);
+			List<CodeClassifyTemplateButton> codeTempbuttonEntities = baseMapper.selectByMap(conditionMap);
+			if(!CollectionUtils.isEmpty(codeTempbuttonEntities)){
+				updateCount += baseMapper.deleteBatchIds(codeTempbuttonEntities.stream()
+					.map(CodeClassifyTemplateButton::getOid).collect(Collectors.toList()));
+			}
+		}
+		return updateCount;
+	}
 
+	/**
+	 * 浣跨敤妯℃澘涓婚敭鑾峰彇鎵╁睍鐨勬寜閽�
+	 *
+	 * @param templateOid 妯℃澘鐨勪富閿�
+	 * @param hasButtonVO 鏄惁鍖呭惈鎸夐挳鐨勬樉绀轰俊鎭�
+	 * @return 鎸夐挳鐨勭浉鍏崇殑淇℃伅
+	 */
+	@Override
+	public List<CodeClassifyTemplateButtonVO> listButtonByTemplateOid(String templateOid, boolean hasButtonVO) {
+		if(StringUtils.isBlank(templateOid)){
+			return new ArrayList<>();
+		}
+//		Map<String,String> conditionMap = new HashMap<>();
+//		conditionMap.put("classifyTemplateOid",templateOid);
+//		PageHelper pageHelper = new PageHelper(-1);
+//		pageHelper.addDefaultAsc("orderNum");
+		QueryWrapper<CodeClassifyTemplateButton> wrapper = new QueryWrapper<>();
+		wrapper.eq("classifyTemplateOid",templateOid);
+		wrapper.orderByAsc("orderNum");
+		List<CodeClassifyTemplateButton> templateButtonDOS = codeClassifyTemplateButtonMapper.selectList(wrapper);
+		return codeClassifyTemplateButtonDO2VOs(templateButtonDOS,hasButtonVO);
+	}
 
-
-    /**
-     * 鍙傜収涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽垪琛�
-     * @param conditionMap 鏌ヨ鏉′欢
-     * @param pageHelper 鍒嗛〉鍜屾帓搴�
-     * @return 涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽樉绀哄璞″垪琛紝鐢熸晥鐨勫唴瀹�
-     * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
-     */
-    @Override
-    public DataGrid<CodeClassifyTemplateButtonVO> refDataGridCodeClassifyTemplateButton(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{
-        if(conditionMap == null){
-            conditionMap = new HashMap<String, String>();
-        }
-        return gridCodeClassifyTemplateButton(conditionMap,pageHelper);
-    }
-
-    /**
-     * 妯℃澘鍒犻櫎鐨勬椂鍊欒Е鍙�
-     *
-     * @param classifyTemplateOid 妯℃澘鐨勪富閿�
-     * @return 鍙楀奖鍝嶇殑鏁版嵁
-     */
-    @Override
-    public BatchCBO codeTemplateDeleteTrigger(String classifyTemplateOid) {
-        BatchCBO batchCBO = new BatchCBO();
-        if(StringUtils.isNotBlank(classifyTemplateOid)){
-            Map<String,String> conditionMap = new HashMap<>();
-            conditionMap.put("classifyTemplateOid",classifyTemplateOid);
-            List<CodeClassifyTemplateButtonDO> templateButtonDOS = codeClassifyTemplateButtonMapper.selectByCondition(conditionMap, new PageHelper(-1));
-            if(!CollectionUtils.isEmpty(templateButtonDOS)){
-                batchCBO.copyFromOther(codeClassifyTemplateButtonMapper.batchDeleteByOids(templateButtonDOS.stream().map(CodeClassifyTemplateButtonDO::getOid).collect(Collectors.toList())));
-            }
-        }
-        return batchCBO;
-    }
-
-    /**
-     * 浣跨敤妯℃澘涓婚敭鑾峰彇鎵╁睍鐨勬寜閽�
-     *
-     * @param templateOid 妯℃澘鐨勪富閿�
-     * @return 鎸夐挳鐨勭浉鍏崇殑淇℃伅
-     */
-    @Override
-    public List<CodeClassifyTemplateButtonVO> listButtonByTemplateOid(String templateOid) {
-       return listButtonByTemplateOid(templateOid,false);
-    }
-
-    /**
-     * 浣跨敤妯℃澘涓婚敭鑾峰彇鎵╁睍鐨勬寜閽�
-     *
-     * @param templateOid 妯℃澘鐨勪富閿�
-     * @param hasButtonVO 鏄惁鍖呭惈鎸夐挳鐨勬樉绀轰俊鎭�
-     * @return 鎸夐挳鐨勭浉鍏崇殑淇℃伅
-     */
-    @Override
-    public List<CodeClassifyTemplateButtonVO> listButtonByTemplateOid(String templateOid, boolean hasButtonVO) {
-        if(StringUtils.isBlank(templateOid)){
-            return new ArrayList<>();
-        }
-        Map<String,String> conditionMap = new HashMap<>();
-        conditionMap.put("classifyTemplateOid",templateOid);
-        PageHelper pageHelper = new PageHelper(-1);
-        pageHelper.addDefaultAsc("orderNum");
-        List<CodeClassifyTemplateButtonDO> templateButtonDOS = codeClassifyTemplateButtonMapper.selectByCondition(conditionMap, pageHelper);
-        return codeClassifyTemplateButtonDO2VOs(templateButtonDOS,hasButtonVO);
-    }
 }
-

--
Gitblit v1.9.3