完善手动发货

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

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

View File

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

View File

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

View File

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

View File

@ -122,57 +122,19 @@ public class OOrder implements Serializable {
private Date orderTime; private Date orderTime;
/** /**
* 发货类型0仓库发货1供应商代发 * 发货类型0仓库发货1供应商代发2联合发货
*/ */
private Integer shipType; 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 Integer erpPushStatus;
private String erpPushResult; private String erpPushResult;
private Date erpPushTime; 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 refundStatus;
private Integer orderStatus; private Integer orderStatus;
private Integer hasPushErp;//是否推送到ERP 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 com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
import lombok.Data; 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 @Data
public class OShipStockUp implements Serializable { public class OOrderShipList implements Serializable {
/** /**
* *
*/ */
@ -49,18 +51,33 @@ public class OShipStockUp implements Serializable {
/** /**
* erp订单id * erp订单id
*/ */
private Long saleOrderId; private Long orderId;
/**
* erp订单itemid
*/
private Long saleOrderItemId;
/** /**
* 订单编号 * 订单编号
*/ */
private String orderNum; private String orderNum;
/**
* 物流公司
*/
private String shipLogisticsCompany;
/**
* 物流公司code
*/
private String shipLogisticsCompanyCode;
/**
* 物流单号
*/
private String shipLogisticsCode;
/**
* 发货状态1待发货2已发货3已推送
*/
private Integer shipStatus;
/** /**
* 状态0待备货1备货中2备货完成3已发货 * 状态0待备货1备货中2备货完成3已发货
*/ */
@ -86,25 +103,8 @@ public class OShipStockUp implements Serializable {
*/ */
private String updateBy; private String updateBy;
/** @TableField(exist = false)
* 物流公司 private List<OOrderShipListItem> items;
*/
private String shipLogisticsCompany;
/**
* 物流公司code
*/
private String shipLogisticsCompanyCode;
/**
* 物流单号
*/
private String shipLogisticsCode;
/**
* 发货状态1待发货2已发货3已推送
*/
private Integer shipStatus;
@TableField(exist = false) @TableField(exist = false)
private static final long serialVersionUID = 1L; 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 @Data
public class OShipStockUpItem implements Serializable { public class OOrderShipListItem implements Serializable {
/** /**
* *
*/ */
@ -26,6 +26,11 @@ public class OShipStockUpItem implements Serializable {
*/ */
private Long shopId; private Long shopId;
/**
* 外键id
*/
private Long listId;
/** /**
* 店铺类型 * 店铺类型
*/ */
@ -49,12 +54,12 @@ public class OShipStockUpItem implements Serializable {
/** /**
* erp订单id * erp订单id
*/ */
private Long saleOrderId; private Long orderId;
/** /**
* erp订单itemid * erp订单itemid
*/ */
private Long saleOrderItemId; private Long orderItemId;
/** /**
* 订单编号 * 订单编号

View File

@ -1,70 +1,106 @@
package cn.qihangerp.module.order.domain; 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.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; 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; import lombok.Data;
/** /**
* 发货记录表 * 发货-发货记录表
* @TableName o_order_shipping * @TableName o_shipment
*/ */
@TableName(value ="o_shipment")
@Data @Data
public class OShipment implements Serializable { public class OShipment implements Serializable {
/** /**
* *
*/ */
@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO)
private String id; private Long id;
/** /**
* 店铺id * 店铺id
*/ */
private Long shopId; 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 receiverName;
/**
* 收件人手机号
*/
private String receiverMobile; private String receiverMobile;
/**
*
*/
private String province; private String province;
/**
*
*/
private String city; private String city;
/**
*
*/
private String town; private String town;
/**
* 详细地址
*/
private String address; private String address;
/** /**
* 物流公司 * 物流公司
*/ */
private String logisticsCompany; private String logisticsCompany;
/**
* 物流公司编码
*/
private String logisticsCompanyCode; 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已完成 * 物流状态1运输中2已完成
*/ */
private Integer shippingStatus; private Integer shipmentStatus;
/** /**
* 包裹重量 * 包裹重量
@ -100,6 +136,10 @@ public class OShipment implements Serializable {
* 包裹内容JSON * 包裹内容JSON
*/ */
private String packages; private String packages;
/**
* 备注
*/
private String remark; private String remark;
/** /**
@ -122,5 +162,6 @@ public class OShipment implements Serializable {
*/ */
private Date updateBy; private Date updateBy;
@TableField(exist = false)
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }

View File

@ -1,15 +1,17 @@
package cn.qihangerp.module.order.domain; package cn.qihangerp.module.order.domain;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data; import lombok.Data;
/** /**
* OMS发货明细表 * 发货-发货记录明细表
* @TableName o_order_shipping_item * @TableName o_shipment_item
*/ */
@TableName(value ="o_shipment_item")
@Data @Data
public class OShipmentItem implements Serializable { public class OShipmentItem implements Serializable {
/** /**
@ -21,17 +23,17 @@ public class OShipmentItem implements Serializable {
/** /**
* 发货表id * 发货表id
*/ */
private String shippingId; private Long shipmentId;
/** /**
* o_order表id * o_order表id
*/ */
private String orderId; private Long orderId;
/** /**
* o_order_item表id * o_order_item表id
*/ */
private String orderItemId; private Long orderItemId;
/** /**
* 订单编号第三方平台 * 订单编号第三方平台
@ -43,5 +45,46 @@ public class OShipmentItem implements Serializable {
*/ */
private String subOrderNum; 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; 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; package cn.qihangerp.module.order.mapper;
import cn.qihangerp.module.order.domain.OShipmentItem; import cn.qihangerp.module.order.domain.OShipmentItem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/** /**
* @author TW * @author qilip
* @description 针对表o_order_shipping_item(OMS发货明细表)的数据库操作Mapper * @description 针对表o_shipment_item(发货-发货记录明细表)的数据库操作Mapper
* @createDate 2024-05-23 14:01:14 * @createDate 2025-05-24 16:21:35
* @Entity cn.qihangerp.oms.domain.OOrderShippingItem * @Entity cn.qihangerp.module.order.domain.OShipmentItem
*/ */
public interface OShipmentItemMapper extends BaseMapper<OShipmentItem> { public interface OShipmentItemMapper extends BaseMapper<OShipmentItem> {

View File

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

View File

@ -1,6 +1,7 @@
package cn.qihangerp.module.order.service; 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.OOrder;
import cn.qihangerp.module.order.domain.OOrderItem; import cn.qihangerp.module.order.domain.OOrderItem;
import cn.qihangerp.module.order.domain.vo.SalesDailyVo; import cn.qihangerp.module.order.domain.vo.SalesDailyVo;
@ -47,4 +48,11 @@ public interface OOrderService extends IService<OOrder> {
List<SalesDailyVo> salesDaily(); List<SalesDailyVo> salesDaily();
SalesDailyVo getTodaySalesDaily(); SalesDailyVo getTodaySalesDaily();
Integer getWaitShipOrderAllCount(); 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; package cn.qihangerp.module.order.service;
import cn.qihangerp.module.order.domain.OShipmentItem; import cn.qihangerp.module.order.domain.OShipmentItem;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
/** /**
* @author TW * @author qilip
* @description 针对表o_order_shipping_item(OMS发货明细表)的数据库操作Service * @description 针对表o_shipment_item(发货-发货记录明细表)的数据库操作Service
* @createDate 2024-05-23 14:01:14 * @createDate 2025-05-24 16:21:35
*/ */
public interface OShipmentItemService extends IService<OShipmentItem> { 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.PageQuery;
import cn.qihangerp.common.PageResult; 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.OShipment;
import cn.qihangerp.module.order.domain.bo.OrderShipBo;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
/** /**
* @author qilip * @author qilip
* @description 针对表o_order_shipping(发货记录表)的数据库操作Service * @description 针对表o_shipment(发货-发货记录表)的数据库操作Service
* @createDate 2024-03-31 11:16:00 * @createDate 2025-05-24 16:26:06
*/ */
public interface OShipmentService extends IService<OShipment> { public interface OShipmentService extends IService<OShipment> {
/**
* 发货记录
* @param shipping
* @param pageQuery
* @return
*/
PageResult<OShipment> queryPageList(OShipment shipping, PageQuery pageQuery); 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; 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.domain.OGoodsSku;
import cn.qihangerp.module.goods.mapper.OGoodsSkuMapper; import cn.qihangerp.module.goods.mapper.OGoodsSkuMapper;
import cn.qihangerp.module.order.domain.OOrder; import cn.qihangerp.module.mapper.OLogisticsCompanyMapper;
import cn.qihangerp.module.order.domain.OOrderItem; import cn.qihangerp.module.order.domain.*;
import cn.qihangerp.module.order.domain.OfflineOrder;
import cn.qihangerp.module.order.domain.OfflineOrderItem;
import cn.qihangerp.module.order.domain.vo.OrderDiscountVo; import cn.qihangerp.module.order.domain.vo.OrderDiscountVo;
import cn.qihangerp.module.order.domain.vo.SalesDailyVo; import cn.qihangerp.module.order.domain.vo.SalesDailyVo;
import cn.qihangerp.module.order.mapper.OOrderItemMapper; import cn.qihangerp.module.order.mapper.*;
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.service.OOrderService; import cn.qihangerp.module.order.service.OOrderService;
import cn.qihangerp.request.OrderSearchRequest; import cn.qihangerp.request.OrderSearchRequest;
import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONArray;
@ -31,7 +28,6 @@ import cn.qihangerp.common.utils.DateUtils;
import cn.qihangerp.common.utils.StringUtils; import cn.qihangerp.common.utils.StringUtils;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.java.Log;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -56,9 +52,15 @@ public class OOrderServiceImpl extends ServiceImpl<OOrderMapper, OOrder>
private final OOrderMapper orderMapper; private final OOrderMapper orderMapper;
private final OOrderItemMapper orderItemMapper; private final OOrderItemMapper orderItemMapper;
private final OLogisticsCompanyMapper logisticsCompanyMapper;
private final OGoodsSkuMapper oGoodsSkuMapper; 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 OfflineOrderMapper offlineOrderMapper;
private final OfflineOrderItemMapper offlineOrderItemMapper; private final OfflineOrderItemMapper offlineOrderItemMapper;
@ -1451,6 +1453,154 @@ public class OOrderServiceImpl extends ServiceImpl<OOrderMapper, OOrder>
return orderMapper.getWaitShipOrderAllCount(); 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,20 +1,19 @@
package cn.qihangerp.module.order.service.impl; 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 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; import org.springframework.stereotype.Service;
/** /**
* @author TW * @author qilip
* @description 针对表o_order_shipping_item(OMS发货明细表)的数据库操作Service实现 * @description 针对表o_shipment_item(发货-发货记录明细表)的数据库操作Service实现
* @createDate 2024-05-23 14:01:14 * @createDate 2025-05-24 16:21:35
*/ */
@Service @Service
public class OShipmentItemServiceImpl extends ServiceImpl<OShipmentItemMapper, OShipmentItem> public class OShipmentItemServiceImpl extends ServiceImpl<OShipmentItemMapper, OShipmentItem>
implements OShipmentItemService { implements OShipmentItemService{
} }

View File

@ -1,42 +1,24 @@
package cn.qihangerp.module.order.service.impl; package cn.qihangerp.module.order.service.impl;
import cn.qihangerp.module.order.domain.*; import cn.qihangerp.common.PageQuery;
import cn.qihangerp.module.order.domain.bo.OrderShipBo; import cn.qihangerp.common.PageResult;
import cn.qihangerp.module.order.mapper.*;
import cn.qihangerp.module.order.service.OShipmentService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.qihangerp.common.PageQuery; import cn.qihangerp.module.order.domain.OShipment;
import cn.qihangerp.common.PageResult; import cn.qihangerp.module.order.service.OShipmentService;
import cn.qihangerp.common.ResultVo; import cn.qihangerp.module.order.mapper.OShipmentMapper;
import cn.qihangerp.common.ResultVoEnum;
import cn.qihangerp.common.enums.EnumShopType;
import lombok.AllArgsConstructor;
import lombok.extern.java.Log;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/** /**
* @author qilip * @author qilip
* @description 针对表o_order_shipping(发货记录表)的数据库操作Service实现 * @description 针对表o_shipment(发货-发货记录表)的数据库操作Service实现
* @createDate 2024-03-31 11:16:00 * @createDate 2025-05-24 16:26:06
*/ */
@Log
@AllArgsConstructor
@Service @Service
public class OShipmentServiceImpl extends ServiceImpl<OShipmentMapper, OShipment> public class OShipmentServiceImpl extends ServiceImpl<OShipmentMapper, OShipment>
implements OShipmentService { implements OShipmentService{
private final OShipmentMapper mapper;
private final OShipmentItemMapper shippingItemMapper;
private final OOrderMapper orderMapper;
private final OOrderItemMapper itemMapper;
/** /**
* 查询发货记录 * 查询发货记录
* @param shipping * @param shipping
@ -47,182 +29,12 @@ public class OShipmentServiceImpl extends ServiceImpl<OShipmentMapper, OShipment
public PageResult<OShipment> queryPageList(OShipment shipping, PageQuery pageQuery) { public PageResult<OShipment> queryPageList(OShipment shipping, PageQuery pageQuery) {
LambdaQueryWrapper<OShipment> queryWrapper = new LambdaQueryWrapper<OShipment>() LambdaQueryWrapper<OShipment> queryWrapper = new LambdaQueryWrapper<OShipment>()
.likeRight(StringUtils.hasText(shipping.getOrderNums()), OShipment::getOrderNums, shipping.getOrderNums()) .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()); .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); 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"> <resultMap id="BaseResultMap" type="cn.qihangerp.module.order.domain.OOrderItem">
<id property="id" column="id" jdbcType="BIGINT"/> <id property="id" column="id" jdbcType="BIGINT"/>
<result property="orderId" column="order_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="subOrderNum" column="sub_order_num" jdbcType="VARCHAR"/>
<result property="skuId" column="sku_id" jdbcType="VARCHAR"/> <result property="skuId" column="sku_id" jdbcType="VARCHAR"/>
<result property="goodsId" column="goods_id" jdbcType="BIGINT"/> <result property="goodsId" column="goods_id" jdbcType="BIGINT"/>
@ -25,6 +27,8 @@
<result property="refundCount" column="refund_count" jdbcType="INTEGER"/> <result property="refundCount" column="refund_count" jdbcType="INTEGER"/>
<result property="refundStatus" column="refund_status" jdbcType="INTEGER"/> <result property="refundStatus" column="refund_status" jdbcType="INTEGER"/>
<result property="orderStatus" column="order_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="hasPushErp" column="has_push_erp" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/> <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
@ -33,7 +37,7 @@
</resultMap> </resultMap>
<sql id="Base_Column_List"> <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, sku_id,goods_id,goods_sku_id,
goods_title,goods_img,goods_num, goods_title,goods_img,goods_num,
goods_spec,sku_num,goods_price,discount_amount, goods_spec,sku_num,goods_price,discount_amount,

View File

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

View File

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

View File

@ -2,35 +2,34 @@
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "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"/> <id property="id" column="id" jdbcType="BIGINT"/>
<result property="shopId" column="shop_id" jdbcType="BIGINT"/> <result property="shopId" column="shop_id" jdbcType="BIGINT"/>
<result property="shopType" column="shop_type" jdbcType="INTEGER"/> <result property="shopType" column="shop_type" jdbcType="INTEGER"/>
<result property="shipper" column="shipper" jdbcType="INTEGER"/> <result property="shipper" column="shipper" jdbcType="INTEGER"/>
<result property="shipSupplierId" column="ship_supplier_id" jdbcType="BIGINT"/> <result property="shipSupplierId" column="ship_supplier_id" jdbcType="BIGINT"/>
<result property="shipSupplier" column="ship_supplier" jdbcType="VARCHAR"/> <result property="shipSupplier" column="ship_supplier" jdbcType="VARCHAR"/>
<result property="saleOrderId" column="sale_order_id" jdbcType="BIGINT"/> <result property="orderId" column="order_id" jdbcType="BIGINT"/>
<result property="saleOrderItemId" column="sale_order_item_id" jdbcType="BIGINT"/>
<result property="orderNum" column="order_num" jdbcType="VARCHAR"/> <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="status" column="status" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/> <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/> <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> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id,shop_id,shop_type, id,shop_id,shop_type,
shipper,ship_supplier_id,ship_supplier, 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, status,create_time,create_by,
update_time,update_by,ship_logistics_company, update_time,update_by
ship_logistics_company_code,ship_logistics_code,ship_status
</sql> </sql>
</mapper> </mapper>

View File

@ -6,15 +6,26 @@
<resultMap id="BaseResultMap" type="cn.qihangerp.module.order.domain.OShipmentItem"> <resultMap id="BaseResultMap" type="cn.qihangerp.module.order.domain.OShipmentItem">
<id property="id" column="id" jdbcType="BIGINT"/> <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="orderId" column="order_id" jdbcType="BIGINT"/>
<result property="orderItemId" column="order_item_id" jdbcType="BIGINT"/> <result property="orderItemId" column="order_item_id" jdbcType="BIGINT"/>
<result property="orderNum" column="order_num" jdbcType="VARCHAR"/> <result property="orderNum" column="order_num" jdbcType="VARCHAR"/>
<result property="subOrderNum" column="sub_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> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id,shipping_id,order_id, id,shipment_id,order_id,
order_item_id,order_num,sub_order_num order_item_id,order_num,sub_order_num,
goods_id,sku_id,goods_title,
goods_img,goods_num,sku_name,
sku_num,quantity
</sql> </sql>
</mapper> </mapper>

View File

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

View File

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

View File

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