| | |
| | | using HH.WCS.Mobox3.NFLZ.util; |
| | | using Newtonsoft.Json; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | |
| | | var date = DateTime.Now.ToString("yyMMdd"); |
| | | return $"TN{date}{id.ToString().PadLeft(4, '0')}"; |
| | | } |
| | | internal static bool UpdateStatus(WCSTask task, string status) { |
| | | internal static bool UpdateStatus(WCSTask task, string status, string S_AGV_NO = "") { |
| | | Console.WriteLine("开始取货"); |
| | | var res = false; |
| | | var db = new SqlHelper<WCSTask>().GetInstance(); |
| | | task.S_B_STATE = status; |
| | | db.Updateable(task).UpdateColumns(it => new { it.S_B_STATE,it.N_B_STATE }).ExecuteCommand(); |
| | | if (S_AGV_NO != "") |
| | | { |
| | | task.S_EQ_NO = S_AGV_NO; |
| | | } |
| | | db.Updateable(task).UpdateColumns(it => new { it.S_B_STATE,it.N_B_STATE,it.S_EQ_NO }).ExecuteCommand(); |
| | | return res; |
| | | } |
| | | internal static bool UpdatePrioryty(WCSTask task,int Prioryty) { |
| | |
| | | } |
| | | internal static bool CheckActionRecordExist(string no, int code) { |
| | | var db = new SqlHelper<TaskAction>().GetInstance(); |
| | | return db.Queryable<TaskAction>().Count(a => a.S_TASK_CODE == no&& a.N_ACTION_CODE == code) > 0; |
| | | return db.Queryable<TaskAction>().Count(a => a.S_TASK_CODE == no && a.N_ACTION_CODE == code) > 0; |
| | | } |
| | | internal static void Begin(WCSTask task) { |
| | | var db = new SqlHelper<WCSTask>().GetInstance(); |
| | |
| | | |
| | | internal static void CreateMiddleTable() |
| | | { |
| | | var order1 = new SqlHelper<OI_SYS_MAXID>().CreateTable(); |
| | | //var order1 = new SqlHelper<OI_SYS_MAXID>().CreateTable(); |
| | | } |
| | | |
| | | #region 林芝WCS业务处理 |
| | | /// <summary> |
| | | /// 林芝-查询工单信息--执行中或者暂停 |
| | | /// </summary> |
| | | /// <param name="lineNo"></param> |
| | | /// <returns></returns> |
| | | public static LinZhiWorkOrder GetLinZhiWorkOrder(string lineNo) |
| | | { |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | var order = db.Queryable<LinZhiWorkOrder>().Where(a => a.S_PLineNo == lineNo && a.S_WorkState == "执行中").First(); |
| | | //var order = new SqlHelper<LinJiangWorkOrder>().Get(a => a.S_PLineNo == lineNo && (a.S_WorkState == "执行中"), a => a.T_CREATE, true); |
| | | return order; |
| | | } |
| | | |
| | | internal List<YiKuWorkOrder> GetLinJianglysisOrderWork(string orderType) |
| | | { |
| | | var order = new SqlHelper<YiKuWorkOrder>().GetList(a => a.S_ORDER_TYPE == orderType && a.S_WorkState == "执行中"); |
| | | return order; |
| | | } |
| | | |
| | | internal static void CreateLinJiangMiddleTableTest() |
| | | { |
| | | var order4 = new SqlHelper<OI_SYS_MAXID>().CreateTable();//HTTP接口调用失败重发中间表 |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 林芝-查询当前设备信息 |
| | | /// </summary> |
| | | /// <param name="lineNo"></param> |
| | | /// <returns></returns> |
| | | public static LinZhiDeviceState GetLinJiangDeviceState(string deviceName) |
| | | { |
| | | var order = new SqlHelper<LinZhiDeviceState>().Get(a => a.DeviceName == deviceName, a => a.DeviceTime, true); |
| | | return order; |
| | | } |
| | | |
| | | internal static bool UpdateLinJiangDeviceState(LinZhiDeviceState deviceInfo, string status, string dateTime, string extData = "") |
| | | { |
| | | var res = false; |
| | | var db = new SqlHelper<LinZhiDeviceState>().GetInstance(); |
| | | deviceInfo.DeviceState = status; |
| | | deviceInfo.DeviceTime = dateTime; |
| | | db.Updateable(deviceInfo).UpdateColumns(it => new { it.DeviceState, it.DeviceTime }).ExecuteCommand(); |
| | | return res; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 林芝-插入设备信息 |
| | | /// </summary> |
| | | /// <param name="wmsTask"></param> |
| | | /// <returns></returns> |
| | | internal static bool LinJiangInsertDeviceState(LinZhiDeviceState deviceState) |
| | | { |
| | | var db = new SqlHelper<LinZhiDeviceState>().GetInstance(); |
| | | return db.Insertable(deviceState).ExecuteCommand() > 0; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 林芝-查询托盘信息-下线时间之前的数据 |
| | | /// </summary> |
| | | /// <param name="lineNo"></param> |
| | | /// <returns></returns> |
| | | public static List<LinZhiTrayInfo> GetLinZhiTrayInfoList(string dateTime, string deviceName) |
| | | { |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | var order = new SqlHelper<LinZhiTrayInfo>().GetList(a => Convert.ToDateTime(a.dateTime.Trim()) < Convert.ToDateTime(dateTime) && a.deviceName == deviceName); |
| | | |
| | | var trayInfo = new SqlHelper<LinZhiTrayInfo>().GetInstance().Queryable<LinZhiTrayInfo>().ToList(); |
| | | LogHelper.Info("富乐托盘表全部数据:" + JsonConvert.SerializeObject(trayInfo)); |
| | | |
| | | //if (order != null && order.Count > 0) |
| | | //{ |
| | | // //删除当前产线下线时间前10分钟的托盘数据 |
| | | // for (int i = order.Count - 1; i >= 0; i--) |
| | | // { |
| | | |
| | | // } |
| | | //} |
| | | return order; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 林芝-更改工单信息:托规、批次号、物料层数 |
| | | /// </summary> |
| | | /// <param name="task"></param> |
| | | /// <param name="status"></param> |
| | | /// <returns></returns> |
| | | internal static bool UpdateWorkInfo(LinZhiWorkOrder task, string trayRule = "", string batchNo = "", string itemLayer = "") |
| | | { |
| | | var res = false; |
| | | var db = new SqlHelper<LinZhiWorkOrder>().GetInstance(); |
| | | task.S_TrayRules = trayRule; |
| | | task.S_BatchNo = batchNo; |
| | | task.S_ItemLayer = itemLayer; |
| | | db.Updateable(task).UpdateColumns(it => new { it.S_TrayRules, it.S_BatchNo, it.S_ItemLayer }).ExecuteCommand(); |
| | | return res; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 林芝-查询托盘信息-全部-为了对比当前是否为正常下线 |
| | | /// </summary> |
| | | /// <param name="lineNo"></param> |
| | | /// <returns></returns> |
| | | public static List<LinZhiTrayInfo> GetLinJiangTrayInfoAllList(string deviceName) |
| | | { |
| | | var order = new SqlHelper<LinZhiTrayInfo>().GetList(a => a.deviceName == deviceName); |
| | | return order; |
| | | } |
| | | #endregion |
| | | } |
| | | } |