using System.Collections;
using Aspose.Cells;
using Microsoft.AspNetCore.Mvc;
using Estsh.Core.Services.IServices;
using Estsh.Core.Model.Result;
using Estsh.Core.Models;
using System.Text.Json;
using Estsh.Core.Controllers;
using Estsh.Core.Util;
using System.Data;
using NPOI.HSSF.UserModel;
using Estsh.Core.Model.ExcelModel;
/***************************************************************************************************
*
* 更新人:sitong.dong
* 描述:客户订单维护
* 修改时间:2022.06.22
* 修改日志:系统迭代升级
*
**************************************************************************************************/
namespace Estsh.Core.Web.Controllers
{
///
/// 客户订单维护
///
public class CustomerOrderController : BaseController
{
private ICustomerOrderService service;
public CustomerOrderController(ICustomerOrderService _service)
{
this.service = _service;
}
//
// GET: /CustomerOrder/
public ActionResult Index()
{
return View();
}
///
/// 获取客户订单维护列表数据
///
/// 菜单名称
/// 分页
/// 排序方式
/// 排序列
///
public ActionResult getCustomerOrderListByPage(String partNo,String custOrder, Pager pager, String direction, String sort, String enabled = "Y")
{
Hashtable result = new Hashtable();
result.Add("pager.pageNo", pager.pageNo);
Hashtable dataHt = this.service.getCustomerOrderListByPage(partNo,custOrder, pager, direction, sort, enabled);
result.Add("rows", dataHt["dataList"]);
result.Add("pager.totalRows", dataHt["totalCount"]);
result.Add("sort", sort);
result.Add("direction", direction);
return Json(result);
}
///
/// 获取下拉列表数据
///
///
public ActionResult getSelectCustomerOrder()
{
Hashtable result = new Hashtable();
List CustomerOrderList = this.service.getSelectCustomerOrder();
result.Add("list", CustomerOrderList);
return Json(result);
}
///
/// 保存数据
///
///
public ActionResult saveCustomerOrder()
{
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.updateCustomerOrder(sysPartCustOrder);
message = "修改成功";
}
catch (Exception e)
{
message = "修改失败!";
}
}
else
{
try
{
sysPartCustOrder.CreateUserId = CurrentEmp.EmpId;
this.service.saveCustomerOrder(sysPartCustOrder);
message = "添加成功";
}
catch (Exception e)
{
message = "添加失败!";
}
}
Hashtable result = new Hashtable();
result.Add("message", message);
return Json(result);
}
///
/// 查看详情
///
///
///
public ActionResult getCustomerOrder(String CustomerOrder_id)
{
List CustomerOrderInfo = this.service.getCustomerOrder(CustomerOrder_id);
ViewData.Add("partId", CustomerOrderInfo[0].PartId);
ViewData.Add("custOrder", CustomerOrderInfo[0].CustOrder);
ViewData.Add("shipUnit", CustomerOrderInfo[0].ShipUnit);
return View("viewCustomerOrder");
}
///
/// 编辑
///
///
///
public ActionResult editCustomerOrder(String partId)
{
if (!string.IsNullOrEmpty(partId))
{
List CustomerOrderInfo = this.service.getCustomerOrder(partId);
ViewData.Add("editType", "edit");
ViewData.Add("partId", partId);
ViewData.Add("custOrder", CustomerOrderInfo[0].CustOrder);
ViewData.Add("shipUnit", CustomerOrderInfo[0].ShipUnit);
}
else
{
ViewData.Add("editType", "new");
}
return View("EditCustomerOrder");
}
///
/// 删除
///
///
///
public ActionResult deleteCustomerOrder(String ids)
{
int delCount = 0;
try
{
delCount = this.service.deleteCustomerOrder(ids);
}
catch (Exception e)
{
delCount = -1;
}
Hashtable result = new Hashtable();
result.Add("status", delCount);
return Json(result);
}
///
/// 启用
///
///
///
public ActionResult onEnable(String ids)
{
int delCount = 0;
try
{
delCount = this.service.EnableData(ids);
}
catch (Exception e)
{
delCount = -1;
}
Hashtable result = new Hashtable();
result.Add("status", delCount);
return Json(result);
}
///
/// 禁用
///
///
///
public ActionResult onDisable(String ids)
{
int delCount = 0;
try
{
delCount = this.service.DisableData(ids);
}
catch (Exception e)
{
delCount = -1;
}
Hashtable result = new Hashtable();
result.Add("status", delCount);
return Json(result);
}
///
/// 导出
///
///
///
///
///
///
///
public ActionResult ExportCustomerOrder(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");
}
}
}