@Wahson
2017-04-24T03:35:10.000000Z
字数 2413
阅读 1112
工作
接口实现:
order-deliveries
以下逻辑原有接口上进行添加,case OwningType.PURCHASE => {//采购发货单逻辑}
1. 创建发货单前置条件: 1. 无 逻辑处理: 1. 插入发货单 2. fire DeliveryEvent eventType=Created
2. 编辑发货单
前置条件: 1. 无 逻辑处理: 1. 更新发货单 2. fire DeliveryEvent eventType=Updated
3. 确认发货
前置条件: 1. 发货单状态 == 待发货 逻辑处理: 1. 更新发货单状态 = 已发货 2. if(发货单发货方 == 供应商) 释放供应商预付款额度=发货单的数量*采购价
4. 确认收货
前置条件: 1. 发货单状态 == 已发货 2. delivery_type == 转货权 || 供应商配送 逻辑处理: 1. 更新发货单状态 = 已收签收单 2. if(发货单发货方 == 供应商) 释放供应商预付款额度=发货单的数量*采购价 3. fire DeliveryEvent eventType=ConfirmSigned
5. 撤销签收
前置条件: 1. 发货单状态 == 已收签收单 逻辑处理: 1. 更新发货单状态 = 已发货 2. if(发货单发货方==供应商) 占用供应商预付款额度=发货单的数量*采购价 3. fire DeliveryEvent eventType=RevokeConfirmSigned
6. 创建物流预约单
前置条件: 1. 无 逻辑处理: 1. 插入发货单 2. fire DeliveryEvent eventType=Created
7. 编辑物流预约单
前置条件: 1. 无 逻辑处理: 1. 更新发货单 2. fire DeliveryEvent eventType=Updated
8. 物流预约单确认提货(逻辑同快塑配送)
9. 物流预约单确认签收(逻辑同快塑配送)
order
订单域更改点:
1. "Created" 事件处理1. 更新订单物流费用 =(原来有运费、装卸费、仓储费、报关费、杂费) + 货权转移费用 2. 调用结算接口修改物流费用
2. "Updated" 事件处理(处理逻辑同
Created事件处理
)
purchase-order
(新增模块,采购订单域)
1. "Created" 事件处理1. 更新采购子单未发货数量 2. 更新订单物流费用 =(原来有运费、装卸费、仓储费、报关费、杂费) + 货权转移费用 2. 调用结算接口修改物流费用
2. "Updated" 事件处理(处理逻辑同
Created事件处理
)
order-stock2
1. "Created" 事件处理
2. "Updated" 事件处理
3. "ConfirmSigned" 事件处理
4. "RevokeConfirmSigned" 事件处理
5. 根据销售订单号查询库存逻辑处理: 1. 查询条件 orderId and 物流状态!= 运输中 2. groupBy(采购子单id)
6. 根据采购订单号查询库存
逻辑处理: 1. 查询条件 purchaseOrderId and 物流状态 != 运输中 and 货权实际控制方 == 供应商 2. groupBy(采购子单id)
数据模型变更:
-- 添加存库字段用于保存采购物流单的目的地仓库
ALTER TABLE orderdb.order_deliveries ADD dest_warehouse_id INT(11) NULL COMMENT 'destination warehourse id 收货仓库id';
ALTER TABLE orderdb.order_deliveries ADD dest_warehouse_address VARCHAR(200) NULL COMMENT 'destination warehouse address 收货仓库地址';
ALTER TABLE orderdb.order_deliveries ADD dest_warehouse_area_code VARCHAR(9) NULL COMMENT 'destination warehourse area code 收货仓库编码';
-- 添加货权转移费用
ALTER TABLE orderdb.order_deliveries
ADD COLUMN ownership_transfer_expenses decimal(13,2) null COMMENT '货权转移费用';
ALTER TABLE orderdb.purchase_order_fees
ADD COLUMN ownership_transfer_expenses decimal(13,2) null COMMENT '货权转移费用';
ALTER TABLE orderdb.order_fees
ADD COLUMN ownership_transfer_expenses decimal(13,2) null COMMENT '货权转移费用';
-- delivery_type 改为 交割方式,加入 快塑自提
ALTER TABLE orderdb.order_deliveries MODIFY delivery_type SMALLINT(1) NOT NULL COMMENT '交割方式,1:客户自提(pickBySelf),2:供应商配送(supplierDelivery),3:快塑配送(kuaisuDelivery),4:快塑自提(pickByKuaisu), 5 : 转货权(transferOfOwnership)';
-- 采购子单未发货数量
ALTER TABLE orderdb.purchase_order_item
ADD COLUMN delivery_weight_left DECIMAL(13,3) NOT NULL COMMENT '未发货数量';
不变量关系
- 采购子单未发货数量 + 发货单已发货单数量 == 采购子单数量
- 销售订单的配送方式==自提 时,发货单的交割方式==自提/转货权
- 销售订单的配送方式==供应商配送 时,发货单的交割方式=供应商配送
- 销售订单的配送方式==快塑配送 时,发货单的交割方式==快塑配送
- 采购订单的配送方式==需方自提 时,发货单的交割方式==快塑自提/转货权