From ec407e8676f6245d88da3d9f729ad545ae3218c0 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 18 七月 2023 15:20:03 +0800 Subject: [PATCH] 代码提交 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java | 124 +++++++++++++++++++++++++++++++++-------- 1 files changed, 99 insertions(+), 25 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java index d3f6040..62f4143 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java @@ -1,12 +1,15 @@ package com.vci.ubcs.code.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.CodeClassifyValueDTO; +import com.vci.ubcs.code.entity.CodeBasicSec; import com.vci.ubcs.code.entity.CodeClassifyValue; -import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus; +import com.vci.ubcs.code.enumpack.*; import com.vci.ubcs.code.mapper.CodeClassifyValueMapper; import com.vci.ubcs.code.service.ICodeBasicSecService; import com.vci.ubcs.code.service.ICodeClassifyValueService; @@ -16,11 +19,15 @@ import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.revision.model.TreeWrapperOptions; import com.vci.ubcs.starter.revision.service.RevisionModelUtil; +import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; import com.vci.ubcs.starter.web.pagemodel.Tree; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; +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.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -30,7 +37,8 @@ import java.util.stream.Collectors; import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.LC_STATUS; -import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.*; +import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_CASCADE_LINKED_NOT_DELETE; +import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_OID_NOT_EXIST; @Service public class CodeClassifyValueServiceImpl extends ServiceImpl<CodeClassifyValueMapper, CodeClassifyValue> implements ICodeClassifyValueService { @@ -48,7 +56,7 @@ /** * 涓婄骇鑺傜偣鐨勫睘鎬у悕绉� */ - private static final String PARENT_FIELD_NAME = "parentClassifyValueOid"; + private static final String PARENT_FIELD_NAME = "parentClassifyValueOid"; /** * 鏌ヨ鍒嗙被鐮佹鐨勭爜鍊� 鏍� @@ -58,8 +66,7 @@ */ @Override public List<Tree> treeCodeClassifyValue(TreeQueryObject treeQueryObject) throws VciBaseException { - // List<CodeClassifyValueDO> doList =selectCodeClassifyValueDOByTree(treeQueryObject); - List<CodeClassifyValue> doList =selectCodeClassifyValueDO4Tree(treeQueryObject); + List<CodeClassifyValue> doList = selectCodeClassifyValueDO4Tree(treeQueryObject); List<CodeClassifyValueVO> voList = CodeClassifyValueWrapper.build().listVO(doList); TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME); treeWrapperOptions.copyFromTreeQuery(treeQueryObject); @@ -77,12 +84,13 @@ * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父 */ @Override + @Transactional(rollbackFor = Exception.class) public boolean addSave(CodeClassifyValueDTO codeClassifyValueDTO) throws VciBaseException{ VciBaseUtil.alertNotNull(codeClassifyValueDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄"); //娣诲姞瀵圭爜鍊煎瓙鐖剁骇鐨勫垽鏂� - if(StringUtils.isNotBlank(codeClassifyValueDTO.getParentclassifyvalueoid())){ - String parentclassifyvalueoid = codeClassifyValueDTO.getParentclassifyvalueoid(); - String codeclassifysecoid = codeClassifyValueDTO.getCodeclassifysecoid(); + if(StringUtils.isNotBlank(codeClassifyValueDTO.getParentClassifyValueOid())){ + String parentclassifyvalueoid = codeClassifyValueDTO.getParentClassifyValueOid(); + String codeclassifysecoid = codeClassifyValueDTO.getCodeClassifySecOid(); CodeClassifyValue parentDO = codeClassifyValueMapper.selectById(parentclassifyvalueoid); if (parentDO.getCodeClassifySecOid().equalsIgnoreCase(codeclassifysecoid)){ throw new VciBaseException("涓嶅厑璁稿湪鐖剁爜鍊间腑鐩存帴娣诲姞瀛愮爜鍊�"); @@ -91,6 +99,8 @@ //灏咲TO杞崲涓篋O CodeClassifyValue codeClassifyValueDO = new CodeClassifyValue(); BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyValueDTO,codeClassifyValueDO); + //濉厖涓�浜涢粯璁ゅ�� + DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyValueDO,MdmBtmTypeConstant.CODE_CLASSIFY_VALUE); //鏌ヨ List<CodeClassifyValue> existList = codeClassifyValueMapper.selectList(Wrappers.<CodeClassifyValue>query() .lambda().eq(CodeClassifyValue::getCodeClassifySecOid, codeClassifyValueDO.getCodeClassifySecOid()) @@ -108,11 +118,14 @@ * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父 */ @Override + @Transactional(rollbackFor = Exception.class) public boolean editSave(CodeClassifyValueDTO codeClassifyValueDTO) throws VciBaseException{ VciBaseUtil.alertNotNull(codeClassifyValueDTO,"鏁版嵁瀵硅薄",codeClassifyValueDTO.getOid(),"鍒嗙被鐮佹鐨勭爜鍊间富閿�"); //灏咲TO杞崲涓篋O CodeClassifyValue codeClassifyValueDO = selectByOid(codeClassifyValueDTO.getOid()); revisionModelUtil.copyFromDTOIgnore(codeClassifyValueDTO,codeClassifyValueDO); + //濉厖涓�浜涢粯璁ゅ�� + DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeClassifyValueDO); boolean resBoolean = codeClassifyValueMapper.updateById(codeClassifyValueDO) > 0; return resBoolean; } @@ -137,9 +150,7 @@ * @return success涓簍rue涓哄彲浠ュ垹闄わ紝false琛ㄧず鏈夋暟鎹紩鐢紝obj涓簍rue琛ㄧず鏈変笅绾� */ private R checkIsCanDeleteForDO(CodeClassifyValueDTO codeClassifyValueDTO, CodeClassifyValue codeClassifyValueDO) { - if (!checkTs(codeClassifyValueDTO,codeClassifyValueDO)) { - return R.fail(TS_NOT_PROCESS); - } + //boService.checkTs(codeClassifyValueDTO); //鏍¢獙涓嬬骇鏄惁鏈夊紩鐢� if(checkChildIsLinked(codeClassifyValueDO.getOid())){ return R.fail(DATA_CASCADE_LINKED_NOT_DELETE); @@ -204,7 +215,7 @@ VciBaseUtil.alertNotNull(codeClassifyValueDTO,"鍒嗙被鐮佹鐨勭爜鍊兼暟鎹璞�",codeClassifyValueDTO.getOid(),"鍒嗙被鐮佹鐨勭爜鍊肩殑涓婚敭"); CodeClassifyValue codeClassifyValueDO = selectByOid(codeClassifyValueDTO.getOid()); R baseResult = checkIsCanDeleteForDO(codeClassifyValueDTO,codeClassifyValueDO); - if(baseResult.isSuccess()) { + if(!baseResult.isSuccess()) { //鎵句笅绾х殑锛岃繖涓槸鍙互鍒犻櫎鐨勬椂鍊橰 List<String> childrenOids = codeClassifyValueMapper.selectAllLevelChildOid(codeClassifyValueDO.getOid().trim()); if (!CollectionUtils.isEmpty(childrenOids)) { @@ -273,7 +284,7 @@ */ @Override @Transactional(rollbackFor = Exception.class) - public R batchSave4Order(List<CodeClassifyValueDTO> dtoList, String codeclassifysecoid) { + public R batchSave4Order(List<CodeClassifyValueDTO> dtoList, String codeclassifysecoid) throws VciBaseException{ VciBaseUtil.alertNotNull(codeclassifysecoid,"鍒嗙被鐮佹涓婚敭"); List<CodeClassifyValue> valueDOList = codeClassifyValueMapper.selectList(Wrappers.<CodeClassifyValue>query() .lambda().eq(CodeClassifyValue::getCodeClassifySecOid,codeclassifysecoid) @@ -281,18 +292,21 @@ List<CodeClassifyValue> updateList = new ArrayList<>(); dtoList.forEach(dto -> { - if( StringUtils.isNotBlank( dto.getOid() )){ + if(StringUtils.isNotBlank(dto.getOid())){ List<CodeClassifyValue> collect = valueDOList.stream().filter(value -> { return dto.getOid().equals(value.getOid()); }).collect(Collectors.toList()); collect.forEach(ccv -> { - ccv.setOrderNum(dto.getOrdernum()); + ccv.setOrderNum(dto.getOrderNum()); ccv.setId(dto.getId()); ccv.setName(dto.getName()); updateList.add(ccv); }); } }); + if(updateList.isEmpty()){ + return R.fail("璇ユ搷浣滄湁璇�愬緟鎿嶄綔闆嗗悎涓虹┖銆戙��"); + } boolean resBoolean = this.updateBatchById(updateList); return R.status(resBoolean); } @@ -336,22 +350,82 @@ List<String> oids = codeBasicSecService.getOidByCodeclassifysecOid(conditionMap.get("codeclassifysecoid")); LambdaQueryWrapper<CodeClassifyValue> wrapper = Wrappers.<CodeClassifyValue>query() .lambda().in(CodeClassifyValue::getCodeClassifySecOid,oids) - .orderByDesc(CodeClassifyValue::getOrderNum); + .orderByAsc(CodeClassifyValue::getOrderNum); return codeClassifyValueMapper.selectList(wrapper); } /** - * 妫�鏌s - * @param tempDO - * @return + * 浣跨敤鐮佹鐨勪富閿幏鍙栧垎绫荤殑鐮佸�煎唴瀹� + * + * @param classifySecOid 鐮佹鐨勪富閿� + * @param parentClassifyValueOid 涓婄骇鍒嗙被鐨勪富閿� + * @return 鍒嗙被鐮佸�肩殑鍐呭 */ - private boolean checkTs(CodeClassifyValueDTO tempDO,CodeClassifyValue codeClassifyValueDO){ - Date dbTs = codeClassifyValueDO.getTs(); - Date currentTs = tempDO.getTs(); - if(currentTs == null ? dbTs == null:currentTs.compareTo(dbTs)==0){ - return true; + @Override + public List<CodeClassifyValueVO> listCodeClassifyValueBySecOid(String classifySecOid, String parentClassifyValueOid) { + if(StringUtils.isBlank(classifySecOid)){ + return new ArrayList<>(); } - return false; + CodeBasicSec secDO = codeBasicSecService.getById(classifySecOid); + if(secDO == null || StringUtils.isBlank(secDO.getOid())){ + throw new VciBaseException("鐮佹鐨勫唴瀹瑰湪绯荤粺涓笉瀛樺湪"); + } + if(StringUtils.isNotBlank(secDO.getParentClassifySecOid()) && StringUtils.isBlank(parentClassifyValueOid)){ + return new ArrayList<>(); + //鍥犱负鏈変笂绾у垎绫荤殑鏃跺�欙紝蹇呴』鍏堥�夋嫨涓婄骇鍒嗙被鐨勫唴瀹� + } +// Map<String,String> conditionMap = new HashMap<>(); +// conditionMap.put("codeClassifySecOid",classifySecOid); +// if(StringUtils.isNotBlank(parentClassifyValueOid)){ +// conditionMap.put("parentClassifyValueOid",parentClassifyValueOid); +// } +// PageHelper pageHelper = new PageHelper(-1); +// pageHelper.addDefaultAsc("ordernum"); + QueryWrapper<CodeClassifyValue> wrapper = new QueryWrapper<>(); + wrapper.eq("codeClassifySecOid",classifySecOid); + if(StringUtils.isNotBlank(parentClassifyValueOid)){ + wrapper.in("parentClassifyValueOid",VciBaseUtil.str2List(parentClassifyValueOid)); + } + wrapper.orderByAsc("ordernum"); + + List<CodeClassifyValue> valueDOList = codeClassifyValueMapper.selectList(wrapper); + return codeClassifyValueDO2VOs(valueDOList); } + /** + * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� + * @param codeClassifyValueDOs 鏁版嵁瀵硅薄鍒楄〃 + * @return 鏄剧ず瀵硅薄 + * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呬笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父 + */ + @Override + public List<CodeClassifyValueVO> codeClassifyValueDO2VOs(Collection<CodeClassifyValue> codeClassifyValueDOs) throws VciBaseException{ + List<CodeClassifyValueVO> voList = new ArrayList<CodeClassifyValueVO>(); + if(!CollectionUtils.isEmpty(codeClassifyValueDOs)){ + for(CodeClassifyValue s: codeClassifyValueDOs){ + CodeClassifyValueVO vo = codeClassifyValueDO2VO(s); + if(vo != null){ + voList.add(vo); + } + } + } + return voList; + } + + /** + * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� + * @param codeClassifyValueDO 鏁版嵁瀵硅薄 + * @return 鏄剧ず瀵硅薄 + * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 + */ + @Override + public CodeClassifyValueVO codeClassifyValueDO2VO(CodeClassifyValue codeClassifyValueDO) throws VciBaseException{ + CodeClassifyValueVO vo = new CodeClassifyValueVO(); + if(codeClassifyValueDO != null){ + BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyValueDO,vo); + //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽 + + } + return vo; + } } -- Gitblit v1.9.3