216 lines
10 KiB
C#
216 lines
10 KiB
C#
using Epost.BLL;
|
||
using Epost.Common;
|
||
using Epost.Model;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Data;
|
||
using System.Linq;
|
||
using System.Net;
|
||
using System.Net.Http;
|
||
using System.Web.Http;
|
||
|
||
namespace Epost.DPS.Controllers
|
||
{
|
||
[RoutePrefix("api/TaskAPI")]
|
||
public class TaskAPIController : ApiController
|
||
{
|
||
InboundOrdersBLL inOrderBLL = new InboundOrdersBLL();
|
||
PalletinfoBLL palletBLL = new PalletinfoBLL();
|
||
Sys_operate_logBLL logBLL = new Sys_operate_logBLL();
|
||
[Route("agvPutTask")]
|
||
[HttpPost]
|
||
public RetMesModel agvPutTask([FromBody] TaskModel model)
|
||
{
|
||
RetMesModel retModel = new RetMesModel();
|
||
ResponseModel respModel = new ResponseModel();
|
||
ReturnRes res = new ReturnRes();
|
||
try
|
||
{
|
||
LogHelper.WriteLogInfo("请求报文" + JsonHelper.SerializeObject(model));
|
||
|
||
if (model.data.header.Any())
|
||
{
|
||
foreach (TaskHeader item in model.data.header)
|
||
{
|
||
if (string.IsNullOrEmpty(item.wmsDocNo) || string.IsNullOrEmpty(item.taskType))
|
||
{
|
||
res.returnDesc = "请求参数错误!";
|
||
res.returnCode = "0001";
|
||
res.returnFlag = "0";
|
||
}
|
||
else
|
||
{
|
||
DataTable orderdt = inOrderBLL.GetOrdersList(item.wmsDocNo);
|
||
if (orderdt != null && orderdt.Rows.Count > 0)
|
||
{
|
||
res.returnDesc = "订单已存在!";
|
||
res.returnCode = "0001";
|
||
res.returnFlag = "0";
|
||
}
|
||
else
|
||
{
|
||
#region datatable创建
|
||
DataTable dataTable = new DataTable();
|
||
dataTable.TableName = "InboundOrders";
|
||
dataTable.Columns.Add(new DataColumn("wmsDocNo", typeof(string)));
|
||
dataTable.Columns.Add(new DataColumn("groupTaskId", typeof(string)));
|
||
dataTable.Columns.Add(new DataColumn("palletId", typeof(string)));
|
||
dataTable.Columns.Add(new DataColumn("spositionCode", typeof(string)));
|
||
dataTable.Columns.Add(new DataColumn("dpositionCode", typeof(string)));
|
||
dataTable.Columns.Add(new DataColumn("priority", typeof(string)));
|
||
dataTable.Columns.Add(new DataColumn("taskType", typeof(string)));
|
||
dataTable.Columns.Add(new DataColumn("userId", typeof(string)));
|
||
dataTable.Columns.Add(new DataColumn("userName", typeof(string)));
|
||
dataTable.Columns.Add(new DataColumn("notes", typeof(string)));
|
||
dataTable.Columns.Add(new DataColumn("warehouseId", typeof(string)));
|
||
dataTable.Columns.Add(new DataColumn("addtime", typeof(DateTime)));
|
||
dataTable.Columns.Add(new DataColumn("state", typeof(int)));
|
||
#endregion
|
||
if (item.details.Any())
|
||
{
|
||
foreach (TaskDetail detail in item.details)
|
||
{
|
||
#region datatable
|
||
DataRow dataRow = dataTable.NewRow();
|
||
dataRow["wmsDocNo"] = item.wmsDocNo;
|
||
dataRow["groupTaskId"] = detail.groupTaskId;
|
||
dataRow["palletId"] = detail.palletId;
|
||
dataRow["spositionCode"] = detail.spositionCode;
|
||
dataRow["dpositionCode"] = detail.dpositionCode;
|
||
dataRow["priority"] = item.priority;
|
||
dataRow["taskType"] = item.taskType;
|
||
dataRow["userId"] = item.userId;
|
||
dataRow["userName"] = item.userName;
|
||
dataRow["notes"] = detail.notes;
|
||
dataRow["warehouseId"] = item.warehouseId;
|
||
dataRow["addtime"] = DateTime.Now.ToString();
|
||
dataRow["state"] = "0";
|
||
dataTable.Rows.Add(dataRow);
|
||
#endregion
|
||
}
|
||
}
|
||
#region Dictionary
|
||
Dictionary<string, string> diclist = new Dictionary<string, string>();
|
||
diclist.Add("wmsDocNo", "wmsDocNo");
|
||
diclist.Add("groupTaskId", "groupTaskId");
|
||
diclist.Add("palletId", "palletId");
|
||
diclist.Add("spositionCode", "spositionCode");
|
||
diclist.Add("dpositionCode", "dpositionCode");
|
||
diclist.Add("priority", "priority");
|
||
diclist.Add("taskType", "taskType");
|
||
diclist.Add("userId", "userId");
|
||
diclist.Add("userName", "userName");
|
||
diclist.Add("notes", "notes");
|
||
diclist.Add("warehouseId", "warehouseId");
|
||
diclist.Add("addtime", "addtime");
|
||
diclist.Add("state", "state");
|
||
#endregion
|
||
bool bo = inOrderBLL.InsertOrder(dataTable, diclist);
|
||
if (bo)
|
||
{
|
||
//添加托盘明细
|
||
InsertPallet(item);
|
||
res.returnCode = "0000";
|
||
res.returnDesc = "成功!";
|
||
res.returnFlag = "1";
|
||
}
|
||
else
|
||
{
|
||
res.returnCode = "0001";
|
||
res.returnDesc = "请求失败,请重试!";
|
||
res.returnFlag = "0";
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
|
||
}
|
||
}
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.WriteLogInfo("agvPutTask异常:" + ex.ToString(), LogHelper.Log_Type.ERROR);
|
||
res.returnDesc = "请求接口异常!";
|
||
res.returnCode = "0001";
|
||
res.returnFlag = "0";
|
||
}
|
||
respModel._return = res;
|
||
retModel.Response = respModel;
|
||
logBLL.InsertLog("生成任务单", "agvPutTask", "/api/TaskAPI/agvPutTask", JsonHelper.SerializeObject(model), JsonHelper.SerializeObject(retModel), 0, res.returnDesc, DateTime.Now);
|
||
return retModel;
|
||
}
|
||
|
||
#region 添加托盘明细
|
||
public bool InsertPallet(TaskHeader item)
|
||
{
|
||
try
|
||
{
|
||
#region datatable创建
|
||
DataTable dataTable2 = new DataTable();
|
||
dataTable2.TableName = "Palletinfo";
|
||
dataTable2.Columns.Add(new DataColumn("wmsDocNo", typeof(string)));
|
||
dataTable2.Columns.Add(new DataColumn("groupTaskId", typeof(string)));
|
||
dataTable2.Columns.Add(new DataColumn("palletId", typeof(string)));
|
||
dataTable2.Columns.Add(new DataColumn("sku", typeof(string)));
|
||
dataTable2.Columns.Add(new DataColumn("skuDescr1", typeof(string)));
|
||
dataTable2.Columns.Add(new DataColumn("qty", typeof(string)));
|
||
dataTable2.Columns.Add(new DataColumn("taskType", typeof(string)));
|
||
dataTable2.Columns.Add(new DataColumn("notes", typeof(string)));
|
||
dataTable2.Columns.Add(new DataColumn("addtime", typeof(DateTime)));
|
||
|
||
#endregion
|
||
if (item.details2.Any())
|
||
{
|
||
foreach (TaskDetails2 detail in item.details2)
|
||
{
|
||
#region datatable
|
||
DataRow dataRow1 = dataTable2.NewRow();
|
||
dataRow1["wmsDocNo"] = item.wmsDocNo;
|
||
dataRow1["groupTaskId"] = detail.groupTaskId;
|
||
dataRow1["palletId"] = detail.palletId;
|
||
dataRow1["sku"] = detail.sku;
|
||
dataRow1["skuDescr1"] = detail.skuDescr1;
|
||
dataRow1["qty"] = detail.qty;
|
||
dataRow1["notes"] = item.notes;
|
||
dataRow1["taskType"] = item.taskType;
|
||
dataRow1["addtime"] = DateTime.Now.ToString();
|
||
|
||
dataTable2.Rows.Add(dataRow1);
|
||
#endregion
|
||
}
|
||
}
|
||
#region Dictionary
|
||
Dictionary<string, string> diclist1 = new Dictionary<string, string>();
|
||
diclist1.Add("wmsDocNo", "wmsDocNo");
|
||
diclist1.Add("groupTaskId", "groupTaskId");
|
||
diclist1.Add("palletId", "palletId");
|
||
diclist1.Add("sku", "sku");
|
||
diclist1.Add("skuDescr1", "skuDescr1");
|
||
diclist1.Add("qty", "qty");
|
||
diclist1.Add("notes", "notes");
|
||
diclist1.Add("taskType", "taskType");
|
||
diclist1.Add("addtime", "addtime");
|
||
|
||
#endregion
|
||
bool bo = palletBLL.InsertPallet(dataTable2, diclist1);
|
||
LogHelper.WriteLogInfo(item.wmsDocNo + "添加托盘明细:" + bo);
|
||
return true;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.WriteLogInfo("添加托盘明细异常:" + ex.ToString(), LogHelper.Log_Type.ERROR);
|
||
return false;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
|
||
|
||
|
||
|
||
|
||
}
|
||
}
|