diff --git a/src/main/java/com/yxt/sales/apiadmin/SmsSalesBillRest.java b/src/main/java/com/yxt/sales/apiadmin/SmsSalesBillRest.java index e7a1c0a..b560229 100644 --- a/src/main/java/com/yxt/sales/apiadmin/SmsSalesBillRest.java +++ b/src/main/java/com/yxt/sales/apiadmin/SmsSalesBillRest.java @@ -91,4 +91,43 @@ public class SmsSalesBillRest { SmsSalesBillDetailsVo vo = smsSalesBillService.fetchDetailsVoBySid(sid); return rb.success().setData(vo); } + + + //---------------------------- 订单审核 ------------------------------ + @ApiOperation("销售订单审核列表") + @PostMapping("/reviewListPage") + public ResultBean> reviewListPage(@RequestBody PagerQuery pq){ + return smsSalesBillService.reviewListPage(pq); + } + + @ApiOperation("销售订单审核详情") + @GetMapping("/reviewDetails") + public ResultBean 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); + } + } diff --git a/src/main/java/com/yxt/sales/biz/omsflownode/OmsFlowNode.java b/src/main/java/com/yxt/sales/biz/omsflownode/OmsFlowNode.java new file mode 100644 index 0000000..8c79dfd --- /dev/null +++ b/src/main/java/com/yxt/sales/biz/omsflownode/OmsFlowNode.java @@ -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)
+ * File: SmsSalesBill.java
+ * Class: com.yxt.sales.apiadmin.api.smssalesbill.SmsSalesBill
+ * Description: 销售订单.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-04 15:18:10
+ * + * @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; // 操作人姓名 + +} diff --git a/src/main/java/com/yxt/sales/biz/omsflownode/OmsFlowNodeMapper.java b/src/main/java/com/yxt/sales/biz/omsflownode/OmsFlowNodeMapper.java new file mode 100644 index 0000000..6ba6f64 --- /dev/null +++ b/src/main/java/com/yxt/sales/biz/omsflownode/OmsFlowNodeMapper.java @@ -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)
+ * File: SmsSalesBillMapper.java
+ * Class: com.yxt.sales.apiadmin.biz.smssalesbill.SmsSalesBillMapper
+ * Description: 销售订单.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-04 15:18:10
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface OmsFlowNodeMapper extends BaseMapper { + + + List selByBusSid(@Param("sid") String sid); +} diff --git a/src/main/java/com/yxt/sales/biz/omsflownode/OmsFlowNodeMapper.xml b/src/main/java/com/yxt/sales/biz/omsflownode/OmsFlowNodeMapper.xml new file mode 100644 index 0000000..22b0f44 --- /dev/null +++ b/src/main/java/com/yxt/sales/biz/omsflownode/OmsFlowNodeMapper.xml @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/src/main/java/com/yxt/sales/biz/omsflownode/OmsFlowNodeService.java b/src/main/java/com/yxt/sales/biz/omsflownode/OmsFlowNodeService.java new file mode 100644 index 0000000..5dc7349 --- /dev/null +++ b/src/main/java/com/yxt/sales/biz/omsflownode/OmsFlowNodeService.java @@ -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)
+ * File: SmsSalesBillService.java
+ * Class: com.yxt.sales.apiadmin.biz.smssalesbill.SmsSalesBillService
+ * Description: 销售订单 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-04 15:18:10
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class OmsFlowNodeService extends MybatisBaseService { + + + public List selByBusSid(String sid) { + return baseMapper.selByBusSid(sid); + } +} diff --git a/src/main/java/com/yxt/sales/biz/smssalesbill/OrderReviewQuery.java b/src/main/java/com/yxt/sales/biz/smssalesbill/OrderReviewQuery.java new file mode 100644 index 0000000..e5c4eff --- /dev/null +++ b/src/main/java/com/yxt/sales/biz/smssalesbill/OrderReviewQuery.java @@ -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; + +} diff --git a/src/main/java/com/yxt/sales/biz/smssalesbill/OrderReviewVo.java b/src/main/java/com/yxt/sales/biz/smssalesbill/OrderReviewVo.java new file mode 100644 index 0000000..924f317 --- /dev/null +++ b/src/main/java/com/yxt/sales/biz/smssalesbill/OrderReviewVo.java @@ -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 picOnline = new ArrayList<>(); + @ApiModelProperty("系统商品图片") + private List 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; + +} diff --git a/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewConfirmDto.java b/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewConfirmDto.java new file mode 100644 index 0000000..998f985 --- /dev/null +++ b/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewConfirmDto.java @@ -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 sids; + private String createBySid; //登录人sid + private String createByName; //登录人 +} + diff --git a/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewDetailsVo.java b/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewDetailsVo.java new file mode 100644 index 0000000..9a2cf1c --- /dev/null +++ b/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewDetailsVo.java @@ -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 goods; //商品信息 + private ReviewShipper shipper = new ReviewShipper(); //收货地址 + private ReviewRemarksInfo remarksInfo = new ReviewRemarksInfo(); //备注信息 + private ReviewInvoice invoice = new ReviewInvoice(); //发票信息 + private List discounts; //优惠详情 + private List records; //操作记录 +} diff --git a/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewDiscount.java b/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewDiscount.java new file mode 100644 index 0000000..d342383 --- /dev/null +++ b/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewDiscount.java @@ -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; // 平台规格名称 +} diff --git a/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewGoods.java b/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewGoods.java new file mode 100644 index 0000000..5dfb051 --- /dev/null +++ b/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewGoods.java @@ -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 pic = new ArrayList<>(); + +} diff --git a/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewInvoice.java b/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewInvoice.java new file mode 100644 index 0000000..191812d --- /dev/null +++ b/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewInvoice.java @@ -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; // 预收款余额 + + + +} diff --git a/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewRecord.java b/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewRecord.java new file mode 100644 index 0000000..2925d41 --- /dev/null +++ b/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewRecord.java @@ -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;//操作内容 + +} diff --git a/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewRemarksInfo.java b/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewRemarksInfo.java new file mode 100644 index 0000000..92e5e1a --- /dev/null +++ b/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewRemarksInfo.java @@ -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; //系统备注 + +} diff --git a/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewShipper.java b/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewShipper.java new file mode 100644 index 0000000..6c9df67 --- /dev/null +++ b/src/main/java/com/yxt/sales/biz/smssalesbill/ReviewShipper.java @@ -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; // 固定电话 +} diff --git a/src/main/java/com/yxt/sales/biz/smssalesbill/SmsSalesBill.java b/src/main/java/com/yxt/sales/biz/smssalesbill/SmsSalesBill.java index 92ae38b..064b1d7 100644 --- a/src/main/java/com/yxt/sales/biz/smssalesbill/SmsSalesBill.java +++ b/src/main/java/com/yxt/sales/biz/smssalesbill/SmsSalesBill.java @@ -88,4 +88,6 @@ public class SmsSalesBill extends BaseEntity { private String createOrgSid; // 创建组织sid @ApiModelProperty("订单标记(已开票、仓库打回等)") private Integer billState; // 订单标记(已开票、仓库打回等) + @ApiModelProperty("提醒(拆、合、缺)") + private Integer noticeState; // 订单标记(已开票、仓库打回等) } diff --git a/src/main/java/com/yxt/sales/biz/smssalesbill/SmsSalesBillMapper.java b/src/main/java/com/yxt/sales/biz/smssalesbill/SmsSalesBillMapper.java index 647fa63..801fcbe 100644 --- a/src/main/java/com/yxt/sales/biz/smssalesbill/SmsSalesBillMapper.java +++ b/src/main/java/com/yxt/sales/biz/smssalesbill/SmsSalesBillMapper.java @@ -26,6 +26,7 @@ package com.yxt.sales.biz.smssalesbill; 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.mapper.BaseMapper; import com.baomidou.mybatisplus.core.toolkit.Constants; @@ -62,4 +63,8 @@ public interface SmsSalesBillMapper extends BaseMapper { List selectListVo(); int selectNum(String bill); + + IPage reviewListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List selReviewDiscountByBillSid(@Param("sid") String sid); } diff --git a/src/main/java/com/yxt/sales/biz/smssalesbill/SmsSalesBillMapper.xml b/src/main/java/com/yxt/sales/biz/smssalesbill/SmsSalesBillMapper.xml index 01c6221..a024b80 100644 --- a/src/main/java/com/yxt/sales/biz/smssalesbill/SmsSalesBillMapper.xml +++ b/src/main/java/com/yxt/sales/biz/smssalesbill/SmsSalesBillMapper.xml @@ -35,4 +35,71 @@ from sms_sales_bill where billNo LIKE concat(#{bill}, '%') + + diff --git a/src/main/java/com/yxt/sales/biz/smssalesbill/SmsSalesBillService.java b/src/main/java/com/yxt/sales/biz/smssalesbill/SmsSalesBillService.java index e51b83d..a67b8c4 100644 --- a/src/main/java/com/yxt/sales/biz/smssalesbill/SmsSalesBillService.java +++ b/src/main/java/com/yxt/sales/biz/smssalesbill/SmsSalesBillService.java @@ -30,6 +30,9 @@ import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; 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.SmsAppendixDto; 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 org.aspectj.weaver.ast.Var; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; @@ -93,7 +99,8 @@ public class SmsSalesBillService extends MybatisBaseService createQueryWrapper(SmsSalesBillQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -184,45 +191,58 @@ public class SmsSalesBillService extends MybatisBaseService accounts = dto.getAccounts(); if (!accounts.isEmpty()) { for (AccountVo accountVo : accounts) { SmsSalesBillAccount account = new SmsSalesBillAccount(); - BeanUtil.copyProperties(accountVo, account, "id", "sid","remarks"); + BeanUtil.copyProperties(accountVo, account, "id", "sid", "remarks"); account.setBillSid(sid); smsSalesBillAccountService.insert(account); } } else { if (StringUtils.isNotBlank(dto.getBankAccount())) { SmsSalesBillAccount account = new SmsSalesBillAccount(); - BeanUtil.copyProperties(dto, account, "id", "sid","remarks"); + BeanUtil.copyProperties(dto, account, "id", "sid", "remarks"); account.setBillSid(sid); smsSalesBillAccountService.insert(account); } } SmsSalesBillAmount amount = new SmsSalesBillAmount(); - BeanUtil.copyProperties(dto, amount, "id", "sid","remarks"); + BeanUtil.copyProperties(dto, amount, "id", "sid", "remarks"); amount.setBillSid(sid); smsSalesBillAmountService.insert(amount); List goodsList = dto.getGoodsList(); @@ -358,4 +378,222 @@ public class SmsSalesBillService extends MybatisBaseService> reviewListPage(PagerQuery pq) { + ResultBean> rb = ResultBean.fireFail(); + OrderReviewQuery query = pq.getParams(); + QueryWrapper 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 page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.reviewListPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + + public ResultBean 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 goods = smsSalesBillDetailService.selByBillSid(sid); + if (!goods.isEmpty()) { + List 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 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 discounts = baseMapper.selReviewDiscountByBillSid(sid); + if (!discounts.isEmpty()) { + vo.setDiscounts(discounts); + } + List omsFlowNodes = omsFlowNodeService.selByBusSid(sid); + if (!omsFlowNodes.isEmpty()) { + List 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 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; + } }