Browse Source

[fix] 销售管理

售后通知单新增生产单号字段
修改售后通知单审核方法:新增根据销售订单插入售后通知单数据
新增根据销售订单中售后通知单vo集合插入售后通知单详情数据
dev
liuxiaoxu 7 months ago
parent
commit
01c3d0ed58
  1. 8
      ruoyi-admin/src/main/java/com/ruoyi/sales/controller/SalesAftersalesNoticeController.java
  2. 17
      ruoyi-admin/src/main/java/com/ruoyi/sales/domain/SalesAftersalesNotice.java
  3. 3
      ruoyi-admin/src/main/java/com/ruoyi/sales/service/ISalesAftersalesNoticeService.java
  4. 61
      ruoyi-admin/src/main/java/com/ruoyi/sales/service/impl/SalesAftersalesNoticeServiceImpl.java
  5. 6
      ruoyi-admin/src/main/resources/mapper/sales/SalesAftersalesNoticeMapper.xml

8
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();
}

17
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())

3
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);
/**
* 根据售后单号查询销售售后通知单

61
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<SelectAftersalesNoticeVO> 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<SelectAftersalesNoticeVO> 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);
}
}
/**
* 根据售后单号查询销售售后通知单
* */

6
ruoyi-admin/src/main/resources/mapper/sales/SalesAftersalesNoticeMapper.xml

@ -8,6 +8,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="aftersalesNoticeId" column="aftersales_notice_id" />
<result property="aftersalesNoticeCode" column="aftersales_notice_code" />
<result property="salesOrderCode" column="sales_order_code" />
<result property="makeNo" column="make_no" />
<result property="userId" column="user_id" />
<result property="auditStatus" column="audit_status" />
<result property="aftersalesStatus" column="aftersales_status" />
@ -38,7 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectSalesAftersalesNoticeVo">
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
</sql>
<select id="selectSalesAftersalesNoticeList" parameterType="SalesAftersalesNoticeVO" resultMap="SalesAftersalesNoticeResult">
@ -73,6 +74,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="aftersalesNoticeCode != null">aftersales_notice_code,</if>
<if test="salesOrderCode != null">sales_order_code,</if>
<if test="makeNo != null">make_no,</if>
<if test="userId != null">user_id,</if>
<if test="auditStatus != null">audit_status,</if>
<if test="aftersalesStatus != null">aftersales_status,</if>
@ -103,6 +105,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="aftersalesNoticeCode != null">#{aftersalesNoticeCode},</if>
<if test="salesOrderCode != null">#{salesOrderCode},</if>
<if test="makeNo != null">#{makeNo},</if>
<if test="userId != null">#{userId},</if>
<if test="auditStatus != null">#{auditStatus},</if>
<if test="aftersalesStatus != null">#{aftersalesStatus},</if>
@ -137,6 +140,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<trim prefix="SET" suffixOverrides=",">
<if test="aftersalesNoticeCode != null">aftersales_notice_code = #{aftersalesNoticeCode},</if>
<if test="salesOrderCode != null">sales_order_code = #{salesOrderCode},</if>
<if test="makeNo != null">make_no = #{makeNo},</if>
<if test="userId != null">user_id = #{userId},</if>
<if test="auditStatus != null">audit_status = #{auditStatus},</if>
<if test="aftersalesStatus != null">aftersales_status = #{aftersalesStatus},</if>

Loading…
Cancel
Save