服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2024-07-14 1bcccbe20fc973961418663de789b513784f490c
修复bug
已修改4个文件
255 ■■■■ 文件已修改
Tiger.Business.MES/Transaction/CollectNode.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/Transaction/PackingNode.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/WorkAction/PrintLabel.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/MES_WIP_DATA.cs 248 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/Transaction/CollectNode.cs
@@ -281,7 +281,7 @@
            }
            //保存成功,返回过站消息
            //action.LocaleMsg = new($"工单[{CurWipSN.WORK_ORDER}]的条码[{CurWipSN.SN}]在岗位[{CurWipSN.POST_CODE}]工序[{CurWipSN.NODE_NAME}]过站成功,状态[{CurWipSN.STATUS.GetEnumDesc<MES_WIP_DATA.STATUSs>()}]", CurWipSN.WORK_ORDER, CurWipSN.SN, CurWipSN.POST_CODE, CurWipSN.NODE_NAME, CurWipSN.STATUS.GetEnumDesc<MES_WIP_DATA.STATUSs>());
            action.LocaleMsg = new("MES.Transaction.CollectNode.ScanSn.PassSuccess", CurWipSN.WORK_ORDER, CurWipSN.SN, CurWipSN.POST_CODE, CurWipSN.NODE_NAME CurWipSN.STATUS.GetEnumDesc<MES_WIP_DATA.STATUSs>());
            action.LocaleMsg = new("MES.Transaction.CollectNode.ScanSn.PassSuccess", CurWipSN.WORK_ORDER, CurWipSN.SN, CurWipSN.POST_CODE, CurWipSN.NODE_NAME,CurWipSN.STATUS.GetEnumDesc<MES_WIP_DATA.STATUSs>());
            return action;
        }
        #endregion Functions
Tiger.Business.MES/Transaction/PackingNode.cs
@@ -280,7 +280,7 @@
            }
            //保存成功,返回过站消息
            //action.LocaleMsg = new($"工单[{CurWipSN.WORK_ORDER}]的条码[{CurWipSN.SN}]在岗位[{CurWipSN.POST_CODE}]工序[{CurWipSN.NODE_NAME}]过站成功,状态[{CurWipSN.STATUS.GetEnumDesc<MES_WIP_DATA.STATUSs>()}]", CurWipSN.WORK_ORDER, CurWipSN.SN, CurWipSN.POST_CODE, CurWipSN.NODE_NAME, CurWipSN.STATUS.GetEnumDesc<MES_WIP_DATA.STATUSs>());
            action.LocaleMsg = new("MES.Transaction.PackingNode.ScanSn.PassSuccess", CurWipSN.WORK_ORDER, CurWipSN.SN, CurWipSN.POST_CODE, CurWipSN.NODE_NAME CurWipSN.STATUS.GetEnumDesc<MES_WIP_DATA.STATUSs>());
            action.LocaleMsg = new("MES.Transaction.PackingNode.ScanSn.PassSuccess", CurWipSN.WORK_ORDER, CurWipSN.SN, CurWipSN.POST_CODE, CurWipSN.NODE_NAME, CurWipSN.STATUS.GetEnumDesc<MES_WIP_DATA.STATUSs>());
            return action;
        }
        #endregion Functions
Tiger.Business.MES/WorkAction/PrintLabel.cs
@@ -109,6 +109,9 @@
                            {
                                case "GetSN":
                                    return CurPosition.CurWipSN.SN;
                                case "GetBAS_ITEM":
                                    var itemInfo = Biz.Db.Queryable<BAS_ITEM>().Where(q => q.ITEM_CODE == CurPosition.CurWipSN.ITEM_CODE).First();
                                    return itemInfo.ToJson();
                                default:
                                    return "";
                            }
