From f947d43adfe6a204b6afe920ce88a30d78015f1d Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期五, 28 二月 2025 10:44:44 +0800
Subject: [PATCH] 板料优化,成品流程,测试架...
---
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5ba3c6c3-45c6-476a-ba4d-7e36c7c7a528.vsidx | 0
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPProInboundModel.cs | 127 ++++
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPMaterialSaleReturnModel.cs | 26
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs | 4
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPProOutOrderModel.cs | 85 +++
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductWarehousingOrderDTO.cs | 107 +++
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/959c0d1d-18db-48d3-9271-1d227e7b7a7a.vsidx | 0
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductSpecifyVerDTO.cs | 71 ++
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs | 7
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/cf4c8fbf-fed0-45af-ba6f-76a403b97252.vsidx | 0
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/f0ca51ef-0959-4f1b-a1f1-0807e03664dc.vsidx | 0
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/336a7528-2578-4f8c-8fc8-17a205348f74.vsidx | 0
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs | 8
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs | 8
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPMaintainIssueModel.cs | 92 +++
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProOutOrderDTO.cs | 107 +++
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_BC.cs | 38 +
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/PalletCodeInfoService.cs | 4
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Common/LocationEnum/LocationStatusEnum.cs | 2
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs | 2
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 16
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesResponseContent.cs | 12
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/AssignInboundTaskLocation_BC.cs | 31
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPStockCheckModel.cs | 128 ++++
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/e78f7dca-bb67-4a49-94e2-a0a1a362cc32.vsidx | 0
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs | 13
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPScrapSheetModel.cs | 101 +++
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock | 0
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs | 3
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPProductCheckModel.cs | 187 ++++++
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs | 6
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 12
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs | 4
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductScrappedOrderDTO.cs | 90 +++
/dev/null | 0
代码管理/WMS/WIDESEA_WMSClient/src/views/outbound/mesOutboundOrder.vue | 12
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs | 12
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/板材仓/ConveyorLineJob_BC.cs | 92 +++
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/板材仓/StackerCraneJob_BC.cs | 25
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs | 6
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock | 0
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/测试架仓/StackerCraneJob_CSJ.cs | 62 ++
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductTransferOrderDTO.cs | 96 +++
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesOutboundOrderService.cs | 1
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/板材仓/RGVJob_BC.cs | 5
45 files changed, 1,543 insertions(+), 59 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/336a7528-2578-4f8c-8fc8-17a205348f74.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/336a7528-2578-4f8c-8fc8-17a205348f74.vsidx"
new file mode 100644
index 0000000..353c3df
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/336a7528-2578-4f8c-8fc8-17a205348f74.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5ba3c6c3-45c6-476a-ba4d-7e36c7c7a528.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5ba3c6c3-45c6-476a-ba4d-7e36c7c7a528.vsidx"
new file mode 100644
index 0000000..9fc7b75
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5ba3c6c3-45c6-476a-ba4d-7e36c7c7a528.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9db99863-dd5d-4ea4-9436-cf86369c513c.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9db99863-dd5d-4ea4-9436-cf86369c513c.vsidx"
deleted file mode 100644
index fbb4364..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9db99863-dd5d-4ea4-9436-cf86369c513c.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock"
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock"
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs"
index 43f74db..f414325 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs"
@@ -19,6 +19,12 @@
New = 100,
/// <summary>
+ /// 鎻愬崌鏈烘墽琛屼腑
+ /// </summary>
+ [Description("鎻愬崌鏈烘墽琛屼腑")]
+ HT_Executing = 110,
+
+ /// <summary>
/// 鍫嗗灈鏈哄緟鎵ц
/// </summary>
[Description("鍫嗗灈鏈哄緟鎵ц")]
@@ -106,10 +112,6 @@
/// </summary>
[Description("浠诲姟寮傚父")]
Exception = 990,
- /// <summary>
- /// 鎻愬崌鏈烘墽琛屼腑
- /// </summary>
- [Description("鎻愬崌鏈烘墽琛屼腑")]
- HT_Executing = 110,
+
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs"
index 0e971ec..10bd4e9 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs"
@@ -91,6 +91,12 @@
MesMatReturn = 560,
/// <summary>
+ /// MES绌烘墭閫�鏂�
+ /// </summary>
+ [Description("MES绌烘墭閫�鏂�")]
+ MesPalletReturn = 580,
+
+ /// <summary>
/// 璋冩嫧鍏ュ簱
/// </summary>
[Description("璋冩嫧鍏ュ簱")]
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
index b501222..9112aad 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
@@ -260,5 +260,9 @@
/// <param name="PodBerthAndMat"></param>
/// <returns></returns>
WebResponseContent AgvPodBerthAndMat(AgvPodBerthAndMatDTO agvPodModel, APIEnum PodBerthAndMat = APIEnum.Agv_CSJPodBerthAndMat);
+ /// <summary>
+ /// //鍒ゆ柇绉诲簱璐т綅浠诲姟鏄惁宸插瓨鍦紝濡傚瓨鍦ㄥ厛鎵ц
+ /// </summary>
+ Dt_Task QueryStackerExistTask(string PalletCode,string locationCode);
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index ebdb88a..6a74dc6 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -16,6 +16,7 @@
#endregion << 鐗� 鏈� 娉� 閲� >>
using AutoMapper;
+using HslCommunication.Enthernet;
using Newtonsoft.Json;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using SqlSugar;
@@ -65,6 +66,7 @@
private Dictionary<string, OrderByType> _taskOrderBy = new()
{
{nameof(Dt_Task.Grade),OrderByType.Desc },
+ {nameof(Dt_Task.TaskNum),OrderByType.Asc},
{nameof(Dt_Task.CreateDate),OrderByType.Asc},
};
@@ -198,7 +200,12 @@
task.NextAddress = router.NextPosi;
task.DeviceCode = router.ChildPosi;
}
- else if (item.TaskType == TaskTypeEnum.MesOutbound.ObjToInt() || item.TaskType == TaskTypeEnum.MesHandOutbound.ObjToInt() || item.TaskType == TaskTypeEnum.MesHandPickOutbound.ObjToInt())
+ else if (item.TaskType == TaskTypeEnum.MesPalletReturn.ObjToInt() && router.IsEnd)
+ {
+ task.NextAddress = router.NextPosi;
+ task.DeviceCode = router.ChildPosi;
+ }
+ else if (item.TaskType == TaskTypeEnum.MesOutbound.ObjToInt() || item.TaskType == TaskTypeEnum.MesHandOutbound.ObjToInt() || item.TaskType == TaskTypeEnum.MesHandPickOutbound.ObjToInt() || (item.TaskType == TaskTypeEnum.OutAllocate.ObjToInt() && item.RoadWay.Contains("BC")))
{
task.NextAddress = router.NextPosi;
task.DeviceCode = stationManger.StackerCraneCode;
@@ -813,5 +820,12 @@
return WebResponseContent.Instance.Error(ex.Message);
}
}
+ /// <summary>
+ /// //鍒ゆ柇绉诲簱璐т綅浠诲姟鏄惁宸插瓨鍦紝濡傚瓨鍦ㄥ厛鎵ц
+ /// </summary>
+ public Dt_Task QueryStackerExistTask(string PalletCode, string locationCode)
+ {
+ return BaseDal.QueryFirst(x => x.PalletCode == PalletCode && x.SourceAddress == locationCode && x.TaskState == (int)TaskStatusEnum.SC_Execute);
+ }
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs"
index 0c5db6a..787946b 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs"
@@ -106,13 +106,16 @@
Dt_Task task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) /*&& x.DeviceCode == item.StationDeviceCode*/ && (x.TaskState == TaskStatusEnum.New.ObjToInt()) && x.WarehouseId == warehouseDevice.WarehouseId);
if (task != null && conveyorLineInfoWrite.Spare2 == 0 && conveyorLineStatus.Goods)
{
- List<string> stations = _routerExtension.GetEndPoint(item.StationCode, TaskTypeEnum.Inbound.ObjToInt()).Select(x => x.NextPosi).ToList();
- WebResponseContent responseContent = _taskService.RequestWMSAssignRoadway(stations, task.TaskNum, conveyorLineInfoRead.Spare2);
- if (responseContent.Status)
- {
- device.SetValue(W_ConveyorLineDB.Spare2, 1, item.StationCode);
- _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, deviceCode: item.StationDeviceCode, roadwayNo: responseContent.Data.ToString() ?? "");
- }
+ //List<string> stations = _routerExtension.GetEndPoint(item.StationCode, TaskTypeEnum.Inbound.ObjToInt()).Select(x => x.NextPosi).ToList();
+ ////鍒嗛厤宸烽亾
+ //WebResponseContent responseContent = _taskService.RequestWMSAssignRoadway(stations, task.TaskNum, conveyorLineInfoRead.Spare2);
+ //if (responseContent.Status)
+ //{
+ // device.SetValue(W_ConveyorLineDB.Spare2, 1, item.StationCode);
+ // _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, deviceCode: item.StationDeviceCode, roadwayNo: responseContent.Data.ToString() ?? "");
+ //}
+ device.SetValue(W_ConveyorLineDB.Spare2, 1, item.StationCode);
+ _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, deviceCode: item.StationDeviceCode);
}
else
{
@@ -132,6 +135,17 @@
Dt_Task task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.DeviceCode == item.StationDeviceCode && (x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt()) && x.PalletCode == conveyorLineInfoRead.Barcode && x.WarehouseId == warehouseDevice.WarehouseId);
if (task != null)
{
+ List<string> stations = _routerExtension.GetEndPoint(item.StationCode, TaskTypeEnum.Inbound.ObjToInt()).Select(x => x.NextPosi).ToList();
+ //鍒嗛厤宸烽亾
+ if (stations.Count>1)
+ {
+ WebResponseContent responseContent = _taskService.RequestWMSAssignRoadway(stations, task.TaskNum, conveyorLineInfoRead.Spare2);
+ if (responseContent.Status)
+ {
+ _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, roadwayNo: responseContent.Data.ToString() ?? "");
+ }
+ }
+
device.SetValue(W_ConveyorLineDB.Spare2, 0, item.StationCode);
string currentAddress = task.CurrentAddress;
@@ -173,13 +187,22 @@
else
{
//task.NextAddress鍙兘鏄痳outer.NextPosi
- device.SetValue(W_ConveyorLineDB.EndPos, task.NextAddress, item.StationCode);
+ nextAddress = router.NextPosi;
+ device.SetValue(W_ConveyorLineDB.EndPos, router.NextPosi, item.StationCode);
}
device.SetValue(W_ConveyorLineDB.TaskNum, task.TaskNum, item.StationCode);
device.SetValue(W_ConveyorLineDB.StartPos, task.CurrentAddress, item.StationCode);
device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Outbound.ObjToInt(), item.StationCode);
device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
- _taskService.UpdateTask(task, taskState, currentAddress: currentAddress, nextAddress: nextAddress, targetAddress: targetAddress, deviceCode: deviceCode);
+ if (router.IsEnd)
+ {
+ _taskService.UpdateTask(task, taskState, currentAddress: currentAddress, nextAddress: nextAddress, targetAddress: targetAddress, deviceCode: deviceCode);
+ }
+ else
+ {
+ _taskService.UpdateTask(task, taskState, nextAddress: nextAddress);
+ }
+
}
else
{
@@ -187,10 +210,11 @@
}
#endregion
}
- else//鐢熶骇閫�搴�
+ else//鐢熶骇閫�搴� //鎹㈠贩閬撳叆搴�
{
#region 鐢熶骇閫�搴�,甯︿换鍔″彿鏌ヨ浠诲姟
Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == conveyorLineInfoRead.TaskNum && x.NextAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.WarehouseId == warehouseDevice.WarehouseId); // 甯︿换鍔″彿鏌ヨ浠诲姟
+ Dt_Task taskIn = _taskRepository.QueryFirst(x => x.TaskNum == conveyorLineInfoRead.TaskNum && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.DeviceCode == item.StationDeviceCode && x.NextAddress == item.StationCode && x.WarehouseId == warehouseDevice.WarehouseId && x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt()); // 甯︿换鍔″彿鏌ヨ浠诲姟
if (task != null)
{
List<string> stations = _routerExtension.GetEndPoint(item.StationCode, TaskTypeEnum.Inbound.ObjToInt()).Select(x => x.NextPosi).ToList();
@@ -252,6 +276,50 @@
}
}
+ if (taskIn!=null)
+ {
+ string currentAddress = taskIn.CurrentAddress;
+ string nextAddress = taskIn.NextAddress;
+ string targetAddress = taskIn.TargetAddress;
+ string deviceCode = taskIn.DeviceCode;
+ TaskStatusEnum taskState = (TaskStatusEnum)taskIn.TaskState;
+ List<Dt_Router> routers = _routerService.QueryNextRoutes(item.StationCode, taskIn.Roadway, taskIn.TaskType);
+ Dt_Router? router = routers.FirstOrDefault();
+ if (routers == null || routers.Count == 0 || router == null)
+ {
+ WriteError(item.StationName, $"鏈壘鍒板搴旇矾鐢变俊鎭�,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{taskIn.TaskNum}");
+ continue;
+ }
+ if (routers.Count > 1)
+ {
+ WriteError(item.StationName, $"璺敱淇℃伅閰嶇疆閿欒,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{taskIn.TaskNum}");
+ continue;
+ }
+
+ if (router.IsEnd)
+ {
+ string? targetLoca = _taskService.RequestAssignLocationByHeight(taskIn.TaskNum, taskIn.Roadway, conveyorLineInfoRead.Spare2);
+ if (!string.IsNullOrEmpty(targetLoca))
+ {
+ currentAddress = item.StackerCraneStationCode;
+ targetAddress = targetLoca;
+ nextAddress = targetLoca;
+ taskState = TaskStatusEnum.SC_Execute;
+ deviceCode = item.StackerCraneCode;
+ device.SetValue(W_ConveyorLineDB.EndPos, taskIn.CurrentAddress, item.StationCode);
+ }
+ else
+ {
+ WriteError(item.StationName, $"璇锋眰鍒嗛厤璐т綅澶辫触,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}");
+ continue;
+ }
+ }
+ device.SetValue(W_ConveyorLineDB.TaskNum, taskIn.TaskNum, item.StationCode);
+ device.SetValue(W_ConveyorLineDB.StartPos, taskIn.CurrentAddress, item.StationCode);
+ device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Outbound.ObjToInt(), item.StationCode);
+ device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+ _taskService.UpdateTask(taskIn, taskState, currentAddress: currentAddress, nextAddress: nextAddress, targetAddress: targetAddress, deviceCode: deviceCode);
+ }
#endregion
}
}
@@ -272,6 +340,10 @@
device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Outbound.ObjToInt(), item.StationCode);
device.SetValue(W_ConveyorLineDB.STB, true, item.StationCode);
}
+ else //璋冩嫧浣跨敤
+ {
+ device.SetValue(W_ConveyorLineDB.STB, true, item.StationCode);
+ }
//{
// task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && string.IsNullOrEmpty(x.DeviceCode) && x.TaskState == TaskStatusEnum.New.ObjToInt() && x.WarehouseId == warehouseDevice.WarehouseId);
// if (task != null)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/RGVJob_BC.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/RGVJob_BC.cs"
index d314d45..834a6de 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/RGVJob_BC.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/RGVJob_BC.cs"
@@ -145,6 +145,11 @@
}
else if (!conveyorLineSignalRead.STB && conveyorLineSignalWrite.ACK && !conveyorLineStatus.Alarm)
{
+ Dt_Task task = _taskRepository.QueryFirst(x => x.PalletCode == conveyorLineInfoRead.Barcode);
+ if (task!=null && task.TaskType==TaskTypeEnum.MesPalletReturn.ObjToInt())
+ {
+ _taskService.TaskCompleted(task.TaskNum);
+ }
device.SetValue(W_ConveyorLineDB.ACK, false, item.StationCode);
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/StackerCraneJob_BC.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/StackerCraneJob_BC.cs"
index 397c4a8..8fb228b 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/StackerCraneJob_BC.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/StackerCraneJob_BC.cs"
@@ -200,7 +200,7 @@
}
else
{
- _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, deviceCode: stationManger.StationDeviceCode, currentAddress: stationManger.StationCode, nextAddress: router.NextPosi, targetAddress: "1102");
+ _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, deviceCode: stationManger.StationDeviceCode, currentAddress: stationManger.StationCode, nextAddress: "1102", targetAddress: "1102");
}
}
@@ -336,13 +336,22 @@
else
{
Dt_Task reloTask = _mapper.Map<Dt_Task>(taskDTO);
- reloTask.TaskState = TaskStatusEnum.SC_Execute.ObjToInt();
- reloTask.CurrentAddress = taskDTO.SourceAddress;
- reloTask.NextAddress = taskDTO.TargetAddress;
- reloTask.DeviceCode = task.DeviceCode;
- reloTask.TaskType = TaskTypeEnum.Relocation.ObjToInt();
- int taskId = _taskRepository.AddData(reloTask);
- reloTask.TaskId = taskId;
+ //鍒ゆ柇绉诲簱璐т綅浠诲姟鏄惁宸插瓨鍦紝濡傚瓨鍦ㄥ厛鎵ц
+ Dt_Task existTask = _taskService.QueryStackerExistTask(reloTask.PalletCode, reloTask.SourceAddress);
+ if (existTask != null)
+ {
+ return existTask;
+ }
+ else
+ {
+ reloTask.TaskState = TaskStatusEnum.SC_Execute.ObjToInt();
+ reloTask.CurrentAddress = taskDTO.SourceAddress;
+ reloTask.NextAddress = taskDTO.TargetAddress;
+ reloTask.DeviceCode = task.DeviceCode;
+ reloTask.TaskType = TaskTypeEnum.Relocation.ObjToInt();
+ int taskId = _taskRepository.AddData(reloTask);
+ reloTask.TaskId = taskId;
+ }
return reloTask;
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\265\213\350\257\225\346\236\266\344\273\223/StackerCraneJob_CSJ.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\265\213\350\257\225\346\236\266\344\273\223/StackerCraneJob_CSJ.cs"
index e9a0996..8f364d1 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\265\213\350\257\225\346\236\266\344\273\223/StackerCraneJob_CSJ.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\265\213\350\257\225\346\236\266\344\273\223/StackerCraneJob_CSJ.cs"
@@ -1,4 +1,5 @@
-锘縰sing Microsoft.AspNetCore.Components.Routing;
+锘縰sing AutoMapper;
+using Microsoft.AspNetCore.Components.Routing;
using Newtonsoft.Json;
using Quartz;
using System;
@@ -14,6 +15,7 @@
using WIDESEAWCS_Core.Caches;
using WIDESEAWCS_Core.Enums;
using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_DTO.TaskInfo;
using WIDESEAWCS_IBasicInfoRepository;
using WIDESEAWCS_ITaskInfoRepository;
using WIDESEAWCS_ITaskInfoService;
@@ -31,6 +33,7 @@
[DisallowConcurrentExecution]
public class StackerCraneJob_CSJ : JobBase, IJob
{
+ private readonly IMapper _mapper;
private readonly ICacheService _cacheService;
private readonly ITaskService _taskService;
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
@@ -39,7 +42,7 @@
private readonly IStationMangerRepository _stationMangerRepository;
private List<Dt_ApiInfo> apiInfos;
- public StackerCraneJob_CSJ(ITaskService taskService, ICacheService cacheService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository)
+ public StackerCraneJob_CSJ(ITaskService taskService, ICacheService cacheService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository, IMapper mapper)
{
_taskService = taskService;
_taskExecuteDetailService = taskExecuteDetailService;
@@ -47,6 +50,7 @@
_routerService = routerService;
_stationMangerRepository = stationMangerRepository;
_cacheService = cacheService;
+ _mapper = mapper;
string? apiInfoStr = _cacheService.Get("apiInfos");
if (!string.IsNullOrEmpty(apiInfoStr))
@@ -231,7 +235,57 @@
_taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒癢MS绉诲簱鍒ゆ柇鎺ュ彛");
return null;
}
- HttpHelper.Post($"{url}?taskNum={task.TaskNum}&locationCode={task.NextAddress}", "");//todo 璋冪敤WMS浠诲姟瀹屾垚鏂规硶
+ string response = HttpHelper.Post($"{url}?taskNum={task.TaskNum}&locationCode={task.CurrentAddress}", "");//todo 璋冪敤WMS浠诲姟瀹屾垚鏂规硶
+ if (string.IsNullOrEmpty(response))
+ {
+ _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, $"绉诲簱鎺ュ彛璋冪敤閿欒");
+ WriteError(commonStackerCrane.DeviceCode, $"绉诲簱鎺ュ彛璋冪敤閿欒");
+ _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱鎺ュ彛璋冪敤閿欒");
+ return null;
+ }
+ WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(response);
+ if (responseContent == null || !responseContent.Status)
+ {
+ _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, $"绉诲簱鎺ュ彛璋冪敤閿欒");
+ WriteError(commonStackerCrane.DeviceCode, $"绉诲簱鎺ュ彛璋冪敤閿欒");
+ _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱鎺ュ彛璋冪敤閿欒");
+ return null;
+ }
+ WMSTaskDTO? taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(responseContent.Data.Serialize());
+ if (taskDTO == null)
+ {
+ _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, $"绉诲簱鎺ュ彛璋冪敤閿欒");
+ WriteError(commonStackerCrane.DeviceCode, $"绉诲簱鎺ュ彛璋冪敤閿欒");
+ _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱鎺ュ彛璋冪敤閿欒");
+ return null;
+
+ }
+ if (task.TaskNum == taskDTO.TaskNum)
+ {
+ return task;
+ }
+ else
+ {
+ Dt_Task reloTask = _mapper.Map<Dt_Task>(taskDTO);
+ //鍒ゆ柇绉诲簱璐т綅浠诲姟鏄惁宸插瓨鍦紝濡傚瓨鍦ㄥ厛鎵ц
+ Dt_Task existTask = _taskService.QueryStackerExistTask(reloTask.PalletCode, reloTask.SourceAddress);
+ if (existTask != null)
+ {
+ return existTask;
+ }
+ else
+ {
+ reloTask.TaskState = TaskStatusEnum.SC_Execute.ObjToInt();
+ reloTask.CurrentAddress = taskDTO.SourceAddress;
+ reloTask.NextAddress = taskDTO.TargetAddress;
+ reloTask.DeviceCode = task.DeviceCode;
+ reloTask.TaskType = TaskTypeEnum.Relocation.ObjToInt();
+ int taskId = _taskRepository.AddData(reloTask);
+ reloTask.TaskId = taskId;
+ }
+ return reloTask;
+
+ }
}
return task;
@@ -244,7 +298,7 @@
/// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns>
private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task)
{
- Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress && x.StackerCraneCode == task.DeviceCode);
+ Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => (x.StationCode == task.NextAddress || x.StackerCraneStationCode == task.NextAddress) && x.StackerCraneCode == task.DeviceCode);
if (stationManger != null)
{
IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/mesOutboundOrder.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/mesOutboundOrder.vue"
index e5c696c..c34330c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/mesOutboundOrder.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/mesOutboundOrder.vue"
@@ -34,12 +34,14 @@
]);
const searchFormFields = ref({
orderNo: "",
+ taskNo:"",
materialCode: "",
batchNo: "",
});
const searchFormOptions = ref([
[
{ title: "鍗曟嵁缂栧彿", field: "orderNo", type:"like" },
+ { title: "MES浠诲姟鍗曞彿", field: "taskNo", type:"like" },
{ title: "鐗╂枡缂栧彿", field: "materialCode" ,type:"like"},
{ title: "鎵规鍙�", field: "batchNo" ,type:"like"},
],
@@ -71,7 +73,7 @@
},
{
field: "taskNo",
- title: "浠诲姟鍗曞彿",
+ title: "MES浠诲姟鍗曞彿",
type: "string",
width: 150,
align: "left",
@@ -154,6 +156,14 @@
type: "string",
width: 100,
align: "left",
+ hidden: true
+ },
+ {
+ field: "createDate",
+ title: "鍒涘缓鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
},
{
field: "width",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/1835396e-ee0b-4003-b5af-b6427288d0f6.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/1835396e-ee0b-4003-b5af-b6427288d0f6.vsidx"
deleted file mode 100644
index 9adb7a0..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/1835396e-ee0b-4003-b5af-b6427288d0f6.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/2a6737f2-ed15-4243-99f4-32f56eae41df.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/2a6737f2-ed15-4243-99f4-32f56eae41df.vsidx"
deleted file mode 100644
index 666656d..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/2a6737f2-ed15-4243-99f4-32f56eae41df.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/736d9a07-7f63-4075-b18a-3910cc852c4c.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/736d9a07-7f63-4075-b18a-3910cc852c4c.vsidx"
deleted file mode 100644
index fae6d33..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/736d9a07-7f63-4075-b18a-3910cc852c4c.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/959c0d1d-18db-48d3-9271-1d227e7b7a7a.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/959c0d1d-18db-48d3-9271-1d227e7b7a7a.vsidx"
new file mode 100644
index 0000000..d976082
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/959c0d1d-18db-48d3-9271-1d227e7b7a7a.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/b0f7d90e-1d2b-41fa-bdc4-6751c11f6ed9.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/b0f7d90e-1d2b-41fa-bdc4-6751c11f6ed9.vsidx"
deleted file mode 100644
index 9d609ad..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/b0f7d90e-1d2b-41fa-bdc4-6751c11f6ed9.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/cf4c8fbf-fed0-45af-ba6f-76a403b97252.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/cf4c8fbf-fed0-45af-ba6f-76a403b97252.vsidx"
new file mode 100644
index 0000000..21838e7
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/cf4c8fbf-fed0-45af-ba6f-76a403b97252.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/e78f7dca-bb67-4a49-94e2-a0a1a362cc32.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/e78f7dca-bb67-4a49-94e2-a0a1a362cc32.vsidx"
new file mode 100644
index 0000000..ddc6364
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/e78f7dca-bb67-4a49-94e2-a0a1a362cc32.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/f0ca51ef-0959-4f1b-a1f1-0807e03664dc.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/f0ca51ef-0959-4f1b-a1f1-0807e03664dc.vsidx"
new file mode 100644
index 0000000..b720304
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/f0ca51ef-0959-4f1b-a1f1-0807e03664dc.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock"
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock"
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/PalletCodeInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/PalletCodeInfoService.cs"
index 6163330..affe4dd 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/PalletCodeInfoService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/PalletCodeInfoService.cs"
@@ -104,7 +104,7 @@
List<Dt_PalletCodeInfo> palletCodeInfos = new List<Dt_PalletCodeInfo>();
int serialNo = 0;
DateTime now = DateTime.Now;
- Dt_PalletCodeInfo palletCodeInfo = BaseDal.QueryFirst(x => x.WarehouseId == warehouseId, new Dictionary<string, OrderByType> { { nameof(Dt_PalletCodeInfo.SerialNo), OrderByType.Desc } });
+ Dt_PalletCodeInfo palletCodeInfo = BaseDal.QueryFirst(x => x.WarehouseId == warehouseId && x.PalletTypeId==palletTypeId, new Dictionary<string, OrderByType> { { nameof(Dt_PalletCodeInfo.SerialNo), OrderByType.Desc } });
if (palletCodeInfo != null && palletCodeInfo.CreateDate.Year == now.Year && palletCodeInfo.CreateDate.Month == now.Month && palletCodeInfo.CreateDate.Day == now.Day)
{
serialNo = palletCodeInfo.SerialNo + 1;
@@ -123,7 +123,7 @@
SerialNo = serialNo,
PalletCode = palletTypeInfo.CodeStartStr + now.ToString("yyyyMMdd") + serialNo.ToString().PadLeft(3, '0'),
PalletType = 1,
- PalletTypeId = 0,
+ PalletTypeId = palletTypeId,
WarehouseId = warehouseId,
Status = 0,
Size = 0
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_BC.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_BC.cs"
index 2021323..5c615e9 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_BC.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_BC.cs"
@@ -108,6 +108,15 @@
{
Dt_LocationInfo definedTypeEmptyLocation = definedTypeEmptyLocations[i];
Dt_LocationInfo? locationInfo = GetUsableLocation_BC(locationInfos, definedTypeEmptyLocation, palletType, palletTypeInfo);
+ //鍒ゆ柇璐т綅涓ゆ繁鍙婁互涓婃槸鍚﹀瓨鍦ㄥ嚭搴撻攣瀹氳揣浣�
+ if (locationInfo?.Depth == 1)
+ {
+ Dt_LocationInfo? IsBebusyLocation = locationInfos.Where(x => x.Row == (locationInfo?.Row == 2 ? locationInfo?.Row - 1 : locationInfo?.Row + 1) && x.Column==locationInfo?.Column && x.Layer== locationInfo?.Layer).FirstOrDefault();
+ if (IsBebusyLocation!=null && (IsBebusyLocation.LocationStatus<LocationStatusEnum.InStock.ObjToInt()))
+ {
+ continue;
+ }
+ }
if (locationInfo != null)
{
locationCaches_BC.Add(new LocationCache { LocationCode = locationInfo.LocationCode, DateTime = DateTime.Now });
@@ -123,18 +132,29 @@
undefinedTypeEmptyLocations = undefinedTypeEmptyLocations.Where(x => x.Column % 2 == 1).ToList();
else
undefinedTypeEmptyLocations = undefinedTypeEmptyLocations.Where(x => x.Column % 2 == 0).ToList();
- }
- for (int i = 0; i < undefinedTypeEmptyLocations.Count; i++)
- {
- Dt_LocationInfo undefinedTypeEmptyLocation = undefinedTypeEmptyLocations[i];
- Dt_LocationInfo? locationInfo = GetUsableLocation_BC(locationInfos, undefinedTypeEmptyLocation, palletType, palletTypeInfo);
- if (locationInfo != null)
+
+ for (int i = 0; i < undefinedTypeEmptyLocations.Count; i++)
{
- //UpdateLocationStatus(locationInfo, palletType, LocationStatusEnum.Lock, locationInfo.WarehouseId);
- locationCaches_BC.Add(new LocationCache { LocationCode = locationInfo.LocationCode, DateTime = DateTime.Now });
- return locationInfo;
+ Dt_LocationInfo undefinedTypeEmptyLocation = undefinedTypeEmptyLocations[i];
+ Dt_LocationInfo? locationInfo = GetUsableLocation_BC(locationInfos, undefinedTypeEmptyLocation, palletType, palletTypeInfo);
+ //鍒ゆ柇璐т綅涓ゆ繁鍙婁互涓婃槸鍚﹀瓨鍦ㄥ嚭搴撻攣瀹氳揣浣�
+ if (locationInfo?.Depth == 1)
+ {
+ Dt_LocationInfo? IsBebusyLocation = locationInfos.Where(x => x.Row == (locationInfo?.Row == 2 ? locationInfo?.Row - 1 : locationInfo?.Row + 1) && x.Column == locationInfo?.Column && x.Layer == locationInfo?.Layer).FirstOrDefault();
+ if (IsBebusyLocation != null && (IsBebusyLocation.LocationStatus < LocationStatusEnum.InStock.ObjToInt()))
+ {
+ continue;
+ }
+ }
+ if (locationInfo != null)
+ {
+ //UpdateLocationStatus(locationInfo, palletType, LocationStatusEnum.Lock, locationInfo.WarehouseId);
+ locationCaches_BC.Add(new LocationCache { LocationCode = locationInfo.LocationCode, DateTime = DateTime.Now });
+ return locationInfo;
+ }
}
}
+
}
return null;
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs"
index adec44a..3e875b8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs"
@@ -341,9 +341,20 @@
nearLocation = locationInfos.FirstOrDefault(x => x.Row == location.Row && x.Layer == location.Layer && x.Depth == location.Depth && x.Column == location.Column - 1);
}
- if (location.RoadwayNo == "SC01_BC")
+ if (nearLocation!=null && location.RoadwayNo.Contains("BC"))
+ {
+ if (nearLocation?.LocationType == LocationTypeEnum.SmallPallet.ObjToInt())
+ {
+ nearLocation = null;
+ }
+ }
+ if (location.RoadwayNo == "SC01_BC" && palletType != PalletTypeEnum.SmallPallet.ObjToInt())
{
nearLocation = locationInfos.FirstOrDefault(x => x.Row == location.Row && x.Layer == location.Layer && x.Depth == location.Depth && x.Column == location.Column - 1);
+ if (nearLocation?.LocationType == LocationTypeEnum.SmallPallet.ObjToInt())
+ {
+ nearLocation = null;
+ }
}
if (nearLocation != null)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/LocationEnum/LocationStatusEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/LocationEnum/LocationStatusEnum.cs"
index dd54520..87a5df4 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/LocationEnum/LocationStatusEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/LocationEnum/LocationStatusEnum.cs"
@@ -30,7 +30,7 @@
InStockLock = 10,
/// <summary>
- ///
+ /// 鏈夎揣閿佸畾
/// </summary>
[Description("绌洪棽閿佸畾")]
FreeLock = 20,
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs"
index 65ea267..993b657 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs"
@@ -56,6 +56,9 @@
[Description("閫�搴�")]
MES閫�搴� = 21,
+ [Description("MES绌烘墭閫�搴�")]
+ MES绌烘墭閫�搴� = 22,
+
[Description("缁勭洏鎾ら攢")]
缁勭洏鎾ら攢 = 99,
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs"
index bd83eec..596b29e 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs"
@@ -100,6 +100,12 @@
InAllocate = 570,
/// <summary>
+ /// MES绌烘墭閫�鏂�
+ /// </summary>
+ [Description("MES绌烘墭閫�鏂�")]
+ MesPalletReturn = 580,
+
+ /// <summary>
/// 绌虹鍏ュ簱
/// </summary>
[Description("绌虹鍏ュ簱")]
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProOutOrderDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProOutOrderDTO.cs"
new file mode 100644
index 0000000..94acb66
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProOutOrderDTO.cs"
@@ -0,0 +1,107 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.Attributes;
+
+namespace WIDESEA_DTO.ERP
+{
+ /// <summary>
+ /// 鎴愬搧璁㈠崟鍑哄簱
+ /// </summary>
+ public class ErpProOutOrderDTO
+ {
+ /// <summary>
+ /// 鎿嶄綔绫诲瀷<br/>
+ /// 1锛氭柊澧�<br/>
+ /// 2锛氫慨鏀�<br/>
+ /// 3锛氬垹闄�(鍒犻櫎鍙鏄庣粏琛屽彿鍜岄鏂欏崟鍙�)
+ /// </summary>
+ [PropertyValidate("鎿嶄綔绫诲瀷", NotNullAndEmpty = true, Check = new object[] { 1, 2, 3 })]
+ public int Way { get; set; }
+ /// <summary>
+ /// 鍑哄簱璁㈠崟鍙�
+ /// </summary>
+ [PropertyValidate("鍑哄簱璁㈠崟鍙�", NotNullAndEmpty = true)]
+ public string OrderNo { get; set; }
+ /// <summary>
+ /// 璁㈠崟绫诲瀷<br/>
+ /// 1锛氬嚭搴撳崟<br/>
+ /// 2锛氬瘎鍞鍗曡浆浠�<br/>
+ /// </summary>
+ [PropertyValidate("璁㈠崟绫诲瀷", NotNullAndEmpty = true, Check = new object[] { 1, 2})]
+ public int OType { get; set; }
+ /// <summary>
+ /// 璁″垝鍑鸿揣鏃堕棿
+ /// </summary>
+ public string PlantShipDate { get; set; }
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ public string Note { get; set; }
+ /// <summary>
+ /// 璇︽儏
+ /// </summary>
+ public List<ErpProOutOrderDetailds> OrderDetails { get; set; }
+ }
+ /// <summary>
+ /// 璇︾粏
+ /// </summary>
+ public class ErpProOutOrderDetailds
+ {
+ /// <summary>
+ /// 琛屽彿
+ /// </summary>
+ public int RowId { get; set; }
+ /// <summary>
+ /// 閿�鍞鍗曞彿
+ /// </summary>
+ public string SaleOrder { get; set; }
+ /// <summary>
+ /// 瀹㈡埛
+ /// </summary>
+ public string Customer { get; set; }
+ /// <summary>
+ /// 宸ュ巶
+ /// </summary>
+ public string FactoryCode { get; set; } = "HA02";
+ /// <summary>
+ /// 浜у搧缂栫爜
+ /// </summary>
+ public string PCode { get; set; }
+ /// <summary>
+ /// 浜у搧鐗堟湰
+ /// </summary>
+ public string PVer { get; set; }
+ /// <summary>
+ /// 浜у搧鎵规
+ /// </summary>
+ public string PLot { get; set; }
+ /// <summary>
+ /// 浜у搧鍛ㄦ湡
+ /// </summary>
+ public int DateCode { get; set; }
+ /// <summary>
+ /// 鍚堟牸PCS鏁�
+ /// </summary>
+ public float QtyPcs { get; set; }
+ /// <summary>
+ /// X鏉挎暟
+ /// </summary>
+ public float XQty { get; set; }
+ /// <summary>
+ /// X鏉夸綅
+ /// </summary>
+ public string XSite { get; set; }
+ /// <summary>
+ /// 鍗曚綅
+ /// </summary>
+ public string Unit { get; set; }
+ /// <summary>
+ /// 澶囧搧鏁�
+ /// </summary>
+ public float SpareQty { get; set; }
+ }
+
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductScrappedOrderDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductScrappedOrderDTO.cs"
new file mode 100644
index 0000000..de02fa4
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductScrappedOrderDTO.cs"
@@ -0,0 +1,90 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.Attributes;
+
+namespace WIDESEA_DTO.ERP
+{
+ /// <summary>
+ /// 鎴愬搧浠撴鎶ュ簾鍗�
+ /// </summary>
+ [ModelValidate]
+ public class ErpProductScrappedOrderDTO
+ {
+ /// <summary>
+ /// 璁㈠崟鍙�
+ /// </summary>
+ [PropertyValidate("璁㈠崟鍙�", NotNullAndEmpty = true)]
+ public string OrderNo { get; set; }
+
+ /// <summary>
+ /// 浜у搧缂栫爜
+ /// </summary>
+ [PropertyValidate("浜у搧缂栫爜", NotNullAndEmpty = true)]
+ public string PCode { get; set; }
+
+ /// <summary>
+ /// 浜у搧鐗堟湰
+ /// </summary>
+ [PropertyValidate("浜у搧鐗堟湰", NotNullAndEmpty = true)]
+ public string PVer { get; set; }
+
+ /// <summary>
+ /// 浜у搧鎵规
+ /// </summary>
+ [PropertyValidate("浜у搧鎵规", NotNullAndEmpty = true)]
+ public string PLot { get; set; }
+
+ /// <summary>
+ /// 浜у搧鍛ㄦ湡
+ /// </summary>
+ [PropertyValidate("浜у搧鍛ㄦ湡")]
+ public int DateCode { get; set; }
+
+ /// <summary>
+ /// 浠撳簱绫诲瀷
+ /// HA72=灏炬暟浠撱�丠A71=鎴愬搧浠撱�丠A73=鐮斿彂浠�
+ /// </summary>
+ [PropertyValidate("浠撳簱绫诲瀷", NotNullAndEmpty = true)]
+ public string WaType { get; set; }
+
+ /// <summary>
+ /// 鍚堟牸PCS鏁�
+ /// </summary>
+ [PropertyValidate("鍚堟牸PCS鏁�", NotNullAndEmpty = true)]
+ public float QtyPcs { get; set; }
+
+ /// <summary>
+ /// X鏉挎暟
+ /// </summary>
+ [PropertyValidate("X鏉挎暟")]
+ public float XQty { get; set; }
+
+ /// <summary>
+ /// X鏉夸綅
+ /// </summary>
+ [PropertyValidate("X鏉夸綅")]
+ public string XSite { get; set; }
+
+ /// <summary>
+ /// 鍗曚綅
+ /// </summary>
+ [PropertyValidate("鍗曚綅", NotNullAndEmpty = true)]
+ public string Unit { get; set; }
+
+ /// <summary>
+ /// 寤哄崟鏃ユ湡
+ /// yyyy-MM-dd
+ /// </summary>
+ [PropertyValidate("寤哄崟鏃ユ湡", NotNullAndEmpty = true)]
+ public string OrderDate { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ [PropertyValidate("澶囨敞")]
+ public string Note { get; set; }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductSpecifyVerDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductSpecifyVerDTO.cs"
new file mode 100644
index 0000000..a7f780c
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductSpecifyVerDTO.cs"
@@ -0,0 +1,71 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.Attributes;
+
+namespace WIDESEA_DTO.ERP
+{
+ /// <summary>
+ /// 鎴愬搧閿�鍞寚娲捐〃
+ /// </summary>
+ [ModelValidate]
+ public class ErpProductSpecifyVerDTO
+ {
+ /// <summary>
+ /// 璁㈠崟鍙�
+ /// </summary>
+ [PropertyValidate("璁㈠崟鍙�", NotNullAndEmpty = true)]
+ public string OrderNo { get; set; }
+
+ /// <summary>
+ /// 鏄庣粏琛屽彿
+ /// </summary>
+ [PropertyValidate("鏄庣粏琛屽彿", NotNullAndEmpty = true)]
+ public int RowId { get; set; }
+
+ /// <summary>
+ /// 浜у搧缂栫爜
+ /// </summary>
+ [PropertyValidate("浜у搧缂栫爜", NotNullAndEmpty = true)]
+ public string PCode { get; set; }
+
+ /// <summary>
+ /// 浜у搧鐗堟湰
+ /// </summary>
+ [PropertyValidate("浜у搧鐗堟湰", NotNullAndEmpty = true)]
+ public string PVer { get; set; }
+
+ /// <summary>
+ /// 浜у搧鎵规
+ /// </summary>
+ [PropertyValidate("浜у搧鎵规", NotNullAndEmpty = true)]
+ public string PLot { get; set; }
+
+ /// <summary>
+ /// 浜у搧鍛ㄦ湡
+ /// </summary>
+ [PropertyValidate("浜у搧鍛ㄦ湡")]
+ public int DateCode { get; set; }
+
+ /// <summary>
+ /// 浠撳簱绫诲瀷
+ /// HA72=灏炬暟浠撱�丠A71=鎴愬搧浠撱�丠A73=鐮斿彂浠�
+ /// </summary>
+ [PropertyValidate("浠撳簱绫诲瀷", NotNullAndEmpty = true)]
+ public string WaType { get; set; }
+
+ /// <summary>
+ /// 鍚堟牸PCS鏁�
+ /// </summary>
+ [PropertyValidate("鍚堟牸PCS鏁�", NotNullAndEmpty = true)]
+ public float QtyPcs { get; set; }
+
+ /// <summary>
+ /// 鎸囨淳鐗堟湰鍙�
+ /// </summary>
+ [PropertyValidate("鎸囨淳鐗堟湰鍙�",NotNullAndEmpty =true)]
+ public string Ver { get; set; }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductTransferOrderDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductTransferOrderDTO.cs"
new file mode 100644
index 0000000..e50805a
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductTransferOrderDTO.cs"
@@ -0,0 +1,96 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.Attributes;
+
+namespace WIDESEA_DTO.ERP
+{
+ /// <summary>
+ /// 鐮斿彂鎴愬搧璋冨叆鎴愬搧浠撹〃
+ /// </summary>
+ [ModelValidate]
+
+ public class ErpProductTransferOrder
+ {
+ /// <summary>
+ /// 璋冩嫧鍗曞彿
+ /// </summary>
+ [PropertyValidate("璋冩嫧鍗曞彿",NotNullAndEmpty =true)]
+ public string TransferNo { get; set; }
+
+ /// <summary>
+ /// 浜у搧缂栫爜
+ /// </summary>
+ [PropertyValidate("浜у搧缂栫爜", NotNullAndEmpty = true)]
+ public string PCode { get; set; }
+
+ /// <summary>
+ /// 浜у搧鐗堟湰
+ /// </summary>
+ [PropertyValidate("浜у搧鐗堟湰", NotNullAndEmpty = true)]
+ public string PVer { get; set; }
+
+ /// <summary>
+ /// 浜у搧鍛ㄦ湡
+ /// </summary>
+ [PropertyValidate("浜у搧鍛ㄦ湡")]
+ public int DateCode { get; set; }
+
+ /// <summary>
+ /// 鍚堟牸PCS鏁�
+ /// </summary>
+ [PropertyValidate("鍚堟牸PCS鏁�", NotNullAndEmpty = true)]
+ public float QtyPcs { get; set; }
+
+ /// <summary>
+ /// X鏉挎暟
+ /// </summary>
+ [PropertyValidate("X鏉挎暟")]
+ public float XQty { get; set; }
+
+ /// <summary>
+ /// X鏉夸綅
+ /// </summary>
+ [PropertyValidate("X鏉夸綅")]
+ public int XSite { get; set; }
+
+ /// <summary>
+ /// 鍗曚綅
+ /// </summary>
+ [PropertyValidate("鍗曚綅",NotNullAndEmpty =true)]
+ public string Unit { get; set; }
+
+ /// <summary>
+ /// 寤哄崟鏃ユ湡
+ /// yyyy-MM-dd
+ /// </summary>
+ [PropertyValidate("寤哄崟鏃ユ湡",NotNullAndEmpty =true)]
+ public string OrderDate { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ [PropertyValidate("澶囨敞")]
+ public string Note { get; set; }
+
+ /// <summary>
+ /// 閿�鍞鍗曞彿
+ /// </summary>
+ [PropertyValidate("閿�鍞鍗曞彿",NotNullAndEmpty =true)]
+ public string SaleOrder { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛
+ /// </summary>
+ [PropertyValidate("瀹㈡埛", NotNullAndEmpty =true)]
+ public string Customer { get; set; }
+
+ /// <summary>
+ /// 宸ュ巶
+ /// </summary>
+ [PropertyValidate("宸ュ巶", NotNullAndEmpty =true)]
+ public string FactoryCode { get; set; }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductWarehousingOrderDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductWarehousingOrderDTO.cs"
new file mode 100644
index 0000000..bb9aa8c
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductWarehousingOrderDTO.cs"
@@ -0,0 +1,107 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.Attributes;
+
+namespace WIDESEA_DTO.ERP
+{
+ /// <summary>
+ /// 鎴愬搧璋冨叆寰呭彂璐т粨琛�
+ /// </summary>
+ [ModelValidate]
+ public class ErpProductWarehousingOrderDTO
+ {
+ /// <summary>
+ /// 璋冩嫧鍗曞彿
+ /// </summary>
+ [PropertyValidate("璋冩嫧鍗曞彿", NotNullAndEmpty = true)]
+ public string TransferNo { get; set; }
+
+ /// <summary>
+ /// 浜у搧缂栫爜
+ /// </summary>
+ [PropertyValidate("浜у搧缂栫爜", NotNullAndEmpty = true)]
+ public string PCode { get; set; }
+
+ /// <summary>
+ /// 浜у搧鐗堟湰
+ /// </summary>
+ [PropertyValidate("浜у搧鐗堟湰", NotNullAndEmpty = true)]
+ public string PVer { get; set; }
+
+ /// <summary>
+ /// 浜у搧鎵规
+ /// </summary>
+ [PropertyValidate("浜у搧鎵规", NotNullAndEmpty = true)]
+ public string PLot { get; set; }
+
+ /// <summary>
+ /// 浜у搧鍛ㄦ湡
+ /// </summary>
+ [PropertyValidate("浜у搧鍛ㄦ湡")]
+ public int DateCode { get; set; }
+
+ /// <summary>
+ /// 鍚堟牸PCS鏁�
+ /// </summary>
+ [PropertyValidate("鍚堟牸PCS鏁�", NotNullAndEmpty = true)]
+ public float QtyPcs { get; set; }
+
+ /// <summary>
+ /// 鍖呰Set鏁�
+ /// </summary>
+ [PropertyValidate("鍖呰Set鏁�", NotNullAndEmpty = true)]
+ public float QtySet { get; set; }
+
+ /// <summary>
+ /// X鏉挎暟
+ /// </summary>
+ [PropertyValidate("X鏉挎暟")]
+ public float XQty { get; set; }
+
+ /// <summary>
+ /// X鏉夸綅
+ /// </summary>
+ [PropertyValidate("X鏉夸綅")]
+ public string XSite { get; set; }
+
+ /// <summary>
+ /// 鍗曚綅
+ /// </summary>
+ [PropertyValidate("鍗曚綅",NotNullAndEmpty =true)]
+ public string Unit { get; set; }
+
+ /// <summary>
+ /// 寤哄崟鏃ユ湡
+ /// yyyy-MM-dd
+ /// </summary>
+ [PropertyValidate("寤哄崟鏃ユ湡",NotNullAndEmpty =true)]
+ public string OrderDate { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ [PropertyValidate("澶囨敞")]
+ public string Note { get; set; }
+
+ /// <summary>
+ /// 閿�鍞鍗曞彿
+ /// </summary>
+ [PropertyValidate("閿�鍞鍗曞彿", NotNullAndEmpty = true)]
+ public string SaleOrder { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛
+ /// </summary>
+ [PropertyValidate("瀹㈡埛", NotNullAndEmpty = true)]
+ public string Customer { get; set; }
+
+ /// <summary>
+ /// 宸ュ巶
+ /// </summary>
+ [PropertyValidate("宸ュ巶", NotNullAndEmpty = true)]
+ public string FactoryCode { get; set; }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesResponseContent.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesResponseContent.cs"
index 65e68ef..0a3d51b 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesResponseContent.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MesResponseContent.cs"
@@ -28,26 +28,32 @@
/// <summary>
///
/// </summary>
- public DateTime DataTime { get; set; }
+ public string DataTime { get; set; }
public static MesResponseContent Instance
{
get { return new MesResponseContent(); }
}
-
+ /// <summary>
+ /// 杩斿洖
+ /// </summary>
public MesResponseContent OK(string message = null)
{
BSucc = true;
StrCode = "0000";
StrMsg = message == null ? "鎵ц鎴愬姛" : message;
+ DataTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
return this;
}
-
+ /// <summary>
+ /// 杩斿洖
+ /// </summary>
public MesResponseContent Error(string message = null)
{
BSucc = false;
StrCode = "404";
StrMsg = message == null ? "鎵ц澶辫触" : message;
+ DataTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
return this;
}
public ContentMes Content { get; set; }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPMaintainIssueModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPMaintainIssueModel.cs"
new file mode 100644
index 0000000..ffd5c23
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPMaintainIssueModel.cs"
@@ -0,0 +1,92 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_External.Model
+{
+ /// <summary>
+ /// 缁翠慨鍙戞枡鍑哄簱鍗�
+ /// </summary>
+ public class ERPMaintainIssueModel
+ {
+ /// <summary>
+ /// 鎿嶄綔绫诲瀷
+ /// </summary>
+ public int Way { get; set; }
+
+ /// <summary>
+ /// 涓诲仴鍊�
+ /// </summary>
+ public int UniqueTag { get; set; }
+
+ /// <summary>
+ /// 鍙戞枡鍗曞彿
+ /// </summary>
+ public string Code { get; set; }
+
+ /// <summary>
+ /// 鍙戞枡鏃堕棿
+ /// </summary>
+ public string Createtime { get; set; }
+
+ /// <summary>
+ /// 鍙戞枡浜哄憳
+ /// </summary>
+ public string Createuser { get; set; }
+
+ /// <summary>
+ /// 浠撳簱缂栫爜
+ /// </summary>
+ public string WarehouseCode { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ public string Remark { get; set; }
+ /// <summary>
+ ///
+ /// </summary>
+ public List<ERPItemlist> Itemlist { get; set; }
+ }
+ public class ERPItemlist
+ {
+ /// <summary>
+ /// 鍙戞枡鏄庣粏琛屽彿
+ /// </summary>
+ public int RowNo { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡缂栫爜
+ /// </summary>
+ public string Material { get; set; }
+ /// <summary>
+ /// 缁翠慨鍗曞彿
+ /// </summary>
+ public string Pickno { get; set; }
+
+ /// <summary>
+ /// 鍙戞枡鏁伴噺
+ /// </summary>
+ public string Issueqty { get; set; }
+
+ /// <summary>
+ ///
+ /// </summary>
+ public List<ERPBatchlist> Batchlist { get; set; }
+ }
+ public class ERPBatchlist {
+ /// <summary>
+ /// 鎵规鍙�
+ /// </summary>
+ public string Lotno { get; set; }
+
+ /// <summary>
+ /// 鏁伴噺
+ /// </summary>
+ public string Qty { get; set; }
+
+
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPMaterialSaleReturnModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPMaterialSaleReturnModel.cs"
new file mode 100644
index 0000000..6ae3e74
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPMaterialSaleReturnModel.cs"
@@ -0,0 +1,26 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_External.Model
+{
+ /// <summary>
+ /// 鐗╂枡閿�鍞��璐у叆搴�
+ /// </summary>
+ public class ERPMaterialSaleReturnModel
+ {
+ /// <summary>
+ /// 绫诲瀷
+ /// </summary>
+ public string Way { get; set; }
+
+ /// <summary>
+ /// 鍗曞彿
+ /// </summary>
+ public string Code { get; set; }
+
+ }
+
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPProInboundModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPProInboundModel.cs"
new file mode 100644
index 0000000..1ac50e1
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPProInboundModel.cs"
@@ -0,0 +1,127 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_External.Model
+{
+ /// <summary>
+ /// 鎴愬搧鍏ュ簱瀹屾垚涓婃姤ERP
+ /// </summary>
+ public class ERPProInboundModel
+ {
+ /// <summary>
+ /// 鎿嶄綔绫诲瀷
+ /// </summary>
+ public int Way { get; set; }
+ /// <summary>
+ /// 鍏ュ簱鍗曞彿
+ /// </summary>
+ public string Code { get; set; }
+ /// <summary>
+ /// 鍒涘缓浜轰唬鐮�
+ /// </summary>
+ public string CreatorCode { get; set; }
+ /// <summary>
+ /// 鍏徃浠g爜
+ /// </summary>
+ public string CompanyCode { get; set; } = "HATC";
+ /// <summary>
+ /// 宸ュ巶浠e彿
+ /// </summary>
+ public string FactoryCode { get; set; } = "HA02";
+ /// <summary>
+ /// 浠撳簱浠g爜
+ /// </summary>
+ public string WarehouseCode { get; set; }
+ /// <summary>
+ /// 鍌ㄤ綅浠g爜
+ /// </summary>
+ public string LocationCode { get; set; }
+ /// <summary>
+ /// 鍏ュ簱鏃ユ湡
+ /// </summary>
+ public string StockDate { get; set; }
+ /// <summary>
+ /// 鍏ュ簱鏃ユ湡
+ /// </summary>
+ public string Remark { get; set; }
+ /// <summary>
+ /// 鍏ュ簱绫诲瀷
+ /// </summary>
+ public string StockFormType { get; set; } = "Production";
+ /// <summary>
+ /// 鍏ュ簱鏄庣粏
+ /// </summary>
+ public List<ERPProItemsItem> StockFormItems { get; set; }
+ }
+ /// <summary>
+ /// 鍏ュ簱涓婃姤鏄庣粏
+ /// </summary>
+ public class ERPProItemsItem
+ {
+ /// <summary>
+ /// 浜у搧缂栫爜
+ /// </summary>
+ public string PartNum { get; set; }
+ /// <summary>
+ /// 浜у搧鐗堟湰
+ /// </summary>
+ public string Rev { get; set; }
+ /// <summary>
+ /// 鍛ㄦ湡鐮�
+ /// </summary>
+ public string DateCode { get; set; }
+ /// <summary>
+ /// 鎵规(鍏ュ簱鍗曞彿+鎴愬搧缂栫爜+澶у皬鐗堟湰)mes鐢熸垚
+ /// </summary>
+ public string BatchNumber { get; set; }
+ /// <summary>
+ /// 鍙夋澘浣嶇疆
+ /// </summary>
+ public string XLocation { get; set; }
+ /// <summary>
+ /// 鍙夋澘鏁�
+ /// </summary>
+ public float Xqty { get; set; }
+ /// <summary>
+ /// Pnl鏁伴噺
+ /// </summary>
+ public float QtyPnl { get; set; }
+ /// <summary>
+ /// Set鏁伴噺
+ /// </summary>
+ public float QtySet { get; set; }
+ /// <summary>
+ /// Pcs鏁伴噺
+ /// </summary>
+ public float QtyPcs { get; set; }
+ /// <summary>
+ /// 宸ュ崟鏄庣粏
+ /// </summary>
+ public List<ERPProListItem> WoList { get; set; }
+ }
+ /// <summary>
+ /// 鍏ュ簱宸ュ崟鏄庣粏
+ /// </summary>
+ public class ERPProListItem
+ {
+ /// <summary>
+ /// 鍒堕�犺鍗�
+ /// </summary>
+ public string moNumber { get; set; }
+ /// <summary>
+ /// 宸ュ崟
+ /// </summary>
+ public string WoNumber { get; set; }
+ /// <summary>
+ /// Pcs鏁伴噺
+ /// </summary>
+ public float QtyPcs { get; set; }
+ /// <summary>
+ /// Set鏁伴噺
+ /// </summary>
+ public float QtySet { get; set; }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPProOutOrderModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPProOutOrderModel.cs"
new file mode 100644
index 0000000..028250c
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPProOutOrderModel.cs"
@@ -0,0 +1,85 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_External.Model
+{
+ /// <summary>
+ /// 鎴愬搧鍑哄簱鍥炰紶ERP
+ /// </summary>
+ public class ERPProOutOrderModel
+ {
+ /// <summary>
+ /// 鎿嶄綔绫诲瀷
+ /// </summary>
+ public int Way { get; set; }
+ /// <summary>
+ /// 鍙戞枡鍗曞彿
+ /// </summary>
+ public string StockOutCode { get; set; }
+ /// <summary>
+ ///搴撳瓨鎸囨淳鍛樹唬鐮�
+ /// </summary>
+ public string ConfirmedUserNo { get; set; }
+ /// <summary>
+ /// 鍑哄簱浜轰唬鐮�
+ /// </summary>
+ public string AssignUserNo { get; set; }
+ /// <summary>
+ /// 閫佽揣鏃ユ湡
+ /// </summary>
+ public string ShipDate { get; set; }
+ /// <summary>
+ /// 浠撳簱浠g爜
+ /// </summary>
+ public string WarehouseCode { get; set; }
+ /// <summary>
+ /// 璁″垝鍑鸿揣鍗曞彿
+ /// </summary>
+ public string DeliverplanCode { get; set; }
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ public string Remark { get; set; }
+ /// <summary>
+ /// 鏄庣粏璇︽儏
+ /// </summary>
+ public List<StockOutItemsItem> StockOutItems { get; set; }
+ }
+ /// <summary>
+ /// 鍑哄簱鏄庣粏
+ /// </summary>
+ public class StockOutItemsItem
+ {
+ /// <summary>
+ /// 浜у搧缂栫爜
+ /// </summary>
+ public string PartNum { get; set; }
+ /// <summary>
+ /// 鐗堟湰
+ /// </summary>
+ public string Rev { get; set; }
+ /// <summary>
+ /// 閿�鍞鍗曞彿
+ /// </summary>
+ public string SoNumber { get; set; }
+ /// <summary>
+ /// 鎵规鍙�
+ /// </summary>
+ public string BatchNumber { get; set; }
+ /// <summary>
+ /// 澶囧搧鏁伴噺
+ /// </summary>
+ public float QtyFree { get; set; }
+ /// <summary>
+ /// PCS鏁伴噺
+ /// </summary>
+ public float QtyPcs { get; set; }
+ /// <summary>
+ /// 鍖呰SET鏁伴噺
+ /// </summary>
+ public float QtySet { get; set; }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPProductCheckModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPProductCheckModel.cs"
new file mode 100644
index 0000000..ee516d1
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPProductCheckModel.cs"
@@ -0,0 +1,187 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_External.Model
+{
+ /// <summary>
+ /// 鎴愬搧閫佹
+ /// </summary>
+ public class ERPProductCheckModel
+ {
+ /// <summary>
+ /// 鎿嶄綔绫诲瀷
+ /// 1 鏂板
+ /// </summary>
+ public int Way { get; set; }
+
+ /// <summary>
+ /// WMES涓诲仴鍊�
+ /// </summary>
+ public string UniqueTag { get; set; }
+
+ /// <summary>
+ /// 妫�楠屽崟鍙�
+ /// </summary>
+ public string Code { get; set; }
+
+ /// <summary>
+ /// 宸ュ巶浠e彿
+ /// </summary>
+ public string PlantsCode { get; set; } = "HA02";
+
+ /// <summary>
+ /// 閫佹鍗曞彿
+ /// </summary>
+ public string RecheckCode { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇鍨嬪彿
+ /// </summary>
+ public string PartNum { get; set; }
+
+ /// <summary>
+ /// 鐗堟湰鍙�
+ /// </summary>
+ public string PartRev { get; set; }
+
+ /// <summary>
+ /// 浠撳簱浠e彿
+ /// "HA72灏炬暟浠撱�� HA71鎴愬搧浠撱�丠A73鐮斿彂浠�"
+ /// </summary>
+ public string WarehouseCode { get; set; }
+
+ /// <summary>
+ /// 鍌ㄤ綅浠e彿
+ ///"HA72灏炬暟浠撱�� HA71鎴愬搧浠撱�丠A73鐮斿彂浠�"
+ /// </summary>
+ public string Location { get; set; }
+
+ /// <summary>
+ /// 鎵规鍙�
+ /// </summary>
+ public string LotNo { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ public string Node { get; set; }
+
+ /// <summary>
+ /// 鍚堟牸PCS鏁伴噺
+ /// </summary>
+ public int QtyPcs { get; set; }
+
+ /// <summary>
+ /// 鍚堟牸Set鏁伴噺
+ /// </summary>
+ public int QtyArray { get; set; }
+
+ /// <summary>
+ /// 鍚堟牸PNL鏁伴噺
+ /// </summary>
+ public int QtyPanel { get; set; }
+
+ /// <summary>
+ /// 閫佹PCS鏁伴噺
+ /// </summary>
+ public int QtyPcsRecieved { get; set; }
+
+ /// <summary>
+ /// 閫佹Set鏁伴噺
+ /// </summary>
+ public int QtyArrayRecieved { get; set; }
+
+ /// <summary>
+ /// 閫佹PNL鏁伴噺
+ /// </summary>
+ public int QtyPanelRecieved { get; set; }
+
+ /// <summary>
+ ///鎶ュ簾Pcs鏁伴噺
+ /// </summary>
+ public int QtyPcsScrapped { get; set; }
+
+ /// <summary>
+ /// 鎶ュ簾Set鏁伴噺
+ /// </summary>
+ public int QtyArrayScrapped { get; set; }
+
+ /// <summary>
+ /// 鎶ュ簾PNL鏁伴噺
+ /// </summary>
+ public int QtyPanelScrapped { get; set; }
+
+ /// <summary>
+ ///鎶芥Pcs鏁伴噺
+ ///濡傛棤榛樿涓�0
+ /// </summary>
+ public int QtySample { get; set; }
+
+
+ /// <summary>
+ /// 鎺ユ敹鏃ユ湡
+ /// 鏍煎紡锛歽yyy-MM-dd
+ /// </summary>
+ public string ReceiveDate { get; set; }
+
+
+ /// <summary>
+ /// 鍒涘缓浜轰唬鍙�
+ /// </summary>
+ public string CreatorCode { get; set; }
+
+
+ /// <summary>
+ /// 妫�楠屾棩鏈�
+ /// 鏍煎紡锛歽yyy-MM-dd
+ /// </summary>
+ public string TestDate { get; set; }
+
+
+ /// <summary>
+ ///
+ /// </summary>
+ public List<ERPIqcItem> IqcItem { get; set; }
+
+ }
+ public class ERPIqcItem
+ {
+ /// <summary>
+ /// 缂洪櫡浠g爜
+ /// </summary>
+ public string DefectCode { get; set; }
+
+ /// <summary>
+ /// 缁撴灉
+ /// </summary>
+ public string Result{ get; set; }
+
+ /// <summary>
+ /// 妫�楠屾棩鏈�
+ /// </summary>
+ public string TestDate { get; set; }
+
+ /// <summary>
+ /// PCS鏁伴噺
+ /// </summary>
+ public string QtyPcs { get; set; }
+
+ /// <summary>
+ /// Set鏁伴噺
+ /// </summary>
+ public string QtyArray { get; set; }
+
+ /// <summary>
+ /// PNL鏁伴噺
+ /// </summary>
+ public string QtyPanel { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ public string Node { get; set; }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPScrapSheetModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPScrapSheetModel.cs"
new file mode 100644
index 0000000..0c52432
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPScrapSheetModel.cs"
@@ -0,0 +1,101 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_External.Model
+{
+ /// <summary>
+ /// 鎴愬搧鎶ュ簾
+ /// </summary>
+ public class ERPScrapSheetModel
+ {
+ /// <summary>
+ /// 鎿嶄綔绫诲瀷
+ /// 1 鏂板
+ /// </summary>
+ public int Way { get; set; }
+
+ /// <summary>
+ /// 涓诲仴鍊�
+ /// </summary>
+ public string UniqueTag { get; set; }
+
+ /// <summary>
+ /// 鎶ュ簾鍗曞彿
+ /// </summary>
+ public string Code { get; set; }
+
+ /// <summary>
+ /// 鎶ュ簾鐘舵��
+ /// Valid 宸叉牳鍑� 锛堥粯璁わ級TOChecked 寰呮牳鍑�
+ /// </summary>
+ public string Status { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏃ユ湡
+ /// </summary>
+ public string Createtime { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ public string Createuser { get; set; }
+
+ /// <summary>
+ /// 浠撳簱
+ /// "HA72灏炬暟浠撱�� HA71鎴愬搧浠撱�丠A73鐮斿彂浠�"
+ /// </summary>
+ public string WarehouseCode { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ public string Remark { get; set; }
+
+ public List<ERPDataItem> DataItem { get; set; }
+ }
+ public class ERPDataItemSheet
+ {
+ /// <summary>
+ /// 鐢熶骇缂栫爜
+ /// </summary>
+ public string PartNum { get; set; }
+
+ /// <summary>
+ /// 鐗堟湰
+ /// </summary>
+ public string PartRev { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ public string Remark { get; set; }
+
+ /// <summary>
+ /// 鎵规鍙�
+ /// </summary>
+ public string Lotno { get; set; }
+
+ /// <summary>
+ /// 鎶ュ簾Set鏁�
+ /// </summary>
+ public int QtyOfArray { get; set; }
+
+ /// <summary>
+ /// 鎶ュ簾PCS鏁�
+ /// </summary>
+ public int QtyOfUnit { get; set; }
+
+ /// <summary>
+ /// 鎶ュ簾鍙夋澘SET鏁�
+ /// </summary>
+ public int QtyOfArray_Alloc { get; set; }
+
+ /// <summary>
+ /// 鎶ュ簾鍙夋澘PCS鏁�
+ /// </summary>
+ public int QtyOfUnit_Alloc { get; set; }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPStockCheckModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPStockCheckModel.cs"
new file mode 100644
index 0000000..feec85c
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/ERPStockCheckModel.cs"
@@ -0,0 +1,128 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_External.Model
+{
+ /// <summary>
+ /// 鎴愬搧鐩樼偣
+ /// </summary>
+ public class ERPStockCheckModel
+ {
+ /// <summary>
+ /// 鎿嶄綔绫诲瀷
+ /// 1 鏂板
+ /// </summary>
+ public int Way { get; set; }
+
+ /// <summary>
+ /// 涓诲仴鍊�
+ /// </summary>
+ public string UniqueTag { get; set; }
+
+ /// <summary>
+ /// 鍗曟嵁鍙�
+ /// </summary>
+ public string Code { get; set; }
+
+ /// <summary>
+ /// 鐩樼偣鍚嶇О
+ /// </summary>
+ public string Name { get; set; }
+
+ /// <summary>
+ /// 璐︽湡寮�濮嬫椂闂�
+ /// 2023-01-01 鏍煎紡
+ /// </summary>
+ public string FiscalPeriotime { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏃ユ湡
+ /// </summary>
+ public string Createtime { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ public string Createuser { get; set; }
+
+ /// <summary>
+ /// 浠撳簱
+ /// "HA72灏炬暟浠撱�� HA71鎴愬搧浠撱�丠A73鐮斿彂浠�"
+ /// </summary>
+ public string WarehouseCode { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ public string Remark { get; set; }
+ /// <summary>
+ ///
+ /// </summary>
+ public List<ERPDataItem> DataItem { get; set; }
+ }
+ public class ERPDataItem {
+ /// <summary>
+ /// 鍌ㄤ綅浠e彿
+ /// </summary>
+ public string Location { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇缂栫爜
+ /// </summary>
+ public string PartNum { get; set; }
+
+ /// <summary>
+ /// 鐗堟湰
+ /// </summary>
+ public string PartRev { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ public string Remark { get; set; }
+
+ /// <summary>
+ /// 鎵规
+ /// </summary>
+ public string Lotno { get; set; }
+
+ /// <summary>
+ /// 鐩樼偣鍙夋澘鍗曞厓鏁�
+ /// 鍙夋澘pcs鏁�
+ /// </summary>
+ public int QtyOfUnit_Alloc { get; set; }
+
+ /// <summary>
+ /// 鐩樼偣浜よ揣鏉挎暟
+ /// 濂芥澘Set鏁�
+ /// </summary>
+ public int QtyOfArray { get; set; }
+
+ /// <summary>
+ /// 鐩樼偣鍗曞厓鏁�
+ /// 濂芥澘pcs鏁�
+ /// </summary>
+ public int QtyOfUnit { get; set; }
+
+ /// <summary>
+ /// 绯荤粺搴撳瓨鍗曞厓鏁�
+ /// 濂芥澘pcs鏁�
+ /// </summary>
+ public int SysQtyOfUnit { get; set; }
+
+ /// <summary>
+ /// 绯荤粺搴撳瓨鏉挎暟
+ ///濂芥澘Set鏁�
+ /// </summary>
+ public int SysQtyOfArray { get; set; }
+
+ /// <summary>
+ /// 绯荤粺鍙夋澘搴撳瓨鍗曞厓鏁�
+ /// 鍙夋澘pcs鏁�
+ /// </summary>
+ public int SysQtyOfUnit_Alloc { get; set; }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
index 67606c7..fbdafca 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
@@ -248,7 +248,7 @@
/// <param name="taskNum"></param>
/// <param name="roadwayNos"></param>
/// <returns></returns>
- WebResponseContent AssignRoadway(int taskNum, List<string> roadwayNos);
+ WebResponseContent AssignRoadway(int taskNum, List<string> roadwayNos, int heightType);
/// <summary>
///
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesOutboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesOutboundOrderService.cs"
index d1a47ae..2f7bfe9 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesOutboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesOutboundOrderService.cs"
@@ -68,6 +68,7 @@
}
List<Dt_StockInfo> autoAssignStocks = _stockService.StockInfoService.GetOutboundStocks(stockInfos, mesOutboundOrder.MaterialCode, needQuantity, out float residueQuantity);
mesOutboundOrder.LockQuantity += needQuantity - residueQuantity;
+ autoAssignStocks.OrderBy(x => x.Details.FirstOrDefault()?.StockQuantity).ToList();
outStocks.AddRange(autoAssignStocks);
float assignQuantity = needQuantity - residueQuantity;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/AssignInboundTaskLocation_BC.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/AssignInboundTaskLocation_BC.cs"
index aca5552..6b87fac 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/AssignInboundTaskLocation_BC.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/AssignInboundTaskLocation_BC.cs"
@@ -4,6 +4,7 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using WIDESEA_Common.CommonEnum;
using WIDESEA_Common.LocationEnum;
using WIDESEA_Common.OrderEnum;
using WIDESEA_Common.StockEnum;
@@ -192,7 +193,7 @@
/// <param name="taskNum">浠诲姟鍙�</param>
/// <param name="roadwayNos">宸烽亾鍙�</param>
/// <returns></returns>
- public WebResponseContent AssignRoadway(int taskNum, List<string> roadwayNos)
+ public WebResponseContent AssignRoadway(int taskNum, List<string> roadwayNos, int heightType)
{
try
{
@@ -206,11 +207,29 @@
{
return WebResponseContent.Instance.OK(data: task.TargetAddress);
}
-
- List<LocationCount> locationCounts = Db.Queryable<Dt_LocationInfo>().Where(x => (x.LocationType == task.PalletType || x.LocationType == LocationTypeEnum.Undefined.ObjToInt()) && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && roadwayNos.Contains(x.RoadwayNo)).GroupBy(x => x.RoadwayNo).Select(x => new LocationCount { RoadwayNo = x.RoadwayNo, Count = SqlFunc.AggregateCount(x) }).ToList();
-
- string roadwayNo = locationCounts.OrderBy(x => x.Count).FirstOrDefault()?.RoadwayNo ?? "";
-
+ bool IsBCS = task.PalletType == PalletTypeEnum.SmallPallet.ObjToInt();
+ //鑾峰彇姣忎釜宸烽亾1-3灞傦紝4灞傦紝5灞傜殑璐т綅
+ List<LocationCount> locationCounts = new List<LocationCount>();
+ if (heightType == 1)
+ {
+ locationCounts = Db.Queryable<Dt_LocationInfo>().Where(x => (x.LocationType == task.PalletType || (IsBCS ? false : x.LocationType == LocationTypeEnum.Undefined.ObjToInt())) && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && (IsBCS ? !IsBCS : ("SC01_BC".Contains(x.RoadwayNo) ? x.Column % 2 == 0 : x.Column % 2 == 1)) && x.Layer <= 3 && roadwayNos.Contains(x.RoadwayNo)).GroupBy(x => x.RoadwayNo).Select(x => new LocationCount { RoadwayNo = x.RoadwayNo, Count = SqlFunc.AggregateCount(x) }).ToList();
+ }
+ else if(heightType == 2)
+ {
+ locationCounts = Db.Queryable<Dt_LocationInfo>().Where(x => (x.LocationType == task.PalletType || (IsBCS ? false : x.LocationType == LocationTypeEnum.Undefined.ObjToInt())) && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && (IsBCS ? !IsBCS : ("SC01_BC".Contains(x.RoadwayNo) ? x.Column % 2 == 0 : x.Column % 2 == 1)) && x.Layer == 4 && roadwayNos.Contains(x.RoadwayNo)).GroupBy(x => x.RoadwayNo).Select(x => new LocationCount { RoadwayNo = x.RoadwayNo, Count = SqlFunc.AggregateCount(x) }).ToList();
+ }
+ else if(heightType == 3)
+ {
+ locationCounts = Db.Queryable<Dt_LocationInfo>().Where(x => (x.LocationType == task.PalletType || (IsBCS ? false : x.LocationType == LocationTypeEnum.Undefined.ObjToInt())) && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && (IsBCS ? !IsBCS : ("SC01_BC".Contains(x.RoadwayNo) ? x.Column % 2 == 0 : x.Column % 2 == 1)) && x.Layer == 5 && roadwayNos.Contains(x.RoadwayNo)).GroupBy(x => x.RoadwayNo).Select(x => new LocationCount { RoadwayNo = x.RoadwayNo, Count = SqlFunc.AggregateCount(x) }).ToList();
+ }
+ string roadwayNo=string.Empty;
+ foreach (var location in locationCounts.OrderBy(x => x.Count))
+ {
+ if (location.Count == 1)
+ continue;
+ roadwayNo = location?.RoadwayNo ?? "";
+ break;
+ }
return !string.IsNullOrEmpty(roadwayNo) ? WebResponseContent.Instance.OK(data: roadwayNo) : WebResponseContent.Instance.Error("鏈壘鍒板彲鍒嗛厤宸烽亾");
}
catch (Exception ex)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs"
index 2c3fbab..e74b420 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs"
@@ -462,7 +462,7 @@
OutboundQuantity = 0,
SerialNumber = stockInfoDetail_Hty?.SerialNumber ?? "0",
StockQuantity = model.Quantity,
- Status = StockStatusEmun.MES閫�搴�.ObjToInt(),
+ Status = model.Quantity <= 0.0 ? StockStatusEmun.MES绌烘墭閫�搴�.ObjToInt() : StockStatusEmun.MES閫�搴�.ObjToInt(),
Unit = model.Unit
};
Dt_StockInfo stockInfo = new Dt_StockInfo()
@@ -470,8 +470,9 @@
PalletCode = model.CarrierCode,
PalletType = palletTypeInfo.PalletType,
WarehouseId = warehouse.WarehouseId,
- StockStatus = StockStatusEmun.MES閫�搴�.ObjToInt(),
- Details = new List<Dt_StockInfoDetail> { stockInfoDetail }
+ StockStatus = stockInfoDetail.StockQuantity<=0.0? StockStatusEmun.MES绌烘墭閫�搴�.ObjToInt():StockStatusEmun.MES閫�搴�.ObjToInt(),
+ Details = new List<Dt_StockInfoDetail> { stockInfoDetail },
+ Remark= stockInfoDetail.StockQuantity <= 0.0 ? StockStatusEmun.MES绌烘墭閫�搴�.ToString() : StockStatusEmun.MES閫�搴�.ToString()
};
//Dt_Task task = new Dt_Task()
//{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index 3cf8d6e..beea70e 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -180,7 +180,17 @@
{
return WebResponseContent.Instance.Error($"鏈壘鍒拌鎵樼洏搴撳瓨鏄庣粏淇℃伅");
}
-
+ #region 绌烘墭閫�搴�
+ if (task.TaskType == TaskTypeEnum.MesPalletReturn.ObjToInt())
+ {
+ _unitOfWorkManage.BeginTran();
+ BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId > 0 ? OperateTypeEnum.浜哄伐瀹屾垚 : OperateTypeEnum.鑷姩瀹屾垚);
+ _stockService.StockInfoService.Repository.DeleteAndMoveIntoHty(stockInfo, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
+ _stockService.StockInfoDetailService.Repository.DeleteAndMoveIntoHty(stockInfo.Details, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
+ _unitOfWorkManage.CommitTran();
+ return WebResponseContent.Instance.OK();
+ }
+ #endregion
Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.TargetAddress);
if (locationInfo == null)
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs"
index edeee12..b20f957 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs"
@@ -396,7 +396,7 @@
{
return WebResponseContent.Instance.Error($"鏈壘鍒扮粍鐩樹俊鎭�");
}
- if (stockInfo.StockStatus != StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.鍑哄簱瀹屾垚.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.鎷i�夊畬鎴�.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.閫�搴�.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.MES閫�搴�.ObjToInt())
+ if (stockInfo.StockStatus != StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.鍑哄簱瀹屾垚.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.鎷i�夊畬鎴�.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.閫�搴�.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.MES閫�搴�.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.MES绌烘墭閫�搴�.ObjToInt())
{
return WebResponseContent.Instance.Error($"璇ユ墭鐩樼姸鎬佷笉姝g‘,涓嶅彲鐢宠鍏ュ簱");
}
@@ -429,6 +429,12 @@
{
newTask.TaskType = TaskTypeEnum.MesMatReturn.ObjToInt();
}
+ else if (stockInfo.StockStatus == StockStatusEmun.MES绌烘墭閫�搴�.ObjToInt())
+ {
+ //todo 鏆傛椂鏈惎鐢�
+ return WebResponseContent.Instance.Error($"绌烘墭鏈惎鐢�");
+ //newTask.TaskType = TaskTypeEnum.MesPalletReturn.ObjToInt();
+ }
else
{
stockInfo.StockStatus = StockStatusEmun.鍏ュ簱纭.ObjToInt();
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs"
index ebba105..341b487 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs"
@@ -144,6 +144,14 @@
(List<Dt_StockInfo>, Dt_OutboundOrderDetail, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.OutboundOrderDetailService.AssignStockOutbound(outboundOrderDetail, stockSelectViews);
if (result.Item1 != null && result.Item1.Count > 0)
{
+ Dt_OutboundOrder outboundOrder = _outboundService.OutboundOrderService.Repository.QueryFirst(x => x.Id == outboundOrderDetail.OrderId);
+ TaskTypeEnum typeEnum = outboundOrder.OrderType switch
+ {
+ (int)OutOrderTypeEnum.Issue => TaskTypeEnum.Outbound,
+ (int)OutOrderTypeEnum.Allocate => TaskTypeEnum.OutAllocate,
+ (int)OutOrderTypeEnum.Quality => TaskTypeEnum.OutQuality,
+ _ => new TaskTypeEnum()
+ };
tasks = GetTasks(result.Item1, TaskTypeEnum.Outbound);
result.Item2.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
result.Item3.ForEach(x =>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
index ed76f00..b4557ec 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
@@ -266,9 +266,9 @@
/// <param name="roadwayNos"></param>
/// <returns></returns>
[HttpPost, Route("AssignRoadway"), AllowAnonymous]
- public WebResponseContent AssignRoadway(int taskNum, [FromBody] List<string> roadwayNos)
+ public WebResponseContent AssignRoadway(int taskNum, [FromBody] List<string> roadwayNos,int heightType)
{
- return Service.AssignRoadway(taskNum, roadwayNos);
+ return Service.AssignRoadway(taskNum, roadwayNos, heightType);
}
/// <summary>
--
Gitblit v1.9.3