package cn.com.goldenwater.dcproj.controller.mend.bpm; import cn.com.goldenwater.core.web.BaseController; import cn.com.goldenwater.core.web.BaseResponse; import com.github.pagehelper.PageInfo; import com.workflow.bpm.api.bpmservices.ProcessCfgService; import com.workflow.bpm.api.bpmservices.co.info.DocumentConfigInfo; import com.workflow.bpm.api.bpmservices.co.processconfig.*; import com.workflow.bpm.api.bpmservices.dto.*; import com.workflow.common.exception.BusinessException; import com.workflow.common.exception.impl.CommonErrorCode; import com.workflow.common.struct.head.Page; import com.workflow.common.struct.req.impl.APIRequestPage; import com.workflow.common.struct.res.Result; import com.workflow.common.struct.res.ResultPage; import com.workflow.common.util.convert.ConvertBeanUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Objects; /** * Description: * Author: admin */ @Api(tags = "流程定义") @RestController @RequestMapping("/bis/insp/pblm/plist/bpm/cfg") public class ProcessCfgController extends BaseController { @Autowired private ProcessCfgService processCfgService; //@RequiresPermissions("bmpc.definition.query.list") @ApiOperation(value = "查询流程定义",notes = "分页") @RequestMapping(value="/v1/workflow/procdef",method = RequestMethod.GET) public BaseResponse> get_procdef(ReqQueryProcCfgDTO reqQueryProcCfgDTO) { if (Objects.isNull(reqQueryProcCfgDTO)) { throw new BusinessException(CommonErrorCode.ParamIsNull); } QueryProcCfgCO queryProcCfgCO = new QueryProcCfgCO(); Page page = new Page(); ConvertBeanUtils.copyPropertiesBySource(reqQueryProcCfgDTO,queryProcCfgCO); ConvertBeanUtils.copyPropertiesBySource(reqQueryProcCfgDTO,page); APIRequestPage requestPage = new APIRequestPage<>(); requestPage.setContent(queryProcCfgCO); requestPage.setPage(page); ResultPage> listResultPage = processCfgService.queryProcessCfgPage(requestPage); listResultPage.setPageClass(ResProcesscfgDTO.class); PageInfo newPage = new PageInfo<>(); newPage.setPageSize(listResultPage.getPage().getPageSize()); newPage.setTotal(listResultPage.getPage().getTotal()); newPage.setPageNum(listResultPage.getPage().getPageNo()); newPage.setList(listResultPage.getContent()); return buildSuccessResponse(newPage); } //@RequiresPermissions("bmpc.definition.add") @ApiOperation(value = "新增") @PostMapping("/v1/workflow/procdef") public BaseResponse post_procdef(@RequestBody ReqPostProcCfgDTO reqPostProcCfgDTO) { if (Objects.isNull(reqPostProcCfgDTO)) { throw new BusinessException(CommonErrorCode.ParamIsNull); } AddProcessCfgCO addProcessCfgCO = new AddProcessCfgCO(); ConvertBeanUtils.copyPropertiesBySource(reqPostProcCfgDTO,addProcessCfgCO); return buildSuccessResponse(processCfgService.addProcdef(addProcessCfgCO).getContent()); } //@RequiresPermissions("bmpc.definition.edit") @ApiOperation(value = "更新") @PutMapping("/v1/workflow/procdef") public BaseResponse put_procdef(@RequestBody ReqPutProcCfgDTO reqPutProcCfgDTO) { UpdateProcessCfgCO updateProcessCfgCO = new UpdateProcessCfgCO(); ConvertBeanUtils.copyPropertiesBySource(reqPutProcCfgDTO,updateProcessCfgCO); return buildSuccessResponse(processCfgService.updateProcdef(updateProcessCfgCO).getContent()); } //@RequiresPermissions("bmpc.definition.diagram") @ApiOperation(value = "保存流程图") @PostMapping("/v1/workflow/bpmn") public BaseResponse post_saveflowchart(@RequestBody ReqSaveFlowChartDTO reqSaveFlowChartDTO) { if (Objects.isNull(reqSaveFlowChartDTO)) { throw new BusinessException(CommonErrorCode.ParamIsNull); } SaveFlowChartCO saveFlowChartCO = new SaveFlowChartCO(); ConvertBeanUtils.copyPropertiesBySource(reqSaveFlowChartDTO,saveFlowChartCO); return buildSuccessResponse(processCfgService.saveFlowChart(saveFlowChartCO).getContent()); } //@RequiresPermissions("bmpc.definition.diagram") @ApiOperation(value = "查询流程图") @GetMapping("/v1/workflow/bpmn/{bpmProcCfgId}") public BaseResponse post_queryflowchart(@PathVariable String bpmProcCfgId) { if (StringUtils.isEmpty(bpmProcCfgId)) { throw new BusinessException(CommonErrorCode.ParamIsNull); } return buildSuccessResponse(processCfgService.queryFlowChart(bpmProcCfgId).getContent()); } //@RequiresPermissions("bmpc.definition.process.deploy") @ApiOperation(value = "部署流程定义") @GetMapping("/v1/workflow/procdef/{bpmProcCfgId}/{version}/release") public Result post_deployProcdef(@PathVariable("bpmProcCfgId") String bpmProcCfgId, @PathVariable("version") String version) { if (StringUtils.isEmpty(bpmProcCfgId)) { throw new BusinessException(CommonErrorCode.ParamIsNull); } DeployProcCfgCO deployProcCfgCO = new DeployProcCfgCO(); deployProcCfgCO.setBpmProcCfgId(bpmProcCfgId); deployProcCfgCO.setVersion(version); return processCfgService.deployProcCfg(deployProcCfgCO); } //@RequiresPermissions("base.bpm.operation") @ApiOperation(value = "查询流程定义明细") @GetMapping("/v1/workflow/procdef/{bpmProcCfgId}") public BaseResponse get_queryprocdefdetail(@PathVariable String bpmProcCfgId) { if (StringUtils.isEmpty(bpmProcCfgId)) { throw new BusinessException(CommonErrorCode.ParamIsNull); } return buildSuccessResponse(processCfgService.queryProcdefDetail(bpmProcCfgId).getContent()); } //@RequiresPermissions("bmpc.definition.delete") @ApiOperation(value = "删除") @DeleteMapping("/v1/workflow/procdef/{bpmProcCfgId}") public BaseResponse delete_procConfig(@PathVariable String bpmProcCfgId) { if (StringUtils.isEmpty(bpmProcCfgId)) { throw new BusinessException(CommonErrorCode.ParamIsNull); } return buildSuccessResponse(processCfgService.delProcCfgViaId(bpmProcCfgId).getContent()); } @ApiOperation(value = "查询第一个节点文档配置") @GetMapping("/v1/workflow/bpmn/firstNode/docCfg") public BaseResponse> get_qryFirstNodeDocCfg(@RequestParam String procDefCode) { if (StringUtils.isEmpty(procDefCode)) { throw new BusinessException(CommonErrorCode.ParamIsNull); } return buildSuccessResponse(processCfgService.post_qryFirstNodeDocCfg(procDefCode).getContent()); } }