/// <summary> /// 最大ID取得 /// </summary> /// <param name="companyId">会社ID</param> /// <param name="groupId">グループID</param> /// <param name="db"></param> /// <param name="kbn">伝票区分</param> /// <param name="accountPeriod">会計年</param> /// <param name="no">伝票番号</param> /// <param name="id">伝票ID</param> /// <param name="ipAdress"></param> /// <param name="userId"></param> public static void GetMaxMasterId(string companyId, string groupId, ExMySQLData db, geMasterMaxIdKbn kbn, out string id) { StringBuilder sb; DataTable dt; bool exist = false; try { sb = new StringBuilder(); sb.Length = 0; // 存在確認 sb.Append("SELECT MT.ID AS MAX_ID " + Environment.NewLine); switch (kbn) { case geMasterMaxIdKbn.CompanyGroup: sb.Append(" FROM SYS_M_COMPANY_GROUP AS MT" + Environment.NewLine); break; case geMasterMaxIdKbn.Person: sb.Append(" FROM M_PERSON AS MT" + Environment.NewLine); break; case geMasterMaxIdKbn.Customer: sb.Append(" FROM M_CUSTOMER AS MT" + Environment.NewLine); break; case geMasterMaxIdKbn.Commodity: sb.Append(" FROM M_COMMODITY AS MT" + Environment.NewLine); break; case geMasterMaxIdKbn.Supplier: sb.Append(" FROM M_SUPPLIER AS MT" + Environment.NewLine); break; case geMasterMaxIdKbn.Purchase: sb.Append(" FROM M_PURCHASE AS MT" + Environment.NewLine); break; default: break; } sb.Append(" WHERE MT.DELETE_FLG = 0 " + Environment.NewLine); sb.Append(" AND MT.COMPANY_ID = " + companyId + Environment.NewLine); switch (kbn) { case geMasterMaxIdKbn.Supplier: sb.Append(" AND MT.CUSTOMER_ID = " + ExEscape.zRepStr(groupId) + Environment.NewLine); break; default: if (groupId != "") { sb.Append(" AND MT.GROUP_ID = " + groupId + Environment.NewLine); } break; } switch (kbn) { case geMasterMaxIdKbn.Customer: case geMasterMaxIdKbn.Commodity: case geMasterMaxIdKbn.Supplier: case geMasterMaxIdKbn.Purchase: sb.Append(" AND CAST(MT.ID AS SIGNED) > 0 " + Environment.NewLine); sb.Append(" ORDER BY CAST(MT.ID AS SIGNED) DESC " + Environment.NewLine); sb.Append(" LIMIT 0, 1 " + Environment.NewLine); break; default: sb.Append(" ORDER BY MT.ID DESC " + Environment.NewLine); sb.Append(" LIMIT 0, 1 " + Environment.NewLine); break; } dt = db.GetDataTable(sb.ToString()); if (dt.DefaultView.Count > 0) { id = (ExCast.zCLng(dt.DefaultView[0]["MAX_ID"]) + 1).ToString(); } else id = "1"; } catch (Exception ex) { CommonUtl.ExLogger.Error(CLASS_NM + ".GetMaxMasterId", ex); id = ""; throw; } }
/// <summary> /// 最大ID取得 /// </summary> /// <param name="companyId">会社ID</param> /// <param name="groupId">グループID</param> /// <param name="db"></param> /// <param name="kbn">伝票区分</param> /// <param name="accountPeriod">会計年</param> /// <param name="no">伝票番号</param> /// <param name="id">伝票ID</param> /// <param name="ipAdress"></param> /// <param name="userId"></param> public static void GetMaxMasterId(string companyId, string groupId, ExMySQLData db, geMasterMaxIdKbn kbn, out string id) { StringBuilder sb; DataTable dt; bool exist = false; try { sb = new StringBuilder(); sb.Length = 0; // 存在確認 sb.Append("SELECT MT.ID AS MAX_ID " + Environment.NewLine); switch (kbn) { case geMasterMaxIdKbn.CompanyGroup: sb.Append(" FROM SYS_M_COMPANY_GROUP AS MT" + Environment.NewLine); break; case geMasterMaxIdKbn.Person: sb.Append(" FROM M_PERSON AS MT" + Environment.NewLine); break; case geMasterMaxIdKbn.Customer: sb.Append(" FROM M_CUSTOMER AS MT" + Environment.NewLine); break; case geMasterMaxIdKbn.Commodity: sb.Append(" FROM M_COMMODITY AS MT" + Environment.NewLine); break; case geMasterMaxIdKbn.Supplier: sb.Append(" FROM M_SUPPLIER AS MT" + Environment.NewLine); break; case geMasterMaxIdKbn.Purchase: sb.Append(" FROM M_PURCHASE AS MT" + Environment.NewLine); break; default: break; } sb.Append(" WHERE MT.DELETE_FLG = 0 " + Environment.NewLine); sb.Append(" AND MT.COMPANY_ID = " + companyId + Environment.NewLine); switch (kbn) { case geMasterMaxIdKbn.Supplier: sb.Append(" AND MT.CUSTOMER_ID = " + ExEscape.zRepStr(groupId) + Environment.NewLine); break; default: if (groupId != "") { sb.Append(" AND MT.GROUP_ID = " + groupId + Environment.NewLine); } break; } switch (kbn) { case geMasterMaxIdKbn.Customer: case geMasterMaxIdKbn.Commodity: case geMasterMaxIdKbn.Supplier: case geMasterMaxIdKbn.Purchase: sb.Append(" AND CAST(MT.ID AS SIGNED) > 0 " + Environment.NewLine); sb.Append(" ORDER BY CAST(MT.ID AS SIGNED) DESC " + Environment.NewLine); sb.Append(" LIMIT 0, 1 " + Environment.NewLine); break; default: sb.Append(" ORDER BY MT.ID DESC " + Environment.NewLine); sb.Append(" LIMIT 0, 1 " + Environment.NewLine); break; } dt = db.GetDataTable(sb.ToString()); if (dt.DefaultView.Count > 0) { id = (ExCast.zCLng(dt.DefaultView[0]["MAX_ID"]) + 1).ToString(); } else { id = "1"; } } catch (Exception ex) { CommonUtl.ExLogger.Error(CLASS_NM + ".GetMaxMasterId", ex); id = ""; throw; } }