From 7f0570d20aac189f1b170942bd7100b281a1c824 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 26 四月 2023 00:07:37 +0800
Subject: [PATCH] 代码整合,新增codefixedcontroller

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeFixedValueServiceImpl.java |  653 +++++++++++++++++++++++++++-------------------------------
 1 files changed, 302 insertions(+), 351 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeFixedValueServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeFixedValueServiceImpl.java
index 400c525..3660668 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeFixedValueServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeFixedValueServiceImpl.java
@@ -1,377 +1,328 @@
 package com.vci.ubcs.code.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
+import com.vci.ubcs.code.dto.CodeFixedValueDTO;
+import com.vci.ubcs.code.entity.CodeFixedValue;
 import com.vci.ubcs.code.mapper.CodeFixedValueMapper;
-import com.vci.ubcs.code.entity.CodeFixedValueDO;
-import com.vci.ubcs.code.service.CodeFixedValueServiceI;
-import com.vci.starter.revision.service.RevisionModelUtil;
-import com.vci.starter.web.constant.QueryOptionConstant;
-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.BeanUtilForVCI;
-import com.vci.starter.web.util.VciBaseUtil;
-import com.vci.starter.web.wrapper.VciQueryWrapperForDO;
-import com.vci.web.pageModel.BatchCBO;
-import com.vci.web.service.WebBoServiceI;
-import com.vci.web.util.WebUtil;
-import org.apache.commons.lang3.StringUtils;
+import com.vci.ubcs.code.service.ICodeFixedValueService;
+import com.vci.ubcs.code.vo.pagemodel.CodeFixedValueVO;
+import com.vci.ubcs.code.wrapper.CodeFixedValueWrapper;
+import com.vci.ubcs.starter.exception.VciBaseException;
+import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
+import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import com.vci.ubcs.code.dto.CodeFixedValueDTO;
-import com.vci.ubcs.code.vo.pagemodel.CodeFixedValueVO;
+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.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Lazy;
+import org.springframework.data.domain.Page;
 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.DATA_LINKED_NOT_DELETE;
+import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_OID_NOT_EXIST;
 
 /**
  * 鍥哄畾鐮佹鐨勭爜鍊兼湇鍔�
- * @author weidy
+ * @author ludc
  * @date 2022-01-24
  */
 @Service
