HH.WCS.QingXiNongfu/core/Monitor.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HH.WCS.QingXiNongfu/process/DeviceProcess.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HH.WCS.QingXiNongfu/wms/WCSHelper.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HH.WCS.QingXiNongfu/wms/WCSModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
HH.WCS.QingXiNongfu/core/Monitor.cs
@@ -1752,8 +1752,8 @@ var cirs = ContainerHelper.GetCntrItemRel(CNTR.FirstOrDefault().S_CNTR_CODE); if (!cirs.Any()) continue; cir = cirs.OrderByDescending(x => x.T_CREATE).FirstOrDefault(); LogHelper.Info($"收缩膜 出库!{item.Key}排 [{cir.S_ITEM_CODE}-{order.SQL_ItemCode}] [{cir.S_ITEM_NAME}-{order.SQL_ItemName}] [{cir.S_CJ_NAME}-{order.S_CJ_NAME}] {(cir.S_ITEM_CODE == order.SQL_ItemCode && cir.S_ITEM_NAME == order.SQL_ItemName && cir.S_CJ_NAME == order.S_CJ_NAME)}"); if (cir.S_ITEM_CODE == order.SQL_ItemCode && cir.S_ITEM_NAME == order.SQL_ItemName && cir.S_CJ_NAME == order.S_CJ_NAME) LogHelper.Info($"收缩膜 出库!{item.Key}排 [{cir.S_ITEM_CODE}-{order.SQL_ItemCode}] [{cir.S_ITEM_NAME}-{order.SQL_ItemName}] [{cir.S_CJ_NAME}-{order.S_CJ_NAME}] {(cir.S_ITEM_CODE == order.SQL_ItemCode && cir.S_ITEM_NAME == order.SQL_ItemName)}"); if (cir.S_ITEM_CODE == order.SQL_ItemCode && cir.S_ITEM_NAME == order.SQL_ItemName) { //plg 2025年6月13日 09:08:10 Temp = new locCntItem @@ -1797,15 +1797,15 @@ { var re = TaskProcess.CreateTransport("", tagLoc.S_LOC_CODE.Trim(), loc.S_LOC_CODE, "收缩膜叉运-货架出提升机", new List<string> { tagLoc.S_CNTR_CODE }, StartBit.N_CURRENT_NUM, 1, 1, 62); LogHelper.CSucessLog($"from {tagLoc.S_LOC_CODE} to {loc.S_LOC_CODE} 收缩膜叉运-货架出提升机 ,创建{re} "); if (re) { oto.Add(oic); if (outlock == null) { var r = new RowLock { S_LOCK_SRC = (StartBit.S_NOTE /*+ StartBit.HalfOrFull*/), T_LOCK_TIME = DateTime.Now, S_LOCK_STATE = "出库锁", S_AREA_CODE = StartBit.S_AREA_CODE, N_ROW = StartBit.N_ROW }; db.Insertable(r).ExecuteCommand(); } } //if (re) //{ // oto.Add(oic); // if (outlock == null) // { // var r = new RowLock { S_LOCK_SRC = (StartBit.S_NOTE /*+ StartBit.HalfOrFull*/), T_LOCK_TIME = DateTime.Now, S_LOCK_STATE = "出库锁", S_AREA_CODE = StartBit.S_AREA_CODE, N_ROW = StartBit.N_ROW }; // db.Insertable(r).ExecuteCommand(); // } //} } } } HH.WCS.QingXiNongfu/process/DeviceProcess.cs
@@ -1743,41 +1743,41 @@ if (data.Length == 4) { //if (data == "1122")//A口工作信号 //{ // if (BottlePEMInfoFullTwo(plc, plc.location[0])) // { // } //} //else if (data == "1221")//B口工作信号 //{ // if (BottlePEMInfoFullTwo(plc, plc.location[1])) // { // } //} //else if (data == "1121")//B口工作信号 //{ // if (BottlePEMInfoFullTwo(plc, plc.location[0])) // { // } // if (BottlePEMInfoFullTwo(plc, plc.location[1])) // { // } //} if (data.Substring(1, 1) == "1") if (data == "1122")//A口工作信号 { if (BottlePEMInfoFull(plc, plc.location[0])) if (BottlePEMInfoFullTwo(plc, plc.location[0])) { //设备没有托盘,或者已经有任务,不处理满托信号,返回已经取货完成 //3F 00 11 0d 0a //PlcHelper.SendHex(plc.address, "3F00110d0a"); } } else if (data == "1221")//B口工作信号 { if (BottlePEMInfoFullTwo(plc, plc.location[1])) { } } else if (data == "1121")//B口工作信号 { if (BottlePEMInfoFullTwo(plc, plc.location[0])) { } if (BottlePEMInfoFullTwo(plc, plc.location[1])) { } } //if (data.Substring(1, 1) == "1") //{ // if (BottlePEMInfoFull(plc, plc.location[0])) // { // //设备没有托盘,或者已经有任务,不处理满托信号,返回已经取货完成 // //3F 00 11 0d 0a // //PlcHelper.SendHex(plc.address, "3F00110d0a"); // } //} //else if (data.Substring(1, 1) == "3") //{ // if (BottleCapInfoEmpty(plc, plc.location[0])) @@ -1786,13 +1786,13 @@ // } //} if (data.Substring(3, 1) == "1") { if (BottlePEMInfoFull(plc, plc.location[1])) { //PlcHelper.SendHex(plc.address, "3F00210d0a"); } } //if (data.Substring(3, 1) == "1") //{ // if (BottlePEMInfoFull(plc, plc.location[1])) // { // //PlcHelper.SendHex(plc.address, "3F00210d0a"); // } //} //else if (data.Substring(3, 1) == "3") //{ // if (BottleCapInfoEmpty(plc, plc.location[1])) @@ -1997,23 +1997,51 @@ } } } private static object locko = new object(); static bool BottlePEMInfoFullTwo(Settings.deviceInfo plc, string location) { try { if (location != "") lock (locko) { var chi = new SqlHelper<object>().GetInstance(); var newDb = chi.CopyNew(); Location endBit = null; if (location == "") { throw new Exception("货位为空"); } var workOrder = WCSHelper.GetWorkOrder(plc.deviceName); if (workOrder == null) { LogHelper.Info(plc.deviceName + "没有【执行中】的工单"); return false; throw new Exception("没有【执行中】的工单"); } if (workOrder.SQL_UsingNow == "Y")//即产即用 { //查询 半成品区域表 BcpQyOrder } else//非即产即用 { } if (endBit != null) { var _ctrl = LocationHelper.GetLocCntrRel(location); int endLayer = endBit.N_CURRENT_NUM + 1; var carryCntrs = new List<string> { _ctrl.FirstOrDefault().S_CNTR_CODE };//DateTime.Now.ToString("yyMMddHHmmss") }; var bb = TaskProcess.CreateTransport(workOrder.SQL_WorkNo, location, endBit.S_LOC_CODE, "满瓶坯-入库", carryCntrs, 1, endLayer, carryCntrs.Count, plc.taskPri); } return true; } return false; } catch (Exception ex) { LogHelper.Info(plc.deviceName + $" 报错: {ex.Message}"); return false; } } HH.WCS.QingXiNongfu/wms/WCSHelper.cs
@@ -27,6 +27,8 @@ return order; } //public static public static List<WorkOrder> GetWorkOrder(Expression<Func<WorkOrder, bool>> expression) { //|| a.SQL_State == "暂停" HH.WCS.QingXiNongfu/wms/WCSModel.cs
@@ -288,6 +288,10 @@ [SuGG("半成品区域表")] public class BcpQyOrder : BaseModel { /// <summary> /// 产线号 /// </summary> public string SQL_PLineNo { get; set; } } [SuGG("厂家时间表")]