Commit bc79e80f by guanzhenshan

增加自产采购在途明细

parent a61f79aa
using System;
using System.Collections.Generic;
using System.Text;
namespace Bailun.DC.Models
{
/// <summary>
/// 采购在途明细
/// </summary>
public class mPurchaseOnWay
{
/// <summary>
/// sku编码
/// </summary>
public string bailun_sku { get; set; }
/// <summary>
/// 仓库编码
/// </summary>
public string warehouse_code { get; set; }
/// <summary>
/// 仓库名称
/// </summary>
public string warehouse_name { get; set; }
/// <summary>
/// 采购员名称
/// </summary>
public string buyer_name { get; set; }
/// <summary>
/// 采购价格
/// </summary>
public decimal unit_price { get; set; }
/// <summary>
/// 采购在途
/// </summary>
public int quantity_purchase { get; set; }
/// <summary>
/// 记录时间
/// </summary>
public DateTime record_time { get; set; }
}
}
......@@ -636,6 +636,8 @@ namespace Bailun.DC.Services
}
#endregion
#region 管理成本
......@@ -2275,9 +2277,40 @@ namespace Bailun.DC.Services
return obj;
}
}
/// <summary>
/// 获取生产在途库存明细
/// </summary>
/// <param name="request">分页信息</param>
/// <param name="date">统计日期</param>
/// <param name="total">符合条件的记录数</param>
/// <returns></returns>
public List<mPurchaseOnWay> ListProductOnway(BtTableParameter request,DateTime date,ref int total)
{
var sql = $@"select dc0.unit_price,dc0.quantity_purchase,dc0.bailun_sku,dc0.warehouse_code,t3.warehouse_name,dc1.buyer_name,dc0.record_time from dc_daily_transit dc0 join dc_base_sku dc1 on dc0.bailun_sku = dc1.bailun_sku and dc1.buyer_name in ('张莹霞', '张莹霞1') left join dc_base_warehouse t3 on t3.warehouse_code=dc0.warehouse_code where dc0.record_time = '{date.ToString("")}' and dc0.quantity_purchase>0";
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == ConnectionState.Closed)
{
cn.Open();
}
if (request.limit > 0)
{
var obj = cn.Page<mPurchaseOnWay>(request.pageIndex, request.limit, sql, ref total);
return obj.ToList();
}
else
{
var obj = cn.Query<mPurchaseOnWay>(sql);
return obj.ToList();
}
}
}
#endregion
......
......@@ -2175,8 +2175,77 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
return File(ms, "text/csv", filename + ".csv");
}
/// <summary>
/// 自产采购在途
/// </summary>
/// <param name="date">统计日期</param>
/// <param name="paycompanyid">付款主体id</param>
/// <returns></returns>
public ActionResult ListProductOnway(DateTime date, int paycompanyid)
{
ViewBag.date = date.ToString("yyyy-MM-dd");
ViewBag.paycompanyid = paycompanyid;
return View();
}
/// <summary>
/// 自产采购在途数据
/// </summary>
/// <param name="request">分页信息</param>
/// <param name="date">统计日期</param>
/// <param name="paycompanyid"></param>
/// <returns></returns>
public string ListProductOnwayJson(BtTableParameter request, DateTime date)
{
var total = 0;
var obj = new Services.FinanceReportServices().ListProductOnway(request, date, ref total);
var list = obj.Select(a => new {
a.warehouse_name,
a.warehouse_code,
a.bailun_sku,
a.buyer_name,
a.quantity_purchase,
a.unit_price,
amount = a.quantity_purchase*a.unit_price,
record_time = a.record_time.ToString("yyyy-MM-dd")
});
return JsonConvert.SerializeObject(new { total = total, rows = list });
}
/// <summary>
/// 自产采购在途数据导出
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
public ActionResult ListProductOnwayExport(DateTime date)
{
var total = 0;
var obj = new Services.FinanceReportServices().ListProductOnway(new BtTableParameter { limit=0}, date, ref total);
var colNames = new List<string> { "统计日期", "Sku编码", "仓库名称", "在途数量", "采购价", "总金额","采购员名称" };
var list = new List<string>();
foreach (var item in obj)
{
list.Add(item.record_time.ToString("yyyy-MM-dd") + "|" + item.bailun_sku + "|" + item.warehouse_name + "|" + item.quantity_purchase + "|" + item.unit_price + "|"+ (item.quantity_purchase*item.unit_price) + "|" + item.buyer_name);
}
var guid = Guid.NewGuid().ToString();
var filename = date.ToString("yyyy-MM-dd") + "自产采购在途" + DateTime.Now.ToString("yyyyMMddHHmmss");
var filepath = _hostingEnvironment.WebRootPath + "\\Files\\Report\\" + DateTime.Now.ToString("yyyy-MM-dd") + "\\";
ToCSV(list, colNames, 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");
}
/// <summary>
......
......@@ -1752,6 +1752,9 @@
case 'semi_prod_inventory_amount':
showdetail(title + ' 生产库存', '@Url.Content("~/Reports/Finance/SemiProductionStock?type=semi_prod_inventory_amount")&date=' + title + '&paycompanyid=' + paycompany);
return false;
case 'purchase_pro_amount':
showdetail(title + ' 生产采购在途', '@Url.Content("~/Reports/Finance/ListProductOnway?date=")' + title + '&paycompanyid=' + paycompany);
return false;
}
return false;
......
@{
ViewData["Title"] = "自产采购在途明细";
Layout = "~/Pages/Shared/_MainLayout.cshtml";
}
<div class="row">
<div class="col-sm-12">
<div class="ibox-content m-b-sm border-bottom">
<form id="toolbar">
<div class="form-inline" style="line-height:40px;">
<div class="form-group">
<label>日期</label>
<input id="date" name="date" type="text" class="form-control" style="width:130px;" value="@(ViewBag.date)" />
</div>
<div class="form-group">
<button type="button" class="btn btn-success" onclick="list();">搜索</button>
<button type="button" class="btn btn-primary" onclick="exportFile();">导出</button>
</div>
</div>
</form>
</div>
<div class="ibox-content m-b-sm border-bottom">
<table id="roletable" style="table-layout:fixed;"></table>
</div>
</div>
</div>
@section css{
<style>
.mules {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
}
@section scripts{
<script type="text/javascript">
var tb;
$(document).ready(function () {
laydate.render({ elem: '#date' });
var height = document.body.clientHeight;
$("#roletable").attr("data-height", (height - 170));
list();
})
function list() {
var date = $('#date').val();
if (date == '') {
alert('请选择日期');
return false;
}
var columns = [
{ field: 'record_time', title: '统计日期', width: '120' },
{ field: 'bailun_sku', title: 'Sku编码', width: '130' },
{ field: 'warehouse_name', title: '仓库名称', width: '150' },
{ field: 'quantity_purchase', title: '在途数量', width: '110' },
{ field: 'unit_price', title: '采购价', width: '110' },
{ field: 'amount', title: '总金额', width: '110' },
{ field: 'buyer_name', title: '采购员名称', width: '130' }
];
var url = '@Url.Content("~/Reports/Finance/ListProductOnwayJson")' + '?date=' + date;
if (tb == undefined) {
tb = OnlyTable("roletable", columns, url, "");
}
else {
tb.bootstrapTable('refresh', { url: url });
}
}
function exportFile() {
var date = $('#date').val();
if (date == '') {
alert('请选择日期');
return false;
}
window.open('@Url.Content("~/Reports/Finance/ListProductOnwayExport?date=")' + date, '_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