| | |
| | | //NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | LogHelper.Info($"å¼å§ç«åºå®å
¨è¯·æ±"); |
| | | Request<TaskAccess> request = new Request<TaskAccess>(); |
| | | var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); |
| | | |
| | | |
| | | TaskAccess taskAccess = new TaskAccess() { taskNum = tasknum, orderNum = ordernum, station = station, type = type, taskStatus = taskStatus }; |
| | | request.data = taskAccess; |
| | | HttpHelper httpHelper = new HttpHelper(); |
| | |
| | | internal static bool Intercept(WCSTask mst) |
| | | { |
| | | var result = true; |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | //æ ¹æ®èµ·ç¹ä»åºç¼ç 夿æ¯å¦å¯ä»¥æ¨é |
| | | var taskLimit = db.Queryable<TASK_LIMIT>().Where(a => a.S_WH_CODE == mst.S_START_WH && a.OPEN == "1").First(); |
| | | if (taskLimit != null) |
| | | { |
| | | Console.WriteLine($"ä»»å¡ï¼{mst.S_CODE},èµ·ç¹ä»åºï¼{mst.S_START_WH}å·²ç»ç¦ç¨æ¨é"); |
| | | return false; |
| | | } |
| | | //var db = new SqlHelper<object>().GetInstance(); |
| | | ////æ ¹æ®èµ·ç¹ä»åºç¼ç 夿æ¯å¦å¯ä»¥æ¨é |
| | | //var taskLimit = db.Queryable<TASK_LIMIT>().Where(a => a.S_WH_CODE == mst.S_START_WH && a.OPEN == "1").First(); |
| | | //if (taskLimit != null) |
| | | //{ |
| | | // Console.WriteLine($"ä»»å¡ï¼{mst.S_CODE},èµ·ç¹ä»åºï¼{mst.S_START_WH}å·²ç»ç¦ç¨æ¨é"); |
| | | // return false; |
| | | //} |
| | | |
| | | |
| | | |
| | |
| | | var list = db.Queryable<Location>().ToList().Count; |
| | | |
| | | // if (mst.N_B_STATE == 0) { |
| | | if (mst.N_SCHEDULE_TYPE == 1) |
| | | |
| | | LogHelper.Info($"任塿¨éæ°æ®ï¼{JsonConvert.SerializeObject(mst)}"); |
| | | if (string.IsNullOrEmpty(mst.S_START_LOC) || string.IsNullOrEmpty(mst.S_END_LOC)) |
| | | { |
| | | LogHelper.Info($"任塿¨éæ°æ®ï¼{JsonConvert.SerializeObject(mst)}"); |
| | | if (string.IsNullOrEmpty(mst.S_START_LOC) || string.IsNullOrEmpty(mst.S_END_LOC)) |
| | | { |
| | | LogHelper.Info($"ä»»å¡{mst.S_CODE},èµ·ç¹ç»ç¹æç©ºåæ°ï¼ä¸æ¨éä»»å¡"); |
| | | } |
| | | |
| | | |
| | | start = LocationHelper.GetAgvSite(mst.S_START_LOC); |
| | | end = LocationHelper.GetAgvSite(mst.S_END_LOC); |
| | | //if (mst.N_START_LAYER > 1) |
| | | //{ |
| | | // start = LocationHelper.GetAgvSite(mst.S_START_LOC, mst.N_START_LAYER.ToString()).ToString(); |
| | | //} |
| | | if (mst.N_END_LAYER > 1) |
| | | { |
| | | end = LocationHelper.GetAgvSite(mst.S_END_LOC, mst.N_END_LAYER.ToString()).ToString(); |
| | | LogHelper.Info($"任塿¨éï¼ç»ç¹å±æ°ä¸º{mst.N_END_LAYER}ï¼æ¨éç«ç¹ä¸º:{end}"); |
| | | } |
| | | Console.WriteLine($"SendTask {mst.S_CODE}"); |
| | | Console.WriteLine("start=" + start); |
| | | Console.WriteLine("end= " + end); |
| | | var dic = new List<param>(); |
| | | dic.Add(new param() { name = "From", value = start.ToString() }); |
| | | dic.Add(new param() { name = "To", value = end.ToString() }); |
| | | dic.Add(new param() { name = "FUNC", value = "0" }); |
| | | dic.Add(new param() { name = "DATA", value = "0" }); |
| | | dic.Add(new param() { name = "Ctype", value = "0" }); |
| | | |
| | | |
| | | var res = NDCApi.AddOrderNew(1, 1, mst.S_CODE, dic);//æ·»å æ°å½ä»¤ |
| | | //dic.Add("Pri", mst.N_PRIORITY.ToString()); |
| | | //dic.Add("From", start.ToString()); |
| | | //dic.Add("To", end.ToString()); |
| | | //dic.Add("task_no", mst.S_CODE.Trim());// dic.Add("Ext1", "1"); dic.Add("Ext2", "CALLADDAGV"); dic.Add("N_CNTR_COUNT", ""); |
| | | //var res = NDC.AddNewOrder(1, dic); |
| | | |
| | | |
| | | |
| | | if (res != null && (res.err_code == 0 || res.err_code == 50009)) |
| | | { |
| | | //æ¨éæåï¼ä¿®æ¹ä»»å¡ä¼å
级 |
| | | mst.N_B_STATE = 1; |
| | | mst.S_B_STATE = WCSTask.GetStateStr(1); |
| | | WCSHelper.UpdateStatus(mst);//æ´æ°ä»»å¡ç¶æ |
| | | result = true; |
| | | LogHelper.Info($"NDCæ¨é任塿å {mst.S_CODE}start= {mst.S_START_LOC} + end = {mst.S_END_LOC}"); |
| | | if (mst.S_TYPE.Contains("çµæ¢¯1")) |
| | | { |
| | | var device = Settings.deviceInfos.Where(a => a.TN_Location == mst.S_END_LOC).FirstOrDefault(); |
| | | var loc = LocationHelper.GetLocByLoc(mst.S_START_LOC); |
| | | if (device == null) |
| | | { |
| | | LogHelper.Info($"æ ¹æ®ä»»å¡ç»ç¹:{mst.S_END_LOC},æªæ¾å°å¯¹åºçµæ¢¯é
ç½®æä»¶"); |
| | | } |
| | | if (loc == null) |
| | | { |
| | | LogHelper.Info($"æ ¹æ®ä»»å¡èµ·ç¹:{mst.S_START_LOC},æªæ¾å°å¯¹åºè´§ä½"); |
| | | } |
| | | int value = 0; |
| | | if (loc.N_LAYER == 1) value = 1; |
| | | else if (loc.N_LAYER == 2) value = 3; |
| | | else if (loc.N_LAYER == 3) value = 5; |
| | | |
| | | ModbusHelper.WriteSingleRegister(40089, value, device.address, 1024); |
| | | ModbusHelper.WriteSingleRegister(40102, 1, device.address, 1024); |
| | | |
| | | |
| | | } |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"NDCæ¨éä»»å¡å¤±è´¥ {mst.S_CODE};Res:" + JsonConvert.SerializeObject(res)); |
| | | } |
| | | LogHelper.Info($"ä»»å¡{mst.S_CODE},èµ·ç¹ç»ç¹æç©ºåæ°ï¼ä¸æ¨éä»»å¡"); |
| | | } |
| | | //else if (mst.N_SCHEDULE_TYPE == 5) { |
| | | // //è°ç¬¬ä¸æ¹æ¥å£ |
| | | // var model = new HanAo.TaskInfoModel |
| | | // { |
| | | // requestPk = mst.S_CODE, |
| | | // frmPos = mst.S_START_LOC, |
| | | // toPos = mst.S_END_LOC, |
| | | // trkType = mst.S_OP_NAME == "å
¥åº" ? "1" : "2", |
| | | // contNo = mst.S_CNTR_CODE |
| | | // }; |
| | | // if (HanAo.CreateOrder(model)) { |
| | | // mst.N_B_STATE = 1; |
| | | // WCSHelper.UpdateStatus(mst); |
| | | // } |
| | | //} |
| | | //else if (mst.N_SCHEDULE_TYPE == 3) { |
| | | // var code = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, JsonConvert.SerializeObject(new { src = mst.S_START_LOC, dst = mst.S_END_LOC }), "p2p"); |
| | | // if (code > 0) { |
| | | // //æ´æ°ä»»å¡ç¶æ |
| | | // mst.N_B_STATE = 1; |
| | | // mst.S_EQ_TASK_CODE = code.ToString(); |
| | | // WCSHelper.UpdateStatus(mst); |
| | | // WCSHelper.UpdateEQNo(mst); |
| | | |
| | | // } |
| | | //} |
| | | |
| | | // } |
| | | start = LocationHelper.GetAgvSite(mst.S_START_LOC); |
| | | end = LocationHelper.GetAgvSite(mst.S_END_LOC); |
| | | //if (mst.N_START_LAYER > 1) |
| | | //{ |
| | | // start = LocationHelper.GetAgvSite(mst.S_START_LOC, mst.N_START_LAYER.ToString()).ToString(); |
| | | //} |
| | | if (mst.N_END_LAYER > 1) |
| | | { |
| | | end = LocationHelper.GetAgvSite(mst.S_END_LOC, mst.N_END_LAYER.ToString()).ToString(); |
| | | LogHelper.Info($"任塿¨éï¼ç»ç¹å±æ°ä¸º{mst.N_END_LAYER}ï¼æ¨éç«ç¹ä¸º:{end}"); |
| | | } |
| | | Console.WriteLine($"SendTask {mst.S_CODE}"); |
| | | Console.WriteLine("start=" + start); |
| | | Console.WriteLine("end= " + end); |
| | | var dic = new List<param>(); |
| | | dic.Add(new param() { name = "From", value = start.ToString() }); |
| | | dic.Add(new param() { name = "To", value = end.ToString() }); |
| | | dic.Add(new param() { name = "FUNC", value = "0" }); |
| | | dic.Add(new param() { name = "DATA", value = "0" }); |
| | | dic.Add(new param() { name = "Ctype", value = "0" }); |
| | | |
| | | |
| | | var res = NDCApi.AddOrderNew(1, 1, mst.S_CODE, dic);//æ·»å æ°å½ä»¤ |
| | | //dic.Add("Pri", mst.N_PRIORITY.ToString()); |
| | | //dic.Add("From", start.ToString()); |
| | | //dic.Add("To", end.ToString()); |
| | | //dic.Add("task_no", mst.S_CODE.Trim());// dic.Add("Ext1", "1"); dic.Add("Ext2", "CALLADDAGV"); dic.Add("N_CNTR_COUNT", ""); |
| | | //var res = NDC.AddNewOrder(1, dic); |
| | | |
| | | |
| | | |
| | | if (res != null && (res.err_code == 0 || res.err_code == 50009)) |
| | | { |
| | | //æ¨éæåï¼ä¿®æ¹ä»»å¡ä¼å
级 |
| | | mst.N_B_STATE = 1; |
| | | mst.S_B_STATE = WCSTask.GetStateStr(1); |
| | | WCSHelper.UpdateStatus(mst);//æ´æ°ä»»å¡ç¶æ |
| | | result = true; |
| | | LogHelper.Info($"NDCæ¨é任塿å {mst.S_CODE}start= {mst.S_START_LOC} + end = {mst.S_END_LOC}"); |
| | | |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"NDCæ¨éä»»å¡å¤±è´¥ {mst.S_CODE};Res:" + JsonConvert.SerializeObject(res)); |
| | | } |
| | | |
| | | |
| | | return result; |
| | | } |
| | | /// <summary> |
| | |
| | | try |
| | | { |
| | | //åæ¥æ°æ®è·å |
| | | // Request<StatusArrive> statusarrive = new Request<StatusArrive>(); |
| | | // Request<StatusArrive> statusarrive = new Request<StatusArrive>(); |
| | | //è·åæ¶é´æ³ |
| | | |
| | | |
| | | Request<MesTaskAccess> request = new Request<MesTaskAccess>(); |
| | | var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); |
| | | request.RequestId = "æåAGV" + time; |