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.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; /** * 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); } } }