| | |
| | | try |
| | | { |
| | | // var yuworders = LocationHelper.GetList<YWLWorkOrder>(x => x.SQL_PLineNo == "无菌标签出库" && x.WorkType == 6 && x.SQL_State == "执行中").FindAll(x => x.OutNum > 0 && DateTime.Now.Subtract(x.SQL_Modify_TIme ?? DateTime.Now).TotalSeconds > 10).OrderBy(x => x.TagOverTime).ToList(); |
| | | var yuworders = LocationHelper.GetList<YWLWorkOrder>(x => x.SQL_PLineNo == "无菌标签出库" && x.WorkType == 6 && x.SQL_State == "执行中").FindAll(x => x.OutNum > 0 && DateTime.Now.Subtract(x.SQL_Modify_TIme ?? DateTime.Now).TotalSeconds > 10).OrderBy(x => x.TagOverTime).ToList(); |
| | | var yuworders = LocationHelper.GetList<YWLWorkOrder>(x => x.SQL_PLineNo == "无菌标签出库" && x.WorkType == 6 && x.SQL_State == "执行中").FindAll(x => x.OutNum > 0).OrderBy(x => x.TagOverTime).ToList(); |
| | | if (!yuworders.Any()) |
| | | { |
| | | YwlBQ_CreInwork(locsFirst, WJ_BQ.RK_BQDDQ, WJ_BQ.RK_BBHJQ); |
| | |
| | | if (order != null) |
| | | { |
| | | var Porder = WCSHelper.GetWorkOrder(order.SQL_LinkLineNO); |
| | | if (Porder == null) |
| | | { |
| | | LogHelper.CErrorLog("SX标签出库:" + (order.SQL_LinkLineNO) + "没有【执行中】的工单"); |
| | | yuworders.Remove(order); |
| | | goto retuse; |
| | | } |
| | | //if (Porder == null) |
| | | //{ |
| | | // LogHelper.CErrorLog("SX标签出库:" + (order.SQL_LinkLineNO) + "没有【执行中】的工单"); |
| | | // yuworders.Remove(order); |
| | | // goto retuse; |
| | | //} |
| | | var oto = new List<string>(); |
| | | //if (!string.IsNullOrEmpty(order.TagOver)) |
| | | // oto = order.TagOver.Split(',').ToList(); |
| | |
| | | if (order != null) |
| | | { |
| | | var Porder = WCSHelper.GetWorkOrder(order.SQL_LinkLineNO); |
| | | if (Porder == null) |
| | | { |
| | | LogHelper.CErrorLog("无菌标签出库:" + (order.SQL_LinkLineNO) + "没有【执行中】的工单"); |
| | | yuworders.Remove(order); |
| | | goto retuse; |
| | | } |
| | | //if (Porder == null) |
| | | //{ |
| | | // LogHelper.CErrorLog("无菌标签出库:" + (order.SQL_LinkLineNO) + "没有【执行中】的工单"); |
| | | // yuworders.Remove(order); |
| | | // goto retuse; |
| | | //} |
| | | |
| | | var oto = new List<string>(); |
| | | //if (!string.IsNullOrEmpty(order.TagOver)) |
| | |
| | | /// </summary> |
| | | internal static void YWL_ZX_Turn() |
| | | { |
| | | var dbcd = new SqlHelper<object>().GetInstance(); |
| | | |
| | | foreach (var ODs in LocationHelper.GetList<YWLZXtake>(X => X.S_ZX_STATE == "执行").GroupBy(x => x.S_START_AREA)) |
| | | { |
| | | var locS = LocationHelper.GetAreaNormalLocList(ODs.Key); |
| | |
| | | } |
| | | else |
| | | { |
| | | if (od.N_END_ROW > 0) |
| | | { |
| | | var EndRow = dbcd.Queryable<Location>().Where(l => l.S_AREA_CODE == od.S_END_AREA && l.N_ROW == od.N_END_ROW && l.N_CURRENT_NUM == 0).ToList(); |
| | | if (EndRow.Count() == 0) |
| | | { |
| | | //置为完成。 |
| | | od.S_ZX_STATE = "完成"; |
| | | WCSHelper.Do(db => db.Updateable(od).UpdateColumns(x => new { x.S_ZX_STATE }).ExecuteCommand()); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | var EndRow = dbcd.Queryable<Location>().Where(l => l.S_AREA_CODE == od.S_END_AREA && l.N_CURRENT_NUM == 0).ToList(); |
| | | if (EndRow.Count() == 0) |
| | | { |
| | | //置为完成。 |
| | | od.S_ZX_STATE = "完成"; |
| | | WCSHelper.Do(db => db.Updateable(od).UpdateColumns(x => new { x.S_ZX_STATE }).ExecuteCommand()); |
| | | } |
| | | } |
| | | var lastful = rows.FindAll(x => x.N_CURRENT_NUM > 0).OrderBy(x => x.N_COL).LastOrDefault(); |
| | | if (lastful != null) |
| | | { |
| | |
| | | string nextarea = !string.IsNullOrEmpty(od.S_ZZ_AREA) ? od.S_ZZ_AREA : od.S_END_AREA; |
| | | var zzlocs = LocationHelper.GetAreaNormalLocList(nextarea); |
| | | Location Endbit = null; |
| | | if (od.N_END_ROW == 0 && zzlocs.Any()) |
| | | { |
| | | foreach (var zzrs in zzlocs.GroupBy(x => x.N_ROW).OrderBy(x => x.Key)) |
| | | { |
| | | var zzrloclist = zzrs.ToList(); |
| | |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (zzlocs.Any() && od.N_END_ROW > 0)//用于库内 比如A库某排移到A库的另一排 |
| | | { |
| | | zzlocs = zzlocs.FindAll(e => e.N_ROW == od.N_END_ROW); |
| | | // |
| | | var EndMt = dbcd.Queryable<Location>().Where(l => l.S_AREA_CODE == od.S_END_AREA && l.N_ROW == od.N_END_ROW && l.N_CURRENT_NUM > 0).ToList(); |
| | | if (EndMt.Any()) |
| | | { |
| | | var ggh = EndMt.OrderByDescending(e => e.N_COL).FirstOrDefault(); |
| | | zzlocs = zzlocs.FindAll(e => e.N_COL > ggh.N_COL).ToList(); |
| | | } |
| | | if (zzlocs.Any()) |
| | | { |
| | | Endbit = zzlocs.OrderBy(e => e.N_COL).FirstOrDefault(); |
| | | } |
| | | |
| | | } |
| | | } |
| | | LogHelper.Info($"YWL_ZX_Turn from{od.S_START_AREA} mid:{od.S_ZZ_AREA} to{od.S_END_AREA} 找到移库终点》{Endbit?.S_LOC_CODE}"); |
| | | if (Endbit != null) |
| | | { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |