From 7a61f5f2f29a069cd8947ea46b6b2329ac0f5d44 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 02 八月 2024 12:02:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsStatusServiceImpl.java |   72 +++++++++++++++++++----------------
 1 files changed, 39 insertions(+), 33 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsStatusServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsStatusServiceImpl.java
index 033c3f4..52e0be9 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsStatusServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsStatusServiceImpl.java
@@ -1,11 +1,7 @@
 package com.vci.web.service.impl;
 
 import com.vci.corba.common.PLException;
-import com.vci.corba.omd.atm.AttributeDef;
 import com.vci.corba.omd.stm.StatePool;
-import com.vci.dto.OsAttributeDTO;
-import com.vci.pagemodel.OsEnumVO;
-import com.vci.po.OsAttributePO;
 import com.vci.po.OsStatusPO;
 import com.vci.starter.poi.bo.ReadExcelOption;
 import com.vci.starter.poi.bo.WriteExcelData;
@@ -280,17 +276,19 @@
     public boolean addSave(OsStatusDTO statusDTO) throws Exception {
         VciBaseUtil.alertNotNull(
             statusDTO,"鐘舵�佺殑淇℃伅",
-            statusDTO.getId(),"鐘舵�佺殑鑻辨枃鍚嶇О",
-            statusDTO.getName(),"鐘舵�佺殑涓枃鍚嶇О"
+            statusDTO.getId(),"鐘舵�佺殑鑻辨枃鍚嶇О"
         );
-        StatePool dbStatePool = platformClientUtil.getStatePoolService().getStatePool(statusDTO.getId());
-        if (Func.isNotEmpty(dbStatePool) && Func.isNotBlank(dbStatePool.oid)) {
-            throw new PLException("500",new String[]{"鍚嶇О閲嶅璇锋洿鎹㈠悕绉帮紒"});
+        if (statusDTO.getId().length()>50) {
+            throw new PLException("500",new String[]{"鐘舵�佽嫳鏂囧悕绉颁笉鑳借秴杩�50涓瓧绗︼紒"});
         }
         // 鐘舵�佹睜鍚嶇О鍙兘涓鸿嫳鏂囧瓧姣�
         String regex = "[a-z A-Z]*";
-        if ((!statusDTO.getId().matches(regex))) {
+        if (!statusDTO.getId().matches(regex)) {
             throw new PLException("500",new String[]{"鍚嶇О鍙兘涓鸿嫳鏂囷紒"});
+        }
+        StatePool dbStatePool = platformClientUtil.getStatePoolService().getStatePool(statusDTO.getId());
+        if (Func.isNotEmpty(dbStatePool) && Func.isNotBlank(dbStatePool.oid)) {
+            throw new PLException("500",new String[]{"鍚嶇О閲嶅璇锋洿鎹㈠悕绉帮紒"});
         }
         //铏界劧浼氳嚜鍔ㄧ敓鎴恛id锛屼絾鏄繖鍎胯缃富閿紝閬垮厤鏀惧叆缂撳瓨鐨勬暟鎹槸娌℃湁oid鐨�
         statusDTO.setOid(VciBaseUtil.getPk().toUpperCase(Locale.ROOT));
@@ -351,26 +349,23 @@
         for(OsStatusDTO statusDTO : osStatusDTOS){
             //oid鍜宼s鍒ょ┖
             String oid = statusDTO.getOid();
-            //name涓昏鐢ㄦ潵瀵圭紦瀛樻暟鎹垹闄�
-            String name = statusDTO.getName();
+            //id涓昏鐢ㄦ潵瀵圭紦瀛樻暟鎹垹闄�
+            String id = statusDTO.getId();
             //鍚庡彴浼氱敤ts杩涜鏁版嵁涓�鑷存�ф牎楠�
             Date ts = statusDTO.getTs();
-            if(Func.isBlank(oid) || Func.isBlank(name) || Func.isEmpty(ts)){
+            if(Func.isBlank(oid) || Func.isBlank(id) || Func.isEmpty(ts)){
                 throw new PLException("500",new String[]{"寰呭垹闄ょ殑鐘舵�佸垪琛ㄤ腑涓婚敭銆恛id銆戙�佽皟鏁存椂闂淬�恡s銆戙�佺姸鎬佸悕绉般�恘ame銆戜笉鑳戒负绌猴紒"});
             }
             StatePool statePool = new StatePool();
             statePool.oid = oid;
-            statePool.name = name;
+            statePool.name = id;
             statePool.ts = Func.format(ts,VciDateUtil.DateTimeMillFormat);
             statePoolList.add(statePool);
-            boolean res = platformClientUtil.getStatePoolService().deleteStatePool(statePool);
-            if(!res){
-                throw new PLException("500",new String[]{"鍒犻櫎鐘舵�佸悕绉颁负銆�" + name + "銆戠殑鏁版嵁鏃跺嚭鐜伴敊璇�!"});
-            }
         }
+        boolean res = platformClientUtil.getStatePoolService().deleteStatePools(statePoolList.toArray(new StatePool[statePoolList.size()]));
         //clearCache();
         self.selectAllStatusMap();
-        return true;
+        return res;
     }
 
     /**
@@ -384,7 +379,7 @@
         statePool.oid = statusDTO.getOid();
         statePool.id = "";
         statePool.name = statusDTO.getId();
-        statePool.imagePath = statusDTO.getImagePath();
+        //statePool.imagePath = statusDTO.getImagePath();
         statePool.description = statusDTO.getDescription()==null?"":statusDTO.getDescription();
         String userId = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId();
         long now = VciDateUtil.getNowTime();
@@ -404,14 +399,14 @@
      * @return
      */
     @Override
-    public String exportStatus(String exportFileName, String statusOids) throws PLException {
+    public String exportStatus(String exportFileName, String statusOids,boolean flag/*鎺у埗瀵煎嚭鐨勫垪鍚嶆槸鍚﹀拰瀵煎叆妯℃澘涓�鑷�*/) throws PLException {
         if(Func.isBlank(statusOids)){
             throw new PLException("500",new String[]{"璇峰嬀閫夎瀵煎嚭鐨勫睘鎬�!"});
         }
         //鐣岄潰娌′紶鍚嶇О锛屼娇鐢ㄩ粯璁ゅ鍑哄悕绉�
         exportFileName = Func.isBlank(exportFileName) ?  "鐘舵�佹睜鐘舵�佸鍑篲" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss"):exportFileName;
         //璁剧疆鍒楀悕
-        List<String> columns = new ArrayList<>(Arrays.asList("鍚嶇О", "鏍囩", "鍥剧墖", "鎻忚堪"));
+        List<String> columns = this.getCloumns(flag);
 
         //鍐檈xcel
         String excelPath = LocalFileUtil.getDefaultTempFolder() + File.separator + exportFileName +  ".xls";
@@ -433,7 +428,7 @@
             OsStatusVO osStatusVO = this.getObjectByOid(oid);
             excelDataList.add(new WriteExcelData(i.get(),0, osStatusVO.getId()));
             excelDataList.add(new WriteExcelData(i.get(),1, osStatusVO.getName()));
-            excelDataList.add(new WriteExcelData(i.get(),2, osStatusVO.getImagePath()));
+            //excelDataList.add(new WriteExcelData(i.get(),2, osStatusVO.getImagePath()));
             excelDataList.add(new WriteExcelData(i.get(),3, osStatusVO.getDescription()));
             i.getAndIncrement();
         });
@@ -453,9 +448,7 @@
         //鐣岄潰娌′紶鍚嶇О锛屼娇鐢ㄩ粯璁ゅ鍑哄悕绉�
         exportFileName = Func.isBlank(exportFileName) ?  "鐘舵�佹睜瀵煎叆妯℃澘_" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss"):exportFileName;
         //璁剧疆鍒楀悕
-        List<String> columns = new ArrayList<>(
-                Arrays.asList("鍚嶇О(涓嶈兘涓虹┖)", "鏍囩(瀵瑰悕绉扮殑瑙i噴)","鍥剧墖(璺緞)", "鎻忚堪(鍙互涓虹┖)")
-        );
+        List<String> columns = this.getCloumns(true);
         //璁剧疆蹇呭~鍒�
         ColumnNameisRed.clear();
         ColumnNameisRed.add(0);
@@ -486,6 +479,20 @@
     }
 
     /**
+     * 鑾峰彇瀵煎嚭鎴栧鍏ユā鏉跨殑鍒楀悕
+     * @param flag 鏄惁鑾峰彇瀵煎叆妯℃澘鍒楀悕
+     * @return
+     */
+    private List<String> getCloumns(boolean flag){
+        if(flag){
+            return new ArrayList<>(
+                    Arrays.asList("鍚嶇О(涓嶈兘涓虹┖)", "鏍囩(瀵瑰悕绉扮殑瑙i噴)"/*,"鍥剧墖(璺緞)"*/, "鎻忚堪(鍙互涓虹┖)")
+            );
+        }
+        return new ArrayList<>(Arrays.asList("鍚嶇О", "鏍囩"/*, "鍥剧墖"*/, "鎻忚堪"));
+    }
+
+    /**
      * 瀵煎叆鐘舵��
      * @param file
      * @return
@@ -508,7 +515,6 @@
             List<StatePool> statePoolList = new ArrayList<>();
             //褰撳墠excel涓槸鍚﹂噸澶嶇敤鐨勫垽閲峂ap:锛坘ey锛氬垽閲嶅睘鎬э紝value锛氳鍙凤級
             Map<String, String> excelReapeat = new HashMap<>();
-            //鍒ゆ柇蹇呭~灞炴�ф槸鍚︿负绌猴紝鐢ㄦ埛鏄惁宸插瓨鍦紝浠ュ強閮ㄩ棬鏄惁濉敊绛夋牎楠岄�昏緫
             poList.stream().forEach(osStatusPO -> {
                 try {
                     StatePool dbStatePool = platformClientUtil.getStatePoolService().getStatePool(osStatusPO.getId());
@@ -518,14 +524,14 @@
                 } catch (PLException e) {
                     e.printStackTrace();
                     logger.error(e.getMessage());
-                    throw new VciBaseException(e.getMessage());
+                    throw new VciBaseException(VciBaseUtil.getExceptionMessage(e));
                 }
-                if(Func.isBlank(osStatusPO.getId())){//灞炴�у悕鍒ょ┖
-                    throw new VciBaseException("绗��"+osStatusPO.getRowIndex()+"銆戣锛宔numnameerror");
+                if(Func.isBlank(osStatusPO.getId())){//鐘舵�佸悕鍒ょ┖
+                    throw new VciBaseException("绗��"+osStatusPO.getRowIndex()+"銆戣锛宻tatusnameerror");
                 }else if(!osStatusPO.getId().matches("[a-z A-Z]*")){
                     // 鐘舵�佹睜鍚嶇О鍙兘涓鸿嫳鏂囧瓧姣�
                     throw new VciBaseException("鍚嶇О鍙兘涓鸿嫳鏂囷紒");
-                }else if(excelReapeat.containsKey(osStatusPO.getId())){//灞炴�у悕琛ㄦ牸涓垽閲�
+                }else if(excelReapeat.containsKey(osStatusPO.getId())){//鐘舵�佸悕琛ㄦ牸涓垽閲�
                     throw new VciBaseException("绗��"+excelReapeat.get(osStatusPO.getId())+"銆戣鍜岀銆�"+osStatusPO.getRowIndex()+"銆戣鏁版嵁锛屽悕绉伴噸澶�");
                 }
                 //鐘舵�佸悕excel涓垽閲嶅鐞�
@@ -534,7 +540,7 @@
                 osStatusDTO.setOid(VciBaseUtil.getPk().toUpperCase(Locale.ROOT));
                 osStatusDTO.setId(osStatusPO.getId());
                 osStatusDTO.setName(osStatusPO.getName());
-                osStatusDTO.setImagePath(osStatusPO.getImagePath());
+                //osStatusDTO.setImagePath(osStatusPO.getImagePath());
                 osStatusDTO.setDescription(osStatusPO.getDescription());
                 statePoolList.add(statusDTO2DO(osStatusDTO));
 
@@ -548,7 +554,7 @@
             e.printStackTrace();
             return BaseResult.fail(VciBaseUtil.getExceptionMessage(e),new String[]{},e);
         }
-        return BaseResult.success("鏋氫妇瀵煎叆鎴愬姛锛�");
+        return BaseResult.success("鐘舵�佸鍏ユ垚鍔燂紒");
     }
 
     /**

--
Gitblit v1.9.3