销售订单审核
This commit is contained in:
@@ -91,4 +91,43 @@ public class SmsSalesBillRest {
|
|||||||
SmsSalesBillDetailsVo vo = smsSalesBillService.fetchDetailsVoBySid(sid);
|
SmsSalesBillDetailsVo vo = smsSalesBillService.fetchDetailsVoBySid(sid);
|
||||||
return rb.success().setData(vo);
|
return rb.success().setData(vo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//---------------------------- 订单审核 ------------------------------
|
||||||
|
@ApiOperation("销售订单审核列表")
|
||||||
|
@PostMapping("/reviewListPage")
|
||||||
|
public ResultBean<PagerVo<OrderReviewVo>> reviewListPage(@RequestBody PagerQuery<OrderReviewQuery> pq){
|
||||||
|
return smsSalesBillService.reviewListPage(pq);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("销售订单审核详情")
|
||||||
|
@GetMapping("/reviewDetails")
|
||||||
|
public ResultBean<ReviewDetailsVo> reviewDetails(@RequestParam("sid") String sid){
|
||||||
|
return smsSalesBillService.reviewDetails(sid);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("收货地址保存")
|
||||||
|
@PostMapping("/saveShipper")
|
||||||
|
public ResultBean saveShipper(@RequestBody ReviewDetailsVo dto){
|
||||||
|
return smsSalesBillService.saveShipper(dto);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("发票信息保存")
|
||||||
|
@PostMapping("/saveInvoice")
|
||||||
|
public ResultBean saveInvoice(@RequestBody ReviewDetailsVo dto){
|
||||||
|
return smsSalesBillService.saveInvoice(dto);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("分页列表保存")
|
||||||
|
@PostMapping("/saveOneListData")
|
||||||
|
public ResultBean saveOneListData(@RequestBody OrderReviewVo dto){
|
||||||
|
return smsSalesBillService.saveOneListData(dto);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("审核确认")
|
||||||
|
@PostMapping("/reviewConfirm")
|
||||||
|
public ResultBean reviewConfirm(@RequestBody ReviewConfirmDto dto){
|
||||||
|
return smsSalesBillService.reviewConfirm(dto);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
62
src/main/java/com/yxt/sales/biz/omsflownode/OmsFlowNode.java
Normal file
62
src/main/java/com/yxt/sales/biz/omsflownode/OmsFlowNode.java
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
/*********************************************************
|
||||||
|
*********************************************************
|
||||||
|
******************** *******************
|
||||||
|
************* ************
|
||||||
|
******* _oo0oo_ *******
|
||||||
|
*** o8888888o ***
|
||||||
|
* 88" . "88 *
|
||||||
|
* (| -_- |) *
|
||||||
|
* 0\ = /0 *
|
||||||
|
* ___/`---'\___ *
|
||||||
|
* .' \\| |// '. *
|
||||||
|
* / \\||| : |||// \ *
|
||||||
|
* / _||||| -:- |||||- \ *
|
||||||
|
* | | \\\ - /// | | *
|
||||||
|
* | \_| ''\---/'' |_/ | *
|
||||||
|
* \ .-\__ '-' ___/-. / *
|
||||||
|
* ___'. .' /--.--\ `. .'___ *
|
||||||
|
* ."" '< `.___\_<|>_/___.' >' "". *
|
||||||
|
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
|
||||||
|
* \ \ `_. \_ __\ /__ _/ .-` / / *
|
||||||
|
* =====`-.____`.___ \_____/___.-`___.-'===== *
|
||||||
|
* `=---=' *
|
||||||
|
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
|
||||||
|
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
|
||||||
|
*********************************************************/
|
||||||
|
package com.yxt.sales.biz.omsflownode;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.yxt.common.core.domain.BaseEntity;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Project: ss-sales(ss-sales) <br/>
|
||||||
|
* File: SmsSalesBill.java <br/>
|
||||||
|
* Class: com.yxt.sales.apiadmin.api.smssalesbill.SmsSalesBill <br/>
|
||||||
|
* Description: 销售订单. <br/>
|
||||||
|
* Copyright: Copyright (c) 2011 <br/>
|
||||||
|
* Company: https://gitee.com/liuzp315 <br/>
|
||||||
|
* Makedate: 2024-07-04 15:18:10 <br/>
|
||||||
|
*
|
||||||
|
* @author liupopo
|
||||||
|
* @version 1.0
|
||||||
|
* @since 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel(value = "工单-环节", description = "工单-环节")
|
||||||
|
@TableName("oms_flow_node")
|
||||||
|
public class OmsFlowNode extends BaseEntity {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ApiModelProperty("busSid")
|
||||||
|
private String billSid; // busSid
|
||||||
|
@ApiModelProperty("环节编码")
|
||||||
|
private String nodeCode; // 环节编码
|
||||||
|
@ApiModelProperty("环节名称")
|
||||||
|
private String nodeName; // 环节名称
|
||||||
|
@ApiModelProperty("操作人姓名")
|
||||||
|
private String createByName; // 操作人姓名
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
/*********************************************************
|
||||||
|
*********************************************************
|
||||||
|
******************** *******************
|
||||||
|
************* ************
|
||||||
|
******* _oo0oo_ *******
|
||||||
|
*** o8888888o ***
|
||||||
|
* 88" . "88 *
|
||||||
|
* (| -_- |) *
|
||||||
|
* 0\ = /0 *
|
||||||
|
* ___/`---'\___ *
|
||||||
|
* .' \\| |// '. *
|
||||||
|
* / \\||| : |||// \ *
|
||||||
|
* / _||||| -:- |||||- \ *
|
||||||
|
* | | \\\ - /// | | *
|
||||||
|
* | \_| ''\---/'' |_/ | *
|
||||||
|
* \ .-\__ '-' ___/-. / *
|
||||||
|
* ___'. .' /--.--\ `. .'___ *
|
||||||
|
* ."" '< `.___\_<|>_/___.' >' "". *
|
||||||
|
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
|
||||||
|
* \ \ `_. \_ __\ /__ _/ .-` / / *
|
||||||
|
* =====`-.____`.___ \_____/___.-`___.-'===== *
|
||||||
|
* `=---=' *
|
||||||
|
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
|
||||||
|
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
|
||||||
|
*********************************************************/
|
||||||
|
package com.yxt.sales.biz.omsflownode;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
|
import com.yxt.sales.biz.smssalesbill.OrderReviewVo;
|
||||||
|
import com.yxt.sales.biz.smssalesbill.ReviewDiscount;
|
||||||
|
import com.yxt.sales.biz.smssalesbill.SmsSalesBill;
|
||||||
|
import com.yxt.sales.biz.smssalesbill.SmsSalesBillVo;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Project: ss-sales(ss-sales) <br/>
|
||||||
|
* File: SmsSalesBillMapper.java <br/>
|
||||||
|
* Class: com.yxt.sales.apiadmin.biz.smssalesbill.SmsSalesBillMapper <br/>
|
||||||
|
* Description: 销售订单. <br/>
|
||||||
|
* Copyright: Copyright (c) 2011 <br/>
|
||||||
|
* Company: https://gitee.com/liuzp315 <br/>
|
||||||
|
* Makedate: 2024-07-04 15:18:10 <br/>
|
||||||
|
*
|
||||||
|
* @author liupopo
|
||||||
|
* @version 1.0
|
||||||
|
* @since 1.0
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface OmsFlowNodeMapper extends BaseMapper<OmsFlowNode> {
|
||||||
|
|
||||||
|
|
||||||
|
List<OmsFlowNode> selByBusSid(@Param("sid") String sid);
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.yxt.sales.biz.omsflownode.OmsFlowNodeMapper">
|
||||||
|
<!-- <where> ${ew.sqlSegment} </where>-->
|
||||||
|
<!-- ${ew.customSqlSegment} -->
|
||||||
|
|
||||||
|
<select id="selByBusSid" resultType="com.yxt.sales.biz.omsflownode.OmsFlowNode">
|
||||||
|
select * from oms_flow_node where billSid = #{sid}
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
/*********************************************************
|
||||||
|
*********************************************************
|
||||||
|
******************** *******************
|
||||||
|
************* ************
|
||||||
|
******* _oo0oo_ *******
|
||||||
|
*** o8888888o ***
|
||||||
|
* 88" . "88 *
|
||||||
|
* (| -_- |) *
|
||||||
|
* 0\ = /0 *
|
||||||
|
* ___/`---'\___ *
|
||||||
|
* .' \\| |// '. *
|
||||||
|
* / \\||| : |||// \ *
|
||||||
|
* / _||||| -:- |||||- \ *
|
||||||
|
* | | \\\ - /// | | *
|
||||||
|
* | \_| ''\---/'' |_/ | *
|
||||||
|
* \ .-\__ '-' ___/-. / *
|
||||||
|
* ___'. .' /--.--\ `. .'___ *
|
||||||
|
* ."" '< `.___\_<|>_/___.' >' "". *
|
||||||
|
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
|
||||||
|
* \ \ `_. \_ __\ /__ _/ .-` / / *
|
||||||
|
* =====`-.____`.___ \_____/___.-`___.-'===== *
|
||||||
|
* `=---=' *
|
||||||
|
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
|
||||||
|
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
|
||||||
|
*********************************************************/
|
||||||
|
package com.yxt.sales.biz.omsflownode;
|
||||||
|
|
||||||
|
|
||||||
|
import com.yxt.common.base.service.MybatisBaseService;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Project: ss-sales(ss-sales) <br/>
|
||||||
|
* File: SmsSalesBillService.java <br/>
|
||||||
|
* Class: com.yxt.sales.apiadmin.biz.smssalesbill.SmsSalesBillService <br/>
|
||||||
|
* Description: 销售订单 业务逻辑. <br/>
|
||||||
|
* Copyright: Copyright (c) 2011 <br/>
|
||||||
|
* Company: https://gitee.com/liuzp315 <br/>
|
||||||
|
* Makedate: 2024-07-04 15:18:10 <br/>
|
||||||
|
*
|
||||||
|
* @author liupopo
|
||||||
|
* @version 1.0
|
||||||
|
* @since 1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class OmsFlowNodeService extends MybatisBaseService<OmsFlowNodeMapper, OmsFlowNode> {
|
||||||
|
|
||||||
|
|
||||||
|
public List<OmsFlowNode> selByBusSid(String sid) {
|
||||||
|
return baseMapper.selByBusSid(sid);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
package com.yxt.sales.biz.smssalesbill;
|
||||||
|
|
||||||
|
import com.yxt.common.core.query.Query;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Fan
|
||||||
|
* @description
|
||||||
|
* @date 2024/7/25 11:42
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class OrderReviewQuery implements Query {
|
||||||
|
|
||||||
|
private String createOrgSid;
|
||||||
|
@ApiModelProperty("单据类型key(线下订单/预售订单等)")
|
||||||
|
private String billTypeKey;
|
||||||
|
@ApiModelProperty("店铺")
|
||||||
|
private String shopName;
|
||||||
|
@ApiModelProperty("仓库名称")
|
||||||
|
private String warehouseName;
|
||||||
|
@ApiModelProperty("订单号")
|
||||||
|
private String billNo;
|
||||||
|
@ApiModelProperty("快递单号")
|
||||||
|
private String logisticsNum;
|
||||||
|
@ApiModelProperty("买家ID")
|
||||||
|
private String buyserID;
|
||||||
|
@ApiModelProperty("快递")
|
||||||
|
private String logisticsName;
|
||||||
|
|
||||||
|
}
|
||||||
100
src/main/java/com/yxt/sales/biz/smssalesbill/OrderReviewVo.java
Normal file
100
src/main/java/com/yxt/sales/biz/smssalesbill/OrderReviewVo.java
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
package com.yxt.sales.biz.smssalesbill;
|
||||||
|
|
||||||
|
import com.yxt.common.core.vo.Vo;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Fan
|
||||||
|
* @description
|
||||||
|
* @date 2024/7/25 11:19
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class OrderReviewVo implements Vo {
|
||||||
|
|
||||||
|
private String sid;
|
||||||
|
@ApiModelProperty("订单标记(已开票、仓库打回等)")
|
||||||
|
private String billState; // 订单标记(已开票、仓库打回等)
|
||||||
|
@ApiModelProperty("提醒(拆、合、缺)")
|
||||||
|
private String noticeState; // 订单标记(已开票、仓库打回等)
|
||||||
|
@ApiModelProperty("剩余发货时间")
|
||||||
|
private String remainderTime; // 剩余发货时间
|
||||||
|
@ApiModelProperty("商品总数")
|
||||||
|
private String goodsTotalCount; // 商品总数
|
||||||
|
@ApiModelProperty("线上商品图片")
|
||||||
|
private List<String> picOnline = new ArrayList<>();
|
||||||
|
@ApiModelProperty("系统商品图片")
|
||||||
|
private List<String> picSys = new ArrayList<>();
|
||||||
|
@ApiModelProperty("线上备注/系统备注")
|
||||||
|
private String remarksOnlineSys; // 线上备注/系统备注
|
||||||
|
@ApiModelProperty("买家留言/附加信息")
|
||||||
|
private String buyerMessage; // 买家留言/附加信息
|
||||||
|
@ApiModelProperty("仓库名称")
|
||||||
|
private String warehouseName;
|
||||||
|
@ApiModelProperty("配送方式Value")
|
||||||
|
private String deliveryTypeValue;
|
||||||
|
@ApiModelProperty("快递")
|
||||||
|
private String logisticsName;
|
||||||
|
@ApiModelProperty("快递成本/干线费用")
|
||||||
|
private String logisticsCost;
|
||||||
|
@ApiModelProperty("买家ID")
|
||||||
|
private String buyserID;
|
||||||
|
@ApiModelProperty("收货地址")
|
||||||
|
private String deliveryAddress;
|
||||||
|
@ApiModelProperty("买家实付")
|
||||||
|
private String realPay;
|
||||||
|
@ApiModelProperty("优惠")
|
||||||
|
private String discountAmount;
|
||||||
|
@ApiModelProperty("应收")
|
||||||
|
private String dueAmount;
|
||||||
|
@ApiModelProperty("运费")
|
||||||
|
private String freight;
|
||||||
|
@ApiModelProperty("服务费")
|
||||||
|
private String serviceAmount;
|
||||||
|
@ApiModelProperty("声明价值(保价)")
|
||||||
|
private String declaredValue;
|
||||||
|
@ApiModelProperty("重量(Kg)")
|
||||||
|
private String weight;
|
||||||
|
@ApiModelProperty("体积(m³)")
|
||||||
|
private String volume;
|
||||||
|
@ApiModelProperty("订单号")
|
||||||
|
private String billNo;
|
||||||
|
@ApiModelProperty("系统单号")
|
||||||
|
private String sysBillNo;
|
||||||
|
@ApiModelProperty("店铺")
|
||||||
|
private String shopName;
|
||||||
|
@ApiModelProperty("下单时间(距今)")
|
||||||
|
private String billCreateTime;
|
||||||
|
@ApiModelProperty("付款时间(距今)")
|
||||||
|
private String payTime;
|
||||||
|
@ApiModelProperty("预计发货时间")
|
||||||
|
private String expectSendDate;
|
||||||
|
@ApiModelProperty("预计送达时间")
|
||||||
|
private String deliveryDate;
|
||||||
|
@ApiModelProperty("承诺/最晚揽收时间")
|
||||||
|
private String latestReceivingTime;
|
||||||
|
@ApiModelProperty("承诺/最晚发货时间")
|
||||||
|
private String latestSendTime;
|
||||||
|
@ApiModelProperty("承诺/最晚送达时间")
|
||||||
|
private String latestArriveTime;
|
||||||
|
@ApiModelProperty("应推时间")
|
||||||
|
private String needPushTime;
|
||||||
|
@ApiModelProperty("业务员")
|
||||||
|
private String salesName;
|
||||||
|
@ApiModelProperty("开票名称(发票抬头)")
|
||||||
|
private String invoiceTitle;
|
||||||
|
@ApiModelProperty("达人ID")
|
||||||
|
private String talentID;
|
||||||
|
@ApiModelProperty("达人昵称")
|
||||||
|
private String buyserNickname;
|
||||||
|
@ApiModelProperty("代发店铺")
|
||||||
|
private String agentShop;
|
||||||
|
@ApiModelProperty("原始平台")
|
||||||
|
private String originalPlat;
|
||||||
|
@ApiModelProperty("原始单号")
|
||||||
|
private String originalBillNo;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.yxt.sales.biz.smssalesbill;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Fan
|
||||||
|
* @description
|
||||||
|
* @date 2024/7/25 16:57
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ReviewConfirmDto {
|
||||||
|
private String type; //0通过 1不通过
|
||||||
|
private String remarks; //意见
|
||||||
|
private List<String> sids;
|
||||||
|
private String createBySid; //登录人sid
|
||||||
|
private String createByName; //登录人
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package com.yxt.sales.biz.smssalesbill;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Fan
|
||||||
|
* @description
|
||||||
|
* @date 2024/7/25 14:50
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ReviewDetailsVo {
|
||||||
|
|
||||||
|
private String sid;
|
||||||
|
private List<ReviewGoods> goods; //商品信息
|
||||||
|
private ReviewShipper shipper = new ReviewShipper(); //收货地址
|
||||||
|
private ReviewRemarksInfo remarksInfo = new ReviewRemarksInfo(); //备注信息
|
||||||
|
private ReviewInvoice invoice = new ReviewInvoice(); //发票信息
|
||||||
|
private List<ReviewDiscount> discounts; //优惠详情
|
||||||
|
private List<ReviewRecord> records; //操作记录
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
package com.yxt.sales.biz.smssalesbill;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Fan
|
||||||
|
* @description
|
||||||
|
* @date 2024/7/25 15:34
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ReviewDiscount {
|
||||||
|
|
||||||
|
@ApiModelProperty("商品名称")
|
||||||
|
private String goodsSpuName; // 商品名称
|
||||||
|
@ApiModelProperty("商品简称")
|
||||||
|
private String goodsSkuTitle; // 商品Sku名称
|
||||||
|
@ApiModelProperty("商品编码")
|
||||||
|
private String goodsSkuCode; // 商品编码
|
||||||
|
@ApiModelProperty("规格型号")
|
||||||
|
private String goodsSkuOwnSpec; // 规格型号
|
||||||
|
|
||||||
|
@ApiModelProperty("优惠名称")
|
||||||
|
private String discountName; // 优惠名称
|
||||||
|
@ApiModelProperty("优惠金额")
|
||||||
|
private String discountAmount; // 优惠金额
|
||||||
|
@ApiModelProperty("平台商品名称")
|
||||||
|
private String platGoodsName; // 平台商品名称
|
||||||
|
@ApiModelProperty("平台规格名称")
|
||||||
|
private String platOwnSpec; // 平台规格名称
|
||||||
|
}
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
package com.yxt.sales.biz.smssalesbill;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Fan
|
||||||
|
* @description
|
||||||
|
* @date 2024/7/25 14:53
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ReviewGoods {
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty("商品名称")
|
||||||
|
private String goodsSpuName; // 商品名称
|
||||||
|
@ApiModelProperty("商品Sku名称")
|
||||||
|
private String goodsSkuTitle; // 商品Sku名称
|
||||||
|
@ApiModelProperty("商品编码")
|
||||||
|
private String goodsSkuCode; // 商品编码
|
||||||
|
@ApiModelProperty("规格型号")
|
||||||
|
private String goodsSkuOwnSpec; // 规格型号
|
||||||
|
@ApiModelProperty("条码")
|
||||||
|
private String barCode; // 条码
|
||||||
|
@ApiModelProperty("销售单价")
|
||||||
|
private String price; // 销售单价
|
||||||
|
@ApiModelProperty("折后单价")
|
||||||
|
private String discountPrice; // 折后单价
|
||||||
|
@ApiModelProperty("数量")
|
||||||
|
private String count; // 数量
|
||||||
|
@ApiModelProperty("应收款")
|
||||||
|
private String dueAmount; // 应收款
|
||||||
|
@ApiModelProperty("销售金额")
|
||||||
|
private String amount; // 销售金额
|
||||||
|
@ApiModelProperty("税率")
|
||||||
|
private String taxRate; // 库存数量
|
||||||
|
@ApiModelProperty("税额")
|
||||||
|
private String taxAmount; // 税额
|
||||||
|
@ApiModelProperty("参考进价")
|
||||||
|
private String referenceCost; // 参考进价
|
||||||
|
@ApiModelProperty("商品成本")
|
||||||
|
private String cost; // 商品成本
|
||||||
|
@ApiModelProperty("批次号")
|
||||||
|
private String batchNumber; // 批次号
|
||||||
|
@ApiModelProperty("实际库存")
|
||||||
|
private String inventoryCount; // 库存数量
|
||||||
|
@ApiModelProperty("可分配库存")
|
||||||
|
private String allocateCount; // 可分配库存
|
||||||
|
@ApiModelProperty("可用库存")
|
||||||
|
private String useCount; // 可用库存
|
||||||
|
@ApiModelProperty("在途库存")
|
||||||
|
private String wayCount; // 在途库存
|
||||||
|
@ApiModelProperty("各仓库存")
|
||||||
|
private String wareHouseCount; // 各仓库存
|
||||||
|
@ApiModelProperty("库存状况")
|
||||||
|
private String inventoryState; // 库存状况
|
||||||
|
@ApiModelProperty("单号")
|
||||||
|
private String billNo; // 单号
|
||||||
|
@ApiModelProperty("备注")
|
||||||
|
private String remarks; // 备注
|
||||||
|
@ApiModelProperty("图片")
|
||||||
|
private String goodsImgUrl; // 图片
|
||||||
|
@ApiModelProperty("预计发货时间")
|
||||||
|
private String expectSendDate; // 预计发货时间
|
||||||
|
private List<String> pic = new ArrayList<>();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
package com.yxt.sales.biz.smssalesbill;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Fan
|
||||||
|
* @description
|
||||||
|
* @date 2024/7/25 15:28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ReviewInvoice {
|
||||||
|
|
||||||
|
@ApiModelProperty("开票形式(001纸质发票/002电子发票")
|
||||||
|
private String invoiceMediumKey; // 开票形式(001纸质发票/002电子发票
|
||||||
|
@ApiModelProperty("开票形式(纸质发票/电子发票)")
|
||||||
|
private String invoiceMediumValue; // 开票形式(纸质发票/电子发票)
|
||||||
|
@ApiModelProperty("发票类型Key")
|
||||||
|
private String invoiceTypeKey; // 发票类型Key
|
||||||
|
@ApiModelProperty("发票类型")
|
||||||
|
private String invoiceType; // 发票类型
|
||||||
|
@ApiModelProperty("抬头")
|
||||||
|
private String invoiceTitle; // 开票名称
|
||||||
|
@ApiModelProperty("内容")
|
||||||
|
private String invoiceContent; // 内容
|
||||||
|
@ApiModelProperty("税号")
|
||||||
|
private String taxpayerNo; // 税号
|
||||||
|
@ApiModelProperty("开户银行")
|
||||||
|
private String bankName; // 开户银行
|
||||||
|
@ApiModelProperty("银行账户")
|
||||||
|
private String bankAccount; // 银行账户
|
||||||
|
@ApiModelProperty("详细地址")
|
||||||
|
private String address; // 详细地址
|
||||||
|
@ApiModelProperty("固定电话")
|
||||||
|
private String phone; // 固定电话
|
||||||
|
@ApiModelProperty("邮箱")
|
||||||
|
private String e_mail; // 邮箱
|
||||||
|
@ApiModelProperty("备注")
|
||||||
|
private String remarks; // 备注
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty("应收合计")
|
||||||
|
private String dueAmount; // 应收合计
|
||||||
|
@ApiModelProperty("本次欠款")
|
||||||
|
private String thisDebt; // 本次欠款
|
||||||
|
@ApiModelProperty("历史欠款")
|
||||||
|
private String historyDebt; // 历史欠款
|
||||||
|
@ApiModelProperty("预收合计")
|
||||||
|
private String advanceBalance; // 预收款余额
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.yxt.sales.biz.smssalesbill;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Fan
|
||||||
|
* @description
|
||||||
|
* @date 2024/7/25 15:37
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ReviewRecord {
|
||||||
|
private String createTime;//创建时间
|
||||||
|
private String createByName;//账号名称
|
||||||
|
private String remark;//操作内容
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.yxt.sales.biz.smssalesbill;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Fan
|
||||||
|
* @description
|
||||||
|
* @date 2024/7/25 15:26
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ReviewRemarksInfo {
|
||||||
|
|
||||||
|
private String buyerMessage; //买家留言
|
||||||
|
private String remarks; //线上备注
|
||||||
|
private String remarksSys; //系统备注
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package com.yxt.sales.biz.smssalesbill;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Fan
|
||||||
|
* @description
|
||||||
|
* @date 2024/7/25 15:23
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ReviewShipper {
|
||||||
|
|
||||||
|
@ApiModelProperty("收货人姓名")
|
||||||
|
private String shipperName; // 收货人姓名
|
||||||
|
@ApiModelProperty("收货人手机")
|
||||||
|
private String shipperMob; // 收货人手机
|
||||||
|
@ApiModelProperty("收货省")
|
||||||
|
private String deliveryProvince; // 收货省
|
||||||
|
@ApiModelProperty("收货市")
|
||||||
|
private String deliveryCity; // 收货市
|
||||||
|
@ApiModelProperty("收货县区")
|
||||||
|
private String deliveryCounty; // 收货县区
|
||||||
|
@ApiModelProperty("收货详细地址")
|
||||||
|
private String deliveryAddress; // 收货详细地址
|
||||||
|
@ApiModelProperty("真实姓名")
|
||||||
|
private String name; // 真实姓名
|
||||||
|
@ApiModelProperty("身份证号码")
|
||||||
|
private String idNo; // 身份证号码
|
||||||
|
@ApiModelProperty("固定电话")
|
||||||
|
private String phone; // 固定电话
|
||||||
|
}
|
||||||
@@ -88,4 +88,6 @@ public class SmsSalesBill extends BaseEntity {
|
|||||||
private String createOrgSid; // 创建组织sid
|
private String createOrgSid; // 创建组织sid
|
||||||
@ApiModelProperty("订单标记(已开票、仓库打回等)")
|
@ApiModelProperty("订单标记(已开票、仓库打回等)")
|
||||||
private Integer billState; // 订单标记(已开票、仓库打回等)
|
private Integer billState; // 订单标记(已开票、仓库打回等)
|
||||||
|
@ApiModelProperty("提醒(拆、合、缺)")
|
||||||
|
private Integer noticeState; // 订单标记(已开票、仓库打回等)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
package com.yxt.sales.biz.smssalesbill;
|
package com.yxt.sales.biz.smssalesbill;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
@@ -62,4 +63,8 @@ public interface SmsSalesBillMapper extends BaseMapper<SmsSalesBill> {
|
|||||||
List<SmsSalesBillVo> selectListVo();
|
List<SmsSalesBillVo> selectListVo();
|
||||||
|
|
||||||
int selectNum(String bill);
|
int selectNum(String bill);
|
||||||
|
|
||||||
|
IPage<OrderReviewVo> reviewListPage(IPage<SmsSalesBill> page, @Param(Constants.WRAPPER) QueryWrapper<SmsSalesBill> qw);
|
||||||
|
|
||||||
|
List<ReviewDiscount> selReviewDiscountByBillSid(@Param("sid") String sid);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,4 +35,71 @@
|
|||||||
from sms_sales_bill
|
from sms_sales_bill
|
||||||
where billNo LIKE concat(#{bill}, '%')
|
where billNo LIKE concat(#{bill}, '%')
|
||||||
</select>
|
</select>
|
||||||
|
<select id="reviewListPage" resultType="com.yxt.sales.biz.smssalesbill.OrderReviewVo">
|
||||||
|
SELECT
|
||||||
|
s.sid,
|
||||||
|
s.billState,
|
||||||
|
s.noticeState,
|
||||||
|
( SELECT IFNULL( SUM( count ), 0 ) FROM sms_sales_bill_detail AS d WHERE d.billSid = s.sid ) goodsTotalCount,
|
||||||
|
CONCAT( p.remarks, '/', s.remarks ) remarksOnlineSys,
|
||||||
|
p.buyerMessage,
|
||||||
|
s.warehouseName,
|
||||||
|
l.deliveryTypeValue,
|
||||||
|
l.logisticsName,
|
||||||
|
l.logisticsCost,
|
||||||
|
sp.buyserID,
|
||||||
|
CONCAT( p.shipperName, p.shipperMob, p.deliveryProvince, p.deliveryCity, p.deliveryCounty, p.deliveryAddress ) deliveryAddress,
|
||||||
|
a.realPay,
|
||||||
|
a.discountAmount,
|
||||||
|
a.dueAmount,
|
||||||
|
a.freight,
|
||||||
|
a.serviceAmount,
|
||||||
|
a.declaredValue,
|
||||||
|
l.volume,
|
||||||
|
l.weight,
|
||||||
|
s.billNo,
|
||||||
|
s.billNo AS sysBillNo,
|
||||||
|
sp.shopName,
|
||||||
|
l.billCreateTime,
|
||||||
|
l.payTime,
|
||||||
|
l.expectSendDate,
|
||||||
|
l.deliveryDate,
|
||||||
|
l.latestReceivingTime,
|
||||||
|
l.latestSendTime,
|
||||||
|
l.latestArriveTime,
|
||||||
|
l.needPushTime,
|
||||||
|
s.salesName,
|
||||||
|
i.invoiceTitle,
|
||||||
|
sp.buyserID AS talentID,
|
||||||
|
sp.buyserNickname,
|
||||||
|
sp.agentShop,
|
||||||
|
sp.originalPlat,
|
||||||
|
sp.originalBillNo
|
||||||
|
FROM
|
||||||
|
sms_sales_bill AS s
|
||||||
|
LEFT JOIN sms_sales_billshipper AS p ON p.billSid = s.sid
|
||||||
|
LEFT JOIN sms_sales_bill_logistics AS l ON l.billSid = s.sid
|
||||||
|
LEFT JOIN sms_sales_bill_shop AS sp ON sp.billSid = s.sid
|
||||||
|
LEFT JOIN sms_sales_bill_amount AS a ON a.billSid = s.sid
|
||||||
|
LEFT JOIN sms_sales_bill_invoice AS i ON i.billSid = s.sid
|
||||||
|
<where>
|
||||||
|
${ew.sqlSegment}
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
<select id="selReviewDiscountByBillSid" resultType="com.yxt.sales.biz.smssalesbill.ReviewDiscount">
|
||||||
|
SELECT
|
||||||
|
g.goodsSpuName,
|
||||||
|
g.goodsSkuTitle,
|
||||||
|
g.goodsSkuCode,
|
||||||
|
g.goodsSkuOwnSpec,
|
||||||
|
d.discountName,
|
||||||
|
d.discountAmount,
|
||||||
|
d.platGoodsName,
|
||||||
|
d.platOwnSpec
|
||||||
|
FROM
|
||||||
|
sms_sales_bill_detail_discount AS d
|
||||||
|
LEFT JOIN sms_sales_bill_detail AS g ON d.billDetailSid = g.sid
|
||||||
|
WHERE
|
||||||
|
d.billSid = #{sid}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -30,6 +30,9 @@ import cn.hutool.core.date.DateUtil;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.yxt.common.base.config.component.FileUploadComponent;
|
import com.yxt.common.base.config.component.FileUploadComponent;
|
||||||
|
import com.yxt.common.core.result.ResultBean;
|
||||||
|
import com.yxt.sales.biz.omsflownode.OmsFlowNode;
|
||||||
|
import com.yxt.sales.biz.omsflownode.OmsFlowNodeService;
|
||||||
import com.yxt.sales.biz.smsappendix.SmsAppendixDetailsVo;
|
import com.yxt.sales.biz.smsappendix.SmsAppendixDetailsVo;
|
||||||
import com.yxt.sales.biz.smsappendix.SmsAppendixDto;
|
import com.yxt.sales.biz.smsappendix.SmsAppendixDto;
|
||||||
import com.yxt.sales.biz.smsappendix.SmsAppendixService;
|
import com.yxt.sales.biz.smsappendix.SmsAppendixService;
|
||||||
@@ -55,9 +58,12 @@ import com.yxt.common.core.query.PagerQuery;
|
|||||||
import com.yxt.common.core.vo.PagerVo;
|
import com.yxt.common.core.vo.PagerVo;
|
||||||
|
|
||||||
|
|
||||||
|
import org.aspectj.weaver.ast.Var;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -93,7 +99,8 @@ public class SmsSalesBillService extends MybatisBaseService<SmsSalesBillMapper,
|
|||||||
private SmsAppendixService smsAppendixService;
|
private SmsAppendixService smsAppendixService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private FileUploadComponent fileUploadComponent;
|
private FileUploadComponent fileUploadComponent;
|
||||||
|
@Autowired
|
||||||
|
private OmsFlowNodeService omsFlowNodeService;
|
||||||
|
|
||||||
private QueryWrapper<SmsSalesBill> createQueryWrapper(SmsSalesBillQuery query) {
|
private QueryWrapper<SmsSalesBill> createQueryWrapper(SmsSalesBillQuery query) {
|
||||||
// todo: 这里根据具体业务调整查询条件
|
// todo: 这里根据具体业务调整查询条件
|
||||||
@@ -184,45 +191,58 @@ public class SmsSalesBillService extends MybatisBaseService<SmsSalesBillMapper,
|
|||||||
SmsSalesBill smsSalesBill = fetchBySid(sid);
|
SmsSalesBill smsSalesBill = fetchBySid(sid);
|
||||||
BeanUtil.copyProperties(dto, smsSalesBill, "id", "sid");
|
BeanUtil.copyProperties(dto, smsSalesBill, "id", "sid");
|
||||||
baseMapper.updateById(smsSalesBill);
|
baseMapper.updateById(smsSalesBill);
|
||||||
|
OmsFlowNode omsFlowNode = new OmsFlowNode();
|
||||||
|
omsFlowNode.setBillSid(sid);
|
||||||
|
omsFlowNode.setCreateBySid(dto.getCreateBySid());
|
||||||
|
omsFlowNode.setCreateByName(dto.getCreateByName());
|
||||||
|
omsFlowNode.setRemarks("修改销售订单");
|
||||||
|
omsFlowNodeService.insert(omsFlowNode);
|
||||||
} else {
|
} else {
|
||||||
SmsSalesBill smsSalesBill = new SmsSalesBill();
|
SmsSalesBill smsSalesBill = new SmsSalesBill();
|
||||||
sid = smsSalesBill.getSid();
|
sid = smsSalesBill.getSid();
|
||||||
BeanUtil.copyProperties(dto, smsSalesBill, "id", "sid");
|
BeanUtil.copyProperties(dto, smsSalesBill, "id", "sid");
|
||||||
String applyCode = getApplyCode();
|
String applyCode = getApplyCode();
|
||||||
smsSalesBill.setBillNo(applyCode);
|
smsSalesBill.setBillNo(applyCode);
|
||||||
|
smsSalesBill.setState(3);
|
||||||
baseMapper.insert(smsSalesBill);
|
baseMapper.insert(smsSalesBill);
|
||||||
|
OmsFlowNode omsFlowNode = new OmsFlowNode();
|
||||||
|
omsFlowNode.setBillSid(sid);
|
||||||
|
omsFlowNode.setCreateBySid(dto.getCreateBySid());
|
||||||
|
omsFlowNode.setCreateByName(dto.getCreateByName());
|
||||||
|
omsFlowNode.setRemarks("新增销售订单");
|
||||||
|
omsFlowNodeService.insert(omsFlowNode);
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotBlank(sid)) {
|
if (StringUtils.isNotBlank(sid)) {
|
||||||
SmsSalesBillLogistics logistics = new SmsSalesBillLogistics();
|
SmsSalesBillLogistics logistics = new SmsSalesBillLogistics();
|
||||||
BeanUtil.copyProperties(dto, logistics, "id", "sid","remarks");
|
BeanUtil.copyProperties(dto, logistics, "id", "sid", "remarks");
|
||||||
logistics.setBillSid(sid);
|
logistics.setBillSid(sid);
|
||||||
smsSalesBillLogisticsService.insert(logistics);
|
smsSalesBillLogisticsService.insert(logistics);
|
||||||
SmsSalesBillshipper billshipper = new SmsSalesBillshipper();
|
SmsSalesBillshipper billshipper = new SmsSalesBillshipper();
|
||||||
BeanUtil.copyProperties(dto, billshipper, "id", "sid","remarks");
|
BeanUtil.copyProperties(dto, billshipper, "id", "sid", "remarks");
|
||||||
billshipper.setBillSid(sid);
|
billshipper.setBillSid(sid);
|
||||||
smsSalesBillshipperService.insert(billshipper);
|
smsSalesBillshipperService.insert(billshipper);
|
||||||
SmsSalesBillInvoice invoice = new SmsSalesBillInvoice();
|
SmsSalesBillInvoice invoice = new SmsSalesBillInvoice();
|
||||||
BeanUtil.copyProperties(dto, invoice, "id", "sid","remarks");
|
BeanUtil.copyProperties(dto, invoice, "id", "sid", "remarks");
|
||||||
invoice.setBillSid(sid);
|
invoice.setBillSid(sid);
|
||||||
smsSalesBillInvoiceService.insert(invoice);
|
smsSalesBillInvoiceService.insert(invoice);
|
||||||
List<AccountVo> accounts = dto.getAccounts();
|
List<AccountVo> accounts = dto.getAccounts();
|
||||||
if (!accounts.isEmpty()) {
|
if (!accounts.isEmpty()) {
|
||||||
for (AccountVo accountVo : accounts) {
|
for (AccountVo accountVo : accounts) {
|
||||||
SmsSalesBillAccount account = new SmsSalesBillAccount();
|
SmsSalesBillAccount account = new SmsSalesBillAccount();
|
||||||
BeanUtil.copyProperties(accountVo, account, "id", "sid","remarks");
|
BeanUtil.copyProperties(accountVo, account, "id", "sid", "remarks");
|
||||||
account.setBillSid(sid);
|
account.setBillSid(sid);
|
||||||
smsSalesBillAccountService.insert(account);
|
smsSalesBillAccountService.insert(account);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (StringUtils.isNotBlank(dto.getBankAccount())) {
|
if (StringUtils.isNotBlank(dto.getBankAccount())) {
|
||||||
SmsSalesBillAccount account = new SmsSalesBillAccount();
|
SmsSalesBillAccount account = new SmsSalesBillAccount();
|
||||||
BeanUtil.copyProperties(dto, account, "id", "sid","remarks");
|
BeanUtil.copyProperties(dto, account, "id", "sid", "remarks");
|
||||||
account.setBillSid(sid);
|
account.setBillSid(sid);
|
||||||
smsSalesBillAccountService.insert(account);
|
smsSalesBillAccountService.insert(account);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SmsSalesBillAmount amount = new SmsSalesBillAmount();
|
SmsSalesBillAmount amount = new SmsSalesBillAmount();
|
||||||
BeanUtil.copyProperties(dto, amount, "id", "sid","remarks");
|
BeanUtil.copyProperties(dto, amount, "id", "sid", "remarks");
|
||||||
amount.setBillSid(sid);
|
amount.setBillSid(sid);
|
||||||
smsSalesBillAmountService.insert(amount);
|
smsSalesBillAmountService.insert(amount);
|
||||||
List<SmsSalesBillDetailDetailsVo> goodsList = dto.getGoodsList();
|
List<SmsSalesBillDetailDetailsVo> goodsList = dto.getGoodsList();
|
||||||
@@ -358,4 +378,222 @@ public class SmsSalesBillService extends MybatisBaseService<SmsSalesBillMapper,
|
|||||||
smsAppendixService.delByLinkSid(sid);
|
smsAppendixService.delByLinkSid(sid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ResultBean<PagerVo<OrderReviewVo>> reviewListPage(PagerQuery<OrderReviewQuery> pq) {
|
||||||
|
ResultBean<PagerVo<OrderReviewVo>> rb = ResultBean.fireFail();
|
||||||
|
OrderReviewQuery query = pq.getParams();
|
||||||
|
QueryWrapper<SmsSalesBill> qw = new QueryWrapper<>();
|
||||||
|
if (StringUtils.isNotBlank(query.getBillTypeKey())) {
|
||||||
|
qw.like("s.billTypeKey", query.getBillTypeKey());
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(query.getShopName())) {
|
||||||
|
qw.like("sp.shopName", query.getShopName());
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(query.getWarehouseName())) {
|
||||||
|
qw.like("s.warehouseName", query.getWarehouseName());
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(query.getBillNo())) {
|
||||||
|
qw.like("s.billNo", query.getBillNo());
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(query.getLogisticsNum())) {
|
||||||
|
qw.like("l.logisticsNum", query.getLogisticsNum());
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(query.getBuyserID())) {
|
||||||
|
qw.like("sp.buyserID", query.getBuyserID());
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(query.getLogisticsName())) {
|
||||||
|
qw.like("l.logisticsName", query.getLogisticsName());
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(query.getCreateOrgSid())) {
|
||||||
|
qw.eq("s.createOrgSid", query.getCreateOrgSid());
|
||||||
|
}
|
||||||
|
IPage<SmsSalesBill> page = PagerUtil.queryToPage(pq);
|
||||||
|
IPage<OrderReviewVo> pagging = baseMapper.reviewListPage(page, qw);
|
||||||
|
PagerVo<OrderReviewVo> p = PagerUtil.pageToVo(pagging, null);
|
||||||
|
return rb.success().setData(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ResultBean<ReviewDetailsVo> reviewDetails(String sid) {
|
||||||
|
ResultBean rb = ResultBean.fireFail();
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
ReviewDetailsVo vo = new ReviewDetailsVo();
|
||||||
|
vo.setSid(sid);
|
||||||
|
SmsSalesBill smsSalesBill = fetchBySid(sid);
|
||||||
|
List<SmsSalesBillDetail> goods = smsSalesBillDetailService.selByBillSid(sid);
|
||||||
|
if (!goods.isEmpty()) {
|
||||||
|
List<ReviewGoods> reviewGoods = new ArrayList<>();
|
||||||
|
for (SmsSalesBillDetail detail : goods) {
|
||||||
|
ReviewGoods detailVo = new ReviewGoods();
|
||||||
|
BeanUtil.copyProperties(detail, detailVo, "id", "sid");
|
||||||
|
if (detail.getInventoryState() != null) {
|
||||||
|
if (detail.getInventoryState().intValue() == 0) {
|
||||||
|
detailVo.setInventoryState("未分配");
|
||||||
|
} else if (detail.getInventoryState().intValue() == 1) {
|
||||||
|
detailVo.setInventoryState("已分配");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(detail.getGoodsImgUrl())) {
|
||||||
|
List<String> picList = new ArrayList<>();
|
||||||
|
String picUrl = detail.getGoodsImgUrl();
|
||||||
|
String[] split = picUrl.split(",");
|
||||||
|
for (String s : split) {
|
||||||
|
picList.add(fileUploadComponent.getUrlPrefix() + s);
|
||||||
|
}
|
||||||
|
detailVo.setPic(picList);
|
||||||
|
}
|
||||||
|
reviewGoods.add(detailVo);
|
||||||
|
}
|
||||||
|
vo.setGoods(reviewGoods);
|
||||||
|
}
|
||||||
|
ReviewRemarksInfo remarksInfo = new ReviewRemarksInfo(); //备注信息
|
||||||
|
SmsSalesBillshipper billshipper = smsSalesBillshipperService.selByBillSid(sid);
|
||||||
|
if (null != billshipper) {
|
||||||
|
ReviewShipper shipper = new ReviewShipper();
|
||||||
|
BeanUtil.copyProperties(billshipper, shipper);
|
||||||
|
vo.setShipper(shipper);
|
||||||
|
if (StringUtils.isNotBlank(billshipper.getRemarks())) {
|
||||||
|
remarksInfo.setRemarks(billshipper.getRemarks());
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(billshipper.getBuyerMessage())) {
|
||||||
|
remarksInfo.setBuyerMessage(billshipper.getBuyerMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (null != smsSalesBill) {
|
||||||
|
if (StringUtils.isNotBlank(smsSalesBill.getRemarks())) {
|
||||||
|
remarksInfo.setRemarksSys(smsSalesBill.getRemarks());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ReviewInvoice invoiceVo = new ReviewInvoice(); //发票信息
|
||||||
|
SmsSalesBillInvoice invoice = smsSalesBillInvoiceService.selByBillSid(sid);
|
||||||
|
if (null != invoice) {
|
||||||
|
BeanUtil.copyProperties(invoice, invoiceVo);
|
||||||
|
}
|
||||||
|
SmsSalesBillAmount amount = smsSalesBillAmountService.selByBillSid(sid);
|
||||||
|
if (null != amount) {
|
||||||
|
if (null != amount.getDueAmount()) {
|
||||||
|
invoiceVo.setDueAmount(amount.getDueAmount().toString());
|
||||||
|
}
|
||||||
|
if (null != amount.getThisDebt()) {
|
||||||
|
invoiceVo.setThisDebt(amount.getThisDebt().toString());
|
||||||
|
}
|
||||||
|
if (null != amount.getAdvanceBalance()) {
|
||||||
|
invoiceVo.setAdvanceBalance(amount.getAdvanceBalance().toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List<ReviewDiscount> discounts = baseMapper.selReviewDiscountByBillSid(sid);
|
||||||
|
if (!discounts.isEmpty()) {
|
||||||
|
vo.setDiscounts(discounts);
|
||||||
|
}
|
||||||
|
List<OmsFlowNode> omsFlowNodes = omsFlowNodeService.selByBusSid(sid);
|
||||||
|
if (!omsFlowNodes.isEmpty()) {
|
||||||
|
List<ReviewRecord> records = new ArrayList<>(); //操作记录
|
||||||
|
for (OmsFlowNode omsFlowNode : omsFlowNodes) {
|
||||||
|
ReviewRecord reviewRecord = new ReviewRecord();
|
||||||
|
reviewRecord.setCreateByName(omsFlowNode.getCreateByName());
|
||||||
|
reviewRecord.setCreateTime(sdf.format(omsFlowNode.getCreateTime()));
|
||||||
|
reviewRecord.setRemark(omsFlowNode.getRemarks());
|
||||||
|
records.add(reviewRecord);
|
||||||
|
}
|
||||||
|
vo.setRecords(records);
|
||||||
|
}
|
||||||
|
return rb.success().setData(vo);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ResultBean saveShipper(ReviewDetailsVo dto) {
|
||||||
|
ResultBean rb = ResultBean.fireFail();
|
||||||
|
String sid = dto.getSid();
|
||||||
|
ReviewShipper shipper = dto.getShipper();
|
||||||
|
if (null != shipper) {
|
||||||
|
SmsSalesBillshipper billshipper = smsSalesBillshipperService.selByBillSid(sid);
|
||||||
|
if (billshipper != null) {
|
||||||
|
BeanUtil.copyProperties(shipper, billshipper);
|
||||||
|
smsSalesBillshipperService.updateById(billshipper);
|
||||||
|
} else {
|
||||||
|
SmsSalesBillshipper salesBillshipper = new SmsSalesBillshipper();
|
||||||
|
BeanUtil.copyProperties(shipper, salesBillshipper);
|
||||||
|
salesBillshipper.setBillSid(sid);
|
||||||
|
smsSalesBillshipperService.insert(salesBillshipper);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rb.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ResultBean saveInvoice(ReviewDetailsVo dto) {
|
||||||
|
ResultBean rb = ResultBean.fireFail();
|
||||||
|
String sid = dto.getSid();
|
||||||
|
ReviewInvoice invoice = dto.getInvoice();
|
||||||
|
if (null != invoice) {
|
||||||
|
SmsSalesBillInvoice billInvoice = smsSalesBillInvoiceService.selByBillSid(sid);
|
||||||
|
if (billInvoice != null) {
|
||||||
|
BeanUtil.copyProperties(invoice, billInvoice);
|
||||||
|
smsSalesBillInvoiceService.updateById(billInvoice);
|
||||||
|
} else {
|
||||||
|
SmsSalesBillInvoice salesBillInvoice = new SmsSalesBillInvoice();
|
||||||
|
BeanUtil.copyProperties(invoice, salesBillInvoice);
|
||||||
|
salesBillInvoice.setBillSid(sid);
|
||||||
|
smsSalesBillInvoiceService.insert(salesBillInvoice);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rb.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ResultBean saveOneListData(OrderReviewVo dto) {
|
||||||
|
ResultBean rb = ResultBean.fireFail();
|
||||||
|
String sid = dto.getSid();
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
if (StringUtils.isNotBlank(dto.getExpectSendDate())) {
|
||||||
|
SmsSalesBillLogistics logistics = smsSalesBillLogisticsService.selByBillSid(sid);
|
||||||
|
if (logistics != null) {
|
||||||
|
try {
|
||||||
|
logistics.setExpectSendDate(sdf.parse(dto.getExpectSendDate()));
|
||||||
|
smsSalesBillLogisticsService.updateById(logistics);
|
||||||
|
} catch (ParseException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
SmsSalesBillLogistics billLogistics = new SmsSalesBillLogistics();
|
||||||
|
billLogistics.setBillSid(sid);
|
||||||
|
try {
|
||||||
|
billLogistics.setExpectSendDate(sdf.parse(dto.getExpectSendDate()));
|
||||||
|
smsSalesBillLogisticsService.insert(billLogistics);
|
||||||
|
} catch (ParseException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rb.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ResultBean reviewConfirm(ReviewConfirmDto dto) {
|
||||||
|
ResultBean rb = ResultBean.fireFail();
|
||||||
|
List<String> sids = dto.getSids();
|
||||||
|
String type = dto.getType();
|
||||||
|
for (String sid : sids) {
|
||||||
|
SmsSalesBill smsSalesBill = fetchBySid(sid);
|
||||||
|
OmsFlowNode omsFlowNode = new OmsFlowNode();
|
||||||
|
omsFlowNode.setBillSid(sid);
|
||||||
|
omsFlowNode.setCreateBySid(dto.getCreateBySid());
|
||||||
|
omsFlowNode.setCreateByName(dto.getCreateByName());
|
||||||
|
if (type.equals("0")) {
|
||||||
|
//通过
|
||||||
|
smsSalesBill.setState(1);
|
||||||
|
if (StringUtils.isNotBlank(dto.getRemarks())) {
|
||||||
|
omsFlowNode.setRemarks("确认审核通过,审核意见:" + dto.getRemarks());
|
||||||
|
} else {
|
||||||
|
omsFlowNode.setRemarks("确认审核通过");
|
||||||
|
}
|
||||||
|
} else if (type.equals("1")) {
|
||||||
|
//不通过
|
||||||
|
smsSalesBill.setState(2);
|
||||||
|
if (StringUtils.isNotBlank(dto.getRemarks())) {
|
||||||
|
omsFlowNode.setRemarks("确认审核未通过,审核意见:" + dto.getRemarks());
|
||||||
|
} else {
|
||||||
|
omsFlowNode.setRemarks("确认审核未通过");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
baseMapper.updateById(smsSalesBill);
|
||||||
|
omsFlowNodeService.insert(omsFlowNode);
|
||||||
|
}
|
||||||
|
return rb;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user