using Estsh.Core.Controllers;
using Estsh.Core.Model.ExcelModel;
using Estsh.Core.Model.Result;
using Estsh.Core.Models;
using Estsh.Core.Services.IServices;
using Estsh.Core.Util;
using Microsoft.AspNetCore.Mvc;
using System.Collections;
/***************************************************************************************************
*
* 更新人:sitong.dong
* 描述:库存产量查询
* 修改时间:2022.06.22
* 修改日志:系统迭代升级
*
**************************************************************************************************/
namespace Estsh.Core.Web.Controllers
{
///
/// 库存产量查询
///
public class ProduceStockController : BaseController
{
private IProduceStockService service;
public ProduceStockController(IProduceStockService _service)
{
service = _service;
}
//
// GET: /ProduceStock/
public ActionResult Index()
{
return View();
}
///
/// 获取库存产量查询汇总
///
///
public ActionResult GetSummary(Pager pager, String enabled = "Y")
{
#if(false)
string _where = "";
string typeId = string.Empty;
StringBuilder data = new StringBuilder();
if (!string.IsNullOrEmpty(Request.Form["cbTypeName"]))
{
_where += " and typeId='" + Request.Form["cbTypeName"].ToString() + "'";
typeId = Request.Form["cbTypeName"].ToString();
}
if (!string.IsNullOrEmpty(Request.Form["txtStartCarno"]) && !string.IsNullOrEmpty(Request.Form["txtEndCarno"]))
{
_where += " and a.car_no>= '" + Request.Form["txtStartCarno"].ToString().Trim() + "' and a.car_no<='" + Request.Form["txtEndCarno"].ToString().Trim() + "' ";
}
if (!string.IsNullOrEmpty(Request.Form["type"]))
{
string sbustr = string.Empty;
String[] str = Request.Form["type"].ToString().Split(',');
for (int i = 0; i < str.Length; i++)
{
sbustr += string.Format("'{0}',", str[i]);
}
char[] Splitor = { ',' };
sbustr = sbustr.TrimEnd(Splitor);
_where += "AND a.type in (" + sbustr + ")";
}
if (!string.IsNullOrEmpty(Request.Form["StartTime"]) && !string.IsNullOrEmpty(Request.Form["EndTime"]))
{
if (!string.IsNullOrEmpty(Request.Form["txtStartCarno"]) && !string.IsNullOrEmpty(Request.Form["txtEndCarno"]))
{
_where += " and convert(datetime,a.create_ymd) between convert(datetime,'" + Request.Form["StartTime"].ToString() + "') and convert(datetime,'" + Request.Form["EndTime"].ToString() + "') ";
}
else
{
_where += " and ((a.out_pdline_ymd = convert(varchar(10),'" + Request.Form["StartTime"].ToString() + "',23) and a.out_pdline_hms >= convert(varchar(10),'" + Request.Form["StartTime"].ToString() + "',108)) ";
_where += " or (a.out_pdline_ymd > convert(varchar(10),'" + Request.Form["StartTime"].ToString() + "',23) and a.out_pdline_ymd < convert(varchar(10),'" + Request.Form["EndTime"].ToString() + "',23))";
_where += " or (a.out_pdline_ymd = convert(varchar(10),'" + Request.Form["EndTime"].ToString() + "',23) and a.out_pdline_hms <= convert(varchar(10),'" + Request.Form["EndTime"].ToString() + "',108)))";
}
}
Hashtable hs = new Hashtable();
DataTable dt = new DataTable();
ArrayList list = service.GetSummary(_where, ref dt);
//获取明细
DataTable dtdetail = new DataTable();
ArrayList listDetail = service.GetSummaryDtail(_where, typeId, ref dtdetail);
ViewData.Add("users", dt);
ViewData.Add("usersDetail", dtdetail);
ViewData.Add("typeId", typeId);
ViewData.Add("StartCar_no", Request.Form["txtStartCarno"].ToString().Trim());
ViewData.Add("EndCar_no", Request.Form["txtEndCarno"].ToString().Trim());
ViewData.Add("type", Request.Form["type"].ToString());
Session["dt"] = dt;
Session["dtdetail"] = dtdetail;
return View("~/Views/ProduceQuery/ProduceQuery.aspx");
#endif
if (string.IsNullOrEmpty(Request.Form["startDate"]))
{
return Json("");
}
DateTime startDate = Convert.ToDateTime(Request.Form["startDate"]);
DateTime stopDate = Convert.ToDateTime(Request.Form["stopDate"]);
string typeId = Request.Form["typeId"];
string startCarNumber = Request.Form["startCarNumber"];
string stopCarNumber = Request.Form["stopCarNumber"];
string whereStr = string.Empty;
if (string.IsNullOrEmpty(typeId) == false)
{
whereStr += " typeId='" + typeId + "' and";
}
if (string.IsNullOrEmpty(startCarNumber) == false)
{
whereStr += " a.car_no>= '" + startCarNumber + "' and";
}
if (string.IsNullOrEmpty(stopCarNumber) == false)
{
whereStr += " a.car_no<= '" + stopCarNumber + "' and";
}
whereStr += " create_time between '" + startDate + "' and '" + stopDate + "' ";
if (enabled != null && !enabled.Trim().Equals(""))
{
whereStr += " and a.enabled = '" + enabled + "'";
}
String factoryId = CurrentEmp.FactoryId.ToString();
if (factoryId != null && !factoryId.Trim().Equals(""))
{
whereStr += " and a.factory_id = '" + factoryId + "'";
}
Hashtable ht = service.GetSummary(whereStr, pager);
if (ht != null && ht.Count == 2)
{
Hashtable result = new Hashtable();
result.Add("rows", ht["dataList"]);
result.Add("pager.totalRows", ht["totalCount"]);
return Json(result);
}
else
{
return Json("");
}
}
public ActionResult GetDetail(Pager pager, String enabled = "Y")
{
if (string.IsNullOrEmpty(Request.Form["startDate"]))
{
return Json("");
}
DateTime startDate = Convert.ToDateTime(Request.Form["startDate"]);
DateTime stopDate = Convert.ToDateTime(Request.Form["stopDate"]);
string typeId = Request.Form["typeId"];
string startCarNumber = Request.Form["startCarNumber"];
string stopCarNumber = Request.Form["stopCarNumber"];
string whereStr = string.Empty;
if (string.IsNullOrEmpty(typeId) == false)
{
whereStr += " typeId='" + typeId + "' and";
}
if (string.IsNullOrEmpty(startCarNumber) == false)
{
whereStr += " a.car_no>= '" + startCarNumber + "' and";
}
if (string.IsNullOrEmpty(stopCarNumber) == false)
{
whereStr += " a.car_no<= '" + stopCarNumber + "' and";
}
whereStr += " create_time between '" + startDate + "' and '" + stopDate + "' ";
if (enabled != null && !enabled.Trim().Equals(""))
{
whereStr += " and a.enabled = '" + enabled + "'";
}
String factoryId = CurrentEmp.FactoryId.ToString();
if (factoryId != null && !factoryId.Trim().Equals(""))
{
whereStr += " and a.factory_id = '" + factoryId + "'";
}
Hashtable ht = service.GetDetail(whereStr, pager);
if (ht != null && ht.Count == 2)
{
Hashtable result = new Hashtable();
result.Add("rows", ht["dataList"]);
result.Add("pager.totalRows", ht["totalCount"]);
return Json(result);
}
else
{
return Json("");
}
}
public ActionResult GetStatisticsData(Pager pager, String enabled = "Y")
{
if (string.IsNullOrEmpty(Request.Form["startDate"]))
{
return Json("");
}
DateTime startDate = Convert.ToDateTime(Request.Form["startDate"]);
DateTime stopDate = Convert.ToDateTime(Request.Form["stopDate"]);
string typeId = Request.Form["typeId"];
string startCarNumber = Request.Form["startCarNumber"];
string stopCarNumber = Request.Form["stopCarNumber"];
string whereStr = string.Empty;
if (string.IsNullOrEmpty(typeId) == false)
{
whereStr += " typeId='" + typeId + "' and";
}
if (string.IsNullOrEmpty(startCarNumber) == false)
{
whereStr += " a.car_no>= '" + startCarNumber + "' and";
}
if (string.IsNullOrEmpty(stopCarNumber) == false)
{
whereStr += " a.car_no<= '" + stopCarNumber + "' and";
}
whereStr += " create_time between '" + startDate + "' and '" + stopDate + "' ";
if (enabled != null && !enabled.Trim().Equals(""))
{
whereStr += " and a.enabled = '" + enabled + "'";
}
String factoryId = CurrentEmp.FactoryId.ToString();
if (factoryId != null && !factoryId.Trim().Equals(""))
{
whereStr += " and a.factory_id = '" + factoryId + "'";
}
Hashtable ht = service.GetStatisticsData(whereStr, pager);
if (ht != null && ht.Count == 2)
{
Hashtable result = new Hashtable();
result.Add("rows", ht["dataList"]);
result.Add("pager.totalRows", ht["totalCount"]);
return Json(result);
}
else
{
return Json("");
}
}
///
/// 获取列表数据
///
/// 菜单名称
/// 分页
/// 排序方式
/// 排序列
///
public ActionResult getProduceStockListByPage(String typeId, String CarNumber,String CarNumber2,String Date ,String Date2, Pager pager, String direction, String sort)
{
if (typeId == "" || typeId == null)
{
return Json("");
}
Hashtable result = new Hashtable();
result.Add("pager.pageNo", pager.pageNo);
Hashtable dataHt = this.service.getProduceStockListByPage(typeId, CarNumber,CarNumber2,Date,Date2, pager, direction, sort);
result.Add("rows", dataHt["dataList"]);
result.Add("pager.totalRows", dataHt["totalCount"]);
result.Add("sort", sort);
result.Add("direction", direction);
return Json(result);
}
///
/// 获取下拉列表数据
///
///
public ActionResult getType()
{
Hashtable result = new Hashtable();
List ProduceStockList = this.service.getType();
result.Add("list", ProduceStockList);
return Json(result);
}
///
/// 保存数据
///
///
public ActionResult saveProduceStock()
{
String editType = Request.Form["editType"].ToString();
String partId = Request.Form["partId"].ToString();
String custOrder = Request.Form["custOrder"].ToString();
String shipUnit = Request.Form["shipUnit"].ToString();
SysPartCustOrder sysPartCustOrder = new SysPartCustOrder();
sysPartCustOrder.PartId =Convert.ToInt32( partId);
sysPartCustOrder.CustOrder = custOrder;
sysPartCustOrder.ShipUnit = shipUnit;
String message = "";
if (editType != null && editType.Trim().Equals("edit"))
{
try
{
sysPartCustOrder.UpdateUserId = CurrentEmp.EmpId;
this.service.updateProduceStock(sysPartCustOrder);
message = "修改成功";
}
catch (Exception e)
{
message = "修改失败!";
}
}
else
{
try
{
sysPartCustOrder.CreateUserId = CurrentEmp.EmpId;
this.service.saveProduceStock(sysPartCustOrder);
message = "添加成功";
}
catch (Exception e)
{
message = "添加失败!";
}
}
Hashtable result = new Hashtable();
result.Add("message", message);
return Json(result);
}
///
/// 查看详情
///
///
///
public ActionResult getProduceStock(String ProduceStock_id)
{
List ProduceStockInfo = this.service.getProduceStock(ProduceStock_id);
ViewData.Add("partId", ProduceStockInfo[0].PartId);
ViewData.Add("custOrder", ProduceStockInfo[0].CustOrder);
ViewData.Add("shipUnit", ProduceStockInfo[0].ShipUnit);
return View("viewProduceStock");
}
///
/// 编辑
///
///
///
public ActionResult editProduceStock(String partId)
{
List ProduceStockInfo = this.service.getProduceStock(partId);
ViewData.Add("editType", "edit");
ViewData.Add("partId", partId);
ViewData.Add("custOrder", ProduceStockInfo[0].CustOrder);
ViewData.Add("shipUnit", ProduceStockInfo[0].ShipUnit);
return View("EditProduceStock");
}
///
/// 删除
///
///
///
public ActionResult deleteProduceStock(String ids)
{
int delCount = 0;
try
{
delCount = this.service.deleteProduceStock(ids);
}
catch (Exception e)
{
delCount = -1;
}
Hashtable result = new Hashtable();
result.Add("status", delCount);
return Json(result);
}
///
/// 导出
///
///
///
///
///
///
///
public ActionResult ExportProduceStock(String partNo, String custOrder, Pager pager, String sort, String direction, String isPage)
{
Boolean paging = false;
if (isPage == null || "".Equals(isPage))
{
paging = false;
}
else
{
if ("1".Equals(isPage))
{
paging = true;
}
else
{
paging = false;
}
}
Hashtable dataHt = this.service.getTableListByPage(partNo, custOrder, pager, direction, sort, paging);
List listHt = (List)dataHt["dataList"];
var memoryStream = ExcelHelper.ToExcel(listHt);
return File(memoryStream.ToArray(), "application/ms-excel", "客户订单号明细.xls");
}
}
}