-public class CodeFixedValueServiceImpl implements CodeFixedValueServiceI {
+public class CodeFixedValueServiceImpl extends ServiceImpl<CodeFixedValueMapper, CodeFixedValue> implements ICodeFixedValueService {
 
-    /**
-    * 鏃ュ織
-    */
-    private Logger logger = LoggerFactory.getLogger(getClass());
+	/**
+	 * 鏁版嵁鎿嶄綔灞�
+	 */
+	@Resource
+	private CodeFixedValueMapper codeFixedValueMapper;
 
-    /**
-    * 鏁版嵁鎿嶄綔灞�
-    */
-    @Resource
-    private CodeFixedValueMapper codeFixedValueMapper;
+	/**
+	 * 瀵硅薄鐨勬搷浣�
+	 */
+	@Resource
+	private RevisionModelUtil revisionModelUtil;
 
-    /**
-    * 涓氬姟绫诲瀷鎿嶄綔鐨勬湇鍔�
-    */
-    @Autowired
-    @Lazy
-	private WebBoServiceI boService;
+	/**
+	 * 鏌ヨ鎵�鏈夌殑鍥哄畾鐮佹鐨勭爜鍊�
+	 * @param codeFixedValueVO 鏌ヨ鏉′欢
+	 * @param page 鍒嗛〉鍜屾帓搴�
+	 * @return 鎵ц缁撴灉
+	 * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
+	 */
+	@Override
+	public IPage<CodeFixedValueVO> gridCodeFixedValue(CodeFixedValueVO codeFixedValueVO,IPage<CodeFixedValueVO> page) throws VciBaseException{
+		String secOid = codeFixedValueVO.getCodeFixedSecOid();
+		if(StringUtils.isBlank(secOid)){
+			return null;
+		}
+		List<CodeFixedValue> doList = codeFixedValueMapper.selectByPage(codeFixedValueVO,page);
+		return page.setRecords(CodeFixedValueWrapper.build().listVO(doList));
+	}
 
-    /**
-    * 瀵硅薄鐨勬搷浣�
-    */
-    @Autowired
-    private RevisionModelUtil revisionModelUtil;
+	/**
+	 * 澧炲姞鍥哄畾鐮佹鐨勭爜鍊�
+	 * @param codeFixedValueDTO 鍥哄畾鐮佹鐨勭爜鍊兼暟鎹紶杈撳璞�
+	 * @return 鎵ц缁撴灉
+	 * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
+	 */
+	@Override
+	public boolean addSave(CodeFixedValueDTO codeFixedValueDTO) throws VciBaseException{
+		VciBaseUtil.alertNotNull(codeFixedValueDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄");
+		//灏咲TO杞崲涓篋O
+		CodeFixedValue codeFixedValueDO = new CodeFixedValue();
+		BeanUtilForVCI.copyPropertiesIgnoreCase(codeFixedValueDTO,codeFixedValueDO);
+		//濉厖涓�浜涢粯璁ゅ��
+		codeFixedValueDO.setOid(VciBaseUtil.getPk());
+		codeFixedValueDO.setRevisionOid(VciBaseUtil.getPk());
+		codeFixedValueDO.setNameOid(VciBaseUtil.getPk());
+		codeFixedValueDO.setBtmname(MdmBtmTypeConstant.CODE_FIXED_VALUE);
+		codeFixedValueDO.setCreateTime(new Date());
+		codeFixedValueDO.setCreator(AuthUtil.getUserId().toString());
+		codeFixedValueDO.setLastModifier(AuthUtil.getUserId().toString());
+		codeFixedValueDO.setLastModifyTime(new Date());
+		codeFixedValueDO.setTs(new Date());
+		Long count = this.codeFixedValueMapper.selectCount(Wrappers.<CodeFixedValue>query()
+			.lambda().eq(CodeFixedValue::getCodeFixedSecOid, codeFixedValueDO.getCodeFixedSecOid())
+		)+1L;
+		codeFixedValueDO.setOrderNum(count.intValue());
+		boolean resBoolean = this.codeFixedValueMapper.insert(codeFixedValueDO) > 0;
+		return resBoolean;
+	}
+
+	/**
+	 * 淇敼鍥哄畾鐮佹鐨勭爜鍊�
+	 * @param codeFixedValueDTO 鍥哄畾鐮佹鐨勭爜鍊兼暟鎹紶杈撳璞�
+	 * @return 鎵ц缁撴灉
+	 * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public boolean editSave(CodeFixedValueDTO codeFixedValueDTO) throws VciBaseException{
+		VciBaseUtil.alertNotNull(codeFixedValueDTO,"鏁版嵁瀵硅薄",codeFixedValueDTO.getOid(),"鍥哄畾鐮佹鐨勭爜鍊间富閿�");
+		//灏咲TO杞崲涓篋O
+		CodeFixedValue codeFixedValueDO = selectByOid(codeFixedValueDTO.getOid());
+		revisionModelUtil.copyFromDTOIgnore(codeFixedValueDTO,codeFixedValueDO);
+		//濉厖涓�浜涢粯璁ゅ��
+		codeFixedValueDO.setLastModifier(AuthUtil.getUserId().toString());
+		codeFixedValueDO.setLastModifyTime(new Date());
+		codeFixedValueDO.setTs(new Date());
+		boolean resBoolean = codeFixedValueMapper.updateById(codeFixedValueDO) > 0;
+		return resBoolean;
+	}
+
+	/**
+	 * 鏍¢獙鏄惁鍙互鍒犻櫎锛屽鏋滃瓨鍦ㄤ笅绾э紝骞朵笖涓嬬骇鏈夋暟鎹紩鐢ㄥ垯涓嶈兘鍒犻櫎
+	 * @param codeFixedValueDTO 鏁版嵁浼犺緭瀵硅薄
+	 * @param codeFixedValueDO 鏁版嵁搴撲腑鐨勬暟鎹璞�
+	 * @return success涓簍rue涓哄彲浠ュ垹闄わ紝false琛ㄧず鏈夋暟鎹紩鐢紝obj涓簍rue琛ㄧず鏈変笅绾�
+	 */
+	private R checkIsCanDeleteForDO(CodeFixedValueDTO codeFixedValueDTO, CodeFixedValue codeFixedValueDO) {
+		//boService.checkTs(codeFixedValueDTO);
+		if(!checkIsLinked(codeFixedValueDO.getOid())) {
+			return R.status(true);
+		}else{
+			return R.fail(DATA_LINKED_NOT_DELETE);
+		}
+	}
+
+	/**
+	 * 鏍¢獙鏄惁琚紩鐢�
+	 * @param oid 涓婚敭
+	 * @throws VciBaseException 琚紩鐢ㄧ殑鏃跺�欎細鎶涘嚭寮傚父
+	 */
+	private boolean checkIsLinked(String oid) throws VciBaseException{
+		//TODO 娣诲姞闇�瑕佹牎楠屽紩鐢ㄧ殑鍦版柟
+		return false;
+	}
+
+	/**
+	 * 鍒犻櫎鍥哄畾鐮佹鐨勭爜鍊�
+	 * @param codeFixedValueDTO 鍥哄畾鐮佹鐨勭爜鍊兼暟鎹紶杈撳璞★紝oid鍜宼s闇�瑕佷紶杈�
+	 * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐�
+	 * @throws VciBaseException 鍙傛暟涓虹┖锛岃寮曠敤鏃舵姏鍑哄紓甯�
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public R deleteCodeFixedValue(CodeFixedValueDTO codeFixedValueDTO) throws VciBaseException {
+		VciBaseUtil.alertNotNull(codeFixedValueDTO,"鍥哄畾鐮佹鐨勭爜鍊兼暟鎹璞�",codeFixedValueDTO.getOid(),"鍥哄畾鐮佹鐨勭爜鍊肩殑涓婚敭");
+		CodeFixedValue codeFixedValueDO = selectByOid(codeFixedValueDTO.getOid());
+		R baseResult = checkIsCanDeleteForDO(codeFixedValueDTO,codeFixedValueDO);
+		if(!baseResult.isSuccess()) {
+			return baseResult;
+		}
+		//鎵ц鍒犻櫎鎿嶄綔
+		boolean resBoolean = codeFixedValueMapper.deleteById(codeFixedValueDO.getOid())>0;
+		return R.status(resBoolean);
+	}
+
+	/**
+	 * 涓婚敭鑾峰彇鍥哄畾鐮佹鐨勭爜鍊�
+	 * @param oid 涓婚敭
+	 * @return 鍥哄畾鐮佹鐨勭爜鍊兼樉绀哄璞�
+	 * @throws VciBaseException 鍙傛暟涓虹┖锛屾暟鎹笉瀛樺湪鏃朵細鎶涘嚭寮傚父
+	 */
+	@Override
+	public CodeFixedValueVO getObjectByOid(String oid) throws VciBaseException{
+		return CodeFixedValueWrapper.build().entityVO(selectByOid(oid));
+	}
+
+	/**
+	 * 涓婚敭鏌ヨ鏁版嵁瀵硅薄
+	 * @param oid 涓婚敭
+	 * @return  鏁版嵁瀵硅薄
+	 * @throws VciBaseException 鍙傛暟涓虹┖锛屽苟涓旀暟鎹笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父
+	 */
+	private CodeFixedValue selectByOid(String oid) throws VciBaseException{
+		VciBaseUtil.alertNotNull(oid,"涓婚敭");
+		CodeFixedValue codeFixedValueDO = codeFixedValueMapper.selectById(oid.trim());
+		if(codeFixedValueDO == null || StringUtils.isBlank(codeFixedValueDO.getOid())){
+			throw new VciBaseException(DATA_OID_NOT_EXIST);
+		}
+		return codeFixedValueDO;
+	}
+
+	/**
+	 * 涓婚敭鎵归噺鑾峰彇鍥哄畾鐮佹鐨勭爜鍊�
+	 * @param oidCollections 涓婚敭闆嗗悎锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓�
+	 * @return 鍥哄畾鐮佹鐨勭爜鍊兼樉绀哄璞�
+	 * @throws VciBaseException 鏌ヨ鍑虹幇寮傚父鏃朵細鎶涘嚭
+	 */
+	@Override
+	public Collection<CodeFixedValueVO> listCodeFixedValueByOids(Collection<String> oidCollections) throws VciBaseException {
+		VciBaseUtil.alertNotNull(oidCollections,"鏁版嵁瀵硅薄涓婚敭闆嗗悎");
+		List<CodeFixedValue> codeFixedValueDOList = listCodeFixedValueDOByOidCollections(oidCollections);
+		return CodeFixedValueWrapper.build().listVO(codeFixedValueDOList);
+	}
+
+	/**
+	 * 浣跨敤涓婚敭闆嗗悎鏌ヨ鏁版嵁瀵硅薄
+	 * @param oidCollections 涓婚敭鐨勯泦鍚�
+	 * @return 鏁版嵁瀵硅薄鍒楄〃
+	 */
+	private List<CodeFixedValue> listCodeFixedValueDOByOidCollections(Collection<String> oidCollections){
+		List<CodeFixedValue> codeFixedValueDOList = new ArrayList<>();
+		if(!CollectionUtils.isEmpty(oidCollections)){
+			Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections);
+			for(Collection<String> oids: oidCollectionsList){
+				List<CodeFixedValue> tempDOList =  codeFixedValueMapper.selectBatchIds(oids);
+				if(!CollectionUtils.isEmpty(tempDOList)){
+					codeFixedValueDOList.addAll(tempDOList);
+				}
+			}
+		}
+		return  codeFixedValueDOList;
+	}
+
+	/**
+	 * 鍙傜収鍥哄畾鐮佹鐨勭爜鍊煎垪琛�
+	 * @param codeFixedValueVO 鏌ヨ鏉′欢
+	 * @param page 鍒嗛〉鍜屾帓搴�
+	 * @return 鍥哄畾鐮佹鐨勭爜鍊兼樉绀哄璞″垪琛紝鐢熸晥鐨勫唴瀹�
+	 * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
+	 */
+	@Override
+	public IPage<CodeFixedValueVO> refDataGridCodeFixedValue(CodeFixedValueVO codeFixedValueVO,IPage<CodeFixedValueVO> page) throws VciBaseException{
+		return gridCodeFixedValue(codeFixedValueVO,page);
+	}
+
+	/**
+	 * 浣跨敤鐮佹鐨勪富閿幏鍙栧浐瀹氱爜鐨勭爜鍊�
+	 *
+	 * @param secOidCollection 鐮佹鐨勪富閿�
+	 * @return 鐮佸�兼樉绀哄璞�
+	 * @throws VciBaseException 鏌ヨ鐨勬椂鍊欏嚭鐜颁簡閿欒浼氭姏鍑哄紓甯�
+	 */
+	@Override
+	public Map<String, List<CodeFixedValueVO>> listCodeFixedValueBySecOids(Collection<String> secOidCollection) throws VciBaseException {
+		if(CollectionUtils.isEmpty(secOidCollection)){
+			return  new HashMap<>();
+		}
+		List<CodeFixedValueVO> voList = new ArrayList<>();
+		VciBaseUtil.switchCollectionForOracleIn(secOidCollection).forEach(secOids->{
+			Query query = new Query();
+			query.setDescs("orderNum");
+			query.setSize(-1);
+			query.setCurrent(1);
+			List<CodeFixedValue> valueDOS = this.codeFixedValueMapper.selectByPageByCodeFixedSecOid(secOids,Condition.getPage(query));
+			voList.addAll(CodeFixedValueWrapper.build().listVO(Optional.ofNullable(valueDOS).orElseGet(() -> new ArrayList<>())));
+		});
+		return voList.stream().collect(Collectors.groupingBy(CodeFixedValueVO::getCodeFixedSecOid));
+	}
+
+	/**
+	 * 鎵归噺娣诲姞鍥哄畾鐮佹鐨勭爜鍊硷紝濡傛灉淇濆瓨鐨勯泦鍚堜腑涓嶅瓨鍦ㄥ凡鍦ㄦ暟鎹簱涓殑鐮佸�煎垯鍒犻櫎銆備富瑕佹槸淇濆瓨鐮佸�肩殑搴忓彿
+	 * @param dtoList 鍥哄畾鐮佹鐨勭爜鍊煎垪琛�
+	 * @param codefixedsecoid 鍥哄畾鐮佹鐨勪富閿�
+	 * @return 鎵ц缁撴灉
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public R<CodeFixedValueVO> batchSave4Order(List<CodeFixedValueDTO> dtoList, String codefixedsecoid) {
+		VciBaseUtil.alertNotNull(codefixedsecoid,"鍥哄畾鐮佹涓婚敭");
+		List<CodeFixedValue> doList = codeFixedValueMapper.selectList(Wrappers.<CodeFixedValue>query()
+			.lambda().eq(CodeFixedValue::getCodeFixedSecOid,codefixedsecoid)
+		);
+		List<CodeFixedValue> updateList = new ArrayList<>();
+		List<String> deleteOidList = new ArrayList<>();
+		dtoList.forEach(dto -> {
+			if (StringUtils.isNotBlank(dto.getOid())){
+				List<CodeFixedValue> valueDOList = doList.stream().filter(value -> {
+					return value.getOid().equals(dto.getOid());
+				}).collect(Collectors.toList());
+				valueDOList.forEach(valueDO -> {
+					valueDO.setId(dto.getId());
+					valueDO.setName(dto.getName());
+					valueDO.setOrderNum(dto.getOrderNum());
+					updateList.add(valueDO);
+				});
+			}else{
+				throw new VciBaseException("鍥哄畾鐮佹涓婚敭涓嶈兘涓虹┖");
+			}
+		});
+		if (doList.size() != dtoList.size()){
+			List<String> oidList = dtoList.stream().map(CodeFixedValueDTO::getOid).collect(Collectors.toList());
+			List<CodeFixedValue> deleteList = new ArrayList<>();
+			for (CodeFixedValue value : doList) {
+				if (!oidList.contains(value.getOid())){
+					deleteList.add(value);
+				}
+			}
+			deleteOidList = deleteList.stream().map(CodeFixedValue::getOid).collect(Collectors.toList());
+		}
+		boolean resBooleanUpdate = this.updateBatchById(updateList);
+		if (!CollectionUtils.isEmpty(deleteOidList)) {
+			codeFixedValueMapper.deleteBatchIds(deleteOidList);
+		}
+		return R.status(resBooleanUpdate);
+	}
+
+	/**
+	 * 鏍规嵁鐮佹涓婚敭鍒犻櫎鍏跺瓨鍦ㄧ殑鐮佸�煎璞�
+	 * @param codefixedsecoid 鍥哄畾鐮佹鐨勪富閿�
+	 * @return 鎵ц缁撴灉
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public boolean batchDeleteBySecOid(String codefixedsecoid) {
+		VciBaseUtil.alertNotNull(codefixedsecoid,"鍥哄畾鐮佹涓婚敭");
+		List<CodeFixedValue> doList = codeFixedValueMapper.selectList(Wrappers.<CodeFixedValue>query()
+			.lambda().eq(CodeFixedValue::getCodeFixedSecOid,codefixedsecoid)
+		);
+		boolean resBoolean = codeFixedValueMapper.deleteBatchIds(doList.stream().map(CodeFixedValue::getOid).collect(Collectors.toList())) > 0;
+		return resBoolean;
+	}
 
 
-    /**
-     * 鏌ヨ鎵�鏈夌殑鍥哄畾鐮佹鐨勭爜鍊�
-     * @param conditionMap 鏌ヨ鏉′欢
-     * @param pageHelper 鍒嗛〉鍜屾帓搴�
-     * @return 鎵ц缁撴灉
-     * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
-     */
-    @Override
-    public DataGrid<CodeFixedValueVO> gridCodeFixedValue(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{
-        if (pageHelper == null) {
-            pageHelper = new PageHelper(-1);
-        }
-        pageHelper.addDefaultAsc("ordernum");
-        if(conditionMap == null){
-            conditionMap = new HashMap<>();
-        }
-        String secOid = conditionMap.getOrDefault("codefixedsecoid", "");
-        if(StringUtils.isBlank(secOid)){
-            return new DataGrid<>();
-        }
-        List<CodeFixedValueDO> doList = codeFixedValueMapper.selectByCondition(conditionMap,pageHelper);
-        DataGrid<CodeFixedValueVO> dataGrid=new DataGrid<CodeFixedValueVO>();
-        if (!CollectionUtils.isEmpty(doList)) {
-            dataGrid.setData(codeFixedValueDO2VOs(doList));
-            dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(codeFixedValueMapper.countByCondition(conditionMap))));
-        }
-        return dataGrid;
-    }
-
-    /**
-     * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
-     * @param codeFixedValueDOs 鏁版嵁瀵硅薄鍒楄〃
-     * @return 鏄剧ず瀵硅薄
-     * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呬笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父
-     */
-    @Override
-    public List<CodeFixedValueVO> codeFixedValueDO2VOs(Collection<CodeFixedValueDO>  codeFixedValueDOs) throws VciBaseException{
-        List<CodeFixedValueVO> voList = new ArrayList<CodeFixedValueVO>();
-        if(!CollectionUtils.isEmpty(codeFixedValueDOs)){
-           for(CodeFixedValueDO s: codeFixedValueDOs){
-                CodeFixedValueVO vo =  codeFixedValueDO2VO(s);
-                if(vo != null){
-                    voList.add(vo);
-                }
-            }
-        }
-        return voList;
-    }
-
-    /**
-     * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
-     * @param  codeFixedValueDO 鏁版嵁瀵硅薄
-     * @return 鏄剧ず瀵硅薄
-     * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
-     */
-    @Override
-    public  CodeFixedValueVO codeFixedValueDO2VO(CodeFixedValueDO codeFixedValueDO) throws VciBaseException{
-              CodeFixedValueVO vo = new CodeFixedValueVO();
-        if(codeFixedValueDO != null){
-            BeanUtilForVCI.copyPropertiesIgnoreCase(codeFixedValueDO,vo);
-            //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽
-
-        }
-        return vo;
-    }
-
-    /**
-     * 澧炲姞鍥哄畾鐮佹鐨勭爜鍊�
-     * @param codeFixedValueDTO 鍥哄畾鐮佹鐨勭爜鍊兼暟鎹紶杈撳璞�
-     * @return 鎵ц缁撴灉
-     * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
-     */
-    @Override
-    public CodeFixedValueVO addSave(CodeFixedValueDTO codeFixedValueDTO) throws VciBaseException{
-        VciBaseUtil.alertNotNull(codeFixedValueDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄");
-        //灏咲TO杞崲涓篋O
-        CodeFixedValueDO codeFixedValueDO = new CodeFixedValueDO();
-        BeanUtilForVCI.copyPropertiesIgnoreCase(codeFixedValueDTO,codeFixedValueDO);
-        codeFixedValueMapper.insert(codeFixedValueDO);
-        return codeFixedValueDO2VO(codeFixedValueDO);
-    }
-
-    /**
-     * 淇敼鍥哄畾鐮佹鐨勭爜鍊�
-     * @param codeFixedValueDTO 鍥哄畾鐮佹鐨勭爜鍊兼暟鎹紶杈撳璞�
-     * @return 鎵ц缁撴灉
-     * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
-     */
-     @Override
-     public CodeFixedValueVO editSave(CodeFixedValueDTO codeFixedValueDTO) throws VciBaseException{
-         VciBaseUtil.alertNotNull(codeFixedValueDTO,"鏁版嵁瀵硅薄",codeFixedValueDTO.getOid(),"鍥哄畾鐮佹鐨勭爜鍊间富閿�");
-         //灏咲TO杞崲涓篋O
-         CodeFixedValueDO codeFixedValueDO = selectByOid(codeFixedValueDTO.getOid());
-         revisionModelUtil.copyFromDTOIgnore(codeFixedValueDTO,codeFixedValueDO);
-         codeFixedValueMapper.updateByPrimaryKey(codeFixedValueDO);
-         return codeFixedValueDO2VO(codeFixedValueDO);
-     }
-
-
-    /**
-     * 鏍¢獙鏄惁鍙互鍒犻櫎锛屽鏋滃瓨鍦ㄤ笅绾э紝骞朵笖涓嬬骇鏈夋暟鎹紩鐢ㄥ垯涓嶈兘鍒犻櫎
-     * @param codeFixedValueDTO 鏁版嵁浼犺緭瀵硅薄
-     * @param codeFixedValueDO 鏁版嵁搴撲腑鐨勬暟鎹璞�
-     * @return success涓簍rue涓哄彲浠ュ垹闄わ紝false琛ㄧず鏈夋暟鎹紩鐢紝obj涓簍rue琛ㄧず鏈変笅绾�
-     */
-    private BaseResult checkIsCanDeleteForDO(CodeFixedValueDTO codeFixedValueDTO, CodeFixedValueDO codeFixedValueDO) {
-        //boService.checkTs(codeFixedValueDTO);
-        if(!checkIsLinked(codeFixedValueDO.getOid())) {
-            return BaseResult.success();
-        }else{
-            return BaseResult.fail(DATA_LINKED_NOT_DELETE,new String[]{""});
-        }
-    }
-
-    /**
-    * 鏍¢獙鏄惁琚紩鐢�
-    * @param oid 涓婚敭
-    * @throws VciBaseException 琚紩鐢ㄧ殑鏃跺�欎細鎶涘嚭寮傚父
-    */
-    private boolean checkIsLinked(String oid) throws VciBaseException{
-        //TODO 娣诲姞闇�瑕佹牎楠屽紩鐢ㄧ殑鍦版柟
-        return false;
-    }
-
-    /**
-     * 鍒犻櫎鍥哄畾鐮佹鐨勭爜鍊�
-     * @param codeFixedValueDTO 鍥哄畾鐮佹鐨勭爜鍊兼暟鎹紶杈撳璞★紝oid鍜宼s闇�瑕佷紶杈�
-     * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐�
-     * @throws VciBaseException 鍙傛暟涓虹┖锛岃寮曠敤鏃舵姏鍑哄紓甯�
-     */
-    @Override
-    public BaseResult deleteCodeFixedValue(CodeFixedValueDTO codeFixedValueDTO) throws VciBaseException{
-        VciBaseUtil.alertNotNull(codeFixedValueDTO,"鍥哄畾鐮佹鐨勭爜鍊兼暟鎹璞�",codeFixedValueDTO.getOid(),"鍥哄畾鐮佹鐨勭爜鍊肩殑涓婚敭");
-        CodeFixedValueDO codeFixedValueDO = selectByOid(codeFixedValueDTO.getOid());
-        BaseResult baseResult = checkIsCanDeleteForDO(codeFixedValueDTO,codeFixedValueDO);
-        if(baseResult.isSuccess()) {
-                    }else{
-            return baseResult;
-        }
-        //鎵ц鍒犻櫎鎿嶄綔
-        BatchCBO batchCBO = codeFixedValueMapper.deleteByPrimaryKey(codeFixedValueDO.getOid());
-        return (batchCBO!=null && batchCBO.getDeleteCbos() !=null &&batchCBO.getDeleteCbos().size() > 0)?BaseResult.successMsg(DELETE_SUCCESS):BaseResult.fail(DELETE_FAIL);
-    }
-
-    /**
-    * 涓婚敭鑾峰彇鍥哄畾鐮佹鐨勭爜鍊�
-    * @param oid 涓婚敭
-    * @return 鍥哄畾鐮佹鐨勭爜鍊兼樉绀哄璞�
-    * @throws VciBaseException 鍙傛暟涓虹┖锛屾暟鎹笉瀛樺湪鏃朵細鎶涘嚭寮傚父
-    */
-    @Override
-    public  CodeFixedValueVO getObjectByOid(String oid) throws VciBaseException{
-        return codeFixedValueDO2VO(selectByOid(oid));
-    }
-
-    /**
-    * 涓婚敭鏌ヨ鏁版嵁瀵硅薄
-    * @param oid 涓婚敭
-    * @return  鏁版嵁瀵硅薄
-    * @throws VciBaseException 鍙傛暟涓虹┖锛屽苟涓旀暟鎹笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父
-    */
-    private CodeFixedValueDO selectByOid(String oid) throws VciBaseException{
-        VciBaseUtil.alertNotNull(oid,"涓婚敭");
-        CodeFixedValueDO codeFixedValueDO = codeFixedValueMapper.selectByPrimaryKey(oid.trim());
-        if(codeFixedValueDO == null || StringUtils.isBlank(codeFixedValueDO.getOid())){
-            throw new VciBaseException(DATA_OID_NOT_EXIST);
-        }
-        return codeFixedValueDO;
-    }
-
-    /**
-     * 涓婚敭鎵归噺鑾峰彇鍥哄畾鐮佹鐨勭爜鍊�
-     * @param oidCollections 涓婚敭闆嗗悎锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓�
-     * @return 鍥哄畾鐮佹鐨勭爜鍊兼樉绀哄璞�
-     * @throws VciBaseException 鏌ヨ鍑虹幇寮傚父鏃朵細鎶涘嚭
-     */
-    @Override
-    public Collection<CodeFixedValueVO> listCodeFixedValueByOids(Collection<String> oidCollections) throws VciBaseException{
-        VciBaseUtil.alertNotNull(oidCollections,"鏁版嵁瀵硅薄涓婚敭闆嗗悎");
-        List<CodeFixedValueDO> codeFixedValueDOList = listCodeFixedValueDOByOidCollections(oidCollections);
-        return codeFixedValueDO2VOs(codeFixedValueDOList);
-    }
-
-    /**
-    * 浣跨敤涓婚敭闆嗗悎鏌ヨ鏁版嵁瀵硅薄
-    * @param oidCollections 涓婚敭鐨勯泦鍚�
-    * @return 鏁版嵁瀵硅薄鍒楄〃
-    */
-    private List<CodeFixedValueDO> listCodeFixedValueDOByOidCollections(Collection<String> oidCollections){
-        List<CodeFixedValueDO> codeFixedValueDOList = new ArrayList<CodeFixedValueDO>();
-        if(!CollectionUtils.isEmpty(oidCollections)){
-            Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections);
-            for(Collection<String> oids: oidCollectionsList){
-                List<CodeFixedValueDO> tempDOList =  codeFixedValueMapper.selectByPrimaryKeyCollection(oids);
-                if(!CollectionUtils.isEmpty(tempDOList)){
-                        codeFixedValueDOList.addAll(tempDOList);
-                }
-            }
-        }
-        return  codeFixedValueDOList;
-    }
-
-
-
-    /**
-     * 鍙傜収鍥哄畾鐮佹鐨勭爜鍊煎垪琛�
-     * @param conditionMap 鏌ヨ鏉′欢
-     * @param pageHelper 鍒嗛〉鍜屾帓搴�
-     * @return 鍥哄畾鐮佹鐨勭爜鍊兼樉绀哄璞″垪琛紝鐢熸晥鐨勫唴瀹�
-     * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
-     */
-    @Override
-    public DataGrid<CodeFixedValueVO> refDataGridCodeFixedValue(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{
-        if(conditionMap == null){
-            conditionMap = new HashMap<String, String>();
-        }
-        return gridCodeFixedValue(conditionMap,pageHelper);
-    }
-
-    /**
-     * 浣跨敤鐮佹鐨勪富閿幏鍙栧浐瀹氱爜鐨勭爜鍊�
-     *
-     * @param secOidCollection 鐮佹鐨勪富閿�
-     * @return 鐮佸�兼樉绀哄璞�
-     * @throws VciBaseException 鏌ヨ鐨勬椂鍊欏嚭鐜颁簡閿欒浼氭姏鍑哄紓甯�
-     */
-    @Override
-    public Map<String, List<CodeFixedValueVO>> listCodeFixedValueBySecOids(Collection<String> secOidCollection) throws VciBaseException {
-        if(CollectionUtils.isEmpty(secOidCollection)){
-            return  new HashMap<>();
-        }
-        List<CodeFixedValueVO> voList = new ArrayList<>();
-        VciBaseUtil.switchCollectionForOracleIn(secOidCollection).forEach(secOids->{
-            Map<String,String> conditionMap = new HashMap<>();
-            conditionMap.put("codefixedsecoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(secOids.toArray(new String[0])) + ")");
-            PageHelper pageHelper = new PageHelper(-1);
-            pageHelper.addDefaultAsc("ordernum");
-            List<CodeFixedValueDO> valueDOS = codeFixedValueMapper.selectByCondition(conditionMap, pageHelper);
-            voList.addAll(codeFixedValueDO2VOs(Optional.ofNullable(valueDOS).orElseGet(() -> new ArrayList<>())));
-        });
-        return voList.stream().collect(Collectors.groupingBy(CodeFixedValueVO::getCodefixedsecoid));
-    }
-
-    /**
-     * 鎵归噺娣诲姞鍥哄畾鐮佹鐨勭爜鍊硷紝濡傛灉淇濆瓨鐨勯泦鍚堜腑涓嶅瓨鍦ㄥ凡鍦ㄦ暟鎹簱涓殑鐮佸�煎垯鍒犻櫎銆備富瑕佹槸淇濆瓨鐮佸�肩殑搴忓彿
-     * @param dtoList 鍥哄畾鐮佹鐨勭爜鍊煎垪琛�
-     * @param codefixedsecoid 鍥哄畾鐮佹鐨勪富閿�
-     * @return 鎵ц缁撴灉
-     */
-    @Override
-    public BaseResult<CodeFixedValueVO> batchSave4Order(List<CodeFixedValueDTO> dtoList, String codefixedsecoid) {
-        VciBaseUtil.alertNotNull(codefixedsecoid,"鍥哄畾鐮佹涓婚敭");
-        Map<String,String> conditionMap = new HashMap<>();
-        conditionMap.put("codefixedsecoid",codefixedsecoid);
-        VciQueryWrapperForDO wrapper = new VciQueryWrapperForDO(conditionMap,CodeFixedValueDO.class);
-        List<CodeFixedValueDO> doList = codeFixedValueMapper.selectByWrapper(wrapper);
-        List<CodeFixedValueDO> updateList = new ArrayList<>();
-        List<String> deleteOidList = new ArrayList<>();
-        dtoList.forEach(dto -> {
-            if (StringUtils.isNotBlank(dto.getOid())){
-                List<CodeFixedValueDO> valueDOList = doList.stream().filter(value -> {
-                    return value.getOid().equals(dto.getOid());
-                }).collect(Collectors.toList());
-                valueDOList.forEach(valueDO -> {
-                    valueDO.setId(dto.getId());
-                    valueDO.setName(dto.getName());
-                    valueDO.setOrderNum(dto.getOrdernum());
-                    updateList.add(valueDO);
-                });
-            }else{
-                throw new VciBaseException("鍥哄畾鐮佹涓婚敭涓嶈兘涓虹┖");
-            }
-        });
-        if (doList.size() != dtoList.size()){
-            List<String> oidList = dtoList.stream().map(CodeFixedValueDTO::getOid).collect(Collectors.toList());
-            List<CodeFixedValueDO> deleteList = new ArrayList<>();
-            for (CodeFixedValueDO value : doList) {
-                if (!oidList.contains(value.getOid())){
-                    deleteList.add(value);
-                }
-            }
-            deleteOidList = deleteList.stream().map(CodeFixedValueDO::getOid).collect(Collectors.toList());
-        }
-        WebUtil.setPersistence(false);
-        BatchCBO batchCBO = codeFixedValueMapper.batchUpdate(updateList);
-        if (!CollectionUtils.isEmpty(deleteOidList)) {
-            BatchCBO batchDeleteByOids = codeFixedValueMapper.batchDeleteByOids(deleteOidList);
-            batchCBO.setDeleteCbos(batchDeleteByOids.getDeleteCbos());
-        }
-        WebUtil.setPersistence(true);
-        boService.persistenceBatch(batchCBO);
-        return BaseResult.success();
-    }
-
-    /**
-     * 鏍规嵁鐮佹涓婚敭鍒犻櫎鍏跺瓨鍦ㄧ殑鐮佸�煎璞�
-     * @param codefixedsecoid 鍥哄畾鐮佹鐨勪富閿�
-     * @return 鎵ц缁撴灉
-     */
-    @Override
-    public BaseResult<CodeFixedValueVO> batchDeleteBySecOid(String codefixedsecoid) {
-        VciBaseUtil.alertNotNull(codefixedsecoid,"鍥哄畾鐮佹涓婚敭");
-        Map<String,String> conditionMap = new HashMap<>();
-        conditionMap.put("codefixedvalueoid",codefixedsecoid);
-        VciQueryWrapperForDO wrapper = new VciQueryWrapperForDO(conditionMap,CodeFixedValueDO.class);
-        List<CodeFixedValueDO> doList = codeFixedValueMapper.selectByWrapper(wrapper);
-        codeFixedValueMapper.batchDeleteByOids(doList.stream().map(CodeFixedValueDO::getOid).collect(Collectors.toList()));
-        return BaseResult.success();
-    }
 }
-

--
Gitblit v1.9.3