111
cjs
8 天以前 41accee47c8eeb8c6408507f873d68f890092468
111
4个文件已修改
134 ■■■■ 已修改文件
ams/Hanhe.iWCS.JingmenGEMTwoProtocol/EnentListen.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProtocolAnalysis.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ams/Hanhe.iWCS.JingmenGEMTwoProtocol/EnentListen.cs
@@ -444,6 +444,9 @@
            }
            #endregion
            #region 生产退库
            #endregion
            #endregion
            return bResult;
        }
ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs
@@ -3992,15 +3992,27 @@
                    if (locInfo.state == "1")
                    {
                        CMMLog.Info("DGInWarehouse:" + JsonConvert.SerializeObject(locInfo));
                        string wmstaskno = "";
                        string trayCode = locInfo.trayCode;
                        bool req = WMSHelper.WMSIn(locCode, "电钴打包下线", ref wmstaskno, ref trayCode, "", "DGCK");
                        if (req)
                        if (!string.IsNullOrEmpty(locInfo.END_LOC))
                        {
                            CMMLog.Info($"电钴接驳位入立库流程:WMS生成任务成功!");
                            MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", locCode), Update.Set("state", "2"), "DGConnectingBits", UpdateFlags.None);
                            var amsResult = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), locInfo.Bit, locInfo.END_LOC, "电钴生产退库(二段)", 0, locInfo.trayCode);
                            if(amsResult.success)
                            {
                                CMMLog.Info($"电钴生产退库(二段)流程:WMS生成任务成功!");
                                MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", locCode), Update.Set("state", "2"), "DGConnectingBits", UpdateFlags.None);
                            }
                        }
                        else CMMLog.Info($"电钴接驳位入立库流程:WMS生成任务失败!");
                        else
                        {
                            string wmstaskno = "";
                            string trayCode = locInfo.trayCode;
                            bool req = WMSHelper.WMSIn(locCode, "电钴打包下线", ref wmstaskno, ref trayCode, "", "DGCK");
                            if (req)
                            {
                                CMMLog.Info($"电钴接驳位入立库流程:WMS生成任务成功!");
                                MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", locCode), Update.Set("state", "2"), "DGConnectingBits", UpdateFlags.None);
                            }
                            else CMMLog.Info($"电钴接驳位入立库流程:WMS生成任务失败!");
                        }
                    }
                }
            }
ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs
@@ -16,10 +16,12 @@
using System.Net.Configuration;
using System.Text;
using System.Web.UI.WebControls.WebParts;
using static Hanhe.iWCS.JingmenGEMTwoProtocol.ApiHelper;
using static Hanhe.iWCS.JingmenGEMTwoProtocol.EnentListen;
using static Hanhe.iWCS.JingmenGEMTwoProtocol.MESHelper;
using static Hanhe.iWCS.JingmenGEMTwoProtocol.PLCControl;
using static Hanhe.iWCS.JingmenGEMTwoProtocol.ProtocolAnalysis;
using static System.Runtime.CompilerServices.RuntimeHelpers;
namespace Hanhe.iWCS.JingmenGEMTwoProtocol
{
@@ -182,11 +184,27 @@
                    //两个接驳平台
                    if (mst.CN_S_START_BIT == conn1[0].locCode || mst.CN_S_START_BIT == conn1[1].locCode)
                    {
                        start.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[1];
                        if (mst.CN_S_BUSS_TYPE == "电钴生产退库(二段)")
                        {
                            start.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[0];
                        }
                        else
                        {
                            start.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[1];
                        }
                    }
                    if (mst.CN_S_END_BIT == conn1[0].locCode || mst.CN_S_END_BIT == conn1[1].locCode)
                    {
                        end.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[0];
                        if (mst.CN_S_BUSS_TYPE == "电钴生产退库")
                        {
                            end.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[1];
                        }
                        else
                        {
                            end.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[0];
                        }
                    }
                }
                if (conn1.Count == 1)
@@ -194,11 +212,26 @@
                    //一个接驳平台
                    if (mst.CN_S_START_BIT == conn1[0].locCode)
                    {
                        start.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[1];
                        if(mst.CN_S_BUSS_TYPE == "电钴生产退库(二段)")
                        {
                            start.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[0];
                        }
                        else
                        {
                            start.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[1];
                        }
                    }
                    if (mst.CN_S_END_BIT == conn1[0].locCode)
                    {
                        end.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[0];
                        if(mst.CN_S_BUSS_TYPE == "电钴生产退库")
                        {
                            end.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[1];
                        }
                        else
                        {
                            end.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[0];
                        }
                    }
                }
                #endregion
