Пример #1
0
 /// <summary>
 /// 检测是否存在指定的部门名称
 /// </summary>
 /// <param name="tran">当前事务</param>
 /// <param name="deptName">部门名称</param>
 /// <param name="lotId">当前待报数的lot卡号</param>
 /// <returns></returns>
 internal static bool IsMinLotId(SqlTransaction tran, string deptName, string lotId)
 {
     //部门名称转大写
     deptName = deptName.ToUpper();
     //检测lot卡号
     if (lotId.Length < 6)
     {
         throw new Exception("提供的lot卡号不正确!");
     }
     //实例化数据适配器并获取数据
     using (var da = new t_dept_lot_card_balanceTableAdapter())
     {
         //当前数据库连接
         da.Connection = tran.Connection;
         //设置事务
         da.Transaction = tran;
         //获取
         string minLotId;
         //检测是否样板
         bool isSample = lotId.ToUpper().Contains("S");
         //非样板使用生产订单和lot卡中的数据
         if (!isSample)
         {
             minLotId = da.GetMinLotIdByDeptName(deptName, lotId).ToString();
         }
         else
         {
             minLotId = da.GetMinSampleLotIdByDeptName(deptName, lotId).ToString();
         }
         //检测是否获取到数据
         if (minLotId != null && minLotId.ToString() == lotId)
         {
             //提供的是本部门结存中的最小lot卡号
             return true;
         }
         else
         {
             //提供的不是本部门结存中的最小lot卡号
             throw new Exception(
                 string.Format(
                     "当前lot卡 {0} 不是最小的lot卡号 {1}",
                     lotId,
                     minLotId
                 )
             );
         }
     }
 }