From 7cb0988302bd48c5ffd19c1ae5e86d147f1c00c5 Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Fri, 6 Sep 2024 15:06:02 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=20=E9=94=80=E5=94=AE=E7=AE=A1=E7=90=86?= =?UTF-8?q?=20=E4=BF=AE=E6=94=B9=E9=94=80=E5=94=AE=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E7=9A=84=E4=BD=9C=E5=BA=9F=E5=89=8D=E7=AB=AF=E6=8C=89=E9=92=AE?= =?UTF-8?q?=EF=BC=8C=E6=96=B0=E5=A2=9E=E4=BD=9C=E5=BA=9F=E5=89=8D=E6=8F=90?= =?UTF-8?q?=E9=86=92=E5=92=8C=E7=A1=AE=E8=AE=A4=E5=90=8E=E6=89=93=E5=BC=80?= =?UTF-8?q?=E4=BD=9C=E5=BA=9F=E9=A1=B5=E9=9D=A2=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E9=94=80=E5=94=AE=E8=AE=A2=E5=8D=95=E4=BD=9C=E5=BA=9F=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E9=A1=B5=E9=9D=A2=20=E6=96=B0=E5=A2=9E=E9=94=80?= =?UTF-8?q?=E5=94=AE=E8=AE=A2=E5=8D=95=E4=BD=9C=E5=BA=9F=E6=9D=83=E9=99=90?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=20=E6=96=B0=E5=A2=9E=20=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E9=94=80=E5=94=AE=E8=AE=A2=E5=8D=95=E5=AF=B9=E8=B1=A1=E4=BD=9C?= =?UTF-8?q?=E5=BA=9F=E9=94=80=E5=94=AE=E8=AE=A2=E5=8D=95=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=20=E6=96=B0=E5=A2=9E=20=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E4=BD=9C=E5=BA=9F=E9=94=80=E5=94=AE=E8=AE=A2=E5=8D=95=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=BC=B9=E7=AA=97=E5=90=8E=E7=AB=AF=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=20=E4=BF=AE=E6=94=B9=20=E4=BD=9C=E5=BA=9F=E9=94=80=E5=94=AE?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E4=BF=A1=E6=81=AF=E5=90=8E=E7=AB=AF=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=20=E8=B0=83=E6=95=B4=E9=A9=B3=E5=9B=9E=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E3=80=81=E4=B8=9A=E5=8A=A1=E7=BB=8F=E7=90=86=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E3=80=81=E4=B8=9A=E5=8A=A1=E4=B8=BB=E7=AE=A1=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E3=80=81=E6=80=BB=E7=BB=8F=E7=90=86=E6=80=BB=E5=8A=A9?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E9=A1=B5=E9=9D=A2=EF=BC=9A=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=B8=83=E5=B1=80=E6=95=B4=E9=BD=90=E3=80=81?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=A4=87=E6=B3=A8=E5=AD=97=E6=AE=B5=E7=9A=84?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=9B=9E=E6=98=BE=E3=80=81=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E8=B4=B8=E6=98=93=E6=9D=A1=E6=AC=BE=E5=AD=97=E6=AE=B5=E7=9A=84?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=9B=9E=E6=98=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysSalesOrderController.java | 52 ++++++++++++++----- .../system/service/ISysSalesOrderService.java | 4 ++ .../impl/SysSalesOrderServiceImpl.java | 32 ++++++++++++ .../mapper/system/SysSalesOrderMapper.xml | 8 ++- .../templates/system/salesOrder/cancel.html | 32 ++++++++++++ .../system/salesOrder/salesOrder.html | 15 +++++- .../system/salesOrder/taskModifyApply.html | 4 +- .../system/salesOrder/taskYwjlVerify.html | 14 +++-- .../system/salesOrder/taskYwzgVerify.html | 10 +++- .../system/salesOrder/taskZozjVerify.html | 14 +++-- 10 files changed, 158 insertions(+), 27 deletions(-) create mode 100644 ruoyi-admin/src/main/resources/templates/system/salesOrder/cancel.html diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysSalesOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysSalesOrderController.java index 77e6c690..70ee9631 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysSalesOrderController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysSalesOrderController.java @@ -565,26 +565,52 @@ public class SysSalesOrderController extends BaseController +// /** +// * 作废客户销售订单信息信息 +// */ +// // @RequiresPermissions("erp:material:cancel") +// @Log(title = "客户销售订单信息", businessType = BusinessType.CANCEL) +// @GetMapping( "/cancel/{id}") +// @ResponseBody +// public AjaxResult cancel(@PathVariable("id") Long id){ +// sysSalesOrderService.cancelSysCustomerById(id); +// return AjaxResult.success(); +// } +// +// @Log(title = "客户销售订单信息", businessType = BusinessType.RESTORE) +// @GetMapping( "/restore/{id}") +// @ResponseBody +// public AjaxResult restore(@PathVariable("id") Long id){ +// sysSalesOrderService.restoreSysCustomerById(id); +// return AjaxResult.success(); +// } + + /** - * 作废客户销售订单信息信息 + * 加载作废销售订单信息弹窗 */ - // @RequiresPermissions("erp:material:cancel") - @Log(title = "客户销售订单信息", businessType = BusinessType.CANCEL) - @GetMapping( "/cancel/{id}") - @ResponseBody - public AjaxResult cancel(@PathVariable("id") Long id){ - sysSalesOrderService.cancelSysCustomerById(id); - return AjaxResult.success(); + @GetMapping("/cancel/{salesOrderId}") + public String cancel(@PathVariable("salesOrderId") Long salesOrderId, ModelMap mmap) { + SysSalesOrder sysSalesOrder = sysSalesOrderService.selectSysSalesOrderById(salesOrderId); + mmap.put("sysSalesOrder", sysSalesOrder); + return prefix + "/cancel"; } - @Log(title = "客户销售订单信息", businessType = BusinessType.RESTORE) - @GetMapping( "/restore/{id}") + + /** + * 根据销售订单对象对象作废销售订单 + * */ + @RequiresPermissions("system:salesOrder:cancel") + @Log(title = "客户信息", businessType = BusinessType.CANCEL) + @PostMapping( "/cancel") @ResponseBody - public AjaxResult restore(@PathVariable("id") Long id){ - sysSalesOrderService.restoreSysCustomerById(id); - return AjaxResult.success(); + public AjaxResult cancel(SysSalesOrder sysSalesOrder){ + return toAjax(sysSalesOrderService.cancelSysSalesOrderByObject(sysSalesOrder)); + } + + @RequestMapping("/getSysSalesOrderSelList") @ResponseBody public AjaxResult getSysSalesOrderSelList(@RequestParam(required = false,value = "keyword")String keyword){ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysSalesOrderService.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysSalesOrderService.java index 7669e1ea..7673babf 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysSalesOrderService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysSalesOrderService.java @@ -133,4 +133,8 @@ public interface ISysSalesOrderService * */ String convertName(SysSalesOrderVo sysSalesOrder); + /** + * 根据销售订单对象对象作废销售订单 + * */ + int cancelSysSalesOrderByObject(SysSalesOrder sysSalesOrder); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesOrderServiceImpl.java index 6243d386..9ebce3c7 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesOrderServiceImpl.java @@ -237,6 +237,38 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService return businessMembers; } + + /** + * 根据销售订单对象对象作废销售订单 + * */ + @Transactional(rollbackFor = Exception.class) + @Override + public int cancelSysSalesOrderByObject(SysSalesOrder sysSalesOrder) { + SysSalesOrderVo sysSalesOrderVo = sysSalesOrderMapper.selectSysSalesOrderById(sysSalesOrder.getSalesOrderId()); + // 审核状态-待审核 + sysSalesOrderVo.setAuditStatus("0"); + SysUser user = ShiroUtils.getSysUser(); + // 启动流程 + String applyTitle = user.getUserName()+"发起了销售订单作废审批-"+ DateUtils.dateTimeNow(); + String instanceType = "cancel"; + SysSalesOrder tempSysSalesOrder = new SysSalesOrder(); + BeanUtils.copyProperties(sysSalesOrderVo,tempSysSalesOrder); + ProcessInstance processInstance = startProcessInstance(applyTitle,instanceType,tempSysSalesOrder, user); + String processInstanceId = processInstance.getProcessInstanceId(); + // 作废实例id + tempSysSalesOrder.setCancelInstanceId(processInstanceId); + // 存在提交完就流程结束的情况 + boolean processIsFinish = processService.judgeProcessIsFinish(processInstanceId); + if(processIsFinish){ + // 审核状态-审核通过 + tempSysSalesOrder.setAuditStatus("1"); + // 使用状态-已作废 + tempSysSalesOrder.setUseStatus("2"); + } + tempSysSalesOrder.setCancelRemark(sysSalesOrder.getCancelRemark()); + return sysSalesOrderMapper.updateSysSalesOrder(tempSysSalesOrder); + } + /** * 新增销售订单 * diff --git a/ruoyi-admin/src/main/resources/mapper/system/SysSalesOrderMapper.xml b/ruoyi-admin/src/main/resources/mapper/system/SysSalesOrderMapper.xml index 488ebcb0..8be99f97 100644 --- a/ruoyi-admin/src/main/resources/mapper/system/SysSalesOrderMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/system/SysSalesOrderMapper.xml @@ -74,12 +74,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + select - sales_order_id, use_status, audit_status, make_status, delivery_status,close_status, + sales_order_id, use_status, audit_status, make_status, delivery_status,close_status, cancel_remark, sales_order_code, sales_order_number, sales_order_type,enterprise_code,customer_purser, common_currency,enterprise_name,enterprise_material_no, material_sum, enterprise_sum, noRmbPrice, noRmbSum, rmbPrice, rmbTaxSum,noUsdPrice, noUsdSum, usdPrice, usdTaxSum, payment_terms, delivery_time, @@ -280,6 +282,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" apply_title, create_time, create_by, + cancel_remark, first_add_time, @@ -342,6 +345,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{applyTitle}, #{createTime}, #{createBy}, + #{cancelRemark}, now() @@ -409,6 +413,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" apply_title = #{applyTitle}, update_time = #{updateTime}, update_by = #{updateBy}, + cancel_remark = #{cancelRemark}, update_info_time = now() where sales_order_id = #{salesOrderId} @@ -478,6 +483,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" apply_title = #{applyTitle}, update_time = #{updateTime}, update_by = #{updateBy}, + cancel_remark = #{cancelRemark}, where sales_order_code = #{salesOrderCode} diff --git a/ruoyi-admin/src/main/resources/templates/system/salesOrder/cancel.html b/ruoyi-admin/src/main/resources/templates/system/salesOrder/cancel.html new file mode 100644 index 00000000..bb16874d --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/system/salesOrder/cancel.html @@ -0,0 +1,32 @@ + + + + + + +
+
+ +
+ +
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/salesOrder/salesOrder.html b/ruoyi-admin/src/main/resources/templates/system/salesOrder/salesOrder.html index 9ae0a79f..7ec4265b 100644 --- a/ruoyi-admin/src/main/resources/templates/system/salesOrder/salesOrder.html +++ b/ruoyi-admin/src/main/resources/templates/system/salesOrder/salesOrder.html @@ -223,6 +223,10 @@ var editFlag = [[${@permission.hasPermi('system:salesOrder:edit')}]]; var removeFlag = [[${@permission.hasPermi('system:salesOrder:remove')}]]; + var cancelFlag = [[${@permission.hasPermi('system:salesOrder:cancel')}]]; + + + var salesDeliverGoodsFlag = [[${@permission.hasPermi('system:salesOrder:salesDeliverGoods')}]]; var startAftersalesFlag = [[${@permission.hasPermi('sales:afterSalesNotice:startAftersales')}]]; @@ -376,7 +380,7 @@ var actions = []; if(row.auditStatus=="1" && row.useStatus=="1" && !row.cancelInstanceId) { // 作废 - actions.push(' 作废'); + actions.push(' 作废'); // 已作废 } @@ -560,6 +564,15 @@ // } + // 作废 + function cancel(salesOrderId) { + + $.modal.confirm("确定作废该销售订单吗?", function() { + var url = prefix + "/cancel/" + salesOrderId; + $.modal.open("作废", url); + }) + } + /*下载*/ function downloadFile(filepath) { diff --git a/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskModifyApply.html b/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskModifyApply.html index a2dbf62a..af52dd28 100644 --- a/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskModifyApply.html +++ b/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskModifyApply.html @@ -232,14 +232,14 @@
- +
- +
diff --git a/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskYwjlVerify.html b/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskYwjlVerify.html index 0f0edaed..0e15a6ba 100644 --- a/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskYwjlVerify.html +++ b/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskYwjlVerify.html @@ -163,8 +163,8 @@
- -
+ +
@@ -228,14 +228,14 @@
- +
- +
@@ -245,6 +245,12 @@
+
+ +
+ +
+
diff --git a/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskYwzgVerify.html b/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskYwzgVerify.html index d144f6e2..d3df14b7 100644 --- a/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskYwzgVerify.html +++ b/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskYwzgVerify.html @@ -227,14 +227,14 @@
- +
- +
@@ -244,6 +244,12 @@
+
+ +
+ +
+
diff --git a/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskZozjVerify.html b/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskZozjVerify.html index 46c6471b..8d5a0d47 100644 --- a/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskZozjVerify.html +++ b/ruoyi-admin/src/main/resources/templates/system/salesOrder/taskZozjVerify.html @@ -163,8 +163,8 @@
- -
+ +
@@ -227,14 +227,14 @@
- +
- +
@@ -244,6 +244,12 @@
+
+ +
+ +
+