Răsfoiți Sursa

初始化生成受控文件夹

wy 2 luni în urmă
părinte
comite
1b0c67422e

+ 463 - 0
ibps-provider-root/modules/provider-platform/src/main/java/com/lc/ibps/platform/plan/job/InitInspectionJob.java

@@ -0,0 +1,463 @@
+package com.lc.ibps.platform.plan.job;
+
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.lc.ibps.base.core.util.AppUtil;
+import com.lc.ibps.base.core.util.Collections;
+import com.lc.ibps.base.framework.id.UniqueIdUtil;
+import com.lc.ibps.base.framework.table.ICommonDao;
+import com.lc.ibps.components.quartz.BaseJob2;
+import com.lc.ibps.platform.enumeration.FileEnumeration;
+import org.apache.commons.lang3.RandomStringUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.quartz.JobExecutionContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
+
+public class InitInspectionJob extends BaseJob2 {
+
+    private static final Logger logger = LoggerFactory.getLogger(InitInspectionJob.class);
+    private ICommonDao<?> commonDao = AppUtil.getBean(ICommonDao.class);
+
+    @Override
+    public void executeJob(JobExecutionContext context) throws Exception {
+        //1.获取所有的部门
+        List<Map<String, Object>> deptList = selectThreeAndFour();
+        if(Collections.isEmpty(deptList)) return;
+
+        String diDian = deptList.get(0).get("PATH_").toString().split("\\.")[1];
+
+        String neiId = UniqueIdUtil.getId(); //内部文件
+        String neiPrefix = joinWithDot(FileEnumeration.NEI_BU_WEN_JIAN.parentId,neiId);//内部文件的子集需要拼接的id前缀
+        String waiId = UniqueIdUtil.getId();
+        String waiPrefix = joinWithDot(FileEnumeration.WAI_BU_WEN_JIAN.parentId,waiId);//wai部文件的子集需要拼接的id前缀
+
+        List<Map<String, Object>> list = encapsulateData(neiId,FileEnumeration.NEI_BU_WEN_JIAN.parentId,waiId,FileEnumeration.WAI_BU_WEN_JIAN.parentId,diDian,deptList);
+
+        List<Map<String, Object>> assemblyData = assemblyData(deptList, neiId,FileEnumeration.NEI_BU_WEN_JIAN.parentId, waiId, FileEnumeration.WAI_BU_WEN_JIAN.parentId,diDian);
+
+        executeAdd(list,assemblyData);
+
+
+    }
+
+    public List<Map<String,Object>> encapsulateData(String neiId,String neiFu,String waiId ,String waiFu,String diDian,List<Map<String, Object>> deptList) {
+        List<Map<String, Object>> list = new ArrayList<>();
+        String zhiLiangShouCe = UniqueIdUtil.getId(); //质量手册id
+        String chengXuWenJian = UniqueIdUtil.getId();//程序文件
+        String anQuanShouCe = UniqueIdUtil.getId();//安全手册
+        String lingChuang = UniqueIdUtil.getId();//临床样品采集手册
+        String xinXiXiTong = UniqueIdUtil.getId();//信息系统文件
+        String keShiZhiDu = UniqueIdUtil.getId();//科室制度文件
+        String jiLuBiaoDan = UniqueIdUtil.getId();//记录表单
+
+        String guoJiaBiaoZhun = UniqueIdUtil.getId();//国家标准
+        String weiShengHangYe = UniqueIdUtil.getId();//卫生行业标准
+        String jiShuBiaoZhun = UniqueIdUtil.getId();//技术标准
+        String anQuanGuanLiWenJian = UniqueIdUtil.getId();//安全管理文件
+        String renKeGuiFanJiZhiNan = UniqueIdUtil.getId();//认可规范及指南
+        String faLufaGUi = UniqueIdUtil.getId();//法律法规
+        String qiTa = UniqueIdUtil.getId();//其他
+        //内部文件
+        list.add(build("ID_",neiId,"CATEGORY_KEY_",FileEnumeration.NEI_BU_WEN_JIAN.categoryKey,"name_",FileEnumeration.NEI_BU_WEN_JIAN.name,"type_key_", RandomStringUtils.randomAlphabetic(6),
+                "stru_type_",FileEnumeration.NEI_BU_WEN_JIAN.struType,"PARENT_ID_",FileEnumeration.NEI_BU_WEN_JIAN.parentId,"DEPTH_",FileEnumeration.NEI_BU_WEN_JIAN.depth,
+                "PATH_",joinWithDot(neiFu,neiId),"IS_LEAF_",FileEnumeration.NEI_BU_WEN_JIAN.isLeaf,"OWNER_ID_",FileEnumeration.NEI_BU_WEN_JIAN.ownerId,"TENANT_ID_",FileEnumeration.NEI_BU_WEN_JIAN.tenantId,
+                "AUTHORITY_NAME",FileEnumeration.NEI_BU_WEN_JIAN.authorityName));
+        //质量手册
+        list.add(build("ID_",zhiLiangShouCe,"CATEGORY_KEY_",FileEnumeration.ZHI_LIANG_SHOU_CE.categoryKey,"name_",FileEnumeration.ZHI_LIANG_SHOU_CE.name,"type_key_",RandomStringUtils.randomAlphabetic(6),
+                "stru_type_",FileEnumeration.ZHI_LIANG_SHOU_CE.struType,"PARENT_ID_",neiId,"DEPTH_",FileEnumeration.ZHI_LIANG_SHOU_CE.depth,"PATH_",joinWithDot(neiFu,neiId,zhiLiangShouCe),
+                "IS_LEAF_",FileEnumeration.ZHI_LIANG_SHOU_CE.isLeaf,"OWNER_ID_",FileEnumeration.ZHI_LIANG_SHOU_CE.ownerId,"TENANT_ID_",FileEnumeration.ZHI_LIANG_SHOU_CE.tenantId,
+                "AUTHORITY_NAME",FileEnumeration.ZHI_LIANG_SHOU_CE.authorityName));
+        //程序文件
+        list.add(build("ID_",chengXuWenJian,"CATEGORY_KEY_",FileEnumeration.CHENG_XU_WEN_JIAN.categoryKey,"name_",FileEnumeration.CHENG_XU_WEN_JIAN.name,"type_key_",RandomStringUtils.randomAlphabetic(6),
+                "stru_type_",FileEnumeration.CHENG_XU_WEN_JIAN.struType,"PARENT_ID_",neiId,"DEPTH_",FileEnumeration.CHENG_XU_WEN_JIAN.depth,"PATH_",joinWithDot(neiFu,neiId,chengXuWenJian),
+                "IS_LEAF_",FileEnumeration.CHENG_XU_WEN_JIAN.isLeaf,"OWNER_ID_",FileEnumeration.CHENG_XU_WEN_JIAN.ownerId,"TENANT_ID_",FileEnumeration.CHENG_XU_WEN_JIAN.tenantId,
+                "AUTHORITY_NAME",FileEnumeration.CHENG_XU_WEN_JIAN.authorityName));
+        //安全手册
+        list.add(build("ID_",anQuanShouCe,"CATEGORY_KEY_",FileEnumeration.AN_QUAN_SHOU_CE.categoryKey,"name_",FileEnumeration.AN_QUAN_SHOU_CE.name,"type_key_",RandomStringUtils.randomAlphabetic(6),
+                "stru_type_",FileEnumeration.AN_QUAN_SHOU_CE.struType,"PARENT_ID_",neiId,"DEPTH_",FileEnumeration.AN_QUAN_SHOU_CE.depth,"PATH_",joinWithDot(neiFu,neiId,anQuanShouCe),
+                "IS_LEAF_",FileEnumeration.AN_QUAN_SHOU_CE.isLeaf,"OWNER_ID_",FileEnumeration.AN_QUAN_SHOU_CE.ownerId,"TENANT_ID_",FileEnumeration.AN_QUAN_SHOU_CE.tenantId,
+                "AUTHORITY_NAME",FileEnumeration.AN_QUAN_SHOU_CE.authorityName));
+        //临床样品采集手册
+        list.add(build("ID_",lingChuang,"CATEGORY_KEY_",FileEnumeration.LING_CHUANG_YANG_PING_CAI_JI_SHOU_CE.categoryKey,"name_",FileEnumeration.LING_CHUANG_YANG_PING_CAI_JI_SHOU_CE.name,
+                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.LING_CHUANG_YANG_PING_CAI_JI_SHOU_CE.struType,"PARENT_ID_",neiId,"DEPTH_",FileEnumeration.LING_CHUANG_YANG_PING_CAI_JI_SHOU_CE.depth,
+                "PATH_",joinWithDot(neiFu,neiId,lingChuang),"IS_LEAF_",FileEnumeration.LING_CHUANG_YANG_PING_CAI_JI_SHOU_CE.isLeaf,"OWNER_ID_",FileEnumeration.LING_CHUANG_YANG_PING_CAI_JI_SHOU_CE.ownerId,
+                "TENANT_ID_",FileEnumeration.LING_CHUANG_YANG_PING_CAI_JI_SHOU_CE.tenantId,"AUTHORITY_NAME",FileEnumeration.LING_CHUANG_YANG_PING_CAI_JI_SHOU_CE.authorityName));
+        //信息系统文件
+        list.add(build("ID_",xinXiXiTong,"CATEGORY_KEY_",FileEnumeration.XIN_XI_XI_TONG_WEN_JIAN.categoryKey,"name_",FileEnumeration.XIN_XI_XI_TONG_WEN_JIAN.name,"type_key_",RandomStringUtils.randomAlphabetic(6),
+                "stru_type_",FileEnumeration.XIN_XI_XI_TONG_WEN_JIAN.struType,"PARENT_ID_",neiId,"DEPTH_",FileEnumeration.XIN_XI_XI_TONG_WEN_JIAN.depth,"PATH_",joinWithDot(neiFu,neiId,xinXiXiTong),
+                "IS_LEAF_",FileEnumeration.XIN_XI_XI_TONG_WEN_JIAN.isLeaf,"OWNER_ID_",FileEnumeration.XIN_XI_XI_TONG_WEN_JIAN.ownerId,"TENANT_ID_",FileEnumeration.XIN_XI_XI_TONG_WEN_JIAN.tenantId,
+                "AUTHORITY_NAME",FileEnumeration.XIN_XI_XI_TONG_WEN_JIAN.authorityName));
+        //科室制度文件
+        list.add(build("ID_",keShiZhiDu,"CATEGORY_KEY_",FileEnumeration.KE_SHI_ZHI_DU_WEN_JIAN.categoryKey,"name_",FileEnumeration.KE_SHI_ZHI_DU_WEN_JIAN.name,"type_key_",RandomStringUtils.randomAlphabetic(6),
+                "stru_type_",FileEnumeration.KE_SHI_ZHI_DU_WEN_JIAN.struType,"PARENT_ID_",neiId,"DEPTH_",FileEnumeration.KE_SHI_ZHI_DU_WEN_JIAN.depth,"PATH_",joinWithDot(neiFu,neiId,keShiZhiDu),
+                "IS_LEAF_",FileEnumeration.KE_SHI_ZHI_DU_WEN_JIAN.isLeaf,"OWNER_ID_",FileEnumeration.KE_SHI_ZHI_DU_WEN_JIAN.ownerId,"TENANT_ID_",FileEnumeration.KE_SHI_ZHI_DU_WEN_JIAN.tenantId,
+                "AUTHORITY_NAME",FileEnumeration.KE_SHI_ZHI_DU_WEN_JIAN.authorityName));
+        //记录表单//项目类sop //管理类sop//设备类sop//受限类
+        list.add(build("ID_",jiLuBiaoDan,"CATEGORY_KEY_",FileEnumeration.JI_LU_BIAO_DAN.categoryKey,"name_",FileEnumeration.JI_LU_BIAO_DAN.name,"type_key_",RandomStringUtils.randomAlphabetic(6),
+                "stru_type_",FileEnumeration.JI_LU_BIAO_DAN.struType,"PARENT_ID_",neiId,"DEPTH_",FileEnumeration.JI_LU_BIAO_DAN.depth,"PATH_",joinWithDot(neiFu,neiId,jiLuBiaoDan),
+                "IS_LEAF_",FileEnumeration.JI_LU_BIAO_DAN.isLeaf,"OWNER_ID_",FileEnumeration.JI_LU_BIAO_DAN.ownerId,"TENANT_ID_",FileEnumeration.JI_LU_BIAO_DAN.tenantId,
+                "AUTHORITY_NAME",FileEnumeration.JI_LU_BIAO_DAN.authorityName));
+
+        //外部文件
+        list.add(build("ID_",waiId,"CATEGORY_KEY_",FileEnumeration.WAI_BU_WEN_JIAN.categoryKey,"name_",FileEnumeration.WAI_BU_WEN_JIAN.name,"type_key_",RandomStringUtils.randomAlphabetic(6),
+                "stru_type_",FileEnumeration.WAI_BU_WEN_JIAN.struType,"PARENT_ID_",FileEnumeration.WAI_BU_WEN_JIAN.parentId,"DEPTH_",FileEnumeration.WAI_BU_WEN_JIAN.depth,
+                "PATH_",joinWithDot(waiFu,waiId),"IS_LEAF_",FileEnumeration.WAI_BU_WEN_JIAN.isLeaf,"OWNER_ID_",FileEnumeration.WAI_BU_WEN_JIAN.ownerId,"TENANT_ID_",FileEnumeration.WAI_BU_WEN_JIAN.tenantId,
+                "AUTHORITY_NAME",FileEnumeration.WAI_BU_WEN_JIAN.authorityName));
+        //国家标准
+        list.add(build("ID_",guoJiaBiaoZhun,"CATEGORY_KEY_",FileEnumeration.GUO_JIA_BIAO_ZHUN.categoryKey,"name_",FileEnumeration.GUO_JIA_BIAO_ZHUN.name,"type_key_",RandomStringUtils.randomAlphabetic(6),
+                "stru_type_",FileEnumeration.GUO_JIA_BIAO_ZHUN.struType,"PARENT_ID_",waiId,"DEPTH_",FileEnumeration.GUO_JIA_BIAO_ZHUN.depth,
+                "PATH_",joinWithDot(waiFu,waiId,guoJiaBiaoZhun),"IS_LEAF_",FileEnumeration.GUO_JIA_BIAO_ZHUN.isLeaf,"OWNER_ID_",FileEnumeration.GUO_JIA_BIAO_ZHUN.ownerId,"TENANT_ID_",FileEnumeration.GUO_JIA_BIAO_ZHUN.tenantId,
+                "AUTHORITY_NAME",FileEnumeration.GUO_JIA_BIAO_ZHUN.authorityName));
+        //卫生行业标准
+        list.add(build("ID_",weiShengHangYe,"CATEGORY_KEY_",FileEnumeration.WEI_SHENG_HANG_YE_BIAO_ZHUN.categoryKey,"name_",FileEnumeration.WEI_SHENG_HANG_YE_BIAO_ZHUN.name,"type_key_",RandomStringUtils.randomAlphabetic(6),
+                "stru_type_",FileEnumeration.WEI_SHENG_HANG_YE_BIAO_ZHUN.struType,"PARENT_ID_",waiId,"DEPTH_",FileEnumeration.WEI_SHENG_HANG_YE_BIAO_ZHUN.depth,
+                "PATH_",joinWithDot(waiFu,waiId,weiShengHangYe),"IS_LEAF_",FileEnumeration.WEI_SHENG_HANG_YE_BIAO_ZHUN.isLeaf,"OWNER_ID_",FileEnumeration.WEI_SHENG_HANG_YE_BIAO_ZHUN.ownerId,"TENANT_ID_",FileEnumeration.WEI_SHENG_HANG_YE_BIAO_ZHUN.tenantId,
+                "AUTHORITY_NAME",FileEnumeration.WEI_SHENG_HANG_YE_BIAO_ZHUN.authorityName));
+        //技术标准
+        list.add(build("ID_",jiShuBiaoZhun,"CATEGORY_KEY_",FileEnumeration.JI_SHU_BIAO_ZHUN.categoryKey,"name_",FileEnumeration.JI_SHU_BIAO_ZHUN.name,"type_key_",RandomStringUtils.randomAlphabetic(6),
+                "stru_type_",FileEnumeration.JI_SHU_BIAO_ZHUN.struType,"PARENT_ID_",waiId,"DEPTH_",FileEnumeration.JI_SHU_BIAO_ZHUN.depth,
+                "PATH_",joinWithDot(waiFu,waiId,jiShuBiaoZhun),"IS_LEAF_",FileEnumeration.JI_SHU_BIAO_ZHUN.isLeaf,"OWNER_ID_",FileEnumeration.GUO_JIA_BIAO_ZHUN.ownerId,"TENANT_ID_",FileEnumeration.JI_SHU_BIAO_ZHUN.tenantId,
+                "AUTHORITY_NAME",FileEnumeration.JI_SHU_BIAO_ZHUN.authorityName));
+        //安全管理文件
+        list.add(build("ID_",anQuanGuanLiWenJian,"CATEGORY_KEY_",FileEnumeration.AN_QUAN_GUAN_LI_WEN_JIAN.categoryKey,"name_",FileEnumeration.AN_QUAN_GUAN_LI_WEN_JIAN.name,"type_key_",RandomStringUtils.randomAlphabetic(6),
+                "stru_type_",FileEnumeration.AN_QUAN_GUAN_LI_WEN_JIAN.struType,"PARENT_ID_",waiId,"DEPTH_",FileEnumeration.AN_QUAN_GUAN_LI_WEN_JIAN.depth,
+                "PATH_",joinWithDot(waiFu,waiId,anQuanGuanLiWenJian),"IS_LEAF_",FileEnumeration.AN_QUAN_GUAN_LI_WEN_JIAN.isLeaf,"OWNER_ID_",FileEnumeration.AN_QUAN_GUAN_LI_WEN_JIAN.ownerId,"TENANT_ID_",FileEnumeration.AN_QUAN_GUAN_LI_WEN_JIAN.tenantId,
+                "AUTHORITY_NAME",FileEnumeration.AN_QUAN_GUAN_LI_WEN_JIAN.authorityName));
+        //认可规范及指南
+        list.add(build("ID_",renKeGuiFanJiZhiNan,"CATEGORY_KEY_",FileEnumeration.REN_KE_GUI_FAN_JI_ZHINAN.categoryKey,"name_",FileEnumeration.REN_KE_GUI_FAN_JI_ZHINAN.name,"type_key_",RandomStringUtils.randomAlphabetic(6),
+                "stru_type_",FileEnumeration.REN_KE_GUI_FAN_JI_ZHINAN.struType,"PARENT_ID_",waiId,"DEPTH_",FileEnumeration.REN_KE_GUI_FAN_JI_ZHINAN.depth,
+                "PATH_",joinWithDot(waiFu,waiId,renKeGuiFanJiZhiNan),"IS_LEAF_",FileEnumeration.REN_KE_GUI_FAN_JI_ZHINAN.isLeaf,"OWNER_ID_",FileEnumeration.REN_KE_GUI_FAN_JI_ZHINAN.ownerId,"TENANT_ID_",FileEnumeration.REN_KE_GUI_FAN_JI_ZHINAN.tenantId,
+                "AUTHORITY_NAME",FileEnumeration.REN_KE_GUI_FAN_JI_ZHINAN.authorityName));
+        //法律法规
+        list.add(build("ID_",faLufaGUi,"CATEGORY_KEY_",FileEnumeration.FA_LU_FA_GUI.categoryKey,"name_",FileEnumeration.FA_LU_FA_GUI.name,"type_key_",RandomStringUtils.randomAlphabetic(6),
+                "stru_type_",FileEnumeration.FA_LU_FA_GUI.struType,"PARENT_ID_",waiId,"DEPTH_",FileEnumeration.FA_LU_FA_GUI.depth,
+                "PATH_",joinWithDot(waiFu,waiId,faLufaGUi),"IS_LEAF_",FileEnumeration.FA_LU_FA_GUI.isLeaf,"OWNER_ID_",FileEnumeration.FA_LU_FA_GUI.ownerId,"TENANT_ID_",FileEnumeration.FA_LU_FA_GUI.tenantId,
+                "AUTHORITY_NAME",FileEnumeration.FA_LU_FA_GUI.authorityName));
+        //其他  //设备使用说明 //试剂使用说明书 //法律法规 //行业标准 //参考文献 //书籍 //其他 //受限类
+        list.add(build("ID_",qiTa,"CATEGORY_KEY_",FileEnumeration.QITA.categoryKey,"name_",FileEnumeration.QITA.name,"type_key_",RandomStringUtils.randomAlphabetic(6),
+                "stru_type_",FileEnumeration.QITA.struType,"PARENT_ID_",waiId,"DEPTH_",FileEnumeration.QITA.depth,
+                "PATH_",joinWithDot(waiFu,waiId,qiTa),"IS_LEAF_",FileEnumeration.QITA.isLeaf,"OWNER_ID_",FileEnumeration.QITA.ownerId,"TENANT_ID_",FileEnumeration.QITA.tenantId,
+                "AUTHORITY_NAME",FileEnumeration.QITA.authorityName));
+        List<Map<String, Object>> oneAndTwo = disposeOneAndTwo(list,diDian,deptList);
+        return oneAndTwo;
+    }
+
+
+    public List<Map<String, Object>> assemblyData(List<Map<String, Object>> deptList,String neiId,String neiFu ,String waiId,String waiFu,String diDian) throws Exception{
+        List<Map<String, Object>> list = new ArrayList<>();
+        if(Collections.isNotEmpty(deptList)){
+            JSONObject neiAuthNameForu = new JSONObject(JSONUtil.parseObj("{\"shenHeZouXiang\":\"jspgz\",\"buMen\":[[]],\"shenCha\":\"需要\",\"diDian\":\"\",\"chaYue\":\"部门查阅\"}"));
+            JSONObject waiAuthNameFour = new JSONObject(JSONUtil.parseObj("{\"shenHeZouXiang\":\"shspgz\",\"fenLei\":\"通用\",\"buMen\":\"\",\"shenCha\":\"需要\",\"diDian\":\"\",\"chaYue\":\"公用查阅\"}"));
+
+            for(Map<String, Object> item : deptList ){
+                String onlyNeiFourId = UniqueIdUtil.getId(); //所有内部4级架构
+                String xiangMuId = UniqueIdUtil.getId();//项目类sop
+                String guanLiId = UniqueIdUtil.getId();//管理类sop
+                String sheBeiId = UniqueIdUtil.getId();//设备类sop
+                String neiXianId = UniqueIdUtil.getId();//受限类
+
+                neiAuthNameForu.set("diDian",diDian);
+                JSONArray buMenForu = stream(item.get("PATH_").toString());
+                neiAuthNameForu.set("buMen",buMenForu);//内部文件替换部门权限
+
+                String onlyWaiFourId = UniqueIdUtil.getId(); //所有外部4级架构
+                String sheBeiShuoMingId = UniqueIdUtil.getId();//设备使用说明
+                String shiJiShuoMingId = UniqueIdUtil.getId();//试剂使用说明书
+                String faLuFaGuiId = UniqueIdUtil.getId();//法律法规
+                String hangYeId = UniqueIdUtil.getId();//行业标准
+                String canKaoId = UniqueIdUtil.getId();//参考文献
+                String shuJiId = UniqueIdUtil.getId();//书籍
+                String qiTaId = UniqueIdUtil.getId();//其他
+                String waiXianId = UniqueIdUtil.getId();//受限类
+
+                waiAuthNameFour.set("diDian",diDian);
+
+                list.add(build("ID_",onlyNeiFourId,"CATEGORY_KEY_","FILE_TYPE","name_",item.get("NAME_").toString(),"type_key_",item.get("PARTY_ALIAS_").toString(),
+                                "stru_type_","1","PARENT_ID_",neiId,"DEPTH_","2","PATH_",joinWithDot(neiFu,neiId,onlyNeiFourId,onlyNeiFourId),
+                                "IS_LEAF_","Y","OWNER_ID_","0","TENANT_ID_","-999","AUTHORITY_NAME",neiAuthNameForu.toString()));
+                        //内部文件的所有子集
+                        //项目类sop
+                        list.add(build("ID_",xiangMuId,"CATEGORY_KEY_",FileEnumeration.N_XIANG_MU_LEI_SOP.categoryKey,"name_",FileEnumeration.N_XIANG_MU_LEI_SOP.name,
+                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.N_XIANG_MU_LEI_SOP.struType,"PARENT_ID_",onlyNeiFourId,"DEPTH_",FileEnumeration.N_XIANG_MU_LEI_SOP.depth,
+                                "PATH_",joinWithDot(neiFu,neiId,onlyNeiFourId,onlyNeiFourId,xiangMuId),"IS_LEAF_",FileEnumeration.N_XIANG_MU_LEI_SOP.isLeaf,"OWNER_ID_",FileEnumeration.N_XIANG_MU_LEI_SOP.ownerId,
+                                "TENANT_ID_",FileEnumeration.N_XIANG_MU_LEI_SOP.tenantId,"AUTHORITY_NAME",neiAuthNameForu.toString()));
+                        //管理类sop
+                        list.add(build("ID_",guanLiId,"CATEGORY_KEY_",FileEnumeration.N_GUAN_LI_LEI_SOP.categoryKey,"name_",FileEnumeration.N_GUAN_LI_LEI_SOP.name,
+                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.N_GUAN_LI_LEI_SOP.struType,"PARENT_ID_",onlyNeiFourId,"DEPTH_",FileEnumeration.N_GUAN_LI_LEI_SOP.depth,
+                                "PATH_",joinWithDot(neiFu,neiId,onlyNeiFourId,onlyNeiFourId,guanLiId),"IS_LEAF_",FileEnumeration.N_GUAN_LI_LEI_SOP.isLeaf,"OWNER_ID_",FileEnumeration.N_GUAN_LI_LEI_SOP.ownerId,
+                                "TENANT_ID_",FileEnumeration.N_GUAN_LI_LEI_SOP.tenantId,"AUTHORITY_NAME",neiAuthNameForu.toString()));
+                        // 设备类sop
+                        list.add(build("ID_",sheBeiId,"CATEGORY_KEY_",FileEnumeration.N_SHE_BEI_LEI_SOP.categoryKey,"name_",FileEnumeration.N_SHE_BEI_LEI_SOP.name,
+                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.N_SHE_BEI_LEI_SOP.struType,"PARENT_ID_",onlyNeiFourId,"DEPTH_",FileEnumeration.N_SHE_BEI_LEI_SOP.depth,
+                                "PATH_",joinWithDot(neiFu,neiId,onlyNeiFourId,onlyNeiFourId,sheBeiId),"IS_LEAF_",FileEnumeration.N_SHE_BEI_LEI_SOP.isLeaf,"OWNER_ID_",FileEnumeration.N_SHE_BEI_LEI_SOP.ownerId,
+                                "TENANT_ID_",FileEnumeration.N_SHE_BEI_LEI_SOP.tenantId,"AUTHORITY_NAME",neiAuthNameForu.toString()));
+                        // 受限类
+                        list.add(build("ID_",neiXianId,"CATEGORY_KEY_",FileEnumeration.N_SHOU_XIAN_LEI.categoryKey,"name_",FileEnumeration.N_SHOU_XIAN_LEI.name,
+                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.N_SHOU_XIAN_LEI.struType,"PARENT_ID_",onlyNeiFourId,"DEPTH_",FileEnumeration.N_SHOU_XIAN_LEI.depth,
+                                "PATH_",joinWithDot(neiFu,neiId,onlyNeiFourId,onlyNeiFourId,neiXianId),"IS_LEAF_",FileEnumeration.N_SHOU_XIAN_LEI.isLeaf,"OWNER_ID_",FileEnumeration.N_SHOU_XIAN_LEI.ownerId,
+                                "TENANT_ID_",FileEnumeration.N_SHOU_XIAN_LEI.tenantId,"AUTHORITY_NAME",neiAuthNameForu.toString()));
+
+
+
+                        list.add(build("ID_",onlyWaiFourId,"CATEGORY_KEY_","FILE_TYPE","name_",item.get("NAME_").toString(),"type_key_",item.get("PARTY_ALIAS_").toString(),
+                                "stru_type_","1","PARENT_ID_",waiId,"DEPTH_","2","PATH_",joinWithDot(waiFu,waiId,onlyWaiFourId,onlyWaiFourId),
+                                "IS_LEAF_","Y","OWNER_ID_","0","TENANT_ID_","-999","AUTHORITY_NAME",waiAuthNameFour.toString()));
+                        //设备使用说明
+                        list.add(build("ID_",sheBeiShuoMingId,"CATEGORY_KEY_",FileEnumeration.W_SHE_BEI_SHI_YONG_SHUO_MING_SHU.categoryKey,"name_",FileEnumeration.W_SHE_BEI_SHI_YONG_SHUO_MING_SHU.name,
+                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.W_SHE_BEI_SHI_YONG_SHUO_MING_SHU.struType,"PARENT_ID_",onlyWaiFourId,"DEPTH_",FileEnumeration.W_SHE_BEI_SHI_YONG_SHUO_MING_SHU.depth,
+                                "PATH_",joinWithDot(waiFu,waiId,onlyWaiFourId,onlyWaiFourId,sheBeiShuoMingId),"IS_LEAF_",FileEnumeration.W_SHE_BEI_SHI_YONG_SHUO_MING_SHU.isLeaf,"OWNER_ID_",FileEnumeration.W_SHE_BEI_SHI_YONG_SHUO_MING_SHU.ownerId,
+                                "TENANT_ID_",FileEnumeration.W_SHE_BEI_SHI_YONG_SHUO_MING_SHU.tenantId,"AUTHORITY_NAME",waiAuthNameFour.toString()));
+                        // 试剂使用说明书
+                        list.add(build("ID_",shiJiShuoMingId,"CATEGORY_KEY_",FileEnumeration.W_SHI_JI_SHI_YONG_SHUO_MING_SHU.categoryKey,"name_",FileEnumeration.W_SHI_JI_SHI_YONG_SHUO_MING_SHU.name,
+                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.W_SHI_JI_SHI_YONG_SHUO_MING_SHU.struType,"PARENT_ID_",onlyWaiFourId,"DEPTH_",FileEnumeration.W_SHI_JI_SHI_YONG_SHUO_MING_SHU.depth,
+                                "PATH_",joinWithDot(waiFu,waiId,onlyWaiFourId,onlyWaiFourId,shiJiShuoMingId),"IS_LEAF_",FileEnumeration.W_SHI_JI_SHI_YONG_SHUO_MING_SHU.isLeaf,"OWNER_ID_",FileEnumeration.W_SHI_JI_SHI_YONG_SHUO_MING_SHU.ownerId,
+                                "TENANT_ID_",FileEnumeration.W_SHI_JI_SHI_YONG_SHUO_MING_SHU.tenantId,"AUTHORITY_NAME",waiAuthNameFour.toString()));
+                        // 法律法规
+                        list.add(build("ID_",faLuFaGuiId,"CATEGORY_KEY_",FileEnumeration.W_FA_LU_FAG_UI.categoryKey,"name_",FileEnumeration.W_FA_LU_FAG_UI.name,
+                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.W_FA_LU_FAG_UI.struType,"PARENT_ID_",onlyWaiFourId,"DEPTH_",FileEnumeration.W_FA_LU_FAG_UI.depth,
+                                "PATH_",joinWithDot(waiFu,waiId,onlyWaiFourId,onlyWaiFourId,faLuFaGuiId),"IS_LEAF_",FileEnumeration.W_FA_LU_FAG_UI.isLeaf,"OWNER_ID_",FileEnumeration.W_FA_LU_FAG_UI.ownerId,
+                                "TENANT_ID_",FileEnumeration.W_FA_LU_FAG_UI.tenantId,"AUTHORITY_NAME",waiAuthNameFour.toString()));
+                        // 行业标准
+                        list.add(build("ID_",hangYeId,"CATEGORY_KEY_",FileEnumeration.W_HANG_YE_BIAO_ZHUN.categoryKey,"name_",FileEnumeration.W_HANG_YE_BIAO_ZHUN.name,
+                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.W_HANG_YE_BIAO_ZHUN.struType,"PARENT_ID_",onlyWaiFourId,"DEPTH_",FileEnumeration.W_HANG_YE_BIAO_ZHUN.depth,
+                                "PATH_",joinWithDot(waiFu,waiId,onlyWaiFourId,onlyWaiFourId,hangYeId),"IS_LEAF_",FileEnumeration.W_HANG_YE_BIAO_ZHUN.isLeaf,"OWNER_ID_",FileEnumeration.W_HANG_YE_BIAO_ZHUN.ownerId,
+                                "TENANT_ID_",FileEnumeration.W_HANG_YE_BIAO_ZHUN.tenantId,"AUTHORITY_NAME",waiAuthNameFour.toString()));
+                        // 参考文献
+                        list.add(build("ID_",canKaoId,"CATEGORY_KEY_",FileEnumeration.W_CAN_KAO_WEN_XIAN.categoryKey,"name_",FileEnumeration.W_CAN_KAO_WEN_XIAN.name,
+                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.W_CAN_KAO_WEN_XIAN.struType,"PARENT_ID_",onlyWaiFourId,"DEPTH_",FileEnumeration.W_CAN_KAO_WEN_XIAN.depth,
+                                "PATH_",joinWithDot(waiFu,waiId,onlyWaiFourId,onlyWaiFourId,canKaoId),"IS_LEAF_",FileEnumeration.W_CAN_KAO_WEN_XIAN.isLeaf,"OWNER_ID_",FileEnumeration.W_CAN_KAO_WEN_XIAN.ownerId,
+                                "TENANT_ID_",FileEnumeration.W_CAN_KAO_WEN_XIAN.tenantId,"AUTHORITY_NAME",waiAuthNameFour.toString()));
+                        // 书籍
+                        list.add(build("ID_",shuJiId,"CATEGORY_KEY_",FileEnumeration.W_SHU_JI.categoryKey,"name_",FileEnumeration.W_SHU_JI.name,
+                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.W_SHU_JI.struType,"PARENT_ID_",onlyWaiFourId,"DEPTH_",FileEnumeration.W_SHU_JI.depth,
+                                "PATH_",joinWithDot(waiFu,waiId,onlyWaiFourId,onlyWaiFourId,shuJiId),"IS_LEAF_",FileEnumeration.W_SHU_JI.isLeaf,"OWNER_ID_",FileEnumeration.W_SHU_JI.ownerId,
+                                "TENANT_ID_",FileEnumeration.W_SHU_JI.tenantId,"AUTHORITY_NAME",waiAuthNameFour.toString()));
+                        // 其他
+                        list.add(build("ID_",qiTaId,"CATEGORY_KEY_",FileEnumeration.W_QI_TA.categoryKey,"name_",FileEnumeration.W_QI_TA.name,
+                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.W_QI_TA.struType,"PARENT_ID_",onlyWaiFourId,"DEPTH_",FileEnumeration.W_QI_TA.depth,
+                                "PATH_",joinWithDot(waiFu,waiId,onlyWaiFourId,onlyWaiFourId,qiTaId),"IS_LEAF_",FileEnumeration.W_QI_TA.isLeaf,"OWNER_ID_",FileEnumeration.W_QI_TA.ownerId,
+                                "TENANT_ID_",FileEnumeration.W_QI_TA.tenantId,"AUTHORITY_NAME",waiAuthNameFour.toString()));
+                        // 受限类
+                        list.add(build("ID_",waiXianId,"CATEGORY_KEY_",FileEnumeration.W_SHOU_XIAN_LIE.categoryKey,"name_",FileEnumeration.W_SHOU_XIAN_LIE.name,
+                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.W_SHOU_XIAN_LIE.struType,"PARENT_ID_",onlyWaiFourId,"DEPTH_",FileEnumeration.W_SHOU_XIAN_LIE.depth,
+                                "PATH_",joinWithDot(waiFu,waiId,onlyWaiFourId,onlyWaiFourId,waiXianId),"IS_LEAF_",FileEnumeration.W_SHOU_XIAN_LIE.isLeaf,"OWNER_ID_",FileEnumeration.W_SHOU_XIAN_LIE.ownerId,
+                                "TENANT_ID_",FileEnumeration.W_SHOU_XIAN_LIE.tenantId,"AUTHORITY_NAME",waiAuthNameFour.toString()));
+
+            }
+//            for (Map<String, Object> item : deptList ) {
+//
+//                String onlyNeiId = UniqueIdUtil.getId(); //所有内部3级架构
+//                neiAuthName.set("diDian",diDian);//内部文件替换地点
+//                JSONArray buMen = stream(item.get("PATH_").toString());
+//                neiAuthName.set("buMen",buMen);//内部文件替换部门权限
+//
+//
+//                String onlyWaiId = UniqueIdUtil.getId(); //所有外部3级架构
+//                waiAuthName.set("diDian",diDian); //外部文件只要替换地点即可,权限是放开的
+//
+//                //3级和4级的差异只有parentId 和 权限部门不一致
+//                if("3".equals(item.get("DEPTH_").toString())){
+//
+//                    list.add(build("ID_",onlyNeiId,"CATEGORY_KEY_","FILE_TYPE","name_",item.get("NAME_").toString(),"type_key_",RandomStringUtils.randomAlphabetic(6),
+//                            "stru_type_","1","PARENT_ID_",neiId,"DEPTH_","2","PATH_",joinWithDot(neiId,neiFu,onlyNeiId),
+//                            "IS_LEAF_","Y","OWNER_ID_","0","TENANT_ID_","-999","AUTHORITY_NAME",neiAuthName.toString()));
+//
+//                    list.add(build("ID_",onlyWaiId,"CATEGORY_KEY_","FILE_TYPE","name_",item.get("NAME_").toString(),"type_key_",RandomStringUtils.randomAlphabetic(6),
+//                            "stru_type_","1","PARENT_ID_",waiId,"DEPTH_","2","PATH_",joinWithDot(waiId,waiFu,onlyWaiId),
+//                            "IS_LEAF_","Y","OWNER_ID_","0","TENANT_ID_","-999","AUTHORITY_NAME",waiAuthName.toString()));
+//
+//                    //创建4级,外键是来自于3级,所以只能一步到位
+//                    List<Map<String, Object>> mapList = findDept(deptList,"4",item.get("ID_").toString());
+//                    for (Map<String, Object> map: mapList) {
+//
+//                        String onlyNeiFourId = UniqueIdUtil.getId(); //所有内部4级架构
+//                        String xiangMuId = UniqueIdUtil.getId();//项目类sop
+//                        String guanLiId = UniqueIdUtil.getId();//管理类sop
+//                        String sheBeiId = UniqueIdUtil.getId();//设备类sop
+//                        String neiXianId = UniqueIdUtil.getId();//受限类
+//
+//                        neiAuthNameForu.set("diDian",diDian);
+//                        JSONArray buMenForu = stream(map.get("PATH_").toString());
+//                        neiAuthNameForu.set("buMen",buMenForu);//内部文件替换部门权限
+//
+//                        String onlyWaiFourId = UniqueIdUtil.getId(); //所有外部4级架构
+//                        String sheBeiShuoMingId = UniqueIdUtil.getId();//设备使用说明
+//                        String shiJiShuoMingId = UniqueIdUtil.getId();//试剂使用说明书
+//                        String faLuFaGuiId = UniqueIdUtil.getId();//法律法规
+//                        String hangYeId = UniqueIdUtil.getId();//行业标准
+//                        String canKaoId = UniqueIdUtil.getId();//参考文献
+//                        String shuJiId = UniqueIdUtil.getId();//书籍
+//                        String qiTaId = UniqueIdUtil.getId();//其他
+//                        String waiXianId = UniqueIdUtil.getId();//受限类
+//
+//                        waiAuthNameFour.set("diDian",diDian);
+//
+//                        list.add(build("ID_",onlyNeiFourId,"CATEGORY_KEY_","FILE_TYPE","name_",map.get("NAME_").toString(),"type_key_",item.get("PARTY_ALIAS_").toString(),
+//                                "stru_type_","1","PARENT_ID_",onlyNeiId,"DEPTH_","2","PATH_",joinWithDot(neiFu,neiId,onlyNeiId,onlyNeiFourId),
+//                                "IS_LEAF_","Y","OWNER_ID_","0","TENANT_ID_","-999","AUTHORITY_NAME",neiAuthNameForu.toString()));
+//                        //内部文件的所有子集
+//                        //项目类sop
+//                        list.add(build("ID_",xiangMuId,"CATEGORY_KEY_",FileEnumeration.N_XIANG_MU_LEI_SOP.categoryKey,"name_",FileEnumeration.N_XIANG_MU_LEI_SOP.name,
+//                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.N_XIANG_MU_LEI_SOP.struType,"PARENT_ID_",onlyNeiFourId,"DEPTH_",FileEnumeration.N_XIANG_MU_LEI_SOP.depth,
+//                                "PATH_",joinWithDot(neiFu,neiId,onlyNeiId,onlyNeiFourId,xiangMuId),"IS_LEAF_",FileEnumeration.N_XIANG_MU_LEI_SOP.isLeaf,"OWNER_ID_",FileEnumeration.N_XIANG_MU_LEI_SOP.ownerId,
+//                                "TENANT_ID_",FileEnumeration.N_XIANG_MU_LEI_SOP.tenantId,"AUTHORITY_NAME",neiAuthNameForu.toString()));
+//                        //管理类sop
+//                        list.add(build("ID_",guanLiId,"CATEGORY_KEY_",FileEnumeration.N_GUAN_LI_LEI_SOP.categoryKey,"name_",FileEnumeration.N_GUAN_LI_LEI_SOP.name,
+//                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.N_GUAN_LI_LEI_SOP.struType,"PARENT_ID_",onlyNeiFourId,"DEPTH_",FileEnumeration.N_GUAN_LI_LEI_SOP.depth,
+//                                "PATH_",joinWithDot(neiFu,neiId,onlyNeiId,onlyNeiFourId,guanLiId),"IS_LEAF_",FileEnumeration.N_GUAN_LI_LEI_SOP.isLeaf,"OWNER_ID_",FileEnumeration.N_GUAN_LI_LEI_SOP.ownerId,
+//                                "TENANT_ID_",FileEnumeration.N_GUAN_LI_LEI_SOP.tenantId,"AUTHORITY_NAME",neiAuthNameForu.toString()));
+//                        // 设备类sop
+//                        list.add(build("ID_",sheBeiId,"CATEGORY_KEY_",FileEnumeration.N_SHE_BEI_LEI_SOP.categoryKey,"name_",FileEnumeration.N_SHE_BEI_LEI_SOP.name,
+//                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.N_SHE_BEI_LEI_SOP.struType,"PARENT_ID_",onlyNeiFourId,"DEPTH_",FileEnumeration.N_SHE_BEI_LEI_SOP.depth,
+//                                "PATH_",joinWithDot(neiFu,neiId,onlyNeiId,onlyNeiFourId,sheBeiId),"IS_LEAF_",FileEnumeration.N_SHE_BEI_LEI_SOP.isLeaf,"OWNER_ID_",FileEnumeration.N_SHE_BEI_LEI_SOP.ownerId,
+//                                "TENANT_ID_",FileEnumeration.N_SHE_BEI_LEI_SOP.tenantId,"AUTHORITY_NAME",neiAuthNameForu.toString()));
+//                        // 受限类
+//                        list.add(build("ID_",neiXianId,"CATEGORY_KEY_",FileEnumeration.N_SHOU_XIAN_LEI.categoryKey,"name_",FileEnumeration.N_SHOU_XIAN_LEI.name,
+//                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.N_SHOU_XIAN_LEI.struType,"PARENT_ID_",onlyNeiFourId,"DEPTH_",FileEnumeration.N_SHOU_XIAN_LEI.depth,
+//                                "PATH_",joinWithDot(neiFu,neiId,onlyNeiId,onlyNeiFourId,neiXianId),"IS_LEAF_",FileEnumeration.N_SHOU_XIAN_LEI.isLeaf,"OWNER_ID_",FileEnumeration.N_SHOU_XIAN_LEI.ownerId,
+//                                "TENANT_ID_",FileEnumeration.N_SHOU_XIAN_LEI.tenantId,"AUTHORITY_NAME",neiAuthNameForu.toString()));
+//
+//
+//
+//                        list.add(build("ID_",onlyWaiFourId,"CATEGORY_KEY_","FILE_TYPE","name_",map.get("NAME_").toString(),"type_key_",item.get("PARTY_ALIAS_").toString(),
+//                                "stru_type_","1","PARENT_ID_",onlyWaiId,"DEPTH_","2","PATH_",joinWithDot(waiFu,waiId,onlyWaiId,onlyWaiFourId),
+//                                "IS_LEAF_","Y","OWNER_ID_","0","TENANT_ID_","-999","AUTHORITY_NAME",waiAuthNameFour.toString()));
+//                        //设备使用说明
+//                        list.add(build("ID_",sheBeiShuoMingId,"CATEGORY_KEY_",FileEnumeration.W_SHE_BEI_SHI_YONG_SHUO_MING_SHU.categoryKey,"name_",FileEnumeration.W_SHE_BEI_SHI_YONG_SHUO_MING_SHU.name,
+//                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.W_SHE_BEI_SHI_YONG_SHUO_MING_SHU.struType,"PARENT_ID_",onlyWaiFourId,"DEPTH_",FileEnumeration.W_SHE_BEI_SHI_YONG_SHUO_MING_SHU.depth,
+//                                "PATH_",joinWithDot(waiFu,waiId,onlyWaiId,onlyWaiFourId,sheBeiShuoMingId),"IS_LEAF_",FileEnumeration.W_SHE_BEI_SHI_YONG_SHUO_MING_SHU.isLeaf,"OWNER_ID_",FileEnumeration.W_SHE_BEI_SHI_YONG_SHUO_MING_SHU.ownerId,
+//                                "TENANT_ID_",FileEnumeration.W_SHE_BEI_SHI_YONG_SHUO_MING_SHU.tenantId,"AUTHORITY_NAME",waiAuthNameFour.toString()));
+//                        // 试剂使用说明书
+//                        list.add(build("ID_",shiJiShuoMingId,"CATEGORY_KEY_",FileEnumeration.W_SHI_JI_SHI_YONG_SHUO_MING_SHU.categoryKey,"name_",FileEnumeration.W_SHI_JI_SHI_YONG_SHUO_MING_SHU.name,
+//                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.W_SHI_JI_SHI_YONG_SHUO_MING_SHU.struType,"PARENT_ID_",onlyWaiFourId,"DEPTH_",FileEnumeration.W_SHI_JI_SHI_YONG_SHUO_MING_SHU.depth,
+//                                "PATH_",joinWithDot(waiFu,waiId,onlyWaiId,onlyWaiFourId,shiJiShuoMingId),"IS_LEAF_",FileEnumeration.W_SHI_JI_SHI_YONG_SHUO_MING_SHU.isLeaf,"OWNER_ID_",FileEnumeration.W_SHI_JI_SHI_YONG_SHUO_MING_SHU.ownerId,
+//                                "TENANT_ID_",FileEnumeration.W_SHI_JI_SHI_YONG_SHUO_MING_SHU.tenantId,"AUTHORITY_NAME",waiAuthNameFour.toString()));
+//                        // 法律法规
+//                        list.add(build("ID_",faLuFaGuiId,"CATEGORY_KEY_",FileEnumeration.W_FA_LU_FAG_UI.categoryKey,"name_",FileEnumeration.W_FA_LU_FAG_UI.name,
+//                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.W_FA_LU_FAG_UI.struType,"PARENT_ID_",onlyWaiFourId,"DEPTH_",FileEnumeration.W_FA_LU_FAG_UI.depth,
+//                                "PATH_",joinWithDot(waiFu,waiId,onlyWaiId,onlyWaiFourId,faLuFaGuiId),"IS_LEAF_",FileEnumeration.W_FA_LU_FAG_UI.isLeaf,"OWNER_ID_",FileEnumeration.W_FA_LU_FAG_UI.ownerId,
+//                                "TENANT_ID_",FileEnumeration.W_FA_LU_FAG_UI.tenantId,"AUTHORITY_NAME",waiAuthNameFour.toString()));
+//                        // 行业标准
+//                        list.add(build("ID_",hangYeId,"CATEGORY_KEY_",FileEnumeration.W_HANG_YE_BIAO_ZHUN.categoryKey,"name_",FileEnumeration.W_HANG_YE_BIAO_ZHUN.name,
+//                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.W_HANG_YE_BIAO_ZHUN.struType,"PARENT_ID_",onlyWaiFourId,"DEPTH_",FileEnumeration.W_HANG_YE_BIAO_ZHUN.depth,
+//                                "PATH_",joinWithDot(waiFu,waiId,onlyWaiId,onlyWaiFourId,hangYeId),"IS_LEAF_",FileEnumeration.W_HANG_YE_BIAO_ZHUN.isLeaf,"OWNER_ID_",FileEnumeration.W_HANG_YE_BIAO_ZHUN.ownerId,
+//                                "TENANT_ID_",FileEnumeration.W_HANG_YE_BIAO_ZHUN.tenantId,"AUTHORITY_NAME",waiAuthNameFour.toString()));
+//                        // 参考文献
+//                        list.add(build("ID_",canKaoId,"CATEGORY_KEY_",FileEnumeration.W_CAN_KAO_WEN_XIAN.categoryKey,"name_",FileEnumeration.W_CAN_KAO_WEN_XIAN.name,
+//                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.W_CAN_KAO_WEN_XIAN.struType,"PARENT_ID_",onlyWaiFourId,"DEPTH_",FileEnumeration.W_CAN_KAO_WEN_XIAN.depth,
+//                                "PATH_",joinWithDot(waiFu,waiId,onlyWaiId,onlyWaiFourId,canKaoId),"IS_LEAF_",FileEnumeration.W_CAN_KAO_WEN_XIAN.isLeaf,"OWNER_ID_",FileEnumeration.W_CAN_KAO_WEN_XIAN.ownerId,
+//                                "TENANT_ID_",FileEnumeration.W_CAN_KAO_WEN_XIAN.tenantId,"AUTHORITY_NAME",waiAuthNameFour.toString()));
+//                        // 书籍
+//                        list.add(build("ID_",shuJiId,"CATEGORY_KEY_",FileEnumeration.W_SHU_JI.categoryKey,"name_",FileEnumeration.W_SHU_JI.name,
+//                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.W_SHU_JI.struType,"PARENT_ID_",onlyWaiFourId,"DEPTH_",FileEnumeration.W_SHU_JI.depth,
+//                                "PATH_",joinWithDot(waiFu,waiId,onlyWaiId,onlyWaiFourId,shuJiId),"IS_LEAF_",FileEnumeration.W_SHU_JI.isLeaf,"OWNER_ID_",FileEnumeration.W_SHU_JI.ownerId,
+//                                "TENANT_ID_",FileEnumeration.W_SHU_JI.tenantId,"AUTHORITY_NAME",waiAuthNameFour.toString()));
+//                        // 其他
+//                        list.add(build("ID_",qiTaId,"CATEGORY_KEY_",FileEnumeration.W_QI_TA.categoryKey,"name_",FileEnumeration.W_QI_TA.name,
+//                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.W_QI_TA.struType,"PARENT_ID_",onlyWaiFourId,"DEPTH_",FileEnumeration.W_QI_TA.depth,
+//                                "PATH_",joinWithDot(waiFu,waiId,onlyWaiId,onlyWaiFourId,qiTaId),"IS_LEAF_",FileEnumeration.W_QI_TA.isLeaf,"OWNER_ID_",FileEnumeration.W_QI_TA.ownerId,
+//                                "TENANT_ID_",FileEnumeration.W_QI_TA.tenantId,"AUTHORITY_NAME",waiAuthNameFour.toString()));
+//                        // 受限类
+//                        list.add(build("ID_",waiXianId,"CATEGORY_KEY_",FileEnumeration.W_SHOU_XIAN_LIE.categoryKey,"name_",FileEnumeration.W_SHOU_XIAN_LIE.name,
+//                                "type_key_",RandomStringUtils.randomAlphabetic(6),"stru_type_",FileEnumeration.W_SHOU_XIAN_LIE.struType,"PARENT_ID_",onlyWaiFourId,"DEPTH_",FileEnumeration.W_SHOU_XIAN_LIE.depth,
+//                                "PATH_",joinWithDot(waiFu,waiId,onlyWaiId,onlyWaiFourId,waiXianId),"IS_LEAF_",FileEnumeration.W_SHOU_XIAN_LIE.isLeaf,"OWNER_ID_",FileEnumeration.W_SHOU_XIAN_LIE.ownerId,
+//                                "TENANT_ID_",FileEnumeration.W_SHOU_XIAN_LIE.tenantId,"AUTHORITY_NAME",waiAuthNameFour.toString()));
+//                    }
+//
+//                }
+//            }
+        }
+        return list;
+    }
+
+    public List<Map<String, Object>> disposeOneAndTwo(List<Map<String, Object>> list,String diDian,List<Map<String, Object>> deptList){
+        if(Collections.isNotEmpty(list) && StringUtils.isNotEmpty(diDian)){
+            for (Map<String, Object> item : list ) {
+                String authorityName = item.get("AUTHORITY_NAME").toString();
+                JSONObject jsonObject = JSONUtil.parseObj(authorityName);
+                jsonObject.set("diDian", diDian);
+                //3级的结构也需要拼接部门才行,否则可能更上级权限的人看不到
+                String deptPath = findDeptName(deptList, "3", item.get("name_").toString());
+                jsonObject.set("buMen",stream(deptPath));
+                item.put("AUTHORITY_NAME",jsonObject.toString());
+            }
+            return list;
+        }
+        return null;
+    }
+
+    public List<Map<String, Object>> findDept(List<Map<String, Object>> deptList,String depth,String deptId){
+        return deptList.stream()
+                .filter(dept -> depth.equals(dept.get("DEPTH_").toString()))  // 使用equals比较字符串
+                .filter(dept -> dept.get("PATH_").toString().contains(deptId))
+                .collect(Collectors.toList());
+    }
+
+    public String findDeptName(List<Map<String, Object>> deptList,String depth,String deptName){
+        String str = "";
+        List<Map<String, Object>> list = deptList.stream()
+                .filter(dept -> depth.equals(dept.get("DEPTH_").toString()))  // 使用equals比较字符串
+                .filter(dept -> deptName.equals(dept.get("NAME_").toString()))
+                .collect(Collectors.toList());
+        if (list.size()>0){
+            str = list.get(0).get("PATH_").toString();
+        }
+        return str;
+    }
+
+    public Map<String,Object> build(Object... keyValues){
+        Map<String, Object> map = new HashMap<>();
+        for (int i = 0; i < keyValues.length; i += 2) {
+            map.put((String) keyValues[i], keyValues[i + 1]);
+        }
+        return map;
+    }
+
+    public List<Map<String,Object>> selectThreeAndFour(){
+        List<Map<String, Object>> list = new ArrayList<>();
+        String sql = " SELECT ID_,PARTY_ALIAS_,NAME_,DEPTH_,PATH_ FROM ibps_party_entity WHERE PATH_ LIKE CONCAT( (SELECT org_ FROM t_ipcc WHERE id_ = '1'), '%') and DEPTH_ = '4' ORDER BY DEPTH_, SN_ ASC ";
+        List<Map<String,Object>> query =(List<Map<String,Object>>) commonDao.query(sql);
+        if(Collections.isNotEmpty(query)){
+            list = query;
+        }
+        return list;
+    }
+
+    public String joinWithDot(String... strings) {
+        return String.join(".", strings) + ".";
+    }
+
+    public JSONArray  stream(String deptIds){
+        JSONArray resultArray = new JSONArray();
+        JSONArray innerArray = new JSONArray();
+
+        String[] parts = deptIds.split("\\.");
+        for (String part : parts) {
+            innerArray.add(part);
+        }
+
+        resultArray.add(innerArray);
+        return resultArray;
+    }
+
+    private void executeAdd(List<Map<String, Object>> list,List<Map<String, Object>> assemblyData) throws Exception {
+        List<Map<String, Object>> lists = new ArrayList<>();
+        lists.addAll(list);
+        lists.addAll(assemblyData);
+
+        for (Map<String, Object> val : lists) {
+            // Map<String, Object> val = this.transformUpperCase(val1);
+            val.put("CREATE_BY_", "1");
+            val.put("CREATE_TIME_", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+            val.put("UPDATE_TIME_", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+            commonDao.execute(this.buildInsertSql(val, "ibps_cat_type"));
+        }
+    }
+
+}