Exemplo n.º 1
0
        /// ------------------------------------------------------------
        /// <summary>
        ///     未照合伝票・過去データ突合</summary>
        ///
        ///     対象ステータス:未処理、NG
        /// ------------------------------------------------------------
        public void findPastDataUn()
        {
            bool un = true;

            // データセット
            DSLGDataSet dts = new DSLGDataSet();

            DSLGDataSetTableAdapters.未照合伝票TableAdapter adp  = new DSLGDataSetTableAdapters.未照合伝票TableAdapter();
            DSLGDataSetTableAdapters.過去データTableAdapter padp = new DSLGDataSetTableAdapters.過去データTableAdapter();

            adp.Fill(dts.未照合伝票);
            padp.Fill(dts.過去データ);

            // 未照合伝票を順次読む
            if (dts.未照合伝票.Any(a => a.照合ステータス == global.STATUS_UNVERI ||
                              a.照合ステータス == global.STATUS_NG))
            {
                foreach (var t in dts.未照合伝票.Where(a => a.照合ステータス == global.STATUS_UNVERI ||
                                                  a.照合ステータス == global.STATUS_NG).OrderBy(a => a.ID))
                {
                    // 有効伝票番号のとき
                    if (t.伝票番号 > 0)
                    {
                        // 過去データを検索
                        if (dts.過去データ.Any(a => a.伝票番号 == t.伝票番号))
                        {
                            // 照合ステータス更新
                            DSLGDataSet.未照合伝票Row d = dts.未照合伝票.Single(a => a.ID == t.ID);
                            d.照合ステータス = global.STATUS_PASTOVERLAP;
                            d.更新年月日   = DateTime.Now;

                            un = false;
                        }
                    }
                }

                // 過去データとの重複があったとき
                if (!un)
                {
                    // データ更新
                    adp.Update(dts.未照合伝票);
                }
            }

            // 後片付け
            adp.Dispose();
            padp.Dispose();
        }
Exemplo n.º 2
0
        /// ----------------------------------------------------------
        /// <summary>
        ///     過去データを削除する </summary>
        /// <param name="sDen">
        ///     伝票番号</param>
        /// ----------------------------------------------------------
        public void pastDataCancel(int sDen)
        {
            // データセット
            DSLGDataSet dts = new DSLGDataSet();

            DSLGDataSetTableAdapters.過去データTableAdapter pAdp = new DSLGDataSetTableAdapters.過去データTableAdapter();
            pAdp.Fill(dts.過去データ);

            // 照合済みデータを抽出
            if (dts.過去データ.Any(a => a.伝票番号 == sDen))
            {
                var t = dts.過去データ.Single(a => a.伝票番号 == sDen);
                t.Delete();
                pAdp.Update(dts.過去データ);
            }

            // 後片付け
            pAdp.Dispose();
        }
Exemplo n.º 3
0
        /// ----------------------------------------------------------
        /// <summary>
        ///     指定伝票番号を過去データに登録する </summary>
        /// ----------------------------------------------------------
        public void addPastData(int sDen)
        {
            // データセット
            DSLGDataSet dts = new DSLGDataSet();

            DSLGDataSetTableAdapters.過去データTableAdapter pAdp = new DSLGDataSetTableAdapters.過去データTableAdapter();
            pAdp.Fill(dts.過去データ);

            // 過去データに未登録を確認して伝票番号を追加する
            if (!dts.過去データ.Any(a => a.伝票番号 == sDen))
            {
                DSLGDataSet.過去データRow r = dts.過去データ.New過去データRow();
                r.伝票番号  = sDen;
                r.更新年月日 = DateTime.Now;
                dts.過去データ.Add過去データRow(r);
                pAdp.Update(dts.過去データ);
            }

            // 後片付け
            pAdp.Dispose();
        }
