From f809d63fdef03f2224a1832b508f8fa00a0b0255 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 25 十月 2024 14:38:10 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
/dev/null | 67 ---------
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsTypeActionController.java | 89 ++++++++++++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsTypeActionServiceI.java | 40 +++++
Source/plt-web/plt-web-ui/src/api/system/fileCab/api.js | 6
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLTypeActionDTO.java | 31 ++++
Source/plt-web/plt-web-ui/src/views/system/fileCab/index.vue | 24 +++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsTypeActionServiceImpl.java | 97 +++++++++++++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsAttributeController.java | 7
8 files changed, 285 insertions(+), 76 deletions(-)
diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLTypeActionDTO.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLTypeActionDTO.java
new file mode 100644
index 0000000..99bae91
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLTypeActionDTO.java
@@ -0,0 +1,31 @@
+package com.vci.dto;
+
+import com.vci.corba.portal.data.PLAction;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 绫诲瀷Action鏁版嵁浼犺緭瀵硅薄
+ * @author ludc
+ * @date 2024/10/24 18:11
+ */
+@Data
+public class PLTypeActionDTO implements java.io.Serializable{
+
+ /**
+ * 绂佹淇敼杩欎釜鍊�
+ */
+ private static final long serialVersionUID = 2009350578651813261L;
+
+ /**
+ * Action鎵�鍦ㄧ殑涓氬姟绫诲瀷鍚�
+ */
+ private String plTypeName;
+
+ /**
+ * action瀵硅薄
+ */
+ private List<PLAction> actions;
+
+}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsAttributeController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsAttributeController.java
index 2323993..e33e49b 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsAttributeController.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsAttributeController.java
@@ -48,10 +48,8 @@
*/
private Logger logger = LoggerFactory.getLogger(getClass());
-
-
/**
- * 鑾峰彇鎵�鏈変笟鍔$被鍨嬶紙鏍戝舰缁撴瀯锛�
+ * 鑾峰彇鎵�鏈夊睘鎬э紙鏍戝舰缁撴瀯锛�
* @return 鏌ヨ缁撴灉
*/
@GetMapping( "/getTreeAttributes")
@@ -68,7 +66,6 @@
return BaseResult.fail(exceptionMessage);
}
}
-
/**
* 灞炴�у垪琛�
@@ -109,7 +106,7 @@
/**
* 娣诲姞鍗曟潯灞炴�у埌灞炴�ф睜
* @param osAttributeDTO
- * @return 鍒楄〃鐨勫唴瀹�
+ * @return
*/
@PostMapping( "/addAttribute")
@VciBusinessLog(operateName = "娣诲姞灞炴��")
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsTypeActionController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsTypeActionController.java
new file mode 100644
index 0000000..9f96bde
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsTypeActionController.java
@@ -0,0 +1,89 @@
+package com.vci.web.controller;
+
+import com.vci.corba.common.PLException;
+import com.vci.dto.OsAttributeDTO;
+import com.vci.dto.PLActionClsDTO;
+import com.vci.dto.PLTypeActionDTO;
+import com.vci.starter.web.annotation.log.VciBusinessLog;
+import com.vci.starter.web.pagemodel.BaseResult;
+import com.vci.starter.web.util.VciBaseUtil;
+import com.vci.web.service.OsTypeActionServiceI;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.Arrays;
+
+/**
+ * 绫诲瀷Action绠$悊鎺у埗鍣�
+ * @author ludc
+ * @date 2024/10/24 17:36
+ */
+@RequestMapping("/typeActionController")
+@RestController
+public class OsTypeActionController {
+
+ @Resource
+ private OsTypeActionServiceI actionServiceI;
+
+ /**
+ * 鏃ュ織
+ */
+ private Logger logger = LoggerFactory.getLogger(getClass());
+
+ /**
+ * 鏍规嵁涓氬姟绫诲瀷鍚嶈幏鍙栫被鍨媋ction
+ * @param typeName 鏌ヨ鏉′欢-涓氬姟绫诲瀷鍚嶇О
+ * @return 淇濆瓨缁撴灉
+ */
+ @GetMapping("/getTypeActionByType")
+ public BaseResult getTypeActionByType(String typeName){
+ try {
+ return BaseResult.dataList(actionServiceI.getTypeActionByType(typeName));
+ } catch (PLException e) {
+ BaseResult objectBaseResult = new BaseResult<>();
+ objectBaseResult.setCode(Integer.parseInt(e.code));
+ objectBaseResult.setMsg(Arrays.toString(e.messages));
+ return objectBaseResult;
+ }
+ }
+
+ /**
+ * 淇濆瓨绫诲瀷Action
+ * @param plActionDTO
+ * @return
+ */
+ @PostMapping( "/savePLTypeAction")
+ @VciBusinessLog(operateName = "娣诲姞灞炴��")
+ public BaseResult savePLTypeAction(@RequestBody PLTypeActionDTO plActionDTO) {
+ try {
+ return actionServiceI.savePLTypeAction(plActionDTO);
+ }catch (Exception e) {
+ e.printStackTrace();
+ String exceptionMessage = "淇濆瓨绫诲瀷Action鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e);
+ logger.error(exceptionMessage);
+ return BaseResult.fail(exceptionMessage);
+ }
+ }
+
+ /**
+ * 绉婚櫎绫诲瀷Action
+ * @param typeName
+ * @param typeActionOIds
+ * @return
+ */
+ @DeleteMapping( "/delPLTypeActions")
+ @VciBusinessLog(operateName = "绉婚櫎绫诲瀷Action")
+ public BaseResult delPLTypeActions(String typeName, String typeActionOIds) {
+ try {
+ return actionServiceI.delPLTypeActions(typeName,typeActionOIds);
+ }catch (Exception e) {
+ e.printStackTrace();
+ String exceptionMessage = "绉婚櫎绫诲瀷Action鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e);
+ logger.error(exceptionMessage);
+ return BaseResult.fail(exceptionMessage);
+ }
+ }
+
+}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebActionController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebActionController.java
deleted file mode 100644
index a4dc923..0000000
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebActionController.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.vci.web.controller;
-
-import com.vci.starter.web.pagemodel.BaseResult;
-import com.vci.web.service.WebActionServiceI;
-import com.vci.web.util.WebUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
-
-/**
- * 骞冲彴瀹氫箟鐨刟ction
- * @author weidy
- * @date 2019/9/9 9:39
- */
-@Controller
-@RequestMapping("/webActionController")
-public class WebActionController {
-
- @Autowired
- private WebActionServiceI actionService;
-
-
- @RequestMapping("/getActionByOid")
- @ResponseBody
- public BaseResult getActionByOid(String oid){
- try{
- return BaseResult.success(actionService.getActionByOid(oid));
- }catch (Exception e){
- return BaseResult.fail(WebUtil.getErrorMsg(e));
- }
- }
-}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsTypeActionServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsTypeActionServiceI.java
new file mode 100644
index 0000000..ba8dfdd
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsTypeActionServiceI.java
@@ -0,0 +1,40 @@
+package com.vci.web.service;
+
+import com.vci.corba.common.PLException;
+import com.vci.corba.portal.data.PLAction;
+import com.vci.dto.PLTypeActionDTO;
+import com.vci.starter.web.pagemodel.BaseResult;
+
+import java.util.List;
+
+/**
+ * 绫诲瀷Action绠$悊鏈嶅姟
+ * @author ludc
+ * @date 2024/10/24 17:02
+ */
+public interface OsTypeActionServiceI {
+
+ /**
+ * 鏍规嵁涓氬姟绫诲瀷鍚嶈幏鍙栫被鍨婣ction
+ * @param typeName 鏌ヨ鏉′欢-涓氬姟绫诲瀷鍚嶇О
+ * @return
+ */
+ List<PLAction> getTypeActionByType(String typeName) throws PLException;
+
+ /**
+ * 淇濆瓨绫诲瀷Action
+ * @param plActionDTO
+ * @return
+ */
+ BaseResult savePLTypeAction(PLTypeActionDTO plActionDTO) throws PLException;
+
+ /**
+ * 绉婚櫎绫诲瀷Action
+ * @param typeName 鎵�鍦ㄧ被鍨嬪悕
+ * @param typeActionOIds 绫诲瀷action
+ * @return
+ */
+ BaseResult delPLTypeActions(String typeName, String typeActionOIds) throws PLException;
+
+
+}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/WebActionServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/WebActionServiceI.java
deleted file mode 100644
index dd7757e..0000000
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/WebActionServiceI.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.vci.web.service;
-
-import com.vci.starter.web.exception.VciBaseException;
-import com.vci.pagemodel.UIActionVO;
-
-/**
- * 骞冲彴鐨刟ction鏈嶅姟
- * @author weidy
- * @date 2019/9/9 13:38
- */
-public interface WebActionServiceI {
- /**
- * action瀵硅薄
- * @param oid 涓婚敭
- * @return
- */
- UIActionVO getActionByOid(String oid) throws VciBaseException;
-}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsTypeActionServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsTypeActionServiceImpl.java
new file mode 100644
index 0000000..a3ae9f7
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsTypeActionServiceImpl.java
@@ -0,0 +1,97 @@
+package com.vci.web.service.impl;
+
+import com.vci.client.mw.ClientContextVariable;
+import com.vci.common.utility.ObjectUtility;
+import com.vci.corba.common.PLException;
+import com.vci.corba.portal.data.PLAction;
+import com.vci.corba.portal.data.PLTypeAction;
+import com.vci.dto.PLActionDTO;
+import com.vci.dto.PLTypeActionDTO;
+import com.vci.starter.web.pagemodel.BaseResult;
+import com.vci.starter.web.util.VciBaseUtil;
+import com.vci.web.service.OsTypeActionServiceI;
+import com.vci.web.util.Func;
+import com.vci.web.util.PlatformClientUtil;
+import com.vci.web.util.UITools;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 绫诲瀷Action绠$悊鏈嶅姟
+ * @author ludc
+ * @date 2024/10/24 17:05
+ */
+@Service
+public class OsTypeActionServiceImpl implements OsTypeActionServiceI {
+
+ @Autowired
+ private PlatformClientUtil platformClientUtil;
+
+ /**
+ * 鏍规嵁涓氬姟绫诲瀷鍚嶈幏鍙栫被鍨婣ction
+ * @param typeName 鏌ヨ鏉′欢-涓氬姟绫诲瀷鍚嶇О
+ * @return
+ */
+ @Override
+ public List<PLAction> getTypeActionByType(String typeName) throws PLException {
+ VciBaseUtil.alertNotNull(typeName,"鏌ヨ鏉′欢銆愮被鍨嬪悕銆�");
+ PLAction[] plActions = platformClientUtil.getUIService().getAllPLActionEntityByType(typeName);
+ return Arrays.asList(plActions);
+ }
+
+ /**
+ * 淇濆瓨绫诲瀷Action
+ * @param plActionDTO
+ * @return
+ */
+ @Override
+ public BaseResult savePLTypeAction(PLTypeActionDTO plActionDTO) throws PLException {
+ VciBaseUtil.alertNotNull(
+ plActionDTO,"娣诲姞鐨勭被鍨婣ction瀵硅薄",plActionDTO.getPlTypeName(),
+ plActionDTO.getActions(),"娣诲姞鐨凙ction鍒楄〃"
+ );
+ String typeName = plActionDTO.getPlTypeName();
+ PLAction[] dbActions = platformClientUtil.getUIService().getAllPLActionEntityByType(typeName);
+ List<PLAction> actions = plActionDTO.getActions();
+ //閬嶅巻鏁扮粍鍜宭ist锛屾瘮杈冩柊娣诲姞鐨勭储寮曡鏄惁宸茬粡瀛樺湪
+ for(PLAction ac: dbActions){
+ for(int i=0; i<actions.size(); i++){
+ if(actions.get(i).plOId.equals(ac.plOId)){
+ return BaseResult.fail("宸插瓨鍦ㄥ悕绉颁负 銆�"+actions.get(i).plName+"銆� 鐨刟ction锛�");
+ }
+ }
+ }
+ for(int i=0;i<actions.size();i++){
+ PLTypeAction plTypeAction = new PLTypeAction(ObjectUtility.getNewObjectID36(), typeName, actions.get(i).plOId);
+ boolean res = UITools.getService().savePLTypeActionEntity(plTypeAction);
+ if(!res){
+ return BaseResult.fail("绫诲瀷action淇濆瓨澶辫触锛�");
+ }
+ }
+ return BaseResult.success("绫诲瀷action淇濆瓨鎴愬姛锛�");
+ }
+
+ /**
+ * 绉婚櫎绫诲瀷Action
+ * @param typeName 鎵�鍦ㄧ被鍨嬪悕
+ * @param typeActionOIds 绫诲瀷action
+ * @return
+ */
+ @Override
+ public BaseResult delPLTypeActions(String typeName, String typeActionOIds) throws PLException {
+ VciBaseUtil.alertNotNull(typeName,"绫诲瀷鍚�",typeActionOIds,"寰呯Щ闄ょ殑绫诲瀷action涓婚敭闆嗗悎");
+ List<String> taOIds = Func.toStrList(typeActionOIds);
+ for (String taOId : taOIds) {
+ boolean res = UITools.getService().deletePLTypeActionEntityByTypeAndAction(typeName, taOId);
+ if(!res){
+ return BaseResult.success("绫诲瀷Action绉婚櫎澶辫触锛�");
+ }
+ }
+ return BaseResult.success("绫诲瀷Action绉婚櫎鎴愬姛锛�");
+ }
+
+}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebActionServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebActionServiceImpl.java
deleted file mode 100644
index 7dcc7ee..0000000
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebActionServiceImpl.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package com.vci.web.service.impl;
-
-//import com.vci.client.portal.utility.UITools;
-import com.vci.corba.common.PLException;
-import com.vci.corba.portal.data.PLAction;
-import com.vci.starter.web.exception.VciBaseException;
-import com.vci.pagemodel.UIActionVO;
-import com.vci.web.service.WebActionServiceI;
-import com.vci.web.util.PlatformClientUtil;
-import com.vci.web.util.WebUtil;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-/**
- * Action鏈嶅姟
- * @author weidy
- * @date 2019/9/9 13:40
- */
-@Service
-public class WebActionServiceImpl implements WebActionServiceI {
-
- /**
- * 骞冲彴鐨勮皟鐢ㄥ伐鍏风被
- */
- @Autowired
- private PlatformClientUtil platformClientUtil;
-
- /**
- * action瀵硅薄
- *
- * @param oid 涓婚敭
- * @return
- */
- @Override
- public UIActionVO getActionByOid(String oid) throws VciBaseException {
- WebUtil.alertNotNull(oid,"action鐨勪富閿�");
- try {
- PLAction action = platformClientUtil.getUIService()
- .getPLActionById(oid);
- if(action == null || StringUtils.isBlank(action.plOId)){
- throw new VciBaseException("杩欎釜action鍦ㄧ郴缁熶腑涓嶅瓨鍦�");
- }
- return convertWebAction(action);
- } catch (PLException vciError) {
- throw WebUtil.getVciBaseException(vciError);
- }
- }
-
- private UIActionVO convertWebAction(PLAction action){
- UIActionVO UIActionVO = new UIActionVO();
-// UIActionVO.setPlActionCls(action.plActionCls);
-// UIActionVO.setPlBSUrl(action.plBSUrl);
-// UIActionVO.setPlCode(action.plCode);
-// UIActionVO.setPlCreateTime(action.plCreateTime);
-// UIActionVO.setPlCreateUser(action.plCreateUser);
-// UIActionVO.setPlCSClass(action.plCSClass);
-// UIActionVO.setPlDesc(action.plDesc);
-// UIActionVO.setPlLicensOrs(action.plLicensOrs);
-// UIActionVO.setPlModifyTime(action.plModifyTime);
-// UIActionVO.setPlModifyUser(action.plModifyUser);
-// UIActionVO.setPlName(action.plName);
-// UIActionVO.setPlOId(action.plOId);
-// UIActionVO.setPlTypeType(action.plTypeType);
- return UIActionVO;
- }
-}
diff --git a/Source/plt-web/plt-web-ui/src/api/system/fileCab/api.js b/Source/plt-web/plt-web-ui/src/api/system/fileCab/api.js
index 9b23bdf..5cf0f80 100644
--- a/Source/plt-web/plt-web-ui/src/api/system/fileCab/api.js
+++ b/Source/plt-web/plt-web-ui/src/api/system/fileCab/api.js
@@ -33,9 +33,9 @@
export const exportPvolumes = (params) => {
return request({
url: '/api/pvolumesController/exportPvolumes',
- method: 'POST',
- headers: {'Content-Type': 'application/json;charset=UTF-8'},
+ method: 'get',
+ headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'},
responseType: 'blob',
- data: params
+ params
})
}
diff --git a/Source/plt-web/plt-web-ui/src/views/system/fileCab/index.vue b/Source/plt-web/plt-web-ui/src/views/system/fileCab/index.vue
index b0427c1..ccad73e 100644
--- a/Source/plt-web/plt-web-ui/src/views/system/fileCab/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/system/fileCab/index.vue
@@ -11,6 +11,7 @@
@row-save="rowSaveHandler"
@row-update="rowUpdateHandler"
@row-del="rowDeleteHandler"
+ @selection-change="selectionChange"
>
<template slot="menuLeft" slot-scope="scope">
<el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭</el-button>
@@ -109,6 +110,16 @@
leftRoleData: [], // 鍒嗛厤鎴愬憳绌挎妗嗗乏渚у垵濮嬫暟鎹�
rightRoleData: [], // 鍒嗛厤鎴愬憳绌挎妗嗗彸渚у垵濮嬫暟鎹�
transferTitle: ['鏂囦欢鏌滃鎴愬憳', '鏂囦欢鏌滃唴鎴愬憳'],
+ selectionList: [],
+ }
+ },
+ computed: {
+ ids() {
+ let ids = [];
+ this.selectionList.forEach(ele => {
+ ids.push(ele.id);
+ });
+ return ids.join(",");
}
},
methods: {
@@ -173,8 +184,15 @@
},
// 瀵煎嚭
exportClickHandler() {
+ if(this.ids == null || this.ids == ""){
+ this.$message({
+ type: 'warning',
+ message: '璇峰嬀閫夎瀵煎嚭鐨勬暟鎹�!'
+ });
+ return;
+ }
const loading = this.$loading({});
- exportPvolumes().then(res => {
+ exportPvolumes({"pvolumeIds": this.ids}).then(res => {
func.downloadFileByBlobHandler(res);
this.createdLoading = false
this.$message.success('瀵煎嚭鎴愬姛');
@@ -214,6 +232,10 @@
this.getTableList();
})
},
+ //閫夋嫨鐨勮
+ selectionChange(list) {
+ this.selectionList = list;
+ },
}
}
</script>
--
Gitblit v1.9.3