From 01c3d0ed58726f02306daa6ee1d7921a58f9a971 Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Mon, 22 Jul 2024 16:09:01 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20=E9=94=80=E5=94=AE=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E5=94=AE=E5=90=8E=E9=80=9A=E7=9F=A5=E5=8D=95=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=94=9F=E4=BA=A7=E5=8D=95=E5=8F=B7=E5=AD=97=E6=AE=B5=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=94=AE=E5=90=8E=E9=80=9A=E7=9F=A5=E5=8D=95?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E6=96=B9=E6=B3=95=EF=BC=9A=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E9=94=80=E5=94=AE=E8=AE=A2=E5=8D=95=E6=8F=92?= =?UTF-8?q?=E5=85=A5=E5=94=AE=E5=90=8E=E9=80=9A=E7=9F=A5=E5=8D=95=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=20=E6=96=B0=E5=A2=9E=E6=A0=B9=E6=8D=AE=E9=94=80?= =?UTF-8?q?=E5=94=AE=E8=AE=A2=E5=8D=95=E4=B8=AD=E5=94=AE=E5=90=8E=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E5=8D=95vo=E9=9B=86=E5=90=88=E6=8F=92=E5=85=A5?= =?UTF-8?q?=E5=94=AE=E5=90=8E=E9=80=9A=E7=9F=A5=E5=8D=95=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SalesAftersalesNoticeController.java | 8 +-- .../sales/domain/SalesAftersalesNotice.java | 17 +++++- .../ISalesAftersalesNoticeService.java | 3 +- .../SalesAftersalesNoticeServiceImpl.java | 61 +++++++++++++++++-- .../sales/SalesAftersalesNoticeMapper.xml | 6 +- 5 files changed, 84 insertions(+), 11 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/sales/controller/SalesAftersalesNoticeController.java b/ruoyi-admin/src/main/java/com/ruoyi/sales/controller/SalesAftersalesNoticeController.java index c7ca877a..25705ef8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/sales/controller/SalesAftersalesNoticeController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/sales/controller/SalesAftersalesNoticeController.java @@ -115,9 +115,9 @@ public class SalesAftersalesNoticeController extends BaseController @ResponseBody public AjaxResult addSave(SalesAftersalesNotice salesAftersalesNotice) { - // 审核状态-待审核 - salesAftersalesNotice.setAuditStatus("0"); - salesAftersalesNoticeService.submitApply(salesAftersalesNotice); +// // 审核状态-待审核 +// salesAftersalesNotice.setAuditStatus("0"); +// salesAftersalesNoticeService.submitApply(salesAftersalesNotice); return AjaxResult.success(); } @@ -131,7 +131,7 @@ public class SalesAftersalesNoticeController extends BaseController @ResponseBody public AjaxResult startAftersalesSave(@RequestBody SysSalesOrder sysSalesOrder) { - + salesAftersalesNoticeService.submitApply(sysSalesOrder); return AjaxResult.success(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/sales/domain/SalesAftersalesNotice.java b/ruoyi-admin/src/main/java/com/ruoyi/sales/domain/SalesAftersalesNotice.java index 0ea051ae..2d3edcd8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/sales/domain/SalesAftersalesNotice.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/sales/domain/SalesAftersalesNotice.java @@ -28,6 +28,11 @@ public class SalesAftersalesNotice extends BaseEntity @Excel(name = "关联销售订单编号") private String salesOrderCode; + + /** 关联生产订单号 */ + @Excel(name = "关联生产订单号") + private String makeNo; + /** 用户ID */ @Excel(name = "用户ID") private Long userId; @@ -140,7 +145,16 @@ public class SalesAftersalesNotice extends BaseEntity { return salesOrderCode; } - public void setUserId(Long userId) + + public String getMakeNo() { + return makeNo; + } + + public void setMakeNo(String makeNo) { + this.makeNo = makeNo; + } + + public void setUserId(Long userId) { this.userId = userId; } @@ -336,6 +350,7 @@ public class SalesAftersalesNotice extends BaseEntity .append("aftersalesNoticeId", getAftersalesNoticeId()) .append("aftersalesNoticeCode", getAftersalesNoticeCode()) .append("salesOrderCode", getSalesOrderCode()) + .append("makeNo", getMakeNo()) .append("userId", getUserId()) .append("auditStatus", getAuditStatus()) .append("aftersalesStatus", getAftersalesStatus()) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/sales/service/ISalesAftersalesNoticeService.java b/ruoyi-admin/src/main/java/com/ruoyi/sales/service/ISalesAftersalesNoticeService.java index 3c0e5ceb..80b4f272 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/sales/service/ISalesAftersalesNoticeService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/sales/service/ISalesAftersalesNoticeService.java @@ -5,6 +5,7 @@ import java.util.List; import com.ruoyi.aftersales.domain.AftersalesOrder; import com.ruoyi.sales.domain.SalesAftersalesNotice; import com.ruoyi.sales.domain.VO.SalesAftersalesNoticeVO; +import com.ruoyi.system.domain.SysSalesOrder; import com.ruoyi.system.domain.Vo.SelectAftersalesNoticeVO; import org.activiti.engine.runtime.ProcessInstance; @@ -83,7 +84,7 @@ public interface ISalesAftersalesNoticeService /** * 审批流程启动 * */ - ProcessInstance submitApply(SalesAftersalesNotice salesAftersalesNotice); + ProcessInstance submitApply(SysSalesOrder sysSalesOrder); /** * 根据售后单号查询销售售后通知单 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/sales/service/impl/SalesAftersalesNoticeServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/sales/service/impl/SalesAftersalesNoticeServiceImpl.java index 2b7322f6..79620365 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/sales/service/impl/SalesAftersalesNoticeServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/sales/service/impl/SalesAftersalesNoticeServiceImpl.java @@ -12,9 +12,14 @@ import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.process.general.service.IProcessService; import com.ruoyi.process.todoitem.mapper.BizTodoItemMapper; +import com.ruoyi.sales.domain.SalesAftersalesNoticeDetail; import com.ruoyi.sales.domain.VO.SalesAftersalesNoticeVO; +import com.ruoyi.sales.mapper.SalesAftersalesNoticeDetailMapper; +import com.ruoyi.system.domain.SysMakeOrder; +import com.ruoyi.system.domain.SysSalesOrder; import com.ruoyi.system.domain.SysSalesOrderChild; import com.ruoyi.system.domain.Vo.SelectAftersalesNoticeVO; +import com.ruoyi.system.mapper.SysMakeOrderMapper; import com.ruoyi.system.mapper.SysSalesOrderChildMapper; import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.service.ISysRoleService; @@ -67,6 +72,12 @@ public class SalesAftersalesNoticeServiceImpl implements ISalesAftersalesNoticeS @Autowired private SysSalesOrderChildMapper sysSalesOrderChildMapper; + @Autowired + private SalesAftersalesNoticeDetailMapper aftersalesNoticeDetailMapper; + + @Autowired + private SysMakeOrderMapper sysMakeOrderMapper; + /** * 查询售后通知单 * @@ -222,15 +233,36 @@ public class SalesAftersalesNoticeServiceImpl implements ISalesAftersalesNoticeS @Transactional(rollbackFor = Exception.class) @Override - public ProcessInstance submitApply(SalesAftersalesNotice salesAftersalesNotice) { - - + public ProcessInstance submitApply(SysSalesOrder sysSalesOrder) { SysUser user = ShiroUtils.getSysUser(); + String loginName = ShiroUtils.getLoginName(); + SysMakeOrder sysMakeOrder = sysMakeOrderMapper.selectMakeOrderBySaleNo(sysSalesOrder.getSalesOrderCode()); + SalesAftersalesNotice salesAftersalesNotice = new SalesAftersalesNotice(); + // 审核状态-待审核 + salesAftersalesNotice.setAuditStatus("0"); + String aftersalesNoticeCode = redisCache.generateBillNo("SH"); salesAftersalesNotice.setApplyUser(user.getLoginName()); salesAftersalesNotice.setApplyTime(DateUtils.getNowDate()); - salesAftersalesNotice.setAftersalesNoticeCode(redisCache.generateBillNo("SH")); + salesAftersalesNotice.setAftersalesNoticeCode(aftersalesNoticeCode); + salesAftersalesNotice.setMakeNo(sysMakeOrder.getMakeNo()); + salesAftersalesNotice.setSalesOrderCode(sysSalesOrder.getSalesOrderCode()); + salesAftersalesNotice.setEnterpriseCode(sysSalesOrder.getEnterpriseCode()); + salesAftersalesNotice.setEnterpriseName(sysSalesOrder.getEnterpriseName()); + salesAftersalesNotice.setCompanyAddress(sysSalesOrder.getDeliveryAddress()); + salesAftersalesNotice.setCustomerContact(sysSalesOrder.getCustomerContact()); + salesAftersalesNotice.setContactNumber(sysSalesOrder.getContactNumber()); + salesAftersalesNotice.setRemark(sysSalesOrder.getRemark()); + salesAftersalesNotice.setCreateBy(loginName); + salesAftersalesNotice.setCreateTime(new Date()); // 保存 insertSalesAftersalesNotice(salesAftersalesNotice); + + List selectAftersalesNoticeVOList = sysSalesOrder.getSelectAftersalesNoticeVOList(); + + //插入售后通知单子表数据 + insertAftersalesNoticeDetailByList(loginName, aftersalesNoticeCode, selectAftersalesNoticeVOList); + + // 启动流程 String applyTitle = user.getUserName()+"发起了售后单提交审批-"+DateUtils.dateTimeNow(); String instanceType = "submit"; @@ -248,6 +280,27 @@ public class SalesAftersalesNoticeServiceImpl implements ISalesAftersalesNoticeS return processInstance; } + private void insertAftersalesNoticeDetailByList(String loginName, String aftersalesNoticeCode, List selectAftersalesNoticeVOList) { + for (SelectAftersalesNoticeVO selectAftersalesNoticeVO : selectAftersalesNoticeVOList) { + SalesAftersalesNoticeDetail salesAftersalesNoticeDetail = new SalesAftersalesNoticeDetail(); + salesAftersalesNoticeDetail.setAftersalesNoticeCode(aftersalesNoticeCode); + salesAftersalesNoticeDetail.setMaterialNo(selectAftersalesNoticeVO.getMaterialNo()); + salesAftersalesNoticeDetail.setMaterialBrand(selectAftersalesNoticeVO.getMaterialBrand()); + salesAftersalesNoticeDetail.setMaterialName(selectAftersalesNoticeVO.getMaterialName()); + salesAftersalesNoticeDetail.setMaterialType(selectAftersalesNoticeVO.getMaterialType()); + salesAftersalesNoticeDetail.setMaterialUnit(selectAftersalesNoticeVO.getMaterialUnit()); + salesAftersalesNoticeDetail.setMaterialProcessMethod(selectAftersalesNoticeVO.getMaterialProcessMethod()); + salesAftersalesNoticeDetail.setMaterialDescribe(selectAftersalesNoticeVO.getMaterialDescribe()); + salesAftersalesNoticeDetail.setShippedGoodsSum(selectAftersalesNoticeVO.getShippedGoodsSum()); + salesAftersalesNoticeDetail.setSnCode(selectAftersalesNoticeVO.getSnCode()); + salesAftersalesNoticeDetail.setAftersalesProblem(selectAftersalesNoticeVO.getAftersalesProblem()); + salesAftersalesNoticeDetail.setEmergencyDegree(selectAftersalesNoticeVO.getEmergencyDegree()); + salesAftersalesNoticeDetail.setCreateBy(loginName); + salesAftersalesNoticeDetail.setCreateTime(new Date()); + aftersalesNoticeDetailMapper.insertSalesAftersalesNoticeDetail(salesAftersalesNoticeDetail); + } + } + /** * 根据售后单号查询销售售后通知单 * */ diff --git a/ruoyi-admin/src/main/resources/mapper/sales/SalesAftersalesNoticeMapper.xml b/ruoyi-admin/src/main/resources/mapper/sales/SalesAftersalesNoticeMapper.xml index 277d0b3a..7e0be7ad 100644 --- a/ruoyi-admin/src/main/resources/mapper/sales/SalesAftersalesNoticeMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/sales/SalesAftersalesNoticeMapper.xml @@ -8,6 +8,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -38,7 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select aftersales_notice_id, aftersales_notice_code, sales_order_code, user_id, audit_status, aftersales_status, business_members, aftersales_members, enterprise_code, enterprise_name, material_sum, enterprise_sum, start_time, customer_contact, contact_number, company_address, create_by, create_time, update_by, update_time, instance_id, instance_type, submit_instance_id, apply_title, apply_time, apply_user, cancel_instance_id, restore_instance_id, remark from sales_aftersales_notice + select aftersales_notice_id, aftersales_notice_code, sales_order_code, make_no, user_id, audit_status, aftersales_status, business_members, aftersales_members, enterprise_code, enterprise_name, material_sum, enterprise_sum, start_time, customer_contact, contact_number, company_address, create_by, create_time, update_by, update_time, instance_id, instance_type, submit_instance_id, apply_title, apply_time, apply_user, cancel_instance_id, restore_instance_id, remark from sales_aftersales_notice