From 51f7eb771322a65ee552ca9b60280632f72760e6 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期三, 15 十月 2025 16:55:08 +0800
Subject: [PATCH] 修改物料管理列表
---
Wms/Wms/Controllers/DownApiController.cs | 285 ++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 230 insertions(+), 55 deletions(-)
diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs
index 1064126..8ba268b 100644
--- a/Wms/Wms/Controllers/DownApiController.cs
+++ b/Wms/Wms/Controllers/DownApiController.cs
@@ -21,6 +21,7 @@
using Model.ModelVm.BllCheckVm;
using System.Collections.Generic;
using System.Security.Policy;
+using WMS.IBLL;
namespace Wms.Controllers
{
@@ -38,7 +39,8 @@
private readonly ITaskServer _taskSvc;//浠诲姟Svc
private readonly IBllTaskSyncServer _taskSyncSvc;//浠诲姟鍚屾Svc
private readonly IWaveMageServer _waveSvc;//浠诲姟鍚屾Svc
- public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IBllTaskSyncServer taskSyncSvc, IWaveMageServer waveSvc)
+ private readonly IHttpServer _http;
+ public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IBllTaskSyncServer taskSyncSvc, IWaveMageServer waveSvc,IHttpServer http)
{
_config = setting.Value;
_exNoticeSvc = exNoticeSvc;
@@ -47,6 +49,7 @@
_taskSvc = taskSvc;
_taskSyncSvc = taskSyncSvc;
_waveSvc = waveSvc;
+ _http = http;
}
#region WMS鎺ュ彛 璋冪敤涓嬫父绯荤粺鎺ュ彛
@@ -126,8 +129,9 @@
var house = _exNoticeSvc.GetHouseBySo(soNo);
if (house == "W01")
{
+ var list = _exNoticeSvc.IssueOutHouseMk(soNo, outMode, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str);
- return Ok(new { code = 0, msg = "str" });
+ return Ok(new { code = 0, msg = str });
}
else if (house == "W02")
{
@@ -147,6 +151,73 @@
}
}
+ /// <summary>
+ /// PDA涓嬪彂鍑哄簱
+ /// </summary>
+ /// <param name="soNo"></param>
+ /// <param name="soDetailId">鍑哄簱鍗曟槑缁咺D</param>
+ /// <param name="outMode">鍑哄簱鍦板潃锛堝钩搴撴嫞璐т綅锛�</param>
+ /// <returns></returns>
+ [HttpGet]
+ public IActionResult PDAIssueOut(string soNo, string soDetailId,string palletNo,string outMode)
+ {
+ try
+ {
+ //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D
+ var claimsIdentity = this.User.Identity as ClaimsIdentity;
+ if (claimsIdentity == null)
+ {
+ return Ok(new HttpReturnModel { Success = "-1", Message = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�"});
+ }
+ var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
+ if (string.IsNullOrWhiteSpace(userId))
+ {
+ return Ok(new HttpReturnModel { Success = "-1", Message = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�"});
+ }
+
+ var house = _exNoticeSvc.GetHouseBySo(soNo);
+ if (house != "W01")
+ {
+ house= _exNoticeSvc.GetHouseByPalletNo(palletNo);
+ }
+ if (house == "W01")
+ {
+ //楠岃瘉鍑哄簱鍙�
+ if (string.IsNullOrWhiteSpace(outMode))
+ {
+ return Ok(new HttpReturnModel { Success = "-1", Message = "璇烽�夋嫨鍑哄簱鍦板潃" });
+ }
+ //var list = _exNoticeSvc.IssueOutHouseMk(soNo, outMode, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str);
+
+ return Ok(new HttpReturnModel { Success = "0", Message = "str", Data = "list" });
+ }
+ else if (house == "W02")
+ {
+ //楠岃瘉鍑哄簱鍙�
+ if (string.IsNullOrWhiteSpace(outMode))
+ {
+ return Ok(new HttpReturnModel { Success = "-1", Message = "璇烽�夋嫨鍑哄簱鍦板潃" });
+ }
+ var list = _http.IssueOutHouseLk(soNo, soDetailId, outMode, palletNo, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str);
+
+ return Ok(new HttpReturnModel { Success = "0", Message = str, Data = list });
+ }
+ else if (house == "W04")
+ {
+ _http.IssueOutHousePk(soNo, soDetailId, palletNo, int.Parse(userId));
+ return Ok(new HttpReturnModel { Success = "0", Message = "涓嬪彂鎴愬姛" });
+ }
+ else
+ {
+ return Ok(new HttpReturnModel { Success = "-1", Message = "浠撳簱淇℃伅閿欒锛岃鏍稿疄鍗曟嵁淇℃伅" });
+ }
+
+ }
+ catch (Exception e)
+ {
+ return Ok(new HttpReturnModel { Success = "-1", Message = e.Message });
+ }
+ }
/// <summary>
/// 閲嶆柊涓嬪彂鍑哄簱浠诲姟
@@ -273,36 +344,38 @@
#region WMS鎺ュ彛 琚笅娓哥郴缁熸帴鍙h皟鐢�
/// <summary>
- /// 缁戝畾淇℃伅杩斿洖宸烽亾鍙�
+ /// WCS鐢宠绌烘墭璺虹粍鎵樺叆搴� 锛堝彔鎵樼洏鏈猴級
/// </summary>
/// <param name="model">鍏ュ簱鍗曚俊鎭�</param>
/// <returns></returns>
- //[AllowAnonymous]
- //[HttpPost]
- //public IActionResult BindRequestRoadWay(BoxPalletBindVm model)
- //{
- // var logStr = $@".\log\WCS\WCS鎵樼洏缁戝畾-鐢宠宸烽亾" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+ [AllowAnonymous]
+ [HttpPost]
+ public IActionResult RequestPalletIn(RequestLocate model)
+ {
+ var logStr = "";
- // try
- // {
+ logStr = $@".\log\WCS\WCS鐢宠绌烘墭璺虹粍鎵樺叆搴�" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
- // var jsonData = JsonConvert.SerializeObject(model);
- // LogFile.SaveLogToFile($"WCS鎵樼洏缁戝畾-鐢宠宸烽亾锛�( {jsonData} ),", logStr);
+ try
+ {
- // _asnPalletBindSvc.BindPalletStock(model, 0);
- // //鐢宠宸烽亾
- // var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, "W01");
- // LogFile.SaveLogToFile($"WCS鎵樼洏缁戝畾-鐢宠宸烽亾杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
+ var jsonData = JsonConvert.SerializeObject(model);
+ LogFile.SaveLogToFile($"WCS鐢宠绌烘墭璺虹粍鎵樺叆搴擄細( {jsonData} ),", logStr);
- // return Ok(new { Success = 0, Message = "鎵樼洏缁戝畾-鐢宠宸烽亾鎴愬姛", TaskList = list });
- // }
- // catch (Exception e)
- // {
- // LogFile.SaveLogToFile($"WCS鎵樼洏缁戝畾-鐢宠宸烽亾杩斿洖锛�( {e.Message} ),", logStr);
+ var list = _http.RequestPalletIn(model.PalletNo, model.HouseNo, model.PallNum,model.locate);
- // return Ok(new ErpModel { Success = -1, Message = e.Message });
- // }
- //}
+ LogFile.SaveLogToFile($"WCS鐢宠绌烘墭璺虹粍鎵樺叆搴撹繑鍥烇細( {JsonConvert.SerializeObject(list)} ),", logStr);
+
+ return Ok(new { Success = 0, Message = "鐢宠宸烽亾鎴愬姛", TaskList = list });
+ }
+ catch (Exception e)
+ {
+ LogFile.SaveLogToFile($"WCS鐢宠绌烘墭璺虹粍鎵樺叆搴撹繑鍥烇細( {e.Message} ),", logStr);
+
+ return Ok(new ErpModel { Success = -1, Message = e.Message });
+ }
+ }
+
/// <summary>
/// PDA 浜哄伐鐢宠鍌ㄤ綅 锛堢珛浣撳簱锛�
@@ -329,8 +402,8 @@
try
{
- var list = _asnPalletBindSvc.RequestLocation(model.PalletNo, model.HouseNo);
- _asnPalletBindSvc.IssueAsnTask(list, _config.WcsHost+ _config.IssueComApiUrl);//WCS璺緞
+ var list = _http.RequestLocation(model.PalletNo, model.HouseNo,model.Ceng);
+ _asnPalletBindSvc.IssueAsnTask(list, _config.WcsHost+ _config.IssueComApiUrl2);//WCS璺緞
new OperationASNServer().AddLogOperationAsn("PDA妯″潡", "鐢宠鍏ュ簱", model.PalletNo, "娣诲姞", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo}鐨勬垚鍔熶俊鎭�", int.Parse(userId));
@@ -363,19 +436,15 @@
var jsonData = JsonConvert.SerializeObject(model);
LogFile.SaveLogToFile($"WCS鐢宠宸烽亾锛�( {jsonData} ),", logStr);
- var list = _asnPalletBindSvc.RequestMiJiRoadWay(model.PalletNo, model.HouseNo);
+ var list = _http.RequestMiJiRoadWay(model.PalletNo, model.HouseNo);
LogFile.SaveLogToFile($"WCS鐢宠宸烽亾杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
- //new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8),
- // "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勬垚鍔熶俊鎭�", 2);
return Ok(new { Success = 0, Message = "鐢宠宸烽亾鎴愬姛", TaskList = list });
}
catch (Exception e)
{
LogFile.SaveLogToFile($"WCS鐢宠宸烽亾杩斿洖锛�( {e.Message} ),", logStr);
- //new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8),
- //"鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勫け璐ヤ俊鎭�", 2);
return Ok(new ErpModel { Success = -1, Message = e.Message });
}
@@ -390,37 +459,19 @@
[HttpPost]
public IActionResult RequestMiJiLocation(RequestLocate model)
{
-
- //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D
- //var claimsIdentity = this.User.Identity as ClaimsIdentity;
- //if (claimsIdentity == null)
- //{
- // return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
- //}
- //var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
- //if (string.IsNullOrWhiteSpace(userId))
- //{
- // return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
- //}
-
- //string palletno = model.PalletNo;
var logStr = "";
logStr = $@".\log\WCS\WCS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
-
try
{
-
var jsonData = JsonConvert.SerializeObject(model);
LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅锛�( {jsonData} ),", logStr);
string pallet = model.PalletNo.Substring(0, 8);
- var list = _asnPalletBindSvc.RequestMiJiLocation(pallet, model.HouseNo, model.RoadwayNo);
+ var list = _http.RequestMiJiLocation(pallet, model.HouseNo, model.RoadwayNo);
LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
- //new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勬垚鍔熶俊鎭�", 2);// int.Parse(userId)
- //LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅鎴愬姛锛�( {JsonConvert.SerializeObject(list)} ),", logStr);
return Ok(new { Success = 0, Message = "鐢宠鍌ㄤ綅鎴愬姛", TaskList = list });
}
@@ -458,7 +509,7 @@
case "0"://鍏ュ簱瀹屾垚浠诲姟
if (model.TaskType == "0")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
{
- _asnPalletBindSvc.ArrivalSuccess(model.TaskNo, 0);
+ _http.ArrivalSuccess2(model.TaskNo, 0);
return Ok(new WcsModel { StatusCode = 0, Msg = "鍏ュ簱瀹屾垚" });
}
break;
@@ -470,7 +521,7 @@
}
else if (model.TaskType == "2")
{
- _exNoticeSvc.RelocationSuccess(model.TaskNo, 0);
+ _http.ExMoveSuccess(model.TaskNo, 0);
return Ok(new WcsModel { StatusCode = 0, Msg = "绉诲簱瀹屾垚" });
}
break;
@@ -482,14 +533,24 @@
}
else if (model.TaskType == "0")// 鐩樼偣鍑哄簱鎵樼洏鍥炲簱瀹屾垚
{
- _asnPalletBindSvc.ArrivalSuccess(model.TaskNo, 0);
+ _http.ArrivalSuccess2(model.TaskNo, 0);
return Ok(new WcsModel { StatusCode = 0, Msg = "鍏ュ簱瀹屾垚" });
}
break;
- case "3"://绉诲簱瀹屾垚浠诲姟銆佷紭鍖栧偍浣�
- if (model.TaskType == "3") //0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
+ case "3"://绉诲簱鍗� AGV璧拌繖
+ if (model.TaskType == "2") //0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
{
//濉啓绉诲簱瀹屾垚浠g爜
+ _http.MoveSuccess(model.TaskNo, 0);
+ return Ok(new WcsModel { StatusCode = 0, Msg = "绉诲簱瀹屾垚" });
+ }
+ break;
+ case "4"://璐ㄦ鍑哄簱
+ if (model.TaskType == "2") //0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
+ {
+ //濉啓绉诲簱瀹屾垚浠g爜
+ _http.ExMoveSuccess(model.TaskNo, 0);
+ return Ok(new WcsModel { StatusCode = 0, Msg = "绉诲簱瀹屾垚" });
}
break;
default:
@@ -503,6 +564,120 @@
}
}
+ /// <summary>
+ /// 鎺ュ彈wcs杩斿洖鐨勪俊鍙� 骞冲簱鍙栬揣瀹屾垚浠诲姟鍙嶉
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost]
+ public IActionResult UpLocateByAgvOut(ReceiveWcsSignal model)
+ {
+ try
+ {
+ //璁板綍log
+ var logStr = $@".\log\WCS\鍙栬揣瀹屾垚浠诲姟鍙嶉" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+ var jsonData = JsonConvert.SerializeObject(model);
+ LogFile.SaveLogToFile($"AGV鍙栬揣瀹屾垚WCS浠诲姟鍙嶉锛�( {jsonData} ),", logStr);
+
+ if (string.IsNullOrEmpty(model.TaskNo))
+ {
+ return Ok(new WcsModel { StatusCode = -1, Msg = "鎺ュ彛鏁版嵁涓嶆纭紝浠诲姟鍙蜂负绌�" });
+ }
+ _http.UpLocateByAgvOut(model.TaskNo,0);
+
+ return Ok(new WcsModel { StatusCode = 0, Msg = "鎺ユ敹鎴愬姛" });
+ }
+ catch (Exception ex)
+ {
+ return Ok(new WcsModel { StatusCode = -1, Msg = ex.Message });
+ }
+ }
+
+
+ /// <summary>
+ /// 鎵嬪姩瀹屾垚鐨勪俊鍙� //鎸囦护鍙嶉锛堟槸鍚﹀畬鎴愶級
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost]
+ public IActionResult ReceiveRenGongSignal(ReceiveWcsSignal model)
+ {
+ //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D
+ var claimsIdentity = this.User.Identity as ClaimsIdentity;
+ if (claimsIdentity == null)
+ {
+ return Ok(new HttpReturnModel { Success = "1", Message = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
+ }
+ var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
+ if (string.IsNullOrWhiteSpace(userId))
+ {
+ return Ok(new HttpReturnModel { Success = "1", Message = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
+ }
+ try
+ {
+ if (string.IsNullOrEmpty(model.TaskNo) || string.IsNullOrEmpty(model.TaskStatus) || string.IsNullOrEmpty(model.TaskType))
+ {
+ return Ok(new HttpReturnModel { Success = "-1", Message = "鍙傛暟閿欒" });
+ }
+ //鎺ユ敹鏃堕棿
+
+ var orderType = _taskSvc.GetTaskOrderType(model.TaskNo);// 鍒ゆ柇鍗曟嵁绫诲瀷鍏ュ嚭绉�
+ switch (orderType)
+ {
+ case "0"://鍏ュ簱瀹屾垚浠诲姟
+ if (model.TaskType == "0")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
+ {
+ _http.ArrivalSuccess2(model.TaskNo, 0);
+ return Ok(new HttpReturnModel { Success = "0", Message = "鍏ュ簱瀹屾垚" });
+ }
+ break;
+ case "1"://鍑哄簱瀹屾垚浠诲姟
+ if (model.TaskType == "1")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
+ {
+ _exNoticeSvc.ExportSuccess(model.TaskNo, 0);
+ return Ok(new HttpReturnModel { Success = "0", Message = "鍑哄簱瀹屾垚" });
+ }
+ else if (model.TaskType == "2")
+ {
+ _http.ExMoveSuccess(model.TaskNo, 0);
+ return Ok(new HttpReturnModel { Success = "0", Message = "绉诲簱瀹屾垚" });
+ }
+ break;
+ case "2"://鐩樺簱瀹屾垚浠诲姟
+ if (model.TaskType == "1")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
+ {
+ _crCheckSvc.CheckSuccess(model.TaskNo, 0);
+ return Ok(new HttpReturnModel { Success = "0", Message = "鐩樼偣鍑哄簱瀹屾垚" });
+ }
+ else if (model.TaskType == "0")// 鐩樼偣鍑哄簱鎵樼洏鍥炲簱瀹屾垚
+ {
+ _http.ArrivalSuccess2(model.TaskNo, 0);
+ return Ok(new HttpReturnModel { Success = "0", Message = "鍏ュ簱瀹屾垚" });
+ }
+ break;
+ case "3"://绉诲簱鍗�
+ if (model.TaskType == "2") //0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
+ {
+ //濉啓绉诲簱瀹屾垚浠g爜
+ _http.MoveSuccess(model.TaskNo, 0);
+ return Ok(new HttpReturnModel { Success = "0", Message = "绉诲簱瀹屾垚" });
+ }
+ break;
+ case "4"://璐ㄦ鍑哄簱
+ if (model.TaskType == "2") //0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
+ {
+ _http.ExMoveSuccess(model.TaskNo, 0);
+ return Ok(new HttpReturnModel { Success = "0", Message = "绉诲簱瀹屾垚" });
+ }
+ break;
+ default:
+ return Ok(new HttpReturnModel { Success = "-1", Message = "浼犻�掔殑浠诲姟鐘舵�佷负澶辫触鐘舵��" });
+ }
+ return Ok(new HttpReturnModel { Success = "-1", Message = "浼犻�掔殑浠诲姟鐘舵�佷负澶辫触鐘舵��" });
+ }
+ catch (Exception ex)
+ {
+ return Ok(new HttpReturnModel { Success = "-1", Message = ex.Message });
+ }
+ }
/// <summary>
/// WCS鍙嶉AGV浠诲姟鍙栬揣瀹屾垚
--
Gitblit v1.8.0