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 @@
+
+ +
+ +
+