using HH.WCS.QingXigongchang.process; using HH.WCS.QingXigongchang.util; using SqlSugar; using System; namespace HH.WCS.QingXigongchang.wms { //---------------------------------------工单信息--------------------------------------- //198服务器 //[SugarTable("dbo.TN_0138")] //均州现场 //[SugarTable("dbo.TN_0002")] //新安江 //[SugarTable("dbo.TN_0026")] [SuGG("工单表")] public class WorkOrder : BaseModel { /// /// 板子类型 /// public string B_Type { get; set; } //工单自动转运终点区域 /// /// 不存入 /// 具体库区 /// public string TurnArea { get; set; } /// /// AutoTurn /// TurnComplete /// TurnFail /// 同时当作Note用 /// public string TurnState { get; set; } /// /// 批次号 /// public string SQL_BatchNo { get; set; } /// /// 产线号 /// public string SQL_PLineNo { get; set; } public string FuLe_PLine_No { get; set; } /// /// 物料再托盘上 堆叠的层数。 /// public int ItemLayer { get; set; } /// /// 瓶盖机机无,翻斗机线边区连接到翻斗机暂存区 /// --- 瓶坯 链接 翻斗机 settings 中添加了 瓶坯的终点即产 /// public string SQL_LinkLineNO { get; set; } /// /// 连接区域,瓶盖机连接v8或无;翻斗机连接线边区 /// 设置 机台的对应。终点区域。(即产时使用 ) /// public string SQL_Area { get; set; } /// /// 入库区 瓶坯的入库选择区域。瓶坯的翻斗机 出去区域。 /// public string SQL_Area1 { get; set; } //SQL_LinkLineNo2 [SugarColumn(ColumnName = "SQL_LinkLineNo2")] public string SQL_LinkLineNO1 { get; set; } /// /// 即产即用 /// public string SQL_UsingNow { get; set; }//SQL_UsingNow "Y"|"N" /// /// 外调 /// public string SQL_Out { get; set; }//SQL_Out "Y"|"N" /// /// 工单状态 /// public string SQL_State { get; set; }//SQL_State /// /// 工单号 /// public string SQL_WorkNo { get; set; }//SQL_WorkNo /// /// 工单限制数。 限制任务中 最大锁排数量 - /// public int N_LimitNum { get; set; }//SQL_WorkNo /// /// 物料编码 /// public string SQL_ItemCode { get; set; } /// /// 物料名称 /// public string SQL_ItemName { get; set; }//SQL_ItemName /// /// 总数 /// public string SQL_Total { get; set; }//SQL_Total /// /// 即产即用数量 /// public string SQL_UsingNowTotal { get; set; } /// /// 每批运输数量 /// [SugarColumn(IsIgnore = !TaskProcess.UPFule)] public string SQL_PCNumber_using { get; set; } = "0";//SQL_PCNumber="" public string SQL_PCNumber { get; set; }//SQL_PCNumber /// s /// 计数(已执行数量) /// public string SQL_Current { get; set; }//SQL_Current /// /// 当前工单执行时间 /// public string SQL_Modify { get; set; }//SQL_Modify /// /// 当前工单结束时间 /// public string SQL_PLAN_END { get; set; } /// /// 是、否 /// public string SQL_AutoComplete { get; set; } [SugarColumn(IsIgnore = true)] public bool IsFinished { get; set; } = false; /// /// 库区a=1-2-3 独占 库区a的 123排 /// public string S_ROW { get; set; } /// /// 同 s_row , 瓶坯的入库库区排, 瓶坯翻斗机的出库库区排 /// public string S_ROW1 { get; set; } /// /// 工单执行时 写时间。 用于执行延迟10秒以后 工单判断 /// public DateTime? SQL_Modify_TIme { get; set; } /// /// Y S_ROW 不足时按正常逻辑 N 等待。 /// public string S_Is_Auto { get; set; } = ""; /// 是 或 () //[SugarColumn(IsIgnore = true)] public string FromFuLe { get; set; } /// /// 产线关联工单号。 /// [SugarColumn(IsIgnore = !TaskProcess.UPFule)] public string Sign { get; set; } [SugarColumn(IsIgnore = true)] public int pcnumusing { get { int q = 0; int.TryParse(SQL_PCNumber_using?.Split('.')[0], out q); return q; } } [SugarColumn(IsIgnore = true)] public int pcnum { get { int q = 0; int.TryParse(SQL_PCNumber?.Split('.')[0], out q); return q; } } [SugarColumn(IsIgnore = true)] public int current { get { int q = 0; int.TryParse(SQL_Current?.Split('.')[0], out q); return q; } } } /// /// 原物料工单表 /// [SuGG("原物料工单表")] public class YWLWorkOrder : BaseModel { /// /// 产线号 /// public string SQL_PLineNo { get; set; } public string FuLe_PLine_No { get; set; } /// /// 瓶盖机机无,翻斗机线边区连接到翻斗机暂存区 /// --- 瓶坯 链接 翻斗机 settings 中添加了 瓶坯的终点即产 /// public string SQL_LinkLineNO { get; set; } /// /// 连接区域,瓶盖机连接v8或无;翻斗机连接线边区 /// 设置 机台的对应。终点区域。(即产时使用 ) /// public string SQL_Area { get; set; } /// /// 即产即用 /// public string SQL_UsingNow { get; set; }//SQL_UsingNow "Y"|"N" /// /// 工单状态 /// public string SQL_State { get; set; }//SQL_State /// /// 工单号 /// public string SQL_WorkNo { get; set; }//SQL_WorkNo public string S_ROW { get; set; } /// /// 物料编码 /// public string SQL_ItemCode { get; set; } /// /// 物料名称 /// public string SQL_ItemName { get; set; }//SQL_ItemName /// /// 6:2 , 5:2 ,3:1 等等, 成品信号数:出库托盘数(按托盘数算,比如仓库是2层,就是2个托盘) /// public string SQL_charge { get; set; } /// /// 统计信号总数 - 出发outNum+1 后重置 /// public int SQL_Total { get; set; }//SQL_Total /// /// 当前工单结束时间 /// public string SQL_PLAN_END { get; set; } /// /// 工单执行时 写时间。 用于执行延迟10秒以后 工单判断 /// public DateTime? SQL_Modify_TIme { get; set; } /// /// 出库领料数, 根据信号操作增加。 /// public int OutNum { get; set; } = 0; /// /// 1.退料 /// 2.入库 /// 6.上料 /// public int WorkType { get; internal set; } = 0; public string MidArea { get; internal set; } /// /// 弃用, 改为记录上次库区- /// public string TagOver { get; internal set; } = ""; public DateTime? TagOverTime { get; internal set; } public string S_BQ_TRAY_TYPE { get; internal set; } = ""; /// /// 厂家 /// public string S_CJ_NAME { get; set; } } [SuGG("厂家时间表")] public class CjTimeOrder : BaseModel { /// /// 厂家名称 /// public string S_CJ_NAME { get; set; } /// /// 厂家时间 /// public DateTime T_CJ_TIME { get; set; } /// /// 物料编码 /// public string S_ITEM_CODE { get; set; } /// /// 物料名称 /// public string S_ITEM_NAME { get; set; } } [SuGG("瓶盖工单表")] public class PGWorkOrder : BaseModel { /// /// 板子类型 /// public string B_Type { get; set; } //工单自动转运终点区域 /// /// 不存入 /// 具体库区 /// public string TurnArea { get; set; } /// /// AutoTurn /// TurnComplete /// TurnFail /// 同时当作Note用 /// public string TurnState { get; set; } /// /// 批次号 /// public string SQL_BatchNo { get; set; } /// /// 产线号 /// public string SQL_PLineNo { get; set; } public string FuLe_PLine_No { get; set; } /// /// 物料再托盘上 堆叠的层数。 /// public int ItemLayer { get; set; } /// /// 瓶盖机机无,翻斗机线边区连接到翻斗机暂存区 /// --- 瓶坯 链接 翻斗机 settings中添加了 瓶坯的终点即产 /// public string SQL_LinkLineNO { get; set; } /// /// 连接区域,瓶盖机连接v8或无;翻斗机连接线边区 /// 设置 机台的对应。终点区域。(即产时使用 ) /// public string SQL_Area { get; set; } /// /// 入库区 瓶坯的入库选择区域。瓶坯的翻斗机 出去区域。 /// public string SQL_Area1 { get; set; } //SQL_LinkLineNo2 [SugarColumn(ColumnName = "SQL_LinkLineNo2")] public string SQL_LinkLineNO1 { get; set; } /// /// 即产即用 /// public string SQL_UsingNow { get; set; }//SQL_UsingNow "Y"|"N" /// /// 外调 /// public string SQL_Out { get; set; }//SQL_Out "Y"|"N" /// /// 工单状态 /// public string SQL_State { get; set; }//SQL_State /// /// 工单号 /// public string SQL_WorkNo { get; set; }//SQL_WorkNo /// /// 工单限制数。 限制任务中 最大锁排数量 - /// public int N_LimitNum { get; set; }//SQL_WorkNo /// /// 物料编码 /// public string SQL_ItemCode { get; set; } /// /// 物料名称 /// public string SQL_ItemName { get; set; }//SQL_ItemName /// /// 总数 /// public string SQL_Total { get; set; }//SQL_Total /// /// 即产即用数量 /// public string SQL_UsingNowTotal { get; set; } /// /// 每批运输数量 /// [SugarColumn(IsIgnore = !TaskProcess.UPFule)] public string SQL_PCNumber_using { get; set; } = "0";//SQL_PCNumber="" public string SQL_PCNumber { get; set; }//SQL_PCNumber /// s /// 计数(已执行数量) /// public string SQL_Current { get; set; }//SQL_Current /// /// 当前工单执行时间 /// public string SQL_Modify { get; set; }//SQL_Modify /// /// 当前工单结束时间 /// public string SQL_PLAN_END { get; set; } /// /// 是、否 /// public string SQL_AutoComplete { get; set; } [SugarColumn(IsIgnore = true)] public bool IsFinished { get; set; } = false; /// /// 库区a=1-2-3 独占 库区a的 123排 /// public string S_ROW { get; set; } /// /// 同 s_row , 瓶坯的入库库区排, 瓶坯翻斗机的出库库区排 /// public string S_ROW1 { get; set; } /// /// Y S_ROW 不足时按正常逻辑 N 等待。 /// public string S_Is_Auto { get; set; } /// 是 或 () //[SugarColumn(IsIgnore = true)] public string FromFuLe { get; set; } /// /// 产线关联工单号。 /// [SugarColumn(IsIgnore = !TaskProcess.UPFule)] public string Sign { get; set; } [SugarColumn(IsIgnore = true)] public int pcnumusing { get { int q = 0; int.TryParse(SQL_PCNumber_using?.Split('.')[0], out q); return q; } } [SugarColumn(IsIgnore = true)] public int pcnum { get { int q = 0; int.TryParse(SQL_PCNumber?.Split('.')[0], out q); return q; } } [SugarColumn(IsIgnore = true)] public int current { get { int q = 0; int.TryParse(SQL_Current?.Split('.')[0], out q); return q; } } } //[SuGG("自动移库工单表")] //public class AutoTurnWorkOrder : BaseModel //{ //} [SuGG("富勒托盘下发")] public class FuLeTrayCode : BaseModel { public string deviceName { get; set; } public string workNo { get; set; } public string trayCode { get; set; } public string trayNum { get; set; } public string dateTime { get; set; } public string batchNo { get; set; } public string trayRule { get; set; } public string itemLayer { get; set; } public string SQL_State { get; set; } = "下发"; } /// /// 原物料纸箱转运移库。 /// [SuGG("库库转运")] public class YWLZXtake : BaseModel { public string S_START_AREA { get; set; } public int N_START_ROW { get; set; } public string S_ZZ_AREA { get; set; } public string S_END_AREA { get; set; } public string S_ZX_STATE { get; set; } /// /// 编码 名称 厂家, 本来不需要, 为了ab区不足时,触发转运。 防止重复物料单据 /// public string S_ITEM_CODE { get; set; } public string S_ITEM_NAME { get; set; } /// /// 厂家 /// public string S_CJ_NAME { get; set; } } [SuGG("移库工单表")] public class TurnWorkOrder : BaseModel { /// /// 来源单号。 单据单号。 - 比如 由 /// public string FROM_NO { set; get; } ///工单号 public string SQL_WorkNo { get; set; } /// /// 手动移库 /// 自动移库 /// public string Turn_Type { get; set; } = "手动移库"; /// /// 产线号。 /// public string LineNo { get; set; } /// /// 起点库区 /// public string start_area { get; set; } /// /// 起点排 /// public string start_row { get; set; } ///终点库区 public string end_area { get; set; } /// /// 终点排 /// public string end_row { get; set; } /// /// 工单状态 /// public string SQL_State { get; set; } /// /// 优先级 /// public int priority { get; set; } = 60; /// /// 大 小板 集化板 /// public string size { get; set; } //[SugarColumn(ColumnName = "note")] public string Note { get; set; } /// /// 指定 移库的数量 /// public int TrayCount { get; set; } = 0; /// /// 已经移库数量 /// public int AlQty { get; set; } = 0; } [SuGG("备货单表")] public class OutOrder : BaseModel { /// /// 出库单号,或者自定义。 必须的 /// public string S_Work_NO { get; set; } public string S_ITEM_CODE { get; set; } public string S_ITEM_NAME { get; set; } public string S_Strart_Area { get; set; } public string S_Strart_Row { get; set; } public string S_END_ROW { get; set; } /// /// 库区{=排-排} /// public string S_END_AREA { get; set; } public string S_NOTE { get; set; } /// /// 执行时的唯一标识。 记录到 移库单号里。 用来FFROMNO 关联 来标记完成的依据 /// public string S_bsID { get; set; } = string.Empty; /// /// 出库数量 /// public int N_Stock { get; set; } = 0; public string S_Work_State { get; set; } = "新建"; } [SuGG("任务类型转换表")] public class TaskTypeConvTable : BaseModel { /// /// 内部任务名称 /// public string taskTypeName { get; set; } /// /// 对应的富勒编码 /// public string taskType { get; set; } } [SuGG("AGV设备信息")] public class AGVDeviceDataTable : BaseModel { /// /// 车辆类型 /// public string equipmentType { get; set; } /// /// 车辆型号 /// public string equipmentMold { get; set; } /// /// 车辆铭牌号 /// public string equipmentCode { get; set; } /// /// 车辆区域 /// public string equipmentArea { get; set; } /// /// 对应工厂编号 /// public string orgCode { get; set; } /// /// 车辆投放状态 /// public string equipmentStatus { get; set; } /// /// 唯一标识码 /// public string proxyInterfaceCode { get; set; } /// /// 工厂名称 /// public string orgName { get; set; } /// /// 车辆编码 /// public string equipmentNo { get; set; } } [SuGG("任务切面表")] public class TaskAudio { /// /// 产线号 /// public string S_PlineNo { get; set; } /// /// 目标区域 /// public string S_Area { get; set; } /// /// 目标排 /// public int N_ROW { get; set; } /// /// 目标货位 /// public string S_LOC_CODE { get; set; } /// /// 0 新建 /// 1 同意 /// 2 拒绝 /// 3 废弃 - 界面不要显示3的数据 /// public int N_AUDIO { get; set; } public DateTime CreateTime { get; set; } /// /// 记录数据。字段要varchar 要长。 在变更状态时, 按照(;时间-状态;)格式追加 /// public string S_Note { get; set; } } [SuGG("领料单表")] public class LingOrder : BaseModel { public string WorkNo { get; set; } public string State { get; set; } = "执行"; } [SuGG("领料单子表")] public class LingItemOrder : BaseModel { public string WorkNo { get; set; } public string WorkFromNo { get; set; } public string ItemCode { get; set; } public string OutAreaNum { get; set; } [SugarColumn(IsIgnore = true)] public int AreaNum { get { int q = 0; int.TryParse(OutAreaNum?.Split('.')[0], out q); return q; } } public string DeviceNo { get; set; } public string OutCurrentNum { get; set; } = "0"; public int AllocQTY { get; set; } = 0; [SugarColumn(IsIgnore = true)] public int current { get { int q = 0; int.TryParse(OutCurrentNum?.Split('.')[0], out q); return q; } } public string State { get; set; } = "执行"; } }