コード例 #1
0
        ///--------------------------------------------------------------------------------------
        /// <summary>
        ///     楽商受入データ作成</summary>
        ///--------------------------------------------------------------------------------------
        public void SaveData()
        {
            // 楽商データ作成先パス取得
            var    ss     = dts.環境設定.Single(a => a.ID == 1);
            string okPath = ss.受け渡しデータ作成パス;

            // 事前に入力された日付を採用する 2017/10/23
            _numDate = ss.当日日付;
            dtSeq    = ss.連番;

            //if (ss.Is当日日付Null())
            //{
            //    _numDate = DateTime.Today;
            //    dtSeq = 0;
            //}
            //else if (ss.当日日付 != DateTime.Today)
            //{
            //    _numDate = DateTime.Today;
            //    dtSeq = 0;
            //}
            //else
            //{
            //    _numDate = ss.当日日付;
            //    dtSeq = ss.連番;
            //}

            #region 出力配列
            string[] arrayCsv = null;     // 出力配列
            #endregion

            #region 出力件数変数
            int sCnt = 0;   // 社員出力件数
            #endregion

            StringBuilder sb = new StringBuilder();
            global        gl = new global();

            // 出力先フォルダがあるか?なければ作成する
            if (!System.IO.Directory.Exists(okPath))
            {
                System.IO.Directory.CreateDirectory(okPath);
            }

            DateTime dt = DateTime.Now;
            string   ts = dt.Year + dt.Month.ToString().PadLeft(2, '0') + dt.Day.ToString().PadLeft(2, '0') + dt.Hour.ToString().PadLeft(2, '0') + dt.Minute.ToString().PadLeft(2, '0') + dt.Second.ToString().PadLeft(2, '0');

            try
            {
                //オーナーフォームを無効にする
                _preForm.Enabled = false;

                //プログレスバーを表示する
                frmPrg frmP = new frmPrg();
                frmP.Owner = _preForm;
                frmP.Show();

                int rCnt = 1;

                // 発注書データ取得
                var s = _hTbl.OrderBy(a => a.ID);
                foreach (var r in s)
                {
                    // プログレスバー表示
                    frmP.Text          = "楽商データ作成中です・・・" + rCnt.ToString() + "/" + s.Count().ToString();
                    frmP.progressValue = rCnt * 100 / s.Count();
                    frmP.ProgressStep();

                    // 共通データを作成する
                    string uCSV = getHeadCsv(r, ts, rCnt, ss);

                    // 商品パターン・注文数クラスインスタンス作成
                    hinSuu[] hS = new hinSuu[40];
                    setHinSuuArray(ref hS, r);

                    int iX = 1;

                    for (int i = 0; i < hS.Length; i++)
                    {
                        if (Utility.StrtoInt(hS[i].Suu) != 0)
                        {
                            sb.Clear();
                            sb.Append(iX.ToString()).Append("\t");
                            sb.Append(hS[i].hin.ToString().PadLeft(8, '0')).Append("\t");
                            sb.Append(getHinName(hS[i].hin.ToString().PadLeft(8, '0'))).Append("\t");
                            sb.Append(hS[i].Suu).Append("\t");
                            sb.Append(DateTime.Now);

                            // 配列にデータを格納します
                            sCnt++;
                            Array.Resize(ref arrayCsv, sCnt);
                            arrayCsv[sCnt - 1] = uCSV + sb.ToString();

                            iX++;
                        }
                    }

                    rCnt++;
                }

                // CSVファイル出力
                if (arrayCsv != null)
                {
                    txtFileWrite(okPath, arrayCsv);
                }

                // いったんオーナーをアクティブにする
                _preForm.Activate();

                // 進行状況ダイアログを閉じる
                frmP.Close();

                // オーナーのフォームを有効に戻す
                _preForm.Enabled = true;

                // 当日連番を更新
                //ss.当日日付 = _numDate;   // 2017/10/23
                ss.連番 = dtSeq;
                cnfAdp.Update(dts.環境設定);
            }
            catch (Exception e)
            {
                MessageBox.Show("楽商データ作成中" + Environment.NewLine + e.Message, "エラー", MessageBoxButtons.OK);
            }
            finally
            {
                //if (OutData.sCom.Connection.State == ConnectionState.Open) OutData.sCom.Connection.Close();
            }
        }
