From cfb3f2c7e9cde8cc2eb2a19263d0802c0c5410a3 Mon Sep 17 00:00:00 2001
From: zhanghonglin <zhanghonglin@hnkhzn.com>
Date: 星期一, 06 四月 2026 15:41:04 +0800
Subject: [PATCH] mes接口
---
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 94 ++++++++++++++++++++++++++++++++---------------
1 files changed, 64 insertions(+), 30 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index 0814e29..fca3355 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -8,6 +8,7 @@
using System.Threading.Tasks;
using Newtonsoft.Json;
using WIDESEA_Common.LocationEnum;
+using WIDESEA_Common.OutboundOrder;
using WIDESEA_Common.StockEnum;
using WIDESEA_Common.TaskEnum;
using WIDESEA_Common.Warehouse;
@@ -22,6 +23,7 @@
using WIDESEA_IStockService;
using WIDESEA_Model.Models;
using WIDESEA_Model.Models.Basic;
+using WIDESEA_Model.Models.Outbound;
using WIDESEA_Model.Models.Stock;
using WIDESEA_Model.View;
using WIDESEAWCS_DTO.Stock;
@@ -47,10 +49,11 @@
private readonly IRepository<Dt_StockInfoDetail_Hty> _IStockInfoDetailHtyRepository;
private readonly IRepository<Dt_StockInfos> _IStockInfosRepository;
private readonly IRepository<Dt_FillingOrder> _FillingOrderRepository;
+ private readonly IRepository<Dt_OutboundOrder> _OutboundOrderRepository;
//WCS婊℃《鍑哄簱淇″彿
private static bool kk = false;
- public TaskService(IRepository<Dt_Task> BaseDal, IRepository<Dt_FillingOrder> FillingOrderRepository, IRepository<Dt_StockInfos> IStockInfosRepository, ILocationInfoService ILocationInfoService, IRepository<Dt_StockInfoDetail> IStockInfoDetailRepository, IRepository<Dt_StockInfo_hty> IStockInfohtyRepository, IRepository<Dt_StockInfoDetail_Hty> IStockInfoDetailHtyRepository, IRepository<Dt_Outstockinfo> IOutstockinfoService, IStockService IStockService, IRepository<Dt_Warehouse> WarehouseService, IRepository<Dt_Outstockinfo> OutstockinfoRepository, ILocationInfoService LocationInfoService, IRepository<Dt_StockInfo> StockInfoRepository, IRepository<Dt_LocationInfo> LocationInfoRepository, IRepository<Dt_Task_Hty> Task_HtyRepository, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
+ public TaskService(IRepository<Dt_Task> BaseDal, IRepository<Dt_OutboundOrder> OutboundOrderRepository, IRepository<Dt_FillingOrder> FillingOrderRepository, IRepository<Dt_StockInfos> IStockInfosRepository, ILocationInfoService ILocationInfoService, IRepository<Dt_StockInfoDetail> IStockInfoDetailRepository, IRepository<Dt_StockInfo_hty> IStockInfohtyRepository, IRepository<Dt_StockInfoDetail_Hty> IStockInfoDetailHtyRepository, IRepository<Dt_Outstockinfo> IOutstockinfoService, IStockService IStockService, IRepository<Dt_Warehouse> WarehouseService, IRepository<Dt_Outstockinfo> OutstockinfoRepository, ILocationInfoService LocationInfoService, IRepository<Dt_StockInfo> StockInfoRepository, IRepository<Dt_LocationInfo> LocationInfoRepository, IRepository<Dt_Task_Hty> Task_HtyRepository, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
{
_LocationInfoService = LocationInfoService;
_unitOfWorkManage = unitOfWorkManage;
@@ -67,17 +70,18 @@
_IStockInfoDetailHtyRepository = IStockInfoDetailHtyRepository;
_IStockInfosRepository = IStockInfosRepository;
_FillingOrderRepository = FillingOrderRepository;
+ _OutboundOrderRepository = OutboundOrderRepository;
}
public IRepository<Dt_Task> Repository => BaseDal;
//娴嬭瘯
- public WebResponseContent ceshi()
+ public string ceshi()
{
WebResponseContent content = new WebResponseContent();
- Dt_StockInfos StockInfoss = _IStockInfosRepository.QueryFirst(x => x.Id == 7);
- return content;
+ Dt_LocationInfo locations = _LocationInfoService.AllotLocationInfo(2);
+ return "123";
}
@@ -122,20 +126,25 @@
//List<MESSockInfo> MESSocks = new List<MESSockInfo>();
string materielDetailedid = stock.MaterialCode1 + DateTime.Now.ToString("mmss").ObjToInt();
-
+ string kk = stock.MaterialCode1.Replace("X", "");
//鍖哄垎璐у尯
int k = 1;
- //Dt_Warehouse warehouse = _WarehouseRepository.QueryFirst(x => x.MaterialName == "");
- ////鏌ヨ鐗╂枡浜岀淮缂栫爜
- //Dt_FillingOrder FillingOrder = _FillingOrderRepository.QueryFirst(x=>x.BarCode == stock.MaterialCode1);
- //if (warehouse.MaterialType == (int)WarehouseTypeEnum.Food)
- //{
- // k = 2;
- //}
- //else if (warehouse.MaterialType == (int)WarehouseTypeEnum.Industry)
- //{
- // k = 3;
- //}
+ //鏌ヨ鐗╂枡浜岀淮缂栫爜
+ Dt_FillingOrder FillingOrder = _FillingOrderRepository.QueryFirst(x => x.BarCode == kk);
+ if (FillingOrder == null)
+ {
+ LogLock.OutLogAOP("鎺ュ彛鏃ュ織", new string[] { "婊℃《鍏ュ簱浠诲姟鐢熸垚", $"{"浜岀淮鐮佹煡璇㈠紓甯�"}" });
+ content.Message = "浜岀淮鐮佹煡璇㈠紓甯�";
+ return content;
+ }
+ if (FillingOrder.WarehouseType.Equals("椋熷搧鍖�"))
+ {
+ k = 2;
+ }
+ else if (FillingOrder.WarehouseType.Equals("宸ヤ笟鍖�"))
+ {
+ k = 3;
+ }
//鍏ュ簱鍒嗛厤璐т綅
Dt_LocationInfo locations = _LocationInfoService.AllotLocationInfo(k);
@@ -150,7 +159,7 @@
stockInfo.MaterielCode3 = stock.MaterialCode3;
stockInfo.MaterielCode4 = stock.MaterialCode4;
stockInfo.MaterielDetailedid = materielDetailedid;
- stockInfo.StockType = (int)StockTypeEmun.姘�;
+ stockInfo.MaterielName = FillingOrder.MaterialName;
//鍒涘缓鐗╂枡璇︾粏淇℃伅
//鍒ゅ畾鍏ュ簱妯″紡
@@ -264,7 +273,7 @@
taskhty.Grade = task.Grade;
taskhty.Remark = task.Remark;
taskhty.TaskType = task.TaskType;
- taskhty.TaskState = task.TaskState;
+ taskhty.TaskState = (int)TaskStatusEnum.Task_Finish;
//寮�濮嬫暟鎹簱浜嬪姟
_unitOfWorkManage.BeginTran();
@@ -330,7 +339,7 @@
stockInfo_Hty.MaterielDetailedid = stockInfo.MaterielDetailedid;
List<Dt_StockInfoDetail_Hty> stockInfoDetail_Hty = new List<Dt_StockInfoDetail_Hty>();
int k = stockInfoDetail.Count() - 1;
- for(int i = 0; i <= k; i++)
+ for (int i = 0; i <= k; i++)
{
stockInfoDetail_Hty[i].MaterielCode = stockInfoDetail[i].MaterielCode;
stockInfoDetail_Hty[i].MaterielDetailedid = stockInfoDetail[i].MaterielDetailedid;
@@ -375,7 +384,7 @@
_unitOfWorkManage.CommitTran();
}
//鐩存帴鍑哄簱
- else if(task.TaskType == (int)TaskTypeEnum.OutDirect)
+ else if (task.TaskType == (int)TaskTypeEnum.OutDirect)
{
//鍒犻櫎搴撳瓨淇℃伅
Dt_StockInfo stockInfo = _StockInfoRepository.QueryFirst(x => x.LocationCode == task.SourceAddress);
@@ -489,7 +498,7 @@
Dt_Task task = new Dt_Task();
//鍑哄簱鍒嗛厤鐗╂枡
Dt_LocationInfo locations = _LocationInfoService.AllotStock(1);
- if (locations ==null)
+ if (locations == null)
{
return content;
}
@@ -519,31 +528,39 @@
}
//鏍规嵁鏁伴噺鍜岀绫讳笅鍙戞弧妗跺嚭搴撲换鍔�
- public WebResponseContent ArtificialTask(int Num, int Type)
+ public WebResponseContent ArtificialTask(int Num, string Types)
{
WebResponseContent content = new WebResponseContent();
List<Dt_Task> tasks = new List<Dt_Task>();
List<Dt_LocationInfo> LocationInfo = new List<Dt_LocationInfo>();
List<Dt_StockInfo> StockInfo = new List<Dt_StockInfo>();
- if (Num > 0 && Type > 0 && kk == true)
+ if (Num > 0 && !Types.Equals("") && Types != null && kk == true)
{
Dt_Outstockinfo outstockinfo = _OutstockinfoRepository.QueryFirst(x => x.Id == 1);
//婊�
if (outstockinfo.BigOrLittle == 1)
{
//鑾峰彇骞堕攣瀹氱墿鏂�
- StockInfo = _IStockService.PriorityBig(Num, Type);
+ StockInfo = _IStockService.PriorityBig(Num, Types);
+ if (StockInfo == null || StockInfo.Count <= 0)
+ {
+ StockInfo = _IStockService.PriorityLittle(Num, Types);
+ }
}
//娈�
else
{
//鑾峰彇骞堕攣瀹氱墿鏂�
- StockInfo = _IStockService.PriorityLittle(Num, Type);
+ StockInfo = _IStockService.PriorityLittle(Num, Types);
+ if (StockInfo == null || StockInfo.Count <= 0)
+ {
+ StockInfo = _IStockService.PriorityBig(Num, Types);
+ }
}
//鍒涘缓浠诲姟
- if (StockInfo != null)
+ if (StockInfo != null && StockInfo.Count > 0)
{
//鑾峰彇骞堕攣瀹氳揣浣�
LocationInfo = _ILocationInfoService.StockLockLocation(StockInfo);
@@ -552,7 +569,7 @@
}
else
{
- return WebResponseContent.Instance.Error($"鐗╂枡涓嶈冻");
+ return content.Error("鐗╂枡涓嶈冻");
}
//寮�濮嬫暟鎹簱浜嬪姟
@@ -571,7 +588,8 @@
}
else
{
- LogLock.OutLogAOP("鎺ュ彛鏃ュ織", new string[] { "涓嬪彂鏁伴噺銆佺绫绘垨淇″彿寮傚父"});
+ LogLock.OutLogAOP("鎺ュ彛鏃ュ織", new string[] { "涓嬪彂鏁伴噺銆佺绫绘垨淇″彿寮傚父" });
+ return content.Error("涓嬪彂鏁伴噺銆佺绫绘垨淇″彿寮傚父");
}
return content;
}
@@ -729,9 +747,10 @@
//WCS婊℃《鍑哄簱淇″彿
public WebResponseContent WCSSignal(int k)
{
- WebResponseContent content=new WebResponseContent();
+ WebResponseContent content = new WebResponseContent();
//鍙互鍑�
- if (k == 1) {
+ if (k == 1)
+ {
kk = true;
}
//涓嶅彲浠ュ嚭
@@ -742,5 +761,20 @@
return content;
}
+
+ //鎵ц璁㈠崟
+ public string ExecuteOrder(int k)
+ {
+ WebResponseContent content = new WebResponseContent();
+ Dt_OutboundOrder OutboundOrder = _OutboundOrderRepository.QueryFirst(x => x.Id == k);
+ //涓嬪彂浠诲姟
+ content = ArtificialTask(OutboundOrder.num, OutboundOrder.MaterielName);
+ if (content.Message == null || content.Message.Equals(""))
+ {
+ OutboundOrder.BoundOrderStatue = (int)OutboundOrderEnum.Execute;
+ _OutboundOrderRepository.UpdateData(OutboundOrder);
+ }
+ return content.Message;
+ }
}
}
--
Gitblit v1.9.3