@Wahson
2019-04-10T02:32:36.000000Z
字数 2088
阅读 647
Wanbo
insert into order_items
update orders set 金额,数量
不变量:
1. 主单已存在
2. 主单总金额 = sum(子单总金额)
3. 主单总数量 = sum(子单总数量)
insert into orders
call(新建销售子单)
insert into order_items
update orders set 金额,数量
insert into purchases
call(新建采购子单)
update order_items set status = 取消
if( forall order_items.status == 取消 )
call(取消销售单)
update orders set status = 取消
update purchase_items set status = 取消
if ( forall purchase_items.status == 取消 )
call(取消采购单)
update purchases set status = 取消
update orders set status = 待审核
update purchase_items set order_item_id = ${orderItemId}
update order_items set purchase_item_id = ${purchaseItemId}
update purchase_items set order_item_id = null
update order_items set purchase_item_id = null
insert into deliveries
insert into delivery_items
insert into purchase_contracts
insert into order_contracts
update orders set status = 审批通过/新单
update purchases set status = 审批通过/新单
update purchase_items set status = 采购已确认
update orders set status = 已发货
update orders set status = 已付款
update orders set status = 已签收
1. 新建采购订单,多个商品时需要根据供应商进行拆单
2. 新建采购子单
3. 新建销售订单
4. 新建销售子单
5. 销售子单绑定采购子单
3. 新建销售订单
4. 新建销售子单
5. 销售子单绑定采购子单
1. 新建物流单(主单、子单)
1. 新建采购合同
1. 更新销售合同
1. 新建采购合同
2. 更新对应销售子单状态为采购已确认
更新销售合同
1. 更新销售订单为待审核
前置: 销售合同已录入待审批,销售合同已录入待审批,物流预约单已录入
1. 审核销售合同
2. 审核采购合同
3.
// 审核不通过
1. 取消销售子单
2. 取消销售单
3. 取消采购子单
4. 取消采购单
1. 流水关联销售订单
2. 主单.status = if(子单.forall(已收款)) 部分收款 else 已收款
3. if(子单.forall(已发货))
1. 更新销售单状态为已发货
1. 更新销售单状态为已签收
- 付款单位:
currency
enum('USD','CNY') DEFAULT ‘CNY’,设计的意图?主单和子单都有相同的字段,如何维护,
A: 只保留主单字段,暂时默认为CNY- 是否期货,同一个订单下不允许同时存在期货和现货吧?
A:为简化处理,同一单要么到时期货,要么都是现货。- 合同综合价,包含了物流费。在做物流委托书时,物流人员也会再次录入物流费,这里有一个风险是同一个单的两个物流费不一致。
A:允许这种不一致。- 线下计价模式: 先确定总价,扣除物流分摊单价、金融分摊单价(以总价记)、折扣分摊单价,剩余部分为:货物销售单价;线上计价模式:先确定货物销售单价、物流销售单价,再确定金融单价(以货物单价+物流单价记)。???
A:两种模式暂时先以线下计价模式,后期根据实际情况取舍哪种模式- 背靠背订单,采购订单的配送方式确定逻辑是?
A:配送方式在供应商给出报价时已经确定下来- 金融单价怎么维护?
A:金融单价通过维护一个计算规则,有系统自动计算,计算方式跟计价模式有关系。