From d6bbd8952a4b962e3206e7f62ede763033ec2e1e Mon Sep 17 00:00:00 2001
From: liuying <1427574514@qq.com>
Date: 周五, 29 11月 2024 15:11:16 +0800
Subject: [PATCH] 扫码
---
CC/iWareCC_ASRS/ThreadService/04_BZ21(搬运整垛机器人)/DataProcess_BZ21.cs | 156 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 154 insertions(+), 2 deletions(-)
diff --git "a/CC/iWareCC_ASRS/ThreadService/04_BZ21\357\274\210\346\220\254\350\277\220\346\225\264\345\236\233\346\234\272\345\231\250\344\272\272\357\274\211/DataProcess_BZ21.cs" "b/CC/iWareCC_ASRS/ThreadService/04_BZ21\357\274\210\346\220\254\350\277\220\346\225\264\345\236\233\346\234\272\345\231\250\344\272\272\357\274\211/DataProcess_BZ21.cs"
index 9c62d16..4d19cd1 100644
--- "a/CC/iWareCC_ASRS/ThreadService/04_BZ21\357\274\210\346\220\254\350\277\220\346\225\264\345\236\233\346\234\272\345\231\250\344\272\272\357\274\211/DataProcess_BZ21.cs"
+++ "b/CC/iWareCC_ASRS/ThreadService/04_BZ21\357\274\210\346\220\254\350\277\220\346\225\264\345\236\233\346\234\272\345\231\250\344\272\272\357\274\211/DataProcess_BZ21.cs"
@@ -1,4 +1,9 @@
-锘縰sing iWareCommon.Utils;
+锘縰sing Admin.NET.Application;
+using iWareCC.StationService;
+using iWareCommon.Common.Globle;
+using iWareCommon.Utils;
+using iWareModel;
+using iWareSql.DataAccess;
using iWareSql.WmsDBModel;
using System;
using System.Collections.Generic;
@@ -11,7 +16,154 @@
{
public class DataProcess_BZ21
{
+ public static void Hander()
+ {
+ var alertMsg = "";
+ LogType logType = LogType.DataProcess_BZ21;
+ while (true)
+ {
+ Thread.Sleep(2000);//浼戠湢2绉掞紝灏嗕紤鐪犲啓鍒板墠闈紝鏄负浜嗕笅闈㈢殑continue鏂规硶鎵ц鍚庝笉鏄剧ず閿欒淇℃伅鐨勬彁绀猴紒锛侊紒銆怑ditBy shaocx,2022-05-24銆�
+ SystemWarningMsg._lbl_alert_DataProcess_BZ21 = string.Empty;
+ try
+ {
+ if (SystemValue.isStartedModel)
+ {
+ var rgvLocation = StationLocationEnum.BZ21.ToString();
+ /*
+ * 1銆佷粠鏁版嵁搴撲腑鍒ゆ柇鏄惁榻愬
+ * 2銆佹牴鎹綈濂楃粨鏋滐紝鎺ㄩ�佺粰PLC
+ */
+ var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault();
+ if (obj.R_PalletizingAck)
+ {
+ //缁橮LC鎺ㄩ�佷换鍔″畬鎺ユ敹瀹屾垚澶嶄綅淇″彿
+ using (StationServiceClient client = new StationServiceClient())
+ {
+ var res = client.WriteStation_ACK((int)EDevice.Station, false, rgvLocation);
+ if (!res.result)
+ {
+ SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = $"{rgvLocation.ToString()}-涓嬪彂鐮佹澘浠诲姟 澶辫触,SetPalletizingTaskFinishAck 杩斿洖:{res.resMsg}";
+ continue;
+ }
+ else
+ {
+ Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-涓嬪彂鍏ュ簱浠诲姟 鎴愬姛,SetPalletizingTaskFinishAck锛屽弬鏁�: 绔欑偣{rgvLocation}");
+ }
+ }
+
+ }
+ if (obj.R_ReqParseData)
+ {
+ var result = obj.R_ReadCodeResult;
+ if (string.IsNullOrEmpty(result))
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()}-璇锋眰浜嗚В鐮侊紝浣嗘槸缁撴灉鏄┖鐨�,姝ゆ寰幆缁撴潫";
+ continue;
+ }
+ var upiCode = result.Replace("/r", ""); ;
+ short cartonwidth = 0;//绾哥瀹�
+ short cartonhigh = 0;//绾哥楂�
+ string place = "22";
+ using (WmsDBModel wmsDB = new WmsDBModel())
+ {
+ //瑕佹槸鏈夊凡涓嬪彂鐨勪换鍔★紝灏变笉瑕佹墽琛�
+ var isValidate = TaskHandler.ValidateIssueTaskForBZ21(wmsDB, result);
+ if (!isValidate)
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()}-鏈夆�樺凡涓嬪彂鈥欑殑浠诲姟锛屼笉鑳藉鐞�,姝ゆ寰幆缁撴潫";
+ continue;
+ }
+ var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == upiCode).FirstOrDefault();
+ if (upiObj == null)
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()},鏍规嵁UPI:{upiCode}娌℃湁鎵惧埌瀵硅薄 ";
+ continue;
+ }
+ var mesgather = wmsDB.mes_package_gather.Where(x => x.PackageCode == upiObj.PackageCode).FirstOrDefault();
+ if (mesgather != null)
+ {
+ mesgather.AreaCode = (int)AreaCodeEnum.鍚堝寘瑁佸垏鍖�;
+ mesgather.UpiStatus = (int)UpiStatusEnum.宸插悎鍖�;
+ }
+
+ cartonhigh = (short)upiObj.Info3;
+ cartonwidth = (short)upiObj.Info2;
+ upiObj.UpiStatus = (int)UpiStatusEnum.宸插悎鍖�;
+ upiObj.AreaCode = (int)AreaCodeEnum.鍚堝寘瑁佸垏鍖�;
+ //璁板綍浠诲姟
+ var _id = Yitter.IdGenerator.YitIdHelper.NextId();
+ var putpakegecodeid = Yitter.IdGenerator.YitIdHelper.NextId();
+ var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask();
+ var mesinequeue = ClassHelper.RotationMapping<mes_package_linequeue, mes_batchOrderUPI_new>(upiObj);
+ mesinequeue.Id = Yitter.IdGenerator.YitIdHelper.NextId();
+ var putpakegecode = new mes_push_packagecode()
+ {
+ Id = putpakegecodeid,
+ PackageCode = upiObj.PackageCode,
+ PushStatus = 0,
+ PushNum = 0,
+ ApiMessage = "11",
+ CreateTime = DateTime.Now,
+ CreateUserName = "CC",
+ UpdateTime = DateTime.Now,
+ UpdateUserName = "CC",
+ CreateOrgName = "11"
+ };
+ var task = new wms_rbline_task()
+ {
+ Id = _id,
+ TaskNo = plcTaskNo,
+ UPI = upiObj.UPI,
+ Length = upiObj.Length,
+ Width = upiObj.Width,
+ Thk = upiObj.Thk,
+ IssueTime = DateTime.Now,
+ PlanNo = upiObj.PlanNo,
+ OrderId = upiObj.OrderId,
+ PackageCode = upiObj.PackageCode,
+ RbTaskType = (int)RbTaskTypeEnum.澶规澘浠诲姟,
+ RbTaskTypeEnumName = RbTaskTypeEnum.澶规澘浠诲姟.ToString(),
+ TaskStatus = (int)TaskStatusEnum.宸蹭笅鍙�,
+ TaskStatusName = TaskStatusEnum.宸蹭笅鍙�.ToString(),
+ TaskMsg = "澶规澘",
+ CreateTime = DateTime.Now,
+ CreateUserName = "CC",
+ UpdateTime = DateTime.Now,
+ UpdateUserName = "CC",
+ PlaceCode = place
+ };
+ wmsDB.mes_package_linequeue.Add(mesinequeue);
+ wmsDB.wms_rbline_task.Add(task);
+ wmsDB.mes_push_packagecode.Add(putpakegecode);
+ using (StationServiceClient client = new StationServiceClient())
+ {
+
+ var res = client.WriteSurroundTaskInfo((int)EDevice.Station, rgvLocation, short.Parse(task.TaskNo),
+ (short)upiObj.Length, (short)upiObj.Width, cartonhigh, cartonwidth, 0, 0);
+ if (!res.result)
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-涓嬪彂鍏ュ簱浠诲姟 澶辫触,WriteInStoreTaskInfoAsync 杩斿洖:{res.resMsg}";
+ continue;
+ }
+ else
+ {
+ Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-涓嬪彂鍏ュ簱浠诲姟 鎴愬姛,WriteInStoreTaskInfoAsync锛屽弬鏁�: 绔欑偣{rgvLocation}");
+ }
+ }
+
+ wmsDB.SaveChanges();
+ }
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ39 += " 鍑虹幇寮傚父:" + ex.Message + SysGloble.SPLIT_STR;
+ Log4NetHelper.WriteErrorLog(logType, " 鍑虹幇寮傚父锛�" + ex.Message, ex);
+ }
+ }
+ }
public static void PushPackageCode()
{
while (true)
@@ -19,7 +171,7 @@
Thread.Sleep(2000);
using (WmsDBModel edm = new WmsDBModel())
{
- var value = edm.mes_PushPackageCode.Where(x => x.PushStatus == 0 || x.PushStatus == 1).FirstOrDefault();
+ var value = edm.mes_push_packagecode.Where(x => x.PushStatus == 0 || x.PushStatus == 1).FirstOrDefault();
if (value != null)
{
PushPackageCodeInput input = new PushPackageCodeInput();
--
Gitblit v1.9.3