public static List <OrderLineInfo> GetRegionOrderline(string regioncode, DateTime date) { using (DZEntities en = new DZEntities()) { List <OrderLineInfo> list = new List <OrderLineInfo>(); //DateTime date = DateTime.Now.Date; var order = en.T_PRODUCE_ORDER.Where(item => item.ORDERDATE == date && item.REGIONCODE == regioncode).OrderBy(item => item.PRIORITY).ToList(); //var query = order.Join(en.T_PRODUCE_ORDERLINE, ord => ord.BILLCODE, line => line.BILLCODE, (ord, line) => new //{ // RegionCode = ord.REGIONCODE, // BillCode = ord.BILLCODE, // CustomerName = ord.CUSTOMERNAME //}).ToList(); for (int i = 0; i < order.Count; i++) { string billcode = order[i].BILLCODE; var query2 = en.T_PRODUCE_ORDERLINE.Where(item => item.BILLCODE == billcode).ToList(); var query = query2.Join(en.T_WMS_ITEM, que => que.CIGARETTECODE, item => item.ITEMNO, (que, item) => new { CIGARETTENAME = que.CIGARETTENAME, QUANTITY = que.QUANTITY, shiptype = item.SHIPTYPE }).Where(item => item.shiptype == "1").ToList(); OrderLineInfo info = new OrderLineInfo(); info.BillCode = order[i].BILLCODE; info.RegionCode = order[i].REGIONCODE; info.CustomerName = order[i].CUSTOMERNAME; info.CigaretteDetail = ""; for (int j = 0; j < query.Count; j++) { if (j < query.Count - 1) { info.CigaretteDetail += query[j].CIGARETTENAME + "(" + query[j].QUANTITY + "),"; } else { info.CigaretteDetail += query[j].CIGARETTENAME + "(" + query[j].QUANTITY + ")"; } } list.Add(info); } return(list); } }
private void ProcessMixed(string mixedDictKey) { string stationNameID = mixedDictKey.Split('-')[1]; int NUMBER_OF_LINE = mixedStations[mixedDictKey].props.cam.numLs; int NUMBER_OF_PALLET_PER_LINE = mixedStations[mixedDictKey].props.cam.numPsPL; for (int lineIndex = 0; lineIndex < NUMBER_OF_LINE; lineIndex++) //Scan all Line { string listLineDockingKey = stationNameID + "-" + lineIndex; //New or Update if (DOCKING_LINE_LIST.ContainsKey(listLineDockingKey) == false) // ==> NEW { OrderLineInfo dockLineInfoTemp = new OrderLineInfo { stationNameID = stationNameID, line = lineIndex, orderedPallets = 0, palletList = new List <int>(), ordered = false, removable = false, valid = true, palletWarningKey = "-1" }; for (int palletIndex = 0; palletIndex < NUMBER_OF_PALLET_PER_LINE; palletIndex++) { if (mixedStations[mixedDictKey].props.cam.lineArray[lineIndex.ToString()].palletArray[palletIndex.ToString()] == "yes") { dockLineInfoTemp.palletList.Add(palletIndex); dockLineInfoTemp.valid = mixedStations[mixedDictKey].props.cam.lineArray[lineIndex.ToString()].valid; dockLineInfoTemp.palletWarningKey = mixedStations[mixedDictKey].props.cam.lineArray[lineIndex.ToString()].palletWarning; DOCKING_LINE_LIST.Add(listLineDockingKey, dockLineInfoTemp); string addLog = ""; for (int i = 0; i < dockLineInfoTemp.palletList.Count(); i++) { addLog = addLog + "[" + dockLineInfoTemp.palletList[i] + "]"; } addLog = "Added line DK: " + listLineDockingKey + "-" + addLog; addLog = addLog + "-useable: " + dockLineInfoTemp.valid;// + "-palletWarningKey: " + dockLineInfoTemp.palletWarningKey; RegistrationAgent.mainWindowPointer.LogConsole(addLog, "logStation"); //LogWriter.LogWrite("Area\\Area" + area, addLog, "Docking-" + listLineDockingKey); break; } } } else // Đã tồn tại Line Docking [listLineDockingKey] ==> UPDATE { List <int> palletList = new List <int>(); for (int palletIndex = 0; palletIndex < NUMBER_OF_PALLET_PER_LINE; palletIndex++) { if (mixedStations[mixedDictKey].props.cam.lineArray[lineIndex.ToString()].palletArray[palletIndex.ToString()] == "yes") { palletList.Add(palletIndex); string updateLog = ""; for (int i = 0; i < palletList.Count(); i++) { updateLog = updateLog + "[" + palletList[i] + "]"; } if ((!DOCKING_LINE_LIST[listLineDockingKey].palletList.SequenceEqual(palletList)) || (DOCKING_LINE_LIST[listLineDockingKey].valid != mixedStations[mixedDictKey].props.cam.lineArray[lineIndex.ToString()].valid) || (DOCKING_LINE_LIST[listLineDockingKey].palletWarningKey != mixedStations[mixedDictKey].props.cam.lineArray[lineIndex.ToString()].palletWarning)) { DOCKING_LINE_LIST[listLineDockingKey].valid = mixedStations[mixedDictKey].props.cam.lineArray[lineIndex.ToString()].valid; DOCKING_LINE_LIST[listLineDockingKey].palletWarningKey = mixedStations[mixedDictKey].props.cam.lineArray[lineIndex.ToString()].palletWarning; DOCKING_LINE_LIST[listLineDockingKey].palletList = palletList; updateLog = "Updated line DK: " + listLineDockingKey + "-" + updateLog; updateLog = updateLog + "-useable: " + DOCKING_LINE_LIST[listLineDockingKey].valid;// + "-palletWarningKey: " + DOCKING_LINE_LIST[listLineDockingKey].palletWarningKey; RegistrationAgent.mainWindowPointer.LogConsole(updateLog, "logStation"); //LogWriter.LogWrite("Area\\Area" + area, updateLog, "Docking-" + listLineDockingKey); } break; } } if (palletList.Count == 0) { //Trống line thì xóa khỏi List Line Docking string deleteLog = ""; deleteLog = "Deleted line DK: " + listLineDockingKey + "-" + deleteLog; deleteLog = deleteLog + "-useable: " + DOCKING_LINE_LIST[listLineDockingKey].valid;// + "-palletWarningKey: " + DOCKING_LINE_LIST[listLineDockingKey].palletWarningKey; RegistrationAgent.mainWindowPointer.LogConsole(deleteLog, "logStation"); //LogWriter.LogWrite("Area\\Area" + area, deleteLog, "Docking-" + listLineDockingKey); DOCKING_LINE_LIST.Remove(listLineDockingKey); } } } for (int lineIndex = 0; lineIndex < NUMBER_OF_LINE; lineIndex++) { string listLinePutAwayKey = stationNameID + "-" + lineIndex; //New or Update if (PUTAWAY_LINE_LIST.ContainsKey(listLinePutAwayKey) == false) //NEW { OrderLineInfo putLineInfoTemp = new OrderLineInfo { stationNameID = stationNameID, line = lineIndex, orderedPallets = 0, palletList = new List <int>(), ordered = false, removable = false, valid = true, palletWarningKey = "-1" }; for (int palletIndex = NUMBER_OF_PALLET_PER_LINE - 1; palletIndex >= 0; palletIndex--) { if (mixedStations[mixedDictKey].props.cam.lineArray[lineIndex.ToString()].palletArray[palletIndex.ToString()] == "no") { putLineInfoTemp.palletList.Add(palletIndex); } else if (mixedStations[mixedDictKey].props.cam.lineArray[lineIndex.ToString()].palletArray[palletIndex.ToString()] == "yes") //Chỉ lấy nhũng pallet ở dưới phòng pallet được lấy đi ở đầu hàng { putLineInfoTemp.palletList.Clear(); } } if (putLineInfoTemp.palletList.Count > 0) { putLineInfoTemp.palletList.Sort((a, b) => - 1 * a.CompareTo(b)); // Descending sort putLineInfoTemp.palletList = putLineInfoTemp.palletList.Take(1).ToList(); putLineInfoTemp.valid = mixedStations[mixedDictKey].props.cam.lineArray[lineIndex.ToString()].valid; putLineInfoTemp.palletWarningKey = mixedStations[mixedDictKey].props.cam.lineArray[lineIndex.ToString()].palletWarning; PUTAWAY_LINE_LIST.Add(listLinePutAwayKey, putLineInfoTemp); string addLog = ""; for (int i = 0; i < putLineInfoTemp.palletList.Count(); i++) { addLog = addLog + "[" + putLineInfoTemp.palletList[i] + "]"; } addLog = "Added line PW: " + listLinePutAwayKey + "-" + addLog; addLog = addLog + "-useable: " + PUTAWAY_LINE_LIST[listLinePutAwayKey].valid;// + "-palletWarningKey: " + PUTAWAY_LINE_LIST[listLinePutAwayKey].palletWarningKey; RegistrationAgent.mainWindowPointer.LogConsole(addLog, "logStation"); //LogWriter.LogWrite("Area\\Area" + area, addLog, "PutAway-" + listLinePutAwayKey); } } else //UPDATE { List <int> palletList = new List <int>(); for (int palletIndex = NUMBER_OF_PALLET_PER_LINE - 1; palletIndex >= 0; palletIndex--) { if (mixedStations[mixedDictKey].props.cam.lineArray[lineIndex.ToString()].palletArray[palletIndex.ToString()] == "no") { palletList.Add(palletIndex); } else if (mixedStations[mixedDictKey].props.cam.lineArray[lineIndex.ToString()].palletArray[palletIndex.ToString()] == "yes") //Chỉ lấy nhũng pallet ở dưới phòng pallet được lấy đi ở đầu hàng { palletList.Clear(); } } if (palletList.Count > 0) { palletList.Sort((a, b) => - 1 * a.CompareTo(b)); // Descending sort palletList = palletList.Take(1).ToList(); string updateLog = ""; for (int i = 0; i < palletList.Count(); i++) { updateLog = updateLog + "[" + palletList[i] + "]"; } if ((!PUTAWAY_LINE_LIST[listLinePutAwayKey].palletList.SequenceEqual(palletList)) || (PUTAWAY_LINE_LIST[listLinePutAwayKey].valid != mixedStations[mixedDictKey].props.cam.lineArray[lineIndex.ToString()].valid) || (PUTAWAY_LINE_LIST[listLinePutAwayKey].palletWarningKey != mixedStations[mixedDictKey].props.cam.lineArray[lineIndex.ToString()].palletWarning)) { PUTAWAY_LINE_LIST[listLinePutAwayKey].valid = mixedStations[mixedDictKey].props.cam.lineArray[lineIndex.ToString()].valid; PUTAWAY_LINE_LIST[listLinePutAwayKey].palletWarningKey = mixedStations[mixedDictKey].props.cam.lineArray[lineIndex.ToString()].palletWarning; PUTAWAY_LINE_LIST[listLinePutAwayKey].palletList = palletList; updateLog = "Updated line PW: " + listLinePutAwayKey + "-" + updateLog; updateLog = updateLog + "-useable: " + PUTAWAY_LINE_LIST[listLinePutAwayKey].valid;// + "-palletWarningKey: " + PUTAWAY_LINE_LIST[listLinePutAwayKey].palletWarningKey; RegistrationAgent.mainWindowPointer.LogConsole(updateLog, "logStation"); //LogWriter.LogWrite("Area\\Area" + area, updateLog, "PutAway-" + listLinePutAwayKey); } } else { string deleteLog = ""; deleteLog = "Deleted line PW: " + listLinePutAwayKey + "-" + deleteLog; deleteLog = deleteLog + "-useable: " + PUTAWAY_LINE_LIST[listLinePutAwayKey].valid;// + "-palletWarningKey: " + PUTAWAY_LINE_LIST[listLinePutAwayKey].palletWarningKey; RegistrationAgent.mainWindowPointer.LogConsole(deleteLog, "logStation"); //LogWriter.LogWrite("Area\\Area" + area, deleteLog, "PutAway-" + listLinePutAwayKey); PUTAWAY_LINE_LIST.Remove(listLinePutAwayKey); //Full roi thi xoa luon Line Putaway } } } }
private void ProcessDocking(string dockingDictKey) { string stationNameID = dockingDictKey.Split('-')[1]; int NUMBER_OF_LINE = dockingStations[dockingDictKey].props.cam.numLs; int NUMBER_OF_PALLET_PER_LINE = dockingStations[dockingDictKey].props.cam.numPsPL; for (int lineIndex = 0; lineIndex < NUMBER_OF_LINE; lineIndex++) //Scan all Line { string listLineDockingKey = stationNameID + "-" + lineIndex; //New or Update if (DOCKING_LINE_LIST.ContainsKey(listLineDockingKey) == false) // ==> NEW { OrderLineInfo dockLineInfoTemp = new OrderLineInfo { stationNameID = stationNameID, line = lineIndex, orderedPallets = 0, palletList = new List <int>(), ordered = false, removable = false, valid = true, palletWarningKey = "-1" }; for (int palletIndex = 0; palletIndex < NUMBER_OF_PALLET_PER_LINE; palletIndex++) { if (dockingStations[dockingDictKey].props.cam.lineArray[lineIndex.ToString()].palletArray[palletIndex.ToString()] == "yes") { dockLineInfoTemp.palletList.Add(palletIndex); dockLineInfoTemp.valid = dockingStations[dockingDictKey].props.cam.lineArray[lineIndex.ToString()].valid; dockLineInfoTemp.palletWarningKey = dockingStations[dockingDictKey].props.cam.lineArray[lineIndex.ToString()].palletWarning; DOCKING_LINE_LIST.Add(listLineDockingKey, dockLineInfoTemp); string addLog = ""; for (int i = 0; i < dockLineInfoTemp.palletList.Count(); i++) { addLog = addLog + "[" + dockLineInfoTemp.palletList[i] + "]"; } addLog = "Added line DK: " + listLineDockingKey + "-" + addLog; addLog = addLog + "-useable: " + dockLineInfoTemp.valid;// + "-palletWarningKey: " + dockLineInfoTemp.palletWarningKey; RegistrationAgent.mainWindowPointer.LogConsole(addLog, "logStation"); //LogWriter.LogWrite("Area\\Area" + area, addLog, "Docking-" + listLineDockingKey); break; } } } else // Đã tồn tại Line Docking [listLineDockingKey] ==> UPDATE { List <int> palletList = new List <int>(); for (int palletIndex = 0; palletIndex < NUMBER_OF_PALLET_PER_LINE; palletIndex++) { if (dockingStations[dockingDictKey].props.cam.lineArray[lineIndex.ToString()].palletArray[palletIndex.ToString()] == "yes") { palletList.Add(palletIndex); string updateLog = ""; for (int i = 0; i < palletList.Count(); i++) { updateLog = updateLog + "[" + palletList[i] + "]"; } if ((!DOCKING_LINE_LIST[listLineDockingKey].palletList.SequenceEqual(palletList)) || (DOCKING_LINE_LIST[listLineDockingKey].valid != dockingStations[dockingDictKey].props.cam.lineArray[lineIndex.ToString()].valid) || (DOCKING_LINE_LIST[listLineDockingKey].palletWarningKey != dockingStations[dockingDictKey].props.cam.lineArray[lineIndex.ToString()].palletWarning)) { DOCKING_LINE_LIST[listLineDockingKey].valid = dockingStations[dockingDictKey].props.cam.lineArray[lineIndex.ToString()].valid; DOCKING_LINE_LIST[listLineDockingKey].palletWarningKey = dockingStations[dockingDictKey].props.cam.lineArray[lineIndex.ToString()].palletWarning; DOCKING_LINE_LIST[listLineDockingKey].palletList = palletList; updateLog = "Updated line DK: " + listLineDockingKey + "-" + updateLog; updateLog = updateLog + "-useable: " + DOCKING_LINE_LIST[listLineDockingKey].valid;// + "-palletWarningKey: " + DOCKING_LINE_LIST[listLineDockingKey].palletWarningKey; RegistrationAgent.mainWindowPointer.LogConsole(updateLog, "logStation"); //LogWriter.LogWrite("Area\\Area" + area, updateLog, "Docking-" + listLineDockingKey); } break; } } if (palletList.Count == 0) { //Trống line thì xóa khỏi List Line Docking string deleteLog = ""; deleteLog = "Deleted line DK: " + listLineDockingKey + "-" + deleteLog; deleteLog = deleteLog + "-useable: " + DOCKING_LINE_LIST[listLineDockingKey].valid;// + "-palletWarningKey: " + DOCKING_LINE_LIST[listLineDockingKey].palletWarningKey; RegistrationAgent.mainWindowPointer.LogConsole(deleteLog, "logStation"); //LogWriter.LogWrite("Area\\Area" + area, deleteLog, "Docking-" + listLineDockingKey); DOCKING_LINE_LIST.Remove(listLineDockingKey); } } } }
private void ProcessPutAway(string putAwayDictKey) { string stationNameID = putAwayDictKey.Split('-')[1]; int NUMBER_OF_LINE = putAwayStations[putAwayDictKey].properties.camera.no_lines; int NUMBER_OF_PALLET_PER_LINE = putAwayStations[putAwayDictKey].properties.camera.no_pallet_per_lines; for (int lineIndex = 0; lineIndex < NUMBER_OF_LINE; lineIndex++) { string listLinePutAwayKey = stationNameID + "-" + lineIndex; //New or Update if (PUTAWAY_LINE_LIST.ContainsKey(listLinePutAwayKey) == false) //NEW { OrderLineInfo putLineInfoTemp = new OrderLineInfo { stationNameID = stationNameID, line = lineIndex, orderedPallets = 0, palletList = new List <int>(), ordered = false, removable = false, valid = true, palletWarningKey = "-1" }; for (int palletIndex = NUMBER_OF_PALLET_PER_LINE - 1; palletIndex >= 0; palletIndex--) { if (putAwayStations[putAwayDictKey].properties.camera.lines_detail[lineIndex.ToString()].pallets_detail[palletIndex.ToString()] == "no") { putLineInfoTemp.palletList.Add(palletIndex); } else if (putAwayStations[putAwayDictKey].properties.camera.lines_detail[lineIndex.ToString()].pallets_detail[palletIndex.ToString()] == "yes") //Chỉ lấy nhũng pallet ở dưới phòng pallet được lấy đi ở đầu hàng { putLineInfoTemp.palletList.Clear(); } } if (putLineInfoTemp.palletList.Count > 0) { putLineInfoTemp.palletList.Sort((a, b) => - 1 * a.CompareTo(b)); // Descending sort putLineInfoTemp.palletList = putLineInfoTemp.palletList.Take(1).ToList(); putLineInfoTemp.valid = putAwayStations[putAwayDictKey].properties.camera.lines_detail[lineIndex.ToString()].valid; putLineInfoTemp.palletWarningKey = putAwayStations[putAwayDictKey].properties.camera.lines_detail[lineIndex.ToString()].palletWarning; PUTAWAY_LINE_LIST.Add(listLinePutAwayKey, putLineInfoTemp); string addLog = ""; for (int i = 0; i < putLineInfoTemp.palletList.Count(); i++) { addLog = addLog + "[" + putLineInfoTemp.palletList[i] + "]"; } addLog = "Added line PW: " + listLinePutAwayKey + "-" + addLog; addLog = addLog + "-useable: " + PUTAWAY_LINE_LIST[listLinePutAwayKey].valid;// + "-palletWarningKey: " + PUTAWAY_LINE_LIST[listLinePutAwayKey].palletWarningKey; RegistrationAgent.mainWindowPointer.LogConsole(addLog, "logStation"); //LogWriter.LogWrite("Area\\Area" + area, addLog, "PutAway-" + listLinePutAwayKey); } } else //UPDATE { List <int> palletList = new List <int>(); for (int palletIndex = NUMBER_OF_PALLET_PER_LINE - 1; palletIndex >= 0; palletIndex--) { if (putAwayStations[putAwayDictKey].properties.camera.lines_detail[lineIndex.ToString()].pallets_detail[palletIndex.ToString()] == "no") { palletList.Add(palletIndex); } else if (putAwayStations[putAwayDictKey].properties.camera.lines_detail[lineIndex.ToString()].pallets_detail[palletIndex.ToString()] == "yes") //Chỉ lấy nhũng pallet ở dưới phòng pallet được lấy đi ở đầu hàng { palletList.Clear(); } } if (palletList.Count > 0) { palletList.Sort((a, b) => - 1 * a.CompareTo(b)); // Descending sort palletList = palletList.Take(1).ToList(); string updateLog = ""; for (int i = 0; i < palletList.Count(); i++) { updateLog = updateLog + "[" + palletList[i] + "]"; } if ((!PUTAWAY_LINE_LIST[listLinePutAwayKey].palletList.SequenceEqual(palletList)) || (PUTAWAY_LINE_LIST[listLinePutAwayKey].valid != putAwayStations[putAwayDictKey].properties.camera.lines_detail[lineIndex.ToString()].valid) || (PUTAWAY_LINE_LIST[listLinePutAwayKey].palletWarningKey != putAwayStations[putAwayDictKey].properties.camera.lines_detail[lineIndex.ToString()].palletWarning)) { PUTAWAY_LINE_LIST[listLinePutAwayKey].valid = putAwayStations[putAwayDictKey].properties.camera.lines_detail[lineIndex.ToString()].valid; PUTAWAY_LINE_LIST[listLinePutAwayKey].palletWarningKey = putAwayStations[putAwayDictKey].properties.camera.lines_detail[lineIndex.ToString()].palletWarning; PUTAWAY_LINE_LIST[listLinePutAwayKey].palletList = palletList; updateLog = "Updated line PW: " + listLinePutAwayKey + "-" + updateLog; updateLog = updateLog + "-useable: " + PUTAWAY_LINE_LIST[listLinePutAwayKey].valid;// + "-palletWarningKey: " + PUTAWAY_LINE_LIST[listLinePutAwayKey].palletWarningKey; RegistrationAgent.mainWindowPointer.LogConsole(updateLog, "logStation"); //LogWriter.LogWrite("Area\\Area" + area, updateLog, "PutAway-" + listLinePutAwayKey); } } else { string deleteLog = ""; deleteLog = "Deleted line PW: " + listLinePutAwayKey + "-" + deleteLog; deleteLog = deleteLog + "-useable: " + PUTAWAY_LINE_LIST[listLinePutAwayKey].valid;// + "-palletWarningKey: " + PUTAWAY_LINE_LIST[listLinePutAwayKey].palletWarningKey; RegistrationAgent.mainWindowPointer.LogConsole(deleteLog, "logStation"); //LogWriter.LogWrite("Area\\Area" + area, deleteLog, "PutAway-" + listLinePutAwayKey); PUTAWAY_LINE_LIST.Remove(listLinePutAwayKey); //Full roi thi xoa luon Line Putaway } } } }