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; } 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 = "æ·»å 屿§") 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()); /** * æ ¹æ®ä¸å¡ç±»ååè·åç±»åaction * @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); } } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebActionController.java
ÎļþÒÑɾ³ý 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 { /** * æ ¹æ®ä¸å¡ç±»ååè·åç±»åAction * @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; } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/WebActionServiceI.java
ÎļþÒÑɾ³ý 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; /** * æ ¹æ®ä¸å¡ç±»ååè·åç±»åAction * @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,"æ·»å çç±»åAction对象",plActionDTO.getPlTypeName(), plActionDTO.getActions(),"æ·»å çActionå表" ); String typeName = plActionDTO.getPlTypeName(); PLAction[] dbActions = platformClientUtil.getUIService().getAllPLActionEntityByType(typeName); List<PLAction> actions = plActionDTO.getActions(); //éåæ°ç»ålistï¼æ¯è¾æ°æ·»å çç´¢å¼è¡æ¯å¦å·²ç»åå¨ 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+"ã çactionï¼"); } } } 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ç§»é¤æåï¼"); } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebActionServiceImpl.java
ÎļþÒÑɾ³ý 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 }) } 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>