/// <summary>
        /// 根据看板号获取实体对象
        /// </summary>
        /// <param name="CardNo">看板号</param>
        /// <returns>返回 KanbanCardInfo 对象</returns>
        public KanbanCardInfo SelectInfoByCardNo(string cardNo, string loginUser)
        {
            KanbanCardInfo kanbancardinfo = dal.SelectInfoByCardNo(cardNo);

            if (kanbancardinfo == null)
            {
                throw new Exception("MC:3x00000004");                        ///标签信息错误
            }
            string sqlstr = "UPDATE [LES].[TM_MPM_KANBAN_CARD] SET [USED_STATUS] =  20 ,[SCANNED_DATE] = GETDATE(),[SCANNED_USER] = N'" + loginUser + "' WHERE [CARD_NO] = N'" + cardNo + "';";

            if (!CommonDAL.ExecuteNonQueryBySql(sqlstr))
            {
                throw new Exception("MC:0x00000276");///标签信息错误
            }
            return(kanbancardinfo);
        }
        /// <summary>
        /// InsertInfo
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        public long InsertInfo(KanbanCardInfo info)
        {
            ///保存时校验对应零件拉动信息中看板环数必须大于已创建的该零件拉动信息对应看板卡合计数
            int cnt             = dal.GetCounts(string.Format("[STATUS] in (" + (int)BasicDataStatusConstants.Created + "," + (int)BasicDataStatusConstants.Enable + ") and [PART_NO] = N'{0}' and [PART_BOX_CODE] = N'{1}'", info.PartNo, info.PartBoxCode));
            int kanbanCircleCnt = new MaintainInhouseLogisticStandardDAL().GetKanbanCircleCnt(info.PartBoxCode, info.PartNo);

            if (kanbanCircleCnt <= cnt)
            {
                throw new Exception("MC:0x00000310");///零件拉动信息中看板环数必须大于看板卡合计
            }
            ///保存时根据预定看板卡号①生成规则对此字段进行填充,界面只提供显示不能进行输入
            string cardType = new KanbanPartBoxDAL().GetCardTypeCodeByPartBoxCode(info.PartBoxCode);

            info.CardNo = new SeqDefineDAL().GetCurrentCode("KANBAN_CARD_NO", cardType);
            cnt         = dal.GetCounts("[CARD_NO] = N'" + info.CardNo + "'");
            if (cnt > 0)
            {
                throw new Exception("MC:0x00000055");///看板卡号重复
            }
            ///保存时更新状态⑩为已创建
            info.Status = (int)BasicDataStatusConstants.Created;
            return(dal.Add(info));
        }