| | |
| | | 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 |
| | |
| | | { |
| | | 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 == "老物料缓存架入立库") |
| | |
| | | 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 (action.CN_N_ACTION_CODE == 6) |
| | | { |
| | |
| | | |
| | | |
| | | } |
| | | 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信号会发多次) |
| | |
| | | { |
| | | 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); |
| | |
| | | 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) |
| | | { |
| | |
| | | /// <summary> |
| | | /// 二段任务的终点货位 |
| | | /// </summary> |
| | | //public string END_LOC { get; set; } //变更注释 |
| | | public string END_LOC { get; set; } |
| | | } |
| | | |
| | | public class DGConnectingBits |
| | | { |
| | | public ObjectId _id { get; set; } |
| | | /// <summary> |
| | | /// 货位编码 |
| | | /// </summary> |
| | | public string Bit { get; set; } |
| | | /// <summary> |
| | | /// 托盘号 |
| | | /// </summary> |
| | | public string trayCode { get; set; } |
| | | /// <summary> |
| | | /// 货位状态 0 无货 1 有货 |
| | | /// </summary> |
| | | public string state { get; set; } |
| | | /// <summary> |
| | | /// 二段任务的终点货位 |
| | | /// </summary> |
| | | public string END_LOC { get; set; } |
| | | } |
| | | |
| | | #endregion |
| | | public class InAndOutQuantity |
| | | { |
| | | public ObjectId _id { get; set; } |
| | |
| | | public string Day { get; set; } |
| | | public int Quntity { get; set; } |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | |
| | | internal void writeAGVState(TN_I_TASK_DTL_ACTION action) |