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.dto.RoleRightDTO;
|
import com.vci.dto.UIAuthorDTO;
|
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);
|
}
|
}
|
|
/***
|
* @param selectTreeList 勾选的需要保存的数据对象
|
* @return
|
*/
|
@PostMapping( "/authorizedUI")
|
@VciBusinessLog(operateName = "UI授权")
|
public BaseResult authorizedUI(UIAuthorDTO uiAuthorDTO){
|
try {
|
return uiManagerService.authorizedUI(uiAuthorDTO)?BaseResult.success("授权成功!"):BaseResult.fail("授权失败!");
|
}catch (Throwable e) {
|
e.printStackTrace();
|
String exceptionMessage = "UI授权出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
|
logger.error(exceptionMessage);
|
return BaseResult.fail(exceptionMessage);
|
}
|
}
|
}
|