varsqlcount=$@"select count(DISTINCT t1.warehouse_code) from dc_daily_purchase_sell_stock t1 ";
varsql=$@"select t1.warehouse_code,t1.warehouse_name,sum(t2.start_onway_count) start_onway_count,sum(t2.start_stock_count) start_stock_count,sum(t2.start_onway_amount) start_onway_amount,sum(t2.start_stock_amount) start_stock_amount,sum(t3.end_onway_count) end_onway_count,sum(t3.end_stock_count) end_stock_count,sum(t3.end_onway_amount) end_onway_amount,sum(t3.end_stock_amount) end_stock_amount,t4.end_stock_amount as amount,t4.end_stock_count as count from (select DISTINCT t1.bailun_sku,t1.warehouse_code,t1.warehouse_name from dc_daily_purchase_sell_stock t1
";
if(!string.IsNullOrEmpty(warehousetype))
{
sql+=" join dc_base_warehouse t2 on t1.warehouse_code=t2.warehouse_code and t2.hq_type='"+warehousetype+"'";
sqlcount+=" join dc_base_warehouse t2 on t1.warehouse_code=t2.warehouse_code and t2.hq_type='"+warehousetype+"'";
//sqlparam.Add("hq_type", warehousetype);
if(!string.IsNullOrEmpty(warehouse))
{
sql+=" and t2.warehouse_code='"+warehouse+"'";
sqlcount+=" and t2.warehouse_code='"+warehouse+"'";
//sqlparam.Add("warehouse", warehouse);
}
}
if(!string.IsNullOrEmpty(warehouse))
{
sql+=$@" where t1.record_time='{start.ToString("yyyy-MM-dd")}' or t1.record_time='{end.ToString("yyyy-MM-dd")}') t1
left join dc_daily_purchase_sell_stock t2 on t1.bailun_sku=t2.bailun_sku and t1.warehouse_code=t2.warehouse_code and t2.record_time='{start.ToString("yyyy-MM-dd")}' and t2.warehouse_code='{warehouse}'
left join dc_daily_purchase_sell_stock t3 on t1.bailun_sku=t3.bailun_sku and t1.warehouse_code=t3.warehouse_code and t3.record_time='{end.ToString("yyyy-MM-dd")}' and t3.warehouse_code='{warehouse}'";
}
else
{
sql+=$@" where t1.record_time='{start.ToString("yyyy-MM-dd")}' or t1.record_time='{end.ToString("yyyy-MM-dd")}') t1
left join dc_daily_purchase_sell_stock t2 on t1.bailun_sku=t2.bailun_sku and t1.warehouse_code=t2.warehouse_code and t2.record_time='{start.ToString("yyyy-MM-dd")}'
left join dc_daily_purchase_sell_stock t3 on t1.bailun_sku=t3.bailun_sku and t1.warehouse_code=t3.warehouse_code and t3.record_time='{end.ToString("yyyy-MM-dd")}'";
}
sql+=$"left join (select t01.bailun_sku,t01.warehouse_code,sum(t01.end_stock_count) end_stock_count,sum(t01.end_stock_amount) end_stock_amount from dc_daily_purchase_sell_stock t01 ";
if(!string.IsNullOrEmpty(warehousetype))
{
sql+=" join dc_base_warehouse t02 on t01.warehouse_code=t02.warehouse_code and t02.hq_type='"+warehousetype+"'";
if(!string.IsNullOrEmpty(warehouse))
{
sql+=" and t02.warehouse_code='"+warehouse+"'";
}
}
sql+=$" where t01.record_time>='{start.ToString("yyyy-MM-dd")}' and t01.record_time<='{end.ToString("yyyy-MM-dd")}' group by t01.bailun_sku,t01.warehouse_code) t4 on t1.bailun_sku=t4.bailun_sku and t4.warehouse_code=t1.warehouse_code";
sql+=" group by t1.warehouse_code ";
sqlcount+=$" where t1.record_time='{start.ToString("yyyy-MM-dd")}' or t1.record_time='{end.ToString("yyyy-MM-dd")}'";
if(!string.IsNullOrEmpty(parameter.sort))
{
sql+=" order by "+parameter.sort+" "+parameter.order;
varsql=$@"select sum(t2.start_onway_count) start_onway_count,sum(t2.start_stock_count) start_stock_count,sum(t2.start_onway_amount) start_onway_amount,sum(t2.start_stock_amount) start_stock_amount,sum(t3.end_onway_count) end_onway_count,sum(t3.end_stock_count) end_stock_count,sum(t3.end_onway_amount) end_onway_amount,sum(t3.end_stock_amount) end_stock_amount,sum(t4.end_stock_amount) as amount,sum(t4.end_stock_count) as count from (select DISTINCT t1.bailun_sku,t1.warehouse_code,t1.warehouse_name from dc_daily_purchase_sell_stock t1
";
if(!string.IsNullOrEmpty(warehousetype))
{
sql+=" join dc_base_warehouse t2 on t1.warehouse_code=t2.warehouse_code and t2.hq_type='"+warehousetype+"'";
//sqlparam.Add("hq_type", warehousetype);
if(!string.IsNullOrEmpty(warehouse))
{
sql+=" and t2.warehouse_code='"+warehouse+"'";
//sqlparam.Add("warehouse", warehouse);
}
}
if(!string.IsNullOrEmpty(warehouse))
{
sql+=$@" where t1.record_time='{start.ToString("yyyy-MM-dd")}' or t1.record_time='{end.ToString("yyyy-MM-dd")}') t1
left join dc_daily_purchase_sell_stock t2 on t1.bailun_sku=t2.bailun_sku and t1.warehouse_code=t2.warehouse_code and t2.record_time='{start.ToString("yyyy-MM-dd")}' and t2.warehouse_code='{warehouse}'
left join dc_daily_purchase_sell_stock t3 on t1.bailun_sku=t3.bailun_sku and t1.warehouse_code=t3.warehouse_code and t3.record_time='{end.ToString("yyyy-MM-dd")}' and t2.warehouse_code='{warehouse}'";
}
else
{
sql+=$@" where t1.record_time='{start.ToString("yyyy-MM-dd")}' or t1.record_time='{end.ToString("yyyy-MM-dd")}') t1
left join dc_daily_purchase_sell_stock t2 on t1.bailun_sku=t2.bailun_sku and t1.warehouse_code=t2.warehouse_code and t2.record_time='{start.ToString("yyyy-MM-dd")}'
left join dc_daily_purchase_sell_stock t3 on t1.bailun_sku=t3.bailun_sku and t1.warehouse_code=t3.warehouse_code and t3.record_time='{end.ToString("yyyy-MM-dd")}'";
}
sql+=$"left join (select t01.bailun_sku,t01.warehouse_code,sum(t01.end_stock_count) end_stock_count,sum(t01.end_stock_amount) end_stock_amount from dc_daily_purchase_sell_stock t01 ";
if(!string.IsNullOrEmpty(warehousetype))
{
sql+=" join dc_base_warehouse t02 on t01.warehouse_code=t02.warehouse_code and t02.hq_type='"+warehousetype+"'";
if(!string.IsNullOrEmpty(warehouse))
{
sql+=" and t02.warehouse_code='"+warehouse+"'";
}
}
sql+=$" where t01.record_time>='{start.ToString("yyyy-MM-dd")}' and t01.record_time<='{end.ToString("yyyy-MM-dd")}' group by t01.bailun_sku,t01.warehouse_code) t4 on t1.bailun_sku=t4.bailun_sku and t4.warehouse_code=t1.warehouse_code";