using HH.AutoBom.Core;
using HH.WMS.Common;
using HH.WMS.Entitys;
using HH.WMS.WebUI.Controllers;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace HH.WMS.WebUI.Areas.AllQuery.Controllers
{
public class ProjectYuShouController : BaseController
{
//
// GET: /AllQuery/AllQueryYuShou/
///
/// 库存数量汇总
///
///
public ActionResult InventoryIndex()
{
return View();
}
///
/// 出入库明细(上下架记录)
///
///
public ActionResult InventoryLocationHistory()
{
return View();
}
///
/// 库存业务明细
///
///
public ActionResult InventoryOrderBussQuery(){
return View();
}
///
/// 货位物料明细
///
///
public ActionResult InventoryLocation()
{
return View();
}
#region 宇寿需求变更20190926 新增业务汇总查询
public ActionResult InventorySummary()
{
return View();
}
public string GetInventorySummary(int pageIndex, int pageSize, string stockCode, string stockArea, string cn_s_ext2, string itemCode, string opType, string opNo, string location, string itemName, string model,
string productionBatch, string owner, string valueDate, string trayCode = "")
{
string[] date = new string[2];
if (!string.IsNullOrEmpty(valueDate))
date = JsonConvert.DeserializeObject(valueDate);
var loginer = FormsAuth.GetUserData();
var searchModel = new
{
TokenId = loginer.Extend1,
PageIndex = pageIndex,
PageSize = pageSize,
SearchCondition = new
{
CN_S_STOCK_CODE = stockCode,
CN_S_STOCK_AREA = stockArea,
CN_S_LOCATION_CODE = location,
CN_S_ITEM_CODE = itemCode,
CN_S_ITEM_NAME = itemName,
CN_S_MODEL = model,
CN_S_PRODUCTION_BATCH = productionBatch,
CN_S_OP_NO = opNo,
CN_S_OWNER = owner,
CN_T_START = !string.IsNullOrEmpty(valueDate) ? date[0] : "",
CN_T_END = !string.IsNullOrEmpty(valueDate) ? date[1] : "",
CN_S_TRAY_CODE = trayCode,
CN_S_EXT2 = cn_s_ext2
}
};
return HttpWMS_Post("api/Inventory/GetInventorySummary", JsonConvert.SerializeObject(searchModel));
}
public string ExportInventorySummary()
{
//XML文件流
var sr = new System.IO.StreamReader(Request.InputStream);
var stream = sr.ReadToEnd();
var loginer = FormsAuth.GetUserData();
var TokenId = loginer.Extend1;//TokenId
var DynamicObject = JsonConvert.DeserializeObject(stream);
dynamic formData = DynamicObject["formData"];
var searchModel = new
{
TokenId = loginer.Extend1,
SearchCondition = new
{
CN_S_STOCK_CODE = Util.ToStringInput(formData.stockCode),
CN_S_STOCK_AREA = Util.ToStringInput(formData.stockArea),
CN_S_ITEM_CODE = Util.ToStringInput(formData.itemCode),
CN_S_ITEM_NAME = Util.ToStringInput(formData.itemName),
CN_S_MODEL = Util.ToStringInput(formData.model),
CN_S_PRODUCTION_BATCH = Util.ToStringInput(formData.productionBatch),
CN_S_OP_NO = Util.ToStringInput(formData.opNo),
CN_S_STATE = Util.ToStringInput(formData.state),
CN_S_OWNER = Util.ToStringInput(formData.owner),
CN_S_EXT2 = Util.ToStringInput(formData.cn_s_ext2),
showArea = Util.ToStringInput(formData.showArea)
}
};
string result = HttpWMS_Post("api/Inventory/ExportInventorySummary", JsonConvert.SerializeObject(searchModel));
OperateResult or = JsonConvert.DeserializeObject(result);
string s = ((dynamic)or.Data).rows.ToString();
DataTable dt = HH.WMS.Utils.ZConvert.ToDataTableTwo(s);
//dt.Columns.Add("STOCKQTY");
//dt.Columns.Add("CN_F_STOCK_QTY");
//foreach (DataRow dr in dt.Rows)
//{
// dr["STOCKQTY"] = Convert.ToDecimal(dr["CN_F_QUANTITY"]) + Convert.ToDecimal(dr["CN_F_PLANNED_QTY"]) - Convert.ToDecimal(dr["CN_F_ALLOC_QTY"]);
// dr["CN_F_STOCK_QTY"] = Convert.ToDecimal(dr["CN_F_PLANNED_QTY"]) == 0 ? 0 : Convert.ToDecimal(dr["CN_F_QUANTITY"]) / Convert.ToDecimal(dr["CN_F_PLANNED_QTY"]);
//}
dynamic columns = DynamicObject["columns"];
string title = "库存业务汇总统计";
string fileName = title + "_" + DateTime.Now.ToString("yyyyMMddHHmmssffff") + ".xls";
or = ExcelHelper.SaveTemp(columns, title, dt, fileName);
if (or.Status == ResultStatus.Success)
return JsonConvert.SerializeObject(OperateResult.Succeed("", new { fileName = fileName }));
else
return JsonConvert.SerializeObject(or);
}
#endregion
}
}