package com.vci.web.controller; import com.vci.corba.common.PLException; import com.vci.dto.ClonePortalVIDTOList; import com.vci.dto.DeletePortalVIDTOList; import com.vci.dto.OsBtmTypeDTO; import com.vci.dto.PortalVIDTO; import com.vci.pagemodel.KeyValue; import com.vci.pagemodel.PortalVIVO; import com.vci.starter.web.annotation.controller.VciUnCheckRight; 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.DataGrid; import com.vci.starter.web.util.VciBaseUtil; import com.vci.web.enumpck.ItemDblEnum; import com.vci.web.enumpck.ItemTypeEnum; import com.vci.web.service.OsPortalVIServiceI; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 公式控制器 * @author weidy * @date 2022-2-11 */ @RestController @RequestMapping("/portalVIController") public class WebPortalVIController { /** * 日志 */ private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private OsPortalVIServiceI portalVIServiceI; /** * 表单列表 * viType:表单类型;Form("Form", "表单", (short)1), Table("Table", "表格", (short)0); * viTypeFlag: LinkType("LinkType", "链接类型的表单", (short)1), BtmType("BtmType", "业务类型的表单", (short)0); * @param baseQueryObject 查询条件 * @return 列表的内容 */ @GetMapping( "/gridPortalVIDatas") @VciBusinessLog(operateName = "表单/表格列表") public DataGrid gridPortalVIDatas(BaseQueryObject baseQueryObject){ return portalVIServiceI.gridPortalVIVOs(baseQueryObject); } /** *根据表单id获取具体数据 * @param id * @return */ @GetMapping( "/getPortalVIById") @VciBusinessLog(operateName = "获取表单/表格数据") public BaseResult getPortalVIById(@RequestBody String id,@RequestBody String viType){ try{ PortalVIVO portalVIVO= portalVIServiceI.getPortalVIById(id,viType); return BaseResult.success(portalVIVO); }catch (Throwable e){ e.printStackTrace(); String exceptionMessage = "创建业务类型时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } } /** * 表单/table保存 * @param portalVIDTO * @return */ @PostMapping("/savePortalVI") @VciBusinessLog(operateName = "保存表单/表格") public BaseResult savePortalVI(@RequestBody PortalVIDTO portalVIDTO){ if(StringUtils.isNotBlank(portalVIDTO.getId())){ return portalVIServiceI.editSave(portalVIDTO); }else{ return portalVIServiceI.addSave(portalVIDTO); } } /** * 业务类型删除 * btmTypeDTO 业务类型对象 * @return 删除结果 */ @DeleteMapping("/delete") @VciBusinessLog(operateName = "删除表单/表格") public BaseResult delete(@RequestBody DeletePortalVIDTOList deletePortalVIDTOList){ try { return portalVIServiceI.delete(deletePortalVIDTOList) ? BaseResult.success("删除成功!"):BaseResult.fail("删除失败!"); } catch (PLException e) { e.printStackTrace(); String exceptionMessage = "删除表单时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } } /** * 业务类型删除 * btmTypeDTO 业务类型对象 * @return 删除结果 */ @DeleteMapping("/deleteByIds") @VciBusinessLog(operateName = "删除表单/表格") public BaseResult deleteByIds(@RequestBody String ids){ try { return portalVIServiceI.delete(ids) ? BaseResult.success("删除成功!"):BaseResult.fail("删除失败!"); } catch (PLException e) { e.printStackTrace(); String exceptionMessage = "删除表单时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } } /** * */ @PostMapping("/clone") @VciBusinessLog(operateName = "删除表单/表格") public BaseResult clone(@RequestBody ClonePortalVIDTOList portalVIDTOList){ try { return portalVIServiceI.clone(portalVIDTOList) ? BaseResult.success("删除成功!"):BaseResult.fail("删除失败!"); } catch (Throwable e) { e.printStackTrace(); String exceptionMessage = "删除表单时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } } /** * 获取属性字段类型 */ @GetMapping("/getItemTypeList") @VciBusinessLog(operateName = "属性字段类型") public BaseResult> getItemTypeList(){ return BaseResult.dataList(ItemTypeEnum.getEnumAll()); } /** * 获取超链接弹出方法 */ @GetMapping("/getItemDblList") @VciBusinessLog(operateName = "属性字段类型") public BaseResult> getItemDblList(){ return BaseResult.dataList(ItemDblEnum.getEnumAll()); } }