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