From adf622258d11cff158aa62a0db40346a792b8d8a Mon Sep 17 00:00:00 2001
From: zongzhibin <zongzhibin@weben-smart.com>
Date: 周日, 01 12月 2024 13:57:05 +0800
Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/LA24030-LuLI_PackageLine
---
CC/iWareCC_ASRS/ThreadService/04_BZ21(搬运整垛机器人)/DataProcess_BZ21.cs | 229 +++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 191 insertions(+), 38 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 3b873f0..5627637 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,12 +1,15 @@
锘縰sing Admin.NET.Application;
+using iWareCC.Common.Helper;
using iWareCC.StationService;
using iWareCommon.Common.Globle;
using iWareCommon.Utils;
using iWareModel;
using iWareSql.DataAccess;
using iWareSql.WmsDBModel;
+using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
+using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading;
@@ -28,12 +31,32 @@
{
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;
@@ -42,48 +65,102 @@
SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()}-璇锋眰浜嗚В鐮侊紝浣嗘槸缁撴灉鏄┖鐨�,姝ゆ寰幆缁撴潫";
continue;
}
- var upiCode = result.Replace("/r", ""); ;
- short cartonwidth = 0;//鏄惁鏈澘
- short cartonhigh = 0;//鏄惁鏃嬭浆
- short placeX = 0;
- short placeY = 0;
- short placeZ = 0;
- string place = "";
+ short cartonwidth = 0;//绾哥瀹�
+ short cartonhigh = 0;//绾哥楂�
+ string place = "22";
using (WmsDBModel wmsDB = new WmsDBModel())
{
//瑕佹槸鏈夊凡涓嬪彂鐨勪换鍔★紝灏变笉瑕佹墽琛�
- var isValidate = TaskHandler.ValidateIssueTaskForBZ21(wmsDB,result);
+ 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();
+ var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == result).FirstOrDefault();
if (upiObj == null)
{
- SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()},鏍规嵁UPI:{upiCode}娌℃湁鎵惧埌瀵硅薄 ";
+ SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()},鏍规嵁UPI:{result}娌℃湁鎵惧埌瀵硅薄 ";
continue;
}
- placeX = (short)upiObj.MachineXCenter;
- placeY = (short)upiObj.MachineYCenter;
- placeZ = (short)upiObj.MachineZCenter;
- cartonhigh = (short)upiObj.Info1;
+ //string upi = "LS070700101B0001GS";
+ ////璋冪敤鍑虹焊鏈烘帴鍙�
+ //var res =new HTTPService("http://172.17.1.22:44374/api/LuLi/").getContent<Respone>("cartons-machine?PackageCode="+upi, Guid.NewGuid(),10000);
+ //if (res.iState == 0)
+ //{
+ // var papertable = wmsDB.mes_push_papercut.Where(x => x.PackageCode == upiObj.PackageCode).OrderByDescending(x => x.Id).FirstOrDefault();
+ // if (papertable != null)
+ // {
+ // papertable.PushStatus = (int)PushStatusEnum.PushSuccess;
+ // papertable.ApiMessage = res.message;
+ // papertable.PushNum++;
+ // }
+ // else
+ // {
+ // var papercut = ClassHelper.RotationMapping<mes_push_papercut, mes_batchOrderUPI_new>(upiObj);
+ // papercut.Id = Yitter.IdGenerator.YitIdHelper.NextId();
+ // papercut.ApiMessage = res.message;
+ // papercut.PushNum = 0;
+ // papercut.PushStatus = (int)PushStatusEnum.PushSuccess;
+ // wmsDB.mes_push_papercut.Add(papercut);
+ // }
+ //}
+ //else
+ //{
+ // var papertable = wmsDB.mes_push_papercut.Where(x => x.PackageCode == upiObj.PackageCode).OrderByDescending(x => x.Id).FirstOrDefault();
+ // if (papertable != null)
+ // {
+ // papertable.PushStatus = (int)PushStatusEnum.PushFail;
+ // papertable.ApiMessage = res.message;
+ // papertable.PushNum++;
+ // }
+ // else
+ // {
+ // var papercut = ClassHelper.RotationMapping<mes_push_papercut, mes_batchOrderUPI_new>(upiObj);
+ // papercut.Id = Yitter.IdGenerator.YitIdHelper.NextId();
+ // papercut.ApiMessage = res.message;
+ // papercut.PushNum = 0;
+ // papercut.PushStatus = (int)PushStatusEnum.PushFail;
+ // wmsDB.mes_push_papercut.Add(papercut);
+ // }
+ // 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.宸插悎鍖�;
+ }
+ var upilist=wmsDB.mes_batchOrderUPI_new.Where(x=>x.PackageCode==upiObj.PackageCode).ToList();
+ var upilength = upilist.Max(x => x.Length);
+ var upiwidth= upilist.Max(x => x.Width);
+ 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 putpakegecode = new mes_PushPackageCode()
+ //鏂板琛�
+ var mesinequeue = ClassHelper.RotationMapping<mes_package_linequeue, mes_batchOrderUPI_new>(upiObj);
+ mesinequeue.Id = Yitter.IdGenerator.YitIdHelper.NextId();
+ //鏂板mes鎺ㄩ�佽〃
+ var putpakegecode = new mes_push_packagecode()
{
- Id = _id,
- PackageCode=upiObj.PackageCode,
- PushStatus=0,
- PushNum=0,
+ Id = putpakegecodeid,
+ PackageCode = upiObj.PackageCode,
+ PushStatus = 0,
+ PushNum = 0,
+ ApiMessage = "寰呮帹閫�",
CreateTime = DateTime.Now,
CreateUserName = "CC",
UpdateTime = DateTime.Now,
UpdateUserName = "CC",
+ CreateOrgName = "11"
};
+ //鏂板浠诲姟琛�
var task = new wms_rbline_task()
{
Id = _id,
@@ -97,27 +174,61 @@
OrderId = upiObj.OrderId,
PackageCode = upiObj.PackageCode,
RbTaskType = (int)RbTaskTypeEnum.澶规澘浠诲姟,
- RbTaskTypeEnumName = RbTaskTypeEnum.鐮佹澘浠诲姟.ToString(),
+ RbTaskTypeEnumName = RbTaskTypeEnum.澶规澘浠诲姟.ToString(),
TaskStatus = (int)TaskStatusEnum.宸蹭笅鍙�,
TaskStatusName = TaskStatusEnum.宸蹭笅鍙�.ToString(),
- TaskMsg = "鐮佹澘",
+ TaskMsg = "澶规澘",
CreateTime = DateTime.Now,
CreateUserName = "CC",
UpdateTime = DateTime.Now,
UpdateUserName = "CC",
PlaceCode = place
};
+ //鏂板鎵撳嵃琛�
+ var printid= Yitter.IdGenerator.YitIdHelper.NextId();
+ var print = ClassHelper.RotationMapping<wms_record_print, mes_batchOrderUPI_new>(upiObj);
+ print.Id = printid;
+ print.PrintType = (int)PrintTypeEnum.鍖呰鏉$爜;
+ print.PrintSource = (int)PrintSourceEnum.鍖呰鏉$爜鎵撳嵃;
+ print.PrintSheetNum = 1;
+ print.PrintNum= 0;
+ print.PrintStatus = (int)PrintStatuEnum.鏈墦鍗�;
+ print.IsAllowPrint= true;
+ print.CreateTime = print.UpdateTime = DateTime.Now;
+ wmsDB.wms_record_print.Add(print);
+ var printtwo = ClassHelper.RotationMapping<wms_record_print, mes_batchOrderUPI_new>(upiObj);
+ printtwo.PrintType = (int)PrintTypeEnum.鍖呰鏉$爜;
+ printtwo.PrintSource = (int)PrintSourceEnum.鍖呰鏉$爜鎵撳嵃;
+ printtwo.PrintSheetNum = 1;
+ printtwo.PrintNum = 0;
+ printtwo.PrintStatus = (int)PrintStatuEnum.鏈墦鍗�;
+ printtwo.IsAllowPrint = true;
+ printtwo.CreateTime = print.UpdateTime = DateTime.Now;
+ printtwo.Id= Yitter.IdGenerator.YitIdHelper.NextId();
+ wmsDB.wms_record_print.Add(printtwo);
- wmsDB.wms_rbline_task.Add(task);
- wmsDB.mes_PushPackageCode.Add(putpakegecode);
+ wmsDB.mes_package_linequeue.Add(mesinequeue);
+ wmsDB.wms_rbline_task.Add(task);
+ wmsDB.mes_push_packagecode.Add(putpakegecode);
+
+ //澶勭悊琛� mes_order_gather
+ var errmsg = "";
+ var package = wmsDB.mes_package_gather.Where(x => x.PackageCode == upiObj.PackageCode).FirstOrDefault();
+ var resultAlert = MyExtendHelper.HandlerOrderGather(wmsDB, package, "", "", out errmsg);
+ if (resultAlert == false)
+ {
+ SystemWarningMsg._lbl_alert_DataProcess_BZ21 = errmsg;
+ continue;
+ }
+
using (StationServiceClient client = new StationServiceClient())
{
- var res = client.WriteSurroundTaskInfo((int)EDevice.Station, rgvLocation, Convert.ToInt32(task.TaskNo),
- (short)upiObj.Info1, (short)upiObj.Info2,cartonhigh,cartonwidth,placeX,placeY);
- if (!res.result)
+ var plcres = client.WriteSurroundTaskInfo((int)EDevice.Station, rgvLocation, short.Parse(task.TaskNo),
+ (short)upilength, (short)upiwidth, cartonhigh, cartonwidth, 0, 0);
+ if (!plcres.result)
{
- SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-涓嬪彂鍏ュ簱浠诲姟 澶辫触,WriteInStoreTaskInfoAsync 杩斿洖:{res.resMsg}";
+ SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-涓嬪彂鍏ュ簱浠诲姟 澶辫触,WriteInStoreTaskInfoAsync 杩斿洖:{plcres.resMsg}";
continue;
}
else
@@ -133,11 +244,14 @@
}
catch (Exception ex)
{
- SystemWarningMsg._lbl_alert_DataProcess_BZ39 += " 鍑虹幇寮傚父:" + ex.Message + SysGloble.SPLIT_STR;
+ SystemWarningMsg._lbl_alert_DataProcess_BZ21 += " 鍑虹幇寮傚父:" + ex.Message + SysGloble.SPLIT_STR;
Log4NetHelper.WriteErrorLog(logType, " 鍑虹幇寮傚父锛�" + ex.Message, ex);
}
}
}
+ /// <summary>
+ /// 鍚憁es鎺ㄩ�佸寘瑁呭畬鎴�
+ /// </summary>
public static void PushPackageCode()
{
while (true)
@@ -145,13 +259,28 @@
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();
input.PackageCode = value.PackageCode;
var res = HttpHelper.GetHttpResponse<PushPackageCodeInput, Respone>(" ", input, 10000);
-
+ if (res.iState == 0)
+ {
+ value.PushStatus = (int)PushStatusEnum.PushSuccess;
+ value.ApiMessage = res.message;
+ }
+ else
+ {
+ value.PushStatus = (int)PushStatusEnum.Pushing;
+ value.PushNum++;
+ value.ApiMessage+= res.message;
+ if (value.PushNum == 3)
+ {
+ value.PushStatus = (int)PushStatusEnum.PushFail;
+ }
+ }
+ edm.SaveChanges();
}
}
}
@@ -165,7 +294,7 @@
/// <summary>
/// 杩斿洖鐮�
/// </summary>
- public string code { get; set; }
+ public int iState { get; set; }
/// <summary>
/// 杩斿洖娑堟伅
@@ -173,14 +302,38 @@
public string message { get; set; }
/// <summary>
- /// 璇锋眰缂栧彿
- /// </summary>
- public string reqCode { get; set; }
-
- /// <summary>
- /// 鑷畾涔夎繑鍥烇紙杩斿洖浠诲姟鍗曞彿锛�
+ /// 鑷畾涔夎繑鍥�
/// </summary>
public string data { get; set; }
}
+ /// <summary>
+ /// 鎺ㄩ�佺姸鎬�
+ /// </summary>
+ public enum PushStatusEnum
+ {
+ /// <summary>
+ /// 鏈帹閫�
+ /// </summary>
+ [Description("鏈帹閫�")]
+ NotPush = 0,
+
+ /// <summary>
+ /// 鎺ㄩ�佷腑
+ /// </summary>
+ [Description("鎺ㄩ�佷腑")]
+ Pushing = 1,
+
+ /// <summary>
+ /// 鎺ㄩ�佹垚鍔�
+ /// </summary>
+ [Description("鎺ㄩ�佹垚鍔�")]
+ PushSuccess = 2,
+
+ /// <summary>
+ /// 鎺ㄩ�佸け璐�
+ /// </summary>
+ [Description("鎺ㄩ�佸け璐�")]
+ PushFail = 3,
+ }
}
}
--
Gitblit v1.9.3