完善手动发货

This commit is contained in:
Richie 2025-05-24 16:59:55 +08:00
parent 3a123971b3
commit 87e52e1963
38 changed files with 779 additions and 774 deletions

View File

@ -744,7 +744,7 @@ CREATE TABLE `o_order` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '订单id自增',
`order_num` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '订单编号(第三方平台订单号)',
`shop_type` int NOT NULL COMMENT '店铺类型',
`shop_id` int NOT NULL COMMENT '店铺ID',
`shop_id` bigint NOT NULL COMMENT '店铺ID',
`remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单备注',
`buyer_memo` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '买家留言信息',
`seller_memo` varchar(2550) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卖家留言信息',
@ -753,6 +753,8 @@ CREATE TABLE `o_order` (
`order_status` int NOT NULL COMMENT '订单状态0新订单1待发货2已发货3已完成11已取消12退款中21待付款22锁定29删除101部分发货',
`goods_amount` double NULL DEFAULT NULL COMMENT '订单商品金额',
`post_fee` double NULL DEFAULT NULL COMMENT '订单运费',
`seller_discount` double NULL DEFAULT 0 COMMENT '商家优惠金额,单位:元',
`platform_discount` double NULL DEFAULT 0 COMMENT '平台优惠金额,单位:元',
`amount` double NOT NULL COMMENT '订单实际金额',
`payment` double NULL DEFAULT NULL COMMENT '实付金额',
`receiver_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收件人姓名',
@ -762,33 +764,19 @@ CREATE TABLE `o_order` (
`city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '',
`town` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '',
`order_time` datetime NULL DEFAULT NULL COMMENT '订单时间',
`ship_type` int NOT NULL COMMENT '发货类型0仓库发货1供应商代发',
`shipping_time` datetime NULL DEFAULT NULL COMMENT '发货时间',
`shipping_number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '快递单号',
`shipping_company` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流公司',
`shipping_man` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发货人',
`shipping_cost` decimal(10, 2) NULL DEFAULT NULL COMMENT '发货费用',
`ship_type` int NOT NULL DEFAULT 0 COMMENT '发货类型0仓库发货1供应商代发2联合发货',
`ship_status` int NOT NULL DEFAULT 0 COMMENT '发货状态 0 待发货 1 部分发货 2全部发货',
`erp_push_status` int NULL DEFAULT 0 COMMENT 'ERP推送状态(200订单推送成功100订单取消推送成功其他失败',
`erp_push_result` varchar(2550) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'ERP推送状态结果',
`erp_push_time` datetime NULL DEFAULT NULL COMMENT 'ERP最近推送时间',
`length` float NULL DEFAULT 0 COMMENT '',
`width` float NULL DEFAULT 0 COMMENT '',
`height` float NULL DEFAULT 0 COMMENT '',
`weight` float NULL DEFAULT NULL COMMENT '重量',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`create_by` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`update_by` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人',
`platform_discount` double NULL DEFAULT 0 COMMENT '平台优惠金额,单位:元',
`seller_discount` double NULL DEFAULT 0 COMMENT '商家优惠金额,单位:元',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `order_sn_index`(`order_num`) USING BTREE,
INDEX `shopid_index`(`shop_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 38 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'OMS订单表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of o_order
-- ----------------------------
) ENGINE = InnoDB AUTO_INCREMENT = 40 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'OMS订单表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for o_order_item
@ -796,6 +784,8 @@ CREATE TABLE `o_order` (
DROP TABLE IF EXISTS `o_order_item`;
CREATE TABLE `o_order_item` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id自增',
`shop_id` bigint NOT NULL COMMENT '店铺ID',
`shop_type` int NOT NULL COMMENT '店铺类型',
`order_id` bigint NOT NULL COMMENT '订单IDo_order外键',
`order_num` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单号(第三方平台)',
`sub_order_num` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '子订单号(第三方平台)',
@ -816,18 +806,18 @@ CREATE TABLE `o_order_item` (
`refund_count` int NULL DEFAULT 0 COMMENT '已退货数量',
`refund_status` int NULL DEFAULT NULL COMMENT '售后状态 1无售后或售后关闭2售后处理中3退款中4 退款成功 ',
`order_status` int NULL DEFAULT NULL COMMENT '订单状态1待发货2已发货3已完成11已取消21待付款',
`ship_type` int NOT NULL DEFAULT 0 COMMENT '发货类型0仓库发货1供应商代发2联合发货-实际上不存在这种情况)',
`ship_status` int NOT NULL DEFAULT 0 COMMENT '发货状态 0 待发货 1 已发货',
`has_push_erp` int NULL DEFAULT 0 COMMENT '是否推送到ERP',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`create_by` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`update_by` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人',
`shop_type` int NOT NULL COMMENT '店铺类型',
`shop_id` bigint NOT NULL COMMENT '店铺ID',
PRIMARY KEY (`id`) USING BTREE,
INDEX `goodId_index`(`goods_id`) USING BTREE,
INDEX `order_id`(`order_id`) USING BTREE,
INDEX `order_num_index`(`order_num`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 43 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'OMS订单明细表' ROW_FORMAT = DYNAMIC;
) ENGINE = InnoDB AUTO_INCREMENT = 45 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'OMS订单明细表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of o_order_item
@ -878,46 +868,49 @@ CREATE TABLE `o_refund` (
-- Records of o_refund
-- ----------------------------
-- ----------------------------
-- Table structure for o_ship_stock_up
-- Table structure for o_order_ship_list
-- ----------------------------
DROP TABLE IF EXISTS `o_ship_stock_up`;
CREATE TABLE `o_ship_stock_up` (
DROP TABLE IF EXISTS `o_order_ship_list`;
CREATE TABLE `o_order_ship_list` (
`id` bigint NOT NULL AUTO_INCREMENT,
`shop_id` bigint NOT NULL COMMENT '店铺id',
`shop_type` int NOT NULL COMMENT '店铺类型',
`shipper` int NOT NULL DEFAULT 0 COMMENT '发货方 0 仓库发货 1 供应商发货',
`shipper` int NOT NULL COMMENT '发货方 0 仓库发货 1 供应商发货',
`ship_supplier_id` bigint NOT NULL DEFAULT 0 COMMENT '发货供应商ID0自己发货',
`ship_supplier` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发货供应商',
`sale_order_id` bigint NULL DEFAULT NULL COMMENT 'erp订单id',
`sale_order_item_id` bigint NULL DEFAULT NULL COMMENT 'erp订单itemid',
`order_id` bigint NULL DEFAULT NULL COMMENT 'erp订单id',
`order_num` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单编号',
`ship_logistics_company` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流公司',
`ship_logistics_company_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流公司code',
`ship_logistics_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流单号',
`ship_status` int NOT NULL COMMENT '发货状态1待发货2已发货3已推送',
`status` int NOT NULL COMMENT '状态0待备货1备货中2备货完成3已发货',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`create_by` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`update_by` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人',
`ship_logistics_company` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流公司',
`ship_logistics_company_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流公司code',
`ship_logistics_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流单号',
`ship_status` int NOT NULL COMMENT '发货状态1待发货2已发货3已推送',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '发货-备货表(取号发货加入备货清单、分配供应商发货加入备货清单)' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for o_ship_stock_up_item
-- Table structure for o_order_ship_list_item
-- ----------------------------
DROP TABLE IF EXISTS `o_ship_stock_up_item`;
CREATE TABLE `o_ship_stock_up_item` (
DROP TABLE IF EXISTS `o_order_ship_list_item`;
CREATE TABLE `o_order_ship_list_item` (
`id` bigint NOT NULL AUTO_INCREMENT,
`shop_id` bigint NULL DEFAULT NULL COMMENT '店铺id',
`shop_id` bigint NOT NULL COMMENT '店铺id',
`list_id` bigint NOT NULL COMMENT '外键id',
`shop_type` int NOT NULL COMMENT '店铺类型',
`shipper` int NOT NULL DEFAULT 0 COMMENT '发货方 0 仓库发货 1 供应商发货',
`ship_supplier_id` bigint NOT NULL DEFAULT 0 COMMENT '发货供应商ID0自己发货',
`ship_supplier` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发货供应商',
`sale_order_id` bigint NULL DEFAULT NULL COMMENT 'erp订单id',
`sale_order_item_id` bigint NULL DEFAULT NULL COMMENT 'erp订单itemid',
`order_id` bigint NULL DEFAULT NULL COMMENT 'erp订单id',
`order_item_id` bigint NULL DEFAULT NULL COMMENT 'erp订单itemid',
`order_num` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单编号',
`original_sku_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '原始订单skuid',
`goods_id` bigint NULL DEFAULT 0 COMMENT 'erp系统商品id',
@ -968,10 +961,9 @@ CREATE TABLE `o_ship_waybill` (
DROP TABLE IF EXISTS `o_shipment`;
CREATE TABLE `o_shipment` (
`id` bigint NOT NULL AUTO_INCREMENT,
`shop_id` int NULL DEFAULT NULL COMMENT '店铺id',
`shipping_type` int NULL DEFAULT NULL COMMENT '发货类型1订单发货2商品补发3商品换货',
`shop_id` bigint NOT NULL COMMENT '店铺id',
`shipment_type` int NOT NULL COMMENT '发货类型1订单发货2商品补发3商品换货',
`order_nums` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发货的所有订单号,以逗号隔开',
`sub_order_nums` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发货的所有子订单号,以逗号隔开',
`receiver_name` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收件人姓名',
`receiver_mobile` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收件人手机号',
`province` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '',
@ -980,11 +972,11 @@ CREATE TABLE `o_shipment` (
`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '详细地址',
`logistics_company` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流公司',
`logistics_company_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流公司编码',
`waybill_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流单号',
`shipping_fee` decimal(6, 0) NULL DEFAULT NULL COMMENT '物流费用',
`shipping_time` datetime NULL DEFAULT NULL COMMENT '发货时间',
`shipping_operator` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发货操作人',
`shipping_status` int NULL DEFAULT NULL COMMENT '物流状态1运输中2已完成',
`logistics_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流单号',
`shipment_fee` decimal(6, 2) NULL DEFAULT NULL COMMENT '物流费用',
`shipment_time` datetime NULL DEFAULT NULL COMMENT '发货时间',
`shipment_operator` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发货操作人',
`shipment_status` int NULL DEFAULT NULL COMMENT '物流状态1运输中2已完成',
`package_weight` float NULL DEFAULT NULL COMMENT '包裹重量',
`package_length` float NULL DEFAULT NULL COMMENT '包裹长度',
`package_width` float NULL DEFAULT NULL COMMENT '包裹宽度',
@ -1000,27 +992,28 @@ CREATE TABLE `o_shipment` (
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '发货-发货记录表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of o_shipment
-- ----------------------------
-- ----------------------------
-- Table structure for o_shipment_item
-- ----------------------------
DROP TABLE IF EXISTS `o_shipment_item`;
CREATE TABLE `o_shipment_item` (
`id` bigint NOT NULL AUTO_INCREMENT,
`shipping_id` bigint NULL DEFAULT NULL COMMENT '发货表id',
`shipment_id` bigint NOT NULL COMMENT '发货表id',
`order_id` bigint NULL DEFAULT NULL COMMENT 'o_order表id',
`order_item_id` bigint NULL DEFAULT NULL COMMENT 'o_order_item表id',
`order_num` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单编号(第三方平台)',
`sub_order_num` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '子订单号(第三方平台)',
`goods_id` bigint NULL DEFAULT 0 COMMENT 'erp系统商品id',
`sku_id` bigint NULL DEFAULT 0 COMMENT 'erp系统商品规格id',
`goods_title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品标题',
`goods_img` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品图片',
`goods_num` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品编码',
`sku_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品规格',
`sku_num` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品规格编码',
`quantity` int NOT NULL COMMENT '商品数量',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '发货-发货记录明细表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of o_shipment_item
-- ----------------------------
-- ----------------------------
-- Table structure for o_shop

View File

@ -117,10 +117,10 @@ public class OrderController extends BaseController
@PostMapping("/manualShipment")
public AjaxResult manualShipment(@RequestBody ShopOrderShipBo shipBo)
{
// var result = orderService.manualShipmentOrder(shipBo,getUsername());
// if(result.getCode() == 0) return AjaxResult.success();
// else return AjaxResult.error(result.getMsg());
return AjaxResult.error("未实现AAA");
var result = orderService.manualShipmentOrder(shipBo,getUsername());
if(result.getCode() == 0) return AjaxResult.success();
else return AjaxResult.error(result.getMsg());
// return AjaxResult.error("未实现AAA");
}
/**

View File

@ -1,14 +1,11 @@
package cn.qihangerp.api.order.controller;
import cn.qihangerp.common.AjaxResult;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.TableDataInfo;
import cn.qihangerp.module.order.domain.bo.ShipStockUpBo;
import cn.qihangerp.module.order.domain.bo.ShipStockUpCompleteBo;
import cn.qihangerp.module.order.service.OShipStockUpItemService;
import cn.qihangerp.module.order.service.OShipStockUpService;
import cn.qihangerp.module.order.service.OShipWaybillService;
import cn.qihangerp.module.order.service.OOrderShipListItemService;
import cn.qihangerp.module.order.service.OOrderShipListService;
import cn.qihangerp.security.common.BaseController;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
@ -17,8 +14,8 @@ import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/ship")
public class ShipStockupController extends BaseController {
private final OShipStockUpService shipStockUpService;
private final OShipStockUpItemService shipStockUpItemService;
private final OOrderShipListService shipStockUpService;
private final OOrderShipListItemService shipStockUpItemService;
/**
* 备货列表(仓库发货)

View File

@ -38,30 +38,30 @@ public class ShipmentController extends BaseController {
return getDataTable(orderService.searchOrderItemByReceiverMobile(receiverMobile));
}
/**
* 订单发货
* @param shipping
* @return
*/
@PostMapping("/handShip")
public AjaxResult orderHandShip(@RequestHeader("Authorization") String authorization,@RequestBody OrderShipBo shipping)
{
var result = shippingService.handOrderShip(shipping);
// if(result.getCode() == ResultVoEnum.SUCCESS.getIndex()) {
// // 发货
// TaoOrderShipBo bo = new TaoOrderShipBo();
// bo.setShopId(shipping.getShopId());
//// bo.setTid(shipping.getOrderId());
// bo.setWaybillCode(shipping.getShipCode());
// bo.setWaybillCompany(shipping.getShipCompany());
// /**
// * 订单发货
// * @param shipping
// * @return
// */
// @PostMapping("/handShip")
// public AjaxResult orderHandShip(@RequestHeader("Authorization") String authorization,@RequestBody OrderShipBo shipping)
// {
//
// var result = shippingService.handOrderShip(shipping);
//// if(result.getCode() == ResultVoEnum.SUCCESS.getIndex()) {
//// // 发货
//// TaoOrderShipBo bo = new TaoOrderShipBo();
//// bo.setShopId(shipping.getShopId());
////// bo.setTid(shipping.getOrderId());
//// bo.setWaybillCode(shipping.getShipCode());
//// bo.setWaybillCompany(shipping.getShipCompany());
////
//// JSONObject jsonObject = taoApiService.orderShip(authorization, bo);
//// return AjaxResult.success();
//// }else{
//// return AjaxResult.error(result.getCode(),result.getMsg());
//// }
//
// JSONObject jsonObject = taoApiService.orderShip(authorization, bo);
// return AjaxResult.success();
// }else{
// return AjaxResult.error(result.getCode(),result.getMsg());
// }
return AjaxResult.success();
}
}

View File

@ -122,57 +122,19 @@ public class OOrder implements Serializable {
private Date orderTime;
/**
* 发货类型0仓库发货1供应商代发
* 发货类型0仓库发货1供应商代发2联合发货
*/
private Integer shipType;
/**
* 发货时间
* 发货状态 0 待发货 1 部分发货 2全部发货
*/
private Date shippingTime;
private Integer shipStatus;
/**
* 快递单号
*/
private String shippingNumber;
/**
* 物流公司
*/
private String shippingCompany;
/**
* 发货人
*/
private String shippingMan;
/**
* 发货费用
*/
private BigDecimal shippingCost;
private Integer erpPushStatus;
private String erpPushResult;
private Date erpPushTime;
/**
*
*/
private Double length;
/**
*
*/
private Double width;
/**
*
*/
private Double height;
/**
* 重量
*/
private Double weight;
/**
* 创建时间

View File

@ -114,7 +114,14 @@ public class OOrderItem implements Serializable {
private Integer refundStatus;
private Integer orderStatus;
private Integer hasPushErp;//是否推送到ERP
/**
* 发货类型0仓库发货1供应商代发2联合发货
*/
private Integer shipType;
/**
* 发货状态 0 待发货 1 部分发货 2全部发货
*/
private Integer shipStatus;
/**
* 创建时间

View File

@ -6,15 +6,17 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import lombok.Data;
/**
* 发货-备货表取号发货加入备货清单分配供应商发货加入备货清单
* @TableName o_ship_stock_up
* @TableName o_order_ship_list
*/
@TableName(value ="o_ship_stock_up")
@TableName(value ="o_order_ship_list")
@Data
public class OShipStockUp implements Serializable {
public class OOrderShipList implements Serializable {
/**
*
*/
@ -49,18 +51,33 @@ public class OShipStockUp implements Serializable {
/**
* erp订单id
*/
private Long saleOrderId;
/**
* erp订单itemid
*/
private Long saleOrderItemId;
private Long orderId;
/**
* 订单编号
*/
private String orderNum;
/**
* 物流公司
*/
private String shipLogisticsCompany;
/**
* 物流公司code
*/
private String shipLogisticsCompanyCode;
/**
* 物流单号
*/
private String shipLogisticsCode;
/**
* 发货状态1待发货2已发货3已推送
*/
private Integer shipStatus;
/**
* 状态0待备货1备货中2备货完成3已发货
*/
@ -86,25 +103,8 @@ public class OShipStockUp implements Serializable {
*/
private String updateBy;
/**
* 物流公司
*/
private String shipLogisticsCompany;
/**
* 物流公司code
*/
private String shipLogisticsCompanyCode;
/**
* 物流单号
*/
private String shipLogisticsCode;
/**
* 发货状态1待发货2已发货3已推送
*/
private Integer shipStatus;
@TableField(exist = false)
private List<OOrderShipListItem> items;
@TableField(exist = false)
private static final long serialVersionUID = 1L;

View File

@ -10,11 +10,11 @@ import lombok.Data;
/**
* 发货-备货表打单加入备货清单
* @TableName o_ship_stock_up_item
* @TableName o_order_ship_list_item
*/
@TableName(value ="o_ship_stock_up_item")
@TableName(value ="o_order_ship_list_item")
@Data
public class OShipStockUpItem implements Serializable {
public class OOrderShipListItem implements Serializable {
/**
*
*/
@ -26,6 +26,11 @@ public class OShipStockUpItem implements Serializable {
*/
private Long shopId;
/**
* 外键id
*/
private Long listId;
/**
* 店铺类型
*/
@ -49,12 +54,12 @@ public class OShipStockUpItem implements Serializable {
/**
* erp订单id
*/
private Long saleOrderId;
private Long orderId;
/**
* erp订单itemid
*/
private Long saleOrderItemId;
private Long orderItemId;
/**
* 订单编号

View File

@ -1,70 +1,106 @@
package cn.qihangerp.module.order.domain;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
/**
* 发货记录表
* @TableName o_order_shipping
* 发货-发货记录表
* @TableName o_shipment
*/
@TableName(value ="o_shipment")
@Data
public class OShipment implements Serializable {
/**
*
*/
@TableId(type = IdType.AUTO)
private String id;
private Long id;
/**
* 店铺id
*/
private Long shopId;
/**
* 发货类型1订单发货2商品补发3商品换货
*/
private Integer shipmentType;
private Integer shippingType;//发货类型1订单发货2商品补发3商品换货
private String orderNums;//发货的所有订单号以逗号隔开
private String subOrderNums;//发货的所有子订单号以逗号隔开
/**
* 发货的所有订单号以逗号隔开
*/
private String orderNums;
/**
* 收件人姓名
*/
private String receiverName;
/**
* 收件人手机号
*/
private String receiverMobile;
/**
*
*/
private String province;
/**
*
*/
private String city;
/**
*
*/
private String town;
/**
* 详细地址
*/
private String address;
/**
* 物流公司
*/
private String logisticsCompany;
/**
* 物流公司编码
*/
private String logisticsCompanyCode;
/**
* 物流单号
*/
private String waybillCode;
private String logisticsCode;
/**
* 物流费用
*/
private Integer shippingFee;
private BigDecimal shipmentFee;
/**
* 发货时间
*/
private Date shippingTime;
private Date shipmentTime;
/**
* 发货操作人
*/
private String shippingOperator;
private String shipmentOperator;
/**
* 物流状态1运输中2已完成
*/
private Integer shippingStatus;
private Integer shipmentStatus;
/**
* 包裹重量
@ -100,6 +136,10 @@ public class OShipment implements Serializable {
* 包裹内容JSON
*/
private String packages;
/**
* 备注
*/
private String remark;
/**
@ -122,5 +162,6 @@ public class OShipment implements Serializable {
*/
private Date updateBy;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}

View File

@ -1,15 +1,17 @@
package cn.qihangerp.module.order.domain;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data;
/**
* OMS发货明细表
* @TableName o_order_shipping_item
* 发货-发货记录明细表
* @TableName o_shipment_item
*/
@TableName(value ="o_shipment_item")
@Data
public class OShipmentItem implements Serializable {
/**
@ -21,17 +23,17 @@ public class OShipmentItem implements Serializable {
/**
* 发货表id
*/
private String shippingId;
private Long shipmentId;
/**
* o_order表id
*/
private String orderId;
private Long orderId;
/**
* o_order_item表id
*/
private String orderItemId;
private Long orderItemId;
/**
* 订单编号第三方平台
@ -43,5 +45,46 @@ public class OShipmentItem implements Serializable {
*/
private String subOrderNum;
/**
* erp系统商品id
*/
private Long goodsId;
/**
* erp系统商品规格id
*/
private Long skuId;
/**
* 商品标题
*/
private String goodsTitle;
/**
* 商品图片
*/
private String goodsImg;
/**
* 商品编码
*/
private String goodsNum;
/**
* 商品规格
*/
private String skuName;
/**
* 商品规格编码
*/
private String skuNum;
/**
* 商品数量
*/
private Integer quantity;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}

View File

@ -0,0 +1,18 @@
package cn.qihangerp.module.order.mapper;
import cn.qihangerp.module.order.domain.OOrderShipListItem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author qilip
* @description 针对表o_order_ship_list_item(发货-备货表打单加入备货清单)的数据库操作Mapper
* @createDate 2025-05-24 16:03:35
* @Entity cn.qihangerp.module.order.domain.OOrderShipListItem
*/
public interface OOrderShipListItemMapper extends BaseMapper<OOrderShipListItem> {
}

View File

@ -0,0 +1,18 @@
package cn.qihangerp.module.order.mapper;
import cn.qihangerp.module.order.domain.OOrderShipList;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author qilip
* @description 针对表o_order_ship_list(发货-备货表取号发货加入备货清单分配供应商发货加入备货清单)的数据库操作Mapper
* @createDate 2025-05-24 16:03:35
* @Entity cn.qihangerp.module.order.domain.OOrderShipList
*/
public interface OOrderShipListMapper extends BaseMapper<OOrderShipList> {
}

View File

@ -1,18 +0,0 @@
package cn.qihangerp.module.order.mapper;
import cn.qihangerp.module.order.domain.OShipStockUpItem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author qilip
* @description 针对表o_ship_stock_up_item(发货-备货表打单加入备货清单)的数据库操作Mapper
* @createDate 2025-05-23 21:43:16
* @Entity cn.qihangerp.module.order.domain.OShipStockUpItem
*/
public interface OShipStockUpItemMapper extends BaseMapper<OShipStockUpItem> {
}

View File

@ -1,18 +0,0 @@
package cn.qihangerp.module.order.mapper;
import cn.qihangerp.module.order.domain.OShipStockUp;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author qilip
* @description 针对表o_ship_stock_up(发货-备货表取号发货加入备货清单分配供应商发货加入备货清单)的数据库操作Mapper
* @createDate 2025-05-23 21:43:16
* @Entity cn.qihangerp.module.order.domain.OShipStockUp
*/
public interface OShipStockUpMapper extends BaseMapper<OShipStockUp> {
}

View File

@ -1,14 +1,13 @@
package cn.qihangerp.module.order.mapper;
import cn.qihangerp.module.order.domain.OShipmentItem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author TW
* @description 针对表o_order_shipping_item(OMS发货明细表)的数据库操作Mapper
* @createDate 2024-05-23 14:01:14
* @Entity cn.qihangerp.oms.domain.OOrderShippingItem
* @author qilip
* @description 针对表o_shipment_item(发货-发货记录明细表)的数据库操作Mapper
* @createDate 2025-05-24 16:21:35
* @Entity cn.qihangerp.module.order.domain.OShipmentItem
*/
public interface OShipmentItemMapper extends BaseMapper<OShipmentItem> {

View File

@ -1,14 +1,13 @@
package cn.qihangerp.module.order.mapper;
import cn.qihangerp.module.order.domain.OShipment;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author qilip
* @description 针对表o_order_shipping(发货记录表)的数据库操作Mapper
* @createDate 2024-03-31 11:16:00
* @Entity cn.qihangerp.oms.domain.OOrderShipping
* @description 针对表o_shipment(发货-发货记录表)的数据库操作Mapper
* @createDate 2025-05-24 16:26:06
* @Entity cn.qihangerp.module.order.domain.OShipment
*/
public interface OShipmentMapper extends BaseMapper<OShipment> {

View File

@ -1,6 +1,7 @@
package cn.qihangerp.module.order.service;
import cn.qihangerp.common.bo.ShopOrderShipBo;
import cn.qihangerp.module.order.domain.OOrder;
import cn.qihangerp.module.order.domain.OOrderItem;
import cn.qihangerp.module.order.domain.vo.SalesDailyVo;
@ -47,4 +48,11 @@ public interface OOrderService extends IService<OOrder> {
List<SalesDailyVo> salesDaily();
SalesDailyVo getTodaySalesDaily();
Integer getWaitShipOrderAllCount();
/**
* 手动发货
* @param shipBo
* @return
*/
ResultVo<Integer> manualShipmentOrder(ShopOrderShipBo shipBo, String createBy);
}

View File

@ -0,0 +1,17 @@
package cn.qihangerp.module.order.service;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.module.order.domain.OOrderShipListItem;
import cn.qihangerp.module.order.domain.bo.ShipStockUpBo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author qilip
* @description 针对表o_order_ship_list_item(发货-备货表打单加入备货清单)的数据库操作Service
* @createDate 2025-05-24 16:03:35
*/
public interface OOrderShipListItemService extends IService<OOrderShipListItem> {
PageResult<OOrderShipListItem> queryWarehousePageList(ShipStockUpBo bo, PageQuery pageQuery);
PageResult<OOrderShipListItem> querySupplierPageList(ShipStockUpBo bo, PageQuery pageQuery);
}

View File

@ -0,0 +1,16 @@
package cn.qihangerp.module.order.service;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.module.order.domain.OOrderShipList;
import cn.qihangerp.module.order.domain.bo.ShipStockUpBo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author qilip
* @description 针对表o_order_ship_list(发货-备货表取号发货加入备货清单分配供应商发货加入备货清单)的数据库操作Service
* @createDate 2025-05-24 16:03:35
*/
public interface OOrderShipListService extends IService<OOrderShipList> {
PageResult<OOrderShipList> querySupplierPageList(ShipStockUpBo bo, PageQuery pageQuery);
}

View File

@ -1,17 +0,0 @@
package cn.qihangerp.module.order.service;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.module.order.domain.OShipStockUpItem;
import cn.qihangerp.module.order.domain.bo.ShipStockUpBo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author qilip
* @description 针对表o_ship_stock_up_item(发货-备货表打单加入备货清单)的数据库操作Service
* @createDate 2025-05-23 21:43:16
*/
public interface OShipStockUpItemService extends IService<OShipStockUpItem> {
PageResult<OShipStockUpItem> queryWarehousePageList(ShipStockUpBo bo, PageQuery pageQuery);
PageResult<OShipStockUpItem> querySupplierPageList(ShipStockUpBo bo, PageQuery pageQuery);
}

View File

@ -1,17 +0,0 @@
package cn.qihangerp.module.order.service;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.module.order.domain.OShipStockUp;
import cn.qihangerp.module.order.domain.OShipStockUpItem;
import cn.qihangerp.module.order.domain.bo.ShipStockUpBo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author qilip
* @description 针对表o_ship_stock_up(发货-备货表取号发货加入备货清单分配供应商发货加入备货清单)的数据库操作Service
* @createDate 2025-05-23 21:43:16
*/
public interface OShipStockUpService extends IService<OShipStockUp> {
PageResult<OShipStockUp> querySupplierPageList(ShipStockUpBo bo, PageQuery pageQuery);
}

View File

@ -1,13 +1,12 @@
package cn.qihangerp.module.order.service;
import cn.qihangerp.module.order.domain.OShipmentItem;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author TW
* @description 针对表o_order_shipping_item(OMS发货明细表)的数据库操作Service
* @createDate 2024-05-23 14:01:14
* @author qilip
* @description 针对表o_shipment_item(发货-发货记录明细表)的数据库操作Service
* @createDate 2025-05-24 16:21:35
*/
public interface OShipmentItemService extends IService<OShipmentItem> {

View File

@ -2,43 +2,14 @@ package cn.qihangerp.module.order.service;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.common.ResultVo;
import cn.qihangerp.common.enums.EnumShopType;
import cn.qihangerp.module.order.domain.OShipment;
import cn.qihangerp.module.order.domain.bo.OrderShipBo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author qilip
* @description 针对表o_order_shipping(发货记录表)的数据库操作Service
* @createDate 2024-03-31 11:16:00
* @description 针对表o_shipment(发货-发货记录表)的数据库操作Service
* @createDate 2025-05-24 16:26:06
*/
public interface OShipmentService extends IService<OShipment> {
/**
* 发货记录
* @param shipping
* @param pageQuery
* @return
*/
PageResult<OShipment> queryPageList(OShipment shipping, PageQuery pageQuery);
/**
* 手动订单发货
* @param shipping
* @return
*/
ResultVo<Integer> handOrderShip(OrderShipBo shipping);
/**
* 发货消息
* @param orderNum
* @param shopType
* @param logisticsCompany
* @param logisticsCode
* @return
*/
// ResultVo<Integer> shipSendMessage(String orderNum, EnumShopType shopType,String logisticsCompany,String logisticsCode);
}

View File

@ -1,18 +1,15 @@
package cn.qihangerp.module.order.service.impl;
import cn.qihangerp.common.bo.ShopOrderShipBo;
import cn.qihangerp.domain.OLogisticsCompany;
import cn.qihangerp.module.goods.domain.OGoodsSku;
import cn.qihangerp.module.goods.mapper.OGoodsSkuMapper;
import cn.qihangerp.module.order.domain.OOrder;
import cn.qihangerp.module.order.domain.OOrderItem;
import cn.qihangerp.module.order.domain.OfflineOrder;
import cn.qihangerp.module.order.domain.OfflineOrderItem;
import cn.qihangerp.module.mapper.OLogisticsCompanyMapper;
import cn.qihangerp.module.order.domain.*;
import cn.qihangerp.module.order.domain.vo.OrderDiscountVo;
import cn.qihangerp.module.order.domain.vo.SalesDailyVo;
import cn.qihangerp.module.order.mapper.OOrderItemMapper;
import cn.qihangerp.module.order.mapper.OOrderMapper;
import cn.qihangerp.module.order.mapper.OfflineOrderItemMapper;
import cn.qihangerp.module.order.mapper.OfflineOrderMapper;
import cn.qihangerp.module.order.mapper.*;
import cn.qihangerp.module.order.service.OOrderService;
import cn.qihangerp.request.OrderSearchRequest;
import com.alibaba.fastjson2.JSONArray;
@ -31,7 +28,6 @@ import cn.qihangerp.common.utils.DateUtils;
import cn.qihangerp.common.utils.StringUtils;
import lombok.AllArgsConstructor;
import lombok.extern.java.Log;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -56,9 +52,15 @@ public class OOrderServiceImpl extends ServiceImpl<OOrderMapper, OOrder>
private final OOrderMapper orderMapper;
private final OOrderItemMapper orderItemMapper;
private final OLogisticsCompanyMapper logisticsCompanyMapper;
private final OGoodsSkuMapper oGoodsSkuMapper;
private final OOrderShipListMapper orderShipListMapper;
private final OOrderShipListItemMapper orderShipListItemMapper;
private final OShipmentMapper shipmentMapper;
private final OShipmentItemMapper shipmentItemMapper;
private final OfflineOrderMapper offlineOrderMapper;
private final OfflineOrderItemMapper offlineOrderItemMapper;
@ -1451,6 +1453,154 @@ public class OOrderServiceImpl extends ServiceImpl<OOrderMapper, OOrder>
return orderMapper.getWaitShipOrderAllCount();
}
/**
* 手动发货-仓库发货
* @param shipBo
* @param createBy
* @return
*/
@Transactional
@Override
public ResultVo<Integer> manualShipmentOrder(ShopOrderShipBo shipBo, String createBy) {
if (org.springframework.util.StringUtils.isEmpty(shipBo.getId()) || shipBo.getId().equals("0"))
return ResultVo.error(ResultVoEnum.ParamsError, "缺少参数id");
if(org.springframework.util.StringUtils.isEmpty(shipBo.getShippingNumber())) return ResultVo.error("快递单号不能为空");
OOrder erpOrder = orderMapper.selectById(shipBo.getId());
if (erpOrder == null) {
return ResultVo.error("找不到订单数据");
} else if (erpOrder.getOrderStatus().intValue() != 1 && erpOrder.getRefundStatus().intValue() != 1) {
return ResultVo.error("订单状态不对,不允许发货");
}
OLogisticsCompany erpLogisticsCompany = logisticsCompanyMapper.selectById(shipBo.getShippingCompany());
if(erpLogisticsCompany==null) return ResultVo.error("快递公司选择错误");
// 自己发货的list
List<OOrderItem> oOrderItems = orderItemMapper.selectList(
new LambdaQueryWrapper<OOrderItem>()
.eq(OOrderItem::getOrderId, erpOrder.getId())
.eq(OOrderItem::getShipStatus,0)
.eq(OOrderItem::getShipType,0)
);
if(oOrderItems==null) return ResultVo.error("订单 item 数据错误,无法发货!");
// 添加到备货单
OOrderShipList shipList = new OOrderShipList();
shipList.setShopId(erpOrder.getShopId());
shipList.setShopType(erpOrder.getShopType());
shipList.setShipper(0);
shipList.setShipSupplierId(0L);
shipList.setShipSupplier("自由仓库发货");
shipList.setOrderId(Long.parseLong(erpOrder.getId()));
shipList.setOrderNum(erpOrder.getOrderNum());
shipList.setStatus(0);
shipList.setShipLogisticsCompany(erpLogisticsCompany.getName());
shipList.setShipLogisticsCompanyCode(erpLogisticsCompany.getCode());
shipList.setShipLogisticsCode(shipBo.getShippingNumber());
shipList.setShipStatus(2);
shipList.setCreateTime(new Date());
shipList.setCreateBy("手动发货");
orderShipListMapper.insert(shipList);
// 添加发货记录
OShipment erpShipment = new OShipment();
erpShipment.setShopId(erpOrder.getShopId());
erpShipment.setShipmentType(1);
erpShipment.setOrderNums(erpOrder.getOrderNum());
erpShipment.setReceiverName(erpOrder.getReceiverName());
erpShipment.setReceiverMobile(erpOrder.getReceiverMobile());
erpShipment.setProvince(erpOrder.getProvince());
erpShipment.setCity(erpOrder.getCity());
erpShipment.setTown(erpOrder.getTown());
erpShipment.setAddress(erpOrder.getAddress());
erpShipment.setLogisticsCompany(erpLogisticsCompany.getName());
erpShipment.setLogisticsCompanyCode(erpLogisticsCompany.getCode());
erpShipment.setLogisticsCode(shipBo.getShippingNumber());
erpShipment.setShipmentFee(shipBo.getShippingCost());
erpShipment.setShipmentTime(new Date());
erpShipment.setShipmentOperator(shipBo.getShippingMan());
erpShipment.setShipmentStatus(1);//物流状态1运输中2已完成
erpShipment.setPackageHeight(shipBo.getHeight());
erpShipment.setPackageWeight(shipBo.getWeight());
erpShipment.setPackageLength(shipBo.getLength());
erpShipment.setPackageWidth(shipBo.getWidth());
erpShipment.setPackageOperator(shipBo.getShippingMan());
erpShipment.setPackageTime(new Date());
// erpShipment.setPackages(JSONObject.toJSONString(oOrderItems));
erpShipment.setRemark(shipBo.getRemark());
erpShipment.setCreateBy("手动发货");
erpShipment.setCreateTime(new Date());
shipmentMapper.insert(erpShipment);
for(OOrderItem orderItem:oOrderItems){
// 添加备货清单item
OOrderShipListItem listItem=new OOrderShipListItem();
listItem.setShopId(erpOrder.getShopId());
listItem.setShopType(erpOrder.getShopType());
listItem.setListId(shipList.getId());
listItem.setShipper(shipList.getShipper());
listItem.setShipSupplier(shipList.getShipSupplier());
listItem.setShipSupplierId(shipList.getShipSupplierId());
listItem.setOrderId(Long.parseLong(orderItem.getOrderId()));
listItem.setOrderItemId(Long.parseLong(orderItem.getId()));
listItem.setOrderNum(orderItem.getOrderNum());
listItem.setOriginalSkuId(orderItem.getSkuId());
listItem.setGoodsId(orderItem.getGoodsId());
listItem.setSkuId(orderItem.getGoodsSkuId());
listItem.setGoodsTitle(orderItem.getGoodsTitle());
listItem.setGoodsImg(orderItem.getGoodsImg());
listItem.setGoodsNum(orderItem.getGoodsNum());
listItem.setSkuName(orderItem.getGoodsSpec());
listItem.setSkuNum(orderItem.getSkuNum());
listItem.setQuantity(orderItem.getQuantity());
listItem.setStatus(0);//状态0待备货1备货中2备货完成3已发货
listItem.setCreateBy("手动发货");
listItem.setCreateTime(new Date());
orderShipListItemMapper.insert(listItem);
// 添加发货清单
OShipmentItem erpShipmentItem = new OShipmentItem();
erpShipmentItem.setShipmentId(erpShipment.getId());
erpShipmentItem.setOrderId(Long.parseLong(orderItem.getOrderId()));
erpShipmentItem.setOrderNum(orderItem.getOrderNum());
erpShipmentItem.setOrderItemId(Long.parseLong(orderItem.getId()));
erpShipmentItem.setSubOrderNum(orderItem.getSubOrderNum());
erpShipmentItem.setGoodsId(orderItem.getGoodsId());
erpShipmentItem.setSkuId(orderItem.getGoodsSkuId());
erpShipmentItem.setGoodsTitle(orderItem.getGoodsTitle());
erpShipmentItem.setGoodsNum(orderItem.getGoodsNum());
erpShipmentItem.setGoodsImg(orderItem.getGoodsImg());
erpShipmentItem.setSkuName(orderItem.getGoodsSpec());
erpShipmentItem.setSkuNum(orderItem.getSkuNum());
erpShipmentItem.setQuantity(orderItem.getQuantity());
shipmentItemMapper.insert(erpShipmentItem);
// 更新订单item发货状态
OOrderItem orderItemUpdate = new OOrderItem();
orderItemUpdate.setId( orderItem.getId());
orderItemUpdate.setUpdateBy("手动发货");
orderItemUpdate.setUpdateTime(new Date());
orderItemUpdate.setShipType(0);
orderItemUpdate.setShipStatus(1);//发货状态 0 待发货 1 已发货
orderItemMapper.updateById(orderItemUpdate);
}
// 更新状态发货方式
OOrder update = new OOrder();
update.setId(erpOrder.getId());
update.setShipType(0);
update.setShipStatus(2);
update.setOrderStatus(2);
update.setUpdateTime(new Date());
update.setUpdateBy("手动发货");
orderMapper.updateById(update);
return ResultVo.success();
}
}

View File

@ -0,0 +1,53 @@
package cn.qihangerp.module.order.service.impl;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.module.order.domain.bo.ShipStockUpBo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.qihangerp.module.order.domain.OOrderShipListItem;
import cn.qihangerp.module.order.service.OOrderShipListItemService;
import cn.qihangerp.module.order.mapper.OOrderShipListItemMapper;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
/**
* @author qilip
* @description 针对表o_order_ship_list_item(发货-备货表打单加入备货清单)的数据库操作Service实现
* @createDate 2025-05-24 16:03:35
*/
@Service
public class OOrderShipListItemServiceImpl extends ServiceImpl<OOrderShipListItemMapper, OOrderShipListItem>
implements OOrderShipListItemService{
@Override
public PageResult<OOrderShipListItem> queryWarehousePageList(ShipStockUpBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<OOrderShipListItem> queryWrapper = new LambdaQueryWrapper<OOrderShipListItem>()
.eq(OOrderShipListItem::getShipper,0)
.eq(bo.getShopId()!=null,OOrderShipListItem::getShopId,bo.getShopId())
.eq(bo.getStatus()!=null,OOrderShipListItem::getStatus,bo.getStatus())
.eq(StringUtils.hasText(bo.getOrderNum()),OOrderShipListItem::getOrderNum,bo.getOrderNum())
;
Page<OOrderShipListItem> pages = this.baseMapper.selectPage(pageQuery.build(), queryWrapper);
return PageResult.build(pages);
}
@Override
public PageResult<OOrderShipListItem> querySupplierPageList(ShipStockUpBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<OOrderShipListItem> queryWrapper = new LambdaQueryWrapper<OOrderShipListItem>()
.eq(OOrderShipListItem::getShipper,1)
.eq(bo.getShopId()!=null,OOrderShipListItem::getShopId,bo.getShopId())
.eq(bo.getStatus()!=null,OOrderShipListItem::getStatus,bo.getStatus())
.eq(StringUtils.hasText(bo.getOrderNum()),OOrderShipListItem::getOrderNum,bo.getOrderNum())
;
Page<OOrderShipListItem> pages = this.baseMapper.selectPage(pageQuery.build(), queryWrapper);
return PageResult.build(pages);
}
}

View File

@ -0,0 +1,39 @@
package cn.qihangerp.module.order.service.impl;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.module.order.domain.bo.ShipStockUpBo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.qihangerp.module.order.domain.OOrderShipList;
import cn.qihangerp.module.order.service.OOrderShipListService;
import cn.qihangerp.module.order.mapper.OOrderShipListMapper;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
/**
* @author qilip
* @description 针对表o_order_ship_list(发货-备货表取号发货加入备货清单分配供应商发货加入备货清单)的数据库操作Service实现
* @createDate 2025-05-24 16:03:35
*/
@Service
public class OOrderShipListServiceImpl extends ServiceImpl<OOrderShipListMapper, OOrderShipList>
implements OOrderShipListService{
@Override
public PageResult<OOrderShipList> querySupplierPageList(ShipStockUpBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<OOrderShipList> queryWrapper = new LambdaQueryWrapper<OOrderShipList>()
.eq(OOrderShipList::getShipper,1)
.eq(bo.getShopId()!=null,OOrderShipList::getShopId,bo.getShopId())
.eq(bo.getStatus()!=null,OOrderShipList::getStatus,bo.getStatus())
.eq(StringUtils.hasText(bo.getOrderNum()),OOrderShipList::getOrderNum,bo.getOrderNum())
;
Page<OOrderShipList> pages = this.baseMapper.selectPage(pageQuery.build(), queryWrapper);
return PageResult.build(pages);
}
}

View File

@ -1,52 +0,0 @@
package cn.qihangerp.module.order.service.impl;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.module.order.domain.bo.ShipStockUpBo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.qihangerp.module.order.domain.OShipStockUpItem;
import cn.qihangerp.module.order.service.OShipStockUpItemService;
import cn.qihangerp.module.order.mapper.OShipStockUpItemMapper;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
/**
* @author qilip
* @description 针对表o_ship_stock_up_item(发货-备货表打单加入备货清单)的数据库操作Service实现
* @createDate 2025-05-23 21:43:16
*/
@Service
public class OShipStockUpItemServiceImpl extends ServiceImpl<OShipStockUpItemMapper, OShipStockUpItem>
implements OShipStockUpItemService{
@Override
public PageResult<OShipStockUpItem> queryWarehousePageList(ShipStockUpBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<OShipStockUpItem> queryWrapper = new LambdaQueryWrapper<OShipStockUpItem>()
.eq(OShipStockUpItem::getShipper,0)
.eq(bo.getShopId()!=null,OShipStockUpItem::getShopId,bo.getShopId())
.eq(bo.getStatus()!=null,OShipStockUpItem::getStatus,bo.getStatus())
.eq(StringUtils.hasText(bo.getOrderNum()),OShipStockUpItem::getOrderNum,bo.getOrderNum())
;
Page<OShipStockUpItem> pages = this.baseMapper.selectPage(pageQuery.build(), queryWrapper);
return PageResult.build(pages);
}
@Override
public PageResult<OShipStockUpItem> querySupplierPageList(ShipStockUpBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<OShipStockUpItem> queryWrapper = new LambdaQueryWrapper<OShipStockUpItem>()
.eq(OShipStockUpItem::getShipper,1)
.eq(bo.getShopId()!=null,OShipStockUpItem::getShopId,bo.getShopId())
.eq(bo.getStatus()!=null,OShipStockUpItem::getStatus,bo.getStatus())
.eq(StringUtils.hasText(bo.getOrderNum()),OShipStockUpItem::getOrderNum,bo.getOrderNum())
;
Page<OShipStockUpItem> pages = this.baseMapper.selectPage(pageQuery.build(), queryWrapper);
return PageResult.build(pages);
}
}

View File

@ -1,41 +0,0 @@
package cn.qihangerp.module.order.service.impl;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.module.order.domain.OShipStockUpItem;
import cn.qihangerp.module.order.domain.bo.ShipStockUpBo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.qihangerp.module.order.domain.OShipStockUp;
import cn.qihangerp.module.order.service.OShipStockUpService;
import cn.qihangerp.module.order.mapper.OShipStockUpMapper;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
/**
* @author qilip
* @description 针对表o_ship_stock_up(发货-备货表取号发货加入备货清单分配供应商发货加入备货清单)的数据库操作Service实现
* @createDate 2025-05-23 21:43:16
*/
@Service
public class OShipStockUpServiceImpl extends ServiceImpl<OShipStockUpMapper, OShipStockUp>
implements OShipStockUpService{
@Override
public PageResult<OShipStockUp> querySupplierPageList(ShipStockUpBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<OShipStockUp> queryWrapper = new LambdaQueryWrapper<OShipStockUp>()
.eq(OShipStockUp::getShipper,1)
.eq(bo.getShopId()!=null,OShipStockUp::getShopId,bo.getShopId())
.eq(bo.getStatus()!=null,OShipStockUp::getStatus,bo.getStatus())
.eq(StringUtils.hasText(bo.getOrderNum()),OShipStockUp::getOrderNum,bo.getOrderNum())
;
Page<OShipStockUp> pages = this.baseMapper.selectPage(pageQuery.build(), queryWrapper);
return PageResult.build(pages);
}
}

View File

@ -1,16 +1,15 @@
package cn.qihangerp.module.order.service.impl;
import cn.qihangerp.module.order.domain.OShipmentItem;
import cn.qihangerp.module.order.mapper.OShipmentItemMapper;
import cn.qihangerp.module.order.service.OShipmentItemService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.qihangerp.module.order.domain.OShipmentItem;
import cn.qihangerp.module.order.service.OShipmentItemService;
import cn.qihangerp.module.order.mapper.OShipmentItemMapper;
import org.springframework.stereotype.Service;
/**
* @author TW
* @description 针对表o_order_shipping_item(OMS发货明细表)的数据库操作Service实现
* @createDate 2024-05-23 14:01:14
* @author qilip
* @description 针对表o_shipment_item(发货-发货记录明细表)的数据库操作Service实现
* @createDate 2025-05-24 16:21:35
*/
@Service
public class OShipmentItemServiceImpl extends ServiceImpl<OShipmentItemMapper, OShipmentItem>

View File

@ -1,42 +1,24 @@
package cn.qihangerp.module.order.service.impl;
import cn.qihangerp.module.order.domain.*;
import cn.qihangerp.module.order.domain.bo.OrderShipBo;
import cn.qihangerp.module.order.mapper.*;
import cn.qihangerp.module.order.service.OShipmentService;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.common.ResultVo;
import cn.qihangerp.common.ResultVoEnum;
import cn.qihangerp.common.enums.EnumShopType;
import lombok.AllArgsConstructor;
import lombok.extern.java.Log;
import cn.qihangerp.module.order.domain.OShipment;
import cn.qihangerp.module.order.service.OShipmentService;
import cn.qihangerp.module.order.mapper.OShipmentMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @author qilip
* @description 针对表o_order_shipping(发货记录表)的数据库操作Service实现
* @createDate 2024-03-31 11:16:00
* @description 针对表o_shipment(发货-发货记录表)的数据库操作Service实现
* @createDate 2025-05-24 16:26:06
*/
@Log
@AllArgsConstructor
@Service
public class OShipmentServiceImpl extends ServiceImpl<OShipmentMapper, OShipment>
implements OShipmentService{
private final OShipmentMapper mapper;
private final OShipmentItemMapper shippingItemMapper;
private final OOrderMapper orderMapper;
private final OOrderItemMapper itemMapper;
/**
* 查询发货记录
* @param shipping
@ -47,182 +29,12 @@ public class OShipmentServiceImpl extends ServiceImpl<OShipmentMapper, OShipment
public PageResult<OShipment> queryPageList(OShipment shipping, PageQuery pageQuery) {
LambdaQueryWrapper<OShipment> queryWrapper = new LambdaQueryWrapper<OShipment>()
.likeRight(StringUtils.hasText(shipping.getOrderNums()), OShipment::getOrderNums, shipping.getOrderNums())
.eq(StringUtils.hasText(shipping.getWaybillCode()), OShipment::getWaybillCode, shipping.getWaybillCode())
.eq(StringUtils.hasText(shipping.getLogisticsCode()), OShipment::getLogisticsCode, shipping.getLogisticsCode())
.eq(shipping.getShopId() != null, OShipment::getShopId, shipping.getShopId());
Page<OShipment> pages = mapper.selectPage(pageQuery.build(), queryWrapper);
Page<OShipment> pages = this.baseMapper.selectPage(pageQuery.build(), queryWrapper);
return PageResult.build(pages);
}
/**
* 手动订单发货
* @param shipBo
* @return
*/
@Transactional
@Override
public ResultVo<Integer> handOrderShip(OrderShipBo shipBo) {
if(shipBo.getItemIds()==null || shipBo.getItemIds().length ==0) return ResultVo.error(ResultVoEnum.ParamsError,"参数错误缺失OrderItemId");
List<OShipmentItem> shippingItemList = new ArrayList<>();
List<String> orderNums = new ArrayList<>();
List<String> subOrderNums = new ArrayList<>();
for (var orderItemId:shipBo.getItemIds()) {
// 查询子订单是否存在
OOrderItem oOrderItem = itemMapper.selectById(orderItemId);
if(oOrderItem==null ) return ResultVo.error(ResultVoEnum.NotFound, orderItemId + "子订单未找到");
else if (oOrderItem.getRefundStatus()!=1) {
return ResultVo.error(ResultVoEnum.StatusError, orderItemId + "子订单退款状态不允许发货");
}
// 查询子订单对应的主订单是否存在
OOrder oOrder = orderMapper.selectById(oOrderItem.getOrderId());
if (oOrder == null) {
// 没有找到订单
return ResultVo.error(ResultVoEnum.NotFound, orderItemId + "子订单对应的主订单未找到");
}else if(oOrder.getOrderStatus() != 1){
return ResultVo.error(ResultVoEnum.StatusError, orderItemId + "子订单对应的主订单状态不允许发货");
}
orderNums.add(oOrderItem.getOrderNum());
subOrderNums.add(oOrderItem.getSubOrderNum());
// 添加shipping_item
OShipmentItem shippingItem = new OShipmentItem();
shippingItem.setOrderId(oOrderItem.getOrderId());
shippingItem.setOrderItemId(oOrderItem.getId());
shippingItem.setOrderNum(oOrderItem.getOrderNum());
shippingItem.setSubOrderNum(oOrderItem.getSubOrderNum());
shippingItemList.add(shippingItem);
}
// 订单发货主表
OShipment shipping = new OShipment();
shipping.setShippingType(1);//订单发货
shipping.setShopId(shipBo.getShopId());
shipping.setOrderNums(String.join(", ", orderNums));
shipping.setSubOrderNums(String.join(", ", subOrderNums));
shipping.setReceiverName(shipBo.getReceiverName());
shipping.setReceiverMobile(shipBo.getReceiverMobile());
shipping.setProvince(shipBo.getProvince());
shipping.setCity(shipBo.getCity());
shipping.setTown(shipBo.getTown());
shipping.setAddress(shipBo.getAddress());
shipping.setLogisticsCompany(shipBo.getShipCompany());
shipping.setLogisticsCompanyCode(shipBo.getShipCompany());
shipping.setWaybillCode(shipBo.getShipCode());
shipping.setShippingTime(new Date());
// shipping.setRemark("手动发货");
shipping.setCreateTime(new Date());
mapper.insert(shipping);
// 添加发货子表
for (var item:shippingItemList) {
item.setShippingId(shipping.getId());
shippingItemMapper.insert(item);
}
// // 回写主订单状态
// OOrder update = new OOrder();
// update.setId(oOrders.get(0).getId());
// update.setOrderStatus(2);//2已发货
// update.setShippingTime(new Date());
// update.setShippingCompany(shipping.getLogisticsCompanyCode());
// update.setShippingNumber(shipping.getWaybillCode());
// update.setShippingMan(shipping.getShippingOperator());
// update.setUpdateTime(new Date());
// update.setUpdateBy(shipping.getCreateBy());
// orderMapper.updateById(update);
return ResultVo.success();
}
// @Transactional
// @Override
// public ResultVo<Integer> shipSendMessage(String orderNum, EnumShopType shopType,String logisticsCompany,String logisticsCode) {
//
// List<OOrder> oOrders = orderMapper.selectList(new LambdaQueryWrapper<OOrder>().eq(OOrder::getOrderNum, orderNum).eq(OOrder::getShopType, shopType.getIndex()));
// if(oOrders == null || oOrders.size()==0){
// log.info("===========订单发货错误OOrder表中没有找到订单数据====="+orderNum);
// }else {
// log.info("===========订单发货开始处理业务====="+orderNum);
// // 更新erp sale order 订单表发货状态
// if(oOrders.get(0).getOrderStatus()!=3){
// //2是已发货
// OOrder update = new OOrder();
// update.setId(oOrders.get(0).getId());
// update.setOrderStatus(2);
// update.setShippingCompany(logisticsCompany);
// update.setShippingNumber(logisticsCode);
// update.setShippingCost(BigDecimal.ZERO);
// update.setShippingMan("消息通知发货完成");
// update.setShippingTime(new Date());
//// update.setShipStatus(3);
//
// update.setUpdateTime(new Date());
// update.setUpdateBy("消息通知发货完成");
// orderMapper.updateById(update);
// }
// // 更新备货表相关订单状态0_ship_stock_up
// OShipStockUp shipStockUp = new OShipStockUp();
// shipStockUp.setUpdateBy("消息通知发货完成");
// shipStockUp.setUpdateTime(new Date());
// shipStockUp.setStatus(3);//状态0待备货1备货中2已出库3已发货
// shipStockUpMapper.update(shipStockUp,new LambdaQueryWrapper<OShipStockUp>().eq(OShipStockUp::getSaleOrderId,oOrders.get(0).getId()));
//
// //插入发货表数据o_shipment & o_shipment_item
// List<OOrderItem> oOrderItems = itemMapper.selectList(new LambdaQueryWrapper<OOrderItem>().eq(OOrderItem::getOrderId, oOrders.get(0).getId()));
// List<String> orderNums = new ArrayList<>();
// List<String> subOrderNums = new ArrayList<>();
// List<OShipmentItem> shippingItemList = new ArrayList<>();
// for (var oOrderItem:oOrderItems) {
//// if (oOrderItem.getRefundStatus()!=1) {
//// return ResultVo.error(ResultVoEnum.StatusError, orderItemId + "子订单退款状态不允许发货");
//// }
//
// orderNums.add(oOrderItem.getOrderNum());
// subOrderNums.add(oOrderItem.getSubOrderNum());
//
// // 添加shipping_item
// OShipmentItem shippingItem = new OShipmentItem();
// shippingItem.setOrderId(oOrderItem.getOrderId());
// shippingItem.setOrderItemId(oOrderItem.getId());
// shippingItem.setOrderNum(oOrderItem.getOrderNum());
// shippingItem.setSubOrderNum(oOrderItem.getSubOrderNum());
// shippingItemList.add(shippingItem);
// }
//
// // 订单发货主表
// OShipment shipping = new OShipment();
// shipping.setShippingType(1);//订单发货
// shipping.setShopId(oOrders.get(0).getShopId());
// shipping.setOrderNums(String.join(", ", orderNums));
// shipping.setSubOrderNums(String.join(", ", subOrderNums));
// shipping.setReceiverName(oOrders.get(0).getReceiverName());
// shipping.setReceiverMobile(oOrders.get(0).getReceiverMobile());
// shipping.setProvince(oOrders.get(0).getProvince());
// shipping.setCity(oOrders.get(0).getCity());
// shipping.setTown(oOrders.get(0).getTown());
// shipping.setAddress(oOrders.get(0).getAddress());
// shipping.setLogisticsCompany(logisticsCompany);
// shipping.setLogisticsCompanyCode(logisticsCompany);
// shipping.setWaybillCode(logisticsCode);
// shipping.setShippingTime(new Date());
//// shipping.setRemark("手动发货");
// shipping.setCreateTime(new Date());
// mapper.insert(shipping);
//
// // 添加发货子表
// for (var item:shippingItemList) {
// item.setShippingId(shipping.getId());
// shippingItemMapper.insert(item);
// }
//
//
// }
//
// return ResultVo.success();
// }
}

View File

@ -7,6 +7,8 @@
<resultMap id="BaseResultMap" type="cn.qihangerp.module.order.domain.OOrderItem">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="orderId" column="order_id" jdbcType="BIGINT"/>
<result property="shopType" column="shop_type" jdbcType="INTEGER"/>
<result property="shopId" column="shop_id" jdbcType="BIGINT"/>
<result property="subOrderNum" column="sub_order_num" jdbcType="VARCHAR"/>
<result property="skuId" column="sku_id" jdbcType="VARCHAR"/>
<result property="goodsId" column="goods_id" jdbcType="BIGINT"/>
@ -25,6 +27,8 @@
<result property="refundCount" column="refund_count" jdbcType="INTEGER"/>
<result property="refundStatus" column="refund_status" jdbcType="INTEGER"/>
<result property="orderStatus" column="order_status" jdbcType="INTEGER"/>
<result property="shipType" column="ship_type" jdbcType="INTEGER"/>
<result property="shipStatus" column="ship_status" jdbcType="INTEGER"/>
<result property="hasPushErp" column="has_push_erp" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
@ -33,7 +37,7 @@
</resultMap>
<sql id="Base_Column_List">
id,order_id,sub_order_num,
id,order_id,sub_order_num,shop_id,shop_type,ship_type,ship_status,
sku_id,goods_id,goods_sku_id,
goods_title,goods_img,goods_num,
goods_spec,sku_num,goods_price,discount_amount,

View File

@ -8,7 +8,7 @@
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="orderNum" column="order_num" jdbcType="VARCHAR"/>
<result property="shopType" column="shop_type" jdbcType="INTEGER"/>
<result property="shopId" column="shop_id" jdbcType="INTEGER"/>
<result property="shopId" column="shop_id" jdbcType="BIGINT"/>
<result property="remark" column="remark" jdbcType="VARCHAR"/>
<result property="buyerMemo" column="buyer_memo" jdbcType="VARCHAR"/>
<result property="sellerMemo" column="seller_memo" jdbcType="VARCHAR"/>
@ -29,15 +29,7 @@
<result property="town" column="town" jdbcType="VARCHAR"/>
<result property="orderTime" column="order_time" jdbcType="TIMESTAMP"/>
<result property="shipType" column="ship_type" jdbcType="INTEGER"/>
<result property="shippingTime" column="shipping_time" jdbcType="TIMESTAMP"/>
<result property="shippingNumber" column="shipping_number" jdbcType="VARCHAR"/>
<result property="shippingCompany" column="shipping_company" jdbcType="VARCHAR"/>
<result property="shippingMan" column="shipping_man" jdbcType="VARCHAR"/>
<result property="shippingCost" column="shipping_cost" jdbcType="DECIMAL"/>
<result property="length" column="length" jdbcType="FLOAT"/>
<result property="width" column="width" jdbcType="FLOAT"/>
<result property="height" column="height" jdbcType="FLOAT"/>
<result property="weight" column="weight" jdbcType="FLOAT"/>
<result property="shipStatus" column="ship_status" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
@ -56,10 +48,7 @@
order_status,goods_amount,amount,platform_discount,seller_discount,payment,post_fee,
receiver_name,receiver_mobile,address,
province,city,town,
order_time,ship_type,shipping_time,
shipping_number,shipping_company,shipping_man,
shipping_cost,length,width,
height,weight,create_time,
order_time,ship_type,ship_status,create_time,
create_by,update_time,update_by
</sql>
<select id="getTaoOrderDiscount" parameterType="String" resultMap="DiscountResultMap">

View File

@ -2,17 +2,18 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.qihangerp.module.order.mapper.OShipStockUpItemMapper">
<mapper namespace="cn.qihangerp.module.order.mapper.OOrderShipListItemMapper">
<resultMap id="BaseResultMap" type="cn.qihangerp.module.order.domain.OShipStockUpItem">
<resultMap id="BaseResultMap" type="cn.qihangerp.module.order.domain.OOrderShipListItem">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="shopId" column="shop_id" jdbcType="BIGINT"/>
<result property="listId" column="list_id" jdbcType="BIGINT"/>
<result property="shopType" column="shop_type" jdbcType="INTEGER"/>
<result property="shipper" column="shipper" jdbcType="INTEGER"/>
<result property="shipSupplierId" column="ship_supplier_id" jdbcType="BIGINT"/>
<result property="shipSupplier" column="ship_supplier" jdbcType="VARCHAR"/>
<result property="saleOrderId" column="sale_order_id" jdbcType="BIGINT"/>
<result property="saleOrderItemId" column="sale_order_item_id" jdbcType="BIGINT"/>
<result property="orderId" column="order_id" jdbcType="BIGINT"/>
<result property="orderItemId" column="order_item_id" jdbcType="BIGINT"/>
<result property="orderNum" column="order_num" jdbcType="VARCHAR"/>
<result property="originalSkuId" column="original_sku_id" jdbcType="VARCHAR"/>
<result property="goodsId" column="goods_id" jdbcType="BIGINT"/>
@ -31,13 +32,13 @@
</resultMap>
<sql id="Base_Column_List">
id,shop_id,shop_type,
shipper,ship_supplier_id,ship_supplier,
sale_order_id,sale_order_item_id,order_num,
original_sku_id,goods_id,sku_id,
goods_title,goods_img,goods_num,
sku_name,sku_num,quantity,
status,create_time,create_by,
update_time,update_by
id,shop_id,list_id,
shop_type,shipper,ship_supplier_id,
ship_supplier,order_id,order_item_id,
order_num,original_sku_id,goods_id,
sku_id,goods_title,goods_img,
goods_num,sku_name,sku_num,
quantity,status,create_time,
create_by,update_time,update_by
</sql>
</mapper>

View File

@ -2,35 +2,34 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.qihangerp.module.order.mapper.OShipStockUpMapper">
<mapper namespace="cn.qihangerp.module.order.mapper.OOrderShipListMapper">
<resultMap id="BaseResultMap" type="cn.qihangerp.module.order.domain.OShipStockUp">
<resultMap id="BaseResultMap" type="cn.qihangerp.module.order.domain.OOrderShipList">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="shopId" column="shop_id" jdbcType="BIGINT"/>
<result property="shopType" column="shop_type" jdbcType="INTEGER"/>
<result property="shipper" column="shipper" jdbcType="INTEGER"/>
<result property="shipSupplierId" column="ship_supplier_id" jdbcType="BIGINT"/>
<result property="shipSupplier" column="ship_supplier" jdbcType="VARCHAR"/>
<result property="saleOrderId" column="sale_order_id" jdbcType="BIGINT"/>
<result property="saleOrderItemId" column="sale_order_item_id" jdbcType="BIGINT"/>
<result property="orderId" column="order_id" jdbcType="BIGINT"/>
<result property="orderNum" column="order_num" jdbcType="VARCHAR"/>
<result property="shipLogisticsCompany" column="ship_logistics_company" jdbcType="VARCHAR"/>
<result property="shipLogisticsCompanyCode" column="ship_logistics_company_code" jdbcType="VARCHAR"/>
<result property="shipLogisticsCode" column="ship_logistics_code" jdbcType="VARCHAR"/>
<result property="shipStatus" column="ship_status" jdbcType="INTEGER"/>
<result property="status" column="status" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
<result property="shipLogisticsCompany" column="ship_logistics_company" jdbcType="VARCHAR"/>
<result property="shipLogisticsCompanyCode" column="ship_logistics_company_code" jdbcType="VARCHAR"/>
<result property="shipLogisticsCode" column="ship_logistics_code" jdbcType="VARCHAR"/>
<result property="shipStatus" column="ship_status" jdbcType="INTEGER"/>
</resultMap>
<sql id="Base_Column_List">
id,shop_id,shop_type,
shipper,ship_supplier_id,ship_supplier,
sale_order_id,sale_order_item_id,order_num,
order_id,order_num,ship_logistics_company,
ship_logistics_company_code,ship_logistics_code,ship_status,
status,create_time,create_by,
update_time,update_by,ship_logistics_company,
ship_logistics_company_code,ship_logistics_code,ship_status
update_time,update_by
</sql>
</mapper>

View File

@ -6,15 +6,26 @@
<resultMap id="BaseResultMap" type="cn.qihangerp.module.order.domain.OShipmentItem">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="shippingId" column="shipping_id" jdbcType="BIGINT"/>
<result property="shipmentId" column="shipment_id" jdbcType="BIGINT"/>
<result property="orderId" column="order_id" jdbcType="BIGINT"/>
<result property="orderItemId" column="order_item_id" jdbcType="BIGINT"/>
<result property="orderNum" column="order_num" jdbcType="VARCHAR"/>
<result property="subOrderNum" column="sub_order_num" jdbcType="VARCHAR"/>
<result property="goodsId" column="goods_id" jdbcType="BIGINT"/>
<result property="skuId" column="sku_id" jdbcType="BIGINT"/>
<result property="goodsTitle" column="goods_title" jdbcType="VARCHAR"/>
<result property="goodsImg" column="goods_img" jdbcType="VARCHAR"/>
<result property="goodsNum" column="goods_num" jdbcType="VARCHAR"/>
<result property="skuName" column="sku_name" jdbcType="VARCHAR"/>
<result property="skuNum" column="sku_num" jdbcType="VARCHAR"/>
<result property="quantity" column="quantity" jdbcType="INTEGER"/>
</resultMap>
<sql id="Base_Column_List">
id,shipping_id,order_id,
order_item_id,order_num,sub_order_num
id,shipment_id,order_id,
order_item_id,order_num,sub_order_num,
goods_id,sku_id,goods_title,
goods_img,goods_num,sku_name,
sku_num,quantity
</sql>
</mapper>

View File

@ -6,10 +6,9 @@
<resultMap id="BaseResultMap" type="cn.qihangerp.module.order.domain.OShipment">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="shopId" column="shop_id" jdbcType="INTEGER"/>
<result property="shippingType" column="shipping_type" jdbcType="INTEGER"/>
<result property="shopId" column="shop_id" jdbcType="BIGINT"/>
<result property="shipmentType" column="shipment_type" jdbcType="INTEGER"/>
<result property="orderNums" column="order_nums" jdbcType="VARCHAR"/>
<result property="subOrderNums" column="sub_order_nums" jdbcType="VARCHAR"/>
<result property="receiverName" column="receiver_name" jdbcType="VARCHAR"/>
<result property="receiverMobile" column="receiver_mobile" jdbcType="VARCHAR"/>
<result property="province" column="province" jdbcType="VARCHAR"/>
@ -18,11 +17,11 @@
<result property="address" column="address" jdbcType="VARCHAR"/>
<result property="logisticsCompany" column="logistics_company" jdbcType="VARCHAR"/>
<result property="logisticsCompanyCode" column="logistics_company_code" jdbcType="VARCHAR"/>
<result property="waybillCode" column="waybill_code" jdbcType="VARCHAR"/>
<result property="shippingFee" column="shipping_fee" jdbcType="DECIMAL"/>
<result property="shippingTime" column="shipping_time" jdbcType="TIMESTAMP"/>
<result property="shippingOperator" column="shipping_operator" jdbcType="VARCHAR"/>
<result property="shippingStatus" column="shipping_status" jdbcType="INTEGER"/>
<result property="logisticsCode" column="logistics_code" jdbcType="VARCHAR"/>
<result property="shipmentFee" column="shipment_fee" jdbcType="DECIMAL"/>
<result property="shipmentTime" column="shipment_time" jdbcType="TIMESTAMP"/>
<result property="shipmentOperator" column="shipment_operator" jdbcType="VARCHAR"/>
<result property="shipmentStatus" column="shipment_status" jdbcType="INTEGER"/>
<result property="packageWeight" column="package_weight" jdbcType="FLOAT"/>
<result property="packageLength" column="package_length" jdbcType="FLOAT"/>
<result property="packageWidth" column="package_width" jdbcType="FLOAT"/>
@ -38,13 +37,15 @@
</resultMap>
<sql id="Base_Column_List">
id,shop_id,shipping_type,
order_nums,sub_order_nums,receiver_name,receiver_mobile,province,city,town,address,
logistics_company,logistics_company_code,waybill_code,
shipping_fee,shipping_time,shipping_operator,
shipping_status,package_weight,package_length,
package_width,package_height,package_operator,
package_time,packages,remark,create_time,
create_by,update_time,update_by
id,shop_id,shipment_type,
order_nums,receiver_name,receiver_mobile,
province,city,town,
address,logistics_company,logistics_company_code,
logistics_code,shipment_fee,shipment_time,
shipment_operator,shipment_status,package_weight,
package_length,package_width,package_height,
package_operator,package_time,packages,
remark,create_time,create_by,
update_time,update_by
</sql>
</mapper>

View File

@ -398,7 +398,18 @@ export default {
orderStatus: 1
},
//
form: {},
form: {
id:null,
length:null,
width:null,
height:null,
weight:0,
shippingCompany:null,
shippingNumber:null,
shippingCost:null,
shippingMan:null,
},
//
rules: {
height: [{ required: true, message: '不能为空' }],

View File

@ -50,21 +50,21 @@
@click="handleShipping"
>手动发货</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-download"
size="mini"
@click="handleShippingLog"
>ERP发货推送记录</el-button>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="danger"-->
<!-- plain-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- @click="handleShippingLog"-->
<!-- >ERP发货推送记录</el-button>-->
<!-- </el-col>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="dataList" >
<!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="订单编号" align="center" prop="orderNum" />
<el-table-column label="订单编号" align="center" prop="orderNums" />
<el-table-column label="店铺" align="center" prop="shopId" >
<template slot-scope="scope">
<span>{{ shopList.find(x=>x.id === scope.row.shopId).name }}</span>
@ -72,17 +72,23 @@
</el-table-column>
<el-table-column label="类型" align="center" prop="shipType;" >
<template slot-scope="scope">
<el-tag size="small" v-if="scope.row.shipType === 1">订单发货</el-tag>
<el-tag size="small" v-if="scope.row.shipType === 2">商品补发</el-tag>
<el-tag size="small" v-if="scope.row.shipType === 3">商品换货</el-tag>
<el-tag size="small" v-if="scope.row.shipmentType === 1">订单发货</el-tag>
<el-tag size="small" v-if="scope.row.shipmentType === 2">商品补发</el-tag>
<el-tag size="small" v-if="scope.row.shipmentType === 3">商品换货</el-tag>
</template>
</el-table-column>
<el-table-column label="快递公司" align="center" prop="shipCompany" />
<el-table-column label="快递单号" align="center" prop="shipCode" />
<el-table-column label="快递公司" align="center" prop="logisticsCompany" />
<el-table-column label="快递单号" align="center" prop="logisticsCode" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="包裹重量" align="center" prop="packageWeight" >
<template slot-scope="scope">
{{scope.row.packageWeight}}g
</template>
</el-table-column>
<el-table-column label="发货时间" align="center" prop="createTime" >
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{m}:{s}') }}</span>
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>