以AOrderMatchRules.cs中CheckOrderProfit方法为父本,重建一个新方法
业务逻辑判断不变,将存库的实体集合直接返回,不进行数据保存
以AOrderMatchRules.cs中CheckOrderProfit方法为父本,重建一个新方法
业务逻辑判断不变,将存库的实体集合直接返回,不进行数据保存
背景:目前利润估算服务调用方法存在修改订单逻辑;
现状:利润估算服务会触发调整订单日志,订单状态;
需求:调整利润估算方法内容,不做任何订单状态调整,只返回数据至订单,由订单处理状态。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
以下关联订单需求:9603
订单下载后计算利润与订单调库并发问题优化
bugid:23954,订单下载到系统2个小时之后,系统进行调库生包后,利润估算才出来结果并将订单设置为待审核,导致出现待审核的订单还生包,存在发货出去的风险。
1.2. 目标
避免由于利润率太低设置待审核的订单,进行发货。
2.1.1 需求说明
a)订单执行策略之后,会触发订单利润估算方法,逻辑应改为事务
b)利润组提供新的方法,入参与返参值 (程伟 韦思成确认),利润组计算估算利润之后返回结果,在订单这边统一保存处理。
注:1.订单策略存在手工指定仓库和运输方式,也存在按照分仓优选规则匹配仓库和运输方式;2.类似于官方仓发货(is_fab标识为ture),是无需调用利润组公共方法;3.系统参数未开启‘检测订单利润’标识,也不会调用利润估算方法。
| 所属迭代 | 【主干】产品中心11月第一个版本(2021年) |
|---|---|
| 所属模块 | 赛盒科技 赛盒ERP管理系统 数据报表组 |
| 相关需求 | 利润估算服务调整返回 |
| 指派给 | Closed 于 2022-06-23 14:15:48 |
| 任务类型 | 后端 |
| 任务标签 | 初始 |
| 开发组 | |
| 任务状态 | 已关闭 |
| 进度 | 100% |
| 优先级 | P2 |
| 关键词 | |
| 抄送给 |
| 由谁创建 | 韦思成 于 2021-10-28 15:34:11 |
|---|---|
| 由谁完成 | chenjie 于 2021-10-28 15:38:08 |
| 由谁取消 | 暂无 |
| 由谁关闭 | 韦思成 于 2022-06-23 14:15:48 |
| 关闭原因 | 已完成 |
| 最后编辑 | 韦思成 于 2022-06-23 14:15:48 |
| 团队 | 最初预计 | 总计消耗 | 预计剩余 |
|---|
| 最初预计 | 4工时 |
|---|---|
| 总计消耗 | 4工时 |
| 预计剩余 | 0工时 |
| 预计开始 | 2021-10-28 |
| 实际开始 | 2021-10-28 |
| 截止日期 | 2021-10-28 |
添加函数
Biz.PlatformUtil.OrderMatchRules.AOrderMatchRules.CheckOrderProfitProcess 入口参数和以前一致 此函数中间过程计算 不持久化到数据库.返回结构体RB.Biz.Model.Order.CheckOrderProfitProcessResultModel
原函数
Biz.PlatformUtil.OrderMatchRules.AOrderMatchRules.CheckOrderProfit 原有逻辑一致.调用CheckOrderProfitProcess 返回过程结果和原有逻辑一样持久化到数据库
返回结构
/// <summary> /// 订单利润检查处理结构 /// <para>异常:</para> /// T:System.NullReferenceException: /// 结构体 可能为NULL。 /// </summary> public class CheckOrderProfitProcessResultModel { /// <summary> /// 需要更新 <c>订单状态</c> <c>订单备注</c> 的OrderCode集合 /// <para>List<string></para> /// <para>已Distinct处理</para> /// /// /// <para>异常:</para> /// T:System.NullReferenceException: /// List 可能为NULL。 /// </summary> public List<string> UpdateOrderStatusList { get; set; } /// <summary> /// 需要更新订单<c>OrderDescation</c>的OrderCode集合 /// <para>List<string></para> /// <para>已Distinct处理</para> /// /// /// <para>异常:</para> /// T:System.NullReferenceException: /// List 可能为NULL。 /// </summary> public List<string> UpdateOrderDescriptionList { get; set; } /// <summary> /// 更新订单的Description的文字 /// <para>string</para> /// </summary> public string OrderDescription { get; set; } /// <summary> /// 需要插入数据库的订单费用日志的DataTable /// <para>DataTable</para> /// <para>已处理DataTable的Schema</para> /// /// <para>异常:</para> /// T:System.NullReferenceException: /// DataTable 可能为NULL。 /// </summary> public DataTable ProfitOrderLogTable { get; set; } /// <summary> /// 需要处理订单问题的DataTable /// <para>DataTable</para> /// <para>已处理DataTable的Schema</para> /// <para>需要清除订单问题,保存数据库</para> /// /// <para>异常:</para> /// T:System.NullReferenceException: /// DataTable 可能为NULL。 /// </summary> public DataTable ProfitOrderQuestionTable { get; set; } }