Пример #1
0
        //private void Calculate(int i)
        //{
        //    double pow = Math.Pow(i, i);
        //}

        #region newpos 입고데이터 생성

        private void button3_Click(object sender, EventArgs e)
        {
            string orderdate1 = this.dateTimePicker3.Value.ToString("yyyy-MM-dd");
            string orderdate2 = this.dateTimePicker4.Value.ToString("yyyy-MM-dd");

            //progressBar1.Maximum = 100;
            //progressBar1.Step = 1;
            //progressBar1.Value = 0;
            //backgroundWorker1.RunWorkerAsync();

            scm_stock_preset scmstock = new scm_stock_preset();

            scmstock.fn_scmstock(orderdate1, orderdate2, this); //scm 자료 생성

            MessageBox.Show(" newpos 입고데이터 생성 완료하였습니다.");
        }
Пример #2
0
        void timer_sales_Tick(object sender, EventArgs e)
        {
            label5.Text = DateTime.Now.ToString("HH:mm:ss");
            string DD = string.Format(DateTime.Now.ToString("dd"));

            //11시 판매예측값 생성
            if (((Int32.Parse(DateTime.Now.ToString("HHmmss")) >= 225955) && (Int32.Parse(DateTime.Now.ToString("HHmmss")) <= 230000)))  //11시 판매예측값 생성
            //if (((Int32.Parse(DateTime.Now.ToString("HHmmss")) >=135355) && (Int32.Parse(DateTime.Now.ToString("HHmmss")) <= 135400)))  //11시 판매예측값 생성
            {
                while (true)
                {
                    if (Int32.Parse(DateTime.Now.ToString("HHmmss")) > 230001)
                    // if (Int32.Parse(DateTime.Now.ToString("HHmmss")) > 135401)
                    {
                        string ppm_orderdate = string.Format(DateTime.Today.AddDays(0).ToString("yyyy-MM-dd")); //Newpos_SCM 정가판매 생성 일자(금일)

                        string day_orderdate = string.Format(DateTime.Today.AddDays(1).ToString("yyyy-MM-dd")); //금일(+1)일자
                        string orderdate_4   = string.Format(DateTime.Today.AddDays(4).ToString("yyyy-MM-dd")); //공급일자

                        /*
                         * //----안전재고, 정가판매 수량 날짜계산
                         * //DateTime today = DateTime.Now.Date; //현재 날짜 확인
                         * //var ex_today = today.AddMonths(0); // 월 구함
                         * //var ex_sdate = ex_today.AddDays(1 - today.Day); //현재 날짜 기준의 월의 날짜 1일 구함
                         *
                         * //string safe_sale_today = string.Format(DateTime.Today.AddDays(1).ToString("dd")); // 자료 생성일이 01일  확인
                         * //string safe_sale_sdate = string.Format(ex_sdate.AddDays(0).ToString("yyyy-MM-dd"));  //전월 날짜 1일을 YYYY-MM-DD형식으로 변경
                         * //string stock_YYYYMM = string.Format(DateTime.Today.AddDays(0).ToString("yyyyMM"));  //현월 테이블 확인
                         * //                                                                                    //string stock_YYYYMM = "YYYYMM";  //재고 월테이블 날짜 확인
                         * //                                                                                    //   string safe_sale_edate = string.Format(DateTime.Today.AddDays(-1).ToString("yyyy-MM-dd")); //전월 마지막 날짜 구함
                         * //string safe_junnga = this.jungga_text.Text;
                         * //string type = "A";  //A:자동시작, B:수동시작
                         *
                         * //string YYYY = string.Format(DateTime.Today.AddDays(0).ToString("yyyy"));
                         * //string MM = string.Format(DateTime.Today.AddDays(0).ToString("MM"));
                         *
                         * //int totlaDay = DateTime.DaysInMonth(Convert.ToInt32(YYYY), Convert.ToInt32(MM)); //해당 년월에 일수 계산
                         * //----안전재고, 정가판매 수량 날짜계산
                         */

                        sendSms("[" + DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") + "][2차 시뮬레이션 판매예측값] 생성시작(" + String.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now.AddDays(0).ToString()) + ")");

                        /*
                         * //매월 4일 기준 안전재고, 판매예측값 생성
                         * //if (safe_sale_today.Equals("01"))
                         * //{
                         * //    Log("[" + safe_sale_sdate + "~" + ppm_orderdate + "] 안전재고,정가판매 통합 자료 생성");
                         * //    safe_sale_total safe_sale = new safe_sale_total();
                         * //    safe_sale.fn_safe_sale(safe_sale_sdate, ppm_orderdate, safe_junnga, stock_YYYYMM, type, totlaDay, this); //안전재고량 , 정가판매량 구함 (금일기준 -30일)
                         * //}
                         * //매월 4일 기준 안전재고, 판매예측값 생성
                         */

                        //---------------------------------------
                        //ppm 정가판매 자료 생성

                        sale_ppm_daily ppm_daily = new sale_ppm_daily();
                        Log("[" + ppm_orderdate + "] Newpos_ppm 기초 자료 생성");
                        ppm_daily.fn_ppmdaily(ppm_orderdate, ppm_orderdate, this); //Newpos_SCM 정가판매 생성

                        //ppm 정가판매 자료 생성
                        //---------------------------------------
                        //판매 예측값자료 생성
                        if (!(orderdate_4.Equals("2019-09-13")) && !(orderdate_4.Equals("2019-09-14")))
                        {
                            Sales_forecast forecast = new Sales_forecast();
                            Log("[" + orderdate_4 + "] D-4 판매예측값 생성시작");
                            forecast.fn_forecast_V3_D3(orderdate_4, day_orderdate, this);     //3일전 판매예측값 생성
                            forecast.fn_preset_V3_D3_group(orderdate_4, day_orderdate, this); //3일전 [그룹단위 판매예측값] 생성
                        }

                        //판매 예측값자료 생성
                        //---------------------------------------

                        this.dateTimePicker2.Value = DateTime.Today.AddDays(2); //금일(+1)일자 그 다음날
                        this.dateTimePicker1.Value = DateTime.Today.AddDays(5); //공급일자 그 다음날

                        this.dateTimePicker5.Value = DateTime.Today.AddDays(1); //금일(+1)일자 그 다음날
                        this.dateTimePicker6.Value = DateTime.Today.AddDays(1); //공급일자 그 다음날


                        break;
                    }
                    else
                    {
                        label5.Text = DateTime.Now.ToString("HH:mm:ss");
                    }
                }
            }
            //매장 자동 입고
            if (((Int32.Parse(DateTime.Now.ToString("HHmmss")) >= 045955) && (Int32.Parse(DateTime.Now.ToString("HHmmss")) <= 050000)))  //매장 자동 입고
            {
                while (true)
                {
                    if (Int32.Parse(DateTime.Now.ToString("HHmmss")) > 050001)
                    {
                        string orderdate_D = string.Format(DateTime.Now.ToString("yyyy-MM-dd"));
                        string type        = "A";

                        stock_auto_input sock_auto = new stock_auto_input();
                        sock_auto.fn_stockAuto(orderdate_D, type, ip, this);

                        this.dateTimePicker9.Value = DateTime.Today.AddMonths(0); //금일일자 그 다음달

                        break;
                    }
                    else
                    {
                        label5.Text = DateTime.Now.ToString("HH:mm:ss");
                    }
                }
            }
            //매월 24일 비인기 품목
            if (((Int32.Parse(DateTime.Now.ToString("HHmmss")) >= 165955) && (Int32.Parse(DateTime.Now.ToString("HHmmss")) <= 170000)))  //24일 비인기 품목
            {
                while (true)
                {
                    if (Int32.Parse(DateTime.Now.ToString("HHmmss")) > 170001)
                    //       if (Int32.Parse(DateTime.Now.ToString("HHmmss")) > 105101)
                    {
                        if (DD.Equals("24"))
                        {
                            store_product_unpopular unpopular = new store_product_unpopular();
                            unpopular.fn_unpopular_list(string.Format(DateTime.Now.ToString("yyyyMM")), this);
                            break;
                        }
                        break;
                    }
                    else
                    {
                        label5.Text = DateTime.Now.ToString("HH:mm:ss");
                    }
                }
            }
            //05시 SCM 입고예측값 생성
            if (((Int32.Parse(DateTime.Now.ToString("HHmmss")) >= 061055) && (Int32.Parse(DateTime.Now.ToString("HHmmss")) <= 061100)))
            {
                while (true)
                {
                    if (Int32.Parse(DateTime.Now.ToString("HHmmss")) > 061101)
                    {
                        string orderdate_M = string.Format(DateTime.Today.AddDays(-1).ToString("yyyy-MM-dd")); //공급일자

                        scm_stock_preset preset = new scm_stock_preset();

                        Log("[" + orderdate_M + "] Newpos_SCM 예측 자료 생성");

                        preset.fn_scmstock(orderdate_M, orderdate_M, this);     //Newpos_SCM 예측값 생성

                        this.dateTimePicker3.Value = DateTime.Today.AddDays(0); //금일(+1)일자 그 다음날
                        this.dateTimePicker4.Value = DateTime.Today.AddDays(0); //공급일자 그 다음날

                        break;
                    }
                    else
                    {
                        label5.Text = DateTime.Now.ToString("HH:mm:ss");
                    }
                }
            }
            //년,월 표준편차 생성
            if (((Int32.Parse(DateTime.Now.ToString("HHmmss")) >= 065955) && (Int32.Parse(DateTime.Now.ToString("HHmmss")) <= 070000)))  //년,월 표준편차 생성
            {
                //매년 01월01일에는 년간(구제품)
                //매년 01월02에는 월간(신제품)이 실행되어야됨
                //매월 01일 신제품기준을 생성
                while (true)
                {
                    if (Int32.Parse(DateTime.Now.ToString("HHmmss")) > 070001)
                    {
                        safe_standard_deviation standard_deviation = new safe_standard_deviation();
                        string gubun         = "";
                        string except        = this.except_text.Text;
                        string orderdate     = string.Format(DateTime.Today.AddDays(0).ToString("MM-dd")); //현재 날짜 확인(금일) 01-01
                        string day_orderdate = string.Format(DateTime.Today.AddDays(0).ToString("dd"));    //현재 날짜 확인(금일) 01-01

                        if (orderdate == "01-01")                                                          //연간 한번만 실행
                        {
                            DateTime today    = DateTime.Now.Date;                                         //현재 날짜 확인
                            var      s_today  = today.AddMonths(-12);                                      // 전월 구함
                            var      ex_sdate = s_today.AddDays(1 - today.Day);                            //전월의 날짜 1일 구함

                            var ex_etoday = today.AddMonths(0);                                            // 당월 구함
                            var ex_edate  = ex_etoday.AddDays(-1);                                         //금일에 -1일

                            string sdate = string.Format(ex_sdate.AddDays(0).ToString("yyyy-MM-dd"));      //전월 날짜 1일을 YYYY-MM-DD형식으로 변경
                            string edate = string.Format(ex_edate.AddDays(0).ToString("yyyy-MM-dd"));      //전월 날짜 1일을 YYYY-MM-DD형식으로 변경

                            gubun = "Y";
                            standard_deviation.fn_safe_standard_deviation(sdate, edate, except, gubun, this);
                        }
                        else if (orderdate == "01-02") //01월02일에 월간 실행
                        {
                            /////////////////////////////////////////////////////월간///////////////////////////////////////////////
                            DateTime today_2    = DateTime.Now.Date;                                          //현재 날짜 확인
                            var      ex_today_2 = today_2.AddMonths(-1);                                      // 전월 구함
                            var      ex_sdate_2 = ex_today_2.AddDays(1 - today_2.Day);                        //전월의 날짜 1일 구함

                            var    ex_etoday_2 = today_2.AddMonths(0);                                        // 당월 구함
                            var    ex_edate_2  = ex_etoday_2.AddDays(-2);                                     //금일에 -1일
                            string sdate_2     = string.Format(ex_sdate_2.AddDays(0).ToString("yyyy-MM-dd")); //전월 날짜 1일을 YYYY-MM-DD형식으로 변경
                            string edate_2     = string.Format(ex_edate_2.AddDays(0).ToString("yyyy-MM-dd")); //전월 날짜 1일을 YYYY-MM-DD형식으로 변경

                            gubun = "M";

                            standard_deviation.fn_safe_standard_deviation(sdate_2, edate_2, except, gubun, this);
                        }
                        else if (day_orderdate == "01")
                        {
                            DateTime today    = DateTime.Now.Date;                                        //현재 날짜 확인
                            var      ex_today = today.AddMonths(-1);                                      // 전월 구함
                            var      ex_sdate = ex_today.AddDays(1 - today.Day);                          //전월의 날짜 1일 구함

                            var    ex_etoday = today.AddMonths(0);                                        // 당월 구함
                            var    ex_edate  = ex_etoday.AddDays(-1);                                     //금일에 -1일
                            string sdate     = string.Format(ex_sdate.AddDays(0).ToString("yyyy-MM-dd")); //전월 날짜 1일을 YYYY-MM-DD형식으로 변경
                            string edate     = string.Format(ex_edate.AddDays(0).ToString("yyyy-MM-dd")); //전월 날짜 1일을 YYYY-MM-DD형식으로 변경

                            gubun = "M";

                            standard_deviation.fn_safe_standard_deviation(sdate, edate, except, gubun, this);
                        }


                        break;
                    }
                    else
                    {
                        label5.Text = DateTime.Now.ToString("HH:mm:ss");
                    }
                }
            }
        }