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/CodeTempphaseServiceImpl.java | 323 +++++++++++++++++++++++++++++++++-------------------- 1 files changed, 199 insertions(+), 124 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempphaseServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempphaseServiceImpl.java index 392e9e1..b1f55fe 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempphaseServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempphaseServiceImpl.java @@ -17,11 +17,15 @@ package com.vci.ubcs.code.service.impl; import com.alibaba.cloud.commons.lang.StringUtils; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.service.ICodeTempphaseService; import com.vci.ubcs.code.constant.MdmBtmTypeConstant; import com.vci.ubcs.code.dto.CodeTemplatePhaseDTO; @@ -32,10 +36,14 @@ import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService; import com.vci.ubcs.code.service.ICodePhaseattrService; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; -import com.vci.ubcs.code.vo.pagemodel.CodeTemplatePhaseEntityVO; +import com.vci.ubcs.code.vo.pagemodel.CodeTemplatePhaseVO; +import com.vci.ubcs.code.wrapper.CodeTemplatePhaseWapper; +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.MybatisParameterUtil; +import com.vci.ubcs.starter.web.constant.QueryOptionConstant; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.pagemodel.PageHelper; import com.vci.ubcs.starter.web.util.BeanUtil; @@ -62,7 +70,7 @@ * @since 2023-04-20 */ @Service -public class CodeTempphaseServiceImpl extends ServiceImpl<CodeTemplatePhaseMapper, CodeTempphaseEntity> implements ICodeTempphaseService { +public class CodeTempphaseServiceImpl extends ServiceImpl<CodeTemplatePhaseMapper, CodeTemplatePhase> implements ICodeTempphaseService { @Autowired(required = false) private CodePhaseattrMapper codePhaseAttrMapper; @@ -90,23 +98,32 @@ /** * 鏌ヨ鎵�鏈夌殑妯℃澘闃舵 - * @param codeTemplatePhaseVO 鏌ヨ鏉′欢 - * @param query 鍒嗛〉鍜屾帓搴� + * @param conditionMap 鏌ヨ鏉′欢 + * @param pageHelper 鍒嗛〉鍜屾帓搴� * @return 鎵ц缁撴灉 * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 */ @Override - public DataGrid<CodeTemplatePhaseEntityVO> gridCodeTemplatePhase(CodeTemplatePhaseEntityVO codeTemplatePhaseVO, Query query) throws VciBaseException { - query.setDescs("createTime"); - query.setSize(-1); - - IPage<CodeTempphaseEntity> doList = codeTemplatePhaseMapper.selectPage(Condition.getPage(query), Condition.getQueryWrapper(codeTemplatePhaseVO)); - DataGrid<CodeTemplatePhaseEntityVO> dataGrid=new DataGrid<CodeTemplatePhaseEntityVO>(); - if (!CollectionUtils.isEmpty(doList.getRecords())) { - dataGrid.setData(codeTemplatePhaseDO2VOs(doList.getRecords())); - dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(codeTemplatePhaseMapper.selectCount(Condition.getQueryWrapper(codeTemplatePhaseVO))))); + public IPage<CodeTemplatePhaseVO> gridCodeTemplatePhase(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()); } - return dataGrid; + query.setDescs("createTime"); + CodeTemplatePhase codeTemplatePhase = new CodeTemplatePhase(); + BeanMap beanMap = BeanMap.create(codeTemplatePhase); + beanMap.putAll(conditionMap); + IPage<CodeTemplatePhase> doList = codeTemplatePhaseMapper.selectPage(Condition.getPage(query), Condition.getQueryWrapper(codeTemplatePhase)); + IPage<CodeTemplatePhaseVO> voList = new Page<>(); + if (!CollectionUtils.isEmpty(doList.getRecords())) { + voList.setRecords(CodeTemplatePhaseWapper.build().listVO(doList.getRecords())); + //鍒嗛〉鍙傛暟杞埌pageVO瀵硅薄 + voList = PageDO2PageVO.pageDO2PageVO(doList,voList); + } + return voList; } /** @@ -116,11 +133,11 @@ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呬笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父 */ @Override - public List<CodeTemplatePhaseEntityVO> codeTemplatePhaseDO2VOs(Collection<CodeTempphaseEntity> codeTemplatePhaseEntityDOS) throws VciBaseException{ - List<CodeTemplatePhaseEntityVO> voList = new ArrayList<CodeTemplatePhaseEntityVO>(); + public List<CodeTemplatePhaseVO> codeTemplatePhaseDO2VOs(Collection<CodeTemplatePhase> codeTemplatePhaseEntityDOS) throws VciBaseException{ + List<CodeTemplatePhaseVO> voList = new ArrayList<CodeTemplatePhaseVO>(); if(!CollectionUtils.isEmpty(codeTemplatePhaseEntityDOS)){ - for(CodeTempphaseEntity s: codeTemplatePhaseEntityDOS){ - CodeTemplatePhaseEntityVO vo = codeTemplatePhaseDO2VO(s); + for(CodeTemplatePhase s: codeTemplatePhaseEntityDOS){ + CodeTemplatePhaseVO vo = codeTemplatePhaseDO2VO(s); if(vo != null){ voList.add(vo); } @@ -136,8 +153,8 @@ * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 */ @Override - public CodeTemplatePhaseEntityVO codeTemplatePhaseDO2VO(CodeTempphaseEntity codeTemplatePhaseEntityDO) throws VciBaseException{ - CodeTemplatePhaseEntityVO vo = new CodeTemplatePhaseEntityVO(); + public CodeTemplatePhaseVO codeTemplatePhaseDO2VO(CodeTemplatePhase codeTemplatePhaseEntityDO) throws VciBaseException{ + CodeTemplatePhaseVO vo = new CodeTemplatePhaseVO(); if(codeTemplatePhaseEntityDO != null){ BeanUtilForVCI.copyPropertiesIgnoreCase(codeTemplatePhaseEntityDO,vo); //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽 @@ -156,14 +173,14 @@ int updateCount = 0; Map<String,Object> condition = new HashMap<>(1); condition.put("codeclassifytemplateoid",templateOid); - List<CodeTempphaseEntity> codeTempphaseEntities = baseMapper.selectByMap(condition); + List<CodeTemplatePhase> codeTempphaseEntities = baseMapper.selectByMap(condition); if(!CollectionUtils.isEmpty(codeTempphaseEntities)) { - updateCount += baseMapper.deleteBatchIds(codeTempphaseEntities.stream().map(CodeTempphaseEntity::getOid).collect(Collectors.toList())); -// batchCBO.copyFromOther(codeTemplatePhaseMapper.batchDeleteByOids(templatePhaseDOS.stream().map(CodeTemplatePhaseDO::getOid).collect(Collectors.toList()))); -// conditionMap.put("codePhaseOid", QueryOptionConstant.IN + "(select oid from " + getPhaseTable() + " where codeClassifyTemplateOid='" + classifyTemplateOid + "')"); - List<CodePhaseattrEntity> phaseAttrDOS = codePhaseAttrMapper.selectByPhasea(templateOid); + updateCount += baseMapper.deleteBatchIds(codeTempphaseEntities.stream().map(CodeTemplatePhase::getOid).collect(Collectors.toList())); + //batchCBO.copyFromOther(codeTemplatePhaseMapper.batchDeleteByOids(templatePhaseDOS.stream().map(CodeTemplatePhaseDO::getOid).collect(Collectors.toList()))); + //conditionMap.put("codePhaseOid", QueryOptionConstant.IN + "(select oid from " + getPhaseTable() + " where codeClassifyTemplateOid='" + classifyTemplateOid + "')"); + List<CodePhaseAttr> phaseAttrDOS = codePhaseAttrMapper.selectByPhasea(templateOid); if(!CollectionUtils.isEmpty(phaseAttrDOS)){ - updateCount += codePhaseAttrMapper.deleteBatchIds(phaseAttrDOS.stream().map(CodePhaseattrEntity::getOid).collect(Collectors.toList())); + updateCount += codePhaseAttrMapper.deleteBatchIds(phaseAttrDOS.stream().map(CodePhaseAttr::getOid).collect(Collectors.toList())); } } return updateCount; @@ -176,29 +193,29 @@ */ @Override @Transactional(rollbackFor = Exception.class) - public List<CodeClstempattrEntity> codeTemplateAttrModifyTrigger(List<CodeClstempattrEntity> attrDOList){ + public List<CodeClassifyTemplateAttr> codeTemplateAttrModifyTrigger(List<CodeClassifyTemplateAttr> attrDOList){ //灞炴�т慨鏀圭殑鏃跺�欙紝闇�瑕佸悓姝ヤ慨鏀瑰搴斿睘鎬х殑鍚嶇О -// BatchCBO batchCBO = new BatchCBO(); - List<CodePhaseattrEntity> phaseAttrDOS =codePhaseAttrMapper.listLinkAttrDOByTemplateAttrDOS(VciBaseUtil.toInSql(attrDOList.stream() - .map(CodeClstempattrEntity::getId).collect(Collectors.toList()).toArray(new String[0])),attrDOList.get(0).getClassifytemplateoid()); + //BatchCBO batchCBO = new BatchCBO(); + List<CodePhaseAttr> phaseAttrDOS =codePhaseAttrMapper.listLinkAttrDOByTemplateAttrDOS(VciBaseUtil.toInSql(attrDOList.stream() + .map(CodeClassifyTemplateAttr::getId).collect(Collectors.toList()).toArray(new String[0])),attrDOList.get(0).getClassifyTemplateOid()); + boolean resSavePhaseAttr = false; if(!CollectionUtils.isEmpty(phaseAttrDOS)){ //璇存槑鏈夊睘鎬�,鎴戜滑鍘绘浛鎹竴涓� - Map<String, CodeClstempattrEntity> attrDOMap = attrDOList.stream().collect(Collectors.toMap(s -> s.getId(), t -> t)); + Map<String, CodeClassifyTemplateAttr> attrDOMap = attrDOList.stream().collect(Collectors.toMap(s -> s.getId(), t -> t)); phaseAttrDOS.stream().forEach(phaseAttrDO->{ if(attrDOMap.containsKey(phaseAttrDO.getId())){ - CodeClstempattrEntity attrDO = attrDOMap.get(phaseAttrDO.getId()); + CodeClassifyTemplateAttr attrDO = attrDOMap.get(phaseAttrDO.getId()); phaseAttrDO.setId(attrDO.getId()); phaseAttrDO.setName(attrDO.getName()); - phaseAttrDO.setAttributegroup(attrDO.getAttributegroup()); + phaseAttrDO.setAttributeGroup(attrDO.getAttributeGroup()); } }); -// codePhaseattrMapper. - codePhaseattrService.saveBatch(phaseAttrDOS); -// BatchCBO updateCBO = -// codePhaseAttrMapper.batchUpdate(phaseAttrDOS); -// batchCBO.copyFromOther(updateCBO); + resSavePhaseAttr = codePhaseattrService.saveBatch(phaseAttrDOS); + //BatchCBO updateCBO = + //codePhaseAttrMapper.batchUpdate(phaseAttrDOS); + //batchCBO.copyFromOther(updateCBO); } - return attrDOList; + return resSavePhaseAttr ? attrDOList:null; } /** @@ -209,17 +226,53 @@ */ @Override @Transactional(rollbackFor = Exception.class) - public CodeTemplatePhaseEntityVO addSave(CodeTemplatePhaseDTO codeTemplatePhaseDTO) throws VciBaseException{ + public CodeTemplatePhaseVO addSave(CodeTemplatePhaseDTO codeTemplatePhaseDTO) throws VciBaseException{ VciBaseUtil.alertNotNull(codeTemplatePhaseDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄",codeTemplatePhaseDTO.getAttributes(),"鍖呭惈鐨勫睘鎬�"); //灏咲TO杞崲涓篋O - CodeTempphaseEntity codeTemplatePhaseEntityDO = new CodeTempphaseEntity(); - codeTemplatePhaseEntityDO.setOid(VciBaseUtil.getPk()); - BeanUtilForVCI.copyPropertiesIgnoreCase(codeTemplatePhaseDTO, codeTemplatePhaseEntityDO); + CodeTemplatePhase codeTemplatePhaseDO = new CodeTemplatePhase(); + BeanUtilForVCI.copyPropertiesIgnoreCase(codeTemplatePhaseDTO, codeTemplatePhaseDO); + DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeTemplatePhaseDO,MdmBtmTypeConstant.CODE_TEMPLATE_PHASE); //WebUtil.setPersistence(false); - boolean resBoolean = codeTemplatePhaseMapper.insert(codeTemplatePhaseEntityDO) > 0; - List<CodePhaseattrEntity> attrDOList = new ArrayList<>(); + boolean resInsertTempPhase = codeTemplatePhaseMapper.insert(codeTemplatePhaseDO) > 0; + List<CodePhaseAttr> attrDOList = new ArrayList<>(); + CodeTemplatePhase finalCodeTemplatePhaseDO = codeTemplatePhaseDO; codeTemplatePhaseDTO.getAttributes().stream().forEach(attrDTO->{ - CodePhaseattrEntity attrDO = new CodePhaseattrEntity(); + CodePhaseAttr attrDO = new CodePhaseAttr(); + BeanUtilForVCI.copyPropertiesIgnoreCase(attrDTO,attrDO); + attrDO.setOid(VciBaseUtil.getPk()); + attrDO.setCodePhaseOid(finalCodeTemplatePhaseDO.getOid()); + attrDOList.add(attrDO); + }); + boolean resPhaseAttr = codePhaseattrService.saveOrUpdateBatch(attrDOList); + //WebUtil.setPersistence(true); + return resInsertTempPhase && resPhaseAttr ? codeTemplatePhaseDO2VO(codeTemplatePhaseDO):null; + } + + /** + * 淇敼妯℃澘闃舵 + * @param codeTemplatePhaseDTO 妯℃澘闃舵鏁版嵁浼犺緭瀵硅薄 + * @return 鎵ц缁撴灉 + * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public CodeTemplatePhaseVO editSave(CodeTemplatePhaseDTO codeTemplatePhaseDTO) throws VciBaseException{ + VciBaseUtil.alertNotNull(codeTemplatePhaseDTO,"鏁版嵁瀵硅薄",codeTemplatePhaseDTO.getOid(),"妯℃澘闃舵涓婚敭",codeTemplatePhaseDTO.getAttributes(),"鍖呭惈鐨勫睘鎬�"); + //灏咲TO杞崲涓篋O + CodeTemplatePhase codeTemplatePhaseEntityDO = selectByOid(codeTemplatePhaseDTO.getOid()); + revisionModelUtil.copyFromDTOIgnore(codeTemplatePhaseDTO, codeTemplatePhaseEntityDO); + DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeTemplatePhaseEntityDO); + //WebUtil.setPersistence(false); + codeTemplatePhaseMapper.updateById(codeTemplatePhaseEntityDO); + //鎶婁互鍓嶇殑鍒犻櫎 + List<CodePhaseAttr> phaseAttrDOS = listPhaseAttrDOByPhaseOid(codeTemplatePhaseEntityDO.getOid()); + if(!CollectionUtils.isEmpty(phaseAttrDOS)){ + codePhaseAttrMapper.deleteBatchIds(phaseAttrDOS.stream().map(CodePhaseAttr::getOid).collect(Collectors.toList())); + } + List<CodePhaseAttr> attrDOList = new ArrayList<>(); + + codeTemplatePhaseDTO.getAttributes().stream().forEach(attrDTO->{ + CodePhaseAttr attrDO = new CodePhaseAttr(); BeanUtilForVCI.copyPropertiesIgnoreCase(attrDTO,attrDO); attrDO.setOid(VciBaseUtil.getPk()); attrDO.setCodePhaseOid(codeTemplatePhaseEntityDO.getOid()); @@ -231,36 +284,19 @@ } /** - * 淇敼妯℃澘闃舵 - * @param codeTemplatePhaseDTO 妯℃澘闃舵鏁版嵁浼犺緭瀵硅薄 - * @return 鎵ц缁撴灉 - * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父 + * 妯℃澘灞炴�у垹闄ょ殑鏃跺�欒Е鍙� + * @param attrDOList 灞炴�х殑鏁版嵁瀵硅薄 + * @return 鍙楀奖鍝嶇殑鏁版嵁 */ @Override - @Transactional(rollbackFor = Exception.class) - public CodeTemplatePhaseEntityVO editSave(CodeTemplatePhaseDTO codeTemplatePhaseDTO) throws VciBaseException{ - VciBaseUtil.alertNotNull(codeTemplatePhaseDTO,"鏁版嵁瀵硅薄",codeTemplatePhaseDTO.getOid(),"妯℃澘闃舵涓婚敭",codeTemplatePhaseDTO.getAttributes(),"鍖呭惈鐨勫睘鎬�"); - //灏咲TO杞崲涓篋O - CodeTempphaseEntity codeTemplatePhaseEntityDO = selectByOid(codeTemplatePhaseDTO.getOid()); - revisionModelUtil.copyFromDTOIgnore(codeTemplatePhaseDTO, codeTemplatePhaseEntityDO); - //WebUtil.setPersistence(false); - codeTemplatePhaseMapper.updateById(codeTemplatePhaseEntityDO); - //鎶婁互鍓嶇殑鍒犻櫎 - List<CodePhaseattrEntity> phaseAttrDOS = listPhaseAttrDOByPhaseOid(codeTemplatePhaseEntityDO.getOid()); + public R codeTemplateAttrDeleteTrigger(List<CodeClassifyTemplateAttr> attrDOList){ + List<CodePhaseAttr> phaseAttrDOS =listLinkAttrDOByTemplateAttrDOS(attrDOList); + boolean resDeletePhaseAttr = false; if(!CollectionUtils.isEmpty(phaseAttrDOS)){ - codePhaseAttrMapper.deleteBatchIds(phaseAttrDOS.stream().map(CodePhaseattrEntity::getOid).collect(Collectors.toList())); + //灞炴�ц鍒犻櫎鐨勬椂鍊欙紝闃舵閲岄潰涔熶竴鏍疯琚垹闄� + resDeletePhaseAttr = codePhaseAttrMapper.deleteBatchIds(phaseAttrDOS.stream().map(CodePhaseAttr::getOid).collect(Collectors.toList())) > 0; } - List<CodePhaseattrEntity> attrDOList = new ArrayList<>(); - codeTemplatePhaseDTO.getAttributes().stream().forEach(attrDTO->{ - CodePhaseattrEntity attrDO = new CodePhaseattrEntity(); - BeanUtilForVCI.copyPropertiesIgnoreCase(attrDTO,attrDO); - attrDO.setOid(VciBaseUtil.getPk()); - attrDO.setCodePhaseOid(codeTemplatePhaseEntityDO.getOid()); - attrDOList.add(attrDO); - }); - codePhaseattrService.saveBatch(attrDOList); - //WebUtil.setPersistence(true); - return codeTemplatePhaseDO2VO(codeTemplatePhaseEntityDO); + return R.status(resDeletePhaseAttr); } /** @@ -273,9 +309,9 @@ @Transactional(rollbackFor = Exception.class) public R deleteCodeTemplatePhase(CodeTemplatePhaseDTO codeTemplatePhaseDTO) throws VciBaseException{ VciBaseUtil.alertNotNull(codeTemplatePhaseDTO,"妯℃澘闃舵鏁版嵁瀵硅薄",codeTemplatePhaseDTO.getOid(),"妯℃澘闃舵鐨勪富閿�"); - CodeTempphaseEntity codeTemplatePhaseEntityDO = selectByOid(codeTemplatePhaseDTO.getOid()); + CodeTemplatePhase codeTemplatePhaseEntityDO = selectByOid(codeTemplatePhaseDTO.getOid()); R baseResult = checkIsCanDeleteForDO(codeTemplatePhaseDTO, codeTemplatePhaseEntityDO); - if(!baseResult.isSuccess()) { + if(baseResult.isSuccess()) { }else{ return baseResult; } @@ -283,10 +319,10 @@ //WebUtil.setPersistence(false); boolean batchCBO = codeTemplatePhaseMapper.deleteById(codeTemplatePhaseEntityDO.getOid())>0; //闇�瑕佸垹闄ゅ睘鎬� - List<CodePhaseattrEntity> phaseAttrDOS = listPhaseAttrDOByPhaseOid(codeTemplatePhaseEntityDO.getOid()); + List<CodePhaseAttr> phaseAttrDOS = listPhaseAttrDOByPhaseOid(codeTemplatePhaseEntityDO.getOid()); boolean deleteCBO = false; if(!CollectionUtils.isEmpty(phaseAttrDOS)) { - deleteCBO = codePhaseAttrMapper.deleteBatchIds(phaseAttrDOS.stream().map(CodePhaseattrEntity::getOid).collect(Collectors.toList()))>0; + deleteCBO = codePhaseAttrMapper.deleteBatchIds(phaseAttrDOS.stream().map(CodePhaseAttr::getOid).collect(Collectors.toList()))>0; } //WebUtil.setPersistence(true); return (batchCBO || deleteCBO)?R.success(DELETE_SUCCESS):R.fail(DELETE_FAIL); @@ -299,7 +335,7 @@ * @throws VciBaseException 鍙傛暟涓虹┖锛屾暟鎹笉瀛樺湪鏃朵細鎶涘嚭寮傚父 */ @Override - public CodeTemplatePhaseEntityVO getObjectByOid(String oid) throws VciBaseException{ + public CodeTemplatePhaseVO getObjectByOid(String oid) throws VciBaseException{ return codeTemplatePhaseDO2VO(selectByOid(oid)); } @@ -310,10 +346,10 @@ * @throws VciBaseException 鏌ヨ鍑虹幇寮傚父鏃朵細鎶涘嚭 */ @Override - public Collection<CodeTemplatePhaseEntityVO> listCodeTemplatePhaseByOids(Collection<String> oidCollections) throws VciBaseException{ + public Collection<CodeTemplatePhaseVO> listCodeTemplatePhaseByOids(Collection<String> oidCollections) throws VciBaseException{ VciBaseUtil.alertNotNull(oidCollections,"鏁版嵁瀵硅薄涓婚敭闆嗗悎"); - List<CodeTempphaseEntity> codeTemplatePhaseEntityDOList = listCodeTemplatePhaseDOByOidCollections(oidCollections); - return codeTemplatePhaseDO2VOs(codeTemplatePhaseEntityDOList); + List<CodeTemplatePhase> codeTemplatePhaseEntityDOList = listCodeTemplatePhaseDOByOidCollections(oidCollections); + return CodeTemplatePhaseWapper.build().listVO(codeTemplatePhaseEntityDOList); } /** @@ -324,18 +360,11 @@ * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 */ @Override - public DataGrid<CodeTemplatePhaseEntityVO> refDataGridCodeTemplatePhase(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{ + public IPage<CodeTemplatePhaseVO> refDataGridCodeTemplatePhase(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{ if(conditionMap == null){ - conditionMap = new HashMap<String, String>(); + conditionMap = new HashMap<>(); } - CodeTemplatePhaseEntityVO codeTemplatePhaseVO = new CodeTemplatePhaseEntityVO(); - BeanMap beanMap = BeanMap.create(codeTemplatePhaseVO); - beanMap.putAll(conditionMap); - Query query = new Query(); - query.setSize(pageHelper.getLimit()); - query.setCurrent(pageHelper.getPage()); - - return gridCodeTemplatePhase(codeTemplatePhaseVO,query); + return gridCodeTemplatePhase(conditionMap,pageHelper); } /** @@ -346,22 +375,26 @@ * @return 灞炴�х殑淇℃伅 */ @Override - public DataGrid<CodeClassifyTemplateAttrVO> gridUnUsedAttribute(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException { + public IPage<CodeClassifyTemplateAttrVO> gridUnUsedAttribute(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException { if(conditionMap == null){ conditionMap = new HashMap<String, String>(); } if(!conditionMap.containsKey("classifyTemplateOid")){ - return new DataGrid<>("娌℃湁妯℃澘鐨勪富閿�"); + throw new VciBaseException("娌℃湁妯℃澘鐨勪富閿�"); } //闇�瑕佸垽鏂樁娈电殑涓婚敭鏄惁瀛樺湪 String codePhaseOid = conditionMap.getOrDefault("codePhaseOid", null); - LambdaQueryWrapper<CodeClassifyTemplateAttr> queryWrapper = null; + MPJLambdaWrapper<CodeClassifyTemplateAttr> queryWrapper = new MPJLambdaWrapper<>(); + queryWrapper.selectAll(CodeClassifyTemplateAttr.class) + .selectAs(CodeClstemplateEntity::getName,CodeClassifyTemplateAttr::getClassifyTemplateOidName) + .leftJoin(CodeClstemplateEntity.class, CodeClstemplateEntity::getOid, CodeClassifyTemplateAttr::getClassifyTemplateOid) + .eq(CodeClassifyTemplateAttr::getClassifyTemplateOid,conditionMap.getOrDefault("classifyTemplateOid",null)); if(StringUtils.isNotBlank(codePhaseOid)){ //鎺掗櫎闃舵涓婁娇鐢ㄧ殑 conditionMap.remove("codePhaseOid"); List<String> ids = commonsMapper.selectById("(select id from " + getPhaseAttrTable() + " where codePhaseOid ='" + codePhaseOid + "')"); - if(ids.size()<=1000){ - queryWrapper = Wrappers.<CodeClassifyTemplateAttr>query().lambda().notIn(CodeClassifyTemplateAttr::getId, ids); + if(ids.size()<1000){ + queryWrapper = queryWrapper.notIn(CodeClassifyTemplateAttr::getId, ids); }else { queryWrapper = MybatisParameterUtil.cutNotInParameter(queryWrapper,CodeClassifyTemplateAttr::getId,ids); } @@ -378,27 +411,29 @@ * @return 灞炴�х殑淇℃伅 */ @Override - public DataGrid<CodeClassifyTemplateAttrVO> gridUsedAttribute(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException { + public IPage<CodeClassifyTemplateAttrVO> gridUsedAttribute(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException { if(conditionMap == null){ conditionMap = new HashMap<String, String>(); } String codePhaseOid = conditionMap.getOrDefault("codePhaseOid", null); if(StringUtils.isBlank(codePhaseOid)){ - return new DataGrid<>(); + return new Page<>(); } conditionMap.remove("codePhaseOid"); - CodeTempphaseEntity phaseDO = selectByOid(codePhaseOid); + CodeTemplatePhase phaseDO = selectByOid(codePhaseOid); List<String> ids = commonsMapper.selectById("(select id from " + getPhaseAttrTable() + " where codePhaseOid ='" +codePhaseOid + "')"); - LambdaQueryWrapper<CodeClassifyTemplateAttr> queryWrapper = null; - // Wrappers.<CodeClassifyTemplateAttrVO>query() - // .in("id", ids) - if(ids.size()<=1000){ - queryWrapper = Wrappers.<CodeClassifyTemplateAttr>query().lambda().in(CodeClassifyTemplateAttr::getId, ids); + //杩欏効鏄釜杩炶〃鏌ヨ璇彞 + MPJLambdaWrapper<CodeClassifyTemplateAttr> mpjLambdaWrapper = new MPJLambdaWrapper<>(); + mpjLambdaWrapper.selectAll(CodeClassifyTemplateAttr.class) + .selectAs(CodeClstemplateEntity::getName,CodeClassifyTemplateAttr::getClassifyTemplateOidName) + .leftJoin(CodeClstemplateEntity.class,CodeClstemplateEntity::getOid, CodeClassifyTemplateAttr::getClassifyTemplateOid) + .eq(CodeClassifyTemplateAttr::getClassifyTemplateOid,phaseDO.getCodeClassifyTemplateOid()); + if(ids.size()<1000){ + mpjLambdaWrapper = mpjLambdaWrapper.in(CodeClassifyTemplateAttr::getId, ids); }else { - queryWrapper = MybatisParameterUtil.cutInParameter(queryWrapper,CodeClassifyTemplateAttr::getId,ids); + mpjLambdaWrapper = MybatisParameterUtil.cutInParameter(mpjLambdaWrapper,CodeClassifyTemplateAttr::getId,ids); } - queryWrapper.eq(CodeClassifyTemplateAttr::getClassifyTemplateOid,phaseDO.getCodeClassifyTemplateOid()); - return tempAttrService.gridCodeClassifyTemplateAttr(queryWrapper,pageHelper); + return tempAttrService.gridCodeClassifyTemplateAttr(mpjLambdaWrapper,pageHelper); } /** @@ -406,7 +441,20 @@ * @return 琛ㄥ悕 */ private String getPhaseAttrTable(){ - return VciBaseUtil.getTableName(MdmBtmTypeConstant.CODE_PHASE_ATTR_TABLENAME); + /**浠ュ墠VciQueryWrapperForDO.USER_TABLE_COMPATIBILITY鍦ㄥ惎鍔ㄦ椂鍒濆鍖栧�间负true鎵�浠ユ嫾鎺ュ嚭鏉ョ殑琛ㄥ悕鏄纭殑锛� + 鐜板湪鍥犱负鎼繃鏉ユ病鏈夎璧嬪�间负true鎵�浠ヨ〃鍚嶆嬁鍒扮殑鏄敊璇殑杩欏効鏆傛椂鍐欐 + **/ + //return VciBaseUtil.getTableName(MdmBtmTypeConstant.CODE_PHASE_ATTR_TABLENAME); + return "pl_"+MdmBtmTypeConstant.CODE_PHASE_ATTR_TABLENAME; + } + + /** + * 闃舵鐨勮〃鍚� + * @return 琛ㄥ悕 + */ + private String getPhaseTable(){ + //return VciBaseUtil.getTableName(MdmBtmTypeConstant.CODE_TEMPLATE_PHASE); + return "pl_"+MdmBtmTypeConstant.CODE_TEMPLATE_PHASE; } /** @@ -414,12 +462,12 @@ * @param oidCollections 涓婚敭鐨勯泦鍚� * @return 鏁版嵁瀵硅薄鍒楄〃 */ - private List<CodeTempphaseEntity> listCodeTemplatePhaseDOByOidCollections(Collection<String> oidCollections){ - List<CodeTempphaseEntity> codeTemplatePhaseEntityDOList = new ArrayList<CodeTempphaseEntity>(); + private List<CodeTemplatePhase> listCodeTemplatePhaseDOByOidCollections(Collection<String> oidCollections){ + List<CodeTemplatePhase> codeTemplatePhaseEntityDOList = new ArrayList<>(); if(!CollectionUtils.isEmpty(oidCollections)){ Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections); for(Collection<String> oids: oidCollectionsList){ - List<CodeTempphaseEntity> tempDOList = codeTemplatePhaseMapper.selectBatchIds(oids); + List<CodeTemplatePhase> tempDOList = codeTemplatePhaseMapper.selectBatchIds(oids); if(!CollectionUtils.isEmpty(tempDOList)){ codeTemplatePhaseEntityDOList.addAll(tempDOList); } @@ -434,10 +482,10 @@ * @param codeTemplatePhaseEntityDO 鏁版嵁搴撲腑鐨勬暟鎹璞� * @return success涓簍rue涓哄彲浠ュ垹闄わ紝false琛ㄧず鏈夋暟鎹紩鐢紝obj涓簍rue琛ㄧず鏈変笅绾� */ - private R checkIsCanDeleteForDO(CodeTemplatePhaseDTO codeTemplatePhaseDTO, CodeTempphaseEntity codeTemplatePhaseEntityDO) { - CodeTempphaseEntity tsDO = new CodeTempphaseEntity(); + private R checkIsCanDeleteForDO(CodeTemplatePhaseDTO codeTemplatePhaseDTO, CodeTemplatePhase codeTemplatePhaseEntityDO) { + CodeTemplatePhase tsDO = new CodeTemplatePhase(); BeanUtil.convert(codeTemplatePhaseDTO,tsDO); - if (checkTs(tsDO)) { + if (!checkTs(tsDO,codeTemplatePhaseEntityDO)) { return R.fail(TS_NOT_PROCESS); } if(!checkIsLinked(codeTemplatePhaseEntityDO.getOid())) { @@ -449,15 +497,13 @@ /** * 妫�鏌s - * @param tempDO + * @param codeTempphaseDO * @return */ - private boolean checkTs(CodeTempphaseEntity tempDO){ - LambdaQueryWrapper<CodeTempphaseEntity> wrapper = Wrappers.<CodeTempphaseEntity>query() - .lambda().eq(CodeTempphaseEntity::getOid,tempDO.getOid()).select(CodeTempphaseEntity::getTs); - long dbTs = codePhaseAttrMapper.selectById(wrapper).getTs().getTime(); - long currentTs = tempDO.getTs().getTime(); - if(dbTs == currentTs){ + private boolean checkTs(CodeTemplatePhase tempDO, CodeTemplatePhase codeTempphaseDO){ + Date dbTs = codeTempphaseDO.getTs(); + Date currentTs = tempDO.getTs(); + if(currentTs == null ? dbTs == null:currentTs.compareTo(dbTs)==0){ return true; } return false; @@ -478,12 +524,41 @@ * @param codePhaseOid 闃舵鐨勪富閿� * @return 鍖呭惈灞炴�х殑鏁版嵁瀵硅薄 */ - private List<CodePhaseattrEntity> listPhaseAttrDOByPhaseOid(String codePhaseOid){ + private List<CodePhaseAttr> listPhaseAttrDOByPhaseOid(String codePhaseOid){ if(StringUtils.isBlank(codePhaseOid)||StringUtils.isEmpty(codePhaseOid)){ return null; } - List<CodePhaseattrEntity> phaseAttrDOS = codePhaseAttrMapper.selectByPhasea(codePhaseOid); + List<CodePhaseAttr> phaseAttrDOS = codePhaseAttrMapper.selectByPhasea(codePhaseOid); return phaseAttrDOS; + } + + /** + * 浣跨敤妯℃澘鐨勫睘鎬ц幏鍙栭樁娈典腑鍖呭惈鐨勫睘鎬у唴瀹� + * @param attrDOList 灞炴�х殑鏁版嵁瀵硅薄 + * @return 闃舵閲岀殑灞炴�ф暟鎹璞� + */ + private List<CodePhaseAttr> listLinkAttrDOByTemplateAttrDOS(List<CodeClassifyTemplateAttr> attrDOList){ + if(!CollectionUtils.isEmpty(attrDOList)) { + //鏌ヨ杩欎釜妯℃澘閲屽寘鍚殑鎵�鏈夐樁娈电殑杩欎簺灞炴�� + //鍥犱负oracle閲岃〃鐨勫瓧娈典笉鑳借秴杩�1000涓紝鎵�浠ユ垜浠繖閲岄粯璁ゅ睘鎬т釜鏁版槸灏忎簬1000鐨勶紱 + List<String> oids = commonsMapper.selectById("select oid from " + getPhaseTable() + " where codeClassifyTemplateOid='" + attrDOList.get(0).getClassifyTemplateOid() + "'"); + LambdaQueryWrapper<CodePhaseAttr> queryWrapper = new LambdaQueryWrapper<>(); + if(oids.size()<1000){ + queryWrapper.in(CodePhaseAttr::getCodePhaseOid,oids); + }else { + MybatisParameterUtil.cutInParameter(queryWrapper,CodePhaseAttr::getCodePhaseOid,oids); + } + if(attrDOList.size()<1000){ + queryWrapper.in(CodePhaseAttr::getId,VciBaseUtil.toInSql(attrDOList.stream().map(CodeClassifyTemplateAttr::getId).collect(Collectors.toList()).toArray(new String[0]))); + }else { + MybatisParameterUtil.cutInParameter(queryWrapper,CodePhaseAttr::getId,attrDOList.stream().map(CodeClassifyTemplateAttr::getId).collect(Collectors.toList())); + } + //conditionMap.put("codePhaseOid", QueryOptionConstant.IN + "(select oid from " + getPhaseTable() + " where codeClassifyTemplateOid='" + attrDOList.get(0).getClassifyTemplateOid() + "')"); + //conditionMap.put("id", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(attrDOList.stream().map(CodeClassifyTemplateAttr::getId).collect(Collectors.toList()).toArray(new String[0])) + ")"); + return codePhaseAttrMapper.selectList(queryWrapper); + }else{ + return new ArrayList<>(); + } } /** @@ -492,9 +567,9 @@ * @return 鏁版嵁瀵硅薄 * @throws VciBaseException 鍙傛暟涓虹┖锛屽苟涓旀暟鎹笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父 */ - private CodeTempphaseEntity selectByOid(String oid) throws VciBaseException{ + private CodeTemplatePhase selectByOid(String oid) throws VciBaseException{ VciBaseUtil.alertNotNull(oid,"涓婚敭"); - CodeTempphaseEntity codeTemplatePhaseEntityDO = codeTemplatePhaseMapper.selectById(oid.trim()); + CodeTemplatePhase codeTemplatePhaseEntityDO = codeTemplatePhaseMapper.selectById(oid.trim()); if(codeTemplatePhaseEntityDO == null || StringUtils.isBlank(codeTemplatePhaseEntityDO.getOid())){ throw new VciBaseException(DATA_OID_NOT_EXIST); } -- Gitblit v1.9.3