From 087511862a295eda0cf808a92f2ed2df348d54ff Mon Sep 17 00:00:00 2001 From: fujunling <2984387807@qq.com> Date: 星期五, 26 五月 2023 19:00:23 +0800 Subject: [PATCH] 动态表单 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreClassifyServiceImpl.java | 91 ++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 85 insertions(+), 6 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreClassifyServiceImpl.java index 849557e..c2ca759 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreClassifyServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreClassifyServiceImpl.java @@ -1,17 +1,26 @@ package com.vci.ubcs.code.service.impl; -import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.vci.ubcs.code.entity.DockingPreAttrRange; import com.vci.ubcs.code.entity.DockingPreClassify; +import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus; import com.vci.ubcs.code.mapper.DockingPreClassifyMapper; import com.vci.ubcs.code.service.IDockingPreClassifyService; +import com.vci.ubcs.code.service.IDockingPreViewModelService; +import com.vci.ubcs.code.vo.pagemodel.DockingPreClassifyVO; +import com.vci.ubcs.code.vo.pagemodel.DockingPreViewModelVO; +import com.vci.ubcs.code.wrapper.DockingPreClassifyWrapper; +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.web.pagemodel.Tree; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import java.util.Collection; -import java.util.Map; -import java.util.function.Function; +import javax.annotation.Resource; +import java.util.*; + +import static com.vci.ubcs.code.constant.MdmBtmTypeConstant.CODE_CLASSIFY_OID_FIELD; +import static com.vci.ubcs.code.service.impl.CodeClassifyServiceImpl.PARENT_FIELD_NAME; /** * 闆嗗洟鍒嗙被涓氬姟鏈嶅姟 @@ -19,7 +28,77 @@ * @date 2023-05-23 */ @Service +@Slf4j public class DockingPreClassifyServiceImpl extends ServiceImpl<DockingPreClassifyMapper, DockingPreClassify> implements IDockingPreClassifyService { + /*** + * 闆嗗洟鍒嗙被灞炴�� + */ + @Resource + private DockingPreClassifyMapper dockingPreClassifyMapper; + /*** + * 闆嗗洟鍒嗙被灞炴�� + */ + @Resource + private IDockingPreViewModelService dockingPreViewModelService; + /** + * 瀵硅薄鐨勬搷浣� + */ + @Resource + private RevisionModelUtil revisionModelUtil; + /*** + * 闆嗗洟鍒嗙被鏍戝璞℃煡 + *@param treeQueryObject 闆嗗洟鍒嗙被鏌ヨ瀵硅薄 + *@return 杩斿洖鍒嗙被鏍戝璞� + */ + @Override + public List<Tree> treeCompanyGroupClassify(TreeQueryObject treeQueryObject) { + log.info("鑾峰彇闆嗗洟鍒嗙被鏍憇tart..."); + Map<String,String> conditionMap= treeQueryObject.getConditionMap(); + TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME.toLowerCase(Locale.ROOT)); + treeWrapperOptions.copyFromTreeQuery(treeQueryObject); + List<DockingPreClassifyVO> dockingPreClassifyVOS= getCompanyGourpClassByParentId(treeQueryObject.getParentOid(),true); + List<Tree> tree= revisionModelUtil.doList2Trees(dockingPreClassifyVOS,treeWrapperOptions,(DockingPreClassifyVO s) ->{ + //鍙互鍦ㄨ繖閲屽鐞嗘爲鑺傜偣鐨勬樉绀� + return s.getId() + " " + s.getName() + (FrameworkDataLCStatus.DISABLED.getValue().equalsIgnoreCase(s + .getLcStatus()) ? (" 銆愬仠鐢ㄣ�� ") : ""); + }); + Iterator var6 = tree.listIterator(); + while(var6.hasNext()){ + Tree trees = (Tree) var6.next(); + boolean checkHasChild=dockingPreClassifyMapper.checkHasChild(trees.getOid()); + //濡傛灉涓庢潯浠朵紶杩囨潵鐨勫�煎尮閰嶇殑涓婂垯璁剧疆涓洪�変腑 + if(conditionMap.containsKey(CODE_CLASSIFY_OID_FIELD)){ + trees.setChecked(true); + } + ; + if(checkHasChild){ + trees.setLeaf(false); + }else{ + trees.setLeaf(true); + } + } + log.info("鑾峰彇闆嗗洟鍒嗙被鏍慹nd..."); + return tree; + } + + /*** + * 鏍规嵁鐖跺垎绫籭d鏌ヨ灞傜骇鏍戞暟鎹璞¢泦鍚� + * @param pid 闆嗗洟鍒嗙被鐨刼id + * @return 杩斿洖灞傜骇鏍戞暟鎹璞¢泦鍚� + */ + private List<DockingPreClassifyVO> getCompanyGourpClassByParentId(String pid,boolean isContainView){ + log.info("鏍规嵁鐖跺垎绫籶id->"+pid+"鏌ヨ灞傜骇鏍戞暟鎹璞¢泦鍚坰tart..."); + List<DockingPreClassify> doList =dockingPreClassifyMapper.selectCompanyGroupClassifyVOByTree(pid); + List<DockingPreClassifyVO>dockingPreClassifyVOS= DockingPreClassifyWrapper.build().entityVOs(doList); + if(isContainView){ + dockingPreClassifyVOS.stream().forEach(dockingPreClassifyVO -> { + List<DockingPreViewModelVO> dockingViewVOS= dockingPreViewModelService.selectDockingPreViewModelByClassId(dockingPreClassifyVO.getOid(),isContainView); + dockingPreClassifyVO.setDockingPreViewModelVOList(dockingViewVOS); + }); + } + log.info("鏍规嵁鐖跺垎绫籶id->"+pid+"鏌ヨ灞傜骇鏍戞暟鎹璞¢泦鍚坋nd..."); + return dockingPreClassifyVOS; + } } -- Gitblit v1.9.3