From af47a5cf896c323812e0c6fe9548a2be46e1ba8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=99=93=E8=BF=AA?= <2596750866@qq.com> Date: Sat, 27 Jul 2024 11:25:01 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=20=E5=A7=94=E5=A4=96=E5=8A=A0=E5=B7=A5?= =?UTF-8?q?=20=E5=A7=94=E5=A4=96=E8=AE=A2=E5=8D=95=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=A7=94=E5=A4=96=E8=AE=A2=E5=8D=95=E9=A1=B5=E9=9D=A2=E4=BD=9C?= =?UTF-8?q?=E5=BA=9F=E6=81=A2=E5=A4=8D=E6=8C=89=E9=92=AE=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=8C=89=E9=92=AE=E6=98=BE=E7=A4=BA=E9=80=BB=E8=BE=91?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E6=94=B9=E8=A1=A8=E6=A0=BC=E8=A1=8C=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E6=A0=B7=E5=BC=8F=EF=BC=9B=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=A7=94=E5=A4=96=E8=AE=A2=E5=8D=95mapper=E3=80=81service?= =?UTF-8?q?=E5=8F=8A=E5=85=B6=E6=8E=A5=E5=8F=A3=E4=B8=AD=E4=BD=9C=E5=BA=9F?= =?UTF-8?q?=E6=81=A2=E5=A4=8D=E6=96=B9=E6=B3=95=EF=BC=9B=20=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=A7=94=E5=A4=96=E8=AE=A2=E5=8D=95=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E4=BD=9C=E5=BA=9F=E3=80=81=E6=81=A2=E5=A4=8D=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=EF=BC=9B=20=E4=BF=AE=E6=94=B9=E5=A7=94=E5=A4=96=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E3=80=81=E5=A7=94=E5=A4=96=E9=A2=86=E6=96=99=E3=80=81?= =?UTF-8?q?=E5=A7=94=E5=A4=96=E6=8A=A5=E4=BB=B7=E5=88=97=E8=A1=A8=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=96=B9=E6=B3=95=EF=BC=8C=E6=96=B0=E5=A2=9E=E6=8C=89?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E7=8A=B6=E6=80=81=E4=B8=8D=E5=90=8C=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E5=BD=93=E5=89=8D=E7=8A=B6=E6=80=81=E6=96=B9=E6=B3=95?= =?UTF-8?q?=EF=BC=9B=20=E4=BF=AE=E6=94=B9=E5=A7=94=E5=A4=96=E9=A2=86?= =?UTF-8?q?=E6=96=99=E3=80=81=E5=A7=94=E5=A4=96=E6=8A=A5=E4=BB=B7=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E6=98=BE=E7=A4=BA=E6=95=88=E6=9E=9C=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/OutsourceOrderController.java | 33 +++++++++++++-- .../system/mapper/OutsourceOrderMapper.java | 20 ++++++++- .../service/IOutsourceOrderService.java | 14 +++++++ .../impl/OutsourceOrderServiceImpl.java | 31 ++++++++++++++ .../impl/OutsourceRequisitionServiceImpl.java | 7 ++++ .../mapper/system/OutsourceOrderMapper.xml | 7 ++++ .../outsource_order/outsource_order.html | 42 +++++++++++++++---- .../outsource_quote/outsource_quote.html | 40 ++++++++++++------ .../outsource_requisition.html | 39 +++++++++++------ 9 files changed, 195 insertions(+), 38 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourceOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourceOrderController.java index 86b94592..b3a322ea 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourceOrderController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourceOrderController.java @@ -159,6 +159,8 @@ public class OutsourceOrderController extends BaseController public AjaxResult addSave(@RequestBody OutsourceOrderVO outsourceOrderVO) { // System.out.println(outsourceOrderVO); + // 使用状态-否 + outsourceOrderVO.setUseStatus("0"); outsourceOrderVO.setAuditStatus("0"); outsourceOrderService.submitApply(outsourceOrderVO); return AjaxResult.success(); @@ -219,22 +221,24 @@ public class OutsourceOrderController extends BaseController // 提交 if("submit".equals(instanceType)){ // 使用状态-是 -// erpBomVo.setUseStatus("1"); + outsourceOrderVO.setUseStatus("1"); } // 作废 else if("cancel".equals(instanceType)){ // 使用状态-已作废 -// erpBomVo.setUseStatus("2"); + outsourceOrderVO.setUseStatus("2"); } // 恢复 else if("restore".equals(instanceType)){ // 使用状态-是 -// erpBomVo.setUseStatus("1"); + outsourceOrderVO.setUseStatus("1"); } } outsourceOrderService.updateOutsourceOrder(outsourceOrderVO); // 驳回申请后继续申请,可能修改表单 if (saveEntityBoolean) { + outsourceOrderVO.setAuditStatus("0"); + outsourceOrderVO.setUseStatus("0"); outsourceOrderService.updateOutsourceOrder(outsourceOrderVO); } return success("任务已完成"); @@ -274,4 +278,27 @@ public class OutsourceOrderController extends BaseController { return toAjax(outsourceOrderService.deleteOutsourceOrderByOutsourceOrderIds(ids)); } + + /** + * 作废委外订单 + */ + @RequiresPermissions("system:outsourceOrder:cancel") + @Log(title = "委外订单", businessType = BusinessType.CANCEL) + @GetMapping( "/cancel/{id}") + @ResponseBody + public AjaxResult cancel(@PathVariable("id") Long id){ + return toAjax(outsourceOrderService.cancelOutsourceOrderById(id)); + } + + /** + * 恢复委外订单 + */ + @RequiresPermissions("system:outsourceOrder:restore") + @Log(title = "委外订单", businessType = BusinessType.RESTORE) + @GetMapping( "/restore/{id}") + @ResponseBody + public AjaxResult restore(@PathVariable("id")Long id) + { + return toAjax(outsourceOrderService.restoreOutsourceOrderIdById(id)); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/OutsourceOrderMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/OutsourceOrderMapper.java index 2e230ec7..4958bcd9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/OutsourceOrderMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/OutsourceOrderMapper.java @@ -35,7 +35,7 @@ public interface OutsourceOrderMapper /** * 查询委外订单列表 * - * @param outsourceOrder 委外订单 + * @param outsourceOrderVO 委外订单 * @return 委外订单集合 */ public List selectOutsourceOrderList(OutsourceOrderVO outsourceOrderVO); @@ -50,7 +50,7 @@ public interface OutsourceOrderMapper /** * 新增委外订单 * - * @param outsourceOrder 委外订单 + * @param outsourceOrderVO 委外订单 * @return 结果 */ public int insertOutsourceOrder(OutsourceOrderVO outsourceOrderVO); @@ -109,4 +109,20 @@ public interface OutsourceOrderMapper * @return 结果 */ public int deleteOutsourceOrderDetailByOutsourceOrderNo(String outsourceOrderNo); + + /** + * 作废委外订单 + * + * @param outsourceOrderId 委外订单ID + * @return 结果 + */ + public int cancelOutsourceOrderById(Long outsourceOrderId); + + /** + * 恢复委外订单 + * + * @param outsourceOrderId 委外订单ID + * @return 结果 + */ + public int restoreOutsourceOrderById(Long outsourceOrderId); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourceOrderService.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourceOrderService.java index b0bc3b79..47cc38a8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourceOrderService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourceOrderService.java @@ -74,4 +74,18 @@ public interface IOutsourceOrderService * 审批流程启动 * */ ProcessInstance submitApply(OutsourceOrderVO outsourceOrderVO); + + /** + * 作废售后单 + * @param outsourceOrderId 售后单ID + * @return + */ + int cancelOutsourceOrderById(Long outsourceOrderId); + + /** + * 恢复售后单 + * @param outsourceOrderId 售后单ID + * @return + */ + int restoreOutsourceOrderIdById(Long outsourceOrderId); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceOrderServiceImpl.java index 64be3c8e..7af62377 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceOrderServiceImpl.java @@ -139,6 +139,13 @@ public class OutsourceOrderServiceImpl implements IOutsourceOrderService } else { tempOutsourceOrderVO.setTaskName("未启动"); } + if(tempOutsourceOrderVO.getAuditStatus()!=null){ + if(tempOutsourceOrderVO.getAuditStatus().equals("1")){ + tempOutsourceOrderVO.setTaskName("审核通过"); + }else if(tempOutsourceOrderVO.getAuditStatus().equals("2")){ + tempOutsourceOrderVO.setTaskName("审核拒绝"); + } + } returnList.add(tempOutsourceOrderVO); } returnList.setTotal(org.springframework.util.CollectionUtils.isEmpty(list) ? 0 : list.getTotal()); @@ -159,6 +166,7 @@ public class OutsourceOrderServiceImpl implements IOutsourceOrderService { String loginName = ShiroUtils.getLoginName(); outsourceOrderVO.setCreateBy(loginName); + outsourceOrderVO.setOutsourceStaff(loginName); outsourceOrderVO.setCreateTime(DateUtils.getNowDate()); outsourceOrderVO.setOutsourceOrderNo(redisCache.generateBillNo("WW")); outsourceOrderVO.setClosedStatus("0"); @@ -198,6 +206,29 @@ public class OutsourceOrderServiceImpl implements IOutsourceOrderService return processInstance; } + /** + * 作废售后单 + * + * @param outsourceOrderId 售后单ID + * @return 结果 + */ + @Override + public int cancelOutsourceOrderById(Long outsourceOrderId) + { + return outsourceOrderMapper.cancelOutsourceOrderById(outsourceOrderId); + } + + /** + * 恢复售后单信息 + * + * @param outsourceOrderId 售后单ID + * @return 结果 + */ + @Override + public int restoreOutsourceOrderIdById(Long outsourceOrderId) + { + return outsourceOrderMapper.restoreOutsourceOrderById(outsourceOrderId); + } /** * 创建委外报价审核流程 * @param applyTitle diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceRequisitionServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceRequisitionServiceImpl.java index 3e5e80ab..2aa6209f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceRequisitionServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceRequisitionServiceImpl.java @@ -135,6 +135,13 @@ public class OutsourceRequisitionServiceImpl implements IOutsourceRequisitionSer } else { tempOutsourceRequisitionVO.setTaskName("未启动"); } + if(tempOutsourceRequisitionVO.getAuditStatus()!=null){ + if(tempOutsourceRequisitionVO.getAuditStatus().equals("1")){ + tempOutsourceRequisitionVO.setTaskName("审核通过"); + }else if(tempOutsourceRequisitionVO.getAuditStatus().equals("2")){ + tempOutsourceRequisitionVO.setTaskName("审核拒绝"); + } + } returnList.add(tempOutsourceRequisitionVO); } returnList.setTotal(org.springframework.util.CollectionUtils.isEmpty(list) ? 0 : list.getTotal()); diff --git a/ruoyi-admin/src/main/resources/mapper/system/OutsourceOrderMapper.xml b/ruoyi-admin/src/main/resources/mapper/system/OutsourceOrderMapper.xml index a2df2177..6f1520c9 100644 --- a/ruoyi-admin/src/main/resources/mapper/system/OutsourceOrderMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/system/OutsourceOrderMapper.xml @@ -276,4 +276,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + update outsource_order set use_status = '2' where id = #{id} + + + + update outsource_order set use_status = '1' where id = #{id} + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/outsource_order/outsource_order.html b/ruoyi-admin/src/main/resources/templates/system/outsource_order/outsource_order.html index 1cbcbdd1..96a79653 100644 --- a/ruoyi-admin/src/main/resources/templates/system/outsource_order/outsource_order.html +++ b/ruoyi-admin/src/main/resources/templates/system/outsource_order/outsource_order.html @@ -63,10 +63,10 @@ var detailFlag = [[${@permission.hasPermi('system:outsource_order:detail')}]]; var auditStatusDatas = [[${@dict.getType('auditStatus')}]]; - var useStatusDatas = [[${@dict.getType('use_status')}]]; + var useStatusDatas = [[${@dict.getType('useStatus')}]]; var receiveStatusDatas = [[${@dict.getType('receiveStatus')}]]; var remitStatusDatas = [[${@dict.getType('remitStatus')}]]; - var closedStatusDatas = [[${@dict.getType('closedStatus')}]]; + var closedStatusDatas = [[${@dict.getType('sys_pay_close')}]]; var prefix = ctx + "system/outsource_order"; @@ -156,15 +156,22 @@ }, { field: 'taskName', - title: '当前任务名称', + title: '当前状态', align: 'center', - formatter: function(value, row, index) { + formatter: function(value, row, index) { + if(row.auditStatus!="1"&&value != "未启动"){ + return '' + value + ''; + } + if(value === "未启动"){ + return '' + value + ''; + } return '' + value + ''; } }, { field: 'auditStatus', title: '审核状态', + visible: false, formatter: function(value, row, index) { return $.table.selectDictLabel(auditStatusDatas, value); } @@ -243,11 +250,22 @@ align: 'center', formatter: function(value, row, index) { var actions = []; - actions.push('编辑 '); - // 审核状态-审核通过 - if(row.auditStatus=="1"){ + // actions.push('编辑 '); + // 审核状态-审核通过 使用状态-是 未发起作废流程 + if(row.auditStatus=="1" && row.useStatus=="1" && !row.cancelInstanceId){ + // 作废 + actions.push(' 作废'); + // 编辑 + actions.push(' 编辑 '); actions.push('委外领料 '); actions.push('入库通知 '); + }else{ + actions.push(' 编辑 '); + } + // 已作废 + if(row.useStatus=="2" && !row.restoreInstanceId){ + // 恢复 + actions.push(' 恢复 '); } // 有流程实例id if (row.instanceId) { @@ -267,7 +285,15 @@ actions.push('详情'); return actions.join(''); } - }] + }], + rowStyle: function (row, index) { + if (row.auditStatus=="0") { + // 如果审核状态为待审核,则设置为红色 + return {css:{"color":"red"}}; + } + // 否则使用默认样式 + return {}; + } }; $.table.init(options); }); diff --git a/ruoyi-admin/src/main/resources/templates/system/outsource_quote/outsource_quote.html b/ruoyi-admin/src/main/resources/templates/system/outsource_quote/outsource_quote.html index 42d76711..e0b66ae4 100644 --- a/ruoyi-admin/src/main/resources/templates/system/outsource_quote/outsource_quote.html +++ b/ruoyi-admin/src/main/resources/templates/system/outsource_quote/outsource_quote.html @@ -187,6 +187,12 @@ title: '当前状态', align: 'center', formatter: function(value, row, index) { + if(row.auditStatus!="1"&&value != "未启动"){ + return '' + value + ''; + } + if(value === "未启动"){ + return '' + value + ''; + } return '' + value + ''; } }, @@ -208,18 +214,20 @@ align: 'center', formatter: function(value, row, index) { var actions = []; - - // 审核状态-审核通过 - // if(row.auditStatus=="1"){ - // // 编辑 - // // actions.push(' 编辑 '); - // actions.push('派单 '); - // actions.push('上传报告 '); - // } - // 审核状态-审核拒绝 - if(row.auditStatus=="2"){ - actions.push('编辑 '); + // 审核状态-审核通过 使用状态-是 未发起作废流程 + if(row.auditStatus=="1"){ + // 作废 + // actions.push(' 作废'); + // 编辑 + actions.push(' 编辑 '); + }else{ + actions.push(' 编辑 '); } + // 已作废 + // if(row.useStatus=="2" && !row.restoreInstanceId){ + // // 恢复 + // actions.push(' 恢复 '); + // } // 有流程实例id if (row.instanceId) { // 有待办人展示审批按钮, @@ -238,7 +246,15 @@ actions.push('详情 '); return actions.join(''); } - }] + }], + rowStyle: function (row, index) { + if (row.auditStatus=="0") { + // 如果审核状态为待审核,则设置为红色 + return {css:{"color":"red"}}; + } + // 否则使用默认样式 + return {}; + } }; $.table.init(options); }); diff --git a/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/outsource_requisition.html b/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/outsource_requisition.html index ea80d847..78319e34 100644 --- a/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/outsource_requisition.html +++ b/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/outsource_requisition.html @@ -72,6 +72,7 @@ { field: 'auditStatus', title: '审核状态', + visible: false, formatter: function(value, row, index) { return $.table.selectDictLabel(auditStatusDatas, value); } @@ -135,9 +136,15 @@ }, { field: 'taskName', - title: '当前任务名称', + title: '当前状态', align: 'center', - formatter: function(value, row, index) { + formatter: function(value, row, index) { + if(row.auditStatus!="1"&&value != "未启动"){ + return '' + value + ''; + } + if(value === "未启动"){ + return '' + value + ''; + } return '' + value + ''; } }, @@ -183,16 +190,14 @@ align: 'center', formatter: function(value, row, index) { var actions = []; - // 审核状态-审核通过 - // if(row.auditStatus=="1"){ - // // 编辑 - // // actions.push(' 编辑 '); - // actions.push('派单 '); - // actions.push('上传报告 '); - // } - // 审核状态-审核拒绝 - if(row.auditStatus=="2"){ - actions.push('编辑 '); + // 审核状态-审核通过 使用状态-是 未发起作废流程 + if(row.auditStatus=="1"){ + // 作废 + // actions.push(' 作废'); + // 编辑 + actions.push(' 编辑 '); + }else{ + actions.push(' 编辑 '); } // 有流程实例id if (row.instanceId) { @@ -212,7 +217,15 @@ actions.push('详情'); return actions.join(''); } - }] + }], + rowStyle: function (row, index) { + if (row.auditStatus=="0") { + // 如果审核状态为待审核,则设置为红色 + return {css:{"color":"red"}}; + } + // 否则使用默认样式 + return {}; + } }; $.table.init(options); });