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 System.Data; using NPOI.HSSF.UserModel; using Microsoft.Extensions.Caching.Memory; using Estsh.Core.Util; using Estsh.Core.Model.Models; /*************************************************************************************************** * * 更新人:sitong.dong * 描述:采购负收货模块Controller层 * 修改时间:2022.06.22 * 修改日志:系统迭代升级 * **************************************************************************************************/ namespace Estsh.Web.Controllers { public class PurchaseSubtractiveController : BaseController { private IPurchaseSubtractiveService service; public PurchaseSubtractiveController(IPurchaseSubtractiveService _service) { service = _service; } public ActionResult Index() { return View(); } public ActionResult getQueryByPage(String data, String data2, Pager pager, String direction, String sort) { string _where = ""; int totalCount = 0; List dataHt = service.getQueryByPage(pager.pageSize,pager.pageNo, _where, direction, sort); Hashtable result = new Hashtable(); result.Add("rows", dataHt); result.Add("pager.totalRows", totalCount); return Json(result); } public ActionResult onadd() { return View("editPurchaseSubtractive"); } public ActionResult onsave() { string message = ""; string orderNo = ""; //日程单号 string shipNo = ""; //送货单号 string buyNo = "";//采购单 string qty = "";//负收货数量 string partNo = "";//零件号 Hashtable resault = new Hashtable(); orderNo = service.GetOrderNo("SubtractivePo", "SPR"); if (string.IsNullOrEmpty(orderNo)) { message = " 业务提交单号获取错误!"; resault.Add("message", message); return Json(resault); } shipNo = Request.Form["txtSendNo"].ToString(); buyNo = Request.Form["comProNo"].ToString(); bool isPass = service.IsExistShipAndBuyNo(shipNo, buyNo); if (!isPass) { message = " [" + shipNo + "]:此送货单号数据与[" + buyNo + "]没有匹配的收货数据!"; resault.Add("message", message); return Json(resault); } DataTable data = new DataTable(); data.Columns.Add("ship_no", typeof(System.String)); data.Columns.Add("buy_no", typeof(System.String)); data.Columns.Add("part_no", typeof(System.String)); data.Columns.Add("qty", typeof(System.Int32)); data.Columns.Add("order_no", typeof(System.String)); orderNo = Request.Form["txtDay_No"].ToString(); //日程单号 shipNo = Request.Form["txtSendNo"].ToString(); //送货单号 buyNo = Request.Form["comProNo"].ToString();//采购单 qty = Request.Form["txtProCount"].ToString();//负收货数量 int iQty = 0; try { iQty = Convert.ToInt32(qty); } catch { message = " [" + qty + "]:数量中有不规则字符! "; resault.Add("message", message); return Json(resault); } if (iQty < 1) { message = " [" + qty + "]:请正确输入零件数量! "; resault.Add("message", message); return Json(resault); } if (string.IsNullOrEmpty(Request.Form["comPartNo"])) { message = " 请正确选择零件号! "; resault.Add("message", message); return Json(resault); } partNo = Request.Form["comPartNo"].ToString().ToUpper(); for (int i = 0; i < data.Rows.Count; i++) { if (data.Rows[i]["ship_no"].ToString() == shipNo && data.Rows[i]["buy_no"].ToString() == buyNo && data.Rows[i]["part_no"].ToString() == partNo) { message = " 请不要重复提交同一送货单内的相同采购单零件! "; resault.Add("message", message); return Json(resault); } } DataRow dr = data.NewRow(); dr[0] = shipNo; dr[1] = buyNo; dr[2] = partNo; dr[3] = iQty; dr[4] = orderNo; data.Rows.Add(dr); string msg = string.Empty; if (data.Rows.Count < 1 || data == null) { msg = " 请正确输入采购负收货数据! "; resault.Add("message", msg); return Json(resault); } string rMsg = service.DataSaveTransact(data, CurrentEmp.EmpId); if (!string.IsNullOrEmpty(rMsg)) { msg = rMsg; resault.Add("message", msg); return Json(resault); } msg = "采购订单负收货数据保存成功"; resault.Add("message", msg); return Json(resault); } /// /// 获取采购单 /// /// public ActionResult GetBuyNoInfo() { Hashtable resault = new Hashtable(); List list = service.GetBuyNoInfo(); resault.Add("list", list); return Json(resault); } /// /// 获取零件信息 /// /// public ActionResult GetPart() { Hashtable resault = new Hashtable(); List list = service.GetPart(); resault.Add("list", list); return Json(resault); } } }