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 ZoneDefineController : BaseController
{
private IZoneDefineService service;
public ZoneDefineController(IZoneDefineService _service)
{
service = _service;
}
//
// GET: /Menu/
public ActionResult Index()
{
return View();
}
///
/// 获取菜单管理列表数据
///
///
///
///
///
///
public ActionResult getZoneListByPage(string zoneName, string zoneDesc, Pager pager, String direction, String sort, string enabled = "Y")
{
int factoryId = CurrentEmp.FactoryId;
Hashtable result = new Hashtable();
result.Add("pager.pageNo",pager.pageNo);
Hashtable dataHt = this.service.getZoneListByPage(zoneName, zoneDesc, enabled, factoryId, 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 getSelectWarehouse()
{
String factoryId = CurrentEmp.FactoryId.ToString();//获取当前工厂
Hashtable result = new Hashtable();
List menuList = this.service.getSelectWarehouse(factoryId);
result.Add("list", menuList);
return Json(result);
}
///
/// 保存菜单数据
///
///
public ActionResult saveZone()
{
String editType = Request.Form["editType"].ToString();
String zoneId = Request.Form["zoneId"].ToString();
String zoneName = Request.Form["zoneName"].ToString();
String zoneDesc = Request.Form["zoneDesc"].ToString();
String warehouseId = Request.Form["warehouseId"].ToString();
List warelist= service.getSelectWarehouseInfo(warehouseId);
String warehouseName = "";
if (warelist.Count>0)
{
warehouseName = warelist[0].WarehouseName;
}
String erpWarehouse = Request.Form["erpWarehouse"].ToString();
String enabled = Request.Form["enabled"].ToString();
////传递要更新的数据库字段 2013 0327 14:05 by NOAH
SysZone sysZone = new SysZone();
//sysWarehouse.WarehouseName = warehouseName;
sysZone.ZoneName = zoneName;
sysZone.ZoneDesc = zoneDesc;
sysZone.WarehouseName = warehouseName;
sysZone.FactoryId = CurrentEmp.FactoryId;
sysZone.FactoryCode = CurrentEmp.FactoryCode;
sysZone.WarehouseId = warehouseId == "" ? 0 : Convert.ToInt32(warehouseId);
sysZone.ErpWarehouse = erpWarehouse;
//sysWarehouse.WarehouseDesc = warehouseDesc;
sysZone.Enabled = enabled;
String message = "";
if (editType != null && editType.Trim().Equals("edit"))
{
try
{
sysZone.ZoneId = Convert.ToInt32(zoneId);
sysZone.UpdateUserId = CurrentEmp.EmpId;
this.service.updateZone(sysZone);
message = "修改成功";
}
catch (Exception e)
{
message = "修改失败!";
}
}
else
{
try
{
if (this.service.getZoneByExistName(zoneName)!=null)
{
message = "库区代码已存在,请检查!";
}
else
{
sysZone.CreateUserId = CurrentEmp.EmpId;
this.service.saveZone(sysZone);
message = "添加成功";
}
}
catch (Exception e)
{
message = "添加失败!";
}
}
Hashtable result = new Hashtable();
result.Add("message", message);
return Json(result) ;
}
///
/// 编辑菜单
///
///
///
public ActionResult editZone(String zoneId)
{
if (!string.IsNullOrEmpty(zoneId))
{
Hashtable ht = this.service.getZoneDetail(zoneId);
ViewData.Add("editType", "edit");
ViewData.Add("zoneId", ht["zoneId"]);
ViewData.Add("zoneName", ht["zoneName"]);
ViewData.Add("zoneDesc", ht["zoneDesc"]);
ViewData.Add("erpWarehouse", ht["erpWarehouse"]);
ViewData.Add("warehouseId", ht["warehouseId"]);
ViewData.Add("factoryId", ht["factoryId"]);
ViewData.Add("enabled", ht["enabled"]);
}
else
{
ViewData.Add("editType", "new");
}
return View("EditZoneDefine");
}
///
/// 删除菜单
///
///
///
public ActionResult deleteZone(String ids)
{
int delCount = 0;
try
{
delCount = this.service.deleteZone(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.EnableZone(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.DisableZone(ids);
}
catch (Exception e)
{
delCount = -1;
}
Hashtable result = new Hashtable();
result.Add("status", delCount);
return Json(result);
}
/// 导入
///
///
public ActionResult importFile()
{
int factoryId = CurrentEmp.FactoryId;
string factoryCode = CurrentEmp.FactoryCode;
Hashtable result = new Hashtable();
IFormFile file = Request.Form.Files[0];
List data = ExcelHelper.GetList(file, 0);
result = service.ImportExcel(data, factoryId, factoryCode, CurrentEmp.EmpId);
return Json(result);
}
public ActionResult uploadFile()
{
return View("uploadFile");
}
///
/// 导出数据到Excel
/// BY NOAH
/// carImport
///
public ActionResult exportData(string zoneName, string zoneDesc, string enabled = "Y")
{
List listHt = this.service.getExportList(zoneName, zoneDesc, enabled, CurrentEmp.FactoryId);
var memoryStream = ExcelHelper.ToExcel(listHt);
string dateTime = DateTime.Now.ToString("yyyyMMddHHmmss");
return File(memoryStream.ToArray(), "application/ms-excel", "库区管理" + dateTime + ".xls");
}
/// k
/// 下载模板
///
///
public ActionResult downLoadExcel(string rackPart, string partPackage, string enabled = "Y")
{
List listHt = new List();//导出空数据模板
var memoryStream = ExcelHelper.ToExcel(listHt);
string dateTime = DateTime.Now.ToString("yyyyMMddHHmmss");
return File(memoryStream.ToArray(), "application/ms-excel", "库区管理"+ dateTime + ".xls");
}
}
}