| | |
| | | agv_completedate = DateTime.Now, |
| | | agv_grade = task.agv_grade, |
| | | agv_userid = task.agv_userid, |
| | | agv_barcode = task.agv_barcode, |
| | | agv_code = task.agv_code, |
| | | agv_Traytype = task.agv_Traytype, |
| | | agv_TrayStatus = task.agv_TrayStatus, |
| | | agv_worktype = task.agv_worktype, |
| | | agv_remark = task.agv_remark, |
| | | bindSN = task.bindSN, |
| | | jobID = task.jobID, |
| | | agv_materbarcode = task.agv_materbarcode, |
| | | }; |
| | | htyRepository.Add(agvtask_Hty, true); |
| | |
| | | /// <param name="task"></param> |
| | | public static void Updateinventory(dt_agvtask task) |
| | | { |
| | | string[] bindSNs = task.bindSN.Split(","); |
| | | int count = 0; |
| | | if (bindSNs.Length > 0) |
| | | //string[] bindSNs = task.bindSN.Split(","); |
| | | //int count = 0; |
| | | //if (bindSNs.Length > 0) |
| | | //{ |
| | | if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceCarry.ToString()) |
| | | { |
| | | if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceCarry.ToString()) |
| | | string[] bindSNs = task.bindSN.Split(","); |
| | | int count = 0; |
| | | foreach (var bindSN in bindSNs) |
| | | { |
| | | foreach (var bindSN in bindSNs) |
| | | { |
| | | //List<dt_inventory> inventorys = new List<dt_inventory>(); |
| | | var inventory = freeDB.Select<dt_inventory>().Where(x => x.SN == bindSN).First(); |
| | | //inventorys.Add(inventory); |
| | | count = freeDB.Remove(inventory); |
| | | if (count < 1) |
| | | throw new Exception("åºåæ¸
é¤å¤±è´¥ï¼SNå·:" + bindSN); |
| | | } |
| | | |
| | | } |
| | | else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString()) |
| | | { |
| | | List<dt_inventory> inventorys = new List<dt_inventory>(); |
| | | foreach (string bindSN in bindSNs) |
| | | { |
| | | var mes_detail = freeDB.Select<dt_mes_detail>().Where(x => x.SN == bindSN).First(); |
| | | var mes_head = freeDB.Select<dt_mes_head>().Where(x => x.jobID == mes_detail.jobID).First(); |
| | | var station = freeDB.Select<dt_stationinfo>().Where(x => x.stationCode == task.agv_toaddress).First(); |
| | | dt_inventory inventory = new dt_inventory() |
| | | { |
| | | SN = bindSN, |
| | | Name = mes_head.productName, |
| | | FigureNumber = mes_head.drawingNo, |
| | | //HearthNumber = "", |
| | | HeatNumber = mes_detail.heatID, |
| | | BilletNumber = mes_detail.billetID, |
| | | OnlineTime = task.agv_finishedtime, |
| | | Operator = "admin", |
| | | stationCode = task.agv_toaddress, |
| | | area = station.area, |
| | | jobID = mes_detail.jobID, |
| | | ID = Guid.NewGuid() |
| | | }; |
| | | inventorys.Add(inventory); |
| | | } |
| | | count = freeDB.AddRange(inventorys); |
| | | //List<dt_inventory> inventorys = new List<dt_inventory>(); |
| | | var inventory = freeDB.Select<dt_inventory>().Where(x => x.SN == bindSN).First(); |
| | | //inventorys.Add(inventory); |
| | | count = freeDB.Remove(inventory); |
| | | if (count < 1) |
| | | throw new Exception("åºåæ·»å 失败ï¼åºä½å·:" + task.agv_toaddress); |
| | | throw new Exception("åºåæ¸
é¤å¤±è´¥ï¼SNå·:" + bindSN); |
| | | } |
| | | |
| | | //var Materiel = QueryData.QueryMateriel(task.agv_materielid); |
| | | //List<dt_inventory> inventorys = new List<dt_inventory>(); |
| | | //foreach (string bindSN in bindSNs) |
| | | //{ |
| | | // dt_inventory inventory = new dt_inventory() |
| | | // { |
| | | // SN = bindSN,//å¾
å®å |
| | | // Name = "", |
| | | // FigureNumber = "", |
| | | // //HearthNumber = "", |
| | | // HeatNumber = "", |
| | | // //BilletNumber=, |
| | | // OnlineTime = task.agv_finishedtime, |
| | | // Operator = "admin", |
| | | // stationCode = task.agv_toaddress, |
| | | // area = "", |
| | | // jobID = "", |
| | | // }; |
| | | // inventorys.Add(inventory); |
| | | //} |
| | | //if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString()) |
| | | // freeDB.AddRange(inventorys); |
| | | //else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceOutbound.ToString()) |
| | | // freeDB.Remove(inventorys); |
| | | } |
| | | else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString()) |
| | | { |
| | | string[] bindSNs = task.bindSN.Split(","); |
| | | int count = 0; |
| | | List<dt_inventory> inventorys = new List<dt_inventory>(); |
| | | foreach (string bindSN in bindSNs) |
| | | { |
| | | var mes_detail = freeDB.Select<dt_mes_detail>().Where(x => x.SN == bindSN).First(); |
| | | if (mes_detail == null) |
| | | throw new Exception("æªæ¾å°å·¥åä¿¡æ¯ï¼"); |
| | | var mes_head = freeDB.Select<dt_mes_head>().Where(x => x.jobID == mes_detail.jobID).First(); |
| | | if (mes_head == null) |
| | | throw new Exception("æªæ¾å°å·¥åä¿¡æ¯ï¼"); |
| | | var station = freeDB.Select<dt_stationinfo>().Where(x => x.stationCode == task.agv_toaddress).First(); |
| | | dt_inventory inventory = new dt_inventory() |
| | | { |
| | | SN = bindSN, |
| | | Name = mes_head.productName, |
| | | FigureNumber = mes_head.drawingNo, |
| | | materialCode = task.agv_materbarcode, |
| | | HeatNumber = mes_detail.heatID, |
| | | BilletNumber = mes_detail.billetID, |
| | | OnlineTime = task.agv_finishedtime, |
| | | Operator = "admin", |
| | | stationCode = task.agv_toaddress, |
| | | area = station.area, |
| | | jobID = mes_detail.jobID, |
| | | ID = Guid.NewGuid() |
| | | }; |
| | | inventorys.Add(inventory); |
| | | } |
| | | count = freeDB.AddRange(inventorys); |
| | | if (count < 1) |
| | | throw new Exception("åºåæ·»å 失败ï¼åºä½å·:" + task.agv_toaddress); |
| | | } |
| | | #region MyRegion |
| | | //var Materiel = QueryData.QueryMateriel(task.agv_materielid); |
| | | //List<dt_inventory> inventorys = new List<dt_inventory>(); |
| | | //foreach (string bindSN in bindSNs) |
| | | //{ |
| | | // dt_inventory inventory = new dt_inventory() |
| | | // { |
| | | // SN = bindSN,//å¾
å®å |
| | | // Name = "", |
| | | // FigureNumber = "", |
| | | // //HearthNumber = "", |
| | | // HeatNumber = "", |
| | | // //BilletNumber=, |
| | | // OnlineTime = task.agv_finishedtime, |
| | | // Operator = "admin", |
| | | // stationCode = task.agv_toaddress, |
| | | // area = "", |
| | | // jobID = "", |
| | | // }; |
| | | // inventorys.Add(inventory); |
| | | //} |
| | | //if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString()) |
| | | // freeDB.AddRange(inventorys); |
| | | //else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceOutbound.ToString()) |
| | | // freeDB.Remove(inventorys); |
| | | #endregion |
| | | |
| | | //} |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | var station1 = stationinfoRepository.FindFirst(t => t.stationCode == task.agv_fromaddress); |
| | | var station2 = stationinfoRepository.FindFirst(t => t.stationCode == task.agv_toaddress); |
| | | |
| | | station2.quantity = station1.quantity; |
| | | station2.bindSN = station1.bindSN; |
| | | station2.location_state = LocationStateEnum.Stroge.ToString(); |
| | | station2.Number = task.jobID; |
| | | station2.heatNumber = station1.heatNumber; |
| | | station2.stationType = station1.stationType; |
| | | station2.tray_status = station1.tray_status;//横æ¾/ç«æ¾ |
| | | stationinfoRepository.Update(station2, true); |
| | | if (task.agv_taskstate == AGVTaskStateEnum.Complete1.ToString()) |
| | | { |
| | | ////空æä»»å¡éä¿®æ¹é»è¾ |
| | | if (station2.stationCode.Contains("X")) |
| | | station2.quantity = 0;// task.agv_tasktype.Contains("TaskType_EmptyPallet") ? 0 : task.agv_qty; //task.agv_qty; |
| | | else if (station2.area == "10" || station2.area == "11") //å
¥åºç©ºæä»»å¡ |
| | | station2.quantity = station2.quantity + task.agv_qty; |
| | | else |
| | | station2.quantity = task.agv_qty; |
| | | station2.bindSN = task.bindSN; |
| | | station2.location_state = LocationStateEnum.Stroge.ToString(); |
| | | station2.Number = task.jobID; |
| | | //station2.heatNumber = station1.heatNumber; |
| | | station2.stationType = task.agv_materielid; |
| | | station2.tray_status = task.agv_TrayStatus;//横æ¾/ç«æ¾ |
| | | station2.tray_type = task.agv_Traytype; |
| | | stationinfoRepository.Update(station2, true); |
| | | } |
| | | else if (task.agv_taskstate == AGVTaskStateEnum.Complete.ToString()) |
| | | { |
| | | #region MyRegion |
| | | //if (station1.stationCode.Contains("S")) |
| | | // station1.quantity = 0; |
| | | //else if (station2.stationCode.Contains("X") || station2.stationCode.Contains("W01001004") || station2.stationCode.Contains("W01001005"))//åºåºç©ºæä»»å¡ |
| | | //{ |
| | | // station1.location_state = LocationStateEnum.Stroge.ToString(); |
| | | // station1.quantity = station1.quantity - 1; |
| | | //} |
| | | //else |
| | | // station1.quantity = 0; |
| | | #endregion |
| | | |
| | | station1.quantity = 0; |
| | | station1.bindSN = string.Empty; |
| | | station1.location_state = LocationStateEnum.Empty.ToString(); |
| | | station1.Number = string.Empty; |
| | | station1.heatNumber = string.Empty; |
| | | station1.stationType = string.Empty; |
| | | station1.tray_status = LocationStateEnum.Empty.ToString(); |
| | | stationinfoRepository.Update(station1, true); |
| | | if (station1.area == "10" || station1.area == "11") //åºåºç©ºæä»»å¡ |
| | | { |
| | | station1.location_state = LocationStateEnum.Stroge.ToString(); |
| | | station1.quantity = station1.quantity - 1; |
| | | } |
| | | else |
| | | station1.quantity = 0; |
| | | station1.bindSN = string.Empty; |
| | | //station1.location_state = station1.quantity == 0 ? LocationStateEnum.Empty.ToString() : LocationStateEnum.Stroge.ToString(); |
| | | if (station1.quantity == 0) |
| | | { |
| | | station1.location_state = LocationStateEnum.Empty.ToString(); |
| | | station1.Number = string.Empty; |
| | | station1.heatNumber = string.Empty; |
| | | station1.stationType = string.Empty; |
| | | station1.tray_status = string.Empty; |
| | | station1.remark = string.Empty; |
| | | if (!station1.stationCode.Contains("X") && !station1.stationCode.Contains("S") && !station1.stationCode.Contains("W01001004") && !station1.stationCode.Contains("W01001005")) |
| | | station1.tray_type = string.Empty; |
| | | } |
| | | stationinfoRepository.Update(station1, true); |
| | | } |
| | | } |
| | | } |
| | | } |