using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Estsh.Web.Service; using System.Data; using System.Collections; using NPOI.HSSF.UserModel; using System.IO; using Estsh.Web.Util; namespace Estsh.Core.Web.Controllers { public class NewShippingInformationDefineController:Controller { NewShippingInformationDefineService service = new NewShippingInformationDefineService(); // // GET: /Menu/ public ActionResult Index() { return View(); } string _where = ""; public string SetWhere() { int condition = 0; _where = ""; DateTime startDate = Request.RequestContext.HttpContext.Timestamp.AddDays(-1); DateTime endDate = Request.RequestContext.HttpContext.Timestamp; string starttime = startDate.ToString("yyyy-MM-dd HH:mm:ss"); string endtime = endDate.ToString("yyyy-MM-dd HH:mm:ss"); if (!string.IsNullOrEmpty(Request["txtOrderNo"])) { condition++; _where += " and a.order_no like '%" + Request["txtOrderNo"].ToString().Trim() + "%' "; } if (!string.IsNullOrEmpty(Request["txtPartNo"])) { condition++; _where += " and a.part_no = '%" + Request["txtPartNo"].ToString().Trim() + "%' "; } if (!string.IsNullOrEmpty(Request["txtStartTime"]) || !string.IsNullOrEmpty(Request["txtEndTime"])) { condition++; _where += " and a.create_ymd+' '+a.create_hms BETWEEN '" + Request["txtStartTime"].Trim() + "' and '" + Request["txtEndTime"].Trim() + "' "; } if (condition == 0) { _where += " and a.create_ymd+' '+a.create_hms BETWEEN '" + starttime + "' and '" + endtime + "' "; } return _where; } /// /// 获取列表数据 /// /// 菜单名称 /// 分页 /// 排序方式 /// 排序列 /// public ActionResult getShippingListByPage(Pager pager, String direction, String sort) { _where = SetWhere(); Hashtable result = new Hashtable(); result.Add("pager.pageNo", pager.pageNo); Hashtable dataHt = this.service.getShippingListByPage(_where, pager); result.Add("rows", dataHt["dataList"]); result.Add("pager.totalRows", dataHt["totalCount"]); result.Add("sort", sort); result.Add("direction", direction); return Json(result); } public ActionResult getShippingListDetail(String ruid) { Hashtable ht = this.service.getShippingListDetail(ruid); ViewData.Add("ruid", ht["ruid"]); ViewData.Add("order_no", ht["order_no"]); ViewData.Add("part_no", ht["part_no"]); ViewData.Add("part_spec", ht["part_spec"]); ViewData.Add("qty", ht["qty"]); ViewData.Add("piqty", ht["piqty"]); return View("~/Views/NewShippingInformationDefine/ViewNewShippingInformationListDefine.aspx"); } /// /// 编辑菜单 /// /// /// public ActionResult editShippingList(String ruid) { Hashtable ht = this.service.getShippingListDetail(ruid); ViewData.Add("editType", "edit"); ViewData.Add("ruid", ht["ruid"]); ViewData.Add("order_no", ht["order_no"]); ViewData.Add("part_no", ht["part_no"]); ViewData.Add("part_spec", ht["part_spec"]); ViewData.Add("qty", ht["qty"]); ViewData.Add("piqty", ht["piqty"]); return View("~/Views/NewShippingInformationDefine/EditNewShippingInformationListDefine.aspx"); } public ActionResult saveShippingList() { Hashtable result = new Hashtable(); String message = ""; String flag = ""; String editType = Request["editType"].ToString(); String ruid = Request["ruid"].ToString(); String order_no = Request["order_no"].ToString(); String part_no = Request["part_no"].ToString(); String part_spec = Request["part_spec"].ToString(); String qty = Request["qty"].ToString(); String piqty = Request["piqty"].ToString(); //传递要更新的数据库字段 Hashtable htParams = new Hashtable(); htParams.Add("@order_no", order_no); htParams.Add("@part_no", part_no); htParams.Add("@part_spec", part_spec); htParams.Add("@qty", qty); htParams.Add("@piqty", piqty); //用户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("@ruid", ruid); if (Convert.ToInt32(qty) < Convert.ToInt32(piqty)) { message = "需求数量不能小于实发数量,不允许修改!"; } else { this.service.updateShippingList(htParams); message = "修改成功"; flag = "OK"; } } catch (Exception e) { message = "修改失败!"; flag = "Fail"; } } //else //{ // try // { // htParams.Add("@ruid", ruid); // this.service.saveShippingList(htParams); // message = "添加成功"; // flag = "OK"; // } // catch (Exception e) // { // message = "添加失败!"; // flag = "Fail"; // } //} result.Add("message", message); result.Add("flag", flag); return Json(result); } /// /// 获取列表数据 /// /// 菜单名称 /// 分页 /// 排序方式 /// 排序列 /// public ActionResult getShippingListDetailByPage(Pager pager, String direction, String sort) { _where = SetWhere(); Hashtable result = new Hashtable(); result.Add("pager.pageNo", pager.pageNo); Hashtable dataHt = this.service.getShippingListDetailByPage(_where, pager); result.Add("rows", dataHt["dataList"]); result.Add("pager.totalRows", dataHt["totalCount"]); result.Add("sort", sort); result.Add("direction", direction); return Json(result); } /// /// 导出数据到Excel /// /// /// /// /// /// /// //public ActionResult exportData(String txtStartTime, String txtEndTime, String cust_pdline_name, String shipping_sn, 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; // // } // //} // _where = SetWhere(); // DataTable dataHt = this.service.getShippingExport(_where, pager, direction, sort); // 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("客户产线"); // headRow.CreateCell(1).SetCellValue("配置名称"); // headRow.CreateCell(2).SetCellValue("配置描述"); // headRow.CreateCell(3).SetCellValue("零件号"); // headRow.CreateCell(4).SetCellValue("零件描述"); // headRow.CreateCell(5).SetCellValue("客户流水号"); // headRow.CreateCell(6).SetCellValue("VIN号"); // headRow.CreateCell(7).SetCellValue("发运条码"); // headRow.CreateCell(8).SetCellValue("数量"); // headRow.CreateCell(9).SetCellValue("发运状态"); // 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]["cust_pdline_name"].ToString()); // dataRow.CreateCell(1).SetCellValue(dataHt.Rows[i]["model_name"].ToString()); // dataRow.CreateCell(2).SetCellValue(dataHt.Rows[i]["model_desc"].ToString()); // dataRow.CreateCell(3).SetCellValue(dataHt.Rows[i]["part_no"].ToString()); // dataRow.CreateCell(4).SetCellValue(dataHt.Rows[i]["part_spec"].ToString()); // dataRow.CreateCell(5).SetCellValue(dataHt.Rows[i]["order_seq"].ToString()); // dataRow.CreateCell(6).SetCellValue(dataHt.Rows[i]["vin"].ToString()); // dataRow.CreateCell(7).SetCellValue(dataHt.Rows[i]["shipping_sn"].ToString()); // dataRow.CreateCell(8).SetCellValue(dataHt.Rows[i]["qty"].ToString()); // dataRow.CreateCell(9).SetCellValue(dataHt.Rows[i]["ship_status"].ToString()); // dataRow.CreateCell(10).SetCellValue(dataHt.Rows[i]["update_ymd"].ToString()); // dataRow.CreateCell(11).SetCellValue(dataHt.Rows[i]["update_hms"].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; //} /// /// 导出全部 /// /// public ActionResult exportData(Pager pager) { _where = SetWhere(); DataTable sumList = service.GetCountShipping(_where); DataTable detailList = service.GetCountShippingDetail(_where); HSSFWorkbook workbook = new HSSFWorkbook(); Stream outputStream = Response.OutputStream; HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet("汇总"); HSSFSheet sheet2 = (HSSFSheet)workbook.CreateSheet("明细"); try { if (workbook != null) { HSSFRow headRow = (HSSFRow)sheet.CreateRow(0); headRow.CreateCell(0).SetCellValue("发运单号"); headRow.CreateCell(1).SetCellValue("目的地"); 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("建单时间"); } for (int i = 0; i < sumList.Rows.Count; i++) { int row = i + 1; HSSFRow dataRow = (HSSFRow)sheet.CreateRow(row); dataRow.CreateCell(0).SetCellValue(sumList.Rows[i]["order_no"].ToString()); dataRow.CreateCell(1).SetCellValue(sumList.Rows[i]["werks"].ToString()); dataRow.CreateCell(2).SetCellValue(sumList.Rows[i]["part_no"].ToString()); dataRow.CreateCell(3).SetCellValue(sumList.Rows[i]["part_spec"].ToString()); dataRow.CreateCell(4).SetCellValue(sumList.Rows[i]["qty"].ToString()); dataRow.CreateCell(5).SetCellValue(sumList.Rows[i]["piqty"].ToString()); dataRow.CreateCell(6).SetCellValue(sumList.Rows[i]["flag"].ToString()); dataRow.CreateCell(7).SetCellValue(sumList.Rows[i]["update_ymd"].ToString()); dataRow.CreateCell(8).SetCellValue(sumList.Rows[i]["update_hms"].ToString()); dataRow.CreateCell(9).SetCellValue(sumList.Rows[i]["create_ymd"].ToString()); dataRow.CreateCell(10).SetCellValue(sumList.Rows[i]["create_hms"].ToString()); } if (workbook != null) { HSSFRow headRow = (HSSFRow)sheet2.CreateRow(0); headRow.CreateCell(0).SetCellValue("发运单号"); headRow.CreateCell(1).SetCellValue("条码"); headRow.CreateCell(2).SetCellValue("零件号"); headRow.CreateCell(3).SetCellValue("零件描述"); headRow.CreateCell(4).SetCellValue("发运人"); headRow.CreateCell(5).SetCellValue("发运日期"); headRow.CreateCell(6).SetCellValue("发运时间"); } for (int i = 0; i < detailList.Rows.Count; i++) { int row = i + 1; HSSFRow dataRow = (HSSFRow)sheet2.CreateRow(row); dataRow.CreateCell(0).SetCellValue(detailList.Rows[i]["order_no"].ToString()); dataRow.CreateCell(1).SetCellValue(detailList.Rows[i]["serial_number"].ToString()); dataRow.CreateCell(2).SetCellValue(detailList.Rows[i]["part_no"].ToString()); dataRow.CreateCell(3).SetCellValue(detailList.Rows[i]["part_spec"].ToString()); dataRow.CreateCell(4).SetCellValue(detailList.Rows[i]["emp_name"].ToString()); dataRow.CreateCell(5).SetCellValue(detailList.Rows[i]["create_ymd"].ToString()); dataRow.CreateCell(6).SetCellValue(detailList.Rows[i]["create_hms"].ToString()); } Response.Clear(); workbook.Write(outputStream); Response.Buffer = true; Response.AppendHeader("Content-Disposition", "attachment;filename=发运信息_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"); Response.ContentEncoding = System.Text.Encoding.UTF8; Response.ContentType = "application/vnd.ms-excel"; Response.Flush(); } catch (Exception ex) { } return null; } /// /// 客户产线集合 /// /// 数据集 public ActionResult GetCustPDLineName() { Hashtable resault = new Hashtable(); ArrayList list = service.GetCustPDLineName(); resault.Add("list", list); return Json(resault, JsonRequestBehavior.AllowGet); } } }