| | |
| | | using WIDESEA_Comm; |
| | | using WIDESEA_Comm.TaskNo; |
| | | using WIDESEA_Common; |
| | | using static FreeSql.Internal.GlobalFilter; |
| | | |
| | | namespace WIDESEA_WMS.Services |
| | | { |
| | |
| | | VOLContext context = new VOLContext(); |
| | | Idt_agvtaskRepository agvtaskRepository = new dt_agvtaskRepository(context); |
| | | IVV_Mes_WorkinfoRepository workinfoRepository = new VV_Mes_WorkinfoRepository(context); |
| | | string json = string.Empty; |
| | | foreach (var Key in saveModel.DelKeys) |
| | | { |
| | | try |
| | | { |
| | | var station = repository.Find(x => x.id.ToString() == Key.ToString()).FirstOrDefault(); |
| | | json = json + station.stationCode + ","; |
| | | if (!station.stationCode.Contains("X") && !station.stationCode.Contains("W01001004") && !station.stationCode.Contains("W01001005")) throw new Exception($"æ {station.stationCode}ä½¿ç¨æéï¼"); |
| | | if (!station.enable) throw new Exception($"{station.stationCode}æªå¯ç¨ï¼"); |
| | | if (station.location_state == LocationStateEnum.Abnormal.ToString()) throw new Exception($"{station.stationCode}ç¶æå¼å¸¸ï¼"); |
| | |
| | | webResponse.Error(webResponse.Message += ex.Message); |
| | | } |
| | | } |
| | | WriteDBLog.Write($"æå¨åæ¢æç ", new { ä¿¡æ¯ = webResponse.Message }, LogState.Sucess, "WMS", UserContext.Current.UserName); |
| | | return webResponse; |
| | | } |
| | | /// <summary> |
| | |
| | | Idt_agvtaskRepository agvtaskRepository = new dt_agvtaskRepository(context); |
| | | IVV_Mes_WorkinfoRepository workinfoRepository = new VV_Mes_WorkinfoRepository(context); |
| | | string completor = UserContext.Current.UserName; |
| | | object json = null; |
| | | foreach (var Key in saveModel.DelKeys) |
| | | { |
| | | try |
| | |
| | | if (agvtaskRepository.Find(x => x.agv_fromaddress == station.stationCode || x.agv_fromaddress == station.stationCode).Any()) throw new Exception($"{station.stationCode}åå¨ä»»å¡ï¼"); |
| | | var Work = workinfoRepository.Find(x => x.workOrder == station.Number && x.processCode == "17").FirstOrDefault(); |
| | | if (Work == null) throw new Exception($"æªæ¾å°è´§ä½{station.stationCode}çæºå 工工åä¿¡æ¯ï¼"); |
| | | string tasktype = AGVTaskTypeEnum.TaskType_Inbound.ToString(); |
| | | if (!string.IsNullOrEmpty(Work.area) || station.stationCode.Contains("3")) |
| | | tasktype = AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString(); |
| | | dt_agvtask agvtask = new dt_agvtask() |
| | | { |
| | | agv_fromaddress = station.stationCode, |
| | |
| | | agv_taskstate = AGVTaskStateEnum.Queue.ToString(), |
| | | agv_materielid = station.stationType, |
| | | agv_qty = station.quantity, |
| | | agv_tasktype = station.stationCode.Contains("3") ? AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString() : AGVTaskTypeEnum.TaskType_Inbound.ToString(), |
| | | agv_tasktype = tasktype, |
| | | agv_toaddress = "", |
| | | agv_userid = UserContext.Current.UserName, |
| | | agv_userid = completor, |
| | | bindSN = station.bindSN, |
| | | agv_worktype = Convert.ToInt32(Work.processCode), |
| | | agv_materbarcode = Work.materialCode, |
| | |
| | | jobID = station.Number, |
| | | agv_TrayStatus = station.tray_status |
| | | }; |
| | | json = agvtask; |
| | | agvtaskRepository.Add(agvtask, true); |
| | | station.location_state = LocationStateEnum.InBusy.ToString(); |
| | | repository.Update(station, x => new { x.location_state }, true); |
| | |
| | | webResponse.Error(webResponse.Message += ex.Message); |
| | | } |
| | | } |
| | | WriteDBLog.Write($"æå¨ä¸æä»»å¡ ", new { ä¿¡æ¯ = webResponse.Message, æ°æ® = json }, LogState.Sucess, "WMS", completor); |
| | | return webResponse; |
| | | } |
| | | |