From 4c3d21652873e2011b99d36388e86c3f9af1aa63 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期一, 29 五月 2023 17:53:42 +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