diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysCustomerController.java b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysCustomerController.java index 728b4184..7b73d17d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysCustomerController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysCustomerController.java @@ -530,18 +530,33 @@ public class SysCustomerController extends BaseController } return new SysCustomerVo(); } + + /** - * 作废物料信息 + * 加载作废客户信息弹窗 + */ + @GetMapping("/cancel/{id}") + public String cancel(@PathVariable("id") Long id, ModelMap mmap) { + SysCustomer sysCustomer = sysCustomerService.selectSysCustomerById(id); + mmap.put("sysCustomer", sysCustomer); + return prefix + "/cancel"; + } + + + /** + * 作废客户信息 */ @RequiresPermissions("system:customer:cancel") @Log(title = "客户信息", businessType = BusinessType.CANCEL) - @GetMapping( "/cancel/{id}") + @PostMapping( "/cancel") @ResponseBody - public AjaxResult cancel(@PathVariable("id") Long id){ - sysCustomerService.cancelSysCustomerById(id); - return AjaxResult.success(); + public AjaxResult cancel(SysCustomer sysCustomer){ + return toAjax(sysCustomerService.cancelSysCustomerByObject(sysCustomer)); + } + + /** * 恢复物料信息 */ 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 dbaa3235..8b4371f5 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 @@ -148,6 +148,22 @@ public class SysSalesOrderController extends BaseController return getDataTable(list); } + /** + * 导出销售订单列表 + */ + + @RequiresPermissions("system:salesOrder:export") + @Log(title = "销售订单", businessType = BusinessType.EXPORT) + @PostMapping("/exportAll") + @ResponseBody + public AjaxResult exportAll(SysSalesOrderVo sysSalesOrder) + { + List list = sysSalesOrderService.selectSysSalesOrderAllList(sysSalesOrder); + ExcelUtil util = new ExcelUtil(SysSalesOrderVo.class); + return util.exportExcel(list, "销售订单数据"); + } + + /** * 导出销售订单列表 */ @@ -156,15 +172,16 @@ public class SysSalesOrderController extends BaseController @Log(title = "销售订单", businessType = BusinessType.EXPORT) @PostMapping("/export") @ResponseBody - public AjaxResult export(SysSalesOrderVo sysSalesOrder) + public AjaxResult export(@RequestBody String[] salesOrderCodes) { - List list = sysSalesOrderService.selectSysSalesOrderList(sysSalesOrder); + List list = sysSalesOrderService.selectSysSalesOrderListByCodes(salesOrderCodes); ExcelUtil util = new ExcelUtil(SysSalesOrderVo.class); return util.exportExcel(list, "销售订单数据"); } + /** * 修改保存销售订单 * */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysCustomer.java b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysCustomer.java index 2c5352db..ea8c5197 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysCustomer.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysCustomer.java @@ -759,6 +759,7 @@ public class SysCustomer extends BaseEntity .append("customerId",getCustomerId()) .append("customerName",getCustomerName()) .append("createTime", getCreateTime()) + .append("cancelRemark",getCancelRemark()) .toString(); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysCustomerQuote.java b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysCustomerQuote.java index 6523fa7c..893563b1 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysCustomerQuote.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysCustomerQuote.java @@ -86,7 +86,6 @@ public class SysCustomerQuote extends BaseEntity private BigDecimal usdSum; private String businessMembers; - @Excel(name = "审核标志: 0未审核 1审核成功 2审核拒绝") private String deginFlag; /** 删除标志(0代表存在 1代表删除) */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysSalesOrder.java b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysSalesOrder.java index f7f350f4..95376b8a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysSalesOrder.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysSalesOrder.java @@ -21,15 +21,25 @@ public class SysSalesOrder extends BaseEntity { /* 订单id*/ private Long salesOrderId; + /*使用状态 0未使用,1使用,2已作废*/ + @Excel(name = "使用状态", dictType = "useStatus") private String useStatus; + /*审核状态 (0未审核,1审核通过,2审核拒绝)*/ + @Excel(name = "审核状态", dictType = "auditStatus") private String auditStatus; + /*出货状态(0待出货通知,1待准备货,2待出货,3部分收货,4全部收货,5部分出货,6全部出货,7部分验收,8全部验收)*/ + @Excel(name = "出货状态", dictType = "sys_delivery_status") private String deliveryStatus; + /*收款结案状态(0待收款,1部分收款,2全部收款,3已结案)*/ + @Excel(name = "收款结案状态", dictType = "sys_close_status") private String closeStatus; + /**生产状态(0待评审、1待部门主管确认、2待工程审核、3待生产、4生产中、5部分完成、6全部完成)*/ + @Excel(name = "生产状态", dictType = "sys_erp_makeStatus") private String makeStatus; /* 订单编号*/ @Excel(name = "销售订单编号") @@ -37,7 +47,7 @@ public class SysSalesOrder extends BaseEntity { /*订单号码*/ @Excel(name = "客户订单编号") private String salesOrderNumber; - @Excel(name = "订单类型") + @Excel(name = "订单类型", dictType = "sys_order_type") private String salesOrderType; /* 客户代码*/ @Excel(name = "客户代码") @@ -45,41 +55,58 @@ public class SysSalesOrder extends BaseEntity { @Excel(name="币种") private String commonCurrency; /*美元汇率*/ + @Excel(name = "美元汇率") private Double usdTax; /*税率*/ + @Excel(name = "税率") private Double taxRate; /*是否开票*/ + @Excel(name = "是否开票", dictType = "sys_whether") private String invoice; /* 客户名称*/ @Excel(name = "客户名称") private String enterpriseName; /*事业部*/ + @Excel(name = "事业部") private String customerPurser; /*客户电话*/ + @Excel(name = "客户电话") private String customerPhone; /*物料合计*/ + @Excel(name = "物料合计") private Long materialSum; /*数量合计*/ + @Excel(name = "数量合计") private Long enterpriseSum; /*不含税单价(RMB)*/ + @Excel(name = "不含税单价(RMB)") private Double noRmbPrice; /*不含税总价(RMB)*/ + @Excel(name = "不含税总价(RMB)") private Double noRmbSum; /*含税单价(RMB)*/ + @Excel(name = "含税单价(RMB)") private Double rmbPrice; /*含税总价(RMB)*/ + @Excel(name = "含税总价(RMB)") private Double rmbTaxSum; /*不含税单价(美元)*/ + @Excel(name = "不含税单价(美元)") private Double noUsdPrice; /*不含税总价(美元)*/ + @Excel(name = "不含税总价(美元)") private Double noUsdSum; /*含税单价(美元)*/ + @Excel(name = "含税单价(美元)") private Double usdPrice; /*含税总价(美元)*/ + @Excel(name = "含税总价(美元)") private Double usdTaxSum; /*计划交付时间*/ + @Excel(name = "计划交付时间") private String deliveryTime; /*客户收货人*/ + @Excel(name = "客户收货人") private String customerDelivery; /*客户收货人(Bill to)*/ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysCustomerMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysCustomerMapper.java index 3760c194..6530d657 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysCustomerMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysCustomerMapper.java @@ -79,6 +79,11 @@ public interface SysCustomerMapper int deleteSysCustomerByIds(String[] ids); + /** + * 根据客户资料对象作废客户资料 + * */ + int cancelSysCustomerByObject(SysCustomer sysCustomer); + List selectSysCustomerBycode(); SysCustomerVo selectSysCustomerByEnterpriseCode(String enterpriseCode); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysSalesOrderMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysSalesOrderMapper.java index 066ff4cd..def16c1b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysSalesOrderMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysSalesOrderMapper.java @@ -76,4 +76,14 @@ public interface SysSalesOrderMapper * @return 结果 * */ int updateSysSalesOrderBySalesOrderCode(SysSalesOrder sysSalesOrder); + + /** + * 根据销售单号数组查询销售订单集合 + * */ + List selectSysSalesOrderListByCodes(String[] salesOrderCodes); + + /** + * 导出查询所有的销售订单 + * */ + List selectSysSalesOrderAllList(SysSalesOrderVo sysSalesOrder); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysCustomerService.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysCustomerService.java index 11073831..b60804a3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysCustomerService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysCustomerService.java @@ -110,4 +110,9 @@ public interface ISysCustomerService * 通过开票公司名称查询开票公司信息 * */ SysInvoice getSysInvoiceInfoByName(String invoiceCompanyName); + + /** + * 根据客户资料对象作废客户资料 + * */ + int cancelSysCustomerByObject(SysCustomer sysCustomer); } 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 d47badce..b949b69d 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 @@ -115,4 +115,14 @@ public interface ISysSalesOrderService * 导出销售订单数据 */ void exportSalesOrderByCode(String salesOrderCode, HttpServletResponse response); + + /** + * 根据销售单号数组查询销售订单集合 + * */ + List selectSysSalesOrderListByCodes(String[] salesOrderCodes); + + /** + * 查询所有可使用的销售订单 + * */ + List selectSysSalesOrderAllList(SysSalesOrderVo sysSalesOrder); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerServiceImpl.java index 14fc4b51..58b5f2cb 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerServiceImpl.java @@ -516,4 +516,37 @@ public class SysCustomerServiceImpl implements ISysCustomerService } + /** + * 根据客户资料对象作废客户资料 + * */ + @Transactional(rollbackFor = Exception.class) + @Override + public int cancelSysCustomerByObject(SysCustomer sysCustomer) { + + SysCustomerVo sysCustomerVo = sysCustomerMapper.selectSysCustomerById(sysCustomer.getId()); + // 审核状态-待审核 + sysCustomerVo.setAuditStatus("0"); + SysUser user = ShiroUtils.getSysUser(); + // 启动流程 + String applyTitle = user.getUserName()+"发起了客户信息作废审批-"+ DateUtils.dateTimeNow(); + String instanceType = "cancel"; + SysCustomer tempSysCustomer = new SysCustomer(); + BeanUtils.copyProperties(sysCustomerVo,tempSysCustomer); + ProcessInstance processInstance = startProcessInstance(applyTitle,instanceType,tempSysCustomer, user); + String processInstanceId = processInstance.getProcessInstanceId(); + // 作废实例id + tempSysCustomer.setCancelInstanceId(processInstanceId); + // 存在提交完就流程结束的情况 + boolean processIsFinish = processService.judgeProcessIsFinish(processInstanceId); + if(processIsFinish){ + // 审核状态-审核通过 + tempSysCustomer.setAuditStatus("1"); + // 使用状态-已作废 + tempSysCustomer.setUseStatus("2"); + } + + tempSysCustomer.setCancelRemark(sysCustomer.getCancelRemark()); + + return sysCustomerMapper.updateSysCustomer(tempSysCustomer); + } } 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 09bbb62e..1bc12fed 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 @@ -206,6 +206,23 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService return returnList; } + + /** + * 根据销售单号数组查询销售订单集合 + * */ + @Override + public List selectSysSalesOrderListByCodes(String[] salesOrderCodes) { + return sysSalesOrderMapper.selectSysSalesOrderListByCodes(salesOrderCodes); + } + + /** + * 导出查询所有的销售订单 + * */ + @Override + public List selectSysSalesOrderAllList(SysSalesOrderVo sysSalesOrder) { + return sysSalesOrderMapper.selectSysSalesOrderAllList(sysSalesOrder); + } + /** * 新增销售订单 * diff --git a/ruoyi-admin/src/main/resources/mapper/system/SysCustomerMapper.xml b/ruoyi-admin/src/main/resources/mapper/system/SysCustomerMapper.xml index 641783ee..1130948c 100644 --- a/ruoyi-admin/src/main/resources/mapper/system/SysCustomerMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/system/SysCustomerMapper.xml @@ -62,6 +62,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + select id,enterprise_code,enterprise_name,english_name,customer_abbreviation ,customer_purser , @@ -71,7 +73,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" customer_contact_id,customer_contact,customer_office,contact_number,customer_email,customer_fax, delivery_address_id,delivery_customer_person,delivery_customer_phone, delivery_address,delivery_customer_postal,delivery_customer_fax,business_members, - identifying_people,first_add_time,update_info_time, create_time ,audit_status,use_status,update_by,rmb_flag,usd_flag, + identifying_people,first_add_time,update_info_time, create_time ,audit_status,use_status,update_by,rmb_flag,usd_flag, cancel_remark, apply_user,apply_time , instance_id , instance_type from sys_customer @@ -220,6 +222,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" create_time, rmb_flag, usd_flag + cancel_remark, #{enterpriseCode}, @@ -274,6 +277,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{createTime}, #{rmbFlag}, #{usdFlag} + #{cancelRemark}, @@ -323,6 +327,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" customer_remarks = #{customerRemarks}, customer_sign = #{customer_sign}, update_by = #{updateBy}, + update_time = #{updateTime}, instance_id = #{instanceId}, instance_type = #{instanceType}, submit_instance_id = #{submitInstanceId}, @@ -332,7 +337,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" apply_user = #{applyUser}, apply_time = #{applyTime}, rmb_flag = #{rmbFlag}, - usd_flag = #{usdFlag} + usd_flag = #{usdFlag}, + cancel_remark = #{cancelRemark}, where id = #{id} @@ -346,6 +352,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + + update sys_customer set del_flag = '1', use_status = '2',cancel_remark = #{cancelRemark} + where enterprise_code = #{enterpriseCode} + + + update sys_customer set del_flag = '1' where id = #{id} diff --git a/ruoyi-admin/src/main/resources/mapper/system/SysSalesOrderMapper.xml b/ruoyi-admin/src/main/resources/mapper/system/SysSalesOrderMapper.xml index 4334a61b..facbf1f1 100644 --- a/ruoyi-admin/src/main/resources/mapper/system/SysSalesOrderMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/system/SysSalesOrderMapper.xml @@ -146,6 +146,64 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where sales_order_code = #{salesOrderCode} + + + + + insert into sys_sales_order diff --git a/ruoyi-admin/src/main/resources/templates/system/customer/cancel.html b/ruoyi-admin/src/main/resources/templates/system/customer/cancel.html new file mode 100644 index 00000000..baa06c43 --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/system/customer/cancel.html @@ -0,0 +1,32 @@ + + + + + + +
+
+ +
+ +
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/customer/customer.html b/ruoyi-admin/src/main/resources/templates/system/customer/customer.html index 023cb239..d46c1720 100644 --- a/ruoyi-admin/src/main/resources/templates/system/customer/customer.html +++ b/ruoyi-admin/src/main/resources/templates/system/customer/customer.html @@ -160,47 +160,83 @@
- -
+ +
- -
+ +
-
- +
+
- +
- + +
+ +
+
+
- +
- + +
+
+
- +
- +
- +
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
@@ -510,14 +546,14 @@ if (value == null) {return " ";} else { return value;} } }, - {title: '上次修改时间',field: 'updateInfoTime',}, + {title: '上次修改时间',field: 'updateTime',}, {title: '操作',align: 'center', formatter: function(value, row, index) { var actions = []; // 审核状态-审核通过 使用状态-是 未发起作废流程 if((row.auditStatus=="1" || row.auditStatus=="2") && !row.cancelInstanceId){ // 作废 - actions.push(' 作废'); + actions.push(' 作废'); // 编辑 actions.push(' 编辑 '); }else{ @@ -602,6 +638,16 @@ }); }); + + //作废 + function cancel(id) { + $.modal.confirm("确认要作废该客户资料吗?", function () { + var url = prefix + '/cancel/' + id; + $.modal.open("作废", url); + }) + } + + //导出 function exportCustomerInfo() { // rows为选中行的id diff --git a/ruoyi-admin/src/main/resources/templates/system/customer/taskModifyApply.html b/ruoyi-admin/src/main/resources/templates/system/customer/taskModifyApply.html index 95eceb4d..01f512f5 100644 --- a/ruoyi-admin/src/main/resources/templates/system/customer/taskModifyApply.html +++ b/ruoyi-admin/src/main/resources/templates/system/customer/taskModifyApply.html @@ -262,27 +262,27 @@ shiro:haspermission="customer:selectBusinessMembers">
-
- -
- - -
-
+
+
- + +
+
+
+ +
+
-
diff --git a/ruoyi-admin/src/main/resources/templates/system/customer/taskYwjlVerify.html b/ruoyi-admin/src/main/resources/templates/system/customer/taskYwjlVerify.html index e06deacc..83d03a2e 100644 --- a/ruoyi-admin/src/main/resources/templates/system/customer/taskYwjlVerify.html +++ b/ruoyi-admin/src/main/resources/templates/system/customer/taskYwjlVerify.html @@ -270,28 +270,29 @@
- -
- - + +
+
+ + +
+
- -
- - + +
+
- +
- +
-
- +
+
diff --git a/ruoyi-admin/src/main/resources/templates/system/customer/taskYwzgVerify.html b/ruoyi-admin/src/main/resources/templates/system/customer/taskYwzgVerify.html index 42745cf2..ae9b18e1 100644 --- a/ruoyi-admin/src/main/resources/templates/system/customer/taskYwzgVerify.html +++ b/ruoyi-admin/src/main/resources/templates/system/customer/taskYwzgVerify.html @@ -269,27 +269,27 @@
-
- -
- - -
-
+
+
- + +
+
+
+ +
+
-
diff --git a/ruoyi-admin/src/main/resources/templates/system/customer/taskZozjVerify.html b/ruoyi-admin/src/main/resources/templates/system/customer/taskZozjVerify.html index 6fc47c7c..e903e0cf 100644 --- a/ruoyi-admin/src/main/resources/templates/system/customer/taskZozjVerify.html +++ b/ruoyi-admin/src/main/resources/templates/system/customer/taskZozjVerify.html @@ -268,24 +268,25 @@
-
- -
- - -
-
+
+
- + +
+
+
+ +
+
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 318a9046..8eb66c8f 100644 --- a/ruoyi-admin/src/main/resources/templates/system/salesOrder/salesOrder.html +++ b/ruoyi-admin/src/main/resources/templates/system/salesOrder/salesOrder.html @@ -185,11 +185,12 @@
- - + 导出 - + + 导出销售订单 + 添加 @@ -452,6 +453,65 @@ } + + + // 导出 + function exportExcel(formId) { + // $.table.set(); + var salesOrderCodeData = []; + var selections = $("#bootstrap-table").bootstrapTable("getSelections"); + if(selections.length === 0){ + $.modal.confirm("确定导出所有出货通知吗?", function() { + var currentId = $.common.isEmpty(formId) ? $('form').attr('id') : formId; + var params = $("#bootstrap-table").bootstrapTable('getOptions'); + var dataParam = $("#" + currentId).serializeArray(); + dataParam.push({ "name": "orderByColumn", "value": params.sortName }); + dataParam.push({ "name": "isAsc", "value": params.sortOrder }); + $.modal.loading("正在导出数据,请稍后..."); + $.post(prefix + '/exportAll', dataParam, function(result) { + if (result.code == web_status.SUCCESS) { + window.location.href = ctx + "common/download?fileName=" + encodeURI(result.msg) + "&delete=" + true; + } else if (result.code == web_status.WARNING) { + $.modal.alertWarning(result.msg) + } else { + $.modal.alertError(result.msg); + } + $.modal.closeLoading(); + }); + }); + }else { + $.modal.confirm("确定导出选中的所有出货通知吗?", function () { + //·拼接单号 + for(let i=0;i params; @@ -98,6 +101,14 @@ public class BaseEntity implements Serializable this.remark = remark; } + public String getCancelRemark() { + return cancelRemark; + } + + public void setCancelRemark(String cancelRemark) { + this.cancelRemark = cancelRemark; + } + public Map getParams() { if (params == null)