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; }
}
}
}