Commit 1fe5da39 by guanzhenshan

每日销进差异汇总报表增加导出半成品消耗金额明细和成品发货明细功能

parent 80b8fa11
using System;
using System.Collections.Generic;
using System.Text;
namespace Bailun.DC.Models.Warehouse
{
public class dc_semi_stock_report
{
/// <summary>
///
/// </summary>
public int id { get; set; }
/// <summary>
///
/// </summary>
public string unique_no { get; set; }
/// <summary>
///
/// </summary>
public int log_id { get; set; }
/// <summary>
///
/// </summary>
public char warehouse_type { get; set; }
/// <summary>
///
/// </summary>
public string warehouse_type_str { get; set; }
/// <summary>
///
/// </summary>
public int material_id { get; set; }
/// <summary>
///
/// </summary>
public decimal stock { get; set; }
/// <summary>
///
/// </summary>
public string create_user_name { get; set; }
/// <summary>
///
/// </summary>
public DateTime? create_time { get; set; }
/// <summary>
///
/// </summary>
public int? warehouse_id { get; set; }
/// <summary>
///
/// </summary>
public char? stock_type { get; set; }
/// <summary>
///
/// </summary>
public string stock_type_str { get; set; }
/// <summary>
///
/// </summary>
public string material_code { get; set; }
/// <summary>
///
/// </summary>
public string material_name { get; set; }
/// <summary>
///
/// </summary>
public string material_category { get; set; }
/// <summary>
///
/// </summary>
public decimal new_price { get; set; }
/// <summary>
///
/// </summary>
public string warehouse_name { get; set; }
/// <summary>
///
/// </summary>
public string supplier_name { get; set; }
/// <summary>
///
/// </summary>
public string order_no { get; set; }
/// <summary>
///
/// </summary>
public bool is_selfcontained { get; set; }
/// <summary>
///
/// </summary>
public string is_selfcontained_str { get; set; }
/// <summary>
///
/// </summary>
public string remarks { get; set; }
/// <summary>
///
/// </summary>
public bool is_zichang { get; set; }
/// <summary>
///
/// </summary>
public DateTime gmt_create { get; set; }
/// <summary>
///
/// </summary>
public DateTime gmt_modified { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace Bailun.DC.Models.Warehouse
{
public class mShippingOrderDetail
{
public DateTime shipping_time { get; set; }
public string bailun_sku { get; set; }
public decimal cost_product { get; set; }
public string bailun_order_id { get; set; }
public string platform_type { get; set; }
public int quantity_shipped { get; set; }
public string warehouse_code { get; set; }
public string warehouse_name { get; set; }
public string category_simple_name { get; set; }
}
}
......@@ -1461,7 +1461,60 @@ namespace Bailun.DC.Services
}
}
/// <summary>
/// 获取半成品发货明细(消耗和取消的)
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
/// <returns></returns>
public List<dc_semi_stock_report> GetListSemiStockReportShipping(DateTime start,DateTime end)
{
var sql = $"select * from dc_semi_stock_report t1 where t1.is_zichang=0 and t1.stock_type in (3,5) and t1.create_time>='{start.ToString("yyyy-MM-dd")}' and t1.create_time<'{end.AddDays(1).ToString("yyyy-MM-dd")}'";
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString_read))
{
if(cn.State== System.Data.ConnectionState.Closed)
{
cn.Open();
}
var obj = cn.Query<dc_semi_stock_report>(sql).ToList();
return obj;
}
}
/// <summary>
/// 获取成品发货明细
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
/// <returns></returns>
public List<mShippingOrderDetail> GetListFinishShipping(DateTime start, DateTime end)
{
var sql = $@"select t1.shipping_time,t1.bailun_sku,t2.cost_product,t2.bailun_order_id,t2.platform_type,t1.quantity_shipped,t1.warehouse_code,t1.warehouse_name,t3.category_simple_name from dc_base_oms_pick t1
join dc_base_oms_sku t2 on t1.bailun_sku = t2.bailun_sku and t1.bailun_order_id = t2.bailun_order_id and t2.has_scalp = 0 and t2.has_innersale = 0 and t2.has_delete = 0
left join dc_base_sku t3 on t1.bailun_sku = t3.bailun_sku
where t1.has_delete = 0 and t1.shipping_time >= '{start.ToString("yyyy-MM-dd")}' and t1.shipping_time < '{end.AddDays(1).ToString("yyyy-MM-dd")}' and t1.company_id = 1 and t1.shipping_status = 'TotalShipping'
union all
select t2.create_time as 'shipping_time',t2.bailun_sku,t2.cost_product,t2.bailun_order_id,t2.platform_type,t2.bailun_sku_quantity_ordered as 'quantity_shipped',t2.warehouse_code,t2.warehouse_name,t3.category_simple_name from
dc_base_oms_sku t2
left join dc_base_sku t3 on t2.bailun_sku=t3.bailun_sku
where t2.has_scalp=0 and t2.has_innersale=0 and t2.has_delete=0 and t2.create_time>='{start.ToString("yyyy-MM-dd")}' and t2.create_time<'{end.AddDays(1).ToString("yyyy-MM-dd")}' and t2.bailun_order_status!='Canceled' and t2.company_id=1 and t2.platform_type='FBA'
";
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString_read))
{
if (cn.State == System.Data.ConnectionState.Closed)
{
cn.Open();
}
var obj = cn.Query<mShippingOrderDetail>(sql).ToList();
return obj;
}
}
#region 动态库存分析
......
......@@ -3621,7 +3621,6 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
/// <returns></returns>
public ActionResult OtherPayable(DateTime date, int paycompanyid)
{
ViewBag.date = date;
ViewBag.paycompanyid = paycompanyid;
return View();
......
......@@ -1502,6 +1502,68 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
});
}
public ActionResult ExportSemiShippingDetail(DateTime start, DateTime end)
{
var obj = new Services.WareHouseServices().GetListSemiStockReportShipping(start, end);
var listCol = new List<string> { "unique_no", "log_id", "warehouse_type", "warehouse_type_str", "material_id", "stock", "create_user_name", "create_time", "warehouse_id", "stock_type", "stock_type_str", "material_code", "material_name", "material_category", "new_price", "warehouse_name", "supplier_name", "order_no", "is_selfcontained", "is_selfcontained_str", "remarks", "is_zichang" };
var list = new List<string>();
foreach (var item in obj)
{
list.Add(item.unique_no+"|"+item.log_id+"|"+item.warehouse_type+"|"+item.warehouse_type_str+"|"+item.material_id+"|"+item.stock+"|"+item.create_user_name+"|"+item.create_time.Value.ToString("yyyy-MM-dd HH:mm:ss")+"|"+item.warehouse_id+"|"+item.stock_type + "|"+ item.stock_type_str + "|" +item.material_code + "|" +item.material_name + "|" +item.material_category + "|" +item.new_price + "|" +item.warehouse_name + "|" +item.supplier_name + "|" +item.order_no + "|" +item.is_selfcontained + "|" +item.is_selfcontained_str + "|" +item.remarks + "|" +item.is_zichang);
}
var guid = Guid.NewGuid().ToString();
var filename = start.ToString("yyyy-MM-dd")+"至"+end.ToString("yyyy-MM-dd")+" 半成品消耗金额明细"+DateTime.Now.ToString("yyyyMMddHHmmss");
var filepath = _hostingEnvironment.WebRootPath + "\\Files\\Report\\" + DateTime.Now.ToString("yyyy-MM-dd") + "\\";
ToCSV(list, listCol, guid, filepath);
var ms = new System.IO.MemoryStream();
using (var f = new System.IO.FileStream(filepath + guid + ".csv", System.IO.FileMode.Open))
{
f.CopyTo(ms);
}
ms.Position = 0;
return File(ms, "text/csv", filename + ".csv");
}
public ActionResult ExportFinishShippingDetail(DateTime start, DateTime end)
{
var obj = new WareHouseServices().GetListFinishShipping(start, end);
var listCol = new List<string> { "发货时间", "sku", "采购价", "订单号", "平台", "发货数量", "仓库编码", "仓库名称", "百伦分类" };
var list = new List<string>();
foreach (var item in obj)
{
list.Add(item.shipping_time.ToString("yyyy-MM-dd HH:mm:ss") + "|" + item.bailun_sku + "|" + item.cost_product + "|" + item.bailun_order_id + "|" + item.platform_type + "|" + item.quantity_shipped + "|" + item.warehouse_code + "|" + item.warehouse_name + "|" + item.category_simple_name);
}
var guid = Guid.NewGuid().ToString();
var filename = start.ToString("yyyy-MM-dd") + "至" + end.ToString("yyyy-MM-dd") + " 成品发货明细" + DateTime.Now.ToString("yyyyMMddHHmmss");
var filepath = _hostingEnvironment.WebRootPath + "\\Files\\Report\\" + DateTime.Now.ToString("yyyy-MM-dd") + "\\";
ToCSV(list, listCol, guid, filepath);
var ms = new System.IO.MemoryStream();
using (var f = new System.IO.FileStream(filepath + guid + ".csv", System.IO.FileMode.Open))
{
f.CopyTo(ms);
}
ms.Position = 0;
return File(ms, "text/csv", filename + ".csv");
}
#region 利润
/// <summary>
......
......@@ -39,6 +39,8 @@
<button type="button" class="btn btn-primary" onclick="list();"><i class="fa fa-search"></i>&nbsp;查询</button>
<button type="button" class="btn btn-success" onclick="exportfinish();">导出成品采购明细</button>
<button type="button" class="btn btn-warning" onclick="exportnofinish();">导出半成品采购明细</button>
<button type="button" class="btn btn-danger" onclick="exportsemishippingdetail();">导出半成品消耗金额明细</button>
<button type="button" class="btn btn-success" onclick="exportfinishshipping();">导出成品发货明细</button>
</div>
</div>
</form>
......@@ -312,6 +314,42 @@
window.open('@Url.Content("~/Reports/Purchase/ExportListPurchase?start=")' + start + '&end=' + end+'&t=1', '_blank');
}
function exportsemishippingdetail() {
var start = $('#start').val();
var end = $('#end').val();
if (start == '') {
alert('开始日期不能为空');
return;
}
if (end == '') {
alert('结束日期不能为空');
return;
}
window.open('@Url.Content("~/Reports/Warehouse/ExportSemiShippingDetail?start=")' + start + '&end=' + end, '_blank');
}
function exportfinishshipping() {
var start = $('#start').val();
var end = $('#end').val();
if (start == '') {
alert('开始日期不能为空');
return;
}
if (end == '') {
alert('结束日期不能为空');
return;
}
window.open('@Url.Content("~/Reports/Warehouse/ExportFinishShippingDetail?start=")' + start + '&end=' + end, '_blank');
}
</script>
}
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