diff --git a/docs/qihang-erp.sql b/docs/qihang-erp.sql index 916a2001..65710466 100644 --- a/docs/qihang-erp.sql +++ b/docs/qihang-erp.sql @@ -11,7 +11,7 @@ Target Server Version : 80043 (8.0.43) File Encoding : 65001 - Date: 07/10/2025 16:12:55 + Date: 07/10/2025 17:25:46 */ SET NAMES utf8mb4; @@ -1120,14 +1120,23 @@ CREATE TABLE `o_shipment` ( `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `update_time` datetime NULL DEFAULT NULL, `update_by` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `receiver_name` varchar(100) 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 '收件人手机号', + `address` 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 '省', + `city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '市', + `town` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '区', PRIMARY KEY (`id`) USING BTREE, INDEX `order_id_index`(`order_id` ASC) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '发货记录表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '发货记录表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of o_shipment -- ---------------------------- -INSERT INTO `o_shipment` VALUES (1, 1007, 400, 74, '6921377343921159820', '2025-10-06 10:16:50', 0, 0, NULL, 1, '极兔速递', 'JTSD', 'AAAAA', 0.00, '2025-10-06 20:29:47', NULL, 1, 0, 0, 0, 0, NULL, NULL, NULL, NULL, '2025-10-06 20:29:50', 'admin', NULL, NULL); +INSERT INTO `o_shipment` VALUES (1, 1007, 400, 74, '6921377343921159820', '2025-10-06 10:16:50', 0, 0, NULL, 1, '极兔速递', 'JTSD', 'AAAAA', 0.00, '2025-10-06 20:29:47', NULL, 1, 0, 0, 0, 0, NULL, NULL, NULL, NULL, '2025-10-06 20:29:50', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `o_shipment` VALUES (2, 1007, 2, 0, 'aaa', NULL, 0, 0, NULL, 2, '极兔速递', 'JTSD', 'aa', 0.00, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2025-10-07 17:23:55', '手动添加发货记录', NULL, NULL, 'a', 'a', 'a', NULL, NULL, NULL); +INSERT INTO `o_shipment` VALUES (3, 1007, 2, 0, 'aaa', NULL, 0, 0, NULL, 2, '极兔速递', 'JTSD', 'aa', 0.00, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2025-10-07 17:24:27', '手动添加发货记录', NULL, NULL, 'a', 'a', 'a', NULL, NULL, NULL); +INSERT INTO `o_shipment` VALUES (4, 1007, 1, 0, 'aa', NULL, 0, 0, NULL, 1, '极兔速递', 'JTSD', 'aa', 0.00, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2025-10-07 17:25:06', '手动添加发货记录', NULL, NULL, 'd', 'd', 'a', NULL, NULL, NULL); -- ---------------------------- -- Table structure for o_shipment_item @@ -1205,7 +1214,7 @@ CREATE TABLE `o_shop` ( -- ---------------------------- -- Records of o_shop -- ---------------------------- -INSERT INTO `o_shop` VALUES (1007, '抖店测试', 400, NULL, 9, 1, NULL, '4463798', NULL, NULL, 'c3tzx2q5p41h7zl69zjws9900002noae-11', NULL, NULL, '070t45roa51h7zl69zjws9900002noae-12', NULL, NULL, NULL, NULL, NULL, 0, 1759307372, 1759307261); +INSERT INTO `o_shop` VALUES (1007, '抖店测试', 400, NULL, 9, 1, NULL, '4463798', NULL, NULL, '', NULL, NULL, '070t45roa51h7zl69zjws9900002noae-12', NULL, NULL, NULL, NULL, NULL, 0, 1759307372, 1759307261); INSERT INTO `o_shop` VALUES (1010, '淘宝测试店铺', 100, NULL, 9, 1, NULL, '0', NULL, NULL, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 1759365108, 1759365108); INSERT INTO `o_shop` VALUES (1011, '爱顾家的小店', 300, NULL, 9, 1, NULL, '0', NULL, NULL, '223c18d1d3c4445a979af58d7c034127e68e9a9a', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 1759371874, 1759371874); INSERT INTO `o_shop` VALUES (1012, '微信小店测试', 500, NULL, 9, 1, NULL, '0', 'wx82dd65f284dd6ee3', 'a6054ccf2694e8dc51d2616e634cad39', '96_KI-x2ByMfcE_X37Orem1O7qW03jVdUdiQU8QtGbZWjWS1LqOn9lXaxArEhlnCAL-AFNhia6IGIN1gHyvCa2gkMK_KcofMs7AnKGqj_ssy3L6vKP9vVklqvNBIUgEGDgAGANPM', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 1759373401, 1759373401); @@ -3430,43 +3439,6 @@ CREATE TABLE `sys_role` ( INSERT INTO `sys_role` VALUES (1, '超级管理员', 'admin', 1, '1', 1, 1, '0', '0', 'admin', '2023-08-07 19:31:37', '', NULL, '超级管理员'); INSERT INTO `sys_role` VALUES (2, '普通角色', 'common', 2, '2', 1, 1, '0', '0', 'admin', '2023-08-07 19:31:37', 'admin', '2025-09-08 19:14:34', '普通角色'); --- ---------------------------- --- Table structure for sys_role1 --- ---------------------------- -DROP TABLE IF EXISTS `sys_role1`; -CREATE TABLE `sys_role1` ( - `id` bigint NOT NULL AUTO_INCREMENT, - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '角色名称', - `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '角色编码', - `sort` int NULL DEFAULT NULL COMMENT '显示顺序', - `status` tinyint(1) NULL DEFAULT 1 COMMENT '角色状态(1-正常 0-停用)', - `data_scope` tinyint NULL DEFAULT NULL COMMENT '数据权限(1-所有数据 2-部门及子部门数据 3-本部门数据 4-本人数据)', - `create_by` bigint NULL DEFAULT NULL COMMENT '创建人 ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_by` bigint NULL DEFAULT NULL COMMENT '更新人ID', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '逻辑删除标识(0-未删除 1-已删除)', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uk_name`(`name` ASC) USING BTREE COMMENT '角色名称唯一索引', - UNIQUE INDEX `uk_code`(`code` ASC) USING BTREE COMMENT '角色编码唯一索引' -) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '角色表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of sys_role1 --- ---------------------------- -INSERT INTO `sys_role1` VALUES (1, '超级管理员', 'ROOT', 1, 1, 1, NULL, '2025-09-11 09:01:57', NULL, '2025-09-11 09:01:57', 0); -INSERT INTO `sys_role1` VALUES (2, '系统管理员', 'ADMIN', 2, 1, 1, NULL, '2025-09-11 09:01:57', NULL, NULL, 0); -INSERT INTO `sys_role1` VALUES (3, '访问游客', 'GUEST', 3, 1, 3, NULL, '2025-09-11 09:01:57', NULL, '2025-09-11 09:01:57', 0); -INSERT INTO `sys_role1` VALUES (4, '系统管理员1', 'ADMIN1', 4, 1, 1, NULL, '2025-09-11 09:01:57', NULL, NULL, 0); -INSERT INTO `sys_role1` VALUES (5, '系统管理员2', 'ADMIN2', 5, 1, 1, NULL, '2025-09-11 09:01:57', NULL, NULL, 0); -INSERT INTO `sys_role1` VALUES (6, '系统管理员3', 'ADMIN3', 6, 1, 1, NULL, '2025-09-11 09:01:57', NULL, NULL, 0); -INSERT INTO `sys_role1` VALUES (7, '系统管理员4', 'ADMIN4', 7, 1, 1, NULL, '2025-09-11 09:01:57', NULL, NULL, 0); -INSERT INTO `sys_role1` VALUES (8, '系统管理员5', 'ADMIN5', 8, 1, 1, NULL, '2025-09-11 09:01:58', NULL, NULL, 0); -INSERT INTO `sys_role1` VALUES (9, '系统管理员6', 'ADMIN6', 9, 1, 1, NULL, '2025-09-11 09:01:58', NULL, NULL, 0); -INSERT INTO `sys_role1` VALUES (10, '系统管理员7', 'ADMIN7', 10, 1, 1, NULL, '2025-09-11 09:01:58', NULL, NULL, 0); -INSERT INTO `sys_role1` VALUES (11, '系统管理员8', 'ADMIN8', 11, 1, 1, NULL, '2025-09-11 09:01:58', NULL, NULL, 0); -INSERT INTO `sys_role1` VALUES (12, '系统管理员9', 'ADMIN9', 12, 1, 1, NULL, '2025-09-11 09:01:58', NULL, NULL, 0); - -- ---------------------------- -- Table structure for sys_role_menu -- ---------------------------- @@ -3521,103 +3493,6 @@ INSERT INTO `sys_role_menu` VALUES (2, 2117); INSERT INTO `sys_role_menu` VALUES (2, 2118); INSERT INTO `sys_role_menu` VALUES (2, 2129); --- ---------------------------- --- Table structure for sys_role_menu1 --- ---------------------------- -DROP TABLE IF EXISTS `sys_role_menu1`; -CREATE TABLE `sys_role_menu1` ( - `role_id` bigint NOT NULL COMMENT '角色ID', - `menu_id` bigint NOT NULL COMMENT '菜单ID', - UNIQUE INDEX `uk_roleid_menuid`(`role_id` ASC, `menu_id` ASC) USING BTREE COMMENT '角色菜单唯一索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of sys_role_menu1 --- ---------------------------- -INSERT INTO `sys_role_menu1` VALUES (2, 1); -INSERT INTO `sys_role_menu1` VALUES (2, 2); -INSERT INTO `sys_role_menu1` VALUES (2, 3); -INSERT INTO `sys_role_menu1` VALUES (2, 4); -INSERT INTO `sys_role_menu1` VALUES (2, 5); -INSERT INTO `sys_role_menu1` VALUES (2, 6); -INSERT INTO `sys_role_menu1` VALUES (2, 20); -INSERT INTO `sys_role_menu1` VALUES (2, 21); -INSERT INTO `sys_role_menu1` VALUES (2, 22); -INSERT INTO `sys_role_menu1` VALUES (2, 23); -INSERT INTO `sys_role_menu1` VALUES (2, 24); -INSERT INTO `sys_role_menu1` VALUES (2, 26); -INSERT INTO `sys_role_menu1` VALUES (2, 30); -INSERT INTO `sys_role_menu1` VALUES (2, 31); -INSERT INTO `sys_role_menu1` VALUES (2, 32); -INSERT INTO `sys_role_menu1` VALUES (2, 33); -INSERT INTO `sys_role_menu1` VALUES (2, 36); -INSERT INTO `sys_role_menu1` VALUES (2, 37); -INSERT INTO `sys_role_menu1` VALUES (2, 38); -INSERT INTO `sys_role_menu1` VALUES (2, 39); -INSERT INTO `sys_role_menu1` VALUES (2, 40); -INSERT INTO `sys_role_menu1` VALUES (2, 41); -INSERT INTO `sys_role_menu1` VALUES (2, 70); -INSERT INTO `sys_role_menu1` VALUES (2, 71); -INSERT INTO `sys_role_menu1` VALUES (2, 72); -INSERT INTO `sys_role_menu1` VALUES (2, 73); -INSERT INTO `sys_role_menu1` VALUES (2, 74); -INSERT INTO `sys_role_menu1` VALUES (2, 75); -INSERT INTO `sys_role_menu1` VALUES (2, 76); -INSERT INTO `sys_role_menu1` VALUES (2, 77); -INSERT INTO `sys_role_menu1` VALUES (2, 78); -INSERT INTO `sys_role_menu1` VALUES (2, 79); -INSERT INTO `sys_role_menu1` VALUES (2, 81); -INSERT INTO `sys_role_menu1` VALUES (2, 84); -INSERT INTO `sys_role_menu1` VALUES (2, 88); -INSERT INTO `sys_role_menu1` VALUES (2, 89); -INSERT INTO `sys_role_menu1` VALUES (2, 90); -INSERT INTO `sys_role_menu1` VALUES (2, 95); -INSERT INTO `sys_role_menu1` VALUES (2, 97); -INSERT INTO `sys_role_menu1` VALUES (2, 102); -INSERT INTO `sys_role_menu1` VALUES (2, 105); -INSERT INTO `sys_role_menu1` VALUES (2, 106); -INSERT INTO `sys_role_menu1` VALUES (2, 107); -INSERT INTO `sys_role_menu1` VALUES (2, 108); -INSERT INTO `sys_role_menu1` VALUES (2, 109); -INSERT INTO `sys_role_menu1` VALUES (2, 110); -INSERT INTO `sys_role_menu1` VALUES (2, 111); -INSERT INTO `sys_role_menu1` VALUES (2, 112); -INSERT INTO `sys_role_menu1` VALUES (2, 117); -INSERT INTO `sys_role_menu1` VALUES (2, 118); -INSERT INTO `sys_role_menu1` VALUES (2, 119); -INSERT INTO `sys_role_menu1` VALUES (2, 120); -INSERT INTO `sys_role_menu1` VALUES (2, 121); -INSERT INTO `sys_role_menu1` VALUES (2, 122); -INSERT INTO `sys_role_menu1` VALUES (2, 123); -INSERT INTO `sys_role_menu1` VALUES (2, 124); -INSERT INTO `sys_role_menu1` VALUES (2, 125); -INSERT INTO `sys_role_menu1` VALUES (2, 126); -INSERT INTO `sys_role_menu1` VALUES (2, 127); -INSERT INTO `sys_role_menu1` VALUES (2, 128); -INSERT INTO `sys_role_menu1` VALUES (2, 129); -INSERT INTO `sys_role_menu1` VALUES (2, 130); -INSERT INTO `sys_role_menu1` VALUES (2, 133); -INSERT INTO `sys_role_menu1` VALUES (2, 134); -INSERT INTO `sys_role_menu1` VALUES (2, 135); -INSERT INTO `sys_role_menu1` VALUES (2, 136); -INSERT INTO `sys_role_menu1` VALUES (2, 137); -INSERT INTO `sys_role_menu1` VALUES (2, 138); -INSERT INTO `sys_role_menu1` VALUES (2, 139); -INSERT INTO `sys_role_menu1` VALUES (2, 140); -INSERT INTO `sys_role_menu1` VALUES (2, 141); -INSERT INTO `sys_role_menu1` VALUES (2, 142); -INSERT INTO `sys_role_menu1` VALUES (2, 143); -INSERT INTO `sys_role_menu1` VALUES (2, 144); -INSERT INTO `sys_role_menu1` VALUES (2, 145); -INSERT INTO `sys_role_menu1` VALUES (2, 146); -INSERT INTO `sys_role_menu1` VALUES (2, 147); -INSERT INTO `sys_role_menu1` VALUES (2, 148); -INSERT INTO `sys_role_menu1` VALUES (2, 149); -INSERT INTO `sys_role_menu1` VALUES (2, 150); -INSERT INTO `sys_role_menu1` VALUES (2, 151); -INSERT INTO `sys_role_menu1` VALUES (2, 152); -INSERT INTO `sys_role_menu1` VALUES (2, 153); - -- ---------------------------- -- Table structure for sys_task -- ---------------------------- diff --git a/microservices/order-api/src/main/java/cn/qihangerp/api/order/controller/ShipmentController.java b/microservices/order-api/src/main/java/cn/qihangerp/api/order/controller/ShipmentController.java index 99355cfa..8ee31350 100644 --- a/microservices/order-api/src/main/java/cn/qihangerp/api/order/controller/ShipmentController.java +++ b/microservices/order-api/src/main/java/cn/qihangerp/api/order/controller/ShipmentController.java @@ -1,13 +1,17 @@ package cn.qihangerp.api.order.controller; +import cn.qihangerp.common.AjaxResult; import cn.qihangerp.common.PageQuery; +import cn.qihangerp.common.ResultVoEnum; import cn.qihangerp.common.TableDataInfo; import cn.qihangerp.module.order.domain.OShipment; +import cn.qihangerp.module.order.domain.bo.OrderShipBo; import cn.qihangerp.module.order.service.OOrderService; import cn.qihangerp.module.order.service.ErpShipmentService; import cn.qihangerp.security.common.BaseController; import lombok.AllArgsConstructor; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; @AllArgsConstructor @@ -36,30 +40,35 @@ public class ShipmentController extends BaseController { return getDataTable(orderService.searchOrderItemByReceiverMobile(receiverMobile)); } -// /** -// * 订单发货 -// * @param shipping -// * @return -// */ -// @PostMapping("/handShip") -// public AjaxResult orderHandShip(@RequestHeader("Authorization") String authorization,@RequestBody OrderShipBo shipping) -// { + /** + * 手动添加发货记录 + * @param shipping + * @return + */ + @PostMapping("/handShip") +// public AjaxResult orderHandShip(@RequestHeader("Authorization") String authorization, @RequestBody OrderShipBo shipping) + public AjaxResult orderHandShip( @RequestBody OrderShipBo shipping) + { + if(shipping.getShipType()==null) return AjaxResult.error("缺少参数:shipType"); + if(shipping.getShopId()==null) return AjaxResult.error("缺少参数:shopId"); + if(StringUtils.isEmpty(shipping.getOrderNum())) return AjaxResult.error("缺少参数:orderNum"); + if(StringUtils.isEmpty(shipping.getReceiverName())) return AjaxResult.error("缺少参数:receiverName"); + if(StringUtils.isEmpty(shipping.getReceiverMobile())) return AjaxResult.error("缺少参数:receiverMobile"); + if(StringUtils.isEmpty(shipping.getAddress())) return AjaxResult.error("缺少参数:address"); + + var result = shippingService.addRecord(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()); // -// var result = shippingService.handOrderShip(shipping); -//// if(result.getCode() == ResultVoEnum.SUCCESS.getIndex()) { -//// // 发货 -//// TaoOrderShipBo bo = new TaoOrderShipBo(); -//// bo.setShopId(shipping.getShopId()); -////// bo.setTid(shipping.getOrderId()); -//// bo.setWaybillCode(shipping.getShipCode()); -//// bo.setWaybillCompany(shipping.getShipCompany()); -//// -//// JSONObject jsonObject = taoApiService.orderShip(authorization, bo); -//// return AjaxResult.success(); -//// }else{ -//// return AjaxResult.error(result.getCode(),result.getMsg()); -//// } -// -// return AjaxResult.success(); -// } +// JSONObject jsonObject = taoApiService.orderShip(authorization, bo); + return AjaxResult.success(); + } else{ + return AjaxResult.error(result.getCode(),result.getMsg()); + } + } } diff --git a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/OShipment.java b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/OShipment.java index aea708fa..385f7433 100644 --- a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/OShipment.java +++ b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/OShipment.java @@ -99,6 +99,36 @@ public class OShipment implements Serializable { */ private String shipOperator; + /** + * 收件人姓名 + */ + private String receiverName; + + /** + * 收件人手机号 + */ + private String receiverMobile; + + /** + * 收件人地址 + */ + private String address; + + /** + * 省 + */ + private String province; + + /** + * 市 + */ + private String city; + + /** + * 区 + */ + private String town; + /** * 物流状态(0 待发货1已发货2已完成) */ diff --git a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/bo/OrderShipBo.java b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/bo/OrderShipBo.java index eff3b5f4..8e44af21 100644 --- a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/bo/OrderShipBo.java +++ b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/bo/OrderShipBo.java @@ -4,7 +4,9 @@ import lombok.Data; @Data public class OrderShipBo { + private Integer shipType; private Long shopId; + private String orderNum; private String shipCompany; private String shipCode; private String receiverName; @@ -13,6 +15,7 @@ public class OrderShipBo { private String city; private String town; private String address; + private String shipOperator; private String[] itemIds; } diff --git a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/ErpShipmentService.java b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/ErpShipmentService.java index ddc8491b..9c1b8b6a 100644 --- a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/ErpShipmentService.java +++ b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/ErpShipmentService.java @@ -2,7 +2,9 @@ package cn.qihangerp.module.order.service; import cn.qihangerp.common.PageQuery; import cn.qihangerp.common.PageResult; +import cn.qihangerp.common.ResultVo; import cn.qihangerp.module.order.domain.OShipment; +import cn.qihangerp.module.order.domain.bo.OrderShipBo; import com.baomidou.mybatisplus.extension.service.IService; /** @@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService; public interface ErpShipmentService extends IService { PageResult queryPageList(OShipment shipping, PageQuery pageQuery); OShipment queryDetailById(Long id); + ResultVo addRecord(OrderShipBo shipping); } diff --git a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/ErpShipmentServiceImpl.java b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/ErpShipmentServiceImpl.java index e78b753b..2b9a589e 100644 --- a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/ErpShipmentServiceImpl.java +++ b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/ErpShipmentServiceImpl.java @@ -2,8 +2,14 @@ package cn.qihangerp.module.order.service.impl; import cn.qihangerp.common.PageQuery; import cn.qihangerp.common.PageResult; +import cn.qihangerp.common.ResultVo; +import cn.qihangerp.model.entity.OLogisticsCompany; +import cn.qihangerp.model.entity.OShop; +import cn.qihangerp.module.mapper.OLogisticsCompanyMapper; +import cn.qihangerp.module.mapper.OShopMapper; import cn.qihangerp.module.order.domain.OShipment; import cn.qihangerp.module.order.domain.OShipmentItem; +import cn.qihangerp.module.order.domain.bo.OrderShipBo; import cn.qihangerp.module.order.mapper.OShipmentItemMapper; import cn.qihangerp.module.order.mapper.OShipmentMapper; import cn.qihangerp.module.order.service.ErpShipmentService; @@ -14,6 +20,9 @@ import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; +import java.math.BigDecimal; +import java.util.Date; + /** * @author qilip * @description 针对表【erp_shipment(发货记录表)】的数据库操作Service实现 @@ -24,10 +33,13 @@ import org.springframework.util.StringUtils; public class ErpShipmentServiceImpl extends ServiceImpl implements ErpShipmentService{ private final OShipmentItemMapper shipmentItemMapper; + private final OLogisticsCompanyMapper logisticsCompanyMapper; + private final OShopMapper shopMapper; @Override public PageResult queryPageList(OShipment shipping, PageQuery pageQuery) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() .eq(shipping.getShipper()!=null, OShipment::getShipper,shipping.getShipper()) + .eq(shipping.getShipType()!=null, OShipment::getShipType,shipping.getShipType()) .eq(StringUtils.hasText(shipping.getOrderNum()), OShipment::getOrderNum, shipping.getOrderNum()) .eq(StringUtils.hasText(shipping.getShipCode()), OShipment::getShipCode, shipping.getShipCode()) .eq(shipping.getShopId() != null, OShipment::getShopId, shipping.getShopId()); @@ -50,6 +62,43 @@ public class ErpShipmentServiceImpl extends ServiceImpl addRecord(OrderShipBo shipping) { + OLogisticsCompany oLogisticsCompany = logisticsCompanyMapper.selectById(shipping.getShipCompany()); + if(oLogisticsCompany==null){ + return ResultVo.error("快递公司不存在"); + } + OShop oShop = shopMapper.selectById(shipping.getShopId()); + if(oShop==null){ + return ResultVo.error("店铺不存在"); + } + + OShipment shipment = new OShipment(); + shipment.setShipType(shipping.getShipType()); + shipment.setShopId(shipping.getShopId()); + shipment.setShopType(shipping.getShipType()); + shipment.setShipCode(shipping.getShipCode()); + shipment.setShipCompanyCode(oLogisticsCompany.getCode()); + shipment.setShipCompany(oLogisticsCompany.getName()); + shipment.setReceiverName(shipping.getReceiverName()); + shipment.setReceiverMobile(shipping.getReceiverMobile()); + shipment.setProvince(shipping.getProvince()); + shipment.setCity(shipping.getCity()); + shipment.setTown(shipping.getTown()); + shipment.setAddress(shipping.getAddress()); + shipment.setOrderNum(shipping.getOrderNum()); + shipment.setShipOperator(shipping.getShipOperator()); + shipment.setOrderId(0L); + shipment.setShipper(0); + shipment.setSupplierId(0L); + shipment.setShipFee(BigDecimal.ZERO); + shipment.setShipStatus(1); + shipment.setCreateBy("手动添加发货记录"); + shipment.setCreateTime(new Date()); + this.baseMapper.insert(shipment); + return ResultVo.success(shipment.getId()); + } } diff --git a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderServiceImpl.java b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderServiceImpl.java index 6f6e1be2..8ffd5308 100644 --- a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderServiceImpl.java +++ b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderServiceImpl.java @@ -527,7 +527,12 @@ public class OOrderServiceImpl extends ServiceImpl oShipment.setShipTime(new Date()); oShipment.setShipOperator(shipBo.getShippingMan()); oShipment.setShipStatus(1);//物流状态(0 待发货1已发货2已完成) - + oShipment.setReceiverName(erpOrder.getReceiverName()); + oShipment.setReceiverMobile(erpOrder.getReceiverMobile()); + oShipment.setProvince(erpOrder.getProvince()); + oShipment.setCity(erpOrder.getCity()); + oShipment.setTown(erpOrder.getTown()); + oShipment.setAddress(erpOrder.getAddress()); oShipment.setPackageHeight(shipBo.getHeight()); oShipment.setPackageWeight(shipBo.getWeight()); oShipment.setPackageLength(shipBo.getLength()); diff --git a/serviceImpl/order/src/main/resources/mapper/OShipmentMapper.xml b/serviceImpl/order/src/main/resources/mapper/OShipmentMapper.xml index 3ae240b2..c7687081 100644 --- a/serviceImpl/order/src/main/resources/mapper/OShipmentMapper.xml +++ b/serviceImpl/order/src/main/resources/mapper/OShipmentMapper.xml @@ -34,6 +34,12 @@ + + + + + + @@ -46,6 +52,6 @@ package_length,package_width,package_height, packsge_operator,packsge_time,packages, remark,create_time,create_by, - update_time,update_by + update_time,update_by,address,province,city,town,receiver_name,receiver_mobile diff --git a/vue/src/api/shipping/record.js b/vue/src/api/shipping/record.js new file mode 100644 index 00000000..910fdbfd --- /dev/null +++ b/vue/src/api/shipping/record.js @@ -0,0 +1,21 @@ +import request from '@/utils/request' + +// 查询 +export function listShipping(query) { + return request({ + url: '/api/oms-api/shipping/list', + method: 'get', + params: query + }) +} + + +// 新增 +export function handShip(data) { + return request({ + url: '/api/oms-api/shipping/handShip', + method: 'post', + data: data + }) +} + diff --git a/vue/src/views/shipping/record/index.vue b/vue/src/views/shipping/record/index.vue index f3b5db47..a2b3ffa1 100644 --- a/vue/src/views/shipping/record/index.vue +++ b/vue/src/views/shipping/record/index.vue @@ -1,7 +1,7 @@