Exemplo n.º 4
0
        /// ----------------------------------------------------------
        /// <summary>
        ///     照合済み未照合伝票データを過去データに登録する </summary>
        /// <returns>
        ///     照合済み件数</returns>
        /// ----------------------------------------------------------
        public int pastDataUpdateUn()
        {
            // データセット
            DSLGDataSet dts = new DSLGDataSet();

            DSLGDataSetTableAdapters.未照合伝票TableAdapter adp  = new DSLGDataSetTableAdapters.未照合伝票TableAdapter();
            DSLGDataSetTableAdapters.過去データTableAdapter pAdp = new DSLGDataSetTableAdapters.過去データTableAdapter();

            adp.Fill(dts.未照合伝票);
            pAdp.Fill(dts.過去データ);

            // 照合件数
            int dNum = 0;

            // 照合済みデータを抽出
            if (dts.未照合伝票.Any(a => a.照合ステータス == global.STATUS_VERIFI))
            {
                foreach (var t in dts.未照合伝票.Where(a => a.照合ステータス == global.STATUS_VERIFI))
                {
                    // 過去データに未登録の伝票番号を追加する
                    if (!dts.過去データ.Any(a => a.伝票番号 == t.伝票番号))
                    {
                        DSLGDataSet.過去データRow r = dts.過去データ.New過去データRow();
                        r.伝票番号  = t.伝票番号;
                        r.更新年月日 = DateTime.Now;
                        dts.過去データ.Add過去データRow(r);

                        dNum++;
                    }
                }

                pAdp.Update(dts.過去データ);
            }

            // 後片付け
            adp.Dispose();

            // 照合件数を返す
            return(dNum);
        }
Exemplo n.º 5
0
        /// ------------------------------------------------------------
        /// <summary>
        ///     過去データ突合</summary>
        /// <returns>
        ///     件数</returns>
        /// ------------------------------------------------------------
        public int findPastData()
        {
            // データセット
            DSLGDataSet dts = new DSLGDataSet();

            DSLGDataSetTableAdapters.伝票番号TableAdapter  adp  = new DSLGDataSetTableAdapters.伝票番号TableAdapter();
            DSLGDataSetTableAdapters.過去データTableAdapter padp = new DSLGDataSetTableAdapters.過去データTableAdapter();

            adp.Fill(dts.伝票番号);
            padp.Fill(dts.過去データ);

            // 結果件数
            int dNum = 0;

            // OCR認識日付取得
            DateTime dt  = getOcrDate();
            string   sDt = dt.Year.ToString() + dt.Month.ToString().PadLeft(2, '0') + dt.Day.ToString().PadLeft(2, '0');

            // 未照合画像連番取得
            int unNum = getUnNumber(dt);
            int cNum  = unNum;

            // 未照合伝票を順次読む
            if (dts.伝票番号.Any(a => a.照合ステータス == global.STATUS_UNVERI))
            {
                foreach (var t in dts.伝票番号.Where(a => a.照合ステータス == global.STATUS_UNVERI).OrderBy(a => a.ID))
                {
                    // 過去データを検索
                    if (dts.過去データ.Any(a => a.伝票番号 == t.伝票番号))
                    {
                        // 画像を未処理フォルダへ移動する
                        cNum++;
                        string newImgNm = global.cnfUnmImgPath + sDt + global.UNMARK + cNum.ToString().PadLeft(4, '0') + "_" + t.伝票番号.ToString() + ".tif";
                        System.IO.File.Move(Properties.Settings.Default.imgOutPath + t.画像名, newImgNm);

                        // 伝票番号テーブルの照合ステータス更新
                        DSLGDataSet.伝票番号Row d = dts.伝票番号.Single(a => a.ID == t.ID);
                        d.日付      = DateTime.Parse(dt.ToShortDateString());
                        d.照合ステータス = global.STATUS_PASTOVERLAP;
                        d.更新年月日   = DateTime.Now;
                        d.画像名     = newImgNm;

                        dNum++;
                    }
                }

                // 過去データとの重複があったとき
                if (unNum != cNum)
                {
                    // データ更新
                    adp.Update(dts.伝票番号);

                    // 未処理連番テーブル更新
                    setUnNumber(dt, cNum);
                }
            }

            // 後片付け
            adp.Dispose();
            padp.Dispose();

            // 件数を返す
            return(dNum);
        }