From 980a7eab362b5a8c00f13427c73053382ca4ba44 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期三, 06 十二月 2023 09:31:31 +0800
Subject: [PATCH] 集团码导入功能开发
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java | 308 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 305 insertions(+), 3 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java
index fb58ad2..034a62b 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java
@@ -1,8 +1,43 @@
package com.vci.ubcs.code.service.impl;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.vci.ubcs.code.dto.CodeResembleRuleDTO;
+import com.vci.ubcs.code.entity.CodeBasicSec;
+import com.vci.ubcs.code.entity.CodeReferConfig;
+import com.vci.ubcs.code.entity.CodeResembleRule;
+import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus;
+import com.vci.ubcs.code.mapper.CodeReferConfigMapper;
+import com.vci.ubcs.code.mapper.CodeResembleRuleMapper;
import com.vci.ubcs.code.service.ICodeResembleRuleService;
import com.vci.ubcs.code.vo.pagemodel.CodeResembleRuleVO;
+import com.vci.ubcs.omd.entity.BtmType;
+import com.vci.ubcs.starter.enumpack.CodeTableNameEnum;
+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.util.UBCSSqlKeyword;
+import com.vci.ubcs.starter.web.pagemodel.DataGrid;
+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 net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
+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.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.*;
+
+import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.*;
/**
* 鐩镐技鏌ヨ瑙勫垯鏈嶅姟
@@ -10,9 +45,276 @@
* @date 2022-04-10
*/
@Service
-public class CodeResembleRuleServiceImpl implements ICodeResembleRuleService {
+public class CodeResembleRuleServiceImpl extends MPJBaseServiceImpl<CodeResembleRuleMapper, CodeResembleRule> implements ICodeResembleRuleService {
+
+ /**
+ * 瀵硅薄鐨勬搷浣�
+ */
+ @Autowired
+ private RevisionModelUtil revisionModelUtil;
+
+
@Override
- public CodeResembleRuleVO getObjectByOid(String codeResembleRuleOid) {
- return null;
+ public CodeResembleRuleVO getObjectByOid(String oid) {
+ return codeResembleRuleDO2VO(selectByOid(oid));
+ }
+
+ /**
+ * 涓婚敭鏌ヨ鏁版嵁瀵硅薄
+ * @param oid 涓婚敭
+ * @return 鏁版嵁瀵硅薄
+ * @throws VciBaseException 鍙傛暟涓虹┖锛屽苟涓旀暟鎹笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ private CodeResembleRule selectByOid(String oid) throws VciBaseException {
+ VciBaseUtil.alertNotNull(oid,"涓婚敭");
+ CodeResembleRule codeResembleRuleDO = baseMapper.selectById(oid.trim());
+// CodeResembleRule codeResembleRuleDO = codeResembleRuleMapper.selectByPrimaryKey(oid.trim());
+ if(codeResembleRuleDO == null || StringUtils.isBlank(codeResembleRuleDO.getOid())){
+ throw new VciBaseException(DATA_OID_NOT_EXIST);
+ }
+ return codeResembleRuleDO;
+ }
+
+
+ /**
+ * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
+ * @param codeResembleRuleDO 鏁版嵁瀵硅薄
+ * @return 鏄剧ず瀵硅薄
+ * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
+ */
+ @Override
+ public CodeResembleRuleVO codeResembleRuleDO2VO(CodeResembleRule codeResembleRuleDO) throws VciBaseException{
+ CodeResembleRuleVO vo = new CodeResembleRuleVO();
+ if(codeResembleRuleDO != null){
+ BeanUtilForVCI.copyPropertiesIgnoreCase(codeResembleRuleDO,vo);
+ //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽
+ vo.setLcStatusText(FrameworkDataLCStatus.getTextByValue(vo.getLcStatus()));
+
+ }
+ return vo;
+ }
+
+ /**
+ * 鏌ヨ鎵�鏈夌殑鐩镐技鏌ヨ瑙勫垯
+ * @param conditionMap 鏌ヨ鏉′欢
+ * @param pageHelper 鍒嗛〉鍜屾帓搴�
+ * @return 鎵ц缁撴灉
+ * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
+ */
+ @Override
+ public DataGrid<CodeResembleRuleVO> gridCodeResembleRule(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{
+ if (pageHelper == null) {
+ pageHelper = new PageHelper(-1);
+ }
+ Query query = new Query();
+ query.setSize(pageHelper.getLimit());
+ query.setCurrent(pageHelper.getPage());
+ query.setDescs("createTime");
+ MPJLambdaWrapper<CodeResembleRule> mpjLambdaWrapper = new MPJLambdaWrapper<>(CodeResembleRule.class,CodeTableNameEnum.PL_CODE_RULE.getText());
+ Map<String, Object> condition = new HashMap<>(conditionMap);
+ // 娣诲姞where鏉′欢
+ UBCSSqlKeyword.buildConditionByAs(condition,mpjLambdaWrapper,CodeTableNameEnum.PL_CODE_RULE.getText());
+ IPage<CodeResembleRule> codeResembleRuleIPage = baseMapper.selectPage(UBCSCondition.getPage(query), mpjLambdaWrapper);
+ DataGrid<CodeResembleRuleVO> dataGrid=new DataGrid<CodeResembleRuleVO>();
+ if (!CollectionUtils.isEmpty(codeResembleRuleIPage.getRecords())) {
+ dataGrid.setData(codeResembleRuleDO2VOs(codeResembleRuleIPage.getRecords()));
+ dataGrid.setTotal(codeResembleRuleIPage.getTotal());
+ }
+ return dataGrid;
+ }
+
+ /**
+ * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
+ * @param codeResembleRuleDOs 鏁版嵁瀵硅薄鍒楄〃
+ * @return 鏄剧ず瀵硅薄
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呬笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ @Override
+ public List<CodeResembleRuleVO> codeResembleRuleDO2VOs(Collection<CodeResembleRule> codeResembleRuleDOs) throws VciBaseException{
+ List<CodeResembleRuleVO> voList = new ArrayList<CodeResembleRuleVO>();
+ if(!CollectionUtils.isEmpty(codeResembleRuleDOs)){
+ for(CodeResembleRule s: codeResembleRuleDOs){
+ CodeResembleRuleVO vo = codeResembleRuleDO2VO(s);
+ if(vo != null){
+ voList.add(vo);
+ }
+ }
+ }
+ return voList;
+ }
+
+// /**
+// * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
+// * @param codeResembleRuleDO 鏁版嵁瀵硅薄
+// * @return 鏄剧ず瀵硅薄
+// * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
+// */
+// @Override
+// public CodeResembleRuleVO codeResembleRuleDO2VO(CodeResembleRule codeResembleRuleDO) throws VciBaseException{
+// CodeResembleRuleVO vo = new CodeResembleRuleVO();
+// if(codeResembleRuleDO != null){
+// BeanUtilForVCI.copyPropertiesIgnoreCase(codeResembleRuleDO,vo);
+// //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽
+// vo.setLcStatusText(FrameworkDataLCStatus.getTextByValue(vo.getLcStatus()));
+//
+// }
+// return vo;
+// }
+
+ /**
+ * 澧炲姞鐩镐技鏌ヨ瑙勫垯
+ * @param codeResembleRuleDTO 鐩镐技鏌ヨ瑙勫垯鏁版嵁浼犺緭瀵硅薄
+ * @return 鎵ц缁撴灉
+ * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
+ */
+ @Override
+ public CodeResembleRuleVO addSave(CodeResembleRuleDTO codeResembleRuleDTO) throws VciBaseException{
+ VciBaseUtil.alertNotNull(codeResembleRuleDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄");
+ //灏咲TO杞崲涓篋O
+ CodeResembleRule codeResembleRuleDO = new CodeResembleRule();
+ BeanUtilForVCI.copyPropertiesIgnoreCase(codeResembleRuleDTO,codeResembleRuleDO);
+ DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeResembleRuleDO, MdmBtmTypeConstant.CODE_RESEMBLE_RULE);
+ codeResembleRuleDO.setTenantId(AuthUtil.getTenantId());
+ codeResembleRuleDO.setLctid("frameworkDataLc");
+ codeResembleRuleDO.setLcStatus("Enabled");
+ codeResembleRuleDO.setOwner(AuthUtil.getUser().getUserName());
+ codeResembleRuleDO.setLastModifier(AuthUtil.getUser().getUserName());
+ baseMapper.insert(codeResembleRuleDO);
+ return codeResembleRuleDO2VO(codeResembleRuleDO);
+ }
+
+ /**
+ * 淇敼鐩镐技鏌ヨ瑙勫垯
+ * @param codeResembleRuleDTO 鐩镐技鏌ヨ瑙勫垯鏁版嵁浼犺緭瀵硅薄
+ * @return 鎵ц缁撴灉
+ * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父
+ */
+ @Override
+ public CodeResembleRuleVO editSave(CodeResembleRuleDTO codeResembleRuleDTO) throws VciBaseException{
+ VciBaseUtil.alertNotNull(codeResembleRuleDTO,"鏁版嵁瀵硅薄",codeResembleRuleDTO.getOid(),"鐩镐技鏌ヨ瑙勫垯涓婚敭");
+ //灏咲TO杞崲涓篋O
+ CodeResembleRule codeResembleRuleDO = selectByOid(codeResembleRuleDTO.getOid());
+ revisionModelUtil.copyFromDTOIgnore(codeResembleRuleDTO,codeResembleRuleDO);
+ codeResembleRuleDO.setLastModifier(AuthUtil.getUser().getUserName());
+ codeResembleRuleDO.setLastModifyTime(new Date());
+ codeResembleRuleDO.setTs(new Date());
+ baseMapper.updateById(codeResembleRuleDO);
+ return codeResembleRuleDO2VO(codeResembleRuleDO);
+ }
+
+
+ /**
+ * 鏍¢獙鏄惁鍙互鍒犻櫎锛屽鏋滃瓨鍦ㄤ笅绾э紝骞朵笖涓嬬骇鏈夋暟鎹紩鐢ㄥ垯涓嶈兘鍒犻櫎
+ * @param codeResembleRuleDTO 鏁版嵁浼犺緭瀵硅薄
+ * @param codeResembleRuleDO 鏁版嵁搴撲腑鐨勬暟鎹璞�
+ * @return success涓簍rue涓哄彲浠ュ垹闄わ紝false琛ㄧず鏈夋暟鎹紩鐢紝obj涓簍rue琛ㄧず鏈変笅绾�
+ */
+ private R checkIsCanDeleteForDO(CodeResembleRuleDTO codeResembleRuleDTO, CodeResembleRule codeResembleRuleDO) {
+ CodeResembleRule tsDO = new CodeResembleRule();
+ BeanUtilForVCI.copyPropertiesIgnoreCase(codeResembleRuleDTO,tsDO);
+// boService.checkTs(tsDO);
+// QueryWrapper<CodeResembleRule> wrapper = new QueryWrapper<>();
+// wrapper.eq("oid",tsDO.getOid());
+// wrapper.eq("ts",tsDO.getTs());
+ if(!checkIsLinked(codeResembleRuleDO.getOid())) {
+ return R.success("鍙互鍒犻櫎锛�");
+ }else{
+ return R.fail(DATA_LINKED_NOT_DELETE);
+ }
+ }
+
+ /**
+ * 鏍¢獙鏄惁琚紩鐢�
+ * @param oid 涓婚敭
+ * @throws VciBaseException 琚紩鐢ㄧ殑鏃跺�欎細鎶涘嚭寮傚父
+ */
+ private boolean checkIsLinked(String oid) throws VciBaseException{
+ //TODO 娣诲姞闇�瑕佹牎楠屽紩鐢ㄧ殑鍦版柟
+ return false;
+ }
+
+ /**
+ * 鍒犻櫎鐩镐技鏌ヨ瑙勫垯
+ * @param codeResembleRuleDTO 鐩镐技鏌ヨ瑙勫垯鏁版嵁浼犺緭瀵硅薄锛宱id鍜宼s闇�瑕佷紶杈�
+ * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐�
+ * @throws VciBaseException 鍙傛暟涓虹┖锛岃寮曠敤鏃舵姏鍑哄紓甯�
+ */
+ @Override
+ public R deleteCodeResembleRule(CodeResembleRuleDTO codeResembleRuleDTO) throws VciBaseException{
+ VciBaseUtil.alertNotNull(codeResembleRuleDTO,"鐩镐技鏌ヨ瑙勫垯鏁版嵁瀵硅薄",codeResembleRuleDTO.getOid(),"鐩镐技鏌ヨ瑙勫垯鐨勪富閿�");
+ CodeResembleRule codeResembleRuleDO = selectByOid(codeResembleRuleDTO.getOid());
+ R baseResult = checkIsCanDeleteForDO(codeResembleRuleDTO,codeResembleRuleDO);
+ if(baseResult.isSuccess()) {
+ }else{
+ return baseResult;
+ }
+ //鎵ц鍒犻櫎鎿嶄綔
+// BatchCBO batchCBO = codeResembleRuleMapper.deleteByPrimaryKey(codeResembleRuleDO.getOid());
+ int i = baseMapper.deleteById(codeResembleRuleDO.getOid());
+ return (i > 0)?R.success(DELETE_SUCCESS):R.fail(DELETE_FAIL);
+ }
+
+// /**
+// * 涓婚敭鏌ヨ鏁版嵁瀵硅薄
+// * @param oid 涓婚敭
+// * @return 鏁版嵁瀵硅薄
+// * @throws VciBaseException 鍙傛暟涓虹┖锛屽苟涓旀暟鎹笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父
+// */
+// private CodeResembleRule selectByOid(String oid) throws VciBaseException{
+// VciBaseUtil.alertNotNull(oid,"涓婚敭");
+// CodeResembleRule codeResembleRuleDO = codeResembleRuleMapper.selectByPrimaryKey(oid.trim());
+// if(codeResembleRuleDO == null || StringUtils.isBlank(codeResembleRuleDO.getOid())){
+// throw new VciBaseException(DATA_OID_NOT_EXIST);
+// }
+// return codeResembleRuleDO;
+// }
+
+ /**
+ * 涓婚敭鎵归噺鑾峰彇鐩镐技鏌ヨ瑙勫垯
+ * @param oidCollections 涓婚敭闆嗗悎锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓�
+ * @return 鐩镐技鏌ヨ瑙勫垯鏄剧ず瀵硅薄
+ * @throws VciBaseException 鏌ヨ鍑虹幇寮傚父鏃朵細鎶涘嚭
+ */
+ @Override
+ public Collection<CodeResembleRuleVO> listCodeResembleRuleByOids(Collection<String> oidCollections) throws VciBaseException{
+ VciBaseUtil.alertNotNull(oidCollections,"鏁版嵁瀵硅薄涓婚敭闆嗗悎");
+ List<CodeResembleRule> codeResembleRuleDOList = listCodeResembleRuleDOByOidCollections(oidCollections);
+ return codeResembleRuleDO2VOs(codeResembleRuleDOList);
+ }
+
+ /**
+ * 浣跨敤涓婚敭闆嗗悎鏌ヨ鏁版嵁瀵硅薄
+ * @param oidCollections 涓婚敭鐨勯泦鍚�
+ * @return 鏁版嵁瀵硅薄鍒楄〃
+ */
+ private List<CodeResembleRule> listCodeResembleRuleDOByOidCollections(Collection<String> oidCollections){
+ List<CodeResembleRule> codeResembleRuleDOList = new ArrayList<CodeResembleRule>();
+ if(!CollectionUtils.isEmpty(oidCollections)){
+ Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections);
+ for(Collection<String> oids: oidCollectionsList){
+ List<CodeResembleRule> tempDOList = baseMapper.selectBatchIds(oids);
+ if(!CollectionUtils.isEmpty(tempDOList)){
+ codeResembleRuleDOList.addAll(tempDOList);
+ }
+ }
+ }
+ return codeResembleRuleDOList;
+ }
+
+
+
+ /**
+ * 鍙傜収鐩镐技鏌ヨ瑙勫垯鍒楄〃
+ * @param conditionMap 鏌ヨ鏉′欢
+ * @param pageHelper 鍒嗛〉鍜屾帓搴�
+ * @return 鐩镐技鏌ヨ瑙勫垯鏄剧ず瀵硅薄鍒楄〃锛岀敓鏁堢殑鍐呭
+ * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
+ */
+ @Override
+ public DataGrid<CodeResembleRuleVO> refDataGridCodeResembleRule(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{
+ if(conditionMap == null){
+ conditionMap = new HashMap<String, String>();
+ }
+ return gridCodeResembleRule(conditionMap,pageHelper);
}
}
--
Gitblit v1.9.3