From 1b8120cacac0037fcb1f8ae747c2f54eb735368b Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 09 五月 2023 18:50:51 +0800 Subject: [PATCH] 代码整合 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempbuttonServiceImpl.java | 113 +++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 71 insertions(+), 42 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempbuttonServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempbuttonServiceImpl.java index 258e9a9..034e69e 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempbuttonServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempbuttonServiceImpl.java @@ -21,18 +21,25 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.vci.ubcs.code.constant.MdmBtmTypeConstant; import com.vci.ubcs.code.dto.CodeClassifyTemplateButtonDTO; import com.vci.ubcs.code.dto.CodeClassifyValueDTO; -import com.vci.ubcs.code.entity.CodeClassifyTemplateButton; -import com.vci.ubcs.code.entity.CodeClassifyValue; +import com.vci.ubcs.code.entity.*; +import com.vci.ubcs.code.enumpack.CodeButtonUseEnum; import com.vci.ubcs.code.mapper.CodeClassifyTemplateButtonMapper; import com.vci.ubcs.code.service.ICodeButtonService; import com.vci.ubcs.code.service.ICodeTempbuttonService; import com.vci.ubcs.code.vo.pagemodel.CodeButtonVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateButtonVO; +import com.vci.ubcs.code.wrapper.CodeTempbuttonWrapper; +import com.vci.ubcs.common.utils.PageDO2PageVO; 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.Map2MPLLambdaUtil; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.pagemodel.PageHelper; import com.vci.ubcs.starter.web.util.BeanUtil; @@ -85,25 +92,32 @@ /** * 鏌ヨ鎵�鏈夌殑涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽� - * @param codeClassifyTemplateButtonVO 鏌ヨ鏉′欢 - * @param query 鍒嗛〉鍜屾帓搴� + * @param conditionMap 鏌ヨ鏉′欢 + * @param pageHelper 鍒嗛〉鍜屾帓搴� * @return 鎵ц缁撴灉 * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 */ @Override - public DataGrid<CodeClassifyTemplateButtonVO> gridCodeClassifyTemplateButton(CodeClassifyTemplateButtonVO codeClassifyTemplateButtonVO, Query query) throws VciBaseException { + public IPage<CodeClassifyTemplateButtonVO> gridCodeClassifyTemplateButton(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException { + Query query = new Query(); + if (pageHelper == null) { + query.setSize(-1); + }else { + query.setSize(pageHelper.getLimit()); + query.setCurrent(pageHelper.getPage()); + } query.setDescs("createTime"); + if(StringUtils.isBlank(conditionMap.getOrDefault("classifyTemplateOid",null))){ + return new Page<>(); + } - if(StringUtils.isBlank(codeClassifyTemplateButtonVO.getClassifytemplateoid())){ - return null; - } - IPage<CodeClassifyTemplateButton> doList = codeClassifyTemplateButtonMapper.selectPage(Condition.getPage(query),Condition.getQueryWrapper(codeClassifyTemplateButtonVO)); - DataGrid<CodeClassifyTemplateButtonVO> dataGrid=new DataGrid<CodeClassifyTemplateButtonVO>(); + IPage<CodeClassifyTemplateButton> doList = codeClassifyTemplateButtonMapper.selectPage(Condition.getPage(query),getMPJLambdaWrapper(conditionMap)); + IPage<CodeClassifyTemplateButtonVO> voList = new Page<>(); if (!CollectionUtils.isEmpty(doList.getRecords())) { - dataGrid.setData(codeClassifyTemplateButtonDO2VOs(doList.getRecords())); - dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(codeClassifyTemplateButtonMapper.selectCount(Condition.getQueryWrapper(codeClassifyTemplateButtonVO))))); + voList.setRecords(codeClassifyTemplateButtonDO2VOs(doList.getRecords())); + voList = PageDO2PageVO.pageDO2PageVO(doList,voList); } - return dataGrid; + return voList; } /** @@ -138,12 +152,12 @@ if(hasButtonVO && !CollectionUtils.isEmpty(voList)){ //鑾峰彇鎸夐挳鐨勬樉绀哄璞� List<CodeButtonVO> buttonVOList = new ArrayList<>(); - VciBaseUtil.switchCollectionForOracleIn(voList.stream().map(CodeClassifyTemplateButtonVO::getClassifybuttonoid).collect(Collectors.toList())).stream().forEach(buttonOids->{ + VciBaseUtil.switchCollectionForOracleIn(voList.stream().map(CodeClassifyTemplateButtonVO::getClassifyButtonOid).collect(Collectors.toList())).stream().forEach(buttonOids->{ buttonVOList.addAll(buttonService.listCodeButtonByOids(buttonOids)); }); Map<String, CodeButtonVO> buttonVOMap = Optional.ofNullable(buttonVOList).orElseGet(() -> new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t)); voList.stream().forEach(vo->{ - vo.setButtonVO(buttonVOMap.getOrDefault(vo.getClassifybuttonoid(),null)); + vo.setButtonVO(buttonVOMap.getOrDefault(vo.getClassifyButtonOid(),null)); }); } return voList; @@ -161,7 +175,7 @@ if(codeClassifyTemplateButtonDO != null){ BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateButtonDO,vo); //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽 - + vo.setButtonUseText(CodeButtonUseEnum.getTextByValue(codeClassifyTemplateButtonDO.getButtonUse())); } return vo; } @@ -179,22 +193,24 @@ */ @Override @Transactional(rollbackFor = Exception.class) - public boolean addSave(CodeClassifyTemplateButtonDTO codeClassifyTemplateButtonDTO) throws VciBaseException{ - VciBaseUtil.alertNotNull(codeClassifyTemplateButtonDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄",codeClassifyTemplateButtonDTO.getClassifytemplateoid(),"妯℃澘鐨勪富閿�"); + public CodeClassifyTemplateButtonVO addSave(CodeClassifyTemplateButtonDTO codeClassifyTemplateButtonDTO) throws VciBaseException{ + VciBaseUtil.alertNotNull(codeClassifyTemplateButtonDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄",codeClassifyTemplateButtonDTO.getClassifyTemplateOid(),"妯℃澘鐨勪富閿�"); //灏咲TO杞崲涓篋O CodeClassifyTemplateButton codeClassifyTemplateButtonDO = new CodeClassifyTemplateButton(); BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateButtonDTO,codeClassifyTemplateButtonDO); + DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyTemplateButtonDO, MdmBtmTypeConstant.CODE_TEMPLATE_BUTTON); if(codeClassifyTemplateButtonDO.getOrderNum()== null){ //鏌ヨ鍏ㄩ儴 Long count = codeClassifyTemplateButtonMapper.selectCount(Wrappers.<CodeClassifyTemplateButton>query() - .lambda().eq(CodeClassifyTemplateButton::getClassifytemplateoid,codeClassifyTemplateButtonDTO.getClassifytemplateoid()) + .lambda().eq(CodeClassifyTemplateButton::getClassifyTemplateOid,codeClassifyTemplateButtonDTO.getClassifyTemplateOid()) ); if(count == null){ count = 0L; } codeClassifyTemplateButtonDO.setOrderNum(Long.valueOf(count + 1L).intValue()); } - return codeClassifyTemplateButtonMapper.insert(codeClassifyTemplateButtonDO)>0; + boolean resInsertClsTempButton = codeClassifyTemplateButtonMapper.insert(codeClassifyTemplateButtonDO) > 0; + return resInsertClsTempButton ? codeClassifyTemplateButtonDO2VO(codeClassifyTemplateButtonDO):null; } /** @@ -205,12 +221,14 @@ */ @Override @Transactional(rollbackFor = Exception.class) - public boolean editSave(CodeClassifyTemplateButtonDTO codeClassifyTemplateButtonDTO) throws VciBaseException{ + public CodeClassifyTemplateButtonVO editSave(CodeClassifyTemplateButtonDTO codeClassifyTemplateButtonDTO) throws VciBaseException{ VciBaseUtil.alertNotNull(codeClassifyTemplateButtonDTO,"鏁版嵁瀵硅薄",codeClassifyTemplateButtonDTO.getOid(),"涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽富閿�"); //灏咲TO杞崲涓篋O CodeClassifyTemplateButton codeClassifyTemplateButtonDO = selectByOid(codeClassifyTemplateButtonDTO.getOid()); revisionModelUtil.copyFromDTOIgnore(codeClassifyTemplateButtonDTO,codeClassifyTemplateButtonDO); - return codeClassifyTemplateButtonMapper.updateById(codeClassifyTemplateButtonDO)>0; + DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeClassifyTemplateButtonDO); + boolean resUpdateClsTempButton = codeClassifyTemplateButtonMapper.updateById(codeClassifyTemplateButtonDO) > 0; + return resUpdateClsTempButton ? codeClassifyTemplateButtonDO2VO(codeClassifyTemplateButtonDO):null; } /** @@ -225,7 +243,7 @@ VciBaseUtil.alertNotNull(codeClassifyTemplateButtonDTO,"涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽暟鎹璞�",codeClassifyTemplateButtonDTO.getOid(),"涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽殑涓婚敭"); CodeClassifyTemplateButton codeClassifyTemplateButtonDO = selectByOid(codeClassifyTemplateButtonDTO.getOid()); R baseResult = checkIsCanDeleteForDO(codeClassifyTemplateButtonDTO,codeClassifyTemplateButtonDO); - if(!baseResult.isSuccess()) { + if(baseResult.isSuccess()) { }else{ return baseResult; } @@ -243,7 +261,7 @@ private R checkIsCanDeleteForDO(CodeClassifyTemplateButtonDTO codeClassifyTemplateButtonDTO, CodeClassifyTemplateButton codeClassifyTemplateButtonDO) { CodeClassifyTemplateButton tsDO = new CodeClassifyTemplateButton(); BeanUtil.convert(codeClassifyTemplateButtonDTO,tsDO); - if (checkTs(tsDO)) { + if (!checkTs(tsDO,codeClassifyTemplateButtonDO)) { return R.fail(TS_NOT_PROCESS); } if(!checkIsLinked(codeClassifyTemplateButtonDO.getOid())) { @@ -256,17 +274,33 @@ /** * 妫�鏌s * @param tempDO + * @param codeClassifyTemplateButtonDO * @return */ - private boolean checkTs(CodeClassifyTemplateButton tempDO){ - LambdaQueryWrapper<CodeClassifyTemplateButton> wrapper = Wrappers.<CodeClassifyTemplateButton>query() - .lambda().eq(CodeClassifyTemplateButton::getOid,tempDO.getOid()).select(CodeClassifyTemplateButton::getTs); - long dbTs = codeClassifyTemplateButtonMapper.selectById(wrapper).getTs().getTime(); - long currentTs = tempDO.getTs().getTime(); - if(dbTs == currentTs){ + private boolean checkTs(CodeClassifyTemplateButton tempDO,CodeClassifyTemplateButton codeClassifyTemplateButtonDO){ + Date dbTs = codeClassifyTemplateButtonDO.getTs(); + Date currentTs = tempDO.getTs(); + if(currentTs == null ? dbTs == null:currentTs.compareTo(dbTs)==0){ return true; } return false; + } + + /** + * 鑾峰彇杩炶〃鏌ヨ鏉′欢瀵硅薄 + * @param conditionMap + * @return + */ + private MPJLambdaWrapper<CodeClassifyTemplateButton> getMPJLambdaWrapper(Map<String,String> conditionMap){ + CodeClassifyTemplateButton codeClassifyTemplateButton = new CodeClassifyTemplateButton(); + BeanMap beanMap = BeanMap.create(codeClassifyTemplateButton); + beanMap.putAll(conditionMap); + MPJLambdaWrapper<CodeClassifyTemplateButton> mpjLambdaWrapper = Map2MPLLambdaUtil.getMPJLambdaWrapper(codeClassifyTemplateButton) + .selectAll(CodeClassifyTemplateButton.class) + .selectAs(CodeButton::getName, CodeClassifyTemplateButton::getClassifyButtonOidName) + .selectAs(CodeButton::getId, CodeClassifyTemplateButton::getClassifyButtonId) + .leftJoin(CodeButton.class, CodeButton::getOid, CodeClassifyTemplateButton::getClassifyButtonOid); + return mpjLambdaWrapper; } /** @@ -301,18 +335,11 @@ * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 */ @Override - public DataGrid<CodeClassifyTemplateButtonVO> refDataGridCodeClassifyTemplateButton(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{ + public IPage<CodeClassifyTemplateButtonVO> refDataGridCodeClassifyTemplateButton(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{ if(conditionMap == null){ conditionMap = new HashMap<String, String>(); } - CodeClassifyTemplateButtonVO codeClassifyTemplateButtonVO = new CodeClassifyTemplateButtonVO(); - BeanMap beanMap = BeanMap.create(codeClassifyTemplateButtonVO); - beanMap.putAll(conditionMap); - Query query = new Query(); - query.setSize(pageHelper.getLimit()); - query.setCurrent(pageHelper.getPage()); - - return gridCodeClassifyTemplateButton(codeClassifyTemplateButtonVO,query); + return gridCodeClassifyTemplateButton(conditionMap, pageHelper); } /** @@ -325,7 +352,7 @@ if(!CollectionUtils.isEmpty(oidCollections)){ Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections); for(Collection<String> oids: oidCollectionsList){ - List<CodeClassifyTemplateButton> tempDOList = codeClassifyTemplateButtonMapper.selectBatchIds(oids); + List<CodeClassifyTemplateButton> tempDOList = codeClassifyTemplateButtonMapper.selectBatchIds(oids); if(!CollectionUtils.isEmpty(tempDOList)){ codeClassifyTemplateButtonDOList.addAll(tempDOList); } @@ -333,7 +360,6 @@ } return codeClassifyTemplateButtonDOList; } - /** * 鏍¢獙鏄惁琚紩鐢� @@ -353,7 +379,10 @@ */ private CodeClassifyTemplateButton selectByOid(String oid) throws VciBaseException{ VciBaseUtil.alertNotNull(oid,"涓婚敭"); - CodeClassifyTemplateButton codeClassifyTemplateButtonDO = codeClassifyTemplateButtonMapper.selectById(oid.trim()); + HashMap<String, String> conditionMap = new HashMap<>(); + conditionMap.put("oid",oid); + MPJLambdaWrapper<CodeClassifyTemplateButton> mpjLambdaWrapper = getMPJLambdaWrapper(conditionMap); + CodeClassifyTemplateButton codeClassifyTemplateButtonDO = codeClassifyTemplateButtonMapper.selectOne(mpjLambdaWrapper); if(codeClassifyTemplateButtonDO == null || StringUtils.isBlank(codeClassifyTemplateButtonDO.getOid())){ throw new VciBaseException(DATA_OID_NOT_EXIST); } -- Gitblit v1.9.3