using Newtonsoft.Json;
|
using System;
|
using WIDESEA_Common;
|
using WIDESEA_Common.APIAdderss;
|
using WIDESEA_Common.DBHelper;
|
using WIDESEA_Common.Tools;
|
using WIDESEA_Core.Utilities;
|
using WIDESEA_Entity.DomainModels;
|
using WIDESEA_Entity.DomainModels.TongRi;
|
|
namespace WIDESEA_WCS.ToTongRi
|
{
|
|
public partial class ToTongRiServer
|
{
|
|
FreeDB freeDB = new FreeDB();
|
|
/// <summary>
|
/// 申请入库
|
/// </summary>
|
public void requestInWHTask(dt_agvtask agvtask)
|
{
|
try
|
{
|
RequestParm request = new RequestParm();
|
request.taskId = agvtask.agv_tasknum;
|
request.wareHouse = agvtask.agv_fromaddress.Contains("ZJ") ? "1" : "2";
|
request.containerType = agvtask.agv_fromaddress.Contains("ZJ") ? "铝箔" : "铜箔"; ;
|
var res = HttpHelper<RequestParm>.Post(request, OrtherAPIAddress.TongRi + "requestInWHTask");
|
if (res.code == 2)
|
{
|
throw new Exception("同日wms返回异常:\n" + res.msg);
|
}
|
}
|
catch (Exception ex)
|
{
|
WriteLog.GetLog().Write($"【异常】任务号:{agvtask.agv_tasknum}\n{ex.Message}", "同日申请库");
|
throw ex;
|
}
|
}
|
|
/// <summary>
|
/// 申请出库
|
/// </summary>
|
public void requestOutWHTask(dt_agvtask agvtask)
|
{
|
try
|
{
|
RequestParm request = new RequestParm();
|
request.taskId = agvtask.agv_tasknum;
|
request.wareHouse = agvtask.agv_fromaddress.Contains("ZJ") ? "1" : "2";
|
request.containerType = agvtask.agv_fromaddress.Contains("ZJ") ? "铝箔" : "铜箔"; ;
|
var res = HttpHelper<RequestParm>.Post(request, OrtherAPIAddress.TongRi + "requestOutWHTask");
|
if (res.code == 2)
|
{
|
throw new Exception("同日wms返回异常:\n" + res.msg);
|
}
|
}
|
catch (Exception ex)
|
{
|
WriteLog.GetLog().Write($"【异常】任务号:{agvtask.agv_tasknum}\n{ex.Message}", "同日申请入库");
|
throw ex;
|
}
|
}
|
|
/// <summary>
|
/// 物料出入库反馈 (同日调用)放的取的位置
|
/// </summary>
|
public TongRiRespone reportTaskPoint(object json)
|
{
|
TongRiRespone tongRiRespone = new TongRiRespone();
|
try
|
{
|
var report = JsonConvert.DeserializeObject<ReportTask>(json.ToString());
|
var task = freeDB.Select<dt_agvtask>().Where(t => t.agv_tasknum == report.taskNo).ToOne();
|
task.agv_taskstate = AGVTaskStateEnum.Create.ToString();
|
//入库
|
if (report.taskType == "1")
|
{
|
task.agv_toaddress = report.fromLocationCode;
|
}
|
//出库
|
else if (report.taskType == "2")
|
{
|
task.agv_fromaddress = report.fromLocationCode;
|
}
|
int changeRows = freeDB.Update(task).UpdateColumns(t => new { t.agv_taskstate, t.agv_toaddress, t.agv_fromaddress }).ExecuteAffrows();
|
|
WriteLog.GetLog().Write($"【成功】{json}", "同日反馈取放位置");
|
tongRiRespone.code = 1;
|
}
|
catch (Exception ex)
|
{
|
WriteLog.GetLog().Write($"【异常】{ex.Message}\n{json}", "同日反馈取放位置");
|
tongRiRespone.code = 2;
|
tongRiRespone.msg = ex.Message;
|
}
|
return tongRiRespone;
|
}
|
|
/// <summary>
|
/// 物料入库/出库AGV取放货完成上报(agv状态2,起点完成)
|
/// </summary>
|
public void reportTaskComplete(dt_agvtask agvtask)
|
{
|
try
|
{
|
ReportTaskComplete reportTask = new ReportTaskComplete();
|
reportTask.refTaskId = agvtask.agv_tasknum;
|
|
if (agvtask.agv_tasktype == "入库")
|
{
|
reportTask.taskType = "1";
|
reportTask.fromLocationCode = agvtask.agv_toaddress;
|
reportTask.containerType = agvtask.agv_toaddress.Contains("ZJ") ? "铝箔" : "铜箔";
|
}
|
else
|
{
|
//出库
|
reportTask.taskType = "2";
|
reportTask.fromLocationCode = agvtask.agv_fromaddress;
|
reportTask.containerType = agvtask.agv_fromaddress.Contains("ZJ") ? "铝箔" : "铜箔";
|
}
|
WriteLog.GetLog().Write($"【成功】任务号:{agvtask.agv_tasknum}", "同日agv完成上报");
|
}
|
catch (Exception ex)
|
{
|
WriteLog.GetLog().Write($"【异常】任务号:{agvtask.agv_tasknum}\n{ex.Message}", "同日agv完成上报");
|
throw ex;
|
}
|
}
|
|
/// <summary>
|
/// 物料出入库任务取消/手动完成申请接口
|
/// </summary>
|
public void requestCancelTask(dt_agvtask agvtask)
|
{
|
try
|
{
|
RequestCancelTask requestCancelTask = new RequestCancelTask();
|
requestCancelTask.refTaskId = agvtask.agv_tasknum;
|
|
if (agvtask.agv_tasktype == "入库")
|
{
|
requestCancelTask.containerCode = agvtask.agv_fromaddress.Contains("ZJ") ? "铝箔" : "铜箔";
|
requestCancelTask.taskType = "1";
|
}
|
else
|
{
|
requestCancelTask.containerCode = agvtask.agv_toaddress.Contains("ZJ") ? "铝箔" : "铜箔";
|
requestCancelTask.taskType = "2";
|
}
|
if (agvtask.agv_taskstate == AGVTaskStateEnum.Cancel.ToString())
|
{
|
requestCancelTask.taskState = "1";
|
}
|
else if (agvtask.agv_taskstate == "手动完成")
|
{
|
|
requestCancelTask.taskState = "2";
|
}
|
WriteLog.GetLog().Write($"【成功】任务号:{agvtask.agv_tasknum}", "同日手动操作任务");
|
}
|
catch (Exception ex)
|
{
|
WriteLog.GetLog().Write($"【异常】任务号:{agvtask.agv_tasknum}\n{ex.Message}", "同日手动操作任务");
|
throw ex;
|
}
|
}
|
|
}
|
|
}
|