1
cjs
1 天以前 ff48949f706e899725c1ef7d0426c12c2b3e674f
ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProtocolAnalysis.cs
@@ -228,6 +228,8 @@
                        MongoDBSingleton.Instance.Update<TN_I_TASK_MST>(Query.EQ("_id", mst._id), Update.Set("CN_S_ForkliftNo", action.CN_S_DEVICE_CODE), UpdateFlags.None);
                    }
                    if (action.CN_N_ACTION_CODE != 1) ProcessHelper.UpdateTaskState(mst.CN_S_TASK_NO, action.CN_N_ACTION_CODE);
                    #region 写入小车状态
                    writeAGVState(action);
                    #endregion
@@ -237,13 +239,25 @@
                    {
                        AMSHelper.SetStatus(action.CN_S_TASK_NO, 1, "1", action.CN_S_DEVICE_CODE, true);
                        WMSHelper.ExecuteState(mst.CN_S_SOURCE_NO, action.CN_N_ACTION_CODE);
                        if (mst.CN_S_BUSS_TYPE == "缓存架入立库")
                        if (mst.CN_S_BUSS_TYPE.Contains("缓存架入立库"))
                        {
                            //将任务号插入到中间表
                            var erpInfo = MongoDBSingleton.Instance.FindOne<SendErpTaskInfoTable>(Query.And(Query.EQ("Bit", mst.CN_S_START_BIT), Query.EQ("taskNo", "")), "SendErpTaskInfoTable");
                            if (erpInfo != null)
                            if (mst.CN_S_BUSS_TYPE.Contains("电钴"))
                            {
                                MongoDBSingleton.Instance.Update<SendErpTaskInfoTable>(Query.And(Query.EQ("Bit", mst.CN_S_START_BIT), Query.EQ("taskNo", "")), Update.Set("taskNo", mst.CN_S_SOURCE_NO), UpdateFlags.None);
                                //将任务号插入到中间表
                                var erpInfo = MongoDBSingleton.Instance.FindOne<SendErpTaskInfoTableDG>(Query.And(Query.EQ("Bit", mst.CN_S_START_BIT), Query.EQ("taskNo", "")), "SendErpTaskInfoTableDG");
                                if (erpInfo != null)
                                {
                                    MongoDBSingleton.Instance.Update<SendErpTaskInfoTableDG>(Query.And(Query.EQ("Bit", mst.CN_S_START_BIT), Query.EQ("taskNo", "")), Update.Set("taskNo", mst.CN_S_SOURCE_NO), UpdateFlags.None);
                                }
                            }
                            else
                            {
                                //将任务号插入到中间表
                                var erpInfo = MongoDBSingleton.Instance.FindOne<SendErpTaskInfoTable>(Query.And(Query.EQ("Bit", mst.CN_S_START_BIT), Query.EQ("taskNo", "")), "SendErpTaskInfoTable");
                                if (erpInfo != null)
                                {
                                    MongoDBSingleton.Instance.Update<SendErpTaskInfoTable>(Query.And(Query.EQ("Bit", mst.CN_S_START_BIT), Query.EQ("taskNo", "")), Update.Set("taskNo", mst.CN_S_SOURCE_NO), UpdateFlags.None);
                                }
                            }
                        }
                        if (mst.CN_S_BUSS_TYPE == "老物料缓存架入立库")
@@ -378,18 +392,20 @@
                        WMSHelper.ExecuteState(mst.CN_S_SOURCE_NO, action.CN_N_ACTION_CODE);
                        if (mst.CN_S_BUSS_TYPE == "包装线补空") PLCControl.PickUpBlankComplete(mst.CN_S_END_BIT, mst.CN_S_START_BIT);
                        //if (mst.CN_S_BUSS_TYPE == "3楼包装取料") PLCControl.CheckUpReqUnload(mst.CN_S_END_BIT, mst.CN_S_TASK_NO,);
                        if (mst.CN_S_BUSS_TYPE == "缓存架入立库" || mst.CN_S_BUSS_TYPE == "辅材转运")
                        if (mst.CN_S_BUSS_TYPE == "缓存架入立库" || mst.CN_S_BUSS_TYPE == "辅材出库(二段)")
                        {
                            MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", mst.CN_S_START_BIT), Update.Set("trayCode", "").Set("state", "0"), UpdateFlags.None);
                            MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", mst.CN_S_START_BIT), Update.Set("trayCode", "").Set("state", "0").Set("END_LOC", ""), UpdateFlags.None);
                            //MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", mst.CN_S_START_BIT), Update.Set("trayCode", "").Set("state", "0"), UpdateFlags.None);
                        }
                        if (mst.CN_S_BUSS_TYPE == "电钴缓存架入立库" || mst.CN_S_BUSS_TYPE == "电钴生产退库(二段)")
                        {
                            MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", mst.CN_S_START_BIT), Update.Set("trayCode", "").Set("state", "0").Set("END_LOC", ""), UpdateFlags.None);
                            MongoDBSingleton.Instance.Remove<DGPackingLineFullModel>(Query.EQ("trayCode", mst.CN_S_BATCH_NO), RemoveFlags.None);
                        }
                        //if (mst.CN_S_BUSS_TYPE == "3楼缓存架入叠托") WMSHelper.ExecuteState(mst.CN_S_SOURCE_NO, action.CN_N_ACTION_CODE);
                        if (mst.CN_S_BUSS_TYPE == "3楼打包下线")
                        {
                            //打包下线取货完成,将数据写入中间表
                        }
                        if (mst.CN_S_BUSS_TYPE == "电钴缓存架入立库")
                        {
                            MongoDBSingleton.Instance.Remove<DGPackingLineFullModel>(Query.EQ("trayCode", mst.CN_S_BATCH_NO),RemoveFlags.None);
                        }
                    }
                    if (action.CN_N_ACTION_CODE == 6)
