using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Estsh.Web.Util; using Estsh.Web.Service; using System.Collections; using System.Text.RegularExpressions; using System.Data; using NPOI.HSSF.UserModel; using System.IO; using Estsh.Web.Models; namespace Estsh.Core.Web.Controllers { /** * 客户产线对应关系 * * NOAH * */ public class SRMDefineController : Controller { private SRMDefineService service = new SRMDefineService(); // // GET: /Menu/ public ActionResult Index() { return View(); } /// /// 加载功能树 /// /// public ActionResult getMenuTree() { string path = Request.ApplicationPath; if (path.EndsWith("/")) { path = path.Substring(0, path.Length - 1); } List treeNodes = new List(); treeNodes = service.getMenuList("isIndex = '是'", " RUID ASC ", path); Hashtable result = new Hashtable(); result.Add("treeNodes", treeNodes); String json = Estsh.Web.Util.JSON.Encode(result); return Json(result, JsonRequestBehavior.AllowGet); } /// /// 获取菜单管理列表数据 /// /// /// /// /// /// public ActionResult getSRMListByPage(String VIN, String txtStartTime, String txtEndTime, Pager pager, String direction, String sort) { Hashtable result = new Hashtable(); result.Add("pager.pageNo", pager.pageNo); ArrayList menuList = this.service.getSRMListByPage(VIN, txtStartTime, txtEndTime, pager, direction, sort); result.Add("rows", menuList); int total = this.service.getMenuCount(VIN, txtStartTime, txtEndTime); result.Add("pager.totalRows", total); result.Add("sort", sort); result.Add("direction", direction); return Json(result); } //获取发运信息 public ActionResult getShipByPage(String VIN, String txtStartTime, String txtEndTime, String type, Pager pager, String direction, String sort) { Hashtable result = new Hashtable(); result.Add("pager.pageNo", pager.pageNo); ArrayList menuList = this.service.getShipByPage(VIN, txtStartTime, txtEndTime, type, pager, direction, sort); result.Add("rows", menuList); int total = this.service.getShipCount(VIN, txtStartTime, txtEndTime, type); result.Add("pager.totalRows", total); result.Add("sort", sort); result.Add("direction", direction); return Json(result); } /// /// 保存菜单数据 /// /// public ActionResult saveModelType() { Hashtable result = new Hashtable(); String message = ""; String flag = ""; String editType = Request["editType"].ToString(); String type_id = Request["type_id"].ToString(); String type_code = Request["type_code"].ToString(); String type_name = Request["type_name"].ToString(); String type_alias = Request["type_alias"].ToString(); String type_desc = Request["type_desc"].ToString(); //传递要更新的数据库字段 Hashtable htParams = new Hashtable(); htParams.Add("@type_code", type_code); htParams.Add("@type_name", type_name); htParams.Add("@type_alias", type_alias); htParams.Add("@type_desc", type_desc); //用户id UserInfo user = (UserInfo)Session["loginedUser"]; htParams.Add("@update_userid", user.updateUserId); htParams.Add("@create_userid", user.updateUserId); if (editType != null && editType.Trim().Equals("edit")) { try { htParams.Add("@type_id", type_id); this.service.updateModelType(htParams); message = "修改成功"; flag = "OK"; } catch (Exception e) { message = "修改失败!"; flag = "Fail"; } } else { try { htParams.Add("@type_id", type_id); this.service.saveModelType(htParams); message = "添加成功"; flag = "OK"; } catch (Exception e) { message = "添加失败!"; flag = "Fail"; } } result.Add("message", message); result.Add("flag", flag); return Json(result); } /// /// 查看菜单详情 /// /// /// public ActionResult getModelTypeDetail(String type_id) { Hashtable ht = this.service.getModelTypeDetail(type_id); ViewData.Add("type_id", ht["type_id"]); ViewData.Add("type_code", ht["type_code"]); ViewData.Add("type_name", ht["type_name"]); ViewData.Add("type_alias", ht["type_alias"]); ViewData.Add("type_desc", ht["type_desc"]); ViewData.Add("cust_pdline_name", ht["cust_pdline_name"]); return View("~/Views/ModelTypeDefine/ViewModelTypeDefine.aspx"); } /// /// 编辑菜单 /// /// /// public ActionResult editModelType(String type_id) { Hashtable ht = this.service.getModelTypeDetail(type_id); ViewData.Add("editType", "edit"); ViewData.Add("type_id", ht["type_id"]); ViewData.Add("type_code", ht["type_code"]); ViewData.Add("type_name", ht["type_name"]); ViewData.Add("type_alias", ht["type_alias"]); ViewData.Add("type_desc", ht["type_desc"]); ViewData.Add("cust_pdline_name", ht["cust_pdline_name"]); return View("~/Views/ModelTypeDefine/EditModelTypeDefine.aspx"); } /// /// 删除菜单 /// /// /// public ActionResult deleteSRM(String ids) { int delCount = 0; try { delCount = this.service.deleteSRM(ids); } catch (Exception e) { delCount = -1; } Hashtable result = new Hashtable(); result.Add("status", delCount); return Json(result); } /// /// 导出数据到Excel /// BY NOAH /// /// /// /// /// /// /// public ActionResult exportData(String vin, String txtStartTime, String txtEndTime, Pager pager, String sort, String direction, String isPage) { Boolean paging = false; if (isPage == null || "".Equals(isPage)) { paging = false; } else { if ("1".Equals(isPage.Trim())) { paging = true; } else { paging = false; } } DataTable dataHt = this.service.getTableListByPage(vin, txtStartTime, txtEndTime, pager, direction, sort, paging);//txtOrderNo, pager, direction, sort, paging HSSFWorkbook workbook = new HSSFWorkbook(); Stream outputStream = Response.OutputStream; HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet("SRM管理"); try { if (workbook != null) { HSSFRow headRow = (HSSFRow)sheet.CreateRow(0); headRow.CreateCell(0).SetCellValue("ID"); headRow.CreateCell(1).SetCellValue("VIN号"); headRow.CreateCell(2).SetCellValue("导入号"); headRow.CreateCell(3).SetCellValue("过点序号"); headRow.CreateCell(4).SetCellValue("物料编号"); headRow.CreateCell(5).SetCellValue("物料名称"); headRow.CreateCell(6).SetCellValue("需求数量"); headRow.CreateCell(7).SetCellValue("订单日期"); headRow.CreateCell(8).SetCellValue("订单编号"); headRow.CreateCell(9).SetCellValue("制单日期"); headRow.CreateCell(10).SetCellValue("订单状态"); headRow.CreateCell(11).SetCellValue("单据打印"); headRow.CreateCell(12).SetCellValue("供应商名称"); headRow.CreateCell(13).SetCellValue("回执时间"); headRow.CreateCell(14).SetCellValue("更新时间"); headRow.CreateCell(15).SetCellValue("导入时间"); } for (int i = 0; i < dataHt.Rows.Count; i++) { int row = i + 1; HSSFRow dataRow = (HSSFRow)sheet.CreateRow(row); dataRow.CreateCell(0).SetCellValue(dataHt.Rows[i]["ruid"].ToString()); dataRow.CreateCell(1).SetCellValue(dataHt.Rows[i]["VIN"].ToString()); dataRow.CreateCell(2).SetCellValue(dataHt.Rows[i]["importNo"].ToString()); dataRow.CreateCell(3).SetCellValue(dataHt.Rows[i]["crossingPointNo"].ToString()); dataRow.CreateCell(4).SetCellValue(dataHt.Rows[i]["partNo"].ToString()); dataRow.CreateCell(5).SetCellValue(dataHt.Rows[i]["partName"].ToString()); dataRow.CreateCell(6).SetCellValue(dataHt.Rows[i]["xuQiuQty"].ToString()); dataRow.CreateCell(7).SetCellValue(dataHt.Rows[i]["dingDanTime"].ToString()); dataRow.CreateCell(8).SetCellValue(dataHt.Rows[i]["dingDanNo"].ToString()); dataRow.CreateCell(9).SetCellValue(dataHt.Rows[i]["zhiDanTime"].ToString()); dataRow.CreateCell(10).SetCellValue(dataHt.Rows[i]["dingDanStatus"].ToString()); dataRow.CreateCell(11).SetCellValue(dataHt.Rows[i]["danJuPrint"].ToString()); dataRow.CreateCell(12).SetCellValue(dataHt.Rows[i]["vendorName"].ToString()); dataRow.CreateCell(13).SetCellValue(dataHt.Rows[i]["huiZhiTime"].ToString()); dataRow.CreateCell(14).SetCellValue(dataHt.Rows[i]["updateTime"].ToString()); dataRow.CreateCell(15).SetCellValue(dataHt.Rows[i]["importTime"].ToString()); } Response.Clear(); workbook.Write(outputStream); Response.Buffer = true; Response.AppendHeader("Content-Disposition", "attachment;filename=SRM管理.xls"); Response.ContentEncoding = System.Text.Encoding.UTF8; Response.ContentType = "application/vnd.ms-excel"; Response.Flush(); } catch (Exception e) { } finally { workbook = null; } return null; } public ActionResult exportDataShip(String vin, String txtStartTime, String txtEndTime, String type, Pager pager, String sort, String direction, String isPage) { Boolean paging = false; if (isPage == null || "".Equals(isPage)) { paging = false; } else { if ("1".Equals(isPage.Trim())) { paging = true; } else { paging = false; } } DataTable dataHt = this.service.getShipByPage(vin, txtStartTime, txtEndTime, type, pager, direction, sort, paging); HSSFWorkbook workbook = new HSSFWorkbook(); Stream outputStream = Response.OutputStream; HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet("入库校验管理"); try { if (workbook != null) { HSSFRow headRow = (HSSFRow)sheet.CreateRow(0); headRow.CreateCell(0).SetCellValue("ID"); headRow.CreateCell(1).SetCellValue("VIN号"); headRow.CreateCell(2).SetCellValue("导入号"); headRow.CreateCell(3).SetCellValue("过点序号"); headRow.CreateCell(4).SetCellValue("物料编号"); headRow.CreateCell(5).SetCellValue("物料名称"); headRow.CreateCell(6).SetCellValue("需求数量"); headRow.CreateCell(7).SetCellValue("条码"); headRow.CreateCell(8).SetCellValue("入库扫描时间"); headRow.CreateCell(9).SetCellValue("RFID信息"); headRow.CreateCell(10).SetCellValue("校验状态"); headRow.CreateCell(11).SetCellValue("扫描状态"); } for (int i = 0; i < dataHt.Rows.Count; i++) { int row = i + 1; HSSFRow dataRow = (HSSFRow)sheet.CreateRow(row); dataRow.CreateCell(0).SetCellValue(dataHt.Rows[i]["ruid"].ToString()); dataRow.CreateCell(1).SetCellValue(dataHt.Rows[i]["VIN"].ToString()); dataRow.CreateCell(2).SetCellValue(dataHt.Rows[i]["importNo"].ToString()); dataRow.CreateCell(3).SetCellValue(dataHt.Rows[i]["crossingPointNo"].ToString()); dataRow.CreateCell(4).SetCellValue(dataHt.Rows[i]["partNo"].ToString()); dataRow.CreateCell(5).SetCellValue(dataHt.Rows[i]["partName"].ToString()); dataRow.CreateCell(6).SetCellValue(dataHt.Rows[i]["xuQiuQty"].ToString()); dataRow.CreateCell(7).SetCellValue(dataHt.Rows[i]["serial_number"].ToString()); dataRow.CreateCell(8).SetCellValue(dataHt.Rows[i]["inTime"].ToString()); dataRow.CreateCell(9).SetCellValue(dataHt.Rows[i]["rfid"].ToString()); dataRow.CreateCell(10).SetCellValue(dataHt.Rows[i]["status"].ToString()); dataRow.CreateCell(11).SetCellValue(dataHt.Rows[i]["scan_status"].ToString()); } Response.Clear(); workbook.Write(outputStream); Response.Buffer = true; Response.AppendHeader("Content-Disposition", "attachment;filename=入库校验管理.xls"); Response.ContentEncoding = System.Text.Encoding.UTF8; Response.ContentType = "application/vnd.ms-excel"; Response.Flush(); } catch (Exception e) { } finally { workbook = null; } return null; } /// /// 导入Excel文件 /// /// public ActionResult importSRMInfo(string cbPdline) { Hashtable result = new Hashtable(); HttpPostedFileBase userDataFile = Request.Files[0]; UserInfo user = (UserInfo)Session["loginedUser"]; if (userDataFile == null) { return null; } result = service.ReadExcelFile(userDataFile.InputStream, user.empId, cbPdline); return Json(result); } } }