From dc06f58d8ed537555fd529551180f43a0586ec3f Mon Sep 17 00:00:00 2001
From: helongyang <647556386@qq.com>
Date: 星期日, 22 六月 2025 11:44:43 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn
---
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGV_CSJExtend.cs | 8
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Check/Dt_CheckOrder.cs | 5
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/CTU_AGVController .cs | 9
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs | 33 +
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs | 65 ++
代码管理/淮安PDA/pages/stash/receiveorderoutbound.vue | 2
代码管理/WMS/WIDESEA_WMSClient/src/extension/stock/stockView.js | 29
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs | 97 ++++
代码管理/WMS/WIDESEA_WMSClient/src/views/Index.vue | 34
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/TakeStockOrderService.cs | 6
代码管理/WMS/WIDESEA_WMSClient/src/views/check/inspectOrder.vue | 32
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_GM.cs | 8
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_TakeStockOrder.cs | 2
代码管理/淮安PDA/pages.json | 7
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundRepository/InboundRepository.cs | 8
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs | 5
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 25
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/TakeStockStatusEnum.cs | 41 +
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/干膜仓/ConveyorLineJob_GM.cs | 3
代码管理/淮安PDA/pages/stash/boxing.vue | 8
代码管理/淮安PDA/pages/stash/InspectIn.vue | 612 +++++++++++++++++++++++++++++
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json | 2
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 3
代码管理/淮安PDA/pages/stash/raworderboxing.vue | 8
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs | 17
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs | 3
代码管理/WMS/WIDESEA_WMSClient/src/views/charts/AssembleDist.vue | 10
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/板材仓/StackerCraneJob_BC.cs | 6
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs | 40 +
代码管理/WMS/WIDESEA_WMSClient/config/buttons.js | 9
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/板材仓/RGVJob_BC.cs | 34 +
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderResultService.cs | 15
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IInboundRepository/IInboundRepository.cs | 2
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_TakeStockOrderDetail.cs | 20
34 files changed, 1,072 insertions(+), 136 deletions(-)
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 cfe9fdd..7fe6c29 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"
@@ -14,31 +14,37 @@
/// </summary>
[Description("棰嗘枡鍑哄簱")]
Outbound = 100,
+
/// <summary>
/// 鐩樼偣鍑哄簱
/// </summary>
[Description("鐩樼偣鍑哄簱")]
OutInventory = 110,
+
/// <summary>
/// 鍒嗘嫞鍑哄簱
/// </summary>
[Description("鍒嗘嫞鍑哄簱")]
OutPick = 120,
+
/// <summary>
/// 璐ㄦ鍑哄簱
/// </summary>
[Description("璐ㄦ鍑哄簱")]
OutQuality = 130,
+
/// <summary>
/// 绌虹鍑哄簱
/// </summary>
[Description("绌虹鍑哄簱")]
OutEmpty = 140,
+
/// <summary>
/// 璋冩嫧鍑哄簱
/// </summary>
[Description("璋冩嫧鍑哄簱")]
OutAllocate = 150,
+
/// <summary>
/// MES鍑哄簱
/// </summary>
@@ -61,16 +67,19 @@
/// </summary>
[Description("鎴愬搧鍑哄簱")]
OutProduct = 230,
+
/// <summary>
/// 鎴愬搧瀵勫敭鍑哄簱
/// </summary>
[Description("鎴愬搧瀵勫敭鍑哄簱")]
OutSendProduct = 240,
+
/// <summary>
- /// 鎴愬搧MES鍑哄簱/鎻愬簱
+ /// 鎴愬搧MES鎻愬簱
/// </summary>
[Description("鎴愬搧MES鎻愬簱")]
OutMesRworkProduct = 250,
+
/// <summary>
/// 闃茬剨鍓嶆淳宸ュ皬浠�
/// </summary>
@@ -82,6 +91,7 @@
/// </summary>
[Description("闃茬剨鍓嶆淳宸ュぇ浠�")]
MaskOutNoticeLarge = 265,
+
/// <summary>
/// 闃茬剨鍒扮嚎杈瑰皬浠�
/// </summary>
@@ -93,21 +103,25 @@
/// </summary>
[Description("闃茬剨鍒扮嚎杈瑰ぇ浠�")]
MaskOutLarge = 275,
+
/// <summary>
/// 閲囪喘鍏ュ簱
/// </summary>
[Description("閲囪喘鍏ュ簱")]
Inbound = 510,
+
/// <summary>
/// 鐩樼偣鍏ュ簱
/// </summary>
[Description("鐩樼偣鍏ュ簱")]
InInventory = 520,
+
/// <summary>
/// 鍒嗘嫞鍏ュ簱
/// </summary>
[Description("鍒嗘嫞鍏ュ簱")]
InPick = 530,
+
/// <summary>
/// 璐ㄦ鍏ュ簱
/// </summary>
@@ -127,6 +141,12 @@
MesMatReturn = 560,
/// <summary>
+ /// 璋冩嫧鍏ュ簱
+ /// </summary>
+ [Description("璋冩嫧鍏ュ簱")]
+ InAllocate = 570,
+
+ /// <summary>
/// MES澶х┖鎵橀��鏂�
/// </summary>
[Description("MES澶х┖鎵橀��鏂�")]
@@ -137,24 +157,6 @@
/// </summary>
[Description("MES灏忕┖鎵橀��鏂�")]
MesPalletSmallReturn = 585,
-
- /// <summary>
- /// 璋冩嫧鍏ュ簱
- /// </summary>
- [Description("璋冩嫧鍏ュ簱")]
- InAllocate = 570,
-
- /// <summary>
- /// 绾胯竟浠撳叆搴�
- /// </summary>
- [Description("绾胯竟浠撳叆搴�")]
- InboundXB = 580,
-
- /// <summary>
- /// 鏈哄彴鍏ュ簱
- /// </summary>
- [Description("鏈哄彴鍏ュ簱")]
- InboundJT = 590,
/// <summary>
/// 绌虹鍏ュ簱
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/CTU_AGVController .cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/CTU_AGVController .cs"
index a8bc416..5ae5962 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/CTU_AGVController .cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/CTU_AGVController .cs"
@@ -255,7 +255,8 @@
WebResponseContent content = _taskService.AgvBoxApplyPass(boxApplyPassDTO);
if (content.Status && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
{
- _taskService.UpdateTask(task, TaskStatusEnum.AGV_Executing);
+ task.TaskState = TaskStatusEnum.AGV_Executing.ObjToInt();
+ _taskRepository.UpdateData(task);
}
else
{
@@ -332,7 +333,8 @@
WebResponseContent content = _taskService.AgvBoxApplyPass(boxApplyPassDTO);
if (content.Status && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
{
- _taskService.UpdateTask(task, TaskStatusEnum.AGV_Executing);
+ task.TaskState = TaskStatusEnum.AGV_Executing.ObjToInt();
+ _taskRepository.UpdateData(task);
}
else
{
@@ -356,7 +358,8 @@
}
else if(task.TaskType == TaskTypeEnum.OutProduct.ObjToInt())
{
- _taskService.UpdateTask(task, TaskStatusEnum.AGV_Executing);
+ task.TaskState = TaskStatusEnum.AGV_Executing.ObjToInt();
+ _taskRepository.UpdateData(task);
}
break;
default:
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 47af224..74051e8 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"
@@ -196,9 +196,12 @@
{
bool flag = false;
List<Dt_Task> tasks = new List<Dt_Task>();
+ List<Dt_Task> tasksOld= BaseDal.QueryData();
+ List<Dt_Router> routersAll = _routerRepository.QueryData();
+ List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData();
foreach (var item in taskDTOs)
{
- if (BaseDal.QueryFirst(x => x.TaskNum == item.TaskNum || x.PalletCode == item.PalletCode) != null)
+ if (tasksOld.FirstOrDefault(x => x.TaskNum == item.TaskNum || x.PalletCode == item.PalletCode) != null)
{
flag = true;
continue;
@@ -213,13 +216,13 @@
TaskTypeGroup taskTypeGroup = item.TaskType.GetTaskTypeGroup();
if (string.IsNullOrEmpty(item.AGVArea))
{
- Dt_StationManger stationManger;
+ Dt_StationManger? stationManger;
if (taskTypeGroup == TaskTypeGroup.InboundGroup)
{
- stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == item.SourceAddress || x.StationDeviceCode == item.SourceAddress);
+ stationManger = stationMangers.FirstOrDefault(x => x.StationCode == item.SourceAddress || x.StationDeviceCode == item.SourceAddress);
if (stationManger==null && task.TaskType==TaskTypeEnum.InProduct.ObjToInt())
{
- stationManger = _stationMangerRepository.QueryFirst(x => x.StackerCraneCode==task.SourceAddress);
+ stationManger = stationMangers.FirstOrDefault(x => x.StackerCraneCode==task.SourceAddress);
//杞崲鎴愬搧浠撹捣鐐圭珯鍙�
item.SourceAddress = stationManger.StationCode;
task.CurrentAddress = stationManger.StationCode;
@@ -228,14 +231,14 @@
}
else
{
- stationManger = _stationMangerRepository.QueryFirst(x => x.StackerCraneCode == item.RoadWay || x.Remark==item.RoadWay);
+ stationManger = stationMangers.FirstOrDefault(x => x.StackerCraneCode == item.RoadWay || x.Remark==item.RoadWay);
}
if (stationManger == null)
{
return WebResponseContent.Instance.Error($"鏈壘鍒扮珯鍙伴厤缃俊鎭�");
}
- List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == item.TaskType && (item.SourceAddress == x.StartPosi || item.RoadWay == x.StartPosi /*|| item.RoadWay == x.ChildPosiDeviceCode || item.RoadWay == x.ChildPosi*/));
+ List<Dt_Router> routers = routersAll.Where(x => x.InOutType == item.TaskType && (item.SourceAddress == x.StartPosi || item.RoadWay == x.StartPosi /*|| item.RoadWay == x.ChildPosiDeviceCode || item.RoadWay == x.ChildPosi*/)).ToList();
router = routers.FirstOrDefault();
if (router == null)
{
@@ -263,7 +266,7 @@
{
task.NextAddress = router.NextPosi;
task.DeviceCode = stationManger.StackerCraneCode;
- if (item.TaskType == TaskTypeEnum.MesOutbound.ObjToInt() && task.TargetAddress== "SCUTL-001")
+ if (item.TaskType == TaskTypeEnum.MesOutbound.ObjToInt() && (task.TargetAddress== "SCUTL-001" || task.TargetAddress == "SCUTL-002" || task.TargetAddress == "SCUTL_04-001"))
{
task.TaskState = TaskStatusEnum.MesPending.ObjToInt();
}
@@ -305,7 +308,7 @@
{
if (item.RoadWay=="AGV_CP")
{
- Dt_Router routerSelect = _routerRepository.QueryFirst(x => x.InOutType == item.TaskType && item.RoadWay == x.StartPosi && x.NextPosi==item.TargetAddress);
+ Dt_Router? routerSelect = routersAll.FirstOrDefault(x => x.InOutType == item.TaskType && item.RoadWay == x.StartPosi && x.NextPosi==item.TargetAddress);
if (routerSelect != null)
{
task.NextAddress = routerSelect.NextPosi;
@@ -338,7 +341,7 @@
if (taskTypeGroup == TaskTypeGroup.OutbondGroup)
{
task.AgvTaskNum = item.AGVArea + DateTime.Now.ToString("yyyyMMdd") + item.TaskNum;
- List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == item.TaskType && item.AGVArea == x.NextPosi);
+ List<Dt_Router> routers = routersAll.Where(x => x.InOutType == item.TaskType && item.AGVArea == x.NextPosi).ToList();
if (routers.FirstOrDefault() == null)
{
return WebResponseContent.Instance.Error($"鏈壘鍒拌矾鐢遍厤缃俊鎭�");
@@ -361,13 +364,13 @@
{
task.AgvTaskNum = item.AGVArea + DateTime.Now.ToString("yyyyMMdd") + item.TaskNum;
}
- List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == item.TaskType && item.AGVArea == x.StartPosi);
+ List<Dt_Router> routers = routersAll.Where(x => x.InOutType == item.TaskType && item.AGVArea == x.StartPosi).ToList();
if (routers.FirstOrDefault() == null)
{
return WebResponseContent.Instance.Error($"鏈壘鍒拌矾鐢遍厤缃俊鎭�");
}
router = routers.FirstOrDefault();
- Dt_StationManger? stationManger = _stationMangerRepository.QueryData(x => true).FirstOrDefault(x=>x.StationCode== router?.NextPosi);
+ Dt_StationManger? stationManger = stationMangers.FirstOrDefault(x=>x.StationCode== router?.NextPosi);
if (stationManger == null)
{
return WebResponseContent.Instance.Error($"鏈壘鍒扮珯鍙伴厤缃俊鎭�");
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGV_CSJExtend.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGV_CSJExtend.cs"
index 766fe96..a38d496 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGV_CSJExtend.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGV_CSJExtend.cs"
@@ -204,14 +204,6 @@
{
return TaskType == TaskTypeEnum.ProductionReturn.ObjToInt() ? "23" : "24";
}
- case "AGV_ZH":
- {
- if (TaskType == TaskTypeEnum.InboundXB.ObjToInt())
- return "20";
- else if (TaskType == TaskTypeEnum.InboundJT.ObjToInt())
- return "21";
- else return "22";
- }
default:
throw new Exception($"璁惧缂栧彿閿欒");
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/ConveyorLineJob_GM.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/ConveyorLineJob_GM.cs"
index 187be46..3e84239 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/ConveyorLineJob_GM.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/ConveyorLineJob_GM.cs"
@@ -93,6 +93,7 @@
ConveyorLineSignal conveyorLineSignalWrite = conveyorLineInfoWrite.Signal.ByteToBoolObject<ConveyorLineSignal>();
if (item.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt())
{
+ //骞茶啘鍏ュ簱绔欏彴浜や簰
if (conveyorLineSignalRead.STB && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !conveyorLineSignalWrite.ACK)
{
string boxcode = device.GetValue<R_ConveyorLineDB, string>(R_ConveyorLineDB.Boxcode, item.StationCode);
@@ -169,6 +170,7 @@
}
else
{
+ //骞茶啘鍑哄簱绔欏彴浜や簰
if (!conveyorLineSignalWrite.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Goods)
{
Dt_Task task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt() && x.DeviceCode == item.StationDeviceCode);
@@ -197,6 +199,7 @@
}
else if (conveyorLineSignalWrite.STB && conveyorLineSignalRead.ACK && conveyorLineStatus.Goods)
{
+ //瀹屾垚骞茶啘鍑哄簱浠诲姟
_taskService.TaskCompleted(conveyorLineInfoWrite.TaskNum);
device.SetValue(W_ConveyorLineDB.STB, 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/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 8d0bb30..75fb49e 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"
@@ -169,8 +169,8 @@
}
}
//鍏佽鏀捐涓�鍙峰紑鏂欏彛鍑哄簱浠诲姟
- bool outAllow = device.Communicator.Read<bool>("DB14.4.6");
- if (outAllow)
+ bool outAllowLine1 = device.Communicator.Read<bool>("DB14.4.6");
+ if (outAllowLine1)
{
Dt_Task taskExcuting = _taskRepository.QueryFirst(x => x.WarehouseId== warehouseDevice.WarehouseId && (x.TargetAddress== "SCUTL-001" || x.TargetAddress == "1101")
&& (x.TaskState==TaskStatusEnum.SC_Execute.ObjToInt() || x.TaskState == TaskStatusEnum.SC_Executing.ObjToInt()
@@ -183,6 +183,36 @@
WriteDebug($"涓�鍙峰紑鏂欏彛鏀捐浠诲姟", $"浠诲姟鍙穥taskExecute.TaskNum}");
}
}
+ //鍏佽鏀捐浜屽彿寮�鏂欏彛鍑哄簱浠诲姟
+ bool outAllowLine2 = device.Communicator.Read<bool>("DB14.12.6");
+ if (outAllowLine2)
+ {
+ Dt_Task taskExcuting = _taskRepository.QueryFirst(x => x.WarehouseId == warehouseDevice.WarehouseId && (x.TargetAddress == "SCUTL-002" || x.TargetAddress == "1103")
+ && (x.TaskState == TaskStatusEnum.SC_Execute.ObjToInt() || x.TaskState == TaskStatusEnum.SC_Executing.ObjToInt()
+ || x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt() || x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt()));
+ Dt_Task? taskExecute = _taskRepository.QueryData(x => x.WarehouseId == warehouseDevice.WarehouseId && x.TargetAddress == "SCUTL-002"
+ && x.TaskState == TaskStatusEnum.MesPending.ObjToInt()).OrderByDescending(x => x.Grade).ThenBy(x => x.TaskNum).ThenBy(x => x.CreateDate).FirstOrDefault();
+ if (taskExcuting == null && taskExecute != null)
+ {
+ _taskService.UpdateTask(taskExecute, TaskStatusEnum.SC_Execute);
+ WriteDebug($"浜屽彿寮�鏂欏彛鏀捐浠诲姟", $"浠诲姟鍙穥taskExecute.TaskNum}");
+ }
+ }
+ //鍏佽鏀捐鎵嬪姩寮�鏂欏彛鍑哄簱浠诲姟
+ bool outAllowMusual = device.Communicator.Read<bool>("DB14.4.7");
+ if (outAllowMusual)
+ {
+ Dt_Task taskExcuting = _taskRepository.QueryFirst(x => x.WarehouseId == warehouseDevice.WarehouseId && (x.TargetAddress == "SCUTL_04-001" || x.TargetAddress == "1102")
+ && (x.TaskState == TaskStatusEnum.SC_Execute.ObjToInt() || x.TaskState == TaskStatusEnum.SC_Executing.ObjToInt()
+ || x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt() || x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt()));
+ Dt_Task? taskExecute = _taskRepository.QueryData(x => x.WarehouseId == warehouseDevice.WarehouseId && x.TargetAddress == "SCUTL_04-001"
+ && x.TaskState == TaskStatusEnum.MesPending.ObjToInt()).OrderByDescending(x => x.Grade).ThenBy(x => x.TaskNum).ThenBy(x => x.CreateDate).FirstOrDefault();
+ if (taskExcuting == null && taskExecute != null)
+ {
+ _taskService.UpdateTask(taskExecute, TaskStatusEnum.SC_Execute);
+ WriteDebug($"鎵嬪姩寮�鏂欏彛鏀捐浠诲姟", $"浠诲姟鍙穥taskExecute.TaskNum}");
+ }
+ }
}
else
{
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 620a9c5..e1f87ec 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"
@@ -196,15 +196,15 @@
return WebResponseContent.Instance.Error($"鏈壘鍒拌矾鐢变俊鎭�,{task.NextAddress}");
}
}
- if (task.TargetAddress.Contains("SCUTL-001"))
+ if (task.TargetAddress.Contains("SCUTL-001")) //鑷姩涓�绾�
{
_taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, deviceCode: stationManger.StationDeviceCode, currentAddress: stationManger.StationCode, nextAddress: router.NextPosi, targetAddress: router.NextPosi);
}
- else if (task.TargetAddress.Contains("SCUTL-002"))
+ else if (task.TargetAddress.Contains("SCUTL-002")) //鑷姩浜岀嚎
{
_taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, deviceCode: stationManger.StationDeviceCode, currentAddress: stationManger.StationCode, nextAddress: "1103", targetAddress: "1103");
}
- else
+ else //鎵嬪姩绾�
{
_taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, deviceCode: stationManger.StationDeviceCode, currentAddress: stationManger.StationCode, nextAddress: "1102", targetAddress: "1102");
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/config/buttons.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/config/buttons.js"
index 5950582..1f63548 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/config/buttons.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/config/buttons.js"
@@ -200,6 +200,15 @@
onClick: function () {
}
},
+{
+ name: "閫夊畾搴撳瓨鐩樼偣",
+ icon: '',
+ class: '',
+ value: 'SelectStockTake',
+ type: 'success',
+ onClick: function () {
+ }
+},
]
export default buttons
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/stock/stockView.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/stock/stockView.js"
index 1b2540a..b8c502e 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/stock/stockView.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/stock/stockView.js"
@@ -20,22 +20,19 @@
//涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
onInit() {
- // let InOrder = this.buttons.find(x => x.value == 'StockOutbound');
- // if (InOrder) {
- // InOrder.onClick = function () {
- // let rows = this.$refs.table.getSelected();
- // if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
- // if (rows.length > 1) return this.$error("璇烽�夋嫨鍗曟潯鏁版嵁!");
- // var keys = rows.map(x => { return x.stockId });
- // this.http
- // .post("api/Task/Outbound?id="+keys[0], null, "鏁版嵁澶勭悊涓�")
- // .then((x) => {
- // if (!x.status) return this.$message.error(x.message);
- // this.$message.success("鎿嶄綔鎴愬姛");
- // this.refresh();
- // });
- // }
- // }
+ let SelectTake = this.buttons.find(x => x.value == 'SelectStockTake');
+ if (SelectTake) {
+ SelectTake.onClick = function () {
+ let stockViews = this.$refs.table.getSelected();
+ this.http
+ .post("api/Task/TakeOutbound",stockViews, "鏁版嵁澶勭悊涓�")
+ .then((x) => {
+ if (!x.status) return this.$message.error(x.message);
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.refresh();
+ });
+ }
+ }
this.columns.forEach(column => {
if (column.field == 'materielCode') {
column.formatter = (row) => {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/Index.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/Index.vue"
index 519f89b..a882a94 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/Index.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/Index.vue"
@@ -324,24 +324,24 @@
});
};
- const createSocket = (url) => {
- // 鍒涘缓WebSocket杩炴帴
- //"ws://127.0.0.1:9295/admin"
- client = new WebSocket(url);
+ // const createSocket = (url) => {
+ // // 鍒涘缓WebSocket杩炴帴
+ // //"ws://127.0.0.1:9295/admin"
+ // client = new WebSocket(url);
- client.onopen = function () {
- client.onmessage = handleMessage;
- store.commit("setWebsocket", client);
- console.log("WebSocket 杩炴帴鎴愬姛");
- };
+ // client.onopen = function () {
+ // client.onmessage = handleMessage;
+ // store.commit("setWebsocket", client);
+ // console.log("WebSocket 杩炴帴鎴愬姛");
+ // };
- client.onclose = function () {
- console.log("WebSocket 杩炴帴鍏抽棴");
- setTimeout(createSocket, 10000);
- };
- //鐩戝惉socket閿欒淇℃伅
- client.onerror = function () {};
- };
+ // client.onclose = function () {
+ // console.log("WebSocket 杩炴帴鍏抽棴");
+ // setTimeout(createSocket, 10000);
+ // };
+ // //鐩戝惉socket閿欒淇℃伅
+ // client.onerror = function () {};
+ // };
const changeTheme = (name) => {
if (theme.value != name) {
@@ -606,7 +606,7 @@
}
}
- createSocket("ws://127.0.0.1:9296/" + _userInfo.userName);
+ // createSocket("ws://127.0.0.1:9296/" + _userInfo.userName);
Object.assign(_config.$tabs, { open: open, close: close });
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/charts/AssembleDist.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/charts/AssembleDist.vue"
index c5d0cfa..39c2bb7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/charts/AssembleDist.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/charts/AssembleDist.vue"
@@ -131,7 +131,7 @@
calendar: {
left: "center",
top: 49,
- cellSize: [70, 70],
+ cellSize: [100, 70],
orient: "vertical",
dayLabel: {
firstDay: 1,
@@ -140,7 +140,7 @@
monthLabel: {
formatter: "{M}鏈�",
},
- range: "2025-05",
+ range: dayjs().format('YYYY-MM'),
yearLabel: {
show: false,
},
@@ -152,7 +152,7 @@
symbolSize(params) {
//鏍稿績2
if (params[0] === dayjs().format('YYYY-MM-DD')) {
- return 70; //褰撳墠鏃ユ湡楂樹寒 瀹藉害楂樺害璁剧疆鎴愬拰鍗曞厓鏍煎搴﹂珮搴︿竴鏍�
+ return [100, 70]; //褰撳墠鏃ユ湡楂樹寒 瀹藉害楂樺害璁剧疆鎴愬拰鍗曞厓鏍煎搴﹂珮搴︿竴鏍�
} else {
return 1;
}
@@ -313,7 +313,7 @@
calendar: {
left: "center",
top: 49,
- cellSize: [70, 70],
+ cellSize: [100, 70],
orient: "vertical",
dayLabel: {
firstDay: 1,
@@ -334,7 +334,7 @@
symbolSize(params) {
//鏍稿績2
if (params[0] === dayjs().format('YYYY-MM-DD')) {
- return 70; //褰撳墠鏃ユ湡楂樹寒 瀹藉害楂樺害璁剧疆鎴愬拰鍗曞厓鏍煎搴﹂珮搴︿竴鏍�
+ return [100, 70]; //褰撳墠鏃ユ湡楂樹寒 瀹藉害楂樺害璁剧疆鎴愬拰鍗曞厓鏍煎搴﹂珮搴︿竴鏍�
} else {
return 1;
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/check/inspectOrder.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/check/inspectOrder.vue"
index b821479..c09eed9 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/check/inspectOrder.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/check/inspectOrder.vue"
@@ -81,7 +81,6 @@
width: 150,
hidden: true,
readonly: true,
- require: true,
align: "left",
},
{
@@ -89,7 +88,6 @@
title: "妫�楠屽崟鍙�",
type: "string",
width: 180,
- require: true,
align: "left",
},
{
@@ -105,7 +103,6 @@
title: "閫佹鍗曞彿",
type: "string",
width: 180,
- require: true,
align: "left",
},
{
@@ -118,19 +115,17 @@
},
// {field:'auditStatus',title:'瀹℃壒鐘舵��',type:'int',width:110,require:true,align:'left'},
{
- field: "receiveDetailRowNo",
- title: "閫佹鏄庣粏琛�",
+ field: "orderPalletCode",
+ title: "閫佹鎵樼洏",
type: "int",
- width: 100,
- require: true,
+ width: 140,
align: "left",
},
{
field: "materielCode",
title: "鐗╂枡缂栧彿",
type: "string",
- width: 110,
- require: true,
+ width: 100,
align: "left",
},
{
@@ -146,14 +141,13 @@
title: "鎵规鍙�",
type: "string",
width: 150,
- require: true,
align: "left",
},
{
field: "checkOrderStatus",
title: "璐ㄦ鍗曠姸鎬�",
type: "string",
- width: 110,
+ width: 100,
require: true,
align: "left",
bind: { key: "checkOrderStatusEnum", data: [] },
@@ -173,11 +167,24 @@
align: "left",
},
{
+ field: "defectedQuantity",
+ title: "鐗归噰鏁伴噺",
+ type: "float",
+ width: 110,
+ align: "left",
+ },
+ {
+ field: "scrappedQuantity",
+ title: "鎶ュ簾鏁伴噺",
+ type: "float",
+ width: 110,
+ align: "left",
+ },
+ {
field: "receivedQuantity",
title: "妫�楠屾�绘暟",
type: "float",
width: 110,
- require: true,
align: "left",
},
{
@@ -224,7 +231,6 @@
title: "鍒涘缓鏃堕棿",
type: "datetime",
width: 180,
- require: true,
align: "left",
},
// {field:'modifier',title:'淇敼浜�',type:'string',width:100,align:'left'},
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_GM.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_GM.cs"
index 97f8d03..7a17157 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_GM.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_GM.cs"
@@ -62,17 +62,17 @@
if (mathCurrentRow <= maxDepth)
{
locationInfos = locationInfos.Where(x => x.Row - Convert.ToInt32(Math.Ceiling(x.Row / maxDepth / 2.0)) * maxDepth * 2 <= maxDepth).ToList();
- if (beRelocation.Row> maxDepth)
+ if (beRelocation.Row <= maxDepth)
{
- locationInfos = locationInfos.Where(x=>x.Row>maxDepth).ToList();
+ locationInfos = locationInfos.Where(x=>x.Row <= maxDepth).ToList();
}
}
else
{
locationInfos = locationInfos.Where(x => x.Row - Convert.ToInt32(Math.Ceiling(x.Row / maxDepth / 2.0)) * maxDepth * 2 > maxDepth).ToList();
- if (beRelocation.Row <= maxDepth)
+ if (beRelocation.Row > maxDepth)
{
- locationInfos = locationInfos.Where(x => x.Row <= maxDepth).ToList();
+ locationInfos = locationInfos.Where(x => x.Row > maxDepth).ToList();
}
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderResultService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderResultService.cs"
index 1ecc986..607da70 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderResultService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_CheckService/CheckOrderResultService.cs"
@@ -206,7 +206,8 @@
{
return content.Error($"鏁伴噺瓒呭嚭");
}
- if (checkResult.Result == InspectResultEnum.Return.ToString())//閫�璐�
+ //鍒ゆ柇妫�楠岀粨鏋�
+ if (checkResult.Result == InspectResultEnum.Return.ToString())
{
checkOrder.DefectedNote = checkResult.Note;
checkOrder.ReturnQuantity += checkResult.Quantity;
@@ -248,8 +249,9 @@
}
else if(checkResult.Quantity< item.StockQuantity)
{
- checkResult.Quantity = 0;
item.StockQuantity -= checkResult.Quantity;
+ item.OutboundQuantity = 0;
+ checkResult.Quantity = 0;
stockInfoDetails.Add(item);
}
else if (checkResult.Quantity >= item.StockQuantity)
@@ -287,6 +289,7 @@
checkOrder.QualifiedQuantity = checkOrder.ReceivedQuantity;
}
checkOrder.CheckUserName = App.User.UserName;
+ List<Dt_StockInfoDetail> initialStockDetails = stockInfo.Details.Where(x=> !(stockInfoDetails.Select(v=>v.Id).ToList()).Contains(x.Id)).ToList();
_unitOfWorkManage.BeginTran();
if (checkOrderResult != null)
@@ -298,6 +301,14 @@
{
_stockRepository.StockInfoDetailRepository.UpdateData(stockInfoDetails);
}
+ if (initialStockDetails.Count>0)
+ {
+ initialStockDetails.ForEach(x =>
+ {
+ x.OutboundQuantity = 0;
+ });
+ _stockRepository.StockInfoDetailRepository.UpdateData(initialStockDetails);
+ }
if (DelStockDetails.Count>0)
{
_stockRepository.StockInfoDetailRepository.DeleteAndMoveIntoHty(DelStockDetails, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/TakeStockStatusEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/TakeStockStatusEnum.cs"
index f793532..e12bca8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/TakeStockStatusEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/TakeStockStatusEnum.cs"
@@ -13,21 +13,50 @@
public enum TakeStockStatusEnum
{
/// <summary>
- /// 鏈��鏂�
+ /// 鏈洏鐐�
/// </summary>
[Description("鏈洏鐐�")]
- NotTake = 0,
+ 鏈洏鐐� = 0,
/// <summary>
- /// 閫�鏂欎腑
+ /// 鐩樼偣涓�
/// </summary>
[Description("鐩樼偣涓�")]
- Taking = 1,
+ 鐩樼偣涓� = 1,
/// <summary>
- /// 閫�鏂欏畬鎴�
+ /// 鐩樼偣瀹屾垚
/// </summary>
[Description("鐩樼偣瀹屾垚")]
- Taked = 2
+ 鐩樼偣瀹屾垚 = 2
+ }
+ /// <summary>
+ /// 鐩樼偣鐘舵��
+ /// </summary>
+ public enum TakeStockDetailStatusEnum
+ {
+ /// <summary>
+ /// 鏈洏鐐�
+ /// </summary>
+ [Description("鏈洏鐐�")]
+ 鏈洏鐐� = 0,
+
+ /// <summary>
+ /// 鐩樼偣涓�
+ /// </summary>
+ [Description("鐩樼偣鍑哄簱涓�")]
+ 鐩樼偣鍑哄簱涓� = 1,
+
+ /// <summary>
+ /// 鐩樼偣鍑哄簱瀹屾垚
+ /// </summary>
+ [Description("鐩樼偣鍑哄簱瀹屾垚")]
+ 鐩樼偣鍑哄簱瀹屾垚 = 2,
+
+ /// <summary>
+ /// 鐩樼偣瀹屾垚
+ /// </summary>
+ [Description("鐩樼偣瀹屾垚")]
+ 鐩樼偣瀹屾垚 = 3
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundRepository/IInboundRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundRepository/IInboundRepository.cs"
index ee67db6..3c4f2e0 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundRepository/IInboundRepository.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundRepository/IInboundRepository.cs"
@@ -24,5 +24,7 @@
IReturnOrderDetailRepository ReturnOrderDetailRepository { get; }
IMesProInOrderRepository MesProInOrderRepository { get; }
IMesProInOrderDetailRepository MesProInOrderDetailRepository { get; }
+ ITakeStockOrderRepository TakeStockOrderRepository { get; }
+ ITakeStockOrderDetailRepository TakeStockOrderDetailRepository { get; }
}
}
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 4e12dc7..bbc83dc 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"
@@ -66,6 +66,10 @@
//WebResponseContent RequestInboundTask(string palletCode, string stationCode);
WebResponseContent RequestInboundTask(SaveModel saveModel);
/// <summary>
+ /// 鏌ヨ璐ㄦ鏁伴噺
+ /// </summary>
+ WebResponseContent InQualityConfirm(string palletCode);
+ /// <summary>
/// 绌虹鍏ュ簱
/// </summary>
/// <param name="barcode"></param>
@@ -209,6 +213,7 @@
/// <param name="id"></param>
/// <returns></returns>
WebResponseContent Outbound(int id);
+ WebResponseContent TakeOutbound(List<StockViewDTO> stockViews);
/// <summary>
/// 鐗╂枡鍑哄簱锛學MS鍚屾鍑哄簱鐗╂枡鎵规鑷矼ES
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundRepository/InboundRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundRepository/InboundRepository.cs"
index e1c76e9..ef0af38 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundRepository/InboundRepository.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundRepository/InboundRepository.cs"
@@ -25,7 +25,11 @@
public IMesProInOrderRepository MesProInOrderRepository { get; }
public IMesProInOrderDetailRepository MesProInOrderDetailRepository { get; }
- public InboundRepository(IInboundOrderDetailRepository inboundOrderDetailRepository, IInboundOrderRepository inboundOrderRepository, IReceiveOrderDetailRepository receiveOrderDetailRepository, IReceiveOrderRepository receiveOrderRepository, IPurchaseOrderDetailRepository purchaseOrderDetailRepository, IPurchaseOrderRepository purchaseOrderRepository, IReturnOrderRepository returnOrderRepository, IReturnOrderDetailRepository returnOrderDetailRepository, IMesProInOrderRepository mesProInOrderRepository, IMesProInOrderDetailRepository mesProInOrderDetailRepository)
+ public ITakeStockOrderRepository TakeStockOrderRepository { get; }
+
+ public ITakeStockOrderDetailRepository TakeStockOrderDetailRepository { get; }
+
+ public InboundRepository(IInboundOrderDetailRepository inboundOrderDetailRepository, IInboundOrderRepository inboundOrderRepository, IReceiveOrderDetailRepository receiveOrderDetailRepository, IReceiveOrderRepository receiveOrderRepository, IPurchaseOrderDetailRepository purchaseOrderDetailRepository, IPurchaseOrderRepository purchaseOrderRepository, IReturnOrderRepository returnOrderRepository, IReturnOrderDetailRepository returnOrderDetailRepository, IMesProInOrderRepository mesProInOrderRepository, IMesProInOrderDetailRepository mesProInOrderDetailRepository, ITakeStockOrderRepository takeStockOrderRepository, ITakeStockOrderDetailRepository takeStockOrderDetailRepository)
{
InboundOrderDetailRepository = inboundOrderDetailRepository;
InboundOrderRepository = inboundOrderRepository;
@@ -37,6 +41,8 @@
ReturnOrderDetailRepository = returnOrderDetailRepository;
MesProInOrderRepository = mesProInOrderRepository;
MesProInOrderDetailRepository = mesProInOrderDetailRepository;
+ TakeStockOrderRepository = takeStockOrderRepository;
+ TakeStockOrderDetailRepository = takeStockOrderDetailRepository;
}
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs"
index d0977fd..a5ebece 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs"
@@ -75,8 +75,7 @@
Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseId == receiveOrder.WarehouseId);
MatSerNumAnalysisModel model = CodeAnalysisHelper.CodeAnalysis<MatSerNumAnalysisModel>(AnalysisCodeEnum.MatSerNumAnalysis, serNum);
Dt_SupplierInfo supplierInfo = _supplierInfoRepository.QueryFirst(x => x.SupplierCode == receiveOrder.SuppliersId);
- //鏀惰揣澧炲姞鎵规鍗℃帶
- //鏌ヨ鏀惰揣鏄庣粏鏄惁鏈夊瓨鍦ㄥ悓涓�涓壒娆�
+ //鏀惰揣澧炲姞鎵规鍗℃帶,鏌ヨ鏀惰揣鏄庣粏鏄惁鏈夊瓨鍦ㄥ悓涓�涓壒娆�
Dt_ReceiveOrderDetail receiveOrderDetailOld = _inboundRepository.ReceiveOrderDetailRepository.QueryFirst(x => x.LotNo == model.LotNo && x.MaterielCode == model.MaterielCode);
Dt_ReceiveOrder? receiveOrderOld = null;
if (receiveOrderDetailOld!=null)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/TakeStockOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/TakeStockOrderService.cs"
index 94f8e0b..a34d6f6 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/TakeStockOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/TakeStockOrderService.cs"
@@ -56,7 +56,7 @@
}
}
}
- saveModel.MainData.Add(nameof(Dt_TakeStockOrder.TakeStockStatus).FirstLetterToLower(), TakeStockStatusEnum.NotTake.ObjToInt());
+ saveModel.MainData.Add(nameof(Dt_TakeStockOrder.TakeStockStatus).FirstLetterToLower(), TakeStockStatusEnum.鏈洏鐐�.ObjToInt());
return base.AddData(saveModel);
}
/// <summary>
@@ -74,11 +74,11 @@
List<Dt_TakeStockOrder> takeStockOrders = new List<Dt_TakeStockOrder>();
if (string.IsNullOrEmpty(orderNo))
{
- takeStockOrders = Db.Queryable<Dt_TakeStockOrder>().Where(x => x.TakeStockStatus < TakeStockStatusEnum.Taked.ObjToInt() && x.WarehouseId == warehouseId).ToPageList(pageNo, 5);
+ takeStockOrders = Db.Queryable<Dt_TakeStockOrder>().Where(x => x.TakeStockStatus < TakeStockStatusEnum.鐩樼偣瀹屾垚.ObjToInt() && x.WarehouseId == warehouseId).ToPageList(pageNo, 5);
}
else
{
- takeStockOrders = Db.Queryable<Dt_TakeStockOrder>().Where(x => (x.OrderNo.Contains(orderNo) && x.TakeStockStatus < TakeStockStatusEnum.Taked.ObjToInt() && x.WarehouseId == warehouseId)).ToPageList(pageNo, 5);
+ takeStockOrders = Db.Queryable<Dt_TakeStockOrder>().Where(x => (x.OrderNo.Contains(orderNo) && x.TakeStockStatus < TakeStockStatusEnum.鐩樼偣瀹屾垚.ObjToInt() && x.WarehouseId == warehouseId)).ToPageList(pageNo, 5);
}
content.OK(data: takeStockOrders);
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Check/Dt_CheckOrder.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Check/Dt_CheckOrder.cs"
index 2cdd69b..fa07b9a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Check/Dt_CheckOrder.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Check/Dt_CheckOrder.cs"
@@ -138,6 +138,11 @@
[SugarColumn(IsNullable = true, ColumnDescription = "妫�楠屽崟绫诲瀷")]
public int OrderType { get; set; }
/// <summary>
+ /// 妫�楠屾墭鐩�
+ /// </summary>
+ [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "妫�楠屾墭鐩�")]
+ public string OrderPalletCode { get; set; }
+ /// <summary>
/// 璐ㄦ缁撴灉
/// </summary>
[Navigate(NavigateType.OneToMany, nameof(Dt_CheckOrderResult.CheckOrderId), nameof(CheckOrderId))]
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_TakeStockOrder.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_TakeStockOrder.cs"
index 324ac31..3f5b586 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_TakeStockOrder.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_TakeStockOrder.cs"
@@ -50,7 +50,7 @@
/// <summary>
/// 鐩樼偣鏄庣粏
/// </summary>
- [PropertyValidate("閫�鏂欏崟鏄庣粏", NotNullAndEmpty = true), Navigate(NavigateType.OneToMany, nameof(Dt_TakeStockOrderDetail.TakeStockId), nameof(Id))]
+ [PropertyValidate("鐩樼偣鏄庣粏", NotNullAndEmpty = true), Navigate(NavigateType.OneToMany, nameof(Dt_TakeStockOrderDetail.TakeStockId), nameof(Id))]
public List<Dt_TakeStockOrderDetail> Details { get; set; }
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_TakeStockOrderDetail.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_TakeStockOrderDetail.cs"
index acbd45d..384267e 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_TakeStockOrderDetail.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_TakeStockOrderDetail.cs"
@@ -23,7 +23,7 @@
/// <summary>
/// 鐩樼偣鍗曚富閿�
/// </summary>
- [SugarColumn(IsNullable = false, ColumnDescription = "閫�鏂欏崟涓婚敭")]
+ [SugarColumn(IsNullable = false, ColumnDescription = "鐩樼偣鍗曚富閿�")]
public int TakeStockId { get; set; }
/// <summary>
@@ -51,6 +51,24 @@
public string MaterielSpec { get; set; }
/// <summary>
+ /// 鍘熶粨浣�
+ /// </summary>
+ [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "鍘熶粨浣�")]
+ public string LocationCode { get; set; }
+
+ /// <summary>
+ /// 鐩樼偣鎵樼洏
+ /// </summary>
+ [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "鐩樼偣鎵樼洏")]
+ public string TakePalletCode { get; set; }
+
+ /// <summary>
+ /// 鐩樼偣鏄庣粏鐘舵��
+ /// </summary>
+ [SugarColumn(IsNullable = true, ColumnDescription = "鐩樼偣鏄庣粏鐘舵��")]
+ public int TakeDetalStatus { get; set; }
+
+ /// <summary>
/// 鍗曚綅
/// </summary>
[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "鍗曚綅")]
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs"
index f7726e8..601ae7b 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs"
@@ -1187,13 +1187,14 @@
case "inspectAcceptEnum":
{
List<object> data = new List<object>();
+
{
Type type = typeof(InspectAcceptEnum);
- List<int> enums = Enum.GetValues(typeof(InspectAcceptEnum)).Cast<int>().ToList();
+ List<string> enumNames = Enum.GetNames(typeof(InspectAcceptEnum)).ToList();
int index = 0;
- foreach (var item in enums)
+ foreach (var item in enumNames)
{
- FieldInfo? fieldInfo = typeof(InspectAcceptEnum).GetField(((InspectAcceptEnum)item).ToString());
+ FieldInfo? fieldInfo = typeof(InspectAcceptEnum).GetField((item).ToString());
DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
if (description != null)
{
@@ -1236,6 +1237,32 @@
result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
}
break;
+ case "takeStockDetailStatusEnum":
+ {
+ List<object> data = new List<object>();
+ {
+ Type type = typeof(TakeStockDetailStatusEnum);
+ List<int> enums = Enum.GetValues(typeof(TakeStockDetailStatusEnum)).Cast<int>().ToList();
+ int index = 0;
+ foreach (var item in enums)
+ {
+ FieldInfo? fieldInfo = typeof(TakeStockDetailStatusEnum).GetField(((TakeStockDetailStatusEnum)item).ToString());
+ DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+ if (description != null)
+ {
+ data.Add(new { key = item.ToString(), value = description.Description });
+ }
+ else
+ {
+ data.Add(new { key = item.ToString(), value = item.ToString() });
+ }
+ index++;
+ }
+ }
+
+ result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+ }
+ break;
}
return result;
}
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 4f51249..41ebfc6 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"
@@ -691,7 +691,8 @@
ReceivedQuantity = item.OriginalQuantity,
OrderType = CheckTypeEnum.InspectCheck.ObjToInt(),
ReceiveOrderNo = outboundOrder.OrderNo,
- LotNo= item.BatchNo,
+ OrderPalletCode= item.PalletCode,
+ LotNo = item.BatchNo,
Result = CheckAcceptEnum.NotCheckAccept.ToString(),
QualifiedQuantity = 0,
ReceiveDetailRowNo = item.Id,
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 2a0977a..ae8089e 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"
@@ -16,6 +16,7 @@
using WIDESEA_Common.TaskEnum;
using WIDESEA_Common.WareHouseEnum;
using WIDESEA_Core;
+using WIDESEA_Core.Enums;
using WIDESEA_Core.Helper;
using WIDESEA_DTO;
using WIDESEA_DTO.MES;
@@ -60,7 +61,7 @@
{
return WebResponseContent.Instance.Error($"鏈壘鍒扮粍鐩樹俊鎭�");
}
- if (stockInfo.StockStatus != StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.鎷i�夊畬鎴�.ObjToInt())
+ if (stockInfo.StockStatus != StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.鎷i�夊畬鎴�.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.閫佹瀹屾垚.ObjToInt())
{
return WebResponseContent.Instance.Error($"璇ユ墭鐩樼姸鎬佷笉姝g‘,涓嶅彲鐢宠鍏ュ簱");
}
@@ -134,6 +135,11 @@
stockInfo.StockStatus = StockStatusEmun.鍏ュ簱纭.ObjToInt();
newTask.TaskType = TaskTypeEnum.InPick.ObjToInt();
}
+ else if (stockInfo.StockStatus == StockStatusEmun.閫佹瀹屾垚.ObjToInt())
+ {
+ stockInfo.StockStatus = StockStatusEmun.鎵嬪姩缁勭洏鍏ュ簱纭.ObjToInt();
+ newTask.TaskType = TaskTypeEnum.InQuality.ObjToInt();
+ }
else
{
stockInfo.StockStatus = StockStatusEmun.鍏ュ簱纭.ObjToInt();
@@ -162,7 +168,52 @@
return WebResponseContent.Instance.Error(ex.Message);
}
}
-
+ /// <summary>
+ /// 鏌ヨ璐ㄦ鏁伴噺
+ /// </summary>
+ /// <param name="palletCode">鎵樼洏鍙�</param>
+ /// <returns></returns>
+ public WebResponseContent InQualityConfirm(string palletCode)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(palletCode);
+ if (stockInfo == null)
+ {
+ return content.Error($"鏈壘鍒拌鎵樼洏搴撳瓨淇℃伅");
+ }
+ if (stockInfo.Details.Count<=0)
+ {
+ return content.Error($"璇ユ墭鐩樺簱瀛樻槑缁嗕负绌�");
+ }
+ if (stockInfo.StockStatus != StockStatusEmun.閫佹瀹屾垚.ObjToInt())
+ {
+ return content.Error($"璇ユ墭鐩樿繕鏈�佹鍑哄簱瀹屾垚");
+ }
+ Dt_OutStockLockInfo? outStockLockInfo = _outboundRepository.OutboundStockLockInfoRepository.QueryData(x => x.PalletCode == palletCode && x.Status == OutLockStockStatusEnum.鍑哄簱瀹屾垚.ObjToInt() && x.OrderType== OutOrderTypeEnum.Quality.ObjToInt()).OrderByDescending(x=>x.Id).FirstOrDefault();
+ if (outStockLockInfo != null)
+ {
+ //鑾峰彇瀵瑰簲妫�楠屽崟
+ Dt_CheckOrder checkOrder = _checkOrderRepository.QueryFirst(x=>x.ReceiveDetailRowNo== outStockLockInfo.Id && x.CheckOrderStatus==CheckOrderStatusEnum.Checked.ObjToInt());
+ if (checkOrder == null)
+ {
+ return content.Error($"璇ユ墭鐩橀�佹淇℃伅鏈");
+ }
+ content.OK("鎴愬姛", data:new { stockInfo.Details.FirstOrDefault()?.MaterielCode,checkOrder.ReceivedQuantity,checkOrder.ScrappedQuantity,checkOrder.DefectedQuantity,checkOrder.QualifiedQuantity,stockQuantity= stockInfo.Details.Sum(x=>x.StockQuantity) }) ;
+ }
+ else
+ {
+ content.Error("璇ユ墭鐩橀�佹鍑哄簱璇︽儏涓嶅瓨鍦�");
+ }
+ }
+ catch (Exception ex)
+ {
+ _unitOfWorkManage.RollbackTran();
+ content.Error(ex.Message);
+ }
+ return content;
+ }
/// <summary>
/// 鍏ョ┖绠�
/// </summary>
@@ -382,7 +433,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.閫佹瀹屾垚.ObjToInt())
{
return WebResponseContent.Instance.Error($"璇ユ墭鐩樼姸鎬佷笉姝g‘,涓嶅彲鐢宠鍏ュ簱");
}
@@ -450,6 +501,11 @@
{
stockInfo.StockStatus = StockStatusEmun.鍏ュ簱纭.ObjToInt();
newTask.TaskType = TaskTypeEnum.InPick.ObjToInt();
+ }
+ else if (stockInfo.StockStatus == StockStatusEmun.閫佹瀹屾垚.ObjToInt())
+ {
+ stockInfo.StockStatus = StockStatusEmun.鎵嬪姩缁勭洏鍏ュ簱纭.ObjToInt();
+ newTask.TaskType = TaskTypeEnum.InQuality.ObjToInt();
}
else
{
@@ -544,8 +600,9 @@
}
else if (stockInfo.StockStatus == StockStatusEmun.MES绌烘墭閫�搴�.ObjToInt())
{
+ Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x=>x.WarehouseId==stockInfo.WarehouseId && x.PalletType==stockInfo.PalletType);
//todo 灏忔墭鐩樻殏鏃舵湭鍚敤
- if (stockInfo.PalletType == PalletTypeEnum.MediumPallet.ObjToInt())
+ if (palletTypeInfo.LocaitonCount==2)
{
newTask.TaskType = TaskTypeEnum.MesPalletLargeReturn.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 f3e953b..e62bc46 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"
@@ -20,6 +20,7 @@
using WIDESEA_Core.CodeConfigEnum;
using Microsoft.AspNetCore.Mvc;
using WIDESEA_DTO.ERP;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
namespace WIDESEA_TaskInfoService
{
@@ -78,6 +79,102 @@
return content;
}
/// <summary>
+ /// 閫夊畾搴撳瓨鐢熸垚鐩樼偣鍗曞嚭搴�
+ /// </summary>
+ /// <param name="id"></param>
+ /// <returns></returns>
+ public WebResponseContent TakeOutbound(List<StockViewDTO> stockViews)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ if (stockViews.Select(x=>x.WarehouseId).Distinct().Count()>=2)
+ {
+ return content.Error($"璇烽�夋嫨鍚屼竴浠撳簱搴撳瓨杩涜鐩樼偣");
+ }
+ List<int> ids = stockViews.Select(x => x.StockId).ToList();
+ //鑾峰彇搴撳瓨
+ List<Dt_StockInfo> stockInfos = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => ids.Contains(x.Id)).Includes(x => x.Details).ToList();
+ if (stockInfos.Count!= stockViews.Count)
+ {
+ StockViewDTO? stockViewDTO = stockViews.FirstOrDefault(x=> !stockInfos.Select(x=>x.PalletCode).ToList().Contains(x.PalletCode));
+ return content.Error($"鏈壘鍒皗stockViewDTO?.PalletCode}搴撳瓨");
+ }
+ //鑾峰彇璐т綅
+ List<string> locStrs = stockInfos.Select(x => x.LocationCode).ToList();
+ List<Dt_LocationInfo> locationInfos =_basicRepository.LocationInfoRepository.QueryData(x=> locStrs.Contains(x.LocationCode));
+ if (stockInfos.Count != locationInfos.Count)
+ {
+ string? locStr = locStrs.FirstOrDefault(x=> !locationInfos.Select(x => x.LocationCode).ToList().Contains(x));
+ return content.Error($"鏈壘鍒皗locStr}璐т綅鏁版嵁");
+ }
+ Dt_TakeStockOrder takeStockOrder = new Dt_TakeStockOrder()
+ {
+ WarehouseId = stockInfos.FirstOrDefault().WarehouseId,
+ TakeStockStatus = TakeStockStatusEnum.鐩樼偣涓�.ObjToInt(),
+ Details = new List<Dt_TakeStockOrderDetail>()
+ };
+ foreach (var item in stockInfos)
+ {
+ if (item.Details.Count<=0)
+ {
+ return content.Error($"鏈壘鍒皗item.PalletCode}搴撳瓨鏄庣粏鏁版嵁");
+ }
+ Dt_LocationInfo? locationInfo = locationInfos.FirstOrDefault(x=>x.LocationCode==item.LocationCode);
+ if (locationInfo != null && (locationInfo.EnableStatus == EnableStatusEnum.OnlyOut.ObjToInt() || locationInfo.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && locationInfo.LocationStatus == LocationStatusEnum.InStock.ObjToInt() && item.StockStatus == StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt())
+ {
+ //鍒涘缓鏄庣粏
+ Dt_TakeStockOrderDetail takeStockOrderDetail = new Dt_TakeStockOrderDetail()
+ {
+ MaterielCode= item.Details.FirstOrDefault().MaterielCode,
+ MaterielName=item.Details.FirstOrDefault().MaterielName ?? "鏃犵墿鏂欏悕绉�",
+ BatchNo=item.Details.FirstOrDefault().BatchNo,
+ MaterielSpec=item.Details.FirstOrDefault().MaterielSpec ?? "鏃犵墿鏂欒鏍�",
+ LocationCode=item.LocationCode,
+ TakePalletCode=item.PalletCode,
+ TakeDetalStatus=TakeStockDetailStatusEnum.鐩樼偣鍑哄簱涓�.ObjToInt(),
+ Unit=item.Details.FirstOrDefault().Unit ?? "鏃犲崟浣�",
+ SysQty=item.Details.Sum(x=>x.StockQuantity),
+ Qty=0
+ };
+ takeStockOrder.Details.Add(takeStockOrderDetail);
+ }
+ else
+ {
+ content.Error($"璐т綅鎴栧簱瀛樼姸鎬佷笉婊¤冻鍑哄簱鏉′欢");
+ }
+ }
+ List<Dt_Task> tasks = GetTasks(stockInfos, TaskTypeEnum.OutInventory);
+ if (tasks == null || tasks.Count <= 0)
+ {
+ return content.Error($"鐢熸垚浠诲姟澶辫触");
+ }
+ stockInfos.ForEach(x =>
+ {
+ x.StockStatus = StockStatusEmun.鍑哄簱閿佸畾.ObjToInt();
+ });
+ LocationStatusEnum locationStatus = LocationStatusEnum.Lock;
+ _unitOfWorkManage.BeginTran();
+ //鏇存柊搴撳瓨鐘舵��
+ _stockRepository.StockInfoRepository.UpdateData(stockInfos);
+ _inboundRepository.TakeStockOrderRepository.Db.InsertNav(takeStockOrder).Include(x=>x.Details).ExecuteCommand();
+ //鏂板缓浠诲姟
+ BaseDal.AddData(tasks);
+ //鍔犲叆璐т綅鍙樺姩璁板綍
+ _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfos, locationStatus, LocationChangeType.OutboundAssignLocation, "", tasks?.Select(x => x.TaskNum).ToList());
+ _basicService.LocationInfoService.Repository.UpdateLocationStatus(locationInfos, locationStatus);
+ _unitOfWorkManage.CommitTran();
+ PushTasksToWCS(tasks);
+ content.OK();
+ }
+ catch (Exception ex)
+ {
+ _unitOfWorkManage.RollbackTran();
+ content.Error(ex.Message);
+ }
+ return content;
+ }
+ /// <summary>
/// 鐢熸垚鎴愬搧鍑哄簱浠诲姟
/// </summary>
/// <param name="ProOutNo">鍑哄簱璁㈠崟鍙�</param>
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 f828daa..21ebc59 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"
@@ -42,7 +42,14 @@
{
return Service.RequestInboundTask(saveModel);
}
-
+ /// <summary>
+ /// 鏌ヨ璐ㄦ鏁伴噺
+ /// </summary>
+ [HttpPost, HttpGet, Route("InQualityConfirm"), AllowAnonymous]
+ public WebResponseContent InQualityConfirm(string palletCode)
+ {
+ return Service.InQualityConfirm(palletCode);
+ }
/// <summary>
/// 绌虹鍏ュ簱
/// </summary>
@@ -385,5 +392,13 @@
{
return Service.GetZHMesMaterialLot(materialLot);
}
+ /// <summary>
+ /// 閫夊畾搴撳瓨鐢熸垚鐩樼偣鍗曞嚭搴�
+ /// </summary>
+ [HttpPost, Route("TakeOutbound"), AllowAnonymous]
+ public WebResponseContent TakeOutbound([FromBody] List<StockViewDTO> stockViews)
+ {
+ return Service.TakeOutbound(stockViews);
+ }
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json"
index 8afbe7f..f89c8ff 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json"
@@ -6,7 +6,7 @@
"Microsoft.AspNetCore": "Warning"
}
},
- "dics": "inOrderType,outOrderType,inboundState,createType,enableEnum,enableStatusEnum,locationStatusEnum,locationTypeEnum,taskTypeEnum,taskStatusEnum,outboundStatusEnum,orderDetailStatusEnum,stockStatusEmun,stockChangeType,outStockStatus,receiveOrderTypeEnum,authorityScope,authorityScopes,locationChangeType,warehouses,suppliers,taskType,receiveStatus,purchaseType,purchaseOrderStatus,printStatus,returnStatus,returnType,outLockStockStatusEnum,checkOrderStatusEnum,checkUploadEnum,checkAcceptEnum,proStockAttributeEnum,materielSourceTypeEnum,materielTypeEnum,customerOutRuleEnum,proScrapStatusEnum,checkTypeEnum,inspectAcceptEnum,inspectResultEnum",
+ "dics": "inOrderType,outOrderType,inboundState,createType,enableEnum,enableStatusEnum,locationStatusEnum,locationTypeEnum,taskTypeEnum,taskStatusEnum,outboundStatusEnum,orderDetailStatusEnum,stockStatusEmun,stockChangeType,outStockStatus,receiveOrderTypeEnum,authorityScope,authorityScopes,locationChangeType,warehouses,suppliers,taskType,receiveStatus,purchaseType,purchaseOrderStatus,printStatus,returnStatus,returnType,outLockStockStatusEnum,checkOrderStatusEnum,checkUploadEnum,checkAcceptEnum,proStockAttributeEnum,materielSourceTypeEnum,materielTypeEnum,customerOutRuleEnum,proScrapStatusEnum,checkTypeEnum,inspectAcceptEnum,inspectResultEnum,takeStockDetailStatusEnum",
"AllowedHosts": "*",
"ConnectionStringsEncryption": false,
"MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages.json" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages.json"
index 913a96b..f5ebd1c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages.json"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages.json"
@@ -65,6 +65,13 @@
}
},
{
+ "path": "pages/stash/InspectIn",
+ "style": {
+ "navigationBarTitleText": "閫佹鍏ュ簱",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
"path": "pages/stash/AGVFinish",
"style": {
"navigationBarTitleText": "AGV瀹屾垚",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/InspectIn.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/InspectIn.vue"
new file mode 100644
index 0000000..ae655d0
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/InspectIn.vue"
@@ -0,0 +1,612 @@
+<template>
+ <view>
+ <uni-segmented-control style="margin-top: 15rpx;" :current="current" :values="items" @clickItem="onClickItem">
+ </uni-segmented-control>
+ <view class="content">
+ <!-- <view v-if="current === 0" class="headerstyle">
+ <view class="itemstyle">
+ <uni-forms label-width="180">
+ <uni-forms-item label="鎵樼洏鏉$爜:">
+ <uni-easyinput type="text" placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' :focus="!focus"
+ v-model="barcode" @input="barcodeInput" />
+ </uni-forms-item>
+ <uni-forms-item label="鍐呯鏍囩:">
+ <uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput' :focus="focus"
+ v-model="materSn" @input="snInput" />
+ </uni-forms-item>
+ <uni-forms-item :label="Testlabel" v-if="Test">
+ <uni-easyinput type="text" :placeholder="Testplaceholder" ref='midInput'
+ v-model="Initiallife" />
+ </uni-forms-item>
+
+ <uni-forms-item>
+ <button @click="submit" type="primary" size="default" style="margin-top: 2%;">缁勭洏</button>
+ </uni-forms-item>
+ </uni-forms>
+ <uni-list>
+
+ <uni-list-item direction="column" v-for="(item,index) in matInfos" :key="index">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <uni-icons type="trash" size="22" style="position: absolute;right: 5%;"
+ @click="deleteList(index)">
+ </uni-icons>
+ <view class="uni-content">
+ <view class="uni-title-sub uni-ellipsis-2">閲囪喘鍗曞彿锛歿{item.purchaseOrderNo}}</view>
+ <view class="uni-note">鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
+ <view class="uni-note">鎵规鍙凤細{{item.lotNo}}</view>
+ <view class="uni-note">鏁伴噺锛歿{item.quantity}}</view>
+ <view class="uni-note">鐢熶骇鏃ユ湡锛歿{item.productionDate}}</view>
+ <view class="uni-note">鏈夋晥鏈燂細{{item.effectiveDate}}</view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item>
+ </uni-list>
+ </view>
+ </view> -->
+ <view v-if="current === 0" class="headerstyle">
+ <view class="itemstyle">
+ <uni-forms label-width="120">
+ <uni-forms-item label="鎵樼洏鏉$爜">
+ <uni-easyinput type="text" :focus="!addressFocus" v-model="inboundBarcode"
+ placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' @confirm="inputChangebarcode" />
+ </uni-forms-item>
+ <uni-forms-item label="鍦板潃鏉$爜">
+ <uni-easyinput type="text" v-model="address" :disabled="addressdisabled"
+ placeholder="璇锋壂鎻忓湴鍧�鏉$爜" ref='midInput' :focus="addressFocus" />
+ </uni-forms-item>
+ <uni-forms-item>
+ <button @click="inbound" type="primary" size="default" style="margin-top: 2%;">鍏ュ簱纭</button>
+ </uni-forms-item>
+ </uni-forms>
+ </view>
+ <view>
+ <view class="uni-content" v-if="checkStockInfo" style="width: 500rpx; margin: 0px auto;">
+ <view class="uni-title-sub uni-ellipsis-2" style="font-size: 16px;">鐗╂枡缂栧彿锛歿{checkStockInfo.materielCode}}</view>
+ <view class="uni-note" style="font-size: 16px;">妫�楠屾暟閲忥細{{checkStockInfo.receivedQuantity}}</view>
+ <view class="uni-note" style="font-size: 16px;">鎶ュ簾鏁伴噺锛歿{checkStockInfo.scrappedQuantity}}</view>
+ <view class="uni-note" style="font-size: 16px;">鐗归噰鏁伴噺锛歿{checkStockInfo.defectedQuantity}}</view>
+ <view class="uni-note" style="font-size: 16px;">鍚堟牸鏁伴噺锛歿{checkStockInfo.qualifiedQuantity}}</view>
+ <view class="uni-note" style="font-size: 16px;">搴撳瓨鏁伴噺锛歿{checkStockInfo.stockQuantity}}</view>
+ </view>
+ </view>
+ </view>
+ <view v-if="current === 1" class="headerstyle">
+ <view class="itemstyle">
+ <uni-forms label-width="180">
+ <uni-forms-item label="鍐呯鏍囩:">
+ <uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput' :focus="pkfocus"
+ v-model="pkmaterSn" @input="pksnInput" />
+ </uni-forms-item>
+ <uni-forms-item>
+ <button @click="pksubmit" type="primary" size="default" style="margin-top: 2%;">鍏ュ钩搴�</button>
+ </uni-forms-item>
+ </uni-forms>
+ <uni-list>
+ <uni-list-item direction="column" v-for="(item,index) in pkmatInfos" :key="index">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <uni-icons type="trash" size="22" style="position: absolute;right: 5%;"
+ @click="pkdeleteList(index)">
+ </uni-icons>
+ <view class="uni-content">
+ <view class="uni-title-sub uni-ellipsis-2">閲囪喘鍗曞彿锛歿{item.purchaseOrderNo}}</view>
+ <view class="uni-note">鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
+ <view class="uni-note">鎵规鍙凤細{{item.lotNo}}</view>
+ <view class="uni-note">鏁伴噺锛歿{item.quantity}}</view>
+ <view class="uni-note">鐢熶骇鏃ユ湡锛歿{item.productionDate}}</view>
+ <view class="uni-note">鏈夋晥鏈燂細{{item.effectiveDate}}</view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item>
+ </uni-list>
+ </view>
+ </view>
+ </view>
+ <u-toast ref="uToast" />
+ </view>
+</template>
+
+<script>
+ const innerAudioContext = uni.createInnerAudioContext();
+ export default {
+ data() {
+ return {
+ items: ['鍏ュ簱'], //, '鍗曟嵁淇℃伅', '瑙g洏'
+ current: 0,
+ matTotal: [],
+ matInfos: [],
+ orderNo: "",
+ label: "",
+ orderInfo: [],
+ focus: false,
+ pkfocus: false,
+ barcode: "",
+ materSn: "",
+ Initiallife: 1000,
+ sns: [],
+ sn: "",
+ addressFocus: false,
+ inboundBarcode: "",
+ address: "",
+ check: true,
+ value: "",
+ matInfo: [],
+ value2: "",
+ matTotals: [],
+ warehouseId: "",
+ Test: false,
+ Testlabel: "",
+ Testplaceholder: "",
+ Testcheck: false,
+ Summmary: 0,
+ stockInfoDetail: [],
+ addressdisabled: false,
+ pksns: [],
+ pkmaterSn: "",
+ pkmatInfos: [],
+ checkStockInfo:null
+ }
+ },
+ onShow() {},
+ onLoad(res) {
+ this.focus = false;
+ this.addressFocus = false;
+ this.orderNo = res.orderNo;
+ this.warehouseId = res.warehouseId;
+ if (this.warehouseId == 6) { //娴嬭瘯鏋朵粨搴撳尯ID
+ this.Test = true;
+ this.Testlabel = "鍒濆瀵垮懡:";
+ this.Testplaceholder = "璇疯緭鍏ュ垵濮嬪鍛�";
+ } else if (this.warehouseId == 2) { //娌瑰ⅷ浠撳簱鍖篒D
+ this.Test = true;
+ this.Testlabel = "鏁伴噺:";
+ this.Testplaceholder = "璇疯緭鍏ユ暟閲�";
+ this.Initiallife = 16;
+ } else if (this.warehouseId == 5) { //杈呮枡浠撳簱鍖篒D
+ this.address = "8005";
+ this.items.push("鍏ュ钩搴�");
+ this.items[1] = "鍏ョ珛搴�";
+ this.address = "8005";
+ } else if (this.warehouseId == 3) { //杈呮枡浠撳簱鍖篒D
+ this.address = "1011";
+ this.addressdisabled = true;
+ }
+ this.label = "鍗曟嵁缂栧彿锛�" + this.orderNo;
+ this.getData();
+ },
+ methods: {
+ // voiceSpeech(src) {
+ // innerAudioContext.src = src; // '../../static/success.mp3';
+ // innerAudioContext.play();
+ // },
+ //wms鍏ュ钩搴�
+ pksubmit() {
+ if (this.pkmatInfos.length == 0) {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忓唴绠辨爣绛�",
+ type: 'error'
+ })
+ return;
+ }
+ this.$u.post('/api/InboundOrder/WMSInPinKu?warehouseId=' + this.warehouseId, this
+ .pksns).then(res => {
+ debugger
+ if (res.status) {
+ this.$refs.uToast.show({
+ title: "鍏ュ簱鎴愬姛",
+ type: "success"
+ })
+ this.focus = false;
+ this.pkmatInfos = [];
+ this.pksns = [];
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ })
+ },
+ pksnInput() {
+ this.$nextTick(() => {
+ if (this.pkmaterSn != "") {
+ this.focus = false;
+ var matSn = this.pkmaterSn;
+ setTimeout(() => {
+ this.pkmaterSn = "";
+ }, 10);
+ this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + matSn, {}).then((res) => {
+ if (res.status) {
+ this.pksns.push(res.data.serialNumber);
+ this.pkmatInfos.push(res.data);
+ if (!res.status) {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ // setTimeout(() => {
+ // this.voiceSpeech('../../static/fail.mp3');
+ // }, 100);
+ return;
+ }
+ // setTimeout(() => {
+ // this.voiceSpeech('../../static/success.mp3');
+ // }, 100);
+ return;
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ // setTimeout(() => {
+ // this.voiceSpeech('../../static/fail.mp3');
+ // }, 100);
+ }
+ })
+ }
+ })
+ },
+ //瑙g洏
+ releasebox() {
+ if (this.value.length == 0) {
+ this.$refs.uToast.show({
+ title: "璇锋壂鐮�",
+ type: "error"
+ })
+ return;
+ }
+ var param;
+ var matInfo = this.value.split('|');
+ if (matInfo.length == 7) {
+ param = {
+ MainData: {
+ "innerCode": this.value
+ }
+ }
+ } else {
+ param = {
+ MainData: {
+ "barcode": this.value
+ }
+ }
+ }
+ this.$u.post('/api/StockOperate/ReleaseAllBox', param).then(resdt => {
+ if (resdt.status) {
+ uni.$showMsg('瑙g洏鎴愬姛!')
+ this.value = "";
+ this.matInfo = [];
+ this.matTotals = [];
+ this.value2 = "";
+ } else {
+ this.$refs.uToast.show({
+ title: resdt.message,
+ type: "error"
+ })
+ }
+ })
+ },
+ releaseboxInput() {
+ this.$nextTick(() => {
+ if (this.value.length == 0) {
+ return;
+ }
+ var matInfo = this.value.split('|');
+ this.matInfo = [];
+ if (matInfo.length == 7) {
+ this.$u.post('/api/StockOperate/GetStockInfoByInnerCode', {
+ MainData: {
+ "innerCode": this.value
+ }
+ }).then(res => {
+ if (res.status) {
+ this.matInfo = res.data.stockInfo;
+ this.matTotals = res.data.stockTotal;
+ this.value2 = res.data.barcode;
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ })
+ } else {
+ this.$u.post('/api/StockOperate/GetStockInfoByBarcode', {
+ MainData: {
+ "barcode": this.value
+ }
+ }).then(res => {
+ if (res.status) {
+ this.matInfo = res.data.stockInfo;
+ this.matTotals = res.data.stockTotal;
+ this.value2 = res.data.barcode;
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ })
+ }
+ })
+ },
+
+ updateFocus() {
+ debugger
+ this.$nextTick(() => {
+ this.materSn = '';
+ if (!this.focus) {
+ this.focus = true;
+ }
+ });
+ },
+ barcodeFocus() {
+ debugger
+ this.barcode = '';
+ if (this.focus) {
+ this.focus = false;
+ }
+ },
+ getData() {
+ var postData = {
+ MainData: {
+ orderNo: this.orderNo
+ },
+ }
+ this.$u.post('/api/InboundOrderDetail/GetInboundOrderDetails', postData).then((res) => {
+ if (res.status) {
+ this.orderInfo = res.data;
+ if (this.orderInfo.length > 3) {
+ this.loadVisible = true;
+ }
+ }
+ })
+ },
+ onClickItem(e) {
+ this.focus = false;
+ this.addressFocus = false;
+ if (this.current !== e.currentIndex) {
+ this.current = e.currentIndex;
+ if (this.current == 2) {
+ this.getData();
+ }
+ }
+ },
+ barcodeInput() {
+ this.$nextTick(function(x) {
+ if (this.barcode.length > 0) {
+ // if (this.barcode.substring(0, 1) == 'A' || this.barcode.substring(0, 2) == 'TP') {
+ this.focus = true;
+ // } else {
+ // this.$refs.uToast.show({
+ // title: "鎵爜閿欒,璇锋壂鎻忔墭鐩樼爜",
+ // type: "error"
+ // })
+ // }
+ }
+ })
+ },
+ snInput() {
+ this.$nextTick(() => {
+ if (this.warehouseId == 6 || this.warehouseId == 2 || this.warehouseId == 3) {
+ if (this.sns.length > 0) {
+ this.sns = [];
+ }
+ }
+ if (this.materSn != "") {
+ this.focus = false;
+ if (this.warehouseId == 11) {
+ this.materSn = this.materSn.replace(/,SC.*/, '');
+ }
+ if (this.materSn.split(',').length != 6) {
+ this.materSn = "";
+ return;
+ }
+ var matSn = this.materSn;
+ //setTimeout(() => {
+ this.materSn = "";
+ //}, 10);
+ this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + matSn, {}).then((res) => {
+ this.Testcheck = false;
+ if (res.status) {
+ this.sns.push(res.data.serialNumber);
+ if (this.warehouseId == 6 || this.warehouseId == 2 || this.warehouseId ==
+ 3) {
+ if (this.matInfos.length > 0) {
+ this.matInfos = [];
+ }
+ }
+ this.matInfos.push(res.data);
+ if (!res.status) {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ // setTimeout(() => {
+ // this.voiceSpeech('../../static/fail.mp3');
+ // }, 100);
+ return;
+ }
+ // setTimeout(() => {
+ // this.voiceSpeech('../../static/success.mp3');
+ // }, 100);
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ // setTimeout(() => {
+ // this.voiceSpeech('../../static/fail.mp3');
+ // }, 100);
+ }
+ })
+ }
+ })
+ },
+ inbound() {
+ if (this.inboundBarcode == "") {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忔墭鐩樻潯鐮�",
+ type: "error"
+ })
+ return;
+ }
+ if (this.address == "") {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忓湴鍧�鏉$爜",
+ type: "error"
+ })
+ return;
+ }
+ var postData = {
+ MainData: {
+ "barcode": this.inboundBarcode,
+ "startPoint": this.address,
+ "warehouseId": this.warehouseId
+ }
+ }
+ this.$u.post('/api/Task/RequestInboundTask', postData).then(res => {
+ if (res.status) {
+ this.inboundBarcode = "";
+ if (this.warehouseId != 5 && this.warehouseId != 3) this.address = "";
+ this.checkStockInfo=null;
+ setTimeout(() => {
+ this.addressFocus = false;
+ this.$refs.uToast.show({
+ title: "鎴愬姛",
+ type: "success"
+ })
+ }, 200);
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ }).catch(err => {
+ this.$refs.uToast.show({
+ title: err.message,
+ type: "error"
+ })
+ })
+ },
+ inputChangebarcode() {
+ this.addressFocus = false;
+ this.$nextTick(function(x) {
+ if (this.inboundBarcode != '') {
+ this.addressFocus = true;
+ }
+ })
+ this.$nextTick(function(x) {
+ if (this.inboundBarcode != '') {
+ this.$u.post('/api/Task/InQualityConfirm?palletCode='+this.inboundBarcode, {}).then(res => {
+ // this.stockInfo = [];
+ this.checkStockInfo=null;
+ if (res.status) {
+ // this.stockInfo = res.data,
+ this.checkStockInfo = res.data;
+ } else {
+ this.inboundBarcode='';
+ this.$refs.uToast.show({
+ // title: "鏈壘鍒版墭鐩樹俊鎭�",
+ title: res.message,
+ type: "error"
+ })
+ }
+ })
+ }
+ })
+ },
+ deleteList(res) {
+ this.matInfos.splice(res, 1);
+ this.sns.splice(res, 1);
+ },
+ submit() {
+ if (this.barcode == "") {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忔墭鐩樻潯鐮�",
+ type: 'error'
+ })
+ return;
+ }
+ if (this.matInfos.length == 0) {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忓唴绠辨爣绛�",
+ type: 'error'
+ })
+ return;
+ }
+ if (this.Test) {
+ if (!this.Testcheck) {
+ this.Testcheck = true;
+ if (this.warehouseId == 2) {
+ this.$refs.uToast.show({
+ title: "璇风‘璁ゆ暟閲�",
+ type: 'error'
+ })
+ } else if (this.warehouseId == 6) {
+ this.$refs.uToast.show({
+ title: "璇风‘璁ゅ垵濮嬪鍛�",
+ type: 'error'
+ })
+ }
+ return;
+ }
+ }
+ if (this.warehouseId == 2) { //娌瑰ⅷ浠撳簱鍖篒D
+ this.sn = this.sns[0];
+ for (var i = 0; i < this.Initiallife - 1; i++) {
+ this.sns.push(this.sn);
+ }
+ }
+ let url = 'palletCode=' + this.barcode + '&initiallife=' + this.Initiallife + '&warehouseId=' + this
+ .warehouseId;
+
+ this.$u.post('/api/InboundOrder/ManualMaterielGroup?' + url, this.sns).then(res => {
+ this.Testcheck = false;
+ if (res.status) {
+ this.$refs.uToast.show({
+ title: "缁勭洏鎴愬姛",
+ type: "success"
+ })
+ this.focus = false;
+ this.barcode = "";
+ this.matInfos = [];
+ this.sns = [];
+ this.matTotal = [];
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss">
+ @import '@/common/uni-ui.scss';
+
+ .content {
+ display: flex;
+ height: 150px;
+ }
+
+ .content-text {
+ font-size: 14px;
+ color: #666;
+ }
+
+ .itemstyle {
+ margin-top: 30px;
+ margin-left: 5%;
+ }
+
+ .headerstyle {
+ width: 90%;
+ }
+</style>
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/boxing.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/boxing.vue"
index ead7682..06517fe 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/boxing.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/boxing.vue"
@@ -8,11 +8,11 @@
<uni-forms label-width="180">
<uni-forms-item label="鎵樼洏鏉$爜:">
<uni-easyinput type="text" placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' :focus="!focus"
- v-model="barcode" @input="barcodeInput" />
+ v-model="barcode" @confirm="barcodeInput" />
</uni-forms-item>
<uni-forms-item label="鍐呯鏍囩:">
<uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput' :focus="focus"
- v-model="materSn" @input="snInput" />
+ v-model="materSn" @confirm="snInput" />
</uni-forms-item>
<uni-forms-item :label="Testlabel" v-if="Test">
<uni-easyinput type="text" :placeholder="Testplaceholder" ref='midInput'
@@ -61,7 +61,7 @@
<uni-forms label-width="120">
<uni-forms-item label="鎵樼洏鏉$爜">
<uni-easyinput type="text" :focus="!addressFocus" v-model="inboundBarcode"
- placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' @input="inputChangebarcode" />
+ placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' @confirm="inputChangebarcode" />
</uni-forms-item>
<uni-forms-item label="鍦板潃鏉$爜">
<uni-easyinput type="text" v-model="address" :disabled="addressdisabled"
@@ -105,7 +105,7 @@
<uni-forms label-width="180">
<uni-forms-item label="鍐呯鏍囩:">
<uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput' :focus="pkfocus"
- v-model="pkmaterSn" @input="pksnInput" />
+ v-model="pkmaterSn" @confirm="pksnInput" />
</uni-forms-item>
<uni-forms-item>
<button @click="pksubmit" type="primary" size="default" style="margin-top: 2%;">鍏ュ钩搴�</button>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/raworderboxing.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/raworderboxing.vue"
index 18d1f65..ad79014 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/raworderboxing.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/raworderboxing.vue"
@@ -10,11 +10,11 @@
</uni-forms-item>
<uni-forms-item label="鎵樼洏鏉$爜:">
<uni-easyinput type="text" placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' :focus="!focus"
- v-model="barcode" @input="barcodeInput" />
+ v-model="barcode" @confirm="barcodeInput" />
</uni-forms-item>
<uni-forms-item label="鍐呯鏍囩:">
<uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput' :focus="focus"
- v-model="materSn" @input="snInput" />
+ v-model="materSn" @confirm="snInput" />
</uni-forms-item>
<uni-forms-item :label="Testlabel" v-if="Test">
@@ -69,7 +69,7 @@
<uni-forms label-width="120">
<uni-forms-item label="鎵樼洏鏉$爜">
<uni-easyinput type="text" :focus="!addressFocus" v-model="inboundBarcode"
- placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' @input="inputChangebarcode" />
+ placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' @confirm="inputChangebarcode" />
</uni-forms-item>
<uni-forms-item label="鍦板潃鏉$爜">
<uni-easyinput type="text" v-model="address" :disabled="addressdisabled"
@@ -107,7 +107,7 @@
<uni-forms label-width="180">
<uni-forms-item label="鍐呯鏍囩:">
<uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput' :focus="!pkfocus"
- v-model="pkmaterSn" @input="pksnInput" />
+ v-model="pkmaterSn" @confirm="pksnInput" />
</uni-forms-item>
<uni-forms-item>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/receiveorderoutbound.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/receiveorderoutbound.vue"
index a74b0fd..2603ece 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/receiveorderoutbound.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/receiveorderoutbound.vue"
@@ -9,7 +9,7 @@
<!-- <uni-forms-item label="鍗曟嵁绫诲瀷锛氱敓浜ч鏂欏崟" style="margin-top: -20px;"></uni-forms-item> -->
<uni-forms-item label="鍐呯鐮侊細" style="margin-top: -20px;">
<uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辩爜" ref='midInput' :focus="!focus"
- v-model="innerCode" @input="innercodeInput" />
+ v-model="innerCode" @confirm="innercodeInput" />
</uni-forms-item>
<uni-forms-item :label="PurchaseOrderNo" style="margin-top: -20px;"></uni-forms-item>
<uni-forms-item :label="matCode" style="margin-top: -20px;"></uni-forms-item>
--
Gitblit v1.9.3