From 9660ff90d9a58fb675c821d9ed31b627a59d4b76 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期日, 28 一月 2024 15:18:37 +0800 Subject: [PATCH] 近义词管理,界面和接口完善 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSynonymServiceImpl.java | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 110 insertions(+), 8 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 9f70d4a..c3cdf88 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 @@ -16,13 +16,33 @@ */ package com.vci.ubcs.code.service.impl; -import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant; +import com.vci.ubcs.code.entity.CodeClassifyTemplate; +import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr; +import com.vci.ubcs.code.entity.CodeSynonym; import com.vci.ubcs.code.mapper.CodeSynonymMapper; +import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService; import com.vci.ubcs.code.service.ICodeSynonymService; -import com.vci.ubcs.code.vo.CodeSynonymVO; +import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; +import com.vci.ubcs.code.wrapper.CodeClassifyTemplateAttrWrapper; +import com.vci.ubcs.starter.enumpack.CodeTableNameEnum; +import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; +import com.vci.ubcs.starter.util.MdmBtmTypeConstant; +import com.vci.ubcs.starter.util.UBCSCondition; +import lombok.AllArgsConstructor; +import org.springblade.core.log.exception.ServiceException; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; import org.springframework.stereotype.Service; -import javax.annotation.Resource; +import java.util.List; +import java.util.Map; /** * 杩戜箟璇嶇淮鎶� 鏈嶅姟瀹炵幇绫� @@ -31,15 +51,97 @@ * @since 2023-04-04 */ @Service -public class CodeSynonymServiceImpl implements ICodeSynonymService { +@AllArgsConstructor +public class CodeSynonymServiceImpl extends ServiceImpl<CodeSynonymMapper, CodeSynonym> implements ICodeSynonymService { - @Resource - CodeSynonymMapper codeSynonymMapper; + private final CodeSynonymMapper codeSynonymMapper; + private final ICodeClassifyTemplateAttrService codeClassifyTemplateAttrService; + + /** + * 杩戜箟璇嶇淮鎶� 鏂板 + * @param codeSynonym + * @return + */ @Override - public IPage<CodeSynonymVO> selectPlCodeSynonymPage(IPage<CodeSynonymVO> page, CodeSynonymVO plCodeSynonym) { - return page.setRecords(codeSynonymMapper.selectPlCodeSynonymPage(page, plCodeSynonym)); + public boolean addSave(CodeSynonym codeSynonym) { + if(codeSynonym.getSynonymValue().isEmpty() || codeSynonym.getSourceValue().isEmpty()){ + throw new ServiceException("婧愬�煎拰杩戜箟璇嶄笉鑳戒负绌�"); + } + DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeSynonym, MdmBtmTypeConstant.CODE_SYNONYM); + // 娣诲姞鏃堕粯璁や负缂栬緫涓� + codeSynonym.setLcStatus(FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_RELEASED); + return SqlHelper.retBool(codeSynonymMapper.insert(codeSynonym)); } + /** + * 杩戜箟璇嶇淮鎶� 淇敼 + * @param codeSynonym + * @return + */ + @Override + public boolean editSave(CodeSynonym codeSynonym) { + DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeSynonym); + return SqlHelper.retBool(codeSynonymMapper.updateById(codeSynonym)); + } + + /** + * 杩戜箟璇嶇姸鎬佸仠鐢ㄥ惎鐢� + * @param map + * @return + */ + @Override + public boolean updateStatus(Map<String, String> map) { + if(Func.isEmpty(map.getOrDefault("oid",""))){ + throw new ServiceException("蹇呬紶鍙傛暟oid涓嶈兘涓虹┖锛�"); + } + if(Func.isEmpty(map.getOrDefault("lcStatus",""))){ + throw new ServiceException("鐢熷懡鍛ㄦ湡鐘舵�佷笉鑳戒负绌猴紒"); + } + LambdaUpdateWrapper<CodeSynonym> updateWrapper = Wrappers.<CodeSynonym>update() + .lambda().eq(CodeSynonym::getOid, map.get("oid")) + .set(CodeSynonym::getLcStatus, map.get("lcStatus")); + return SqlHelper.retBool(this.codeSynonymMapper.update(null,updateWrapper)); + } + + /** + * 鍒犻櫎 + * @param oids + * @return + */ + @Override + public R deleteDataByIds(String oids) { + if(Func.isBlank(oids)){ + return R.fail("鏈幏鍙栫殑鍙傛暟oid"); + } + List<Long> oidList = Func.toLongList(oids); + LambdaQueryWrapper<CodeClassifyTemplateAttr> wrapper = Wrappers.<CodeClassifyTemplateAttr>query().lambda(); + oidList.stream().forEach(item->{ + wrapper.or().like(CodeClassifyTemplateAttr::getSysonymRuleOids, item); + }); + List<CodeClassifyTemplateAttr> voList = codeClassifyTemplateAttrService.selectByWrapper(wrapper); + if(!voList.isEmpty()){ + return R.fail("鍒犻櫎鐨勮鍒欎腑瀛樺湪琚紩鐢ㄧ殑杩戜箟璇嶆煡璇㈣鍒欙紒"); + } + return R.status(SqlHelper.retBool(codeSynonymMapper.deleteBatchIds(oidList))); + } + + /** + * 鏌ョ湅杩戜箟璇嶆煡璇㈣鍒欎娇鐢ㄨ寖鍥� + * @param oid + * @return + */ + @Override + public List<CodeClassifyTemplateAttrVO> listUseRangeInClsTempAttr(String oid) { + MPJLambdaWrapper<CodeClassifyTemplateAttr> mpjLambdaWrapper = new MPJLambdaWrapper<>(CodeClassifyTemplateAttr.class, CodeTableNameEnum.PL_CODE_CLSTEMPATTR.getText()) + .selectAll(CodeClassifyTemplateAttr.class) + .selectAs(CodeClassifyTemplate::getName,CodeClassifyTemplateAttr::getClassifyTemplateOidName) + .leftJoin(CodeClassifyTemplate.class,CodeTableNameEnum.PL_CODE_CLSTEMPLATE.getText(),CodeClassifyTemplate::getOid,CodeClassifyTemplateAttr::getClassifyTemplateOid) + .like(CodeClassifyTemplateAttr::getSysonymRuleOids, oid); + List<CodeClassifyTemplateAttr> voList = codeClassifyTemplateAttrService.selectByWrapper( + mpjLambdaWrapper + ); + return CodeClassifyTemplateAttrWrapper.build().listVO(voList); + } } -- Gitblit v1.9.3