Commit 6c7b9f47 by 泽锋 李

周转表。历史库存也需要记录

parent 9165f31d
...@@ -15,6 +15,16 @@ namespace AutoGeneratePurchaseAdvise ...@@ -15,6 +15,16 @@ namespace AutoGeneratePurchaseAdvise
Console.WriteLine("采购建议计算任务启动..."); Console.WriteLine("采购建议计算任务启动...");
//PurchaseAdviseServices.AutoPushBuySys(2); //PurchaseAdviseServices.AutoPushBuySys(2);
//PurchaseAdviseServices.AutoPushBuySys(6); //PurchaseAdviseServices.AutoPushBuySys(6);
try
{
//PurchaseAdviseServices.Generate(DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 09:00:00")));
}
catch (Exception ex)
{
throw;
}
var builder = new HostBuilder().ConfigureServices((hostContext, services) => var builder = new HostBuilder().ConfigureServices((hostContext, services) =>
{ {
services.AddHostedService<GeneratePurchaseAdviseBackgroundService>(); services.AddHostedService<GeneratePurchaseAdviseBackgroundService>();
......
...@@ -7,6 +7,7 @@ using Dapper; ...@@ -7,6 +7,7 @@ using Dapper;
using System.Linq; using System.Linq;
using AutoTurnOver.Models.Base; using AutoTurnOver.Models.Base;
using AutoTurnOver.DB.Base; using AutoTurnOver.DB.Base;
using AutoTurnOver.Models.stock;
namespace AutoTurnOver.DB namespace AutoTurnOver.DB
{ {
...@@ -512,6 +513,19 @@ from dc_auto_turnover as dat ...@@ -512,6 +513,19 @@ from dc_auto_turnover as dat
return _connection.QueryFirstOrDefault<dc_auto_inventory>(sql); return _connection.QueryFirstOrDefault<dc_auto_inventory>(sql);
} }
/// <summary>
/// 历史库存
/// </summary>
/// <returns></returns>
public static List<dc_daily_stock_dto> GetDailyStock(string bailun_sku,string warehouse_code,DateTime date)
{
return _connection.Query<dc_daily_stock_dto>(" select * from dc_daily_stock where bailun_sku=@bailun_sku and warehouse_code=@warehouse_code and record_time>=@record_time ", new {
bailun_sku = bailun_sku,
warehouse_code = warehouse_code,
record_time = date
}).ToList();
}
#endregion #endregion
#region 预测入库 #region 预测入库
......
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoTurnOver.Models.stock
{
/// <summary>
/// 每日库存
/// </summary>
public class dc_daily_stock_dto
{
public int id { get; set; }
public string bailun_sku { get; set; }
public string warehouse_code { get; set; }
public decimal usable_stock { get; set; }
public decimal occupy_stock { get; set; }
/// <summary>
/// 时间
/// </summary>
public DateTime record_time { get; set; }
}
}
...@@ -42,6 +42,9 @@ namespace AutoTurnOver.Services ...@@ -42,6 +42,9 @@ namespace AutoTurnOver.Services
// 预计入库 // 预计入库
var putin = DB.dc_auto_turnover.GetAutoInboundBySkuWH(sku, warehousecode, 0); var putin = DB.dc_auto_turnover.GetAutoInboundBySkuWH(sku, warehousecode, 0);
//历史库存
var dailyStock = DB.dc_auto_turnover.GetDailyStock(sku, warehousecode, DateTime.Now.AddDays(-7).ToDayHome());
//可用库存 //可用库存
var inventory = DB.dc_auto_turnover.GetAutoInventoryBySkuWH(sku, warehousecode); var inventory = DB.dc_auto_turnover.GetAutoInventoryBySkuWH(sku, warehousecode);
...@@ -49,6 +52,26 @@ namespace AutoTurnOver.Services ...@@ -49,6 +52,26 @@ namespace AutoTurnOver.Services
var shortsupply = DB.dc_auto_turnover.GetAutoShortSupplyBySkuWH(sku, warehousecode); var shortsupply = DB.dc_auto_turnover.GetAutoShortSupplyBySkuWH(sku, warehousecode);
if (sales.inventory_details!=null)
{
var tempinventory_details_list = sales.inventory_details.ToObj<List<decimal>>();
var tempinventory_details_list2 = sales.inventory_details.ToObj<List<decimal>>();
var i = 7;
foreach (var item in tempinventory_details_list)
{
if (i >= 1)
{
var this_date = DateTime.Now.AddDays(0 - i);
tempinventory_details_list2[7-i] = (dailyStock.FirstOrDefault(s => this_date.Year == s.record_time.Year && this_date.Month == s.record_time.Month && this_date.Day == s.record_time.Day) ?? new dc_daily_stock_dto()).usable_stock;
}
i--;
}
sales.inventory_details = tempinventory_details_list2.Select(s => (int)Math.Ceiling(s)).ToJson();
}
list.Add(sales != null ? sales.sales_details.ToObj<List<decimal>>().Select(s => (int)Math.Ceiling(s)).ToJson() : "[]"); list.Add(sales != null ? sales.sales_details.ToObj<List<decimal>>().Select(s => (int)Math.Ceiling(s)).ToJson() : "[]");
list.Add(sales != null&& (!string.IsNullOrWhiteSpace(sales.sales_details_formula)) ? sales.sales_details_formula.ToObj<List<string>>().Select(s => s).ToJson() : "[]"); list.Add(sales != null&& (!string.IsNullOrWhiteSpace(sales.sales_details_formula)) ? sales.sales_details_formula.ToObj<List<string>>().Select(s => s).ToJson() : "[]");
list.Add(sales != null ? sales.sales_explain_details.Replace("[", "").Replace("]", "").Split(',').ToJson() : "[]"); list.Add(sales != null ? sales.sales_explain_details.Replace("[", "").Replace("]", "").Split(',').ToJson() : "[]");
......
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