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 NPOI.HSSF.UserModel; using Estsh.Core.Model.ExcelModel; /*************************************************************************************************** * * 更新人:sitong.dong * 描述:生产指令调整 * 修改时间:2022.06.22 * 修改日志:系统迭代升级 * **************************************************************************************************/ namespace Estsh.Core.Web.Controllers { /// /// /// public class AdjustOrderController : BaseController { private IAdjustOrderService service; public AdjustOrderController(IAdjustOrderService _service) { this.service = _service; } // // GET: /AdjustOrder/ public ActionResult Index() { return View(); } /// /// 获取生产指令调整列表数据 /// /// 菜单名称 /// 分页 /// 排序方式 /// 排序列 /// public ActionResult getAdjustOrderListByPage(Pager pager, String direction, String sort, string cbCustPDLine, string SN, string partNo, String enabled = "Y") { if ((string.IsNullOrEmpty(cbCustPDLine)) || cbCustPDLine == "null") { cbCustPDLine = "0"; } Hashtable result = new Hashtable(); result.Add("pager.pageNo", pager.pageNo); Hashtable dataHt = this.service.getAdjustOrderListByPage(pager, direction, sort, cbCustPDLine, SN, partNo, 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 adjustLine(string seq, string ruid, string a, string SequenceNumber, string CustPDLine) { bool Bool = false; Hashtable result = new Hashtable(); if (string.IsNullOrEmpty(seq) && string.IsNullOrEmpty(ruid) && string.IsNullOrEmpty(a)) { result = new Hashtable(); result.Add("status", false); return Json(result); } //选中行信息 seq = seq.Substring(0, seq.Length - 1); ruid = ruid.Substring(0, ruid.Length - 1); int VirtualOrder = Convert.ToInt32(a.Substring(0, a.Length - 1)); //查询所有待生产信息 List dt = this.service.selectAll(CustPDLine); var dr = dt.Find(a => a.Seq == Convert.ToInt32(SequenceNumber)); int objectOrder = Convert.ToInt32(dr.A); if (Convert.ToInt32(VirtualOrder) > objectOrder) { for (int i = 0; i < VirtualOrder - objectOrder; i++) { dt = new List(); dt = this.service.selectAll(CustPDLine); var dr_2 = dt.Find(x => x.A == (VirtualOrder - i)); var dr_3 = dt.Find(x => x.A == (Convert.ToInt32(VirtualOrder) - i - 1)); int data_ruid_1 = Convert.ToInt32(dr_2.Ruid); int data_seq_1 = Convert.ToInt32(dr_2.Seq); int data_ruid_2 = Convert.ToInt32(dr_3.Ruid); int data_seq_2 = Convert.ToInt32(dr_3.Seq); Bool = this.service.upAll(data_ruid_1, data_seq_1, data_ruid_2, data_seq_2); } } else { result = new Hashtable(); result.Add("status", false); return Json(result); } result = new Hashtable(); result.Add("status", true); return Json(result); } /// /// 删除BOMdetail数据 /// /// /// public ActionResult deleteOrder(string ruid) { int delCount = 0; Hashtable result = new Hashtable(); ruid = ruid.Substring(0, ruid.Length - 1); try { delCount = this.service.deleteOrder(ruid); if (delCount > 0) { result.Add("message", "删除成功!"); } else { result.Add("message", "删除失败!"); } } catch (Exception e) { delCount = -1; } return Json(result); } public ActionResult deleteOrderInfo(string ruid) { String[] array = ruid.Split(','); ruid = array[0].ToString(); string custPdlineDesc = array[1].ToString(); int delCount = 0; Hashtable result = new Hashtable(); try { delCount = this.service.deleteOrderInfo(ruid, custPdlineDesc); if (delCount > 0) { result.Add("message", "删除成功!"); } else { result.Add("message", "删除失败!"); } } catch (Exception e) { delCount = -1; } 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); } /// /// 导出数据到Excel /// BY NOAH /// /// /// /// /// /// /// public ActionResult exportData(String cbCustPDLine, 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; } } Hashtable dataHt = this.service.getTableListByPage(cbCustPDLine, pager, direction, sort, paging); List listHt = (List)dataHt["dataList"]; var memoryStream = ExcelHelper.ToExcel(listHt); return File(memoryStream.ToArray(), "application/ms-excel", "生产指令调整.xls"); } } }