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 } }