Example #1
0
        public void SetKinmuRecordRowTest()
        {
            var a = new List <KNS_D02>();

            a.Add(d02);
            var            b     = new List <KinmuRecordRow>();
            KinmuRecordRow kinmu = new KinmuRecordRow("9999999", d01, d13, a, m05);

            b.Add(kinmu);
            DBManager manager = new DBManager();
            int       res     = manager.SetKinmuRecordRow(b);

            Assert.IsTrue(res != 0, "Setに失敗" + res + "件");
        }
Example #2
0
        public void GetYoteiArticleTest1()
        {
            string employeeCode = "9017812";
            int    year         = 2016;
            int    month        = 10;

            PDFManager pdfManager = new PDFManager(employeeCode, year, month);
            DBManager  dbManager  = new DBManager();

            List <KinmuRecordRow> kinmuRecordRowList = dbManager.GetKinmuRecordRow(employeeCode, year, month);

            //平日、空欄
            KinmuRecordRow krr = kinmuRecordRowList.Find(_ => _.CalendarMaster.DATA_D == "03");

            PrivateObject po = new PrivateObject(pdfManager);

            string s = (string)po.Invoke("GetYoteiArticle", krr.KinmuJisseki, krr.KinmuYotei);

            Assert.IsTrue(s == "", "正常系エラー");
        }
Example #3
0
        public void GetMinashiTest4()
        {
            string employeeCode = "9017812";
            int    year         = 2017;
            int    month        = 5;

            PDFManager pdfManager = new PDFManager(employeeCode, year, month);
            DBManager  dbManager  = new DBManager();

            List <KinmuRecordRow> kinmuRecordRowList = dbManager.GetKinmuRecordRow(employeeCode, year, month);

            //確定欄が特休
            KinmuRecordRow krr = kinmuRecordRowList.Find(_ => _.CalendarMaster.DATA_D == "25");

            PrivateObject po = new PrivateObject(pdfManager);

            string s = (string)po.Invoke("GetMinashi", krr.KinmuJisseki);

            Assert.IsTrue(s == "", "正常系エラー");
        }
Example #4
0
        public void GetWorkTimeTest5()
        {
            string employeeCode = "9017812";
            int    year         = 2016;
            int    month        = 7;

            PDFManager pdfManager = new PDFManager(employeeCode, year, month);
            DBManager  dbManager  = new DBManager();

            List <KinmuRecordRow> kinmuRecordRowList = dbManager.GetKinmuRecordRow(employeeCode, year, month);

            //10時間超え(2桁)
            KinmuRecordRow krr = kinmuRecordRowList.Find(_ => _.CalendarMaster.DATA_D == "28");

            PrivateObject po = new PrivateObject(pdfManager);

            string s = (string)po.Invoke("GetWorkTime", krr.KinmuJisseki);

            Assert.IsTrue(s == "10:40", "正常系エラー");
        }
Example #5
0
        public void ExistYoteiTest4()
        {
            string employeeCode = "9017812";
            int    year         = 2016;
            int    month        = 10;

            PDFManager pdfManager = new PDFManager(employeeCode, year, month);
            DBManager  dbManager  = new DBManager();

            List <KinmuRecordRow> kinmuRecordRowList = dbManager.GetKinmuRecordRow(employeeCode, year, month);

            //勤務予定が入っていない日(年休)
            KinmuRecordRow krr = kinmuRecordRowList.Find(_ => _.CalendarMaster.DATA_D == "11");

            PrivateObject po = new PrivateObject(pdfManager);

            bool b = (bool)po.Invoke("ExistsYotei", krr.KinmuYotei);

            Assert.IsFalse(b, "正常系エラー");
        }
