| | |
| | | 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 |
| | | { |
| | |
| | | //两个接驳平台 |
| | | 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) |
| | |
| | | //一个接驳平台 |
| | | 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 |
| | |
| | | } |
| | | } |
| | | } |
| | | 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"; |
| | | } |
| | |
| | | result = true; |
| | | } |
| | | } |
| | | if (mst.CN_S_BUSS_TYPE == "电钴生产退库") |
| | | { |
| | | SGTK(mst); |
| | | } |
| | | var bussTypeInfo = Settings.GetHouWeiCodeo().Where(a => a.location == mst.Ext1).FirstOrDefault(); |
| | | if (bussTypeInfo != null) |
| | | { |
| | |
| | | } |
| | | |
| | | /// <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> |