222
schangxiang@126.com
2024-12-03 60a4de55deb1aeeb5621028a8f8c732c38027f81
CC/iWareCC_ASRS/ThreadService/04_BZ21£¨°áÔËÕû¶â»úÆ÷ÈË£©/1¡¢DataProcess_BZ21.cs
ÎļþÃû´Ó CC/iWareCC_ASRS/ThreadService/04_BZ21£¨°áÔËÕû¶â»úÆ÷ÈË£©/DataProcess_BZ21.cs ÐÞ¸Ä
@@ -4,6 +4,8 @@
using iWareCommon.Common.Globle;
using iWareCommon.Utils;
using iWareModel;
using iWareModel.Entity.MES;
using iWareModel.EnumType.WMS;
using iWareSql.DataAccess;
using iWareSql.WmsDBModel;
using Newtonsoft.Json.Linq;
@@ -65,8 +67,8 @@
                                SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()}-请求了解码,但是结果是空的,此次循环结束";
                                continue;
                            }
                            short cartonwidth = 0;//纸箱宽
                            short cartonhigh = 0;//纸箱高
                            //short cartonwidth = 0;//纸箱宽
                            //short cartonhigh = 0;//纸箱高
                            string place = "22";
                            using (WmsDBModel wmsDB = new WmsDBModel())
                            {
@@ -85,62 +87,14 @@
                                }
                                //string upi = "LS070700101B0001GS";
                                //调用出纸机接口
                                var res = new HTTPService("http://172.17.1.22:44374/api/LuLi/").getContent<Respone>("cartons-machine?PackageCode=" + upiObj.PackageCode, 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 = 1;
                                        papercut.PushStatus = (int)PushStatusEnum.PushSuccess;
                                        wmsDB.mes_push_papercut.Add(papercut);
                                    }
                                    //*/
                                    var papercut = ClassHelper.RotationMapping<mes_push_papercut, mes_batchOrderUPI_new>(upiObj);
                                    papercut.Id = Yitter.IdGenerator.YitIdHelper.NextId();
                                    papercut.ApiMessage = res.message;
                                    papercut.PushNum = 1;
                                    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 = 1;
                                        papercut.PushStatus = (int)PushStatusEnum.PushFail;
                                        wmsDB.mes_push_papercut.Add(papercut);
                                    }
                                    //*/
                                    var papercut = ClassHelper.RotationMapping<mes_push_papercut, mes_batchOrderUPI_new>(upiObj);
                                    papercut.Id = Yitter.IdGenerator.YitIdHelper.NextId();
                                    papercut.ApiMessage = res.message;
                                    papercut.PushNum = 1;
                                    papercut.PushStatus = (int)PushStatusEnum.PushFail;
                                    wmsDB.mes_push_papercut.Add(papercut);
                                    continue;
                                }
                                var papercut = ClassHelper.RotationMapping<mes_push_papercut, mes_batchOrderUPI_new>(upiObj);
                                papercut.Id = Yitter.IdGenerator.YitIdHelper.NextId();
                                papercut.ApiMessage = "";
                                papercut.PushNum = 1;
                                papercut.PushStatus = (int)PushStatusEnum.NotPush;
                                papercut.CreateTime = papercut.UpdateTime = DateTime.Now;
                                wmsDB.mes_push_papercut.Add(papercut);
                                //更新表
                                var mesgather = wmsDB.mes_package_gather.Where(x => x.PackageCode == upiObj.PackageCode).FirstOrDefault();
                                if (mesgather != null)
@@ -148,11 +102,11 @@
                                    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;
                                //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.合包裁切区;
                                //记录任务
@@ -189,10 +143,10 @@
                                    PlanNo = upiObj.PlanNo,
                                    OrderId = upiObj.OrderId,
                                    PackageCode = upiObj.PackageCode,
                                    RbTaskType = (int)RbTaskTypeEnum.夹板任务,
                                    RbTaskTypeEnumName = RbTaskTypeEnum.夹板任务.ToString(),
                                    TaskStatus = (int)TaskStatusEnum.已下发,
                                    TaskStatusName = TaskStatusEnum.已下发.ToString(),
                                    RbTaskType = (int)RbTaskTypeEnum.合包任务,
                                    RbTaskTypeEnumName = RbTaskTypeEnum.合包任务.ToString(),
                                    TaskStatus = (int)TaskStatusEnum.新建,
                                    TaskStatusName = TaskStatusEnum.新建.ToString(),
                                    TaskMsg = "夹板",
                                    CreateTime = DateTime.Now,
                                    CreateUserName = "CC",
@@ -237,6 +191,7 @@
                                    continue;
                                }
                                /*
                                using (StationServiceClient client = new StationServiceClient())
                                {
@@ -252,6 +207,7 @@
                                        Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-下发入库任务 æˆåŠŸ,WriteInStoreTaskInfoAsync,参数: ç«™ç‚¹{rgvLocation}");
                                    }
                                }
                                //*/
                                WmsRecordUpiProcessHandler.SaveWmsRecordUpiProcess(wmsDB, upiObj, "BZ21", "合包");
@@ -269,91 +225,7 @@
                }
            }
        }
        /// <summary>
        /// å‘mes推送包装完成
        /// </summary>
        public static void PushPackageCode()
        {
            while (true)
            {
                Thread.Sleep(2000);
                using (WmsDBModel edm = new WmsDBModel())
                {
                    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();
                    }
                }
            }
        }
        public class PushPackageCodeInput
        {
            public string PackageCode { get; set; }
        }
        public class Respone
        {
            /// <summary>
            /// è¿”回码
            /// </summary>
            public int iState { get; set; }
            /// <summary>
            /// è¿”回消息
            /// </summary>
            public string message { 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,
        }
    }
}