| | |
| | | { |
| | | var res = false; |
| | | var db = new SqlHelper<WCSTask>().GetInstance(); |
| | | |
| | | |
| | | task.S_B_STATE = status; |
| | | |
| | | db.Updateable(task).UpdateColumns(it => new { it.S_B_STATE }).ExecuteCommand(); |
| | |
| | | string[] statue = new string[] { "完成", "取消", "错误" }; |
| | | var task = db.Queryable<WCSTask>().Where(a => a.S_START_LOC.Trim() == loc && !statue.Contains(a.S_B_STATE.Trim())).First(); |
| | | return task; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 根据终点库区查找未完成的任务数量 |
| | | /// </summary> |
| | | /// <param name="loc"></param> |
| | | /// <returns></returns> |
| | | internal static int GetTaskByEndArea(string area, string locType = null) |
| | | { |
| | | var db = new SqlHelper<WCSTask>().GetInstance(); |
| | | string[] statue = new string[] { "完成", "取消", "错误" }; |
| | | if (string.IsNullOrEmpty(locType)) |
| | | { |
| | | return db.Queryable<WCSTask>().Where(a => a.S_END_AREA.Trim() == area && !statue.Contains(a.S_B_STATE.Trim())).Count(); |
| | | } |
| | | else |
| | | { |
| | | return db.Queryable<WCSTask>().Where(a => a.S_END_AREA.Trim() == area && !statue.Contains(a.S_B_STATE.Trim())&&a.S_END_LOC.Contains(locType)).Count(); |
| | | } |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 根据托盘编码获取完成的任务 |
| | |
| | | public static object _add; |
| | | internal static bool AddActionRecord(string no, int state, string forkliftNo, string extData) |
| | | { |
| | | |
| | | var db = new SqlHelper<TaskAction>().GetInstance(); |
| | | |
| | | var action = new TaskAction() |
| | | { |
| | | N_ACTION_CODE = state, |
| | | S_TASK_CODE = no, |
| | | S_EQ_CODE = forkliftNo, |
| | | S_EQ_TYPE = "agv", |
| | | S_DATA = extData |
| | | }; |
| | | return db.Insertable(action).ExecuteCommand() > 0; |
| | | |
| | | |
| | | var db = new SqlHelper<TaskAction>().GetInstance(); |
| | | |
| | | var action = new TaskAction() |
| | | { |
| | | N_ACTION_CODE = state, |
| | | S_TASK_CODE = no, |
| | | S_EQ_CODE = forkliftNo, |
| | | S_EQ_TYPE = "agv", |
| | | S_DATA = extData |
| | | }; |
| | | return db.Insertable(action).ExecuteCommand() > 0; |
| | | |
| | | |
| | | } |
| | | internal static bool CheckActionRecordExist(string no, int code) |
| | | { |
| | |
| | | if (task != null) |
| | | { |
| | | |
| | | |
| | | |
| | | task.T_START_TIME = DateTime.Now; |
| | | task.S_WORKSHOP_NO = agvno; |
| | | db.Updateable(task).UpdateColumns(it => new { it.T_START_TIME, it.S_WORKSHOP_NO }).ExecuteCommand(); |
| | |
| | | Startmodel.S_LOCK_STATE = Location.GetLockStateStr(2); |
| | | res = db.Updateable(Startmodel).UpdateColumns(it => new { it.N_LOCK_STATE, it.S_LOCK_STATE }).ExecuteCommand() > 0; |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"任务:{TN_Task.S_CODE}生成失败,起点货位不可用"); |
| | | db.RollbackTran(); |
| | | return false; |
| | | } |
| | | //else |
| | | //{ |
| | | // LogHelper.Info($"任务:{TN_Task.S_CODE}生成失败,起点货位不可用"); |
| | | // db.RollbackTran(); |
| | | // return false; |
| | | //} |
| | | if (Endmodel != null && Endmodel.S_LOCK_STATE.Trim() == "无") |
| | | { |
| | | Endmodel.N_LOCK_STATE = 1; |