Example #6
0
        public void GetOpeningTimeToClosingTimeResultTest4()
        {
            string employeeCode = "9017812";
            int    year         = 2016;
            int    month        = 10;

            PDFManager pdfManager = new PDFManager(employeeCode, year, month);
            DBManager  dbManager  = new DBManager();

            List <KinmuRecordRow> kinmuRecordRowList = dbManager.GetKinmuRecordRow(employeeCode, year, month);

            //年休
            KinmuRecordRow krr = kinmuRecordRowList.Find(_ => _.CalendarMaster.DATA_D == "11");

            PrivateObject po = new PrivateObject(pdfManager);

            string s = (string)po.Invoke("GetOpeningTimeToClosingTimeResult", krr.KinmuJisseki);

            Assert.IsTrue(s == "", "正常系エラー");
        }
Example #7
0
        public void GetNinshoNameTest3()
        {
            string employeeCode = "9017812";
            int    year         = 2016;
            int    month        = 10;

            PDFManager pdfManager = new PDFManager(employeeCode, year, month);
            DBManager  dbManager  = new DBManager();

            List <KinmuRecordRow> kinmuRecordRowList = dbManager.GetKinmuRecordRow(employeeCode, year, month);

            //公休
            KinmuRecordRow krr = kinmuRecordRowList.Find(_ => _.CalendarMaster.DATA_D == "02");

            PrivateObject po = new PrivateObject(pdfManager);

            string s = (string)po.Invoke("GetNinshoName", krr.KinmuJisseki.NINYO_CD);

            Assert.IsTrue(s == "公休", "正常系エラー");
        }
Example #8
0
        public void GetWeekDayTest3()
        {
            string employeeCode = "9017812";
            int    year         = 2016;
            int    month        = 10;

            PDFManager pdfManager = new PDFManager(employeeCode, year, month);
            DBManager  dbManager  = new DBManager();

            List <KinmuRecordRow> kinmuRecordRowList = dbManager.GetKinmuRecordRow(employeeCode, year, month);

            //祝日前日フラグ
            KinmuRecordRow krr = kinmuRecordRowList.Find(_ => _.CalendarMaster.DATA_D == "09");

            PrivateObject po = new PrivateObject(pdfManager);

            string s = (string)po.Invoke("GetWeekDay", krr.CalendarMaster);

            Assert.IsTrue(s == "日 *", "正常系エラー");
        }
Example #9
0
        public void ExistMinashiTest1()
        {
            string employeeCode = "9017812";
            int    year         = 2016;
            int    month        = 10;

            PDFManager pdfManager = new PDFManager(employeeCode, year, month);
            DBManager  dbManager  = new DBManager();

            List <KinmuRecordRow> kinmuRecordRowList = dbManager.GetKinmuRecordRow(employeeCode, year, month);

            //みなしが入っている日
            KinmuRecordRow krr = kinmuRecordRowList.Find(_ => _.CalendarMaster.DATA_D == "11");

            PrivateObject po = new PrivateObject(pdfManager);

            bool b = (bool)po.Invoke("ExistsMinashi", krr.KinmuJisseki);

            Assert.IsTrue(b, "正常系エラー");
        }
Example #10
0
        private List <KNS_D02> GetLocalSagyoNisshi(string employeeCD, int year, int month, int day)
        {
            logger.Debug(LOG_START);

            if (!DateTime.TryParse($"{year}/{month}/{day}", out DateTime a))
            {
                throw new KinmuException($"日付文字列が不正です。入力された値:{year}/{month}/{day}");
            }
            string y = year.ToString(PADDING_ZERO_4);
            string m = month.ToString(PADDING_ZERO_2);
            string d = day.ToString(PADDING_ZERO_2);

            try
            {
                KinmuRecordRow row = kinmuRecordRowList.Single(_ => _.EmployeeCD == employeeCD && _.CalendarMaster.DATA_Y == y && _.CalendarMaster.DATA_M == m && _.CalendarMaster.DATA_D == d);
                return(row.SagyoNisshi);
            }
            catch (Exception)
            {
                return(new List <KNS_D02>());
            }
        }