コード例 #2
0
        ///--------------------------------------------------------------------------
        /// <summary>
        ///     商品パターン・注文数配列クラスのインスタンス生成 </summary>
        /// <param name="hS">
        ///     発注商品・数量クラス配列</param>
        /// <param name="r">
        ///     NHBR_CLIDataSet.FAX注文書Row</param>
        ///--------------------------------------------------------------------------
        private void setHinSuuArray(ref hinSuu[] hS, NHBR_CLIDataSet.FAX注文書Row r)
        {
            // 商品パターン・注文数配列クラスのインスタンス生成
            for (int i = 0; i < hS.Length; i++)
            {
                hS[i] = new hinSuu();
            }

            hS[0].Suu  = r.注文数1;
            hS[1].Suu  = r.注文数2;
            hS[2].Suu  = r.注文数3;
            hS[3].Suu  = r.注文数4;
            hS[4].Suu  = r.注文数5;
            hS[5].Suu  = r.注文数6;
            hS[6].Suu  = r.注文数7;
            hS[7].Suu  = r.注文数8;
            hS[8].Suu  = r.注文数9;
            hS[9].Suu  = r.注文数10;
            hS[10].Suu = r.注文数11;
            hS[11].Suu = r.注文数12;
            hS[12].Suu = r.注文数13;
            hS[13].Suu = r.注文数14;
            hS[14].Suu = r.注文数15;
            hS[15].Suu = r.注文数16;
            hS[16].Suu = r.注文数17;
            hS[17].Suu = r.注文数18;
            hS[18].Suu = r.注文数19;
            hS[19].Suu = r.注文数20;
            hS[20].Suu = r.注文数21;
            hS[21].Suu = r.注文数22;
            hS[22].Suu = r.注文数23;
            hS[23].Suu = r.注文数24;
            hS[24].Suu = r.注文数25;
            hS[25].Suu = r.注文数26;
            hS[26].Suu = r.注文数27;
            hS[27].Suu = r.注文数28;
            hS[28].Suu = r.注文数29;
            hS[29].Suu = r.注文数30;

            hS[30].Suu = r.追加注文数1;
            hS[31].Suu = r.追加注文数2;
            hS[32].Suu = r.追加注文数3;
            hS[33].Suu = r.追加注文数4;
            hS[34].Suu = r.追加注文数5;
            hS[35].Suu = r.追加注文数6;
            hS[36].Suu = r.追加注文数7;
            hS[37].Suu = r.追加注文数8;
            hS[38].Suu = r.追加注文数9;
            hS[39].Suu = r.追加注文数10;

            // 2017/08/23 : パターンIDで発注のとき
            if (r.パターンID != global.flgOff)
            {
                var s = _pTbl.Single(a => a.届先番号 == r.届先番号 && a.連番 == r.パターンID);

                hS[0].hin  = s.商品1;
                hS[1].hin  = s.商品2;
                hS[2].hin  = s.商品3;
                hS[3].hin  = s.商品4;
                hS[4].hin  = s.商品5;
                hS[5].hin  = s.商品6;
                hS[6].hin  = s.商品7;
                hS[7].hin  = s.商品8;
                hS[8].hin  = s.商品9;
                hS[9].hin  = s.商品10;
                hS[10].hin = s.商品11;
                hS[11].hin = s.商品12;
                hS[12].hin = s.商品13;
                hS[13].hin = s.商品14;
                hS[14].hin = s.商品15;
                hS[15].hin = s.商品16;
                hS[16].hin = s.商品17;
                hS[17].hin = s.商品18;
                hS[18].hin = s.商品19;
                hS[19].hin = s.商品20;
                hS[20].hin = s.商品21;
                hS[21].hin = s.商品22;
                hS[22].hin = s.商品23;
                hS[23].hin = s.商品24;
                hS[24].hin = s.商品25;
                hS[25].hin = s.商品26;
                hS[26].hin = s.商品27;
                hS[27].hin = s.商品28;
                hS[28].hin = s.商品29;
                hS[29].hin = s.商品30;
            }
            else
            {
                hS[0].hin  = Utility.StrtoInt(r.商品コード1);
                hS[1].hin  = Utility.StrtoInt(r.商品コード2);
                hS[2].hin  = Utility.StrtoInt(r.商品コード3);
                hS[3].hin  = Utility.StrtoInt(r.商品コード4);
                hS[4].hin  = Utility.StrtoInt(r.商品コード5);
                hS[5].hin  = Utility.StrtoInt(r.商品コード6);
                hS[6].hin  = Utility.StrtoInt(r.商品コード7);
                hS[7].hin  = Utility.StrtoInt(r.商品コード8);
                hS[8].hin  = Utility.StrtoInt(r.商品コード9);
                hS[9].hin  = Utility.StrtoInt(r.商品コード10);
                hS[10].hin = Utility.StrtoInt(r.商品コード11);
                hS[11].hin = Utility.StrtoInt(r.商品コード12);
                hS[12].hin = Utility.StrtoInt(r.商品コード13);
                hS[13].hin = Utility.StrtoInt(r.商品コード14);
                hS[14].hin = Utility.StrtoInt(r.商品コード15);
                hS[15].hin = Utility.StrtoInt(r.商品コード16);
                hS[16].hin = Utility.StrtoInt(r.商品コード17);
                hS[17].hin = Utility.StrtoInt(r.商品コード18);
                hS[18].hin = Utility.StrtoInt(r.商品コード19);
                hS[19].hin = Utility.StrtoInt(r.商品コード20);
                hS[20].hin = Utility.StrtoInt(r.商品コード21);
                hS[21].hin = Utility.StrtoInt(r.商品コード22);
                hS[22].hin = Utility.StrtoInt(r.商品コード23);
                hS[23].hin = Utility.StrtoInt(r.商品コード24);
                hS[24].hin = Utility.StrtoInt(r.商品コード25);
                hS[25].hin = Utility.StrtoInt(r.商品コード26);
                hS[26].hin = Utility.StrtoInt(r.商品コード27);
                hS[27].hin = Utility.StrtoInt(r.商品コード28);
                hS[28].hin = Utility.StrtoInt(r.商品コード29);
                hS[29].hin = Utility.StrtoInt(r.商品コード30);
            }

            hS[30].hin = Utility.StrtoInt(r.追加注文商品コード1);
            hS[31].hin = Utility.StrtoInt(r.追加注文商品コード2);
            hS[32].hin = Utility.StrtoInt(r.追加注文商品コード3);
            hS[33].hin = Utility.StrtoInt(r.追加注文商品コード4);
            hS[34].hin = Utility.StrtoInt(r.追加注文商品コード5);
            hS[35].hin = Utility.StrtoInt(r.追加注文商品コード6);
            hS[36].hin = Utility.StrtoInt(r.追加注文商品コード7);
            hS[37].hin = Utility.StrtoInt(r.追加注文商品コード8);
            hS[38].hin = Utility.StrtoInt(r.追加注文商品コード9);
            hS[39].hin = Utility.StrtoInt(r.追加注文商品コード10);
        }