///---------------------------------------------------------------- /// <summary> /// 勘定科目名取得 </summary> /// <param name="cCode"> /// 勘定科目コード</param> /// <returns> /// 勘定科目名</returns> ///---------------------------------------------------------------- private string KamokuCodeToName(string cCode) { // 接続文字列取得 2016/10/01 string sc = SqlControl.obcConnectSting.get(global.pblDbName); //勘定奉行データベースへ接続する SqlControl.DataControl sCon = new SqlControl.DataControl(sc); //コントロールインスタンス生成 string mySql = string.Empty; SqlDataReader dR; //データリーダー string GetName = string.Empty; //科目名表示 mySql += "select sUcd,sNm from wkskm01 "; mySql += "where tiIsTrk = 1 "; mySql += "and sUcd = '" + string.Format("{0,6}", cCode) + "'"; //データリーダーを取得する dR = sCon.free_dsReader(mySql); while (dR.Read()) { GetName = dR["sNm"].ToString().Trim(); } dR.Close(); sCon.Close(); return(GetName); }
/// <summary> /// 勘定科目名取得 /// </summary> /// <param name="cCode">勘定科目コード</param> /// <returns>勘定科目名</returns> private string KamokuCodeToName(string cCode) { string sc = utility.GetDBConnect(global.pblDbName); //SQLServer接続文字列取得 SqlControl.DataControl sCon = new SqlControl.DataControl(sc); //コントロールインスタンス生成 string mySql = string.Empty; OleDbDataReader dR; //データリーダー string GetName = string.Empty; //科目名表示 mySql += "select sUcd,sNm from wkskm01 "; mySql += "where tiIsTrk = 1 "; mySql += "and sUcd = '" + string.Format("{0,6}", cCode) + "'"; //データリーダーを取得する dR = sCon.free_dsReader(mySql); while (dR.Read()) { GetName = dR["sNm"].ToString().Trim(); } dR.Close(); sCon.Close(); return(GetName); }
///--------------------------------------------------------- /// <summary> /// 各社の消費税計算区分を取得 </summary> /// <param name="sDBName"> /// 接続するデータベース名</param> /// <returns> /// 消費税計算区分</returns> ///--------------------------------------------------------- private string GetTaxMas(string sDBName) { // 勘定奉行データベース接続文字列を取得する 2017/09/04 string sc = SqlControl.obcConnectSting.get(sDBName); //データベースへ接続する SqlControl.DataControl dCon = new SqlControl.DataControl(sc); //データリーダーを取得する SqlDataReader dR; dR = dCon.free_dsReader("SELECT AccountingPeriodID,ConsumptionTaxBasicEntryID,ConsumptionTaxCalcMethod,ConsumptionTaxSubtractionMethod,SalesConsumptionTaxPileCalc,BuyConsumptionTaxPileCalc,EnterpriseDivisionID,AutomaticCalculationTax,FractionWay,RowVersion,RatioApplyToTaxationSalesRatio FROM tbConsumptionTaxBasicEntry"); string sZei = string.Empty; while (dR.Read()) { sZei = dR["AutomaticCalculationTax"].ToString().Trim(); } dR.Close(); dCon.Close(); //値を返す return(sZei); }
///----------------------------------------------------------------- /// <summary> /// 会社決算情報取得グリッド表示 </summary> /// <param name="sDBName"> /// 会社データベース名</param> /// <param name="tempDGV"> /// データグリッドオブジェクト名</param> ///----------------------------------------------------------------- private void GetAccountPeriod(string sDBName, DataGridView tempDGV) { //接続文字列を取得する 2016/10/01 string sc = SqlControl.obcConnectSting.get(sDBName); //データベースへ接続する SqlControl.DataControl dCon = new SqlControl.DataControl(sc); //有効なIDのデータリーダーを取得する //OleDbDataReader dR; SqlDataReader dR; string strSql = string.Empty; strSql += "SELECT * FROM tbAccountingPeriod JOIN tbAccountingPeriodConfig "; strSql += "ON tbAccountingPeriod.AccountingPeriodID = tbAccountingPeriodConfig.AccountingPeriodID "; strSql += "WHERE tbAccountingPeriod.CodeContext = 0 "; strSql += "ORDER BY tbAccountingPeriod.AccountingPeriodID desc"; dR = dCon.free_dsReader(strSql); int iX = 0; tempDGV.RowCount = 0; try { while (dR.Read()) { //データグリッドにデータを表示する tempDGV.Rows.Add(); tempDGV[0, iX].Value = dR["AccountingPeriodID"].ToString(); tempDGV[1, iX].Value = dR["FiscalTerm"].ToString(); tempDGV[2, iX].Value = DateTime.Parse(dR["PeriodStartDate"].ToString()).ToShortDateString(); tempDGV[3, iX].Value = DateTime.Parse(dR["PeriodEndDate"].ToString()).ToShortDateString(); tempDGV[4, iX].Value = dR["FinancialClosingFrequency"].ToString(); iX++; } tempDGV.CurrentCell = null; dR.Close(); dCon.Close(); } catch (Exception e) { MessageBox.Show(e.Message, "エラー", MessageBoxButtons.OK); } finally { if (dR.IsClosed == false) { dR.Close(); } if (dCon.Cn.State == ConnectionState.Open) { dCon.Close(); } } }
///---------------------------------------------------------------------- /// <summary> /// 各社の期首,決算期を取得 </summary> /// <param name="sDBName"> /// 接続するデータベース名</param> /// <returns> /// </returns> ///---------------------------------------------------------------------- private bool GetKishu(string sDBName, out string rKishuDate, out string rKessan) { //接続文字列を取得する 2016/10/01 string sc = SqlControl.obcConnectSting.get(sDBName); //データベースへ接続する SqlControl.DataControl dCon = new SqlControl.DataControl(sc); //有効なIDのデータリーダーを取得する //OleDbDataReader dR; SqlDataReader dR; dR = dCon.free_dsReader("SELECT AccountingPeriodID FROM tbAccountingPeriodConfig"); try { dR.Read(); string wID = dR["AccountingPeriodID"].ToString(); dR.Close(); //会計情報のデータリーダーを取得する dR = dCon.free_dsReader("SELECT AccountingPeriodID, PeriodStartDate,PeriodEndDate,FiscalTerm, CodeContext, RowVersion FROM tbAccountingPeriod WHERE AccountingPeriodID = " + wID + " ORDER BY AccountingPeriodID"); string sKishuDate = string.Empty; rKishuDate = string.Empty; rKessan = string.Empty; while (dR.Read()) { rKishuDate = DateTime.Parse(dR["PeriodStartDate"].ToString()).ToShortDateString(); rKessan = dR["FiscalTerm"].ToString(); } dR.Close(); dCon.Close(); //値を返す return(true); } catch (Exception) { rKishuDate = string.Empty; rKessan = string.Empty; return(false); } finally { if (dR.IsClosed == false) { dR.Close(); } if (dCon.Cn.State == ConnectionState.Open) { dCon.Close(); } } }
public static Boolean LmFlag; //入力可能フラグ ///-------------------------------------------------- /// <summary> /// 勘定奉行データベースより会社情報を取得する /// : 2017/07/24 </summary> ///-------------------------------------------------- public void CompDataLoad() { //勘定奉行データベース接続文字列を取得する string sc = SqlControl.obcConnectSting.get(global.pblDbName); //勘定奉行データベースへ接続する SqlControl.DataControl dCon = new SqlControl.DataControl(sc); //会社データ取得 //データリーダーを取得する SqlDataReader dR; string sqlSTRING = "SELECT sDateKisyu,sDateKimatu,tiKaisi,sCorpNm,sGngo,sHosei,tiIsMiddle,tiIsVersion FROM wdhead"; dR = dCon.free_dsReader(sqlSTRING); try { while (dR.Read()) { company.Name = dR["sCorpNm"].ToString().Trim(); company.FromYear = dR["sDateKisyu"].ToString().Trim().Substring(0, 4); company.FromMonth = dR["sDateKisyu"].ToString().Trim().Substring(4, 2); company.FromDay = dR["sDateKisyu"].ToString().Trim().Substring(6, 2); company.ToYear = dR["sDateKimatu"].ToString().Trim().Substring(0, 4); company.ToMonth = dR["sDateKimatu"].ToString().Trim().Substring(4, 2); company.ToDay = dR["sDateKimatu"].ToString().Trim().Substring(6, 2); company.Kaisi = dR["tiKaisi"].ToString().Trim(); company.Gengou = dR["sGngo"].ToString().Trim(); company.Hosei = dR["sHosei"].ToString().Trim(); company.Middle = dR["tiIsMiddle"].ToString().Trim(); company.gsVersion = dR["tiIsVersion"].ToString().Trim(); } //西暦のとき if (Hosei == "0") { Reki = "20"; } else { //和暦のとき Reki = Gengou; } } catch (Exception e) { MessageBox.Show(e.Message, "エラー", MessageBoxButtons.OK); } finally { dR.Close(); dCon.Close(); } }
///---------------------------------------------------------- /// <summary> /// 勘定科目名取得:勘定奉行i10 2017/07/26 </summary> /// <param name="cCode"> /// 勘定科目コード</param> /// <returns> /// 勘定科目名</returns> ///---------------------------------------------------------- private string KamokuCodeToName(string cCode) { string KanjoCode = string.Empty; string GetName = string.Empty; // 接続文字列を取得する string sc = SqlControl.obcConnectSting.get(global.pblDbName); // データベース接続 SqlControl.DataControl sCon = new SqlControl.DataControl(sc); string mySql = string.Empty; SqlDataReader dR; //データリーダー //勘定科目取得 if (utility.NumericCheck(cCode.Trim())) { KanjoCode = string.Format("{0:D10}", int.Parse(cCode.Trim())); } else { KanjoCode = cCode.Trim(); } mySql += "SELECT AccountItemCode, AccountItemName FROM tbAccountItem "; mySql += "WHERE (tbAccountItem.IsUse = 1) and "; mySql += "(tbAccountItem.AccountingPeriodID = " + global.pblAccPID + ") and "; mySql += "(AccountItemCode = '" + KanjoCode + "')"; //データリーダーを取得する dR = sCon.free_dsReader(mySql); if (dR.HasRows) { dR.Read(); GetName = dR["AccountItemName"].ToString().Trim(); } else { GetName = string.Empty; } dR.Close(); sCon.Close(); return(GetName); }
///-------------------------------------------------------- /// <summary> /// 整理仕訳区分を取得する </summary> /// <param name="sDBName"> /// 会社データベース名</param> /// /// 2017/09/03 ///-------------------------------------------------------- private void GetArrangeDivision(string sDBName) { //接続文字列を取得する //string sc = utility.GetDBConnect(sDBName); //接続文字列を取得する 2017/09/03 string sc = SqlControl.obcConnectSting.get(sDBName); //データベースへ接続する SqlControl.DataControl dCon = new SqlControl.DataControl(sc); //有効な整理仕訳区分の値を取得する //OleDbDataReader dR; SqlDataReader dR; string strSql = string.Empty; strSql += "SELECT ArrangeDivision FROM tbAccountingPeriodConfig "; dR = dCon.free_dsReader(strSql); company.Arrange = global.FLGOFF; try { while (dR.Read()) { company.Arrange = dR["ArrangeDivision"].ToString(); } dR.Close(); dCon.Close(); } catch (Exception e) { MessageBox.Show(e.Message, "エラー", MessageBoxButtons.OK); } finally { if (dR.IsClosed == false) { dR.Close(); } if (dCon.Cn.State == ConnectionState.Open) { dCon.Close(); } } }
///---------------------------------------------------------------- /// <summary> /// 西暦、和暦の区分を取得 </summary> /// <param name="sDBName"> /// 接続するデータベース名</param> /// <returns> /// </returns> ///---------------------------------------------------------------- private string GetReki(string sDBName) { //接続文字列を取得する 2016/10/01 string sc = SqlControl.obcConnectSting.get(sDBName); //データベースへ接続する SqlControl.DataControl dCon = new SqlControl.DataControl(sc); //データリーダーを取得する //OleDbDataReader dR; SqlDataReader dR; string sqlString = string.Empty; sqlString += "select CorpData.value('(/ObcCorpData/Node[@key=\"EraIndicate\"])[1]','varchar(1)') as reki from tbCorpDatabaseContext"; string sReki = string.Empty; dR = dCon.free_dsReader(sqlString); try { dR.Read(); sReki = dR["reki"].ToString(); dR.Close(); dCon.Close(); //値を返す return(sReki); } catch (Exception) { return(sReki); } finally { if (dR.IsClosed == false) { dR.Close(); } if (dCon.Cn.State == ConnectionState.Open) { dCon.Close(); } } }
///-------------------------------------------------- /// <summary> /// 勘定奉行データベースより伝票入力指定期間情報を取得する /// : 2017/07/24 </summary> ///-------------------------------------------------- public void LimitDataLoad() { //勘定奉行データベース接続文字列を取得する string sc = SqlControl.obcConnectSting.get(global.pblDbName); //勘定奉行データベースへ接続する SqlControl.DataControl dCon = new SqlControl.DataControl(sc); //伝票入力指定期間を取得 //データリーダーを取得する SqlDataReader dR; string sqlSTRING = "SELECT tiStSoeji,sDnStDate,tiEdSoeji,sDnEdDate,tiIsLock FROM wjdnpyo2"; dR = dCon.free_dsReader(sqlSTRING); try { while (dR.Read()) { company.LmStSoeji = dR["tiStSoeji"].ToString().Trim(); company.LmFromYear = dR["sDnStDate"].ToString().Trim().Substring(0, 4); company.LmFromMonth = dR["sDnStDate"].ToString().Trim().Substring(4, 2); company.LmFromDay = dR["sDnStDate"].ToString().Trim().Substring(6, 2); company.LmEdSoeji = dR["tiEdSoeji"].ToString().Trim(); company.LmToYear = dR["sDnEdDate"].ToString().Trim().Substring(0, 4); company.LmToMonth = dR["sDnEdDate"].ToString().Trim().Substring(4, 2); company.LmToDay = dR["sDnEdDate"].ToString().Trim().Substring(6, 2); company.LmLock = dR["tiIsLock"].ToString().Trim(); } } catch (Exception e) { MessageBox.Show(e.Message, "エラー", MessageBoxButtons.OK); } finally { dR.Close(); dCon.Close(); } }
///------------------------------------------------------------------ /// <summary> /// 補助科目名取得 </summary> /// <param name="cCode"> /// 勘定科目コード</param> /// <param name="hCode"> /// 補助科目コード</param> /// <returns> /// 補助科目名</returns> ///------------------------------------------------------------------ private string HojoCodeToName(string cCode, string hCode) { // 接続文字列取得 2016/10/01 string sc = SqlControl.obcConnectSting.get(global.pblDbName); //勘定奉行データベースへ接続する SqlControl.DataControl sCon = new SqlControl.DataControl(sc); string mySql = string.Empty; SqlDataReader dR; string GetName = string.Empty; //補助コードがあるか? mySql += "select sNcd,sUcd,sHjoUcd,wkhjm01.sNm "; mySql += "from wkskm01 inner join wkhjm01 "; mySql += "on wkskm01.sNcd = wkhjm01.sSknNcd "; mySql += "where sHjoUcd <> '000000' and sUcd = '" + string.Format("{0,6}", cCode) + "'"; //データリーダーを取得する dR = sCon.free_dsReader(mySql); if (dR.HasRows) { //勘定科目に補助コードが登録されているとき while (dR.Read()) { if (dR["sHjoUcd"].ToString().Trim() == hCode) { GetName = dR["sNm"].ToString().Trim(); break; } } } dR.Close(); sCon.Close(); return(GetName); }
/// <summary> /// 補助科目名取得 /// </summary> /// <param name="cCode">勘定科目コード</param> /// <param name="hCode">補助科目コード</param> /// <returns>補助科目名</returns> private string HojoCodeToName(string cCode, string hCode) { string sc = utility.GetDBConnect(global.pblDbName); //SQLServer接続文字列取得 SqlControl.DataControl sCon = new SqlControl.DataControl(sc); //コントロールインスタンス生成 string mySql = string.Empty; OleDbDataReader dR; //データリーダー string GetName = string.Empty; //補助コードがあるか? mySql += "select sNcd,sUcd,sHjoUcd,wkhjm01.sNm "; mySql += "from wkskm01 inner join wkhjm01 "; mySql += "on wkskm01.sNcd = wkhjm01.sSknNcd "; mySql += "where sHjoUcd <> '000000' and sUcd = '" + string.Format("{0,6}", cCode) + "'"; //データリーダーを取得する dR = sCon.free_dsReader(mySql); if (dR.HasRows) { //勘定科目に補助コードが登録されているとき while (dR.Read()) { if (dR["sHjoUcd"].ToString().Trim() == hCode) { GetName = dR["sNm"].ToString().Trim(); break; } } } dR.Close(); sCon.Close(); return(GetName); }
///-------------------------------------------------------------- /// <summary> /// 補助科目名取得:勘定奉行i10 2017/07/26 </summary> /// <param name="cCode"> /// 勘定科目コード</param> /// <param name="hCode"> /// 補助科目コード</param> /// <returns> /// 補助科目名</returns> ///-------------------------------------------------------------- private string HojoCodeToName(string cCode, string hCode) { string GetName = string.Empty; string KanjoCode = string.Empty; string hojoCode = string.Empty; Boolean hCodestatus = false; //補助コードの有無ステータス // 補助科目無記入のとき if (hCode.Trim() == string.Empty) { return(string.Empty); } // 接続文字列取得 string sc = SqlControl.obcConnectSting.get(global.pblDbName); // データベース接続 SqlControl.DataControl sCon = new SqlControl.DataControl(sc); string mySql = string.Empty; SqlDataReader dR; //データリーダー //勘定科目取得 if (utility.NumericCheck(cCode.Trim())) { KanjoCode = string.Format("{0:D10}", int.Parse(cCode.Trim())); } else { KanjoCode = cCode.Trim(); } //補助科目取得 if (utility.NumericCheck(hCode.Trim())) { hojoCode = string.Format("{0:D10}", int.Parse(hCode.Trim())); } else { hojoCode = hCode.Trim(); } //補助コードがあるか? mySql += "select tbAccountItem.AccountItemID,tbAccountItem.AccountItemCode,"; mySql += "tbAccountItem.AccountItemName,tbSubAccountItem.SubAccountItemCode,"; mySql += "tbSubAccountItem.SubAccountItemName "; mySql += "from tbAccountItem inner join tbSubAccountItem "; mySql += "on tbAccountItem.AccountItemID = tbSubAccountItem.AccountItemID "; mySql += "where tbAccountItem.AccountingPeriodID = " + global.pblAccPID + " and "; mySql += "SubAccountItemCode <> '0000000000' and "; mySql += "tbAccountItem.AccountItemCode = '" + KanjoCode + "'"; //データリーダーを取得し勘定科目に補助科目が設定されているか調べる dR = sCon.free_dsReader(mySql); hCodestatus = dR.HasRows; dR.Close(); //勘定科目に補助コードが登録されているとき if (hCodestatus) { //その他を含めた補助科目のデータリーダーを取得する mySql = string.Empty; mySql += "select tbAccountItem.AccountItemID,tbAccountItem.AccountItemCode,"; mySql += "tbAccountItem.AccountItemName,tbSubAccountItem.SubAccountItemCode,"; mySql += "tbSubAccountItem.SubAccountItemName "; mySql += "from tbAccountItem inner join tbSubAccountItem "; mySql += "on tbAccountItem.AccountItemID = tbSubAccountItem.AccountItemID "; mySql += "where tbAccountItem.AccountingPeriodID = " + global.pblAccPID + " and "; mySql += "tbAccountItem.AccountItemCode = '" + KanjoCode + "'"; dR = sCon.free_dsReader(mySql); while (dR.Read()) { if (dR["SubAccountItemCode"].ToString().Trim() == hojoCode) { GetName = dR["SubAccountItemName"].ToString().Trim(); break; } } dR.Close(); } sCon.Close(); return(GetName); }
///-------------------------------------------------------------- /// <summary> /// グリッドビューへ会社情報を表示する </summary> /// <param name="sConnect"> /// 接続文字列</param> /// <param name="tempDGV"> /// DataGridViewオブジェクト名</param> ///-------------------------------------------------------------- private void GridViewShowData(string sConnect, DataGridView tempDGV) { string sqlSTRING = string.Empty; //// 勘定奉行データベース接続文字列を取得する 2017/09/04 //string sc = SqlControl.obcConnectSting.get(global.pblDbName); // 勘定奉行データベースに接続する 2017/09/04 SqlControl.DataControl sdcon = new SqlControl.DataControl(sConnect); //データリーダーを取得する SqlDataReader dR; //SqlControl.DataControl sdcon = new SqlControl.DataControl(sConnect); ////データリーダーを取得する //OleDbDataReader dR; //////sqlSTRING += "SELECT sDbNm,siCorpNo,sDateKisyu,sHosei,siKsnKi,sCorpNm FROM wcompany"; //////sqlSTRING += "SELECT DatabaseName, EntityCode,EntityName, CreateDate, CorpData "; //////sqlSTRING += "FROM tbCorpDatabaseContext ORDER BY EntityCode"; sqlSTRING += "select * from "; sqlSTRING += "(select tbCorpDatabaseContext.EntityCode,tbCorpDatabaseContext.EntityName,"; sqlSTRING += "tbCorpDatabaseContext.DatabaseName,tbCorpDatabaseContext.CreateDate,"; sqlSTRING += "CorpData.value('(/ObcCorpData/Node[@key=\"InitializeAC\"])[1]','varchar(1)') as Type "; sqlSTRING += "from tbCorpDatabaseContext) as Corp "; sqlSTRING += "where Type is not null "; sqlSTRING += "order by EntityCode"; dR = sdcon.free_dsReader(sqlSTRING); try { //グリッドビューに表示する int iX = 0; tempDGV.RowCount = 0; while (dR.Read()) { //中断データ処理のときは該当する会社しか表示しない if (_sMode == global.REMODE) { this.Text = "中断伝票処理 会社選択"; global.pblBfDbName = string.Empty; //該当する会社の中断フォルダが存在するとき string sPath = global.WorkDir + global.DIR_BREAK + dR["EntityCode"].ToString() + @"\"; if (System.IO.Directory.Exists(sPath)) { //データグリッドにデータを表示する tempDGV.Rows.Add(); GridViewCellData(tempDGV, iX, dR); iX++; } } else if (_sMode == global.OCRMODE) { //データグリッドにデータを表示する tempDGV.Rows.Add(); GridViewCellData(tempDGV, iX, dR); iX++; } } tempDGV.CurrentCell = null; } catch (Exception e) { MessageBox.Show(e.Message, "エラー", MessageBoxButtons.OK); } finally { dR.Close(); sdcon.Close(); } int sIx; //会社情報がないとき if (tempDGV.RowCount == 0) { MessageBox.Show("会社情報が存在しません", "会社選択", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { //前回選択した会社を検索 if (global.pblBfDbName == string.Empty) { sIx = 0; } else { sIx = -1; for (int i = 0; i < tempDGV.RowCount; i++) { if (tempDGV[4, i].Value.ToString() == global.pblBfDbName) { sIx = i; break; } } //もし会社が見つからなければIndex=0 if (sIx == -1) { sIx = 0; } } //税抜別段 if (tempDGV[5, sIx].Value.ToString() == "0") { //表示名変更「会社を選択してください。」 (v6.0対応)-- this.lblMsg.Text = "会社を選択してください。"; } //税込自動 else { if (tempDGV[5, sIx].Value.ToString() == "2") { this.lblMsg.Text = "会社を選択してください。"; } //税抜自動 else { this.lblMsg.Text = "会社及び税処理を選択してください。"; } } //対象の会社を選択状態にする //tempDGV.Rows[sIx].Selected = true; } }