From 76293d27f60ca77343e77d35bfbfae97cdc6035f Mon Sep 17 00:00:00 2001 From: lihang <lihang@vci-tech.com> Date: 星期三, 24 五月 2023 18:34:37 +0800 Subject: [PATCH] Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreMetaAttrServiceImpl.java | 13 + Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreAttrMappingService.java | 25 +++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreAttrRangeService.java | 16 ++ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingPreAttrMapping.java | 5 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreAttrRangeServiceImpl.java | 19 ++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingPreAttrMappingWrapper.java | 46 +++++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreAttrMappingServiceImpl.java | 173 +++++++++++++++++++++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreMetaAttrService.java | 13 + Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingPreAttrRangeWrapper.java | 45 +++++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingPreApplyCodeController.java | 82 ++++++++++ 10 files changed, 429 insertions(+), 8 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingPreAttrMapping.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingPreAttrMapping.java index 666c20e..1372480 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingPreAttrMapping.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingPreAttrMapping.java @@ -67,11 +67,6 @@ */ @ApiModelProperty(value = "妯℃澘瑙嗗浘鐨刼id") private String viewModeId; - /*** - * 妯℃澘鍚嶇О - */ - @ApiModelProperty(value = "妯℃澘鍚嶇О") - private String viewModeName; /*** * 鐩爣灞炴�у唴閮ㄥ悕绉� diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingPreApplyCodeController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingPreApplyCodeController.java new file mode 100644 index 0000000..6ddef1b --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingPreApplyCodeController.java @@ -0,0 +1,82 @@ +package com.vci.ubcs.code.controller; + + +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.vci.ubcs.code.service.IDockingPreAttrMappingService; +import com.vci.ubcs.code.service.IDockingPreAttrRangeService; +import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrMappingVO; +import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrRangeVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springblade.core.tool.api.R; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; + +/** + * 缂栫爜淇℃伅 鎺у埗鍣� + * + * @author xiejun + * @since 2023-05-23 + */ +@RestController +@AllArgsConstructor +@RequestMapping("ubcs-code/DockingPreApplyCode") +@Api(value = "闆嗗洟灞炴�ф槧灏勯厤缃�", tags = "闆嗗洟灞炴�ф槧灏勯厤缃帴鍙�") +public class DockingPreApplyCodeController { + /** + * 闆嗗洟灞炴�ф槧灏勯厤缃睘鎬� + */ + private final IDockingPreAttrMappingService dockingPreAttrMappingService; + /*** + * 灞炴�ф灇涓捐寖鍥存湇鍔� + */ + + private final IDockingPreAttrRangeService dockingPreAttrRangeService; + + /** + * 鏍规嵁涓绘暟鎹紪鐮乷id鑾峰彇闆嗗洟灞炴�ф槧灏勪俊鎭� + * @param codeClassifyId 涓婚敭 + * @return 涓绘暟鎹紪鐮佽鍒欐樉绀哄璞� + */ + @GetMapping("/gridAttrMapping") + @ApiOperationSupport(order = 8) + @ApiOperation(value = "鍒嗙被涓婚敭鑾峰彇涓庨泦鍥㈡ā鍨嬪睘鎬ф槧灏勫叧绯�", notes = "浼犲叆codeClassifyId") + public R getDockingAttrMappingsByCodeClassId(String codeClassifyId){ + List<DockingPreAttrMappingVO> dockingPreAttrMappingVOList=dockingPreAttrMappingService.getdockingAttrMappingsByCodeclassId(codeClassifyId); + return R.data(dockingPreAttrMappingVOList); + } + + /** + * 鏍规嵁闆嗗洟灞炴�d鑾峰彇灞炴�ф灇涓捐寖鍥� + * @param meatId 涓婚敭 + * @return + */ + @GetMapping("/gridAttrRanges") + @ApiOperationSupport(order = 8) + @ApiOperation(value = "鏍规嵁灞炴�d鑾峰彇灞炴�ф灇涓捐寖鍥�", notes = "浼犲叆") + public R getDockingPreAttrRangesByMetaId(String meatId){ + List<DockingPreAttrRangeVO> dockingPreAttrRangeVOList=dockingPreAttrRangeService.getDockingPreAttrRangesByMetaId(meatId); + return R.data(dockingPreAttrRangeVOList); + } + + /** + * 淇濆瓨灞炴�ф槧灏勯厤缃粍浠� + * @param dockingPreAttrMappingVOList 灞炴�ф槧灏勯厤缃暟鎹紶杈撳璞� + * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞� + */ + @PostMapping( "/batchAddSave") + public R batchSave(@Valid @RequestBody List<DockingPreAttrMappingVO> dockingPreAttrMappingVOList){ + List<DockingPreAttrMappingVO> dockingPreAttrRangeVOS=new ArrayList<>(); + try { + dockingPreAttrRangeVOS = dockingPreAttrMappingService.batchAddSave(dockingPreAttrMappingVOList); + }catch (Exception e){ + return R.fail("闆嗗洟闆嗘垚灞炴�ф槧灏勯厤缃繚瀛樺け璐ワ細"+e.getMessage()); + } + return R.data(dockingPreAttrRangeVOS); + } + +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreAttrMappingService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreAttrMappingService.java index 10c9951..fd7d7f4 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreAttrMappingService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreAttrMappingService.java @@ -1,11 +1,36 @@ package com.vci.ubcs.code.service; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.extension.service.IService; import com.vci.ubcs.code.entity.DockingPreAttrMapping; +import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrMappingVO; +import java.util.List; + /** * 闆嗗洟闆嗘垚閰嶇疆鏈嶅姟 * @author xiej * @date 2023-05-17 */ public interface IDockingPreAttrMappingService extends IService<DockingPreAttrMapping> { + + /*** + * 鏍规嵁涓绘暟鎹垎绫讳富閿幏鍙栧垎绫讳俊鎭厤缃� + * @param codeClassifyId + * @return + */ + List<DockingPreAttrMappingVO> getdockingAttrMappingsByCodeclassId(String codeClassifyId); + + /** + * 浣跨敤鏌ヨ灏佽鍣ㄦ潵鏌ヨ + * @param wrapper 鏌ヨ灏佽鍣� + * @return 鏁版嵁瀵硅薄 + */ + List<DockingPreAttrMapping> selectByWrapper(Wrapper wrapper); + + /** + * 淇濆瓨灞炴�ф槧灏勯厤缃粍浠� + * @param dockingPreAttrMappingDTOS 灞炴�ф槧灏勯厤缃暟鎹紶杈撳璞� + * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞� + */ + public List<DockingPreAttrMappingVO> batchAddSave(List<DockingPreAttrMappingVO> dockingPreAttrMappingDTOS)throws Exception; } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreAttrRangeService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreAttrRangeService.java index aa5f397..38bc9e8 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreAttrRangeService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreAttrRangeService.java @@ -1,7 +1,23 @@ package com.vci.ubcs.code.service; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.extension.service.IService; import com.vci.ubcs.code.entity.DockingPreAttrRange; +import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrRangeVO; + +import java.util.List; public interface IDockingPreAttrRangeService extends IService<DockingPreAttrRange> { + /*** + * 鏍规嵁闆嗗洟灞炴�d鑾峰彇鍙栧�艰寖鍥� + * @return + */ + List<DockingPreAttrRangeVO> getDockingPreAttrRangesByMetaId(String meatId); + + /** + * 浣跨敤鏌ヨ灏佽鍣ㄦ潵鏌ヨ + * @param wrapper 鏌ヨ灏佽鍣� + * @return 鏁版嵁瀵硅薄 + */ + List<DockingPreAttrRange> selectByWrapper(Wrapper wrapper); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreMetaAttrService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreMetaAttrService.java index 1ce7ec9..dd623d1 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreMetaAttrService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingPreMetaAttrService.java @@ -1,7 +1,10 @@ package com.vci.ubcs.code.service; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.extension.service.IService; import com.vci.ubcs.code.entity.DockingPreMetaAttr; + +import java.util.List; /*** * 闆嗗洟灞炴�ф湇鍔� @@ -9,4 +12,14 @@ * @date 2023-05-23 */ public interface IDockingPreMetaAttrService extends IService<DockingPreMetaAttr> { + + + + /*** + * 鏋勯�犲櫒鏌ヨ鏂瑰紡 + * @param wrapper 鏌ヨ灏佽鍣� + * @return + */ + + public List<DockingPreMetaAttr> selectByWrapper(Wrapper wrapper); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreAttrMappingServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreAttrMappingServiceImpl.java index d76f98b..2bff19f 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreAttrMappingServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreAttrMappingServiceImpl.java @@ -1,10 +1,29 @@ package com.vci.ubcs.code.service.impl; - +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vci.ubcs.code.entity.DockingPreAttrMapping; +import com.vci.ubcs.code.entity.DockingPreAttrRange; +import com.vci.ubcs.code.entity.DockingPreMetaAttr; import com.vci.ubcs.code.mapper.DockingPreAttrMappingMapper; import com.vci.ubcs.code.service.IDockingPreAttrMappingService; +import com.vci.ubcs.code.service.IDockingPreAttrRangeService; +import com.vci.ubcs.code.service.IDockingPreMetaAttrService; +import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrMappingVO; +import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrRangeVO; +import com.vci.ubcs.code.wrapper.DockingPreAttrMappingWrapper; +import com.vci.ubcs.code.wrapper.DockingPreAttrRangeWrapper; +import com.vci.ubcs.starter.exception.VciBaseException; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /*** *闆嗗洟灞炴�ф槧灏勬湇鍔� @@ -13,4 +32,156 @@ */ @Service public class DockingPreAttrMappingServiceImpl extends ServiceImpl<DockingPreAttrMappingMapper, DockingPreAttrMapping> implements IDockingPreAttrMappingService { + /*** + * 闆嗗洟鍒嗙被灞炴�у睘鎬ф槧灏勯厤缃湇鍔� + */ + @Autowired(required = false) + DockingPreAttrMappingMapper dockingPreAttrMappingMapper; + /*** + * 闆嗗洟灞炴�ф湇鍔� + */ + @Autowired(required = false) + IDockingPreMetaAttrService dockingPreMetaAttrService; + /*** + * 灞炴�у彇鍊艰寖鍥存湇鍔� + */ + @Autowired(required = false) + IDockingPreAttrRangeService dockingPreAttrRangeService; + /*** + * 鏍规嵁涓绘暟鎹垎绫讳富閿幏鍙栧垎绫讳俊鎭厤缃� + * @param codeClassifyId + * @return + */ + @Override + public List<DockingPreAttrMappingVO> getdockingAttrMappingsByCodeclassId(String codeClassifyId) { + //棣栧厛鑾峰彇鍒嗙被妯℃澘灞炴�э紝鐒跺悗涓庡睘鎬ч厤缃潗姣旇緝锛屼互闃茶鏈夊鍒犲睘鎬х殑鍙兘 + List<DockingPreMetaAttr> dockingPreMetaAttrList= dockingPreMetaAttrService.selectByWrapper(Wrappers.<DockingPreMetaAttr>query().lambda().eq(DockingPreMetaAttr::getSourceClassifyId,codeClassifyId)); + List<DockingPreAttrMapping> dockingPreAttrMappings=this.selectByWrapper(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getSourceClassifyId, codeClassifyId)); + Map<String/**灞炴�т富閿�**/, DockingPreAttrMapping> dockingPreAttrMappingMap = dockingPreAttrMappings.stream().filter(cbo -> cbo != null).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getMetaListId(), t -> t)); + + List<DockingPreAttrMapping> newDockingPreAttrMappingList=new ArrayList<>(); + dockingPreMetaAttrList.stream().forEach(dockingPreMetaAttr -> { + String attrOid=dockingPreMetaAttr.getOid(); + DockingPreAttrMapping dockingPreAttrMapping=new DockingPreAttrMapping(); + if(dockingPreAttrMappingMap.containsKey(attrOid)){ + dockingPreAttrMapping= dockingPreAttrMappingMap.get(attrOid); + }else{ + dockingPreAttrMapping.setMetaListId(dockingPreMetaAttr.getOid());//灞炴�т富閿� + dockingPreAttrMapping.setSourceAttrKey(dockingPreMetaAttr.getEnglishName());//鑻辨枃鍚嶇О + dockingPreAttrMapping.setSourceAttrName(dockingPreMetaAttr.getChineseName());//涓枃鍚嶇О + dockingPreAttrMapping.setSourceClassifyId(dockingPreMetaAttr.getSourceClassifyId());//闆嗗洟鍒嗙被oid + dockingPreAttrMapping.setSourceClassifyName("");//鍒嗙被鍚嶇О + dockingPreAttrMapping.setViewModeId(dockingPreMetaAttr.getViewModelId());//妯″瀷瑙嗗浘id + dockingPreAttrMapping.setViewModelName("");//鍒嗙被妯″瀷鍚嶇О + dockingPreAttrMapping.setViewName("");//鍒嗙被妯″瀷鍚嶇О + + } + newDockingPreAttrMappingList.add(dockingPreAttrMapping); + }); + return dockingPreAttrMappingDO2VOS(dockingPreAttrMappings,false); + } + + /*** + * 鏋勯�犲櫒鏌ヨ鏂瑰紡 + * @param wrapper 鏌ヨ灏佽鍣� + * @return + */ + @Override + public List<DockingPreAttrMapping> selectByWrapper(Wrapper wrapper) { + return dockingPreAttrMappingMapper.selectList(wrapper); + } + + /**** + * 闆嗗洟灞炴�ф槧灏勯厤缃繚瀛� + * @param dockingPreAttrMappingVOList + * @return + * @throws VciBaseException + */ + @Override + @Transactional(rollbackFor = Exception.class) + public List<DockingPreAttrMappingVO> batchAddSave(List<DockingPreAttrMappingVO> dockingPreAttrMappingVOList) throws Exception { + if(org.springframework.util.CollectionUtils.isEmpty(dockingPreAttrMappingVOList)){ + return new ArrayList<>(); + } + /** + * 1.浼犻�掕繃鏉ョ殑鏈夊彲鑳戒富鏁版嵁妯℃澘鏂板灞炴�э紝杩欐牱鐨勯渶瑕佹坊鍔狅紝涔熸湁鍙兘鍒犻櫎鐨勫睘鎬э紝杩欐牱鐨勬槧灏勯渶瑕佸垹闄� + * 涔熸湁鏇存柊鐨勮繖鏍峰垯鏇存柊 + */ + List<DockingPreAttrMapping> newDockingPreAttrMapping=new ArrayList<>(); + List<String>appingConfigOidList=new ArrayList<>(); + List<String>attrIdList=new ArrayList<>(); + List<String> attributeOidList=new ArrayList<>(); + List<DockingPreAttrRange> newDockingPreAttrRangeList=new ArrayList<>(); + List<DockingPreAttrRangeVO> newDockingPreAttrRangeVOList=new ArrayList<>(); + dockingPreAttrMappingVOList.stream().forEach(dockingPreAttrMappingVO -> { + List<DockingPreAttrRangeVO>dockingPreAttrRangeVOList=dockingPreAttrMappingVO.getDockingPreAttrRangeVoList(); + appingConfigOidList.add(dockingPreAttrMappingVO.getOid()); + if(!CollectionUtils.isEmpty(dockingPreAttrRangeVOList)) { + attrIdList.add(dockingPreAttrMappingVO.getMetaListId()); + newDockingPreAttrRangeVOList.addAll(dockingPreAttrRangeVOList); + } + }); + //灏嗗睘鎬у彇鍊艰寖鍥磋浆鎴愭暟鎹寔涔呭眰瀵硅薄 + newDockingPreAttrRangeList=DockingPreAttrRangeWrapper.build().voentitys(newDockingPreAttrRangeVOList); + //灏嗗睘鎬ф槧灏勯厤缃俊鎭浆鎹负闇�瑕佹暟鎹寔涔呭眰淇濆瓨鐨勫璞� + newDockingPreAttrMapping=DockingPreAttrMappingWrapper.build().voentitys(dockingPreAttrMappingVOList); + + List<DockingPreAttrRange> oldDockingPreAttrRangeList=new ArrayList<>(); + if(!org.springframework.util.CollectionUtils.isEmpty(attrIdList)) { + //鑾峰彇瀛樺湪鐨勫睘鎬у彇鍊艰寖鍥�. + oldDockingPreAttrRangeList = dockingPreAttrRangeService.selectByWrapper(Wrappers.<DockingPreAttrRange>query().lambda().in(DockingPreAttrRange::getMetaListId,attrIdList)); + } + //鑾峰彇瀛樺湪鐨勫睘鎬ф槧灏�. + List<DockingPreAttrMapping> oldDataAttrMapping = dockingPreAttrMappingMapper.selectList(Wrappers.<DockingPreAttrMapping>query().lambda().in(DockingPreAttrMapping::getOid,appingConfigOidList)); + + Map<String/**oid**/,DockingPreAttrMapping/**灞炴�у璞�**/> allSaveAttrMappingMap = newDockingPreAttrMapping.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t,(o1, o2)->o2)); + Map<String/**oid**/,DockingPreAttrMapping/**瀵硅薄**/> oldAttrMappingMap =oldDataAttrMapping.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t,(o1, o2)->o2)); + //闇�瑕佸垹闄ょ殑灞炴�ф槧灏� + List<String> deleteIdList=new ArrayList<>(); + oldDataAttrMapping.stream().forEach(cbo -> { + String oid =cbo.getOid(); + if(!allSaveAttrMappingMap.containsKey(oid)){ + deleteIdList.add(oid); + } + }); + this.removeBatchByIds(deleteIdList);//鍒犻櫎宸茬粡涓㈡帀鐨� + this.saveOrUpdateBatch(newDockingPreAttrMapping);//娣诲姞鏇存柊鏂扮殑閰嶇疆淇℃伅 + + //鍙栧�艰寖鍥村鐞� + if(!CollectionUtils.isEmpty(newDockingPreAttrRangeList)) { + Map<String/**oid**/, DockingPreAttrRange/**灞炴�у璞�**/> allSaveAttrAttrRangeDOMap =newDockingPreAttrRangeList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t, (o1, o2) -> o2)); + Map<String/**oid**/, DockingPreAttrRange/**瀵硅薄**/> oldSaveAttrAttrRangeDOMap = oldDockingPreAttrRangeList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t, (o1, o2) -> o2)); + + //闇�瑕佸垹闄ょ殑灞炴�у彇鍊艰寖鍥� + List<String> deleteRangeIdList = new ArrayList<>(); + oldDockingPreAttrRangeList.stream().forEach(cbo -> { + String oid = cbo.getOid(); + if (!allSaveAttrAttrRangeDOMap.containsKey(oid)) { + deleteRangeIdList.add(oid); + } + }); + dockingPreAttrRangeService.removeBatchByIds(deleteIdList);//鍒犻櫎宸茬粡涓㈡帀鐨� + dockingPreAttrRangeService.saveOrUpdateBatch(newDockingPreAttrRangeList);//娣诲姞鏇存柊鏂扮殑閰嶇疆淇℃伅 + } + return dockingPreAttrMappingVOList; + } + + /*** + * 瀵硅薄杞崲 + * @param dockingPreAttrMappings + * @return + */ + private List<DockingPreAttrMappingVO> dockingPreAttrMappingDO2VOS(Collection<DockingPreAttrMapping> dockingPreAttrMappings,boolean contain) { + List<DockingPreAttrMappingVO> dockingPreAttrMappingVOList=new ArrayList<>(); + dockingPreAttrMappingVOList=DockingPreAttrMappingWrapper.build().entityVOs(dockingPreAttrMappings); + if(CollectionUtils.isEmpty(dockingPreAttrMappingVOList)){ + dockingPreAttrMappingVOList.stream().distinct().forEach(dockingPreAttrMappingVO -> { + if(contain) { + List<DockingPreAttrRangeVO> dockingPreAttrRangeVOList= dockingPreAttrRangeService.getDockingPreAttrRangesByMetaId(dockingPreAttrMappingVO.getMetaListId()); + dockingPreAttrMappingVO.setDockingPreAttrRangeVoList(dockingPreAttrRangeVOList); + } + }); + } + return dockingPreAttrMappingVOList; + } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreAttrRangeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreAttrRangeServiceImpl.java index dc062bc..6f67a30 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreAttrRangeServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreAttrRangeServiceImpl.java @@ -1,11 +1,17 @@ package com.vci.ubcs.code.service.impl; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vci.ubcs.code.entity.DockingPreAttrRange; import com.vci.ubcs.code.mapper.DockingPreAttrRangeMapper; import com.vci.ubcs.code.service.IDockingPreAttrRangeService; +import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrRangeVO; +import com.vci.ubcs.code.wrapper.DockingPreAttrRangeWrapper; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; /*** *闆嗗洟灞炴�у彇鍊艰寖鍥存湇鍔� @@ -14,4 +20,17 @@ */ @Service public class DockingPreAttrRangeServiceImpl extends ServiceImpl<DockingPreAttrRangeMapper, DockingPreAttrRange> implements IDockingPreAttrRangeService { + @Autowired(required = false) + DockingPreAttrRangeMapper dockingPreAttrRangeMapper; + @Override + public List<DockingPreAttrRangeVO> getDockingPreAttrRangesByMetaId(String meatId) { + List<DockingPreAttrRange> dockingPreAttrMappings=this.selectByWrapper(Wrappers.<DockingPreAttrRange>query().lambda().eq(DockingPreAttrRange::getMetaListId, meatId)); + return DockingPreAttrRangeWrapper.build().entityVOs(dockingPreAttrMappings); + } + + @Override + public List<DockingPreAttrRange> selectByWrapper(Wrapper wrapper) { + return dockingPreAttrRangeMapper.selectList(wrapper); + } + } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreMetaAttrServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreMetaAttrServiceImpl.java index 71f79a5..167036f 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreMetaAttrServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreMetaAttrServiceImpl.java @@ -1,10 +1,15 @@ package com.vci.ubcs.code.service.impl; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.vci.ubcs.code.entity.DockingPreAttrMapping; import com.vci.ubcs.code.entity.DockingPreMetaAttr; import com.vci.ubcs.code.mapper.DockingPreMetaAttrMapper; import com.vci.ubcs.code.service.IDockingPreMetaAttrService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.List; /*** * 闆嗗洟灞炴�ф湇鍔� @@ -13,4 +18,12 @@ */ @Service public class DockingPreMetaAttrServiceImpl extends ServiceImpl<DockingPreMetaAttrMapper, DockingPreMetaAttr> implements IDockingPreMetaAttrService { + + @Autowired(required = false) + DockingPreMetaAttrMapper dockingPreMetaAttrMapper; + + @Override + public List<DockingPreMetaAttr> selectByWrapper(Wrapper wrapper) { + return dockingPreMetaAttrMapper.selectList(wrapper); + } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingPreAttrMappingWrapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingPreAttrMappingWrapper.java index e4bb278..4db0b71 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingPreAttrMappingWrapper.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingPreAttrMappingWrapper.java @@ -1,11 +1,16 @@ package com.vci.ubcs.code.wrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.vci.ubcs.code.entity.DockingPreAttrMapping; -import com.vci.ubcs.code.vo.pagemodel.DockingLogeVO; +import com.vci.ubcs.code.entity.DockingPreAttrRange; import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrMappingVO; +import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrRangeVO; import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.tool.utils.BeanUtil; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; import java.util.Objects; /** *闆嗗洟缂栫爜闆嗘垚灞炴�ф槧灏勯厤缃寘瑁呯被 @@ -14,9 +19,48 @@ * @since 2023-05-23 */ public class DockingPreAttrMappingWrapper extends BaseEntityWrapper<DockingPreAttrMapping, DockingPreAttrMappingVO> { + public static DockingPreAttrMappingWrapper build() { + return new DockingPreAttrMappingWrapper(); + } + @Override public DockingPreAttrMappingVO entityVO(DockingPreAttrMapping entity) { DockingPreAttrMappingVO dockingPreAttrMappingVO = Objects.requireNonNull(BeanUtil.copy(entity, DockingPreAttrMappingVO.class)); return dockingPreAttrMappingVO; } + + /*** + * 鏁扮粍瀵硅薄杞崲 + * @param dockingPreAttrMappings + * @return + */ + public List<DockingPreAttrMappingVO> entityVOs(Collection<DockingPreAttrMapping> dockingPreAttrMappings) { + List<DockingPreAttrMappingVO> dockingPreAttrMappingVOList=new ArrayList<>(); + if(!CollectionUtils.isEmpty(dockingPreAttrMappings)) { + dockingPreAttrMappings.stream().forEach(dockingPreAttrMapping -> { + dockingPreAttrMappingVOList.add(entityVO(dockingPreAttrMapping)); + }); + } + return dockingPreAttrMappingVOList; + } + + /*** + * 鏁扮粍瀵硅薄杞崲 + * @param dockingPreAttrMappingVOS + * @return + */ + public List<DockingPreAttrMapping> voentitys(Collection<DockingPreAttrMappingVO> dockingPreAttrMappingVOS) { + List<DockingPreAttrMapping> dockingPreAttrMappingList=new ArrayList<>(); + if(!CollectionUtils.isEmpty(dockingPreAttrMappingVOS)) { + dockingPreAttrMappingVOS.stream().forEach(dockingPreAttrMappingVO -> { + dockingPreAttrMappingList.add(voentity(dockingPreAttrMappingVO)); + }); + } + return dockingPreAttrMappingList; + } + + public DockingPreAttrMapping voentity( DockingPreAttrMappingVO vo) { + DockingPreAttrMapping dockingPreAttrMapping = Objects.requireNonNull(BeanUtil.copy(vo, DockingPreAttrMapping.class)); + return dockingPreAttrMapping; + } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingPreAttrRangeWrapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingPreAttrRangeWrapper.java index 53d00d9..0df3141 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingPreAttrRangeWrapper.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingPreAttrRangeWrapper.java @@ -1,5 +1,6 @@ package com.vci.ubcs.code.wrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.vci.ubcs.code.entity.DockingPreAttrMapping; import com.vci.ubcs.code.entity.DockingPreAttrRange; import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrMappingVO; @@ -8,6 +9,9 @@ import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.tool.utils.BeanUtil; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; import java.util.Objects; /** *闆嗗洟缂栫爜鍒嗙被妯″瀷瑙嗗浘灞炴�у彇鍊艰寖鍥村寘瑁呯被 @@ -16,10 +20,49 @@ * @since 2023-05-23 */ public class DockingPreAttrRangeWrapper extends BaseEntityWrapper<DockingPreAttrRange, DockingPreAttrRangeVO> { - + public static DockingPreAttrRangeWrapper build() { + return new DockingPreAttrRangeWrapper(); + } @Override public DockingPreAttrRangeVO entityVO(DockingPreAttrRange entity) { DockingPreAttrRangeVO dockingPreAttrRangeVO = Objects.requireNonNull(BeanUtil.copy(entity, DockingPreAttrRangeVO.class)); return dockingPreAttrRangeVO; } + + + /*** + * 鏁扮粍瀵硅薄杞崲 + * @param dockingPreAttrRanges + * @return + */ + public List<DockingPreAttrRangeVO> entityVOs(Collection<DockingPreAttrRange> dockingPreAttrRanges) { + List<DockingPreAttrRangeVO> dockingPreAttrRangeVOList=new ArrayList<>(); + if(!CollectionUtils.isEmpty(dockingPreAttrRanges)) { + dockingPreAttrRanges.stream().forEach(dockingPreAttrRange -> { + dockingPreAttrRangeVOList.add(entityVO(dockingPreAttrRange)); + }); + } + return dockingPreAttrRangeVOList; + } + + /*** + * 鏁扮粍瀵硅薄杞崲 + * @param dockingPreAttrRangeVos + * @return + */ + public List<DockingPreAttrRange> voentitys(Collection<DockingPreAttrRangeVO> dockingPreAttrRangeVos) { + List<DockingPreAttrRange> dockingPreAttrRangeList=new ArrayList<>(); + if(!CollectionUtils.isEmpty(dockingPreAttrRangeVos)) { + dockingPreAttrRangeVos.stream().forEach(dockingPreAttrRangeVO -> { + dockingPreAttrRangeList.add(voentity(dockingPreAttrRangeVO)); + }); + } + return dockingPreAttrRangeList; + } + + public DockingPreAttrRange voentity( DockingPreAttrRangeVO vo) { + DockingPreAttrRange dockingPreAttrRange = Objects.requireNonNull(BeanUtil.copy(vo, DockingPreAttrRange.class)); + return dockingPreAttrRange; + } + } -- Gitblit v1.9.3