/// <summary> /// 仕入入力検索情報を取得する /// </summary> /// <param name="companyCode">自社コード</param> /// <param name="slipNumber">伝票番号</param> /// <returns></returns> public DataSet GetData(string companyCode, string slipNumber, int userId) { DataSet t03ds = new DataSet(); M73 taxService = new M73(); List <T03.T03_SRHD_Extension> hdList = getM03_SRHD_Extension(companyCode, slipNumber); List <T03.T03_SRDTL_Extension> dtlList = getT03_SRDTL_Extension(slipNumber); List <M73_ZEI> taxList = taxService.GetDataList(); List <DLY03010.S11_KAKUTEI_INFO> fixList = getS11_KAKUTEI_Extension(hdList); if (hdList.Count == 0) { if (string.IsNullOrEmpty(slipNumber)) { // 伝票番号未入力の場合は新規伝票扱いとする M88 svc = new M88(); int code = int.Parse(companyCode); T03.T03_SRHD_Extension hd = new T03.T03_SRHD_Extension(); hd.伝票番号 = svc.getNextNumber(CommonConstants.明細番号ID.ID01_売上_仕入_移動, userId); hd.会社名コード = code.ToString(); hd.仕入日 = com.GetDbDateTime(); hdList.Add(hd); } else { // 指定伝票が見つからない場合 return(null); } } int rowCnt = 1; foreach (T03_SRDTL row in dtlList) { row.行番号 = rowCnt++; } // Datatable変換 DataTable dthd = KESSVCEntry.ConvertListToDataTable(hdList); DataTable dtdtl = KESSVCEntry.ConvertListToDataTable(dtlList); DataTable dttax = KESSVCEntry.ConvertListToDataTable(taxList); DataTable dtfix = KESSVCEntry.ConvertListToDataTable(fixList); dthd.TableName = T03_HEADER_TABLE_NAME; t03ds.Tables.Add(dthd); dtdtl.TableName = T03_DETAIL_TABLE_NAME; t03ds.Tables.Add(dtdtl); dttax.TableName = M73_TABLE_NAME; t03ds.Tables.Add(dttax); dtfix.TableName = S11_TABLE_NAME; t03ds.Tables.Add(dtfix); return(t03ds); }
/// <summary> /// 入金入力 検索情報を取得する /// </summary> /// <param name="companyCode">会社名コード(入金先自社コード)</param> /// <param name="slipNumber">伝票番号</param> /// <param name="userId">ログインユーザID</param> /// <returns></returns> public DataSet GetData(string companyCode, string slipNumber, int userId) { DataSet t11ds = new DataSet(); List <T11_NYKNHD_Extension> hdList = getM11_NYKNHD_Extension(companyCode, slipNumber); List <T11_NYKNDTL_Extension> dtlList = getT11_NYKNDTL_Extension(slipNumber); if (hdList.Count == 0) { if (string.IsNullOrEmpty(slipNumber)) { // 伝票番号未入力の場合は新規伝票扱いとしてデータを作成 M88 svc = new M88(); int code = int.Parse(companyCode); // 新規伝票番号を取得して設定 T11_NYKNHD_Extension hd = new T11_NYKNHD_Extension(); hd.伝票番号 = svc.getNextNumber(Const.明細番号ID.ID05_入金, userId); hd.入金先自社コード = companyCode; hd.入金日 = DateTime.Now; hdList.Add(hd); } else { // 伝票番号誤りの場合は検索を終了する return(null); } } int rowCnt = 1; foreach (T11_NYKNDTL_Extension row in dtlList) { row.行番号 = rowCnt++; } // Datatable変換 DataTable dthd = KESSVCEntry.ConvertListToDataTable(hdList); DataTable dtdtl = KESSVCEntry.ConvertListToDataTable(dtlList); dthd.TableName = TABLE_HEADER; t11ds.Tables.Add(dthd); dtdtl.TableName = TABLE_DETAIL; t11ds.Tables.Add(dtdtl); return(t11ds); }
/// <summary> /// 移動検索情報を取得する /// </summary> /// <param name="companyCode">自社コード(会社名コード)</param> /// <param name="slipNumber">伝票番号</param> /// <param name="userId">ログインユーザID</param> /// <returns></returns> public DataSet GetData(string companyCode, string slipNumber, int userId) { DataSet t05ds = new DataSet(); List <T05_IDOHD_Extension> hdList = getT05_IDOHD_Extension(companyCode, slipNumber); List <T05_IDODTL_Extension> dtlList = getT05_IDODTL_Extension(companyCode, slipNumber); if (hdList.Count == 0) { if (string.IsNullOrEmpty(slipNumber)) { // 未入力の場合は新規伝票として作成 M88 svc = new M88(); int code = int.Parse(companyCode); // 新規伝票番号を取得して設定 T05_IDOHD_Extension hd = new T05_IDOHD_Extension(); hd.伝票番号 = svc.getNextNumber(CommonConstants.明細番号ID.ID01_売上_仕入_移動, userId); hd.会社名コード = code; hd.日付 = DateTime.Now; hd.移動区分 = CommonConstants.移動区分.振替移動.GetHashCode(); hdList.Add(hd); } else { // 入力アリの場合は番号誤りなので検索を終了する return(null); } } // Datatableに変換 DataTable dthd = KESSVCEntry.ConvertListToDataTable(hdList); DataTable dtInDtl = KESSVCEntry.ConvertListToDataTable(dtlList.Where(c => c.行番号 == 1).ToList()); DataTable dtOutDtl = KESSVCEntry.ConvertListToDataTable(dtlList.Where(c => c.行番号 == 2).ToList()); // テーブル名を設定 dthd.TableName = TABLE_HEADER; dtInDtl.TableName = NYUKO_TABLE_DETAIL; dtOutDtl.TableName = SYUKO_TABLE_DETAIL; // データセットに追加 t05ds.Tables.Add(dthd); t05ds.Tables.Add(dtInDtl); t05ds.Tables.Add(dtOutDtl); return(t05ds); }
/// <summary> /// 移動検索情報を取得する /// </summary> /// <param name="companyCode">自社コード(会社名コード)</param> /// <param name="slipNumber">伝票番号</param> /// <param name="userId">ログインユーザID</param> /// <returns></returns> public DataSet GetData(string companyCode, string slipNumber, int userId) { DataSet t05ds = new DataSet(); List <T05_IDOHD_Extension> hdList = getM05_IDOHD_Extension(companyCode, slipNumber); List <T05_IDODTL_Extension> dtlList = getT05_IDODTL_Extension(slipNumber); if (hdList.Count == 0) { if (string.IsNullOrEmpty(slipNumber)) { // 未入力の場合は新規伝票として作成 M88 svc = new M88(); int code = int.Parse(companyCode); // 新規伝票番号を取得して設定 T05_IDOHD_Extension hd = new T05_IDOHD_Extension(); hd.伝票番号 = svc.getNextNumber(CommonConstants.明細番号ID.ID01_売上_仕入_移動, userId); hd.会社名コード = code; hd.日付 = DateTime.Now; hd.移動区分 = CommonConstants.移動区分.通常移動.GetHashCode(); hdList.Add(hd); } else { // 入力アリの場合は番号誤りなので検索を終了する return(null); } } int rowCnt = 1; foreach (T05_IDODTL_Extension row in dtlList) { row.行番号 = rowCnt++; } // Datatable変換 DataTable dthd = KESSVCEntry.ConvertListToDataTable(hdList); DataTable dtdtl = KESSVCEntry.ConvertListToDataTable(dtlList); //// 不足レコードの補充 //T05_IDOHD idohd = convertDataRowToT05_IDOHD_Entity(dthd.Rows[0]); //for (int i = 10 - dtdtl.Rows.Count; i >= 0; i--) //{ // DataRow row = dtdtl.NewRow(); // row["伝票番号"] = idohd.伝票番号; // row["行番号"] = 10 - i; // dtdtl.Rows.Add(row); //} dthd.TableName = TABLE_HEADER; t05ds.Tables.Add(dthd); dtdtl.TableName = TABLE_DETAIL; t05ds.Tables.Add(dtdtl); return(t05ds); }
/// <summary> /// 仕入ヘッダ情報を取得する /// </summary> /// <param name="companyCode">会社名コード</param> /// <param name="slipNumber">伝票番号</param> /// <param name="userId">ログインユーザID</param> /// <returns></returns> private List <T03.T03_SRHD_RT_Extension> getM03_SRHD_RT_Extension(string companyCode, string slipNumber, int userId) { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); int code, num; if (int.TryParse(companyCode, out code) && int.TryParse(slipNumber, out num)) { var result = context.T03_SRHD.Where(w => w.削除日時 == null && w.会社名コード == code && w.伝票番号 == num) .GroupJoin(context.T03_SRHD.Where(w => w.削除日時 == null), x => x.元伝票番号, y => y.伝票番号, (x, y) => new { x, y }) .SelectMany(s => s.y.DefaultIfEmpty(), (a, b) => new { SRTHD = a.x, SRHD = b }) .ToList(); if (result.Select(s => s.SRTHD.仕入区分).FirstOrDefault() == CommonConstants.仕入区分.返品.GetHashCode()) { // 返品レコードとしてデータを作成 var resultRthd = result.Select(x => new T03.T03_SRHD_RT_Extension { 伝票番号 = x.SRTHD.伝票番号.ToString(), 会社名コード = x.SRTHD.会社名コード.ToString(), 仕入日 = x.SRTHD.仕入日, 入力区分 = x.SRTHD.入力区分, 仕入区分 = x.SRTHD.仕入区分, 仕入先コード = x.SRTHD.仕入先コード.ToString(), 仕入先枝番 = x.SRTHD.仕入先枝番.ToString(), 入荷先コード = x.SRTHD.入荷先コード.ToString(), 発注番号 = x.SRTHD.発注番号.ToString(), 備考 = x.SRTHD.備考, // No-94 Add Start 通常税率対象金額 = x.SRTHD.通常税率対象金額 ?? 0, 軽減税率対象金額 = x.SRTHD.軽減税率対象金額 ?? 0, 通常税率消費税 = x.SRTHD.通常税率消費税 ?? 0, 軽減税率消費税 = x.SRTHD.軽減税率消費税 ?? 0, // No-94 Add End // No-95 Add Start 小計 = x.SRTHD.小計 ?? 0, 総合計 = x.SRTHD.総合計 ?? 0, // No-95 Add End 消費税 = x.SRTHD.消費税, 元伝票番号 = x.SRHD == null ? "" : x.SRHD.伝票番号.ToString(), 元仕入日 = x.SRHD == null ? (DateTime?)null : x.SRHD.仕入日, データ状態 = false }) .ToList(); return(resultRthd); } else { // 仕入レコードとしてデータを作成 // ①新規伝票番号を取得 M88 seqSv = new M88(); int newSeqNum = seqSv.getNextNumber(CommonConstants.明細番号ID.ID01_売上_仕入_移動, userId); DateTime retDate = (DateTime)AppCommon.DateTimeToDate(DateTime.Now); var resultSrhd = result.Select(x => new T03.T03_SRHD_RT_Extension { 伝票番号 = newSeqNum.ToString(), 会社名コード = x.SRTHD.会社名コード.ToString(), 仕入日 = retDate, 入力区分 = x.SRTHD.入力区分, 仕入区分 = CommonConstants.仕入区分.返品.GetHashCode(), 仕入先コード = x.SRTHD.仕入先コード.ToString(), 仕入先枝番 = x.SRTHD.仕入先枝番.ToString(), 入荷先コード = x.SRTHD.入荷先コード.ToString(), 発注番号 = x.SRTHD.発注番号.ToString(), 備考 = x.SRTHD.備考, // No-94 Add Start 通常税率対象金額 = x.SRTHD.通常税率対象金額 ?? 0, 軽減税率対象金額 = x.SRTHD.軽減税率対象金額 ?? 0, 通常税率消費税 = x.SRTHD.通常税率消費税 ?? 0, 軽減税率消費税 = x.SRTHD.軽減税率消費税 ?? 0, // No-94 Add End // No-95 Add Start 小計 = x.SRTHD.小計 ?? 0, 総合計 = x.SRTHD.総合計 ?? 0, // No-95 Add End 消費税 = x.SRTHD.消費税, 元伝票番号 = x.SRTHD.伝票番号.ToString(), 元仕入日 = x.SRTHD.仕入日, データ状態 = true }) .ToList(); return(resultSrhd); } } else { return(new List <T03.T03_SRHD_RT_Extension>()); } } }