From e4690fca932b352927af3d186ed2a4767f017e79 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期日, 17 八月 2025 15:02:37 +0800
Subject: [PATCH] 修改问题
---
Admin.NET/WCS.Application/Service/WcsCheckTask/WcsCheckTaskService.cs | 48 ++++++++++++++++++++++++++++++++++++------------
1 files changed, 36 insertions(+), 12 deletions(-)
diff --git a/Admin.NET/WCS.Application/Service/WcsCheckTask/WcsCheckTaskService.cs b/Admin.NET/WCS.Application/Service/WcsCheckTask/WcsCheckTaskService.cs
index 2033a79..a688445 100644
--- a/Admin.NET/WCS.Application/Service/WcsCheckTask/WcsCheckTaskService.cs
+++ b/Admin.NET/WCS.Application/Service/WcsCheckTask/WcsCheckTaskService.cs
@@ -8,6 +8,7 @@
using AngleSharp.Dom;
using DocumentFormat.OpenXml.Vml.Office;
using Elastic.Clients.Elasticsearch.Tasks;
+using IoTClient;
using Microsoft.AspNetCore.Http;
using WCS.Application.Entity;
namespace WCS.Application;
@@ -162,22 +163,25 @@
{
throw Oops.Oh("璁惧宸ヤ綅淇℃伅涓嶅瓨鍦�");
}
+ //浠诲姟淇℃伅
var taskInfo = await _wcsOderTaskRep.GetByIdAsync(input.oderTaskId);
if (taskInfo == null)
{
throw Oops.Oh("浠诲姟淇℃伅涓嶅瓨鍦�");
}
- if (taskInfo.Status > TaskStatusEnum.Doing)
+ if (taskInfo.Status != TaskStatusEnum.Wait)
{
throw Oops.Oh("浠诲姟鐘舵�佸紓甯�");
}
+ taskInfo.Status = TaskStatusEnum.Doing;//姝e湪鎵ц
+
//鐗╂枡鍝佺淇℃伅
var skuInfo = await _wcsMateialPzInfoRep.Context.Queryable<WcsMateialPzInfo>().Where(w => w.SkuNo == taskInfo.SkuNo).FirstAsync();
if (skuInfo == null)
{
throw Oops.Oh("鐗╂枡鍝佺淇℃伅涓嶅瓨鍦�");
}
- //鍒嗘嫞浠诲姟淇℃伅
+ //鐮佸灈缁戝畾淇℃伅
var checkTaskInfo = await _wcsCheckTaskRep.Context.Queryable<WcsCheckTask>().Where(w => w.Port == deviceInfo.StationNum).FirstAsync();
if (checkTaskInfo == null)
{
@@ -194,9 +198,9 @@
checkTaskInfo.BoxType = taskInfo.BoxType;
checkTaskInfo.Qty = taskInfo.Qty;
checkTaskInfo.Status = "1";//宸茬粦瀹�
- checkTaskInfo.PZNo = skuInfo.PZNo;
+ checkTaskInfo.PZNo = skuInfo.PZNo;
- #region#缁橮LC鍐欏叆鎶撶鍝佺鍙�
+ #region#缁橮LC鍐欏叆鎶撶鍝佺鍙枫�佹壒娆″彿銆侀�氶亾鐘舵��
var modPlc = await _wcsDeviceRep.Context.Queryable<WcsPlc>().FirstAsync(s => s.Id == deviceInfo.PlcId);
if (modPlc == null)
{
@@ -205,11 +209,17 @@
PLCUtil modUtil = new PLCUtil(modPlc);
if (modUtil.Connected)
{
- var ret = modUtil.SetPlcDBValue(checkTaskInfo.PosType, checkTaskInfo.DbNumber, checkTaskInfo.PlcPos, checkTaskInfo.PZNo);
- if (ret.IsSucceed)
+ var listResult = new List<Result>();
+ listResult.Add(modUtil.SetPlcDBValueRepeat(checkTaskInfo.PosType, checkTaskInfo.DbNumber, checkTaskInfo.PlcPos, checkTaskInfo.PZNo));//鍝佺鍙�
+ listResult.Add(modUtil.SetPlcDBValueRepeat(checkTaskInfo.PosTypeLot, checkTaskInfo.DbNumber, checkTaskInfo.PosLot, checkTaskInfo.LotNo));//鎵规鍙�
+ listResult.Add(modUtil.SetPlcDBValueRepeat(checkTaskInfo.PosTypeStatus, checkTaskInfo.DbNumber, checkTaskInfo.PosStatus, "1"));//缁戝畾鐘舵�� 0锛氭湭缁戝畾 1锛氬凡缁戝畾
+ if (listResult.All(s => s.IsSucceed))
{
- //鍐欏叆娴佺▼瀛楁垚鍔熷悗鏇存柊鍒嗘嫞浠诲姟
+ //鍐欏叆娴佺▼瀛楁垚鍔熷悗鏇存柊鐮佸灈缁戝畾淇℃伅
await _wcsCheckTaskRep.AsUpdateable(checkTaskInfo).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+
+ //鍐欏叆娴佺▼瀛楁垚鍔熷悗鏇存柊浠诲姟鐘舵��
+ await _wcsOderTaskRep.AsUpdateable(taskInfo).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
}
else
{
@@ -233,16 +243,24 @@
[DisplayName("浠诲姟缁撴壒")]
public async Task CloseTaskForPLC(CloseTaskPLCInput input)
{
- //鍒嗘嫞浠诲姟淇℃伅
+ //缁戝畾淇℃伅
var checkTaskList = _wcsCheckTaskRep.Context.Queryable<WcsCheckTask>().Where(w => w.LotNo == input.lotNo && w.Status == "1").ToList();
if (checkTaskList.Count <= 0)
{
throw Oops.Bah("鎵句笉鍒拌鎵规鍒嗘嫞浠诲姟淇℃伅");
}
+ //浠诲姟淇℃伅
+ var taskInfo = _wcsOderTaskRep.Context.Queryable<WcsOderTask>().First(w => w.OrderNo == checkTaskList[0].OrderNo);
+ if (taskInfo != null)
+ {
+ taskInfo.Status = TaskStatusEnum.Complete;//宸茬粨鏉�
+ //鏇存柊浠诲姟鐘舵��
+ await _wcsOderTaskRep.AsUpdateable(taskInfo).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+ }
foreach (var item in checkTaskList)
{
#region#缁橮LC鍐欏叆缁撴壒鎵规鍙�
- var deviceInfo = await _wcsDeviceRep.Context.Queryable<WcsDevice>().FirstAsync(w => w.StationNum == item.Port);
+ var deviceInfo = await _wcsDeviceRep.Context.Queryable<WcsDevice>().FirstAsync(w => w.StationNum == item.Port && w.DeviceType== DeviceTypeEnum.Show);
if (deviceInfo == null)
{
throw Oops.Bah($"鎵句笉鍒板伐浣嶅彿锛歿item.Port} 鐨勭爜鍨涘伐浣嶄俊鎭�");
@@ -250,13 +268,17 @@
var modPlc = await _wcsDeviceRep.Context.Queryable<WcsPlc>().FirstAsync(s => s.Id == deviceInfo.PlcId);
if (modPlc == null)
{
- throw Oops.Bah($"鎵句笉鍒板伐浣嶅彿锛歿item.Port} 鐨勮澶囦俊鎭�");
+ throw Oops.Bah($"鎵句笉鍒癙LC淇℃伅");
}
PLCUtil modUtil = new PLCUtil(modPlc);
if (modUtil.Connected)
{
- var ret = modUtil.SetPlcDBValue(item.PosTypeLot, item.DbNumber, item.PosLot, "1");
- if (ret.IsSucceed)
+ var listResult = new List<Result>();
+ listResult.Add(modUtil.SetPlcDBValueRepeat(item.PosType, item.DbNumber, item.PlcPos, "0"));//鍝佺鍙�
+ listResult.Add(modUtil.SetPlcDBValueRepeat(item.PosTypeLot, item.DbNumber, item.PosLot, ""));//鎵规鍙�
+ listResult.Add(modUtil.SetPlcDBValueRepeat(item.PosTypeStatus, item.DbNumber, item.PosStatus, "0"));//缁戝畾鐘舵�� 0锛氭湭缁戝畾 1锛氬凡缁戝畾
+
+ if (listResult.All(s => s.IsSucceed))
{
//鍐欏叆娴佺▼瀛楁垚鍔熷悗鏇存柊鍒嗘嫞浠诲姟
item.OrderNo = "";
@@ -266,7 +288,9 @@
item.SkuName = "";
item.BoxType = "";
item.Qty = 0;
+ item.BoxCount = 0;
item.PZNo = "";
+ //item.PalletNo = "";
item.Status = "0";//鏈粦瀹�
//鏇存柊鍒嗘嫞浠诲姟
--
Gitblit v1.8.0