Commit 89e423a1 by 泽锋 李

义乌01仓的 停止监控或停售的 也要推送改0

parent febc1ac4
......@@ -478,18 +478,18 @@ left join dc_base_warehouse as t_db on t1.warehouse_code = t_db.warehouse_code
left join (
select t1.bailun_sku,t2.area_id,sum(t1.usable_stock) as 'sum_usable_stock' from dc_base_stock as t1
left join dc_base_warehouse as t2 on t1.warehouse_code = t2.warehouse_code
where t1.warehouse_code in ( 'GZBLWH', 'QYBLZZ' ,'BLGZ03')
where t1.warehouse_code in ( 'GZBLWH', 'QYBLZZ' ,'BLGZ03','YWWH01')
GROUP BY t1.bailun_sku,t2.area_id
) as t3 on t1.bailun_sku = t3.bailun_sku and t_db.area_id = t3.area_id
left join (
select t1.bailun_sku,t2.area_id,sum(t1.quantity_unshipped) as 'sum_unshipped_quantity',sum(t1.quantity_purchase) as 'sum_quantity_purchase' from dc_mid_transit as t1 left join dc_base_warehouse as t2 on t1.warehouse_code = t2.warehouse_code
where t1.quantity_unshipped>0 and t1.warehouse_code in ( 'GZBLWH', 'QYBLZZ','BLGZ03' )
where t1.quantity_unshipped>0 and t1.warehouse_code in ( 'GZBLWH', 'QYBLZZ','BLGZ03','YWWH01' )
GROUP BY t1.bailun_sku,t2.area_id
) as t4 on t1.bailun_sku = t4.bailun_sku and t_db.area_id = t4.area_id
left join dc_base_stock as t5 on t1.bailun_sku = t5.bailun_sku and t1.warehouse_code = t5.warehouse_code
left join dc_auto_config_sku_warehouse as t6 on t1.bailun_sku = t6.bailun_sku and t1.warehouse_code = t6.warehouse_code
where
t1.warehouse_code in ('GZBLWH', 'QYBLZZ','BLGZ03')
( t1.warehouse_code in ('GZBLWH', 'QYBLZZ','BLGZ03') or ( t1.warehouse_code in ('YWWH01') or t2.`status`=1 or t6.`status`=1 ) ) -- 义务仓 只要停止监控 或者停售就推送
and t1.bailun_sku not in ('942904501')
and ( t2.buyer_name not in ('张莹霞','张莹霞1','赵美聪','黄镜洁','赵美聪','赵美聪1','秦振荣','李华娟','赵美聪-独立站') or t2.`status`=1 )
and ( t1.quantity_purchase<=0 and (ifnull(t4.sum_unshipped_quantity,0) - ifnull(t3.sum_usable_stock,0))>0 ) -- 有缺货
......@@ -520,17 +520,17 @@ left join dc_base_sku as t3 on t1.bailun_sku = t3.bailun_sku
left join (
select t1.bailun_sku,t2.area_id,sum(t1.usable_stock) as 'sum_usable_stock' from dc_base_stock as t1
left join dc_base_warehouse as t2 on t1.warehouse_code = t2.warehouse_code
where t1.warehouse_code in ( 'GZBLWH', 'QYBLZZ','BLGZ03' )
where t1.warehouse_code in ( 'GZBLWH', 'QYBLZZ','BLGZ03','YWWH01' )
GROUP BY t1.bailun_sku,t2.area_id
) as t4 on t1.bailun_sku = t4.bailun_sku and t_db.area_id = t4.area_id
left join (
select t1.bailun_sku,t2.area_id,sum(t1.quantity_purchase) as 'sum_quantity_purchase' from dc_mid_transit as t1 left join dc_base_warehouse as t2 on t1.warehouse_code = t2.warehouse_code
where t1.quantity_unshipped>0 and t1.warehouse_code in ( 'GZBLWH', 'QYBLZZ' ,'BLGZ03')
where t1.quantity_unshipped>0 and t1.warehouse_code in ( 'GZBLWH', 'QYBLZZ' ,'BLGZ03','YWWH01')
GROUP BY t1.bailun_sku,t2.area_id
) as t5 on t1.bailun_sku = t5.bailun_sku and t_db.area_id = t5.area_id
left join dc_auto_config_sku_warehouse as t6 on t1.bailun_sku = t6.bailun_sku and t1.warehouse_code = t6.warehouse_code
where t1.usable_stock<=0 and t1.bailun_sku!=''
and t1.warehouse_code in ('GZBLWH', 'QYBLZZ','BLGZ03')
and ( t1.warehouse_code in ('GZBLWH', 'QYBLZZ','BLGZ03') or ( t1.warehouse_code in ('YWWH01') or t2.`status`=1 or t6.`status`=1 ) ) -- 义务仓 只要停止监控 或者停售就推送
and t1.bailun_sku not in ('942904501')
and ( t3.buyer_name not in ('张莹霞','张莹霞1','赵美聪','黄镜洁','赵美聪','赵美聪1','秦振荣','李华娟','赵美聪-独立站') or t3.`status`=1 )
and (@platform!='aliexpress' or t3.`status`=1 or t6.`status`=1 ) -- 速卖通的必须要停止监控才推送
......
using AutoTurnOver.Models.Report;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Text;
using Dapper;
using System.Linq;
namespace AutoTurnOver.DB
{
/// <summary>
/// 现金流预测
/// </summary>
public class report_cash_flow_forecast_dao : connectionHelper
{
/// <summary>
/// 计算现金流
/// </summary>
public static void Calculation(MySqlConnection conn, dc_report_cash_flow_forecast_task task_data)
{
try
{
List<dc_report_cash_flow_forecast_task_sale> sale_list = conn.Query<dc_report_cash_flow_forecast_task_sale>(" select * from dc_report_cash_flow_forecast_task_sale where task_id=@task_id ",new { task_id = task_data.id }).AsList();
if(sale_list==null || sale_list.Count <= 0)
{
throw new Exception(" 未配置销量 ");
}
// 模拟跑周转模型
List<invented_turnover_model> turnover_list = GetTurnoverModels(task_data, sale_list);
}
catch (Exception ex)
{
task_data.status = 3;
task_data.error_message = ex.Message;
task_data.error_stack_trace = ex.StackTrace;
}
}
/// <summary>
/// 预测周转模型
/// </summary>
public static List<invented_turnover_model> GetTurnoverModels(dc_report_cash_flow_forecast_task task_data,List<dc_report_cash_flow_forecast_task_sale> sale_list)
{
// 预测周转数据
List<invented_turnover_model> turnover_list = new List<invented_turnover_model>();
// 下首单
// 取最早的预测销量的一天
var min_date_sale = sale_list.OrderBy(s=>s.date).FirstOrDefault();
// 下采购单, 第一次下单要多 准备一个安全库存
for (int i = 0; i < sale_list.Count; i += task_data.delivery)
{
}
return turnover_list;
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoTurnOver.Models.Report
{
/// <summary>
/// 现金流预测任务
/// </summary>
public class dc_report_cash_flow_forecast_task
{
public int id { get; set; }
public string bailun_sku { get; set; }
public string warehouse_code { get; set; }
public string platform_type { get; set; }
public string web_site { get; set; }
/// <summary>
/// 供应商交期
/// </summary>
public int delivery { get; set; }
/// <summary>
/// 运输方式 -1 = 无 1 = 陆运 2 = 海运 3 = 空运
/// </summary>
public int transport_type { get; set; }
/// <summary>
/// 付款方式 1先款后货,2先货后款,3无需付款
/// </summary>
public int buy_pay_type { get; set; }
/// <summary>
/// 采购付款账期
/// </summary>
public int buy_pay_days { get; set; }
/// <summary>
/// 头程物流
/// </summary>
public string transfer_logistics_code { get; set; }
/// <summary>
/// 尾程物流
/// </summary>
public string tail_logistics_code { get; set; }
/// <summary>
/// 尾程物流
/// </summary>
public decimal refund_ratio { get; set; }
/// <summary>
/// 采购单价
/// </summary>
public decimal buy_unit_price_cny { get; set; }
/// <summary>
/// 采购moq
/// </summary>
public int moq { get; set; }
/// <summary>
/// 销售单价
/// </summary>
public decimal sale_unit_price_cny { get; set; }
/// <summary>
/// 状态 0 = 已提交 1=计算中 2= 计算完成 3 = 计算异常
/// </summary>
public int status { get; set; }
/// <summary>
/// 计算步骤
/// </summary>
public string step { get; set; }
public string error_message { get; set; }
public string error_stack_trace { get; set; }
}
public class dc_report_cash_flow_forecast_task_sale
{
public int id { get; set; }
public int task_id { get; set; }
public DateTime date { get; set; }
/// <summary>
/// 销量
/// </summary>
public decimal val { get; set; }
}
public class dc_report_cash_flow_forecast_task_log
{
public int id { get; set; }
public int task_id { get; set; }
public string warehouse_code { get; set; }
public string platform_type { get; set; }
public string bailun_sku { get; set; }
/// <summary>
/// 1 = 销售数量 2 = 售金额 3 = 退款 4 = 利润 5 =平台费用 6=释放销售成本 7 = 释放头程费用 8 = 尾程费用 9 = 新增采购费用 10 = 新增头程费用
/// </summary>
public int data_type { get; set; }
/// <summary>
/// 1 = 实时 2 = 后付 3 = 后收 4 =预付
/// </summary>
public int pay_type { get; set; }
/// <summary>
/// 发送数值
/// </summary>
public decimal val { get; set; }
/// <summary>
/// 发送时间
/// </summary>
public DateTime occur_time { get; set; }
/// <summary>
/// 支付时间
/// </summary>
public DateTime pay_time { get; set; }
/// <summary>
/// 相关单号
/// </summary>
public string no { get; set; }
/// <summary>
/// 项目
/// </summary>
public string item { get; set; }
/// <summary>
/// 项目编号
/// </summary>
public string item_no { get; set; }
public string web_site { get; set; }
/// <summary>
/// 备注
/// </summary>
public string remarks { get; set; }
/// <summary>
/// 是否作废
/// </summary>
public int is_delete { get; set; }
public DateTime update_time { get; set; }
public string pay_time_year_month_no { get; set; }
public string occur_time_year_month_no { get; set; }
}
/// <summary>
/// 虚拟周转模型,用来虚拟下单
/// </summary>
public class invented_turnover_model
{
public DateTime date { get; set; }
/// <summary>
/// 预测数值
/// </summary>
public decimal val { get; set; }
/// <summary>
/// 1 = 预测可用库存
/// 2 = 预测采购数量 未考虑 moq 备货天数
/// 3 = 考虑备货天数 跟 moq 之后的采购数量
/// </summary>
public int type { get; set; }
public enum type_enum
{
预测可用库存 =1,
预测采购数量 = 2,
最终采购数量 =3
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment