From 36c2449aec5b51e5ed4e5c6841154b746060e09a Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期六, 14 九月 2024 12:22:20 +0800
Subject: [PATCH] UI上下文导入接口上传

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java |  618 ++++++++++++++++++++++++++-----------------------------
 1 files changed, 295 insertions(+), 323 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java
index d53f1b4..3ef9a19 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java
@@ -1,7 +1,5 @@
 package com.vci.web.service.impl;
 
-import com.alibaba.fastjson.JSONObject;
-import com.alibaba.fastjson.JSON;
 import com.vci.common.utility.ObjectUtility;
 import com.vci.corba.common.PLException;
 import com.vci.corba.common.data.UserEntityInfo;
@@ -11,12 +9,9 @@
 import com.vci.corba.portal.data.*;
 import com.vci.dto.RoleRightDTO;
 import com.vci.dto.UIAuthorDTO;
-import com.vci.frameworkcore.compatibility.SmRoleQueryServiceI;
 import com.vci.model.PLDefination;
 import com.vci.pagemodel.*;
-import com.vci.starter.poi.bo.SheetDataSet;
-import com.vci.starter.poi.bo.WriteExcelData;
-import com.vci.starter.poi.bo.WriteExcelOption;
+import com.vci.starter.poi.bo.*;
 import com.vci.starter.poi.util.ExcelUtil;
 import com.vci.starter.web.exception.VciBaseException;
 import com.vci.starter.web.pagemodel.*;
@@ -25,6 +20,7 @@
 import com.vci.starter.web.pagemodel.DataGrid;
 import com.vci.starter.web.pagemodel.SessionInfo;
 import com.vci.starter.web.util.*;
+import com.vci.web.redis.RedisService;
 import com.vci.web.service.OsBtmServiceI;
 import com.vci.web.service.UIManagerServiceI;
 import com.vci.web.util.*;
@@ -35,23 +31,14 @@
 import com.vci.web.util.UITools;
 import lombok.AllArgsConstructor;
 import lombok.NoArgsConstructor;
-import org.apache.poi.hssf.usermodel.HSSFCell;
-import org.apache.poi.hssf.usermodel.HSSFRow;
-import org.apache.poi.hssf.usermodel.HSSFSheet;
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
 import javax.annotation.Resource;
-import javax.swing.*;
 import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
 import java.util.*;
-import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 import java.util.regex.Pattern;
@@ -71,10 +58,11 @@
     private PlatformClientUtil platformClientUtil;
 
     /**
-     * 瑙掕壊
+     * 缂撳瓨宸ュ叿
      */
     @Resource
-    private SmRoleQueryServiceI smRoleQueryServiceI;
+    private RedisService redisService;
+
     /***
      * 鏄惁鏄鐞嗗憳
      */
@@ -91,6 +79,11 @@
      * 鏃ュ織
      */
     private Logger logger = LoggerFactory.getLogger(getClass());