Tiger.Model.Net/Entitys/MES/MES_WIP_DATA.cs
@@ -7,294 +7,296 @@
namespace Tiger.Model
{
    /// <summary>
    /// 实体:在制品信息表
    /// 实体:在制品信息表
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("在制品信息表")]
    [DisplayName("在制品信息表")]
    [Serializable]
    [SugarTable("MES_WIP_DATA")]
    public class MES_WIP_DATA : DbEntityWithAuth
    {
        #region 构造函数
        #region 构造函数
        /// <summary>
        /// 实体:在制品信息表
        /// 实体:在制品信息表
        /// </summary>
        public MES_WIP_DATA() {}
        #endregion
        #region 公共属性
        #region 公共属性
        /// <summary>
        /// 过站条码
        /// 过站条码
        /// </summary>
        [DisplayName("过站条码")]
        [DisplayName("过站条码")]
        public string SN { get; set; }
        /// <summary>
        /// 状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)
        /// 状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)
        /// </summary>
        [DisplayName("状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)")]
        [DisplayName("状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)")]
        public int STATUS { get; set; }
        /// <summary>
        /// 物料编码
        /// 物料编码
        /// </summary>
        [DisplayName("物料编码")]
        [DisplayName("物料编码")]
        public string ITEM_CODE { get; set; }
        /// <summary>
        /// 工单号
        /// 工单号
        /// </summary>
        [DisplayName("工单号")]
        [DisplayName("工单号")]
        public string WORK_ORDER { get; set; }
        /// <summary>
        /// 工单批次号
        /// 工单批次号
        /// </summary>
        [DisplayName("工单批次号")]
        [DisplayName("工单批次号")]
        public string BATCH_NO { get; set; }
        /// <summary>
        /// 工艺路线编码
        /// 工艺路线编码
        /// </summary>
        [DisplayName("工艺路线编码")]
        [DisplayName("工艺路线编码")]
        public string ROT_CODE { get; set; }
        /// <summary>
        /// 工艺路线节点ID
        /// 工艺路线节点ID
        /// </summary>
        [DisplayName("工艺路线节点ID")]
        [DisplayName("工艺路线节点ID")]
        public string NODE_ID { get; set; }
        /// <summary>
        /// 工艺路线节点名称
        /// 工艺路线节点名称
        /// </summary>
        [DisplayName("工艺路线节点名称")]
        [DisplayName("工艺路线节点名称")]
        public string NODE_NAME { get; set; }
        /// <summary>
        /// 工厂编码
        /// 工厂编码
        /// </summary>
        [DisplayName("工厂编码")]
        [DisplayName("工厂编码")]
        public string FTY_CODE { get; set; }
        /// <summary>
        /// 车间编码
        /// 车间编码
        /// </summary>
        [DisplayName("车间编码")]
        [DisplayName("车间编码")]
        public string WS_CODE { get; set; }
        /// <summary>
        /// 产线编码
        /// 产线编码
        /// </summary>
        [DisplayName("产线编码")]
        [DisplayName("产线编码")]
        public string LINE_CODE { get; set; }
        /// <summary>
        /// 岗位编码
        /// 岗位编码
        /// </summary>
        [DisplayName("岗位编码")]
        [DisplayName("岗位编码")]
        public string POST_CODE { get; set; }
        /// <summary>
        /// 工序编码
        /// 工序编码
        /// </summary>
        [DisplayName("工序编码")]
        [DisplayName("工序编码")]
        public string OPER_CODE { get; set; }
        /// <summary>
        /// 加工段
        /// 加工段
        /// </summary>
        [DisplayName("加工段")]
        [DisplayName("加工段")]
        public string SEGMENT { get; set; }
        /// <summary>
        /// 锁定标记
        /// 锁定标记
        /// </summary>
        [DisplayName("锁定标记")]
        [DisplayName("锁定标记")]
        public string HOLD_FLAG { get; set; }
        /// <summary>
        /// 返工标记
        /// 返工标记
        /// </summary>
        [DisplayName("返工标记")]
        [DisplayName("返工标记")]
        public string REWORK_FLAG { get; set; }
        /// <summary>
        /// 是否完工
        /// 是否完工
        /// </summary>
        [DisplayName("是否完工")]
        [DisplayName("是否完工")]
        public string FINISHED_FLAG { get; set; }
        /// <summary>
        /// 是否不良
        /// 是否不良
        /// </summary>
        [DisplayName("是否不良")]
        [DisplayName("是否不良")]
        public string DFT_FLAG { get; set; }
        /// <summary>
        /// 不良计数
        /// 不良计数
        /// </summary>
        [DisplayName("不良计数")]
        [DisplayName("不良计数")]
        public int DFT_COUNT { get; set; }
        /// <summary>
        /// 不良代码编码
        /// 不良代码编码
        /// </summary>
        [DisplayName("不良代码编码")]
        [DisplayName("不良代码编码")]
        public string DFT_CODE { get; set; }
        /// <summary>
        /// 托盘/载具条码
        /// 托盘/载具条码
        /// </summary>
        [DisplayName("托盘/载具条码")]
        [DisplayName("托盘/载具条码")]
        public string TRAY_SN { get; set; }
        /// <summary>
        /// 容器/内包装条码
        /// 容器/内包装条码
        /// </summary>
        [DisplayName("容器/内包装条码")]
        [DisplayName("容器/内包装条码")]
        public string CONTAINER_SN { get; set; }
        /// <summary>
        /// 外箱条码
        /// 外箱条码
        /// </summary>
        [DisplayName("外箱条码")]
        [DisplayName("外箱条码")]
        public string CARTON_SN { get; set; }
        /// <summary>
        /// 栈板条码
        /// 栈板条码
        /// </summary>
        [DisplayName("栈板条码")]
        [DisplayName("栈板条码")]
        public string PALLET_SN { get; set; }
        /// <summary>
        /// 是否入库
        /// 是否入库
        /// </summary>
        [DisplayName("是否入库")]
        [DisplayName("是否入库")]
        public string INV_FLAG { get; set; }
        /// <summary>
        /// 入库日期
        /// 入库日期
        /// </summary>
        [DisplayName("入库日期")]
        [DisplayName("入库日期")]
        public DateTime INV_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 投入时间
        /// 投入时间
        /// </summary>
        [DisplayName("投入时间")]
        [DisplayName("投入时间")]
        public DateTime INLINE_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 产出时间
        /// 产出时间
        /// </summary>
        [DisplayName("产出时间")]
        [DisplayName("产出时间")]
        public DateTime OUTLINE_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 当前操作时间
        /// 当前操作时间
        /// </summary>
        [DisplayName("当前操作时间")]
        [DisplayName("当前操作时间")]
        public DateTime OPERATION_TIME { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 班制编码
        /// 班制编码
        /// </summary>
        [DisplayName("班制编码")]
        [DisplayName("班制编码")]
        public string SFTS_CODE { get; set; }
        /// <summary>
        /// 班次编码
        /// 班次编码
        /// </summary>
        [DisplayName("班次编码")]
        [DisplayName("班次编码")]
        public string SFT_CODE { get; set; }
        /// <summary>
        /// 时段编码
        /// 时段编码
        /// </summary>
        [DisplayName("时段编码")]
        [DisplayName("时段编码")]
        public string PRD_CODE { get; set; }
        /// <summary>
        /// 抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)
        /// 抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)
        /// </summary>
        [DisplayName("抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)")]
        [DisplayName("抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)")]
        public int OBA_STATUS { get; set; }
        /// <summary>
        /// 抽检批次号
        /// 抽检批次号
        /// </summary>
        [DisplayName("抽检批次号")]
        [DisplayName("抽检批次号")]
        public string OBA_BATCH { get; set; }
        /// <summary>
        /// 锁定批次号
        /// 锁定批次号
        /// </summary>
        [DisplayName("锁定批次号")]
        [DisplayName("锁定批次号")]
        public string LOCK_BATCH { get; set; }
        /// <summary>
        /// 出货时间
        /// 出货时间
        /// </summary>
        [DisplayName("出货时间")]
        [DisplayName("出货时间")]
        public DateTime SHIPPING_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// 出货单号
        /// 出货单号
        /// </summary>
        [DisplayName("出货单号")]
        [DisplayName("出货单号")]
        public string SHIPPING_ORDER { get; set; }
        /// <summary>
        /// 备注
        /// 备注
        /// </summary>
        [DisplayName("备注")]
        [DisplayName("备注")]
        public string REMARK { get; set; }
        #endregion
        #endregion
        #region 虚拟属性
        /*例子
        #region 虚拟属性
        /*例子
        [SugarColumn(IsIgnore = true)]
        public string FieldName { get; set; }
        */
        #endregion
        #endregion
        #region 外键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是MES_WIP_DATA类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.MES_WIP_DATAId))]//ClassA表中的MES_WIP_DATAId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.MES_WIP_DATAId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        #region 外键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是MES_WIP_DATA类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.MES_WIP_DATAId))]//ClassA表中的MES_WIP_DATAId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.MES_WIP_DATAId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        */
        #endregion
        [Navigate(NavigateType.OneToOne, nameof(ITEM_CODE), nameof(BAS_ITEM.ITEM_CODE), "GHOST_ROW = 0")]//一对一 ClassAId是MES_WIP_DATA类里面的外键ID字段
        public BAS_ITEM ItemInfo { get; set; } //注意禁止手动赋值,只能是null
        #endregion
        #region 枚举变量
        /*例子
        #region 枚举变量
        /*例子
        public enum FieldNames
        {
            [Description("枚举描述0")]
            [Description("枚举描述0")]
            Enum0,
            [Description("枚举描述1")]
            [Description("枚举描述1")]
            Enum1,
        }
        */
        /// <summary>
        /// 枚举:状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)
        /// </summary>
        public enum STATUSs
        /// <summary>
        /// 枚举:状态(0Init初始化|1Input已投入|2OK良品过站|3NG不良过站|4Repair维修中|5Finished已完工|6Scrap已报废|7InStorage已入库|8Reject已拒收|9Shipped已出货)
        /// </summary>
        public enum STATUSs
        {
            [Description("初始化")]
            [Description("初始化")]
            Init = 0,
            [Description("已投入")]
            [Description("已投入")]
            Input = 1,
            [Description("良品过站")]
            [Description("良品过站")]
            OK = 2,
            [Description("不良过站")]
            [Description("不良过站")]
            NG = 3,
            [Description("维修中")]
            [Description("维修中")]
            Repair = 4,
            [Description("已完工")]
            [Description("已完工")]
            Finished = 5,
            [Description("已报废")]
            [Description("已报废")]
            Scrap = 6,
            [Description("已入库")]
            [Description("已入库")]
            InStorage = 7,
            [Description("已拒收")]
            [Description("已拒收")]
            Reject = 8,
            [Description("已出货")]
            [Description("已出货")]
            Shipped = 9,
        }
        /// <summary>
        /// 枚举:抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)
        /// 枚举:抽检状态(0Unsampled未抽检|1NoSampling不抽检|2WaitCheck待检验|3Checking检验中|4Completed检验完|5Locked已锁定)
        /// </summary>
        public enum OBA_STATUSs
        {
            [Description("未抽检")]
            [Description("未抽检")]
            Unsampled = 0,
            [Description("不抽检")]
            [Description("不抽检")]
            NoSampling = 1,
            [Description("待检验")]
            [Description("待检验")]
            WaitCheck = 2,
            [Description("检验中")]
            [Description("检验中")]
            Checking = 3,
            [Description("检验完")]
            [Description("检验完")]
            Completed = 4,
            [Description("已锁定")]
            [Description("已锁定")]
            Locked = 5,
        }
        #endregion
        #region 公共方法
        #region 公共方法
        #endregion