| | |
| | | using WIDESEA_WMS.IRepositories; |
| | | using WIDESEA_WMS.Repositories; |
| | | using static FreeSql.Internal.GlobalFilter; |
| | | using static System.Collections.Specialized.BitVector32; |
| | | |
| | | namespace WIDESEA_WMS.Common |
| | | { |
| | |
| | | VOLContext context = new VOLContext(); |
| | | Idt_agvtask_htyRepository htyRepository = new dt_agvtask_htyRepository(context); |
| | | Idt_agvtaskRepository repository = new dt_agvtaskRepository(context); |
| | | Idt_mes_headRepository idt_Mes_Head = new dt_mes_headRepository(context); |
| | | Idt_mes_detailRepository idt_Mes_Detail=new dt_mes_detailRepository(context); |
| | | |
| | | if (task.agv_worktype == 17) |
| | | { |
| | | string[] bindSNs = task.bindSN.Split(","); |
| | | foreach (var item in bindSNs) |
| | | { |
| | | var mes_detail = idt_Mes_Detail.Find(x => x.SN == item).FirstOrDefault(); |
| | | var mes_head= idt_Mes_Head.Find(x=>x.jobID==mes_detail.jobID).FirstOrDefault(); |
| | | if(mes_head != null) |
| | | { |
| | | |
| | | mes_head.agv_finishNum = mes_head.agv_finishNum == null ? task.agv_qty : mes_head.agv_finishNum + task.agv_qty; |
| | | idt_Mes_Head.Update(mes_head, x => new { x.agv_finishNum }, true); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | dt_agvtask_hty agvtask_Hty = new dt_agvtask_hty() |
| | | { |
| | | hty_pkid = Guid.NewGuid(), |
| | |
| | | List<dt_inventory> inventorys = new List<dt_inventory>(); |
| | | foreach (string bindSN in bindSNs) |
| | | { |
| | | var mes_Work = freeDB.Select<VV_Mes_Workinfo>().Where(x => x.SN == bindSN && x.processCode == "17").First(); |
| | | var mes_Work = freeDB.Select<VV_Mes_Workinfo>().Where(x => x.SN == bindSN && x.processCode == "17").OrderByDescending(x => x.CreateTime).First(); |
| | | if (mes_Work == null) |
| | | throw new Exception("æªæ¾å°å·¥åä¿¡æ¯ï¼"); |
| | | var station = freeDB.Select<dt_stationinfo>().Where(x => x.stationCode == task.agv_toaddress).First(); |
| | |
| | | if (task.agv_taskstate == AGVTaskStateEnum.Complete1.ToString()) |
| | | { |
| | | var station2 = stationinfoRepository.FindFirst(t => t.stationCode == task.agv_toaddress); |
| | | if (station2 == null) throw new Exception("æªæ¾å°ç»ç¹å°åï¼"); |
| | | ////空æä»»å¡éä¿®æ¹é»è¾ |
| | | if (station2.stationCode.Contains("X")) |
| | | station2.quantity = 0;// task.agv_tasktype.Contains("TaskType_EmptyPallet") ? 0 : task.agv_qty; //task.agv_qty; |
| | |
| | | else if (task.agv_taskstate == AGVTaskStateEnum.Complete.ToString()) |
| | | { |
| | | var station1 = stationinfoRepository.FindFirst(t => t.stationCode == task.agv_fromaddress); |
| | | if (station1 == null) throw new Exception("æªæ¾å°èµ·ç¹å°åï¼"); |
| | | #region MyRegion |
| | | //if (station1.stationCode.Contains("S")) |
| | | // station1.quantity = 0; |
| | |
| | | station1.quantity = station1.quantity - task.agv_qty; |
| | | station1.location_state = LocationStateEnum.Stroge.ToString(); |
| | | } |
| | | else if (station1.area == "10" || station1.area == "11" || (station1.stationCode.Contains("C") && task.agv_tasktype == "TaskType_EmptyPallet")) //åºåºç©ºæä»»å¡ |
| | | else if (station1.area == "10" || station1.area == "11" |
| | | || ((station1.stationCode.Contains("C") || station1.stationCode.Contains("B")) |
| | | && task.agv_tasktype == AGVTaskTypeEnum.TaskType_EmptyPallet.ToString())) //åºåºç©ºæä»»å¡ |
| | | { |
| | | station1.location_state = LocationStateEnum.Stroge.ToString(); |
| | | station1.quantity = station1.quantity - 1; |