项目背景:
完善采销退换货逻辑:换货=退货+采购
完善采购逆向操作
问题追溯:
1.角色冲突(运营说影响了他们的工作)
2.采购单表一开始未设计作废或者删除状态
3.流程有并行冲突(先退完采购单才能退单改成退单、退采购单并行)
4.缺少内在关联统一性(围绕订单产生的所有类型的采购单缺少统一的关系连接查询处)
5.交叉业务场景混乱(退换货反复多次进行)
6.功能控制未覆盖所有的状态(某些状态下进入死胡同)
7.退货/取消采购后同步状态到原采购单(存在商品数量部分退货的情况)
总结教训:
1.所有的实体表的设计一开始就应该考虑状态字段设计(删除、作废状态)
2.复杂流程正向以及逆向设计还是需要环环相扣
3.批量功能操作和一对一的数据结构灵活性比较好(比如审批单和付款单一一对应,但是页面操作上可以批量提交付款和批量付款)
4.上线后历史数据的处理
5.关联串行流程并行化设计时,两者之间做好双向检验
a.同时成功或者同时失败
b.先成功,后必须成功;先失败,后也失败
7.原采购单处理
a.已付款退货时:原采购单不动,展示冲红信息
b.未付款取消采购时:更新原采购单采购数量,全部取消更新采购单状态已取消
8.一种状态不能同时代表多种业务情景(采购单采购完成或者退货完成或者采购取消不能都叫已完成)