Commit 1cd7b30f by guanzhenshan

1、增加进销存是否合理报表

parent 674d5630
......@@ -22,7 +22,7 @@ namespace Bailun.DC.DailyPurchaseSellStock
{
var _services = new Services();
var start = DateTime.Parse("2019-12-31");
var start = DateTime.Parse("2020-01-02");
_services.Init(start);
}
......
......@@ -504,5 +504,10 @@ namespace Bailun.DC.Models
/// </summary>
[Description("")]
public DateTime update_time { get; set; }
/// <summary>
/// 是否标记
/// </summary>
public int ismark { get; set; }
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Text;
namespace Bailun.DC.Models
{
/// <summary>
/// 每月销进比统计报表
/// </summary>
public class dc_mid_month_sale_putin
{
/// <summary>
///
/// </summary>
public int id { get; set; }
/// <summary>
/// 仓库编码
/// </summary>
public string warehouse_code { get; set; }
/// <summary>
/// 仓库名称
/// </summary>
public string warehouse_name { get; set; }
/// <summary>
/// 仓库类型
/// </summary>
public string warehouse_type { get; set; }
/// <summary>
/// 百伦sku编码
/// </summary>
public string bailun_sku { get; set; }
/// <summary>
/// 百伦简单分类
/// </summary>
public string category_simple_name { get; set; }
/// <summary>
/// 出库数
/// </summary>
public int count_outbound { get; set; }
/// <summary>
/// 入库数
/// </summary>
public int count_putin { get; set; }
/// <summary>
/// 出库-入库差异数
/// </summary>
public int count_diff { get; set; }
/// <summary>
/// 采购价
/// </summary>
public decimal buyprice { get; set; }
/// <summary>
/// 统计月份
/// </summary>
public string month { get; set; }
/// <summary>
///
/// </summary>
public DateTime createtime { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace Bailun.DC.Models
{
/// <summary>
/// 每月进销存数据不合理报告
/// </summary>
public class dc_mid_month_sale_putin_report
{
/// <summary>
///
/// </summary>
public int id { get; set; }
/// <summary>
/// 仓库编码
/// </summary>
public string warehouse_code { get; set; }
/// <summary>
/// 仓库名称
/// </summary>
public string warehouse_name { get; set; }
/// <summary>
/// 仓库类型
/// </summary>
public string warehouse_type { get; set; }
/// <summary>
/// 百伦sku编码
/// </summary>
public string bailun_sku { get; set; }
/// <summary>
/// 百伦简单分类
/// </summary>
public string category_simple_name { get; set; }
/// <summary>
/// 出库数
/// </summary>
public int count_outbound { get; set; }
/// <summary>
/// 入库数
/// </summary>
public int count_putin { get; set; }
/// <summary>
/// 出库-入库差异数
/// </summary>
public int count_diff { get; set; }
/// <summary>
/// 采购价
/// </summary>
public decimal buyprice { get; set; }
/// <summary>
/// 统计月份
/// </summary>
public string month { get; set; }
/// <summary>
/// 可用库存
/// </summary>
public int count_usable_stock { get; set; }
/// <summary>
/// 7日日均销量
/// </summary>
public decimal avg_sevenday_sales { get; set; }
/// <summary>
/// 14日日均销量
/// </summary>
public decimal avg_fourteenday_sales { get; set; }
/// <summary>
/// 30天日均销量
/// </summary>
public decimal avg_thirtyday_sales { get; set; }
/// <summary>
/// 平均日均销量
/// </summary>
public decimal avg_sales { get; set; }
/// <summary>
/// 类型,1:不合理,2:清货
/// </summary>
public int type { get; set; }
/// <summary>
///
/// </summary>
public DateTime createtime { get; set; }
}
}
......@@ -249,7 +249,7 @@ namespace Bailun.DC.MonthSaleProfit
cn.Open();
}
var list = cn.Query<dc_month_sale_profit>("select * from dc_month_sale_profit where month>'"+day.AddMonths(-4).ToString("yyyy-MM")+"'");
var list = cn.Query<dc_month_sale_profit>("select * from dc_month_sale_profit where month>'"+day.AddMonths(-3).ToString("yyyy-MM")+"'");
foreach (var m in list)
{
......
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.1</TargetFramework>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Dapper" Version="2.0.30" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.0" />
<PackageReference Include="MySql.Data" Version="8.0.18" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Bailun.DC.Common\Bailun.DC.Common.csproj" />
<ProjectReference Include="..\Bailun.DC.Models\Bailun.DC.Models.csproj" />
</ItemGroup>
</Project>
using System;
namespace Bailun.DC.MonthSalePutin
{
class Program
{
static void Main(string[] args)
{
//Console.WriteLine("Hello World!");
Services _service = new Services();
_service.Init(DateTime.Parse("2019-12-01"));
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using MySql.Data.MySqlClient;
using Dapper;
using Bailun.DC.Common;
using Bailun.DC.Models;
namespace Bailun.DC.MonthSalePutin
{
public class Services
{
public void Init(DateTime day)
{
var start = DateTime.Parse(day.Year + "-" + day.Month + "-01");
var end = start.AddMonths(1);
var sql = $@"select t0001.warehouse_code,t04.warehouse_name,t04.hq_type as warehouse_type,t0001.bailun_sku,t03.category_simple_name,t01.count as count_outbound,t02.count as count_putin,(t01.count-t02.count) as count_diff,t03.unit_price as buyprice from (select DISTINCT tt01.warehouse_code,tt01.bailun_sku from (
select DISTINCT t1.bailun_sku,t1.warehouse_code from dc_base_oms_pick t1
where t1.shipping_time>='{start.ToString("yyyy-MM-dd")}' and t1.shipping_time<'{end.ToString("yyyy-MM-dd")}' and t1.shipping_status='TotalShipping' and t1.has_delete=0
union all
select DISTINCT t1.bailun_sku,t1.warehouse_code from dc_base_oms_sku t1
where t1.platform_type='FBA' and t1.bailun_order_status!='Canceled' and t1.create_time>='{start.ToString("yyyy-MM-dd")}' and t1.create_time<'{end.ToString("yyyy-MM-dd")}' and t1.has_delete=0
union all
select DISTINCT t1.bailun_sku,t1.warehouse_code from dc_base_purchase_inbound t1
join dc_base_purchase_details t2 on t1.purchase_id=t2.purchase_id and t1.bailun_sku=t2.bailun_sku and t2.isallot=0
where t1.`status`=1 and t1.update_time>='{start.ToString("yyyy-MM-dd")}' and t1.update_time<'{end.ToString("yyyy-MM-dd")}'
union all
select DISTINCT t1.bailun_sku,t1.warehouse_code from dc_base_transfer_complete t1
where t1.create_time>='{start.ToString("yyyy-MM-dd")}' and t1.create_time<'{end.ToString("yyyy-MM-dd")}' and t1.deleted=0 and warehouse_code!='QYBLZZ'
) tt01
) t0001
left join
(select tb1.warehouse_code,tb1.bailun_sku,sum(count) count from (
select t1.bailun_sku,t1.warehouse_code,sum(t1.quantity_shipped) count from dc_base_oms_pick t1
where t1.shipping_time>='{start.ToString("yyyy-MM-dd")}' and t1.shipping_time<'{end.ToString("yyyy-MM-dd")}' and t1.shipping_status='TotalShipping' and t1.has_delete=0
group by t1.bailun_sku,t1.warehouse_code
union all
select t1.bailun_sku,t1.warehouse_code,sum(t1.bailun_sku_quantity_ordered) count from dc_base_oms_sku t1
where t1.platform_type='FBA' and t1.bailun_order_status!='Canceled' and t1.create_time>='{start.ToString("yyyy-MM-dd")}' and t1.create_time<'{end.ToString("yyyy-MM-dd")}' and t1.has_delete=0
group by t1.bailun_sku,t1.warehouse_code
) tb1
group by tb1.warehouse_code,tb1.bailun_sku
) t01 on t0001.warehouse_code=t01.warehouse_code and t0001.bailun_sku=t01.bailun_sku
left join
(
select tb2.warehouse_code,tb2.bailun_sku,sum(tb2.count) count from (
select t1.bailun_sku,t1.warehouse_code,sum(t1.count) count from dc_base_purchase_inbound t1
join dc_base_purchase_details t2 on t1.purchase_id=t2.purchase_id and t1.bailun_sku=t2.bailun_sku and t2.isallot=0
where t1.`status`=1 and t1.update_time>='{start.ToString("yyyy-MM-dd")}' and t1.update_time<'{end.ToString("yyyy-MM-dd")}'
group by t1.bailun_sku,t1.warehouse_code
union all
select t1.bailun_sku,t1.warehouse_code,sum(count) count from dc_base_transfer_complete t1
where t1.create_time>='{start.ToString("yyyy-MM-dd")}' and t1.create_time<'{end.ToString("yyyy-MM-dd")}' and t1.deleted=0 and warehouse_code!='QYBLZZ'
group by t1.bailun_sku,t1.warehouse_code
) tb2
group by tb2.bailun_sku,tb2.warehouse_code
) t02 on t0001.warehouse_code=t02.warehouse_code and t0001.bailun_sku=t02.bailun_sku
left join dc_base_sku t03 on t0001.bailun_sku=t03.bailun_sku
left join dc_base_warehouse t04 on t0001.warehouse_code=t04.warehouse_code
";
var list = new List<dc_mid_month_sale_putin>();
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == System.Data.ConnectionState.Closed)
{
cn.Open();
}
list = cn.Query<dc_mid_month_sale_putin>(sql, null, null, true, 6 * 60).AsList();
cn.Execute("delete from dc_mid_month_sale_putin where month = '" + start.ToString("yyyy-MM")+"'");
}
if (list.Count > 0)
{
var total = 0;
var sql_head = "insert dc_mid_month_sale_putin (warehouse_code,warehouse_name,warehouse_type,bailun_sku,category_simple_name,count_outbound,count_putin,count_diff,buyprice,month,createtime) values ";
var str = "";
foreach (var item in list)
{
str += $" ('{item.warehouse_code}','{item.warehouse_name}','{item.warehouse_type}','{item.bailun_sku}','{item.category_simple_name}','{item.count_outbound}','{item.count_putin}','{item.count_diff}','{item.buyprice}','{start.ToString("yyyy-MM")}','{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}'),";
if ((total != 0 && total % 5000 == 0) || (total+1) == list.Count)
{
if (str.Length > 0)
{
str = str.Substring(0, str.Length - 1);
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == System.Data.ConnectionState.Closed)
{
cn.Open();
}
cn.Execute(sql_head + str);
str = "";
}
}
}
total++;
}
}
}
//public void
}
}
......@@ -159,6 +159,8 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
m.count_liabilities_and_oe = m.count_liabilities + m.oe_count;
}
return Json(new
{
success = list.Count > 0,
......
......@@ -41,7 +41,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bailun.DC.MonthSaleProfit",
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bailun.DC.DailySemiPurchaseSellStock", "Bailun.DC.DailySemiPurchaseSellStock\Bailun.DC.DailySemiPurchaseSellStock.csproj", "{BA2836C9-40CD-41FE-9BAD-7D897BB62AF8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bailun.DC.DailyPlatformReceivable", "Bailun.DC.DailyPlatformReceivable\Bailun.DC.DailyPlatformReceivable.csproj", "{BFD01F3A-DEF2-4DEC-BC7C-3AAB7FBE3188}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bailun.DC.DailyPlatformReceivable", "Bailun.DC.DailyPlatformReceivable\Bailun.DC.DailyPlatformReceivable.csproj", "{BFD01F3A-DEF2-4DEC-BC7C-3AAB7FBE3188}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bailun.DC.MonthSalePutin", "Bailun.DC.MonthSalePutin\Bailun.DC.MonthSalePutin.csproj", "{08F12342-13D8-4FB3-B3EC-D35B4E738F35}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
......@@ -125,6 +127,10 @@ Global
{BFD01F3A-DEF2-4DEC-BC7C-3AAB7FBE3188}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BFD01F3A-DEF2-4DEC-BC7C-3AAB7FBE3188}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BFD01F3A-DEF2-4DEC-BC7C-3AAB7FBE3188}.Release|Any CPU.Build.0 = Release|Any CPU
{08F12342-13D8-4FB3-B3EC-D35B4E738F35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{08F12342-13D8-4FB3-B3EC-D35B4E738F35}.Debug|Any CPU.Build.0 = Debug|Any CPU
{08F12342-13D8-4FB3-B3EC-D35B4E738F35}.Release|Any CPU.ActiveCfg = Release|Any CPU
{08F12342-13D8-4FB3-B3EC-D35B4E738F35}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......@@ -143,6 +149,7 @@ Global
{85C62851-D6B3-4D6D-B8C5-D02EAA6838B8} = {AE2CE86A-8538-4142-920F-684DCF47C064}
{BA2836C9-40CD-41FE-9BAD-7D897BB62AF8} = {AE2CE86A-8538-4142-920F-684DCF47C064}
{BFD01F3A-DEF2-4DEC-BC7C-3AAB7FBE3188} = {AE2CE86A-8538-4142-920F-684DCF47C064}
{08F12342-13D8-4FB3-B3EC-D35B4E738F35} = {AE2CE86A-8538-4142-920F-684DCF47C064}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6E53AF28-A282-4FB0-A769-EAEA9769C02A}
......
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