using SqlSugar; using System; using System.Collections.Generic; using Hanhe.iWCS.Common; namespace Hanhe.iWCS.TaizhouGEMTwoProtocol { public class MoboxHelper { static MoboxHelper() { } /// /// 获取数据 /// /// /// public WorkOrder GetWorkOrder(string lineNo) { var order = new SqlHelper().Get(a => a.SQL_PLineNo == lineNo && (a.SQL_State == "执行中" || a.SQL_State == "已完成"), a => a.T_CREATE); if (order == null) Console.WriteLine($"SQLSERVER Error:未获取到当前条件的相关数据!当前查询条件:{lineNo}"); return order; } /// /// 插入数据 /// /// /// public bool AddNewData(string data) { var result = false; new SqlHelper().ExecuteSql($"insert into dbo.TN_0004(S_ID,SQL_PLineNo) Values('{Guid.NewGuid()}','33333')"); return result; } /// /// 更新车号 /// /// /// public static bool UpdateEndBit(string taskNo, string agvNo) { var result = false; try { CMMLog.Info($"SQLServer 更新任务车号:任务号:{taskNo},更改车号:{agvNo}"); result = new SqlHelper().ExecuteSql($"update dbo.tn_am_task_mst set CN_N_AGV_NO='{agvNo}' where CN_S_TASK_NO='{taskNo}'"); } catch(Exception ex) { CMMLog.Error($"SQLServer 更新任务车号异常:{ex.Message}"); } return result; } public static bool UpdateTaskState(string taskNo, int state) { var result = false; try { string taskState = state == 3 ? "开始取货" : state == 4 ? "取货完成" : state == 5 ? "开始卸货" : state == 6 ? "卸货完成" : state == 2 ? "完成" : ""; CMMLog.Info($"SQLServer 更新任务状态:任务号:{taskNo},更改状态:{taskState}"); if (!string.IsNullOrEmpty(taskState)) result = new SqlHelper().ExecuteSql($"update dbo.tn_am_task_mst set CN_S_STATUS='{taskState}' where CN_S_TASK_NO='{taskNo}'"); } catch (Exception ex) { CMMLog.Error($"SQLServer 更新任务状态异常:{ex.Message}"); } return result; } /// /// 删除数据 /// /// /// public bool DelData(string orderno) { var result = false; new SqlHelper().ExecuteSql($"delete dbo.TN_0004 where SQL_PLineNo='2222222'"); return result; } public static void AddRecordNew(WorkOrder record) { var helper = new SqlHelper(); var old = helper.Get(a => a.SQL_PLineNo == record.SQL_PLineNo); if (old != null) { helper.Deleteable(a => a.SQL_PLineNo == record.SQL_PLineNo); helper.Insert(record); } else { //更新数据 //if (old != null) //{ // old.TransportStatus = record.TransportStatus; // old.HasBeenReceived = record.HasBeenReceived; // var cols = new List() { "TransportStatus", "HasBeenReceived" }; // if (record.TransportStatus == 2) // { // cols.Add("ExecutionTime"); // old.ExecutionTime = record.ExecutionTime; // } // if (record.TransportStatus == 4 || record.TransportStatus == 12 || record.TransportStatus == 13 || record.TransportStatus == 6) // { // cols.Add("CompleteTime"); // old.CompleteTime = record.CompleteTime; // } // if (!string.IsNullOrEmpty(record.AgvNo)) // { // cols.Add("AgvNo"); // old.AgvNo = record.AgvNo; // } // helper.Update(old, cols.ToArray()); //} } } /// /// 工单表 /// 梅坪现场工单表名:"dbo.TN_0001" /// 模拟测试工单表名:"dbo.TN_0004" /// [SugarTable("dbo.TN_0004")] public class WorkOrder { public string S_ID { get; set; } = ""; public string S_STATE { get; set; } = ""; public string S_CREATOR_ID { get; set; } = ""; public string S_CREATOR_NAME { get; set; } = ""; public DateTime T_CREATE { get; set; } = DateTime.MinValue; public string S_DEPART_ID { get; set; } = ""; public string S_DEPART_NAME { get; set; } = ""; public string S_MODIFIER_ID { get; set; } = ""; public string S_MODIFIER_NAME { get; set; } = ""; public DateTime T_MODIFY { get; set; } = DateTime.MinValue; public int N_CREATEMETHOD { get; set; } = 0; public string G_SOURCE_OBJ { get; set; } = ""; /// /// 工单号 /// public string SQL_WorkNo { get; set; } = ""; /// /// 产线号 /// public string SQL_PLineNo { get; set; } = ""; /// /// 即产即用 /// public string SQL_UsingNo { get; set; } = ""; /// /// 工单类型 /// public string SQL_ORDER_TYPE { get; set; } = ""; /// /// 工单状态 /// public string SQL_State { get; set; } = ""; /// /// 批次号 /// public string SQL_BatchNo { get; set; } = ""; /// /// 物料编码 /// public string SQL_ItemCode { get; set; } = ""; /// /// 物料名称 /// public string SQL_ItemName { get; set; } = ""; /// /// 总数 /// public string SQL_Total { get; set; } = ""; /// /// 库区或者列或者排编号 /// public string SQL_Area { get; set; } = ""; /// /// 固定每批运输数量 /// public string SQL_PCNumber { get; set; } = ""; /// /// 计数(已执行数量) /// public string SQL_Current { get; set; } = ""; /// /// 当前工单执行时间 /// public string SQL_Modify { get; set; } = ""; /// /// 当前工单结束时间 /// public string SQL_PLAN_END { get; set; } = ""; /// /// 连接产线号 /// public string SQL_LinkLineNO { get; set; } = ""; /// /// 是否栈板 /// public string SQL_PaperBox { get; set; } = ""; } /// /// SQL-AMS任务主表 /// [SugarTable("dbo.tn_am_task_mst")] public class SQL_TN_I_TASK_MST { public string CN_S_BATCH_NO { get; set; } public int CN_S_ORDER_NO { get; set; } public string CN_S_TASK_NO { get; set; } public string CN_S_SOURCE_SYS { get; set; } public string CN_S_SOURCE_NO { get; set; } public string CN_S_PROCESS_CODE { get; set; } public string CN_S_TASK_TYPE { get; set; } public string CN_S_START_AREA { get; set; } public string CN_S_START_AREA_NAME { get; set; } public string CN_S_START_BIT { get; set; } public int CN_N_START_AGVBIT { get; set; } public string CN_S_END_AREA { get; set; } public string CN_S_END_AREA_NAME { get; set; } public string CN_S_END_BIT { get; set; } public int CN_N_END_AGVBIT { get; set; } public string CN_S_STATUS { get; set; } public string CN_S_BEF_STATUS { get; set; } public string CN_S_BEFORE_NO { get; set; } public string CN_S_AFTER_NO { get; set; } public string CN_T_START_WORKING { get; set; } public string CN_T_END_WORKING { get; set; } public int CN_N_PRIORITY { get; set; } public int CN_N_CUR_STEP { get; set; } public string CN_S_CREATOR { get; set; } public string CN_S_CREATOR_NAME { get; set; } public string CN_T_CREATE { get; set; } public string CN_S_MENDER { get; set; } public string CN_S_MODIFY_NAME { get; set; } public string CN_T_MODIFY { get; set; } public string CN_S_TASK_MODEL { get; set; } public string CN_S_EXT1 { get; set; } public string CN_S_EXT2 { get; set; } public string CN_S_EXT3 { get; set; } public string CN_N_AGV_NO { get; set; } public string CN_S_TRANSPORT_INFO { get; set; } } /// /// SQL-MOBOX任务主表 /// [SugarTable("dbo.TN_0001")] public class Mobox_MST_TASK { public string S_ID { get; set; }//g public string S_STATE { get; set; } public string S_CREATOR_ID { get; set; } public string S_CREATOR_NAME { get; set; } public DateTime T_CREATE { get; set; } public string S_DEPART_ID { get; set; }//g public string S_DEPART_NAME { get; set; } public string S_MODIFIER_ID { get; set; } public string S_MODIFIER_NAME { get; set; } public DateTime T_MODIFY { get; set; } public int N_CREATEMETHOD { get; set; } public string G_SOURCE_OBJ { get; set; }//g public string CN_S_BATCH_NO { get; set; } public string CN_S_TASK_NO { get; set; } public string CN_S_SOURCE_NO { get; set; } public string CN_S_START_BIT { get; set; } public string CN_S_END_BIT { get; set; } public string CN_S_STATUS { get; set; } public int CN_N_PRIORITY { get; set; } public string CN_T_MODIFY { get; set; } } public class BaseModel { [SugarColumn(IsPrimaryKey = true)] public string S_ID { get; set; } = Guid.NewGuid().ToString("D"); public string S_CREATOR_ID { get; set; } = "sa"; public string S_CREATOR_NAME { get; set; } = "超级用户"; public DateTime T_CREATE { get; set; } = DateTime.Now; public DateTime T_MODIFY { get; set; } = DateTime.Now; } /// /// 设备报警信息表 /// [SugarTable("dbo.TN_0081")] public class CallWcsWarningTable : BaseModel { /// /// 请求编号,每个请求都要一个唯一编号, 同一个请求重复提交, 使用同一编号。由上层系统提供 /// public string requestPK { get; set; } /// /// 故障代码 /// public string errorNO { get; set; } /// /// 故障描述 /// public string errorDes { get; set; } /// /// 任务编码 /// public string taskCode { get; set; } /// /// 设备编码 /// public string dvcNo { get; set; } /// /// 操作人 /// public string @operator { get; set; } /// /// 操作时间 /// public DateTime operationTime { get; set; } } /// /// 海康报警信息表 /// [SugarTable("dbo.TN_0082")] public class WarnCallbackTable : BaseModel { /// /// 请求编号,每个请求都要一个唯一编号,同一个请求重复提交,使用同一编号。 /// public string reqCode { get; set; } /// /// 请求时间戳,格式: “yyyy-MM-dd HH:mm:ss”。 /// public string reqTime { get; set; } /// /// 客户端编号,如 PDA,HCWMS 等。 /// public string clientCode { get; set; } /// /// 令牌号,由调度系统颁发。 /// public string tokenCode { get; set; } /// /// 车号 /// public string robotCode { get; set; } /// /// 告警开始时间 /// public string beginTime { get; set; } /// /// 告警内容 /// public string warnContent { get; set; } /// /// 任务号 /// public string taskCode { get; set; } } } }