Commit f48eed5b by 泽锋 李

支付周期支持配置站点;

仓库sku 统计到仓库+sku维度
parent ecbe5005
......@@ -1676,6 +1676,7 @@ and start_date<=@end_date and end_date>=@start_date
try
{
m.platform_type = (m.platform_type??"");
m.web_stite = (m.web_stite ?? "");
if (m.id > 0)
{
var result = _connection.Update<Models.dc_report_cash_flow_config>(m);
......
......@@ -1778,8 +1778,9 @@ start transaction;
-- 清空视图表的数据
Truncate table dc_report_cash_flow_sku_group_temp;
insert dc_report_cash_flow_sku_group_temp(`bailun_sku`,`balance`,`current_date_begin`,`current_date_end`,`last_date_begin`,`last_date_end`,`current_income`,`current_expend`,`last_income`,`last_expend`,`type`)
insert dc_report_cash_flow_sku_group_temp(`warehouse_code`,`bailun_sku`,`balance`,`current_date_begin`,`current_date_end`,`last_date_begin`,`last_date_end`,`current_income`,`current_expend`,`last_income`,`last_expend`,`type`)
select
warehouse_code,
bailun_sku,
sum(val) as 'balance',
@btime as current_date_begin,
......@@ -1792,10 +1793,11 @@ sum(case when occur_time<@btime and data_type in (2) then val else 0 end ) as 'l
sum(case when occur_time<@btime and data_type not in (2) then val else 0 end ) as 'last_expend',
1 as 'type'
from dc_report_cash_flow_log where occur_time>=@lastBtime and data_type in (2,3,5,8,9,10,11,12)
GROUP BY bailun_sku;
GROUP BY bailun_sku,warehouse_code;
insert dc_report_cash_flow_sku_group_temp(`bailun_sku`,`balance`,`current_date_begin`,`current_date_end`,`last_date_begin`,`last_date_end`,`current_income`,`current_expend`,`last_income`,`last_expend`,`type`)
insert dc_report_cash_flow_sku_group_temp(`warehouse_code`,`bailun_sku`,`balance`,`current_date_begin`,`current_date_end`,`last_date_begin`,`last_date_end`,`current_income`,`current_expend`,`last_income`,`last_expend`,`type`)
select
warehouse_code,
bailun_sku,
sum(val) as 'balance',
@btime as current_date_begin,
......@@ -1808,7 +1810,7 @@ sum(case when pay_time<@btime and data_type in (2) then val else 0 end ) as 'las
sum(case when pay_time<@btime and data_type not in (2) then val else 0 end ) as 'last_expend',
2 as 'type'
from dc_report_cash_flow_log where pay_time>=@lastBtime and data_type in (2,3,5,8,9,10,11,12)
GROUP BY bailun_sku;
GROUP BY bailun_sku,warehouse_code;
alter table dc_report_cash_flow_sku_group rename dc_report_cash_flow_sku_groupTemp;
......@@ -2539,5 +2541,10 @@ where 1=1
}
return _connection.Page<dc_base_wip_stock_dto>(sql, search, parameters);
}
public static List<platform_type_website_dto> PlatformtypeWebsiteList(string platform_type)
{
return _connection.Query<platform_type_website_dto>(" select DISTINCT platform_type,website from dc_base_oms_order ").AsList();
}
}
}
......
......@@ -74,10 +74,11 @@ namespace AutoTurnOver.DB
occur_time = order_item.paid_time ?? new DateTime(1991, 1, 1),
warehouse_code = order_item.warehouse_code,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.后收,
item_no = order_item.bailun_order_id
item_no = order_item.bailun_order_id,
web_site = order_item.website
};
item5.occur_time_year_month_no = $"{item5.occur_time.Year}-{item5.occur_time.Month}-{item5.bailun_sku}";
item5.pay_time = CalculationPayTime(configs, item5.occur_time, item5.data_type, item5.platform_type);
item5.pay_time = CalculationPayTime(configs, item5.occur_time, item5.data_type, item5.platform_type,item5.web_site);
item5.pay_time_year_month_no = $"{item5.pay_time.Year}-{item5.pay_time.Month}-{item5.bailun_sku}";
item5.id = conn.QuerySingleOrDefault<int?>(" select id from dc_report_cash_flow_log where data_type=@data_type and bailun_sku=@bailun_sku and item_no=@item_no ", new
{
......@@ -114,10 +115,11 @@ namespace AutoTurnOver.DB
occur_time = order_item.paid_time ?? new DateTime(1991, 1, 1),
warehouse_code = order_item.warehouse_code,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.后付,
item_no = order_item.bailun_order_id
item_no = order_item.bailun_order_id,
web_site = order_item.website
};
item8.occur_time_year_month_no = $"{item8.occur_time.Year}-{item8.occur_time.Month}-{item8.bailun_sku}";
item8.pay_time = CalculationPayTime(configs, item8.occur_time, item8.data_type, item8.platform_type);
item8.pay_time = CalculationPayTime(configs, item8.occur_time, item8.data_type, item8.platform_type, item8.web_site);
item8.pay_time_year_month_no = $"{item8.pay_time.Year}-{item8.pay_time.Month}-{item8.bailun_sku}";
item8.id = conn.QuerySingleOrDefault<int?>(" select id from dc_report_cash_flow_log where data_type=@data_type and bailun_sku=@bailun_sku and item_no=@item_no ", new
{
......@@ -154,10 +156,11 @@ namespace AutoTurnOver.DB
occur_time = order_item.paid_time ?? new DateTime(1991, 1, 1),
warehouse_code = order_item.warehouse_code,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.后付,
item_no = order_item.bailun_order_id
item_no = order_item.bailun_order_id,
web_site = order_item.website
};
item7.occur_time_year_month_no = $"{item7.occur_time.Year}-{item7.occur_time.Month}-{item7.bailun_sku}";
item7.pay_time = CalculationPayTime(configs, item7.occur_time, item7.data_type, item7.platform_type);
item7.pay_time = CalculationPayTime(configs, item7.occur_time, item7.data_type, item7.platform_type,item7.web_site);
item7.pay_time_year_month_no = $"{item7.pay_time.Year}-{item7.pay_time.Month}-{item7.bailun_sku}";
item7.id = conn.QuerySingleOrDefault<int?>(" select id from dc_report_cash_flow_log where data_type=@data_type and bailun_sku=@bailun_sku and item_no=@item_no ", new
{
......@@ -194,10 +197,11 @@ namespace AutoTurnOver.DB
occur_time = order_item.paid_time ?? new DateTime(1991, 1, 1),
warehouse_code = order_item.warehouse_code,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.后收,
item_no = order_item.bailun_order_id
item_no = order_item.bailun_order_id,
web_site = order_item.website
};
item6.occur_time_year_month_no = $"{item6.occur_time.Year}-{item6.occur_time.Month}-{item6.bailun_sku}";
item6.pay_time = CalculationPayTime(configs, item6.occur_time, item6.data_type, item6.platform_type);
item6.pay_time = CalculationPayTime(configs, item6.occur_time, item6.data_type, item6.platform_type,item6.web_site);
item6.pay_time_year_month_no = $"{item6.pay_time.Year}-{item6.pay_time.Month}-{item6.bailun_sku}";
item6.id = conn.QuerySingleOrDefault<int?>(" select id from dc_report_cash_flow_log where data_type=@data_type and bailun_sku=@bailun_sku and item_no=@item_no ", new
{
......@@ -234,10 +238,11 @@ namespace AutoTurnOver.DB
occur_time = order_item.paid_time ?? new DateTime(1991, 1, 1),
warehouse_code = order_item.warehouse_code,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.后付,
item_no = order_item.bailun_order_id
item_no = order_item.bailun_order_id,
web_site = order_item.website
};
item3.occur_time_year_month_no = $"{item3.occur_time.Year}-{item3.occur_time.Month}-{item3.bailun_sku}";
item3.pay_time = CalculationPayTime(configs, item3.occur_time, item3.data_type, item3.platform_type);
item3.pay_time = CalculationPayTime(configs, item3.occur_time, item3.data_type, item3.platform_type,item3.web_site);
item3.pay_time_year_month_no = $"{item3.pay_time.Year}-{item3.pay_time.Month}-{item3.bailun_sku}";
item3.id = conn.QuerySingleOrDefault<int?>(" select id from dc_report_cash_flow_log where data_type=@data_type and bailun_sku=@bailun_sku and item_no=@item_no ", new
{
......@@ -274,10 +279,11 @@ namespace AutoTurnOver.DB
occur_time = order_item.paid_time ?? new DateTime(1991, 1, 1),
warehouse_code = order_item.warehouse_code,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.实时,
item_no = order_item.bailun_order_id
item_no = order_item.bailun_order_id,
web_site = order_item.website
};
item2.occur_time_year_month_no = $"{item2.occur_time.Year}-{item2.occur_time.Month}-{item2.bailun_sku}";
item2.pay_time = CalculationPayTime(configs, item2.occur_time, item2.data_type, item2.platform_type);
item2.pay_time = CalculationPayTime(configs, item2.occur_time, item2.data_type, item2.platform_type,item2.web_site);
item2.pay_time_year_month_no = $"{item2.pay_time.Year}-{item2.pay_time.Month}-{item2.bailun_sku}";
item2.id = conn.QuerySingleOrDefault<int?>(" select id from dc_report_cash_flow_log where data_type=@data_type and bailun_sku=@bailun_sku and item_no=@item_no ", new
{
......@@ -314,10 +320,11 @@ namespace AutoTurnOver.DB
occur_time = order_item.paid_time ?? new DateTime(1991, 1, 1),
warehouse_code = order_item.warehouse_code,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.实时,
item_no = order_item.bailun_order_id
item_no = order_item.bailun_order_id,
web_site = order_item.website
};
item1.occur_time_year_month_no = $"{item1.occur_time.Year}-{item1.occur_time.Month}-{item1.bailun_sku}";
item1.pay_time = CalculationPayTime(configs, item1.occur_time, item1.data_type, item1.platform_type);
item1.pay_time = CalculationPayTime(configs, item1.occur_time, item1.data_type, item1.platform_type,item1.web_site);
item1.pay_time_year_month_no = $"{item1.pay_time.Year}-{item1.pay_time.Month}-{item1.bailun_sku}";
item1.id = conn.QuerySingleOrDefault<int?>(" select id from dc_report_cash_flow_log where data_type=@data_type and bailun_sku=@bailun_sku and item_no=@item_no ", new
{
......@@ -354,10 +361,11 @@ namespace AutoTurnOver.DB
occur_time = order_item.paid_time ?? new DateTime(1991, 1, 1),
warehouse_code = order_item.warehouse_code,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.实时,
item_no = order_item.bailun_order_id
item_no = order_item.bailun_order_id,
web_site = order_item.website
};
item.occur_time_year_month_no = $"{item.occur_time.Year}-{item.occur_time.Month}-{item.bailun_sku}";
item.pay_time = CalculationPayTime(configs, item.occur_time, item.data_type, item.platform_type);
item.pay_time = CalculationPayTime(configs, item.occur_time, item.data_type, item.platform_type,item.web_site);
item.pay_time_year_month_no = $"{item.pay_time.Year}-{item.pay_time.Month}-{item.bailun_sku}";
item.id = conn.QuerySingleOrDefault<int?>(" select id from dc_report_cash_flow_log where data_type=@data_type and bailun_sku=@bailun_sku and item_no=@item_no ", new
{
......@@ -409,7 +417,7 @@ namespace AutoTurnOver.DB
public static void UpdateUsersTest(MySqlConnection conn, List<dc_report_cash_flow_log> datas)
{
var sql = @"UPDATE dc_report_cash_flow_log SET warehouse_code=@warehouse_code,platform_type=@platform_type,bailun_sku=@bailun_sku,data_type=@data_type,pay_type=@pay_type,val=@val,occur_time=@occur_time,pay_time=@pay_time,no=@no,item=@item,item_no=@item_no,remarks=@remarks,is_delete=@is_delete,update_time=@update_time,occur_time_year_month_no=@occur_time_year_month_no,pay_time_year_month_no=@pay_time_year_month_no WHERE id = @id ;";
var sql = @"UPDATE dc_report_cash_flow_log SET web_site=@web_site,warehouse_code=@warehouse_code,platform_type=@platform_type,bailun_sku=@bailun_sku,data_type=@data_type,pay_type=@pay_type,val=@val,occur_time=@occur_time,pay_time=@pay_time,no=@no,item=@item,item_no=@item_no,remarks=@remarks,is_delete=@is_delete,update_time=@update_time,occur_time_year_month_no=@occur_time_year_month_no,pay_time_year_month_no=@pay_time_year_month_no WHERE id = @id ;";
System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
watch.Start();//开始计时
var res = conn.Execute(sql, datas);
......@@ -420,10 +428,10 @@ namespace AutoTurnOver.DB
{
System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
watch.Start();//开始计时
StringBuilder sqlSb = new StringBuilder(@" insert into dc_report_cash_flow_log(`warehouse_code`,`platform_type`,`bailun_sku`,`data_type`,`pay_type`,`val`,`occur_time`,`pay_time`,`no`,`item`,`item_no`,`remarks`,`is_delete`,`update_time`,`occur_time_year_month_no`,`pay_time_year_month_no`) value ");
StringBuilder sqlSb = new StringBuilder(@" insert into dc_report_cash_flow_log(`web_site`,`warehouse_code`,`platform_type`,`bailun_sku`,`data_type`,`pay_type`,`val`,`occur_time`,`pay_time`,`no`,`item`,`item_no`,`remarks`,`is_delete`,`update_time`,`occur_time_year_month_no`,`pay_time_year_month_no`) value ");
foreach (var item in datas)
{
sqlSb.Append($"( '{item.warehouse_code}','{item.platform_type}','{item.bailun_sku}',{item.data_type},{item.pay_type},{item.val},'{item.occur_time.ToString("yyyy-MM-dd HH:mm:ss")}','{item.pay_time.ToString("yyyy-MM-dd HH:mm:ss")}','{item.no}','{item.item}','{item.item_no}','{item.remarks}',{(item.is_delete)},'{item.update_time.ToString("yyyy-MM-dd HH:mm:ss")}','{item.occur_time_year_month_no}','{item.pay_time_year_month_no}' ),");
sqlSb.Append($"('{item.web_site}','{item.warehouse_code}','{item.platform_type}','{item.bailun_sku}',{item.data_type},{item.pay_type},{item.val},'{item.occur_time.ToString("yyyy-MM-dd HH:mm:ss")}','{item.pay_time.ToString("yyyy-MM-dd HH:mm:ss")}','{item.no}','{item.item}','{item.item_no}','{item.remarks}',{(item.is_delete)},'{item.update_time.ToString("yyyy-MM-dd HH:mm:ss")}','{item.occur_time_year_month_no}','{item.pay_time_year_month_no}' ),");
}
var sql = sqlSb.ToString();
sql = sql.Substring(0, sql.Length-1);
......@@ -825,9 +833,12 @@ where t1.create_time>=@btime and t1.create_time<=@etime ";
/// <summary>
/// 计算支付时间
/// </summary>
public static DateTime CalculationPayTime(List<dc_report_cash_flow_config> configs, DateTime occur_time, int data_type, string platform_type)
public static DateTime CalculationPayTime(List<dc_report_cash_flow_config> configs, DateTime occur_time, int data_type, string platform_type,string web_stite)
{
var item_config = configs.FirstOrDefault(s => s.data_type == data_type && (s.platform_type == "" || s.platform_type.Equals(platform_type)));
var item_config = configs.Where(s => s.data_type == data_type
&& (s.platform_type == "" || s.platform_type.Equals(platform_type))
&& (s.web_stite == "" || s.web_stite.Equals(web_stite))
).OrderByDescending(s=>s.web_stite).FirstOrDefault();
if (item_config == null)
{
return occur_time;
......
......@@ -47,6 +47,7 @@ namespace AutoTurnOver.Models
/// 项目编号
/// </summary>
public string item_no { get; set; }
public string web_site { get; set; }
/// <summary>
/// 备注
......@@ -123,6 +124,7 @@ namespace AutoTurnOver.Models
/// 平台类型
/// </summary>
public string platform_type { get; set; }
public string web_stite { get; set; }
/// <summary>
/// 数据类型
......
......@@ -685,11 +685,13 @@ namespace AutoTurnOver.Services
public static List<platform_type_website_dto> PlatformtypeWebsiteList(string platform_type)
{
//查询采购建议明细
var datas = RedisHelper.Get(RedisConsts.platform_type_website, () =>
{
return report.GetPlatformWebsite();
});
//var datas = RedisHelper.Get(RedisConsts.platform_type_website, () =>
//{
// return report.GetPlatformWebsite();
//});
var datas = report.PlatformtypeWebsiteList(platform_type);
if (!string.IsNullOrWhiteSpace(platform_type))
{
datas = datas.Where(s => platform_type.Equals(s.platform_type, StringComparison.OrdinalIgnoreCase)).ToList();
......
......@@ -147,11 +147,11 @@ namespace AutoTurnOver.Controllers
}
public JsonResult LogisticsCompanyList(string name)
public JsonResult LogisticsCompanyList()
{
try
{
var list = ApiUtility.RealTimeShipLogisticsCompanyList().Where(s=>s.Company_Name.Contains(name));
var list = ApiUtility.RealTimeShipLogisticsCompanyList();
return new JsonResult(list.Select(p => new
{
id = p.Company_Code,
......
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