@@ -428,11 +444,16 @@
                        }
                        if (mst.CN_S_BUSS_TYPE == "3楼打包下线" || mst.CN_S_BUSS_TYPE == "PDA打包下线")
                        if (mst.CN_S_BUSS_TYPE == "3楼打包下线" || mst.CN_S_BUSS_TYPE == "PDA打包下线" || mst.CN_S_BUSS_TYPE == "辅材出库")
                        {
                            MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", mst.CN_S_END_BIT), Update.Set("state", "1"), UpdateFlags.None);
                        }
                        if (mst.CN_S_BUSS_TYPE == "包装机满托下线" || mst.CN_S_BUSS_TYPE == "电钴生产退库")
                        {
                            MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", mst.CN_S_END_BIT), Update.Set("state", "1"), UpdateFlags.None);
                        }
                        if (mst.CN_S_BUSS_TYPE == "3楼成品出库")
                        {
                            //3楼成品出库收到6之后,终点货位数量减1,(注:6信号会发多次)
@@ -549,7 +570,10 @@
                {
                    CMMLog.Info($"起点安全对接:收到任务号:{mst.CN_S_TASK_NO},任务类型:{mst.CN_S_BUSS_TYPE},任务信号:{action.CN_N_ACTION_CODE}");
                    //3楼拆盘补空:拆盘机补空托盘            3楼包装补空:包装机补空托
                    if (mst.CN_S_BUSS_TYPE == "3楼包装取料" || mst.CN_S_BUSS_TYPE == "3楼复称入缓存架" || mst.CN_S_BUSS_TYPE == "3楼复称入缓存架NG" || mst.CN_S_BUSS_TYPE == "3楼缓存架入叠托" || mst.CN_S_BUSS_TYPE == "3楼叠盘下线" || mst.CN_S_BUSS_TYPE == "3楼打包下线" || mst.CN_S_BUSS_TYPE == "3楼缓存架入叠托NG" || mst.CN_S_BUSS_TYPE == "辅材入库" || mst.CN_S_BUSS_TYPE == "PDA打包下线" || mst.CN_S_BUSS_TYPE == "烘干机满托下线" || mst.CN_S_BUSS_TYPE == "剪切机空托下线" || mst.CN_S_BUSS_TYPE == "包装机满托下线")
                    if (mst.CN_S_BUSS_TYPE == "3楼包装取料" || mst.CN_S_BUSS_TYPE == "3楼复称入缓存架" || mst.CN_S_BUSS_TYPE == "3楼复称入缓存架NG"
                        || mst.CN_S_BUSS_TYPE == "3楼缓存架入叠托" || mst.CN_S_BUSS_TYPE == "3楼叠盘下线" || mst.CN_S_BUSS_TYPE == "3楼打包下线"
                        || mst.CN_S_BUSS_TYPE == "3楼缓存架入叠托NG" || mst.CN_S_BUSS_TYPE == "辅材入库" || mst.CN_S_BUSS_TYPE == "PDA打包下线"
                        || mst.CN_S_BUSS_TYPE == "烘干机满托下线" || mst.CN_S_BUSS_TYPE == "剪切机空托下线" || mst.CN_S_BUSS_TYPE == "包装机满托下线")
                    {
                        CMMLog.Info($"起点安全对接:即将进入任务流程:{mst.CN_S_BUSS_TYPE},状态号为:{action.CN_N_ACTION_CODE}");
                        ProcessHelper.StartPickUpDoorSafe(mst, action.CN_N_ACTION_CODE);
@@ -672,7 +696,7 @@
                    if (result != null && result.errCode == 0)
                    {
                        CMMLog.Info($"电动门开门流程:读取电动门通道号为:{doorInfo.readAddr}里面的值为{result.result[0]},{doorInfo.readAddr + 1}里面的值为{result.result[1]},门号:{action.Ext2}");
                        if(action.Ext2 == "4")
                        if(action.Ext2 == "4" || action.Ext2 == "5")
                        {
                            if (result.result[0] == 1)
                            {
@@ -822,7 +846,7 @@
            /// <summary>
            /// 二段任务的终点货位
            /// </summary>
            //public string END_LOC { get; set; } //变更注释
            public string END_LOC { get; set; }
        }
        public class DGConnectingBits
@@ -841,13 +865,9 @@
            /// </summary>
            public string state { get; set; }
            /// <summary>
            /// 时间戳
            /// </summary>
            public string timeCuo { get; set; }
            /// <summary>
            /// 二段任务的终点货位
            /// </summary>
            //public string END_LOC { get; set; } //变更注释
            public string END_LOC { get; set; }
        }
        #endregion