+
+    /**
+     * 瀵煎叆鏁版嵁鐨剆heet闆嗗悎
+     */
+    private final String IMPORTUIKEY = "importUIKey:";
 
     /**
      * 鎺掑簭姣旇緝鍣�
@@ -441,14 +434,17 @@
                         //鍖哄煙瀹氫箟
                         tpDataList.add(new WriteExcelData(tpRow.get(),0, tabPage.plOId));
                         tpDataList.add(new WriteExcelData(tpRow.get(),1, tabPage.plSeq));
-                        tpDataList.add(new WriteExcelData(tpRow.get(),2, tabPage.plLabel));
-                        tpDataList.add(new WriteExcelData(tpRow.get(),3, tabPage.plName));
-                        tpDataList.add(new WriteExcelData(tpRow.get(),4, tabPage.plContextOId));
-                        tpDataList.add(new WriteExcelData(tpRow.get(),5, tabPage.plIsOpen));
-                        tpDataList.add(new WriteExcelData(tpRow.get(),6, tabPage.plOpenExpression));
-                        tpDataList.add(new WriteExcelData(tpRow.get(),7, tabPage.plUIParser));
-                        tpDataList.add(new WriteExcelData(tpRow.get(),8, tabPage.plExtAttr));
-                        tpDataList.add(new WriteExcelData(tpRow.get(),9, tabPage.plDesc));
+                        tpDataList.add(new WriteExcelData(tpRow.get(),2, tabPage.plCode));
+                        tpDataList.add(new WriteExcelData(tpRow.get(),3, tabPage.plLabel));
+                        tpDataList.add(new WriteExcelData(tpRow.get(),4, tabPage.plName));
+                        tpDataList.add(new WriteExcelData(tpRow.get(),5, tabPage.plContextOId));
+                        tpDataList.add(new WriteExcelData(tpRow.get(),6, tabPage.plAreaType));
+                        tpDataList.add(new WriteExcelData(tpRow.get(),7, tabPage.plIsOpen));
+                        tpDataList.add(new WriteExcelData(tpRow.get(),8, tabPage.plOpenExpression));
+                        tpDataList.add(new WriteExcelData(tpRow.get(),9, tabPage.plUIParser));
+                        tpDataList.add(new WriteExcelData(tpRow.get(),10, tabPage.plExtAttr));
+                        tpDataList.add(new WriteExcelData(tpRow.get(),11, tabPage.plDesc));
+                        tpDataList.add(new WriteExcelData(tpRow.get(),12, tabPage.plLicensOrs));
                         tpRow.getAndIncrement();
                         try {
                             PLPageDefination[] plPageDefinations = platformClientUtil.getUIService().getPLPageDefinationsByPageContextOId(tabPage.plOId);
@@ -525,112 +521,124 @@
      */
     @Override
     public BaseResult impUIContextData(File file,boolean isCovered,String selectBtm) {
-        /*VciBaseUtil.alertNotNull(file,"excel鏂囦欢");
-        if(!file.exists()){
-            throw new VciBaseException("瀵煎叆鐨別xcel鏂囦欢涓嶅瓨鍦�,{0}",new String[]{file.getPath()});
+        if(!isCovered){
+            VciBaseUtil.alertNotNull(file,"excel鏂囦欢");
+            if(!file.exists()){
+                throw new VciBaseException("瀵煎叆鐨別xcel鏂囦欢涓嶅瓨鍦�,{0}",new String[]{file.getPath()});
+            }
         }
-        //璇诲彇excel琛�
-        List<SheetDataSet> sheetDataSets = ExcelUtil.readDataObjectFromExcel(file);
 
         try {
+            List<SheetDataSet> sheetDataSets = null;
+            SessionInfo sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread();
+            //鏄鐩栨搷浣滐紝鎵�浠ョ洿鎺ヨ鍙�
+            if(isCovered){
+                sheetDataSets = redisService.getCacheList(IMPORTUIKEY + sessionInfo.getUserId());
+                if(Func.isEmpty(sheetDataSets)){
+                    throw new VciBaseException("浠庣紦瀛樹腑鏈幏鍙栧埌瀵煎叆鐨勬暟鎹紝璇峰埛鏂板悗閲嶈瘯锛侊紒");
+                }
+            }else{
+                //璇诲彇excel琛�
+                ReadExcelOption readExcelOption = new ReadExcelOption();
+                readExcelOption.setReadAllSheet(true); //璇诲彇鍏ㄩ儴鐨剆heet
+                sheetDataSets = ExcelUtil.readDataObjectFromExcel(file,SheetDataSet.class,readExcelOption);
+            }
+
             PLUILayout[] plpagelayoutdefinations = null;
-            try {
-                SheetDataSet plpagelayoutdefnationsheet = sheetDataSets.get(0);
-                SheetDataSet pltabpagesheet = sheetDataSets.get(1);
-                SheetDataSet plpagedefinationsheet = sheetDataSets.get(2);
-                SheetDataSet pltabbuttonsheet = sheetDataSets.get(3);
-                SheetDataSet plcommondparamsheet = sheetDataSets.get(4);
 
-                *//*HSSFSheet plpagelayoutdefnationsheet = readworkbook.getSheet("PlpageLayoutDefnation");
-                HSSFSheet pltabpagesheet = readworkbook.getSheet("Pltabpage");
-                HSSFSheet plpagedefinationsheet = readworkbook.getSheet("Plpagedefination");
-                HSSFSheet pltabbuttonsheet = readworkbook.getSheet("Pltabbutton");
-                HSSFSheet plcommondparamsheet = readworkbook.getSheet("PlcommondParam");*//*
+            SheetDataSet plpagelayoutdefnationsheet = sheetDataSets.get(0);
+            SheetDataSet pltabpagesheet = sheetDataSets.get(1);
+            SheetDataSet plpagedefinationsheet = sheetDataSets.get(2);
+            SheetDataSet pltabbuttonsheet = sheetDataSets.get(3);
+            SheetDataSet plcommondparamsheet = sheetDataSets.get(4);
 
-                SessionInfo sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread();
+            Map<PLUILayout,List<PLTabPage>> pdMap = new HashMap<>();
+            Map<PLTabPage,List<PLPageDefination>> tdMap = new HashMap<>();
+            Map<PLPageDefination,List<PLTabButton>> dbMap = new HashMap<>();
+            Map<PLTabButton,List<PLCommandParameter>> bcMap = new HashMap<>();
 
-                Map<PLUILayout,List<PLTabPage>> pdMap = new HashMap<>();
-                Map<PLTabPage,List<PLPageDefination>> tdMap = new HashMap<>();
-                Map<PLPageDefination,List<PLTabButton>> dbMap = new HashMap<>();
-                Map<PLTabButton,List<PLCommandParameter>> bcMap = new HashMap<>();
+            List<PLUILayout> plpagelayoutdefinationList = new ArrayList<>();
+            List<PLTabPage> pltabpagelist = new ArrayList<>();
+            List<PLPageDefination> plpagedefinationlist = new ArrayList<>();
+            List<PLTabButton> pltabbuttonlist = new ArrayList<>();
+            List<PLCommandParameter> plcommandparameterlist = new ArrayList<>();
 
-                List<PLUILayout> plpagelayoutdefinationList = new ArrayList<PLUILayout>();
-                List<PLTabPage> pltabpagelist = new ArrayList<PLTabPage>();
-                List<PLPageDefination> plpagedefinationlist = new ArrayList<PLPageDefination>();
-                List<PLTabButton> pltabbuttonlist = new ArrayList<PLTabButton>();
-                List<PLCommandParameter> plcommandparameterlist = new ArrayList<PLCommandParameter>();
+            /*StringBuffer checkplpagelayoutdefination = new StringBuffer();
+            StringBuffer checkplpagelayoutdefinationPlcode = new StringBuffer();*/
+            StringBuffer plActionIDNulls = new StringBuffer();
 
-                StringBuffer checkplpagelayoutdefination = new StringBuffer();
-                StringBuffer checkplpagelayoutdefinationPlcode = new StringBuffer();
-                StringBuffer plActionIDNulls = new StringBuffer();
+            //add by caill start 鍒濆鍖栨爣璁�
+            int count=0;
+            int preCount=0;
+            String preOID="";
+            String doublePreOID="";
+            String plpageLayoutDefinationId="";
+            String plPageContextOId="";
+            String plCommandOId="";
+            String plTableOId="";
 
-                //add by caill start 鍒濆鍖栨爣璁�
-                int count=0;
-                int preCount=0;
-                String preOID="";
-                String doublePreOID="";
+            //add by caill end
+            PLAction[] allPLAction = platformClientUtil.getUIService().getAllPLAction();
+            Map<String,String> relation = null;
+            List<SheetRowData> rowData = plpagelayoutdefnationsheet.getRowData();
+            for(int i=0; i<rowData.size(); i++){
+                pltabpagelist = new ArrayList<PLTabPage>();
+                PLUILayout p = new PLUILayout();
+                //HSSFRow readrow = plpagelayoutdefnationsheet.getRowData();
+                Map<Integer, String> dataMap = rowData.get(i).getData();
+                if(Func.isEmpty(dataMap)){
+                    break;
+                }
+                //鏍规嵁涓氬姟绫诲瀷鏌ヨui涓婁笅鏂�
+                plpagelayoutdefinations = platformClientUtil.getUIService().getPLUILayoutsByRelatedType(selectBtm);
+
+                p.plOId = ObjectUtility.getNewObjectID36();
+                p.plCode = dataMap.get(1);
+                p.plName = dataMap.get(2);
+                //add by caill start
+                //閬嶅巻UI鍚嶇О
+                for(PLUILayout pd : plpagelayoutdefinations){
+                    if(pd.plName.equals(p.plName) && !isCovered){
+                        //濡傛灉鐢ㄦ埛閫夋嫨瑕嗙洊锛岀浜屾璋冪敤灏变笉浼氫紶瀵煎叆鏂囦欢锛屾墍浠ヨ繖閲屽瓨鍏ョ紦瀛�
+                        redisService.setCacheList(IMPORTUIKEY+sessionInfo.getUserId(),sheetDataSets);
+                        //璁剧疆杩囨湡鏃堕棿涓�5鍒嗛挓锛屽洜涓轰竴鑸儏鍐典笅涓嶄細璇存槸绛夊お涔�
+                        redisService.expire(IMPORTUIKEY+sessionInfo.getUserId(),5, TimeUnit.MINUTES);
+                        throw new VciBaseException(pd.plName+"鍚嶇О宸茬粡瀛樺湪,鏄惁瑕嗙洊?");
+                    }
+                    //鏍规嵁UI涓婁笅鏂囧仛鍒ゆ柇
+                    if(pd.plCode.equals(p.plCode)){
+                        count=1;
+                        preOID=pd.plOId;  //濡傛灉UI涓婁笅鏂囩浉鍚岋紝灏辨妸绯荤粺涓殑id璧嬪�肩粰鏂板鍏ョ殑id
+                        p.plOId=pd.plOId;
+                    }
+                }
                 //add by caill end
-                PLAction[] allPLAction = platformClientUtil.getUIService().getAllPLAction();
-                Map<String,String> relation = null;
-                for(int i=0;i<=plpagelayoutdefnationsheet.getLastRowNum();i++){
-                    pltabpagelist = new ArrayList<PLTabPage>();
-                    PLUILayout p = new PLUILayout();
-                    HSSFRow readrow = plpagelayoutdefnationsheet.getRow(i);
-                    if(readrow==null){
-                        break;
-                    }
+                plpageLayoutDefinationId = dataMap.get(0);
+                String name = dataMap.get(3);
+                p.plRelatedType = dataMap.get(3);
+                p.plIsShowNavigator = Short.parseShort(dataMap.get(4));
+                p.plIsShowTab = Short.parseShort(dataMap.get(5));
+                p.plIsShowForm = Short.parseShort(dataMap.get(6));
+                //閫夋嫨鐨勫拰瀵煎叆鐨勪笟鍔$被鍨嬭妭鐐逛笉涓�鑷�
+                if(!selectBtm.equals(name)){
+                    throw new VciBaseException("璇烽�夋嫨瑕佸鍏ョ殑绫诲瀷鑺傜偣鍚嶇О锛�");
+                }
 
-                    plpagelayoutdefinations = platformClientUtil.getUIService().getPLUILayoutsByRelatedType(btmName);
+                plpagelayoutdefinationList.add(p);
 
-                    p.plOId = ObjectUtility.getNewObjectID36();
-                    HSSFCell readcell = readrow.getCell(0);
-                    p.plName = readcell.getStringCellValue();
-                    readcell = readrow.getCell(1);
-                    p.plCode = readcell.getStringCellValue();
-                    //add by caill start
-                    //閬嶅巻UI鍚嶇О
-                    for(PLUILayout pd : plpagelayoutdefinations){
-                        if(pd.plName.equals(p.plName) && isCovered){
-                            throw new VciBaseException(pd.plName+"鍚嶇О宸茬粡瀛樺湪,鏄惁瑕嗙洊?");
-                        }
-                        //鏍规嵁UI涓婁笅鏂囧仛鍒ゆ柇
-                        if(pd.plCode.equals(p.plCode)){
-                            count=1;
-                            preOID=pd.plOId;  //濡傛灉UI涓婁笅鏂囩浉鍚岋紝灏辨妸绯荤粺涓殑id璧嬪�肩粰鏂板鍏ョ殑id
-                            p.plOId=pd.plOId;
-                        }
-                    }
-                    //add by caill end
-                    readcell = readrow.getCell(2);
-                    plpageLayoutDefinationId = readcell.getStringCellValue();
-                    readcell = readrow.getCell(3);
-                    String name = readcell.getStringCellValue();
-                    readcell = readrow.getCell(4);
-                    p.plRelatedType = readcell.getStringCellValue();
-                    readcell = readrow.getCell(5);
-                    p.plIsShowNavigator = (short) readcell.getNumericCellValue();
-                    readcell = readrow.getCell(6);
-                    p.plIsShowTab = (short) readcell.getNumericCellValue();
-                    readcell = readrow.getCell(7);
-                    p.plIsShowForm = (short) readcell.getNumericCellValue();
-                    //閫夋嫨鐨勫拰瀵煎叆鐨勪笟鍔$被鍨嬭妭鐐逛笉涓�鑷�
-                    if(!selectBtm.equals(name)){
-                        throw new VciBaseException("璇烽�夋嫨瑕佸鍏ョ殑绫诲瀷鑺傜偣鍚嶇О锛�");
-                    }
-
-                    plpagelayoutdefinationList.add(p);
-                    for(int j=0;j<=pltabpagesheet.getLastRowNum();j++){
+                //鍖哄煙瀹氫箟sheet澶勭悊
+                List<SheetRowData> tabPageRowData = pltabpagesheet.getRowData();
+                if(Func.isNotEmpty(tabPageRowData)){
+                    for(int j=0; j<tabPageRowData.size(); j++){
                         plpagedefinationlist = new ArrayList<PLPageDefination>();
                         PLTabPage pt = new PLTabPage();
-                        HSSFRow readrow1 = pltabpagesheet.getRow(j);
-                        if(readrow1==null){
+                        Map<Integer, String> tabPageDataMap = tabPageRowData.get(j).getData();
+                        if(Func.isEmpty(tabPageDataMap)){
                             break;
                         }
                         pt.plOId = ObjectUtility.getNewObjectID36();
-                        HSSFCell readcell1 = readrow1.getCell(0);
-                        pt.plName = readcell1.getStringCellValue();
-                        readcell1 = readrow1.getCell(1);
-                        pt.plCode = readcell1.getStringCellValue();
+                        pt.plCode = tabPageDataMap.get(2);
+                        pt.plName = tabPageDataMap.get(4);
                         //add by caill start
                         if(count==1) {
                             PLTabPage[] PLTabPages = platformClientUtil.getUIService().getPLTabPagesByPageDefinationOId(preOID);
@@ -644,235 +652,198 @@
                             }
                         }
                         //add by caill end
-                        readcell1 = readrow1.getCell(2);
-                        pt.plSeq = (short) readcell1.getNumericCellValue();
-                        readcell1 = readrow1.getCell(3);
-                        pt.plContextOId = readcell1.getStringCellValue();
-                        readcell1 = readrow1.getCell(4);
-                        pt.plDesc = readcell1.getStringCellValue();
-                        readcell1 = readrow1.getCell(5);
-                        pt.plIsOpen = (short) readcell1.getNumericCellValue();
-                        readcell1 = readrow1.getCell(6);
-                        pt.plAreaType = (short) readcell1.getNumericCellValue();
-                        readcell1 = readrow1.getCell(7);
-                        pt.plOpenExpression = readcell1.getStringCellValue();
-                        readcell1 = readrow1.getCell(8);
-                        pt.plLicensOrs = readcell1.getStringCellValue();
-                        readcell1 = readrow1.getCell(9);
-                        pt.plLabel = readcell1.getStringCellValue();
-                        readcell1 = readrow1.getCell(10);
-                        String plPageContextOId = readcell1.getStringCellValue();
+                        pt.plSeq = Short.parseShort(tabPageDataMap.get(1));
+                        pt.plLabel = tabPageDataMap.get(3);
+                        pt.plContextOId = tabPageDataMap.get(5);
+                        pt.plAreaType = Short.parseShort(tabPageDataMap.get(6));
+                        pt.plIsOpen = Short.parseShort(tabPageDataMap.get(7));
+                        pt.plOpenExpression = tabPageDataMap.get(8);
+                        pt.plUIParser = tabPageDataMap.get(9);
+                        pt.plExtAttr = tabPageDataMap.get(10);
+                        pt.plDesc = tabPageDataMap.get(11);
+                        pt.plLicensOrs = tabPageDataMap.get(12);
+                        plPageContextOId = tabPageDataMap.get(5);
                         if(pt.plContextOId.equals(plpageLayoutDefinationId)){
                             pt.plContextOId = p.plOId;
                             pltabpagelist.add(pt);
-                            for(int k=0;k<=plpagedefinationsheet.getLastRowNum();k++){
-                                pltabbuttonlist = new ArrayList<PLTabButton>();
-                                PLPageDefination plpagedefination  = new PLPageDefination();
-                                HSSFRow readrow2 = plpagedefinationsheet.getRow(k);
-                                if(readrow2==null){
-                                    break;
-                                }
-                                plpagedefination.plOId = ObjectUtility.getNewObjectID36();
-                                HSSFCell readcell2 = readrow2.getCell(0);
-                                plpagedefination.name = readcell2.getStringCellValue();
-                                //add by caill start
-                                //鏈�鍚庝竴绾х殑鍒ゆ柇
-                                if(preCount==1) {
-                                    PLPageDefination[] PLPageDefinations = platformClientUtil.getUIService().getPLPageDefinationsByPageContextOId(doublePreOID);
-                                    for(PLPageDefination plp : PLPageDefinations) {
-                                        if(plp.name.equals(plpagedefination.name)) {
-                                            plpagedefination.plOId=plp.plOId;
+                            //椤甸潰璁捐澶勭悊
+                            List<SheetRowData> pagedefinationRowData = plpagedefinationsheet.getRowData();
+                            if(Func.isNotEmpty(pagedefinationRowData)){
+                                for(int k=0;k<pagedefinationRowData.size();k++){
+                                    pltabbuttonlist = new ArrayList<>();
+                                    PLPageDefination plpagedefination  = new PLPageDefination();
+                                    Map<Integer, String> pagedefinationDataMap = pagedefinationRowData.get(k).getData();
+
+                                    if(Func.isEmpty(pagedefinationDataMap)){
+                                        break;
+                                    }
+                                    plpagedefination.plOId = ObjectUtility.getNewObjectID36();
+                                    plpagedefination.name = pagedefinationDataMap.get(3);
+                                    //add by caill start
+                                    //鏈�鍚庝竴绾х殑鍒ゆ柇
+                                    if(preCount==1) {
+                                        PLPageDefination[] PLPageDefinations = platformClientUtil.getUIService().getPLPageDefinationsByPageContextOId(doublePreOID);
+                                        for(PLPageDefination plp : PLPageDefinations) {
+                                            if(plp.name.equals(plpagedefination.name)) {
+                                                plpagedefination.plOId=plp.plOId;
+
+                                            }
 
                                         }
-
                                     }
-                                }
-                                //add by caill end
-                                readcell2 = readrow2.getCell(1);
-                                plpagedefination.plDefination = readcell2.getStringCellValue();
-                                readcell2 = readrow2.getCell(2);
-                                plpagedefination.seq = (short) readcell2.getNumericCellValue();
-                                readcell2 = readrow2.getCell(3);
-                                plpagedefination.plTabPageOId = readcell2.getStringCellValue();
-                                readcell2 = readrow2.getCell(4);
-                                plpagedefination.desc = readcell2.getStringCellValue();
-                                readcell2 = readrow2.getCell(5);
-                                plpagedefination.plType = (short) readcell2.getNumericCellValue();
-                                readcell2 = readrow2.getCell(6);
-                                plTableOId = readcell2.getStringCellValue();
-                                if(plpagedefination.plTabPageOId.equals(plPageContextOId)){
-                                    plpagedefination.plTabPageOId = pt.plOId;
-                                    plpagedefinationlist.add(plpagedefination);
-                                    //淇濆瓨鏂版棫oid鐨勫叧绯伙紝鍦ㄧ‘瀹氬眰绾у叧绯绘椂浣跨敤
-                                    relation = new HashMap<String,String>();
-                                    for(int a=0;a<=pltabbuttonsheet.getLastRowNum();a++){
-                                        HSSFRow readrow3 = pltabbuttonsheet.getRow(a);
-                                        if(readrow3!=null){
-                                            HSSFCell readcell3 = readrow3.getCell(7);
-                                            plCommandOId = readcell3.getStringCellValue();
-                                            String newOId = ObjectUtility.getNewObjectID36();
-                                            relation.put(plCommandOId, newOId);
-                                        }
-                                    }
-                                    for(int a=0;a<=pltabbuttonsheet.getLastRowNum();a++){
-                                        plcommandparameterlist = new ArrayList<PLCommandParameter>();
-                                        PLTabButton plTabButton = new PLTabButton();
-                                        HSSFRow readrow3 = pltabbuttonsheet.getRow(a);
-                                        if(readrow3==null){
-                                            break;
-                                        }
-                                        plTabButton.plOId = ObjectUtility.getNewObjectID36();
-                                        HSSFCell readcell3 = readrow3.getCell(0);
-                                        plTabButton.plLabel = readcell3.getStringCellValue();
-                                        readcell3 = readrow3.getCell(1);
-                                        plTabButton.plAreaType = readcell3.getStringCellValue();
-                                        readcell3 = readrow3.getCell(2);
-                                        plTabButton.plTableOId = readcell3.getStringCellValue();
-                                        readcell3 = readrow3.getCell(3);
-                                        plTabButton.plSeq = (short) readcell3.getNumericCellValue();
-                                        String plActionId = "";
-                                        //PLAction[] allPLAction = Tool.getService().getAllPLAction();
-                                        for(PLAction action : allPLAction){
-                                            if((readrow3.getCell(4).getStringCellValue()!=null&&!"".equals(readrow3.getCell(4).getStringCellValue())
-                                            )&&(readrow3.getCell(4).getStringCellValue().trim().equals(action.plCode.trim()))
-                                            ){
-                                                plActionId = action.plOId;
-                                                break;
+                                    //add by caill end
+                                    plpagedefination.plDefination = pagedefinationDataMap.get(6);
+                                    plpagedefination.seq = Short.parseShort(pagedefinationDataMap.get(5));
+                                    plpagedefination.plTabPageOId = pagedefinationDataMap.get(1);
+                                    plpagedefination.desc = pagedefinationDataMap.get(4);
+                                    plpagedefination.plType = Short.parseShort(pagedefinationDataMap.get(2));
+                                    plTableOId = pagedefinationDataMap.get(1);
+                                    if(plpagedefination.plTabPageOId.equals(plPageContextOId)){
+                                        plpagedefination.plTabPageOId = pt.plOId;
+                                        plpagedefinationlist.add(plpagedefination);
+                                        //淇濆瓨鏂版棫oid鐨勫叧绯伙紝鍦ㄧ‘瀹氬眰绾у叧绯绘椂浣跨敤
+                                        relation = new HashMap<String,String>();
+                                        List<SheetRowData> tabbuttonRowData = pltabbuttonsheet.getRowData();
+                                        if(Func.isNotEmpty(tabbuttonRowData)){
+                                            for(int a=0;a<tabbuttonRowData.size();a++){
+                                                Map<Integer, String> tabbuttonDataMap = tabbuttonRowData.get(a).getData();
+                                                if(Func.isNotEmpty(tabbuttonDataMap)){
+                                                    plCommandOId = tabbuttonDataMap.get(1);
+                                                    String newOId = ObjectUtility.getNewObjectID36();
+                                                    relation.put(plCommandOId, newOId);
+                                                }
                                             }
-                                        }
-                                        if(plActionId==null||"".equals(plActionId)){
-                                            if(!plActionIDNulls.toString().contains(readrow3.getCell(4).getStringCellValue())){
-                                                plActionIDNulls.append("\n\tAction缂栧彿:"+readrow3.getCell(4).getStringCellValue());
-                                            }
-                                        }
-                                        plTabButton.plActionOId = plActionId;
-                                        readcell3 = readrow3.getCell(5);
-                                        plTabButton.plAreaType = readcell3.getStringCellValue();
-                                        readcell3 = readrow3.getCell(6);
-                                        plTabButton.plDesc = readcell3.getStringCellValue();
-                                        readcell3 = readrow3.getCell(8);
-                                        String parentOid = readcell3.getStringCellValue();//鐖秓id
-                                        readcell3 = readrow3.getCell(7);
-                                        plCommandOId = readcell3.getStringCellValue();
-                                        readcell3 = readrow3.getCell(9);
-                                        if(readcell3 != null) {
-                                            plTabButton.displayMode = readcell3.getStringCellValue();
-                                        }
-                                        readcell3 = readrow3.getCell(10);
-                                        if(readcell3 != null) {
-                                            plTabButton.iconPath = readcell3.getStringCellValue();
-                                        }
-                                        readcell3 = readrow3.getCell(11);
-                                        if(readcell3 != null) {
-                                            plTabButton.authorization = readcell3.getStringCellValue();
-                                        }
-                                        readcell3 = readrow3.getCell(12);
-                                        if(readcell3 != null) {
-                                            plTabButton.show = readcell3.getStringCellValue();
-                                        }
-                                        //璧嬩簣淇濆瓨濂界殑鍊硷紝鏉ヤ繚璇佸眰绾у叧绯讳笉浼氫涪澶�
-                                        plTabButton.plOId = relation.get(plCommandOId);
-                                        if(parentOid != null && parentOid.length() > 0) {
-                                            plTabButton.plParentOid =
-                                                    relation.get(parentOid) == null ? "" : relation.get(parentOid);
-                                        }
-                                        if(plTabButton.plTableOId.equals(plTableOId)){
-                                            plTabButton.plTableOId = plpagedefination.plOId;
-                                            pltabbuttonlist.add(plTabButton);
-                                            for(int b=0;b<=plcommondparamsheet.getLastRowNum();b++){
-                                                PLCommandParameter plCommandParameter = new PLCommandParameter();
-                                                HSSFRow readrow4 = plcommondparamsheet.getRow(b);
-                                                if(readrow4==null){
+                                            for(int a=0;a<tabbuttonRowData.size();a++){
+                                                plcommandparameterlist = new ArrayList<PLCommandParameter>();
+                                                PLTabButton plTabButton = new PLTabButton();
+                                                Map<Integer, String> tabbuttonDataMap = tabbuttonRowData.get(a).getData();
+                                                if(Func.isEmpty(tabbuttonDataMap)){
                                                     break;
                                                 }
-                                                plCommandParameter.plOId = ObjectUtility.getNewObjectID36();
-                                                HSSFCell readcell4 = readrow4.getCell(0);
-                                                plCommandParameter.plCommandOId = readcell4.getStringCellValue();
-                                                readcell4 = readrow4.getCell(1);
-                                                plCommandParameter.plKey = readcell4.getStringCellValue();
-                                                readcell4 = readrow4.getCell(2);
-                                                plCommandParameter.plValue = readcell4.getStringCellValue();
-                                                if(plCommandParameter.plCommandOId.equals(plCommandOId)){
-                                                    plCommandParameter.plCommandOId = plTabButton.plOId;
-                                                    plcommandparameterlist.add(plCommandParameter);
+                                                plTabButton.plOId = ObjectUtility.getNewObjectID36();
+                                                plTabButton.plLabel = tabbuttonDataMap.get(4);
+                                                plTabButton.plAreaType = tabbuttonDataMap.get(5);
+                                                plTabButton.plTableOId = tabbuttonDataMap.get(1);
+                                                plTabButton.plSeq = Short.parseShort(tabbuttonDataMap.get(7));
+                                                String plActionId = "";
+                                                //PLAction[] allPLAction = Tool.getService().getAllPLAction();
+                                                for(PLAction action : allPLAction){
+                                                    if((tabbuttonDataMap.get(3)!=null&&!"".equals(tabbuttonDataMap.get(3))
+                                                    )&&(tabbuttonDataMap.get(3).trim().equals(action.plCode.trim()))
+                                                    ){
+                                                        plActionId = action.plOId;
+                                                        break;
+                                                    }
+                                                }
+                                                if(plActionId==null||"".equals(plActionId)){
+                                                    if(!plActionIDNulls.toString().contains(tabbuttonDataMap.get(3))){
+                                                        plActionIDNulls.append("\n\tAction缂栧彿:"+tabbuttonDataMap.get(3));
+                                                    }
+                                                }
+                                                plTabButton.plActionOId = plActionId;
+                                                plTabButton.plAreaType = tabbuttonDataMap.get(5);
+                                                plTabButton.plDesc = tabbuttonDataMap.get(6);
+                                                String parentOid = tabbuttonDataMap.get(8);//鐖秓id
+                                                plCommandOId = tabbuttonDataMap.get(1);
+                                                plTabButton.displayMode = tabbuttonDataMap.get(9);
+                                                plTabButton.iconPath = tabbuttonDataMap.get(10);
+                                                plTabButton.authorization = tabbuttonDataMap.get(11);
+                                                plTabButton.show = tabbuttonDataMap.get(12);
+
+                                                //璧嬩簣淇濆瓨濂界殑鍊硷紝鏉ヤ繚璇佸眰绾у叧绯讳笉浼氫涪澶�
+                                                plTabButton.plOId = relation.get(plCommandOId);
+                                                if(parentOid != null && parentOid.length() > 0) {
+                                                    plTabButton.plParentOid =
+                                                            relation.get(parentOid) == null ? "" : relation.get(parentOid);
+                                                }
+                                                if(plTabButton.plTableOId.equals(plTableOId)){
+                                                    plTabButton.plTableOId = plpagedefination.plOId;
+                                                    pltabbuttonlist.add(plTabButton);
+                                                    List<SheetRowData> commondparamsRowData = plcommondparamsheet.getRowData();
+                                                    if(Func.isNotEmpty(commondparamsRowData)){
+                                                        for(int b=0;b<commondparamsRowData.size();b++){
+                                                            PLCommandParameter plCommandParameter = new PLCommandParameter();
+                                                            Map<Integer, String> commandParameterDataMap = commondparamsRowData.get(b).getData();
+                                                            if(Func.isEmpty(commandParameterDataMap)){
+                                                                break;
+                                                            }
+                                                            plCommandParameter.plOId = ObjectUtility.getNewObjectID36();
+                                                            plCommandParameter.plCommandOId = commandParameterDataMap.get(1);
+                                                            plCommandParameter.plKey = commandParameterDataMap.get(2);
+                                                            plCommandParameter.plValue = commandParameterDataMap.get(3);
+                                                            if(plCommandParameter.plCommandOId.equals(plCommandOId)){
+                                                                plCommandParameter.plCommandOId = plTabButton.plOId;
+                                                                plcommandparameterlist.add(plCommandParameter);
+                                                            }
+                                                        }
+                                                        bcMap.put(plTabButton, plcommandparameterlist);
+                                                    }
                                                 }
                                             }
-                                            bcMap.put(plTabButton, plcommandparameterlist);
+                                            dbMap.put(plpagedefination, pltabbuttonlist);
                                         }
                                     }
-                                    dbMap.put(plpagedefination, pltabbuttonlist);
                                 }
+                                tdMap.put(pt, plpagedefinationlist);
                             }
-                            tdMap.put(pt, plpagedefinationlist);
                         }
                     }
                     pdMap.put(p, pltabpagelist);
                 }
-
-                if(plActionIDNulls.length()>0){
-                    VCIOptionPane.showMessage(PLTApplication.frame, plActionIDNulls.toString()+"涓嶅瓨鍦紒");
-                    return false;
-                }
-
-                //鍒犻櫎鍘熸湁button鏁版嵁
-                if(tdMap.size() > 0) {
-                    for(List<PLPageDefination> list : tdMap.values()) {
-                        for(PLPageDefination ppd : list) {
-                            if(ppd.plOId != null && ppd.plOId.length() > 0) {
-                                PLTabButton[] buttons = platformClientUtil.getUIService().getPLTabButtonsByTableOId(ppd.plOId);
-                                if(buttons != null && buttons.length > 0) {
-                                    for(PLTabButton ptb : buttons) {
-                                        platformClientUtil.getUIService().deletePLTabButtonByID(ptb.plOId);
-                                    }
-                                }
-                            }
-                        }
-                    }
-                }
-
-                for(PLUILayout plPageLayoutDefination : plpagelayoutdefinationList){
-                    List<PLTabPage> pltabpagelists = pdMap.get(plPageLayoutDefination);
-                    for(PLTabPage pltabpage:pltabpagelists){
-                        List<PLPageDefination> plpagedefinationlists = tdMap.get(pltabpage);
-                        for(PLPageDefination plpagedefination : plpagedefinationlists){
-                            List<PLTabButton> pltabbuttons = dbMap.get(plpagedefination);
-                            for(PLTabButton pltabbutton : pltabbuttons){
-                                List<PLCommandParameter> plcommandParams = bcMap.get(pltabbutton);
-                                for(PLCommandParameter plcommandparameter : plcommandParams){
-                                    plcommandparameter.plCreateUser = sessionInfo.getUserId();
-                                    plcommandparameter.plModifyUser = sessionInfo.getUserId();
-                                    platformClientUtil.getUIService().savePLCommandParameter(plcommandparameter);
-                                }
-                                pltabbutton.plCreateUser = sessionInfo.getUserId();
-                                pltabbutton.plModifyUser = sessionInfo.getUserId();
-                                platformClientUtil.getUIService().savePLTabButton(pltabbutton);
-                            }
-                            platformClientUtil.getUIService().savePLPageDefination(plpagedefination);
-                        }
-                        pltabpage.plCreateUser = sessionInfo.getUserId();
-                        pltabpage.plModifyUser = sessionInfo.getUserId();
-                        platformClientUtil.getUIService().savePLTabPage(pltabpage);
-                    }
-                    plPageLayoutDefination.plCreateUser = sessionInfo.getUserId();
-                    plPageLayoutDefination.plModifyUser = sessionInfo.getUserId();
-                    platformClientUtil.getUIService().savePLUILayout(plPageLayoutDefination);
-                }
-                return true;
-            } catch (IOException e) {
-                e.printStackTrace();
-                return false;
-            } catch (PLException e) {
-                e.printStackTrace();
-                return false;
             }
-        } catch (FileNotFoundException e) {
+
+            if(plActionIDNulls.length()>0){
+                throw new VciBaseException(plActionIDNulls.toString()+"涓嶅瓨鍦紒");
+            }
+
+            //鍒犻櫎鍘熸湁button鏁版嵁
+            if(tdMap.size() > 0) {
+                for(List<PLPageDefination> list : tdMap.values()) {
+                    for(PLPageDefination ppd : list) {
+                        if(ppd.plOId != null && ppd.plOId.length() > 0) {
+                            PLTabButton[] buttons = platformClientUtil.getUIService().getPLTabButtonsByTableOId(ppd.plOId);
+                            if(buttons != null && buttons.length > 0) {
+                                for(PLTabButton ptb : buttons) {
+                                    platformClientUtil.getUIService().deletePLTabButtonByID(ptb.plOId);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+
+            for(PLUILayout plPageLayoutDefination : plpagelayoutdefinationList){
+                List<PLTabPage> pltabpagelists = pdMap.get(plPageLayoutDefination);
+                for(PLTabPage pltabpage:pltabpagelists){
+                    List<PLPageDefination> plpagedefinationlists = tdMap.get(pltabpage);
+                    for(PLPageDefination plpagedefination : plpagedefinationlists){
+                        List<PLTabButton> pltabbuttons = dbMap.get(plpagedefination);
+                        for(PLTabButton pltabbutton : pltabbuttons){
+                            List<PLCommandParameter> plcommandParams = bcMap.get(pltabbutton);
+                            for(PLCommandParameter plcommandparameter : plcommandParams){
+                                plcommandparameter.plCreateUser = sessionInfo.getUserId();
+                                plcommandparameter.plModifyUser = sessionInfo.getUserId();
+                                platformClientUtil.getUIService().savePLCommandParameter(plcommandparameter);
+                            }
+                            pltabbutton.plCreateUser = sessionInfo.getUserId();
+                            pltabbutton.plModifyUser = sessionInfo.getUserId();
+                            platformClientUtil.getUIService().savePLTabButton(pltabbutton);
+                        }
+                        platformClientUtil.getUIService().savePLPageDefination(plpagedefination);
+                    }
+                    pltabpage.plCreateUser = sessionInfo.getUserId();
+                    pltabpage.plModifyUser = sessionInfo.getUserId();
+                    platformClientUtil.getUIService().savePLTabPage(pltabpage);
+                }
+                plPageLayoutDefination.plCreateUser = sessionInfo.getUserId();
+                plPageLayoutDefination.plModifyUser = sessionInfo.getUserId();
+                platformClientUtil.getUIService().savePLUILayout(plPageLayoutDefination);
+            }
+            return BaseResult.success("UI涓婁笅鏂囧鍏ユ垚鍔燂紒");
+        } catch (PLException e) {
             e.printStackTrace();
-            return false;
+            return BaseResult.success("UI涓婁笅鏂囧鍏ュけ璐�,鍘熷洜锛�"+VciBaseUtil.getExceptionMessage(e));
         }
-
-*/
-
-        return null;
     }
 
     /**
@@ -2132,7 +2103,6 @@
         });
     }
 
-
     /**
      * UI瑙掕壊瀵硅薄杞崲
      * @param vos
@@ -2149,7 +2119,6 @@
     }
 
 
-
     /**
      * UI瑙掕壊瀵硅薄杞崲
      * @param infos
@@ -2164,6 +2133,7 @@
 
         return roleRightVOS;
     }
+
     /**
      * UI瑙掕壊瀵硅薄杞崲
      * @param dtos
@@ -2183,6 +2153,7 @@
 
         return roleRightInfoList;
     }
+
     /**
      * UI瑙掕壊瀵硅薄杞崲
      * @param info
@@ -2202,6 +2173,7 @@
         vo.setModifyUser(info.modifyUser);
         return vo;
     }
+
     /**
      * UI瑙掕壊瀵硅薄杞崲
      * @param vo

--
Gitblit v1.9.3