Example #11
0
        /// <summary>
        /// 勤務情報からフレックステーブルに表示するセルを作成します。
        /// </summary>
        /// <param name="kinmu"></param>
        /// <returns></returns>
        private TableCell CreateFlexDataTableCellFromKinmuRecordRow(KinmuRecordRow kinmu)
        {
            try
            {
                logger.Debug(LOG_START);
                TableCell cell = new TableCell
                {
                    Text     = " ",
                    CssClass = ""
                };

                if (!string.IsNullOrWhiteSpace(kinmu.KinmuJisseki.NINKA_CD))
                {
                    // 実績データを使う場合
                    SetTableCellData(kinmu.KinmuJisseki, out cell);
                }
                else if (!string.IsNullOrWhiteSpace(kinmu.KinmuYotei.YOTEI_CD))
                {
                    // 予定データを使う場合
                    SetTableCellData(kinmu.KinmuYotei, out cell);
                }
                else if (!string.IsNullOrWhiteSpace(kinmu.CalendarMaster.NINYO_CD))
                {
                    // カレンダーマスターを使う場合
                    SetTableCellData(kinmu.CalendarMaster, out cell);
                }

                return(cell);
            }
            catch (KinmuException)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw new KinmuException(ex.Message, ex);
            }
        }
Example #12
0
        /// <summary>
        /// フレックス確認テーブルの作成
        /// </summary>
        private void CreateFlexTable()
        {
            try
            {
                logger.Debug(LOG_START);
                List <KNS_M01>        shainMaster = dbManager.GetSyainMasterAll();
                List <KinmuRecordRow> kinmuAll    = dbManager.GetKinmuRecordRow(null, viewDateTime.Year, viewDateTime.Month);
                List <TableRow>       tr          = new List <TableRow>();
                BtnCodeUpdate.Enabled = false;

                // 行を日付+ヘッダ2行分作成
                for (int i = 0; i < calender.Count + 2; i++)
                {
                    tr.Add(new TableRow());
                }

                // 全社員分のデータを日付行に追加
                foreach (var item in shainMaster)
                {
                    // 社員名セル
                    TableCell tableCell = new TableCell
                    {
                        ID       = "tc" + item.SHAIN_CD,
                        CssClass = "shainName"
                    };

                    if (item.SHONIN_SHAIN_CD == loginShainInfo.SHAIN_CD)
                    {
                        // 承認社員=自分の場合、予定確認チェックボックスを追加
                        CheckBox cb = new CheckBox
                        {
                            ID   = "cd" + item.SHAIN_CD,
                            Text = item.SHAIN_NM,
                        };
                        tableCell.Controls.Add(cb);
                        BtnCodeUpdate.Enabled = true;
                    }
                    else
                    {
                        // それ以外は社員名を表示
                        tableCell.Text = item.SHAIN_NM;
                    }
                    tr[0].Cells.Add(tableCell);

                    // 超勤時間セル
                    List <KNS_D01> tmp_d01s = KinmuManager.CallB(kinmuAll.Where(_ => _.EmployeeCD == item.SHAIN_CD).ToList());
                    tr[1].Cells.Add(new TableCell()
                    {
                        Text = MinutesToStringFormat(KinmuManager.CalcFastGekkanTankaBJikan(tmp_d01s)), CssClass = "overKinmuTimeHeaderRow"
                    });

                    // 勤務情報セル(日付分)
                    for (int day = 1; day <= calender.Count; day++)
                    {
                        KinmuRecordRow kinmu = kinmuAll.Single(_ => _.EmployeeCD == item.SHAIN_CD && _.CalendarMaster.DATA_Y == viewDateTime.ToString("yyyy") && _.CalendarMaster.DATA_M == viewDateTime.ToString("MM") && _.CalendarMaster.DATA_D == day.ToString("00"));
                        tr[day + 1].Cells.Add(CreateFlexDataTableCellFromKinmuRecordRow(kinmu));
                    }
                }

                // テーブルにバインド
                kinmuConfirmTableData.Rows.AddRange(tr.ToArray());
            }
            catch (KinmuException)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw new KinmuException(ex.Message, ex);
            }
        }