| | |
| | | using WIDESEAWCS_QuartzJob.Repository; |
| | | using WIDESEAWCS_QuartzJob.Service; |
| | | using static Microsoft.IO.RecyclableMemoryStreamManager; |
| | | using static System.Net.Mime.MediaTypeNames; |
| | | |
| | | namespace WIDESEAWCS_TaskInfoService |
| | | { |
| | |
| | | dt_Task.SourceAddress = item.startAddress; |
| | | dt_Task.TargetAddress = item.endAddress; |
| | | dt_Task.CurrentAddress = item.startAddress; |
| | | dt_Task.NextAddress = "0"; //ç®åææ |
| | | dt_Task.NextAddress = "1021"; //ç®åææ |
| | | dt_Task.Grade = item.priority; |
| | | dt_Task.WMSId = 0; //ç®åææ |
| | | BaseDal.AddData(dt_Task); |
| | | content.code = 0; |
| | | |
| | | int taskidt= BaseDal.QueryFirst(x=>x.TaskNum== dt_Task.TaskNum).TaskId; |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(taskidt, $"ç³»ç»èªå¨æµç¨ï¼å建任å¡"); |
| | | } |
| | | else if (item.type == 2) //åºåº |
| | | { |
| | |
| | | dt_Task.WMSId = 0; //ç®åææ |
| | | BaseDal.AddData(dt_Task); |
| | | content.code = 0; |
| | | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(dt_Task.TaskId,$"ç³»ç»èªå¨æµç¨ï¼å建任å¡"); |
| | | } |
| | | else |
| | | { |
| | |
| | | } |
| | | task.RGVTaskType = RGvtype; |
| | | bool updatesta = BaseDal.UpdateData(task); |
| | | string Meesgt = $"ç®æ å°åï¼{task.CurrentAddress},ä»»å¡ç±»åï¼{rwlx}ï¼ä¿®æ¹ç¶æï¼{updatesta}"; |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, Meesgt); |
| | | |
| | | content = WebResponseContent.Instance.OK(); |
| | | } |
| | |
| | | task.ExceptionMessage = message; |
| | | task.ModifyDate = DateTime.Now; |
| | | BaseDal.UpdateData(task); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, task.ExceptionMessage); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, "æ´æ°ä»»å¡å¼å¸¸ï¼"+task.ExceptionMessage); |
| | | content = WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |
| | |
| | | task.Modifier = "System"; |
| | | BaseDal.UpdateData(task); |
| | | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, App.User.UserId > 0 ? $"人工æå¨å°ä»»å¡ç¶æä»ã{oldState}ã跳转å°ã{task.TaskState}ã" : $"ç³»ç»èªå¨æµç¨ï¼ä»»å¡ç¶æä»ã{oldState}ã转å°ã{task.TaskState}ã"); |
| | | string oldstaterem = _taskExecuteDetailService.GetEnumDescription(oldState); //åä¸ä¸ªç¶æ |
| | | string afterstaterem = _taskExecuteDetailService.GetEnumDescription(task.TaskState); //åä¸ä¸ªç¶æ |
| | | |
| | | string rgvtyperem = _taskExecuteDetailService.GetEnumDescription2(task.RGVTaskType); //åä¸ä¸ªç¶æ |
| | | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, App.User.UserId > 0 ? |
| | | $"人工æå¨å°ä»»å¡ç¶æä»ã{oldstaterem}ã跳转å°ã{afterstaterem}ã" |
| | | : $"ç³»ç»èªå¨æµç¨ï¼ä»»å¡ç¶æä»ã{oldstaterem}ã转å°ã{afterstaterem}ã"); |
| | | |
| | | content = WebResponseContent.Instance.OK(); |
| | | } |
| | |
| | | |
| | | BaseDal.UpdateData(task); |
| | | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"人工æ¢å¤æèµ·ä»»å¡,æ¢å¤æèµ·æ¶ä»»å¡ç¶æã{task.TaskState}ã"); |
| | | string afterstaterem = _taskExecuteDetailService.GetEnumDescription(task.TaskState); //åä¸ä¸ªç¶æ |
| | | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"人工æ¢å¤æèµ·ä»»å¡,æ¢å¤æèµ·æ¶ä»»å¡ç¶æã{afterstaterem}ã"); |
| | | |
| | | content = WebResponseContent.Instance.OK(); |
| | | } |
| | |
| | | if (task == null) return WebResponseContent.Instance.Error($"æªæ¾å°è¯¥ä»»å¡ä¿¡æ¯,ä»»å¡å·:ã{taskNum}ã"); |
| | | |
| | | int oldState = task.TaskState; |
| | | Dt_TaskExecuteDetail taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState < task.TaskState && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } }); |
| | | Dt_TaskExecuteDetail taskExecuteDetail = null; |
| | | |
| | | if (task.CurrentAddress == "1061") |
| | | { |
| | | taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState > task.TaskState && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } }); |
| | | } |
| | | else |
| | | { |
| | | taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState < task.TaskState && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } }); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | if (taskExecuteDetail != null) |
| | | { |
| | | task.TaskState = taskExecuteDetail.TaskState; |
| | |
| | | |
| | | BaseDal.UpdateData(task); |
| | | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"人工å°ä»»å¡ç¶æä»ã{oldState}ãåæ»å°ã{task.TaskState}ã"); |
| | | string oldstaterem = _taskExecuteDetailService.GetEnumDescription(oldState); //åä¸ä¸ªç¶æ |
| | | string afterstaterem = _taskExecuteDetailService.GetEnumDescription(task.TaskState); //åä¸ä¸ªç¶æ |
| | | |
| | | string rgvtyperem = _taskExecuteDetailService.GetEnumDescription2(task.RGVTaskType); //åä¸ä¸ªç¶æ |
| | | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, |
| | | $"人工æå¨å°ä»»å¡ç¶æä»ã{oldstaterem}ãåå½å°ã{afterstaterem}ã"); |
| | | |
| | | content = WebResponseContent.Instance.OK(); |
| | | } |
| | |
| | | /// </summary> |
| | | /// <param name="taskNum">ä»»å¡ç¼å·</param> |
| | | /// <returns>è¿åå¤çç»æ</returns> |
| | | public WebResponseContent UpdateTaskStatus(int taskNum) |
| | | public WebResponseContent UpdateTaskStatus(int taskNum, int Completetype) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | |
| | |
| | | task.ExceptionMessage = string.Empty; |
| | | BaseDal.UpdateData(task); |
| | | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail( |
| | | task.TaskId, |
| | | $"èªå¨ä»»å¡ç¶æä»ã{oldState}ãè¿å
¥å°ã{task.TaskState}ã" |
| | | ); |
| | | string oldstaterem = _taskExecuteDetailService.GetEnumDescription(oldState); //åä¸ä¸ªç¶æ |
| | | string afterstaterem = _taskExecuteDetailService.GetEnumDescription(task.TaskState); //åä¸ä¸ªç¶æ |
| | | |
| | | string rgvtyperem = _taskExecuteDetailService.GetEnumDescription2(task.RGVTaskType); //åä¸ä¸ªç¶æ |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, App.User.UserId > 0 ? |
| | | $"人工æå¨å°ä»»å¡ç¶æä»ã{oldstaterem}ã跳转å°ã{afterstaterem}ã" |
| | | : $"ç³»ç»èªå¨æµç¨ï¼ä»»å¡ç¶æä»ã{oldstaterem}ã转å°ã{afterstaterem}ã"); |
| | | |
| | | |
| | | if (task.TaskState == (int)TaskInStatusEnum.RGV_InMothercarFinish && Completetype==2) //å
¥åºä»»å¡å®æ |
| | | { |
| | | CompletedManually(task.TaskId, Completetype); |
| | | } |
| | | |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | |
| | | |
| | | private void HandleInboundZichemove(Dt_Task task) |
| | | { |
| | | var route = _routerRepository.QueryFirst(x => |
| | | x.IsEnd == true && |
| | | x.ChildPosi == task.NextAddress && |
| | | x.InOutType == 1 |
| | | ); |
| | | try |
| | | { |
| | | Dt_Router dt_Router = null; |
| | | task.TaskState = (int)TaskInStatusEnum.RGV_InZichemoveFinish; |
| | | if (task.TargetAddress == "4" || task.TargetAddress == "3") |
| | | { |
| | | dt_Router = _routerRepository.QueryFirst(x => |
| | | x.StartPosi == task.NextAddress && |
| | | x.InOutType == 1); |
| | | if (task.CurrentAddress != "1061") task.TaskState = (int)TaskInStatusEnum.RGV_InReleaseFinish; |
| | | |
| | | if (route == null) |
| | | throw new InvalidOperationException("æªæ¾å°å¯¹åºçç»æè·¯ç±"); |
| | | } |
| | | else |
| | | { |
| | | dt_Router = _routerRepository.QueryFirst(x => |
| | | x.IsEnd == true && |
| | | x.ChildPosi == task.NextAddress && |
| | | x.InOutType == 1); |
| | | } |
| | | |
| | | task.TaskState = (int)TaskInStatusEnum.RGV_InZichemoveFinish; |
| | | task.RGVTaskType = (int)RGVTaskTypeEnum.TravelingOnly; |
| | | task.CurrentAddress = route.StartPosi; |
| | | task.NextAddress = route.NextPosi; |
| | | task.Roadway = route.ChildPosiDeviceCode; |
| | | |
| | | if (dt_Router == null) |
| | | throw new InvalidOperationException("æªæ¾å°å¯¹åºçç»æè·¯ç±"); |
| | | |
| | | |
| | | |
| | | task.RGVTaskType = (int)RGVTaskTypeEnum.PickingUp; |
| | | task.CurrentAddress = dt_Router.StartPosi; |
| | | task.NextAddress = dt_Router.NextPosi; |
| | | task.Roadway = dt_Router.ChildPosiDeviceCode; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | throw; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | |
| | | /// <param name="ids"></param> |
| | | /// <returns></returns> |
| | | /// <exception cref="NotImplementedException"></exception> |
| | | public WebResponseContent CompletedManually(int id) |
| | | /// <summary> |
| | | /// 人工æå¨å®æ |
| | | /// </summary> |
| | | /// <param name="ids"></param> |
| | | /// <returns></returns> |
| | | /// <exception cref="NotImplementedException"></exception> |
| | | public WebResponseContent CompletedManually(int id, int CompletionType) |
| | | { |
| | | |
| | | var db = BaseDal.Db as SqlSugarClient; |
| | |
| | | |
| | | Dt_Task dt_task = BaseDal.QueryData().Where(x => x.TaskId == id).FirstOrDefault(); |
| | | if (dt_task == null) return WebResponseContent.Instance.Error($"æªæ¥è¯¢å°ä»»å¡"); |
| | | string Remark = CompletionType == 1 ? "人工æå¨å®æ" : "èªå¨å®æ"; |
| | | |
| | | |
| | | var res = _task_HtyService.AddData(new Dt_Task_hty |
| | | { |
| | |
| | | NextAddress = dt_task.NextAddress, |
| | | WMSId = dt_task.WMSId, |
| | | Dispatchertime = dt_task.Dispatchertime, |
| | | Remark = "人工æå¨å®æ", |
| | | Remark = Remark, |
| | | Creater = App.User.UserName, |
| | | CreateDate = DateTime.Now, |
| | | RGVTaskType = dt_task.RGVTaskType, |
| | | RGVCurrentexecution = dt_task.RGVCurrentexecution |
| | | }); |
| | | |
| | | int oldState = dt_task.TaskState; |
| | | _taskExecuteDetailService.AddTaskExecuteDetail( |
| | | dt_task.TaskId, |
| | | $"èªå¨ä»»å¡ç¶æä»ã{oldState}ãè¿å
¥å°ã{dt_task.TaskState}ã" |
| | | ); |
| | | |
| | | if (res.Status == false) |
| | | { |
| | | db.Ado.RollbackTran(); |
| | | return WebResponseContent.Instance.Error("æå¨å®æå¤±è´¥ï¼"); |
| | | return WebResponseContent.Instance.Error($"{Remark}失败ï¼"); |
| | | } |
| | | |
| | | var deletetask = BaseDal.DeleteData(dt_task); |
| | | if (deletetask == false) { |
| | | if (deletetask == false) |
| | | { |
| | | db.Ado.RollbackTran(); |
| | | return WebResponseContent.Instance.Error("å é¤ä»»å¡å¤±è´¥æææä½åæ»ï¼"); |
| | | return WebResponseContent.Instance.Error("å é¤ä»»å¡å¤±è´¥æææä½åæ»ï¼"); |
| | | } |
| | | db.Ado.CommitTran(); |
| | | return WebResponseContent.Instance.OK("æå¨å®ææåï¼"); |
| | | return WebResponseContent.Instance.OK($"{Remark}æåï¼"); |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | db.Ado.RollbackTran(); |
| | | return WebResponseContent.Instance.Error("æå¨å®æå¤±è´¥ï¼"); |
| | | return WebResponseContent.Instance.Error("ä»»å¡å®æå¤±è´¥ï¼"); |
| | | } |
| | | } |
| | | |
| | |
| | | Dt_Task dt_task = BaseDal.QueryData().Where(x => x.TaskId == id).FirstOrDefault(); |
| | | if (dt_task == null) return WebResponseContent.Instance.Error($"æªæ¥è¯¢å°ä»»å¡"); |
| | | //if (dt_task.TaskState > (int)TaskInStatusEnum.RGV_InNew || dt_task.TaskState > (int)TaskOutStatusEnum.OutNew) return WebResponseContent.Instance.Error($"ä»»å¡ç¶æä¸å
è®¸åæ¶"); |
| | | if (dt_task.TaskType >= 200 && dt_task.TaskType <= 203) |
| | | /*if (dt_task.TaskType >= 200 && dt_task.TaskType <= 203) |
| | | { |
| | | if (dt_task.TaskState > (int)TaskInStatusEnum.RGV_InNew) return WebResponseContent.Instance.Error($"ä»»å¡ç¶æä¸å
è®¸åæ¶"); |
| | | } |
| | |
| | | { |
| | | if (dt_task.TaskState > (int)TaskOutStatusEnum.OutNew) return WebResponseContent.Instance.Error($"ä»»å¡ç¶æä¸å
è®¸åæ¶"); |
| | | |
| | | } |
| | | }*/ |
| | | |
| | | Dt_Task_hty dt_Task_Hty = new Dt_Task_hty |
| | | { |
| | |
| | | db.Ado.RollbackTran(); |
| | | return WebResponseContent.Instance.Error("åæ¶ä»»å¡å¤±è´¥ï¼"); |
| | | } |
| | | int oldState = dt_task.TaskState; |
| | | /*int oldState = dt_task.TaskState; |
| | | _taskExecuteDetailService.AddTaskExecuteDetail( |
| | | dt_task.TaskId, |
| | | $"èªå¨ä»»å¡ç¶æä»ã{oldState}ãè¿å
¥å°ã{dt_Task_Hty.TaskState}ã" |
| | | ); |
| | | );*/ |
| | | |
| | | var deletetask = BaseDal.DeleteData(dt_task); |
| | | if (deletetask == false) { |
| | | bool deletetask = BaseDal.DeleteData(dt_task); |
| | | if (!deletetask) { |
| | | db.Ado.RollbackTran(); |
| | | return WebResponseContent.Instance.Error("å é¤ä»»å¡å¤±è´¥æææä½åæ»ï¼"); |
| | | } |
| | |
| | | return WebResponseContent.Instance.Error("åæ¶ä»»å¡å¤±è´¥ï¼"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡ä¸ä¸æ¥æ§è¡ |
| | | /// </summary> |
| | | /// <param name="sCErrorStatus"></param> |
| | | /// <returns></returns> |
| | | public WebResponseContent NextStepeXecuted(int taskid) |
| | | { |
| | | WebResponseContent responseContent = new WebResponseContent(); |
| | | Dt_Task task = BaseDal.QueryData().Where(x => x.TaskNum == taskid).FirstOrDefault(); |
| | | if (task == null) return WebResponseContent.Instance.Error($"æªæ¥è¯¢å°ä»»å¡"); |
| | | switch (task.TaskState) |
| | | { |
| | | //å
¥åºç¶æ |
| | | case (int)TaskInStatusEnum.RGV_InNew: |
| | | case (int)TaskInStatusEnum.RGV_InPickupFinish: |
| | | case (int)TaskInStatusEnum.RGV_InReleaseFinish: |
| | | case (int)TaskInStatusEnum.RGV_InZicheFinish: |
| | | case (int)TaskInStatusEnum.RGV_InZicheReleaseFinish: |
| | | case (int)TaskInStatusEnum.RGV_InZichemoveFinish: |
| | | //å
¥åºç¶æ |
| | | //åºåºç¶æ |
| | | case (int)TaskOutStatusEnum.OutNew: |
| | | case (int)TaskOutStatusEnum.RGV_OutMothercarFinish: |
| | | case (int)TaskOutStatusEnum.RGV_OutZicheFinish: |
| | | case (int)TaskOutStatusEnum.RGV_OutZicheReleaseFinish: |
| | | case (int)TaskOutStatusEnum.RGV_OutPickupFinish: |
| | | //åºåºç¶æ |
| | | //è°åä¸åçæ¥å£ |
| | | responseContent = UpdateTaskStatusToNext(task); |
| | | break; |
| | | |
| | | |
| | | //å
¥åºç¶æ |
| | | case (int)TaskInStatusEnum.RGV_InPickupExecuting: |
| | | case (int)TaskInStatusEnum.RGV_InReleaseExecuting: |
| | | case (int)TaskInStatusEnum.RGV_InZicheExecuting: |
| | | case (int)TaskInStatusEnum.RGV_InZicheReleaseExecuting: |
| | | case (int)TaskInStatusEnum.RGV_InZichemoveExecuting: |
| | | case (int)TaskInStatusEnum.RGV_InMothercarExecuting: |
| | | //å
¥åºç¶æ |
| | | //åºåºç¶æ |
| | | case (int)TaskOutStatusEnum.RGV_OutMothercarExecuting: |
| | | case (int)TaskOutStatusEnum.RGV_OutZicheExecuting: |
| | | case (int)TaskOutStatusEnum.RGV_OutZicheReleaseExecuting: |
| | | case (int)TaskOutStatusEnum.RGV_OutPickupExecuting: |
| | | case (int)TaskOutStatusEnum.RGV_OutReleaseExecuting: |
| | | //åºåºç¶æ |
| | | //è°å宿æ¥å£ |
| | | responseContent = UpdateTaskStatus(task.TaskNum, 1); |
| | | break; |
| | | case (int)TaskInStatusEnum.RGV_InMothercarFinish: |
| | | return WebResponseContent.Instance.Error("ä»»å¡å·²"); |
| | | default: |
| | | return WebResponseContent.Instance.Error("ä»»å¡ç¶æéè¯¯ï¼æ§è¡ä¸ä¸æ¥å¤±è´¥"); |
| | | } |
| | | // å建并èµå¼ |
| | | return responseContent; |
| | | } |
| | | } |
| | | } |