@@ -234,7 +267,7 @@
                        }
                    }
                }
                if (mst.CN_S_BUSS_TYPE == "缓存架入立库" || mst.CN_S_BUSS_TYPE == "电钴缓存架入立库")
                if (mst.CN_S_BUSS_TYPE == "缓存架入立库" || mst.CN_S_BUSS_TYPE == "电钴缓存架入立库" || mst.CN_S_BUSS_TYPE == "电钴生产退库")
                {
                    TRow = "1";
                }
@@ -529,6 +562,10 @@
                        result = true;
                    }
                }
                if (mst.CN_S_BUSS_TYPE == "电钴生产退库")
                {
                    SGTK(mst);
                }
                var bussTypeInfo = Settings.GetHouWeiCodeo().Where(a => a.location == mst.Ext1).FirstOrDefault();
                if (bussTypeInfo != null)
                {
@@ -592,6 +629,57 @@
        }
        /// <summary>
        /// 四钴生产退库
        /// 将任务拆分成两段任务,第一段任务终点改为接驳平台
        /// 二段任务从接驳平台入库
        /// </summary>
        /// <param name="mst"></param>
        private static void SGTK(TN_I_TASK_MST mst)
        {
            var CBInfo = Settings.GetDGConnectingbitsList().Where(a => a.enable == 1).ToList();
            if (CBInfo != null)
            {
                foreach (var a in CBInfo)
                {
                    if (!string.IsNullOrEmpty(a.locCode))
                    {
                        //在中间表中查找点位
                        var CBTable = MongoDBSingleton.Instance.FindOne<DGConnectingBits>(Query.EQ("Bit", a.locCode), "DGConnectingBits");
                        if (CBTable != null)
                        {
                            if (string.IsNullOrEmpty(CBTable.trayCode))
                            {
                                //改任务的终点
                                MongoDBSingleton.Instance.Update<TN_I_TASK_MST>(Query.EQ("CN_S_TASK_NO", mst.CN_S_TASK_NO), Update.Set("CN_S_END_BIT", a.locCode), UpdateFlags.None);
                                new SqlHelper<object>().ExecuteSql($"update dbo.tn_am_task_mst set CN_S_END_BIT='{a.locCode}',CN_S_END_AGVBIT = '{StockInstance.Instance.GetAGVCodeForBitCode(a.locCode)}' where CN_S_TASK_NO = '{mst.CN_S_TASK_NO}'");
                                CMMLog.Debug($"生产退库:更改终点成功!");
                                MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", a.locCode), Update.Set("trayCode", mst.CN_S_BATCH_NO).Set("END_LOC",mst.CN_S_END_BIT), UpdateFlags.None);
                                break;
                            }
                        }
                        else
                        {
                            //改任务的终点
                            MongoDBSingleton.Instance.Update<TN_I_TASK_MST>(Query.EQ("CN_S_TASK_NO", mst.CN_S_TASK_NO), Update.Set("CN_S_END_BIT", a.locCode), UpdateFlags.None);
                            new SqlHelper<object>().ExecuteSql($"update dbo.tn_am_task_mst set CN_S_END_BIT='{a.locCode}',CN_S_END_AGVBIT = '{StockInstance.Instance.GetAGVCodeForBitCode(a.locCode)}' where CN_S_TASK_NO = '{mst.CN_S_TASK_NO}'");
                            CMMLog.Debug($"生产退库:更改终点成功!");
                            //打包下线任务生成成功,向中间表插入数据
                            MongoDBSingleton.Instance.Insert<DGConnectingBits>(new DGConnectingBits { Bit = a.locCode, trayCode = mst.CN_S_BATCH_NO,END_LOC = mst.CN_S_END_BIT, state = "0" });
                            break;
                        }
                    }
                    else CMMLog.Debug("生产退库接驳位点位未配置");
                }
            }
            else CMMLog.Debug("生产退库接驳位未配置");
        }
        /// <summary>
        /// 辅材入库流程
        /// </summary>
        /// <param name="mst"></param>
ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProtocolAnalysis.cs
@@ -396,7 +396,7 @@
                        {
                            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 == "电钴缓存架入立库")
                        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"), UpdateFlags.None);
                            MongoDBSingleton.Instance.Remove<DGPackingLineFullModel>(Query.EQ("trayCode", mst.CN_S_BATCH_NO), RemoveFlags.None);
@@ -446,9 +446,8 @@
                        if (mst.CN_S_BUSS_TYPE == "3楼打包下线" || mst.CN_S_BUSS_TYPE == "PDA打包下线")
                        {
                            MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", mst.CN_S_END_BIT), Update.Set("state", "1"), UpdateFlags.None);
                        }
                        if (mst.CN_S_BUSS_TYPE == "包装机满托下线")
                        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);
@@ -867,7 +866,7 @@
            /// <summary>
            /// 二段任务的终点货位
            /// </summary>
            //public string END_LOC { get; set; } //变更注释
            public string END_LOC { get; set; }
        }
        #endregion