Exemple #1
0
        /// <summary>
        ///  経理区分に対応した補助整理かどうか
        ///  補助整理がNullなら0を設定
        ///  経理区分に対応した補助整理でなければ補助IDをnullに設定
        /// </summary>
        public static bool CheckHojoSeiriIsFitInKaikeiKubun(models.db.KaikeiDatabase db, models.db.Row row, constants.Taisyaku taisyaku)
        {
            int kamokuId  = (int)row.GetLong(GetTaisyakuStr(taisyaku, "_kamoku_id"), -1);
            int hojoSeiri = (int)row.GetLong(GetTaisyakuStr(taisyaku, "_hojo_seiri"), 0);

            if (hojoSeiri == 0)
            {
                row.Table.SetColumnValue(row, GetTaisyakuStr(taisyaku, "_hojo_seiri"), 0);
                return(true);
            }

            var seiriRow = db.MTKanjouKamoku.GetRowFromCodeCacheByTopParent(kamokuId, hojoSeiri.ToString());

            if (seiriRow == null)
            {
                row.Table.SetColumnValue(row, GetTaisyakuStr(taisyaku, "_hojo_id"), null);
                return(false);
            }

            int kamokuKaikeiKubunId  = (int)seiriRow.GetLong("kaikei_kubun_id", -1);
            int denpyouKaikeiKubunId = (int)row.GetLong("kaikei_kubun", -1);

            if (kamokuKaikeiKubunId == -1 || denpyouKaikeiKubunId == -1)
            {
                return(true);
            }

            if (!db.MTKaikeiKubun.IsChildOf(childId: denpyouKaikeiKubunId, parentId: kamokuKaikeiKubunId))
            {
                return(false);
            }
            return(true);
        }
Exemple #2
0
 /// <summary>
 /// 補助科目のサポートがONで、補助科目のサポートされている科目のときに、補助科目が登録されていないとFalse
 /// </summary>
 public static bool CheckHojoKamokuIsLacking(models.db.KaikeiDatabase db, models.db.Row row, constants.Taisyaku taisyaku)
 {
     if ((db.MTSetting.GetInt("hojo_kamoku_support") != 0))
     {
         var kamokuRow = db.MTKanjouKamoku.GetRowFromCache((int)row.GetLong(taisyaku == constants.Taisyaku.Karikata ? "karikata_kamoku_id" : "kashikata_kamoku_id", -1));
         if (kamokuRow != null && kamokuRow.GetBool("has_child", false))
         {
             if (row.GetLong(GetTaisyakuStr(taisyaku, "_hojo_seiri"), 0) == 0)
             {
                 return(true);
             }
         }
     }
     return(false);
 }
Exemple #3
0
        /// <summary>
        ///  科目コードに対応した補助整理番号かどうか
        ///  補助整理がNullなら0を設定
        /// </summary>
        public static bool CheckHojoSeiriIsFitInKamokuCode(models.db.KaikeiDatabase db, models.db.Row row, constants.Taisyaku taisyaku)
        {
            int kamokuId  = (int)row.GetLong(GetTaisyakuStr(taisyaku, "_kamoku_id"), -1);
            int hojoSeiri = (int)row.GetLong(GetTaisyakuStr(taisyaku, "_hojo_seiri"), 0);

            if (hojoSeiri == 0)
            {
                row.Table.SetColumnValue(row, GetTaisyakuStr(taisyaku, "_hojo_seiri"), 0);
                return(true);
            }

            var seiriRow = db.MTKanjouKamoku.GetRowFromCodeCacheByTopParent(kamokuId, hojoSeiri.ToString());

            if (seiriRow != null)
            {
                return(true);
            }
            return(false);
        }
Exemple #4
0
        /// <summary>
        ///  使用区分のチェック ( 使用区分がONの科目は使用できない)
        /// </summary>
        public static bool IsUseableKamokuCode(models.db.KaikeiDatabase db, models.db.Row row, constants.Taisyaku taisyaku)
        {
            var kamoku = db.MTKanjouKamoku.GetRowFromCodeCache(-1, row.GetStr(GetTaisyakuStr(taisyaku, "_kamoku_code")));

            if (kamoku != null)
            {
                if (kamoku.GetBool("usable", true) == false)
                {
                    return(false);
                }
            }
            return(true);
        }
Exemple #5
0
 /// <summary>
 ///  科目が振替対象かどうか
 /// </summary>
 public static bool IsHurikaeTaisyouKamokuCode(models.db.KaikeiDatabase db, models.db.Row row, constants.Taisyaku taisyaku)
 {
     /*
      * var kamoku = db.MTKamoku.GetRowFromCodeCache(row.GetStr(GetTaisyakuStr(taisyaku, "_kamoku_code")));
      * string hurikaeStr = taisyaku == constants.Taisyaku.Karikata ? "借方" : "貸方";
      *
      * if (kamoku != null) {
      *  if (kamoku.GetStr("hurikae_taisyou", "") == hurikaeStr) {
      *      return true;
      *  }
      * }
      */
     return(false);
 }
Exemple #6
0
        /// <summary>
        ///   科目コードのフォーマットをチェック(5ケタの文字列)
        /// </summary>
        public static bool CheckKamokuCodeFormatIsValid(models.db.KaikeiDatabase db, models.db.Row row, constants.Taisyaku taisyaku)
        {
            string karikata = row.GetStr(GetTaisyakuStr(taisyaku, "_kamoku_code"), "");

            return(karikata.Length == 5);
        }
Exemple #7
0
        /// <summary>
        ///   科目コードがNull or 0以外かどうか
        /// </summary>
        public static bool CheckKamokuCodeIsNotNull(models.db.KaikeiDatabase db, models.db.Row row, constants.Taisyaku taisyaku)
        {
            string karikata = row.GetStr(GetTaisyakuStr(taisyaku, "_kamoku_code"), "");

            return(karikata != "" && karikata != "0");
        }
Exemple #8
0
 private static string GetTaisyakuStr(constants.Taisyaku taisyaku, string prefix)
 {
     return((taisyaku == constants.Taisyaku.Karikata ? "karikata" : "kashikata") + prefix);
 }