From a99b058120879a75442e6bbaebd44c4c183153b6 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期三, 06 十二月 2023 09:56:25 +0800
Subject: [PATCH] 集团码导入功能开发

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSynonymServiceImpl.java |  295 ++++++----------------------------------------------------
 1 files changed, 31 insertions(+), 264 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSynonymServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSynonymServiceImpl.java
index 41930f0..9f70d4a 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSynonymServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSynonymServiceImpl.java
@@ -1,278 +1,45 @@
+/*
+ *      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.CodeSynonymDaoI;
-import com.vci.ubcs.code.model.CodeSynonymDO;
-import com.vci.ubcs.code.service.CodeSynonymServiceI;
-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.BeanUtilForVCI;
-import com.vci.starter.web.util.VciBaseUtil;
-import com.vci.web.pageModel.BatchCBO;
-import com.vci.web.service.WebBoServiceI;
-import org.apache.commons.lang.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import com.vci.ubcs.code.dto.CodeSynonymDTO;
-import com.vci.ubcs.code.vo.pagemodel.CodeSynonymVO;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Lazy;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.vci.ubcs.code.mapper.CodeSynonymMapper;
+import com.vci.ubcs.code.service.ICodeSynonymService;
+import com.vci.ubcs.code.vo.CodeSynonymVO;
 import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
-import java.util.*;
-
-import static com.vci.frameworkcore.constant.FrameWorkBusLangCodeConstant.*;
 
 /**
- * 鍚屼箟璇嶉厤缃湇鍔�
- * @author weidy
- * @date 2022-02-17
+ * 杩戜箟璇嶇淮鎶� 鏈嶅姟瀹炵幇绫�
+ *
+ * @author yuxc
+ * @since 2023-04-04
  */
 @Service
