From 194208a58b03766b9c847605930a435b2c843eec Mon Sep 17 00:00:00 2001 From: root Date: Tue, 17 Mar 2026 23:38:33 +0800 Subject: [PATCH] =?UTF-8?q?WcsFlowInstanceController=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E5=AE=8C=E6=95=B4CRUD=20+=20WcsFlowLogController=E8=A1=A5?= =?UTF-8?q?=E5=85=A8add/edit=20+=20flowinstance.js=20API=20+=20=E7=BC=96?= =?UTF-8?q?=E8=AF=91=E9=80=9A=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WcsFlowInstanceController.java | 94 ++++++++++++++++++- .../flow/controller/WcsFlowLogController.java | 27 +++++- ruoyi-ui/src/api/wcs/flowinstance.js | 44 +++++++++ 3 files changed, 160 insertions(+), 5 deletions(-) create mode 100644 ruoyi-ui/src/api/wcs/flowinstance.js diff --git a/ruoyi-admin/src/main/java/com/ruoyi/wcs/flow/controller/WcsFlowInstanceController.java b/ruoyi-admin/src/main/java/com/ruoyi/wcs/flow/controller/WcsFlowInstanceController.java index 5ec3b23c..aa6159da 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/wcs/flow/controller/WcsFlowInstanceController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/wcs/flow/controller/WcsFlowInstanceController.java @@ -1,20 +1,106 @@ package com.ruoyi.wcs.flow.controller; +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.wcs.flow.domain.WcsFlowInstance; +import com.ruoyi.wcs.flow.service.IWcsFlowInstanceService; /** - * WCS 流程实例 Controller(骨架占位) + * 流程实例 Controller + * + * @author wcs */ @RestController @RequestMapping("/wcs/flow/instance") -public class WcsFlowInstanceController +public class WcsFlowInstanceController extends BaseController { + @Autowired + private IWcsFlowInstanceService flowInstanceService; + + /** + * 查询流程实例列表 + */ + @PreAuthorize("@ss.hasPermi('wcs:flowinstance:list')") @GetMapping("/list") - public AjaxResult list() + public TableDataInfo list(WcsFlowInstance flowInstance) { - return AjaxResult.success("WCS 流程实例模块 - 建设中"); + startPage(); + List list = flowInstanceService.selectFlowInstanceList(flowInstance); + return getDataTable(list); + } + + /** + * 导出流程实例列表 + */ + @PreAuthorize("@ss.hasPermi('wcs:flowinstance:export')") + @Log(title = "流程实例", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, WcsFlowInstance flowInstance) + { + List list = flowInstanceService.selectFlowInstanceList(flowInstance); + ExcelUtil util = new ExcelUtil(WcsFlowInstance.class); + util.exportExcel(response, list, "流程实例数据"); + } + + /** + * 获取流程实例详细信息 + */ + @PreAuthorize("@ss.hasPermi('wcs:flowinstance:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable Long id) + { + return success(flowInstanceService.selectFlowInstanceById(id)); + } + + /** + * 新增流程实例 + */ + @PreAuthorize("@ss.hasPermi('wcs:flowinstance:add')") + @Log(title = "流程实例", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@Validated @RequestBody WcsFlowInstance flowInstance) + { + flowInstance.setCreateBy(getUsername()); + return toAjax(flowInstanceService.insertFlowInstance(flowInstance)); + } + + /** + * 修改流程实例 + */ + @PreAuthorize("@ss.hasPermi('wcs:flowinstance:edit')") + @Log(title = "流程实例", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@Validated @RequestBody WcsFlowInstance flowInstance) + { + flowInstance.setUpdateBy(getUsername()); + return toAjax(flowInstanceService.updateFlowInstance(flowInstance)); + } + + /** + * 删除流程实例 + */ + @PreAuthorize("@ss.hasPermi('wcs:flowinstance:remove')") + @Log(title = "流程实例", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(flowInstanceService.deleteFlowInstanceByIds(ids)); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/wcs/flow/controller/WcsFlowLogController.java b/ruoyi-admin/src/main/java/com/ruoyi/wcs/flow/controller/WcsFlowLogController.java index 9ffcd2c8..ab6b7ce3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/wcs/flow/controller/WcsFlowLogController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/wcs/flow/controller/WcsFlowLogController.java @@ -4,6 +4,7 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; @@ -58,7 +59,31 @@ public class WcsFlowLogController extends BaseController @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { - return AjaxResult.success(wcsFlowNodeLogService.selectFlowNodeLogById(id)); + return success(wcsFlowNodeLogService.selectFlowNodeLogById(id)); + } + + /** + * 鏂板娴佺▼鑺傜偣鏃ュ織 + */ + @PreAuthorize("@ss.hasPermi('wcs:flowlog:add')") + @Log(title = "娴佺▼鑺傜偣鏃ュ織", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@Validated @RequestBody WcsFlowNodeLog wcsFlowNodeLog) + { + wcsFlowNodeLog.setCreateBy(getUsername()); + return toAjax(wcsFlowNodeLogService.insertFlowNodeLog(wcsFlowNodeLog)); + } + + /** + * 淇敼娴佺▼鑺傜偣鏃ュ織 + */ + @PreAuthorize("@ss.hasPermi('wcs:flowlog:edit')") + @Log(title = "娴佺▼鑺傜偣鏃ュ織", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@Validated @RequestBody WcsFlowNodeLog wcsFlowNodeLog) + { + wcsFlowNodeLog.setUpdateBy(getUsername()); + return toAjax(wcsFlowNodeLogService.updateFlowNodeLog(wcsFlowNodeLog)); } /** diff --git a/ruoyi-ui/src/api/wcs/flowinstance.js b/ruoyi-ui/src/api/wcs/flowinstance.js new file mode 100644 index 00000000..d42055b9 --- /dev/null +++ b/ruoyi-ui/src/api/wcs/flowinstance.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 鏌ヨ娴佺▼瀹炰緥鍒楄〃 +export function listFlowInstance(query) { + return request({ + url: '/wcs/flow/instance/list', + method: 'get', + params: query + }) +} + +// 鏌ヨ娴佺▼瀹炰緥璇︾粏 +export function getFlowInstance(id) { + return request({ + url: '/wcs/flow/instance/' + id, + method: 'get' + }) +} + +// 鏂板娴佺▼瀹炰緥 +export function addFlowInstance(data) { + return request({ + url: '/wcs/flow/instance', + method: 'post', + data: data + }) +} + +// 淇敼娴佺▼瀹炰緥 +export function updateFlowInstance(data) { + return request({ + url: '/wcs/flow/instance', + method: 'put', + data: data + }) +} + +// 鍒犻櫎娴佺▼瀹炰緥 +export function delFlowInstance(id) { + return request({ + url: '/wcs/flow/instance/' + id, + method: 'delete' + }) +}