| | |
| | | using WIDESEA_Entity.DomainModels; |
| | | using WIDESEA_Entity.ToAGV; |
| | | using WIDESEA_WMS.Common; |
| | | using WIDESEA_WMS.Common.AGVTask; |
| | | using WIDESEA_WMS.IRepositories; |
| | | using WIDESEA_WMS.Repositories; |
| | | |
| | |
| | | Idt_agvtaskRepository repository = new dt_agvtaskRepository(context); |
| | | AGVRespone respone = new AGVRespone(); |
| | | UpdateTasteInfo tasteInfo = new(); |
| | | string remark = "AGVåé¦ä»»å¡ç¶æï¼"; |
| | | try |
| | | { |
| | | if (string.IsNullOrEmpty(json) || json == "null") |
| | |
| | | if (tasteInfo.TASK_State < 1 || tasteInfo.TASK_State > 4) |
| | | throw new Exception("æªå®ä¹çä»»å¡ç¶æ:" + tasteInfo.TASK_State); |
| | | var StateName = Enum.GetName(typeof(AGVTaskStateEnum), tasteInfo.TASK_State); |
| | | if (task.agv_taskstate == StateName) |
| | | if (task.agv_taskstate == StateName && task.agv_taskstate != AGVTaskStateEnum.Complete1.ToString()) |
| | | { |
| | | respone.success = 2; |
| | | respone.Message = tasteInfo.TASK_NO + "ï¼éå¤è°ç¨ï¼ä»»å¡ç¶æä¸ºï¼" + tasteInfo.TASK_State; |
| | | return respone; |
| | | } |
| | | |
| | | #region 夿任å¡ç¶æ |
| | | //List<string> list = new List<string>() { AGVTaskStateEnum.Executing.ToString(), AGVTaskStateEnum.Complete.ToString(), AGVTaskStateEnum.Executing1.ToString(), AGVTaskStateEnum.Complete1.ToString() }; |
| | | //var index = list.IndexOf(task.agv_taskstate) + 1; |
| | | //if (tasteInfo.TASK_State < index) |
| | | // throw new Exception("ä»»å¡ç¶ææ´æ°å¼å¸¸ï¼å½åä»»å¡ç¶æä¸ºï¼" + index + ";è¯·æ±æ´æ°ç¶æä¸ºï¼" + tasteInfo.TASK_State); |
| | | #endregion |
| | | if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Executing) |
| | | task.agv_executingBeginTime = DateTime.Now; |
| | | else if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Complete) |
| | | task.agv_executingEndTime = DateTime.Now; |
| | | else if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Executing1) |
| | | task.agv_completeBeginTime = DateTime.Now; |
| | | |
| | | task.agv_taskstate = StateName; |
| | | if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Executing) |
| | | { |
| | | remark = remark + "èµ·ç¹æ§è¡ä¸"; |
| | | task.agv_executingBeginTime = DateTime.Now; |
| | | } |
| | | else if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Complete) |
| | | { |
| | | remark = remark + "èµ·ç¹å·²å®æ"; |
| | | HandleTask.AutoUpdateHCJState(task); |
| | | task.agv_executingEndTime = DateTime.Now; |
| | | } |
| | | else if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Executing1) |
| | | { |
| | | remark = remark + "ç»ç¹æ§è¡ä¸"; |
| | | task.agv_completeBeginTime = DateTime.Now; |
| | | } |
| | | var count = repository.Update(task, true); |
| | | if (count < 1) |
| | | throw new Exception("ä»»å¡ç¶ææ´æ°å¤±è´¥ï¼ä»»å¡IDï¼" + tasteInfo.TASK_NO + "ï¼ä»»å¡ç¶æï¼" + tasteInfo.TASK_State); |
| | | if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Complete1) |
| | | { |
| | | HandleTask.AddHtyTask(task); |
| | | remark = remark + "ç»ç¹å·²å®æ"; |
| | | task.agv_finishedtime = DateTime.Now; |
| | | |
| | | #region 忥MESåºå
¥åºä¿¡æ¯ |
| | | var mes = HandleTask_Mes.UploadMESInfo(task); |
| | | if (mes.code != "200" && mes.Type != "success") |
| | | throw new Exception(mes.message); |
| | | #endregion |
| | | |
| | | HandleTask.Updateinventory(task); |
| | | HandleTask.AutoUpdateHCJState(task); |
| | | HandleTask.AddHtyTask(task); |
| | | } |
| | | respone.success = 1; |
| | | return respone; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | } |
| | | finally |
| | | { |
| | | WriteWMSLog.LogAdd(tasteInfo.TASK_NO, respone.success == 1 ? "æå " : "失败", "WMS", "AGV", json, JsonConvert.SerializeObject(respone), "AGVåé¦ä»»å¡ç¶æ", "UpdateTaskState", respone.Message); |
| | | WriteWMSLog.LogAdd(tasteInfo.TASK_NO, respone.success == 1 ? "æå " : "失败", "WMS", "AGV", json, JsonConvert.SerializeObject(respone), remark, "UpdateTaskState", respone.Message); |
| | | } |
| | | return respone; |
| | | } |