public int GetPalletId_Return(String dataReq) { PalletINF palletInF = new PalletINF(); int palletId = -1; String collectionData = RequestDataProcedure(dataReq, Global_Object.url + "buffer/getListBufferReturn"); if (collectionData.Length > 0) { try { JArray results = JArray.Parse(collectionData); foreach (var result in results) { if (result["pallets"].Count() > 0) { var palletInfo = result["pallets"][0]; palletId = (int)palletInfo["palletId"]; break; } } } catch { } } return(palletId); }
public PalletINF GetRowBayPalletPlaned(String dataRequest, int palletId_P) { PalletINF palletINF = new PalletINF(); try { String collectionData = RequestDataProcedure(dataRequest, Global_Object.url + "plan/getListPlanPallet"); if (collectionData.Length > 0) { JArray results = JArray.Parse(collectionData); foreach (var result in results) { int temp_planId = (int)result["planId"]; { foreach (var buffer in result["buffers"]) { int bufferId = (int)buffer["bufferId"]; if (buffer["pallets"].Count() > 0) { foreach (var palletInfo in buffer["pallets"]) { int bay = (int)palletInfo["bay"]; int row = (int)palletInfo["row"]; int palletId = (int)palletInfo["palletId"]; if (palletId == palletId_P) { palletINF.palletId = palletId; palletINF.bay = bay; palletINF.row = row; palletINF.ofBufferId = bufferId; return(palletINF); } } } else { continue; } } break; } } } } catch { Console.WriteLine("Error Front Line"); } return(null); }
public PalletINF GetPalletId(String dataReq) { PalletINF palletINF = new PalletINF(); int palletId = -1; String collectionData = RequestDataProcedure(dataReq, Global_Object.url + "plan/getListPlanPallet"); if (collectionData.Length > 0) { try { JArray results = JArray.Parse(collectionData); foreach (var result in results) { foreach (var buffer in result["buffers"]) { int bufferId = (int)buffer["bufferId"]; String bufferDataStr = (String)buffer["bufferData"]; JObject stuffBData = JObject.Parse(bufferDataStr); bool canOpEdit = (bool)stuffBData["canOpEdit"]; if (canOpEdit) // buffer có edit nên bỏ qua lý do bởi buffer có edit nằm gần các máy { continue; } var bufferResults = buffer; var palletInfo = bufferResults["pallets"][0]; int bay = (int)palletInfo["bay"]; int row = (int)palletInfo["row"]; palletId = (int)palletInfo["palletId"]; JObject stuff = JObject.Parse((String)palletInfo["dataPallet"]); int bayId = (int)stuff["bayId"]; palletINF.palletId = palletId; palletINF.bayId = bayId; palletINF.bay = bay; palletINF.row = row; palletINF.ofBufferId = bufferId; return(palletINF); } } } catch { } } return(null); }
public OrderItem Gettask() { OrderItem item = null; int palletId = -1; { onFlagBusyGetTask = true; if (deviceItemsList.Count > 0) { try { item = deviceItemsList[0].GetOrder(); if (item == null) { return(null); } switch (item.typeReq) { case TyeRequest.TYPEREQUEST_BUFFER_TO_MACHINE: { if (item.onAssiged == false) { PalletINF palletIFBM = GetPalletId(item.dataRequest); if (palletIFBM != null) { palletId = palletIFBM.palletId; dynamic product = new JObject(); UpdatePalletStateToHold(palletId, item); product.timeWorkId = item.timeWorkId; product.activeDate = item.activeDate; product.productId = item.productId; product.productDetailId = item.productDetailId; // chu y sua product.palletStatus = PalletStatus.H.ToString(); // W item.dataRequest = product.ToString(); item.palletId_H = palletId; item.palletBay = palletIFBM.bay; item.palletRow = palletIFBM.row; item.bufferId = palletIFBM.ofBufferId; item.bayId = palletIFBM.bayId; item.onAssiged = true; if (checkRobotSameBayId(item.bayId)) { return(null); } else { return(item); } } else { item.status = StatusOrderResponseCode.ERROR_GET_PALLETID; deviceItemsList[0].RemoveOrder(item); return(null); } } else { if (checkRobotSameBayId(item.bayId)) { return(null); } else { return(item); } } } case TyeRequest.TYPEREQUEST_WMS_RETURN_PALLET_BUFFERRETURN_TO_BUFFER401: { PalletINF palletIFBRB401 = GetPalletId(item.dataRequest); if (palletIFBRB401 != null) { palletId = palletIFBRB401.palletId; dynamic productBR = new JObject(); UpdatePalletStateToHold(palletId, item); productBR.timeWorkId = item.timeWorkId; productBR.activeDate = item.activeDate; productBR.productId = item.productId; productBR.productDetailId = item.productDetailId; productBR.palletStatus = PalletStatus.H.ToString(); // đã giữ pallet lấy H item.dataRequest_BufferReturn = productBR.ToString(); item.palletId_H = palletId; item.palletBay = palletIFBRB401.bay; item.palletRow = palletIFBRB401.row; item.bufferId = palletIFBRB401.ofBufferId; dynamic productB401 = new JObject(); //UpdatePalletStateToHold(palletId, item); productB401.timeWorkId = item.timeWorkId; productB401.activeDate = item.activeDate; productB401.productId = item.productId; productB401.productDetailId = item.productDetailId; productB401.palletStatus = PalletStatus.P.ToString(); // đã có pallet lấy P item.dataRequest_Buffer401 = productB401.ToString(); return(item); } else { item.status = StatusOrderResponseCode.ERROR_GET_PALLETID; deviceItemsList[0].RemoveOrder(item); return(null); } } case TyeRequest.TYPEREQUEST_WMS_RETURN_PALLET_BUFFER_TO_GATE: { palletId = item.palletId; if (palletId > 0) { dynamic product = new JObject(); // UpdatePalletStateToReturn(palletId, item); product.timeWorkId = item.timeWorkId; product.activeDate = item.activeDate; product.productId = item.productId; product.productDetailId = item.productDetailId; // chu y sua product.palletStatus = PalletStatus.R.ToString(); // W item.dataRequest = product.ToString(); item.palletId_H = palletId; return(item); } else { item.status = StatusOrderResponseCode.ERROR_GET_PALLETID; deviceItemsList[0].RemoveOrder(item); return(null); } } case TyeRequest.TYPEREQUEST_MACHINE_TO_BUFFERRETURN: { PalletINF palletIFMBR = GetPalletId(item.dataRequest); if (palletIFMBR != null) { palletId = palletIFMBR.palletId; item.palletBay = palletIFMBR.bay; item.palletRow = palletIFMBR.row; item.palletId_P = palletId; item.bufferId = palletIFMBR.ofBufferId; UpdatePalletStateToPlan(palletId, item); } else { item.status = StatusOrderResponseCode.ERROR_GET_PALLETID; deviceItemsList[0].RemoveOrder(item); return(null); } } break; case TyeRequest.TYPEREQUEST_PALLET_EMPTY_MACHINE_TO_RETURN: palletId = GetPalletId_Return(item.dataRequest); if (palletId > 0) { item.palletId_F = palletId; dynamic product = new JObject(); UpdatePalletStateToPlan(palletId, item); product.palletStatus = PalletStatus.P.ToString(); // đã có pallet lấy P item.dataRequest = product.ToString(); } else { item.status = StatusOrderResponseCode.ERROR_GET_PALLETID; deviceItemsList[0].RemoveOrder(item); return(null); } break; case TyeRequest.TYPEREQUEST_FORLIFT_TO_BUFFER: if (item.onAssiged == false) { PalletINF palletINF = GetRowBayPalletPlaned(item.dataRequest, item.palletId_P); if (palletINF != null) { item.palletBay = palletINF.bay; item.palletRow = palletINF.row; item.bufferId = palletINF.ofBufferId; item.onAssiged = true; return(item); } else { item.status = StatusOrderResponseCode.ERROR_GET_PALLETID; deviceItemsList[0].RemoveOrder(item); return(null); } } else { return(item); } break; default: return(item); } } catch { } } onFlagBusyGetTask = false; } return(item); }