wangting
2024-09-05 8f6576fd595f67a3b17ef2e5e8054e8f194078f7
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,172 @@
package com.vci.web.controller;
import com.vci.corba.common.PLException;
import com.vci.corba.portal.data.PLUILayout;
import com.vci.dto.OsBtmTypeDTO;
import com.vci.pagemodel.PLUILayoutCloneVO;
import com.vci.starter.web.annotation.log.VciBusinessLog;
import com.vci.starter.web.pagemodel.BaseQueryObject;
import com.vci.starter.web.pagemodel.BaseResult;
import com.vci.starter.web.pagemodel.Tree;
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.web.service.OsBtmServiceI;
import com.vci.web.service.UIManagerServiceI;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
/**
 * UI定义控制层
 * @author ludc
 * @date 2024/8/28 17:09
 */
@RestController
@RequestMapping("/uiManagerController")
public class UIManagerController {
    /**
     * æ—¥å¿—
     */
    private Logger logger = LoggerFactory.getLogger(getClass());
    /**
     * ä¸šåŠ¡ç±»åž‹çš„æœåŠ¡
     */
    @Autowired
    private OsBtmServiceI btmService;
    /**
     * UI定义服务
     */
    @Autowired
    private UIManagerServiceI uiManagerService;
    /**
     * ä¸šåŠ¡ç±»åž‹åˆ—è¡¨æŸ¥è¯¢ï¼Œéžæ ‘ç»“æž„ï¼šç”¨äºŽUI定义左侧业务类型查询
     * @param btmName
     * @return
     * @throws PLException
     */
    @GetMapping( "/getBizTree")
    @VciBusinessLog(operateName = "业务类型列表(主要用于UI定义业务类型树查询使用)")
    public BaseResult getBizTree(String btmName){
        try {
            return BaseResult.success(btmService.getBizTree(btmName));
        }catch (Exception e) {
            e.printStackTrace();
            String exceptionMessage = "获取UI定义业务类型列表时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
            logger.error(exceptionMessage);
            return BaseResult.fail(exceptionMessage);
        }
    }
    /**
     * é€šè¿‡ä¸šåŠ¡ç±»åž‹name查询ui上下文,支持分页
     * @param baseQueryObject
     * @return
     * @throws PLException
     */
    @GetMapping( "/gridUIContextData")
    @VciBusinessLog(operateName = "通过业务类型name查询出ui上下文")
    public BaseResult gridUIContextData(BaseQueryObject baseQueryObject){
        try {
            return BaseResult.dataGrid(uiManagerService.gridUIContextData(baseQueryObject));
        }catch (Exception e) {
            e.printStackTrace();
            String exceptionMessage = "通过业务类型name查询出ui上下文时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
            logger.error(exceptionMessage);
            return BaseResult.fail(exceptionMessage);
        }
    }
    /**
     * åˆ›å»ºUI上下文
     * btmTypeDTO é“¾æŽ¥ç±»åž‹çš„保存对象
     * @return ä¿å­˜ç»“æžœ
     */
    @PostMapping("/saveUIContextData")
    public BaseResult saveUIContextData(@RequestBody PLUILayout pluiLayout){
        try {
            return uiManagerService.saveUIContextData(pluiLayout) ? BaseResult.success("UI上下文创建成功!"):BaseResult.fail("UI上下文创建失败!");
        } catch (Exception e) {
            e.printStackTrace();
            String exceptionMessage = "创建UI上下文时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
            logger.error(exceptionMessage);
            return BaseResult.fail(exceptionMessage);
        }
    }
    /**
     * ä¿®æ”¹UI上下文
     * btmTypeDTO
     * @return ä¿®æ”¹ç»“æžœ
     */
    @PutMapping("/updateUIContextData")
    public BaseResult updateUIContextData(@RequestBody PLUILayout pluiLayout){
        try {
            return uiManagerService.updateUIContextData(pluiLayout) ? BaseResult.success("UI上下文修改成功!"):BaseResult.fail("UI上下文修改失败!");
        } catch (Exception e) {
            e.printStackTrace();
            String exceptionMessage = "修改UI上下文时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
            logger.error(exceptionMessage);
            return BaseResult.fail(exceptionMessage);
        }
    }
    /**
     * åˆ é™¤UI上下文数据
     * oids åˆ é™¤çš„oid信息
     * @return åˆ é™¤ç»“æžœ
     */
    @DeleteMapping("/delUIContextData")
    public BaseResult delUIContextData(String[] oids){
        try {
            return uiManagerService.delUIContextData(oids) ? BaseResult.success("UI上下文删除成功!"):BaseResult.fail("UI上下文删除失败!");
        } catch (PLException e) {
            e.printStackTrace();
            String exceptionMessage = "删除UI上下文时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
            logger.error(exceptionMessage);
            return BaseResult.fail(exceptionMessage);
        }
    }
    /**
     * UI上下文克隆
     * pluiLayoutCloneVO å…‹éš†å‚数对象
     * @return å…‹éš†ç»“æž„
     */
    @PostMapping("/cloneUiContextData")
    public BaseResult cloneUiContextData(@RequestBody PLUILayoutCloneVO pluiLayoutCloneVO){
        try {
            return uiManagerService.cloneUiContextData(pluiLayoutCloneVO) ? BaseResult.success("UI上下文克隆成功!"):BaseResult.fail("UI上下文克隆失败!");
        } catch (PLException e) {
            e.printStackTrace();
            String exceptionMessage = "UI上下文克隆时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
            logger.error(exceptionMessage);
            return BaseResult.fail(exceptionMessage);
        }
    }
    /**
     * æ ¹æ®è§’色获取UI/表单/按钮的权限.
     * @param baseQueryObject
     * @return
     */
    @GetMapping( "/getUIAuthor")
    @VciBusinessLog(operateName = "UI授权(树形结构)")
    public BaseResult getUIAuthor(BaseQueryObject baseQueryObject){
        try {
            return BaseResult.dataList( uiManagerService.getUIAuthor(baseQueryObject));
        }catch (Throwable e) {
            e.printStackTrace();
            String exceptionMessage = "UI授权加载出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
            logger.error(exceptionMessage);
            return BaseResult.fail(exceptionMessage);
        }
    }
}