1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- using DbCommon.BusinessCore.BaseCore;
- using ProjectManagementSystem.Common.Core;
- using ProjectManagementSystem.Common.Extenions;
- using ProjectManagementSystem.Common.Logger;
- using ProjectManagementSystem.Common.Models.Crms;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ProjectManagementSystem.Common.TaskBookEvent
- {
- public class TaskBookBehavior_63005 : BaseTaskBookBehaviorV2
- {
- LocationPropertyManager locationManager = new LocationPropertyManager();
- public TaskBookBehavior_63005() : base(63005, "库位AGV扫定制码")
- {
- }
- public override bool TaskBookOperator(TaskData taskDetailInfo, StepData stepInfo)
- {
- try
- {
- int id = taskDetailInfo.Carrier;
- if (!DeviceControl.Instance.Communication.InfoVcuDictionary.TryGetValue(id, out var data))
- {
- Log(taskDetailInfo, stepInfo, "获取VCU扫码数据失败");
- return false;
- }
- if (!data.DataValid)
- {
- Log(taskDetailInfo, stepInfo, "获取VCU扫码数据超时");
- return false;
- }
- if (string.IsNullOrEmpty(data.ScanMessage))
- {
- Log(taskDetailInfo, stepInfo, "获取VCU扫码数据为空");
- return false;
- }
- int dotCount = data.ScanMessage.Count(d => d == ',');
- if (dotCount != 4)
- {
- Log(taskDetailInfo, stepInfo, $"扫码数据格式检查失败 {data.ScanMessage}");
- return false;
- }
- string[] barcodeArr = data.ScanMessage.Split(',');
- var locationData = locationManager.GetById(stepInfo.WareHouseID);
- if (locationData == null)
- {
- Log(taskDetailInfo, stepInfo, $"查询库位数据失败 {stepInfo.WareHouseID}");
- return false;
- }
- locationData.MaterialBarcode = barcodeArr[0];
- locationData.MaterialId = barcodeArr[1];
- locationData.BatchNumber = barcodeArr[2];
- locationData.MaterialNumber = barcodeArr[3];
- bool result = locationManager.Update(locationData);
- Log(taskDetailInfo, stepInfo, $"更新库位AGV扫码{result.ToChineseString()} {data.ScanMessage}");
- return result;
- }
- catch (Exception ex)
- {
- LogException(ex);
- }
- return false;
- }
- }
- }
|