From e9ae27404803d0616e06ed21027408a71b4bc19c Mon Sep 17 00:00:00 2001 From: ludc <ludc@vci-tech.com> Date: 星期三, 05 三月 2025 17:34:02 +0800 Subject: [PATCH] 集成申码接口调整:当码值按照约定传表名为空的业务场景下传null校验问题和码值组装问题。 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java | 533 +++++++++++++++++++++++++++++++--------------------------- 1 files changed, 287 insertions(+), 246 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 51b54bc..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,32 +1,43 @@ package com.vci.ubcs.code.service.impl; -import com.vci.ubcs.code.dao.CodeResembleRuleDaoI; -import com.vci.ubcs.code.model.CodeResembleRuleDO; -import com.vci.ubcs.code.service.CodeResembleRuleServiceI; -import com.vci.frameworkcore.lcstatuspck.FrameworkDataLCStatus; -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.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +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.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import javax.annotation.Resource; import java.util.*; -import static com.vci.frameworkcore.constant.FrameWorkLangCodeConstant.*; +import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.*; /** * 鐩镐技鏌ヨ瑙勫垯鏈嶅姟 @@ -34,246 +45,276 @@ * @date 2022-04-10 */ @Service -public class CodeResembleRuleServiceImpl implements CodeResembleRuleServiceI { +public class CodeResembleRuleServiceImpl extends MPJBaseServiceImpl<CodeResembleRuleMapper, CodeResembleRule> implements ICodeResembleRuleService { - /** - * 鏃ュ織 - */ - private Logger logger = LoggerFactory.getLogger(getClass()); - - /** - * 鏁版嵁鎿嶄綔灞� - */ - @Resource - private CodeResembleRuleDaoI codeResembleRuleMapper; - - /** - * 涓氬姟绫诲瀷鎿嶄綔鐨勬湇鍔� - */ - @Autowired - @Lazy - private WebBoServiceI boService; - - /** - * 瀵硅薄鐨勬搷浣� - */ - @Autowired - private RevisionModelUtil revisionModelUtil; + /** + * 瀵硅薄鐨勬搷浣� + */ + @Autowired + private RevisionModelUtil revisionModelUtil; - /** - * 鏌ヨ鎵�鏈夌殑鐩镐技鏌ヨ瑙勫垯 - * @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); - } - pageHelper.addDefaultDesc("createTime"); - List<CodeResembleRuleDO> doList = codeResembleRuleMapper.selectByCondition(conditionMap,pageHelper); - DataGrid<CodeResembleRuleVO> dataGrid=new DataGrid<CodeResembleRuleVO>(); - if (!CollectionUtils.isEmpty(doList)) { - dataGrid.setData(codeResembleRuleDO2VOs(doList)); - dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(codeResembleRuleMapper.countByCondition(conditionMap)))); - } - return dataGrid; - } + @Override + public CodeResembleRuleVO getObjectByOid(String oid) { + return codeResembleRuleDO2VO(selectByOid(oid)); + } - /** - * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� - * @param codeResembleRuleDOs 鏁版嵁瀵硅薄鍒楄〃 - * @return 鏄剧ず瀵硅薄 - * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呬笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父 - */ - @Override - public List<CodeResembleRuleVO> codeResembleRuleDO2VOs(Collection<CodeResembleRuleDO> codeResembleRuleDOs) throws VciBaseException{ - List<CodeResembleRuleVO> voList = new ArrayList<CodeResembleRuleVO>(); - if(!CollectionUtils.isEmpty(codeResembleRuleDOs)){ - for(CodeResembleRuleDO s: codeResembleRuleDOs){ - CodeResembleRuleVO vo = codeResembleRuleDO2VO(s); - if(vo != null){ - voList.add(vo); - } - } - } - return voList; - } - - /** - * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� - * @param codeResembleRuleDO 鏁版嵁瀵硅薄 - * @return 鏄剧ず瀵硅薄 - * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 - */ - @Override - public CodeResembleRuleVO codeResembleRuleDO2VO(CodeResembleRuleDO 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 - CodeResembleRuleDO codeResembleRuleDO = new CodeResembleRuleDO(); - BeanUtilForVCI.copyPropertiesIgnoreCase(codeResembleRuleDTO,codeResembleRuleDO); - codeResembleRuleMapper.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 - CodeResembleRuleDO codeResembleRuleDO = selectByOid(codeResembleRuleDTO.getOid()); - revisionModelUtil.copyFromDTOIgnore(codeResembleRuleDTO,codeResembleRuleDO); - codeResembleRuleMapper.updateByPrimaryKey(codeResembleRuleDO); - return codeResembleRuleDO2VO(codeResembleRuleDO); - } + /** + * 涓婚敭鏌ヨ鏁版嵁瀵硅薄 + * @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 codeResembleRuleDTO 鏁版嵁浼犺緭瀵硅薄 - * @param codeResembleRuleDO 鏁版嵁搴撲腑鐨勬暟鎹璞� - * @return success涓簍rue涓哄彲浠ュ垹闄わ紝false琛ㄧず鏈夋暟鎹紩鐢紝obj涓簍rue琛ㄧず鏈変笅绾� - */ - private BaseResult checkIsCanDeleteForDO(CodeResembleRuleDTO codeResembleRuleDTO, CodeResembleRuleDO codeResembleRuleDO) { - CodeResembleRuleDO tsDO = new CodeResembleRuleDO(); - BeanUtilForVCI.copyPropertiesIgnoreCase(codeResembleRuleDTO,tsDO); - boService.checkTs(tsDO); - if(!checkIsLinked(codeResembleRuleDO.getOid())) { - return BaseResult.success(); - }else{ - return BaseResult.fail(DATA_LINKED_NOT_DELETE,new String[]{""}); - } - } + /** + * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� + * @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())); - /** - * 鏍¢獙鏄惁琚紩鐢� - * @param oid 涓婚敭 - * @throws VciBaseException 琚紩鐢ㄧ殑鏃跺�欎細鎶涘嚭寮傚父 - */ - private boolean checkIsLinked(String oid) throws VciBaseException{ - //TODO 娣诲姞闇�瑕佹牎楠屽紩鐢ㄧ殑鍦版柟 - return false; - } + } + return vo; + } - /** - * 鍒犻櫎鐩镐技鏌ヨ瑙勫垯 - * @param codeResembleRuleDTO 鐩镐技鏌ヨ瑙勫垯鏁版嵁浼犺緭瀵硅薄锛宱id鍜宼s闇�瑕佷紶杈� - * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐� - * @throws VciBaseException 鍙傛暟涓虹┖锛岃寮曠敤鏃舵姏鍑哄紓甯� - */ - @Override - public BaseResult deleteCodeResembleRule(CodeResembleRuleDTO codeResembleRuleDTO) throws VciBaseException{ - VciBaseUtil.alertNotNull(codeResembleRuleDTO,"鐩镐技鏌ヨ瑙勫垯鏁版嵁瀵硅薄",codeResembleRuleDTO.getOid(),"鐩镐技鏌ヨ瑙勫垯鐨勪富閿�"); - CodeResembleRuleDO codeResembleRuleDO = selectByOid(codeResembleRuleDTO.getOid()); - BaseResult baseResult = checkIsCanDeleteForDO(codeResembleRuleDTO,codeResembleRuleDO); - if(baseResult.isSuccess()) { - }else{ - return baseResult; - } - //鎵ц鍒犻櫎鎿嶄綔 - BatchCBO batchCBO = codeResembleRuleMapper.deleteByPrimaryKey(codeResembleRuleDO.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 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 oid 涓婚敭 - * @return 鐩镐技鏌ヨ瑙勫垯鏄剧ず瀵硅薄 - * @throws VciBaseException 鍙傛暟涓虹┖锛屾暟鎹笉瀛樺湪鏃朵細鎶涘嚭寮傚父 - */ - @Override - public CodeResembleRuleVO getObjectByOid(String oid) throws VciBaseException{ - return codeResembleRuleDO2VO(selectByOid(oid)); - } + /** + * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� + * @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 oid 涓婚敭 - * @return 鏁版嵁瀵硅薄 - * @throws VciBaseException 鍙傛暟涓虹┖锛屽苟涓旀暟鎹笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父 - */ - private CodeResembleRuleDO selectByOid(String oid) throws VciBaseException{ - VciBaseUtil.alertNotNull(oid,"涓婚敭"); - CodeResembleRuleDO 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 oidCollections 涓婚敭闆嗗悎锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓� - * @return 鐩镐技鏌ヨ瑙勫垯鏄剧ず瀵硅薄 - * @throws VciBaseException 鏌ヨ鍑虹幇寮傚父鏃朵細鎶涘嚭 - */ - @Override - public Collection<CodeResembleRuleVO> listCodeResembleRuleByOids(Collection<String> oidCollections) throws VciBaseException{ - VciBaseUtil.alertNotNull(oidCollections,"鏁版嵁瀵硅薄涓婚敭闆嗗悎"); - List<CodeResembleRuleDO> codeResembleRuleDOList = listCodeResembleRuleDOByOidCollections(oidCollections); - return codeResembleRuleDO2VOs(codeResembleRuleDOList); - } + /** + * 澧炲姞鐩镐技鏌ヨ瑙勫垯 + * @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 oidCollections 涓婚敭鐨勯泦鍚� - * @return 鏁版嵁瀵硅薄鍒楄〃 - */ - private List<CodeResembleRuleDO> listCodeResembleRuleDOByOidCollections(Collection<String> oidCollections){ - List<CodeResembleRuleDO> codeResembleRuleDOList = new ArrayList<CodeResembleRuleDO>(); - if(!CollectionUtils.isEmpty(oidCollections)){ - Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections); - for(Collection<String> oids: oidCollectionsList){ - List<CodeResembleRuleDO> tempDOList = codeResembleRuleMapper.selectByPrimaryKeyCollection(oids); - if(!CollectionUtils.isEmpty(tempDOList)){ - codeResembleRuleDOList.addAll(tempDOList); - } - } - } - return codeResembleRuleDOList; - } + /** + * 淇敼鐩镐技鏌ヨ瑙勫垯 + * @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); - } + /** + * 鍙傜収鐩镐技鏌ヨ瑙勫垯鍒楄〃 + * @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