示例#1
0
        /// --------------------------------------------------------------------------
        /// <summary>
        ///     照合済取消 </summary>
        /// <param name="sID">
        ///     ID</param>
        /// <param name="sDen">
        ///     伝票番号</param>
        /// <param name="sDate">
        ///     日付</param>
        /// <param name="sImgNm">
        ///     画像名</param>
        /// --------------------------------------------------------------------------
        private void veriCancel(int sID, int sDen, DateTime sDate, string sImgNm)
        {
            // 配車データ書き換え
            adp.Fill(dts.配車);
            DSLGDataSet.配車Row r = dts.配車.Single(a => a.ID == sID);

            // 値書き換え
            r.画像名     = string.Empty;
            r.照合ステータス = global.flgOff;
            r.更新年月日   = DateTime.Now;

            CSV.clsMakeCsvfile c = new clsMakeCsvfile(this);

            // 未照合画像連番取得
            int unNum = c.getUnNumber(sDate) + 1;

            // 画像移動
            //C:\DSLG_OCR\TIF\20150510ABC商事_397377.tif
            //C:\DSLG_OCR\UNMIMG\20150512UN0024_395767.tif

            string newImgNm = global.cnfUnmImgPath + sDate.ToShortDateString().Replace("/", "") + global.UNMARK + unNum.ToString().PadLeft(4, '0') + "_" + sDen.ToString() + ".tif";

            System.IO.File.Move(sImgNm, newImgNm);

            // 未処理連番テーブル更新
            c.setUnNumber(sDate, unNum);

            // 未照合伝票に新規登録
            mAdp.Fill(dts.未照合伝票);
            DSLGDataSet.未照合伝票Row m = dts.未照合伝票.New未照合伝票Row();
            m.伝票番号    = sDen;
            m.メーカー名   = string.Empty;
            m.日付      = sDate;
            m.画像名     = newImgNm;
            m.照合ステータス = global.STATUS_UNFIND;

            dts.未照合伝票.Add未照合伝票Row(m);

            // データベース更新
            adp.Update(dts.配車);
            mAdp.Update(dts.未照合伝票);

            // 該当伝票を過去データから削除する
            c.pastDataCancel(sDen);
        }
示例#2
0
        /// -----------------------------------------------------------------
        /// <summary>
        ///     照合済みの未照合伝票データで配車テーブルを更新する </summary>
        /// <returns>
        ///     照合済み件数</returns>
        /// -----------------------------------------------------------------
        public int haishaDataUpdateUn()
        {
            // データセット
            DSLGDataSet dts = new DSLGDataSet();

            DSLGDataSetTableAdapters.未照合伝票TableAdapter adp  = new DSLGDataSetTableAdapters.未照合伝票TableAdapter();
            DSLGDataSetTableAdapters.配車TableAdapter    hAdp = new DSLGDataSetTableAdapters.配車TableAdapter();

            adp.Fill(dts.未照合伝票);
            hAdp.Fill(dts.配車);

            // 照合件数
            int dNum = 0;

            // 照合済みデータを抽出
            foreach (var t in dts.未照合伝票.Where(a => a.照合ステータス == global.STATUS_VERIFI))
            {
                // 配車データの照合結果を更新する
                if (dts.配車.Any(a => a.伝票番号 == t.伝票番号))
                {
                    DSLGDataSet.配車Row r = dts.配車.Single(a => a.伝票番号 == t.伝票番号 && a.日付 == t.日付);
                    r.画像名     = t.画像名;
                    r.照合ステータス = t.照合ステータス;
                    r.更新年月日   = DateTime.Now;

                    dNum++;

                    // 未照合伝票データを削除
                    t.Delete();
                }
            }

            // データベースを更新
            hAdp.Update(dts.配車);
            adp.Update(dts.未照合伝票);

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

            // 照合件数を返す
            return(dNum);
        }
示例#3
0
        ///-------------------------------------------------------------------
        /// <summary>
        ///     配車データ(CSV)を配車テーブルにインポートする </summary>
        ///-------------------------------------------------------------------
        public bool importHaishaCsv()
        {
            // 配車テーブル読み込み
            DSLGDataSet dts = new DSLGDataSet();

            DSLGDataSetTableAdapters.配車TableAdapter adpHt = new DSLGDataSetTableAdapters.配車TableAdapter();
            adpHt.Fill(dts.配車);

            // 配車データパス
            string cFile = global.cnfHaishaPath;

            // 日付
            DateTime dt = DateTime.Today;

            if (System.IO.File.Exists(cFile))
            {
                foreach (var t in System.IO.File.ReadAllLines(cFile, Encoding.Default))
                {
                    // カンマごとに分割し配列にセット
                    string[] hCsv = t.Split(',');

                    // ダブルコーテーションを除去
                    hCsv[0] = hCsv[0].Replace(@"""", string.Empty); // 日付
                    hCsv[1] = hCsv[1].Replace(@"""", string.Empty); // メーカー名
                    hCsv[2] = hCsv[2].Replace(@"""", string.Empty); // 伝票番号

                    string cDt = string.Empty;

                    // CSVデータの内容をチェック
                    if (!csvCheck(hCsv, out cDt))
                    {
                        continue;   // エラーのとき読み飛ばし
                    }

                    // 配車データに追加登録
                    if (DateTime.TryParse(cDt, out dt))
                    {
                        if (!dts.配車.Any(a => a.日付 == dt && a.メーカー名 == hCsv[1] &&
                                        a.伝票番号 == Utility.StrtoInt(hCsv[2])))
                        {
                            // 配車テーブルに追加登録
                            DSLGDataSet.配車Row hr = dts.配車.New配車Row();
                            hr.日付      = dt;
                            hr.メーカー名   = hCsv[1];
                            hr.伝票番号    = Utility.StrtoInt(hCsv[2]);
                            hr.照合ステータス = global.flgOff;
                            hr.画像名     = "";
                            hr.更新年月日   = DateTime.Now;
                            dts.配車.Add配車Row(hr);
                        }
                    }
                }

                // データベース更新
                adpHt.Update(dts.配車);

                return(true);
            }
            else
            {
                // 配車CSVが存在しないとき
                string msg = "配車データ:" + cFile + "が存在しません。" + Environment.NewLine + Environment.NewLine +
                             "データを選択後、再実行してください。";

                MessageBox.Show(msg, "配車データ未登録", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return(false);
            }
        }