You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

186 lines
6.3 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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<GPoCancelMaster> 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);
}
/// <summary>
/// 获取采购单
/// </summary>
/// <returns></returns>
public ActionResult GetBuyNoInfo()
{
Hashtable resault = new Hashtable();
List<KeyValueResult> list = service.GetBuyNoInfo();
resault.Add("list", list);
return Json(resault);
}
/// <summary>
/// 获取零件信息
/// </summary>
/// <returns></returns>
public ActionResult GetPart()
{
Hashtable resault = new Hashtable();
List<KeyValueResult> list = service.GetPart();
resault.Add("list", list);
return Json(resault);
}
}
}