-public class CodeSynonymServiceImpl implements CodeSynonymServiceI {
+public class CodeSynonymServiceImpl implements ICodeSynonymService {
 
-    /**
-    * 鏃ュ織
-    */
-    private Logger logger = LoggerFactory.getLogger(getClass());
+	@Resource
+	CodeSynonymMapper codeSynonymMapper;
 
-    /**
-    * 鏁版嵁鎿嶄綔灞�
-    */
-    @Resource
-    private CodeSynonymDaoI codeSynonymMapper;
-
-    /**
-    * 涓氬姟绫诲瀷鎿嶄綔鐨勬湇鍔�
-    */
-    @Autowired
-    @Lazy
-	private WebBoServiceI boService;
-
-    /**
-    * 瀵硅薄鐨勬搷浣�
-    */
-    @Autowired
-    private RevisionModelUtil revisionModelUtil;
+	@Override
+	public IPage<CodeSynonymVO> selectPlCodeSynonymPage(IPage<CodeSynonymVO> page, CodeSynonymVO plCodeSynonym) {
+		return page.setRecords(codeSynonymMapper.selectPlCodeSynonymPage(page, plCodeSynonym));
+	}
 
 
-    /**
-     * 鏌ヨ鎵�鏈夌殑鍚屼箟璇嶉厤缃�
-     * @param conditionMap 鏌ヨ鏉′欢
-     * @param pageHelper 鍒嗛〉鍜屾帓搴�
-     * @return 鎵ц缁撴灉
-     * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
-     */
-    @Override
-    public DataGrid<CodeSynonymVO> gridCodeSynonym(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException {
-        if (pageHelper == null) {
-            pageHelper = new PageHelper(-1);
-        }
-        pageHelper.addDefaultDesc("createTime");
-        List<CodeSynonymDO> doList = codeSynonymMapper.selectByCondition(conditionMap,pageHelper);
-        DataGrid<CodeSynonymVO> dataGrid=new DataGrid<CodeSynonymVO>();
-        if (!CollectionUtils.isEmpty(doList)) {
-            dataGrid.setData(codeSynonymDO2VOs(doList));
-            dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(codeSynonymMapper.countByCondition(conditionMap))));
-        }
-        return dataGrid;
-    }
-
-    /**
-     * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
-     * @param codeSynonymDOs 鏁版嵁瀵硅薄鍒楄〃
-     * @return 鏄剧ず瀵硅薄
-     * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呬笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父
-     */
-    @Override
-    public List<CodeSynonymVO> codeSynonymDO2VOs(Collection<CodeSynonymDO> codeSynonymDOs) throws VciBaseException{
-        List<CodeSynonymVO> voList = new ArrayList<CodeSynonymVO>();
-        if(!CollectionUtils.isEmpty(codeSynonymDOs)){
-           for(CodeSynonymDO s: codeSynonymDOs){
-                CodeSynonymVO vo =  codeSynonymDO2VO(s);
-                if(vo != null){
-                    voList.add(vo);
-                }
-            }
-        }
-        return voList;
-    }
-
-    /**
-     * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
-     * @param  codeSynonymDO 鏁版嵁瀵硅薄
-     * @return 鏄剧ず瀵硅薄
-     * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
-     */
-    @Override
-    public  CodeSynonymVO codeSynonymDO2VO(CodeSynonymDO codeSynonymDO) throws VciBaseException{
-              CodeSynonymVO vo = new CodeSynonymVO();
-        if(codeSynonymDO != null){
-            BeanUtilForVCI.copyPropertiesIgnoreCase(codeSynonymDO,vo);
-            //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽
-
-        }
-        return vo;
-    }
-
-    /**
-     * 澧炲姞鍚屼箟璇嶉厤缃�
-     * @param codeSynonymDTO 鍚屼箟璇嶉厤缃暟鎹紶杈撳璞�
-     * @return 鎵ц缁撴灉
-     * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
-     */
-    @Override
-    public CodeSynonymVO addSave(CodeSynonymDTO codeSynonymDTO) throws VciBaseException{
-        VciBaseUtil.alertNotNull(codeSynonymDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄");
-        //灏咲TO杞崲涓篋O
-        CodeSynonymDO codeSynonymDO = new CodeSynonymDO();
-        BeanUtilForVCI.copyPropertiesIgnoreCase(codeSynonymDTO,codeSynonymDO);
-        codeSynonymMapper.insert(codeSynonymDO);
-        return codeSynonymDO2VO(codeSynonymDO);
-    }
-
-    /**
-     * 淇敼鍚屼箟璇嶉厤缃�
-     * @param codeSynonymDTO 鍚屼箟璇嶉厤缃暟鎹紶杈撳璞�
-     * @return 鎵ц缁撴灉
-     * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
-     */
-     @Override
-     public CodeSynonymVO editSave(CodeSynonymDTO codeSynonymDTO) throws VciBaseException{
-         VciBaseUtil.alertNotNull(codeSynonymDTO,"鏁版嵁瀵硅薄",codeSynonymDTO.getOid(),"鍚屼箟璇嶉厤缃富閿�");
-         //灏咲TO杞崲涓篋O
-         CodeSynonymDO codeSynonymDO = selectByOid(codeSynonymDTO.getOid());
-         revisionModelUtil.copyFromDTOIgnore(codeSynonymDTO,codeSynonymDO);
-         codeSynonymMapper.updateByPrimaryKey(codeSynonymDO);
-         return codeSynonymDO2VO(codeSynonymDO);
-     }
-
-
-    /**
-     * 鏍¢獙鏄惁鍙互鍒犻櫎锛屽鏋滃瓨鍦ㄤ笅绾э紝骞朵笖涓嬬骇鏈夋暟鎹紩鐢ㄥ垯涓嶈兘鍒犻櫎
-     * @param codeSynonymDTO 鏁版嵁浼犺緭瀵硅薄
-     * @param codeSynonymDO 鏁版嵁搴撲腑鐨勬暟鎹璞�
-     * @return success涓簍rue涓哄彲浠ュ垹闄わ紝false琛ㄧず鏈夋暟鎹紩鐢紝obj涓簍rue琛ㄧず鏈変笅绾�
-     */
-    private BaseResult checkIsCanDeleteForDO(CodeSynonymDTO codeSynonymDTO, CodeSynonymDO codeSynonymDO) {
-            CodeSynonymDO tsDO = new CodeSynonymDO();
-            BeanUtilForVCI.copyPropertiesIgnoreCase(codeSynonymDTO,tsDO);
-        boService.checkTs(tsDO);
-        if(!checkIsLinked(codeSynonymDO.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 codeSynonymDTO 鍚屼箟璇嶉厤缃暟鎹紶杈撳璞★紝oid鍜宼s闇�瑕佷紶杈�
-     * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐�
-     * @throws VciBaseException 鍙傛暟涓虹┖锛岃寮曠敤鏃舵姏鍑哄紓甯�
-     */
-    @Override
-    public BaseResult deleteCodeSynonym(CodeSynonymDTO codeSynonymDTO) throws VciBaseException{
-        VciBaseUtil.alertNotNull(codeSynonymDTO,"鍚屼箟璇嶉厤缃暟鎹璞�",codeSynonymDTO.getOid(),"鍚屼箟璇嶉厤缃殑涓婚敭");
-        CodeSynonymDO codeSynonymDO = selectByOid(codeSynonymDTO.getOid());
-        BaseResult baseResult = checkIsCanDeleteForDO(codeSynonymDTO,codeSynonymDO);
-        if(baseResult.isSuccess()) {
-                    }else{
-            return baseResult;
-        }
-        //鎵ц鍒犻櫎鎿嶄綔
-        BatchCBO batchCBO = codeSynonymMapper.deleteByPrimaryKey(codeSynonymDO.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  CodeSynonymVO getObjectByOid(String oid) throws VciBaseException{
-        return codeSynonymDO2VO(selectByOid(oid));
-    }
-
-    /**
-    * 涓婚敭鏌ヨ鏁版嵁瀵硅薄
-    * @param oid 涓婚敭
-    * @return  鏁版嵁瀵硅薄
-    * @throws VciBaseException 鍙傛暟涓虹┖锛屽苟涓旀暟鎹笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父
-    */
-    private CodeSynonymDO selectByOid(String oid) throws VciBaseException{
-        VciBaseUtil.alertNotNull(oid,"涓婚敭");
-        CodeSynonymDO codeSynonymDO = codeSynonymMapper.selectByPrimaryKey(oid.trim());
-        if(codeSynonymDO == null || StringUtils.isBlank(codeSynonymDO.getOid())){
-            throw new VciBaseException(DATA_OID_NOT_EXIST);
-        }
-        return codeSynonymDO;
-    }
-
-    /**
-     * 涓婚敭鎵归噺鑾峰彇鍚屼箟璇嶉厤缃�
-     * @param oidCollections 涓婚敭闆嗗悎锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓�
-     * @return 鍚屼箟璇嶉厤缃樉绀哄璞�
-     * @throws VciBaseException 鏌ヨ鍑虹幇寮傚父鏃朵細鎶涘嚭
-     */
-    @Override
-    public Collection<CodeSynonymVO> listCodeSynonymByOids(Collection<String> oidCollections) throws VciBaseException{
-        VciBaseUtil.alertNotNull(oidCollections,"鏁版嵁瀵硅薄涓婚敭闆嗗悎");
-        List<CodeSynonymDO> codeSynonymDOList = listCodeSynonymDOByOidCollections(oidCollections);
-        return codeSynonymDO2VOs(codeSynonymDOList);
-    }
-
-    /**
-    * 浣跨敤涓婚敭闆嗗悎鏌ヨ鏁版嵁瀵硅薄
-    * @param oidCollections 涓婚敭鐨勯泦鍚�
-    * @return 鏁版嵁瀵硅薄鍒楄〃
-    */
-    private List<CodeSynonymDO> listCodeSynonymDOByOidCollections(Collection<String> oidCollections){
-        List<CodeSynonymDO> codeSynonymDOList = new ArrayList<CodeSynonymDO>();
-        if(!CollectionUtils.isEmpty(oidCollections)){
-            Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections);
-            for(Collection<String> oids: oidCollectionsList){
-                List<CodeSynonymDO> tempDOList =  codeSynonymMapper.selectByPrimaryKeyCollection(oids);
-                if(!CollectionUtils.isEmpty(tempDOList)){
-                        codeSynonymDOList.addAll(tempDOList);
-                }
-            }
-        }
-        return  codeSynonymDOList;
-    }
-
-
-
-    /**
-     * 鍙傜収鍚屼箟璇嶉厤缃垪琛�
-     * @param conditionMap 鏌ヨ鏉′欢
-     * @param pageHelper 鍒嗛〉鍜屾帓搴�
-     * @return 鍚屼箟璇嶉厤缃樉绀哄璞″垪琛紝鐢熸晥鐨勫唴瀹�
-     * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
-     */
-    @Override
-    public DataGrid<CodeSynonymVO> refDataGridCodeSynonym(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{
-        if(conditionMap == null){
-            conditionMap = new HashMap<String, String>();
-        }
-        return gridCodeSynonym(conditionMap,pageHelper);
-    }
 }
-

--
Gitblit v1.9.3