Beispiel #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            logger.Debug(LOG_START);
            // セッションデータの取得
            KinmuSystem.SetSessionData(ref loginShainInfo, ref viewShainInfo, ref viewDateTime, Response, Request, Session);

            try
            {
                kinmuManager = new KinmuManager(viewShainInfo.SHAIN_CD, viewDateTime.Year, viewDateTime.Month);
                var pdfManager = new PDFManager(kinmuManager);

                YearLabel.Text         = viewDateTime.ToString("yyyy");
                MonthLabel.Text        = viewDateTime.ToString("MM");
                CompanyNameLabel.Text  = "(株)エスケイケイ";
                EmployeeCodeLabel.Text = viewShainInfo.SHAIN_CD;
                NameLabel.Text         = viewShainInfo.SHAIN_NM;
                Title = "勤務予定表 " + viewShainInfo.SHAIN_NM + " " + viewDateTime.ToString("yyyy年MM月");
                RenderWorkPlansTableBody();

                OverTimeGridView.DataSource = pdfManager.GetOverTimeList();
                OverTimeGridView.DataBind();

                Check36GridView.DataSource = pdfManager.GetCheck36List();
                Check36GridView.DataBind();

                //Tableのデータは直接入れる
                TotalTable.Rows[0].Cells[1].Text = MinutesToStringFormat(restTimeTotal);
                //みなし1が含まれている?
                TotalTable.Rows[0].Cells[2].Text = MinutesToStringFormat(workTimeTotal);
                //みなし2のみ?
                TotalTable.Rows[0].Cells[3].Text = MinutesToStringFormat(minashiTimeTotal);

                KoKyuWorkTable.Rows[0].Cells[1].Text = kinmuManager.CalcGekkanKokyuRoudouNissu() + "日";

                NenkyuTable.Rows[1].Cells[1].Text = kinmuManager.CalcGekkanNenkyu() + "日";
                NenkyuTable.Rows[2].Cells[1].Text = kinmuManager.CaclGekkanAMHankyu() + "日";
                NenkyuTable.Rows[3].Cells[1].Text = kinmuManager.CaclGekkanPMHankyu() + "日";

                TokukyuAndKokyuTable.Rows[1].Cells[1].Text = kinmuManager.CalcGekkanTokkyuYoteiNissu() + "日";
                TokukyuAndKokyuTable.Rows[1].Cells[2].Text = kinmuManager.CalcGekkanTokkyuKakuteiNissu() + "日";
                TokukyuAndKokyuTable.Rows[2].Cells[1].Text = kinmuManager.CalcGekkanKoukyuYoteiNissu() + "日";
                TokukyuAndKokyuTable.Rows[2].Cells[2].Text = kinmuManager.CalcGekkanKoukyuKakuteiNissu() + "日";

                WorkDaysAndTimeTable.Rows[0].Cells[1].Text = kinmuManager.CalcGekkanSyoteiRoudoNissu() + "日";
                WorkDaysAndTimeTable.Rows[0].Cells[2].Text = MinutesToStringFormat(kinmuManager.CalcGekkanSyoteiRoudoJikan());
                WorkDaysAndTimeTable.Rows[1].Cells[1].Text = kinmuManager.CalcGekkanHouteiNissu() + "日";
                WorkDaysAndTimeTable.Rows[1].Cells[2].Text = MinutesToStringFormat(kinmuManager.CalcGekkanHouTeiRoudoJikan());

                //作業時間が法定労働時間を超過している場合注意喚起を表示する
                HoteiRoudoCheckMessageLabel.Text = pdfManager.GetHoteiRoudoCheckMessage();
            }
            catch (KinmuException ex)
            {
                WorkPlansPanel.Visible = false;
                ErrorPanel.Visible     = true;
                ErrorMessageLabel.Text = "データ読み込み時にエラーが発生しました。管理者に連絡してください。" + "\nErrorMessage:" + ex.Message + "\nStackTrace:" + ex.StackTrace;
            }
        }
Beispiel #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            logger.Debug(LOG_START);
            // セッションデータの取得
            KinmuSystem.SetSessionData(ref loginShainInfo, ref viewShainInfo, ref viewDateTime, Response, Request, Session);

            string companyName      = "(株)エスケイケイ";
            string dataErrorMessage = "データ読み込み時にエラーが発生しました。管理者に連絡してください。";



            try
            {
                var kinmuManager = new KinmuManager(viewShainInfo.SHAIN_CD, viewDateTime.Year, viewDateTime.Month);
                var pdfManager   = new PDFManager(kinmuManager);

                //データをバインドする
                YearLabel.Text        = viewDateTime.ToString("yyyy");
                MonthLabel.Text       = viewDateTime.ToString("MM");
                CompanyNameLabel.Text = companyName;
                NameLabel.Text        = viewShainInfo.SHAIN_NM;
                Title = "作業日誌 " + viewShainInfo.SHAIN_NM + " " + viewDateTime.ToString("yyyy年MM月");

                WorkDiaryGridView.DataSource = pdfManager.GetWorkDiaryList();
                WorkDiaryGridView.DataBind();

                //minuteをhourにする
                int totalWorkTime = kinmuManager.CalcGekkanTotalJitsuRoudoJikan();
                TotalWorkTimeLabel.Text = MinutesToStringFormat(totalWorkTime, "{0}時間{1:00}分");
            }
            catch (KinmuException ex)
            {
                WorkDiaryPanel.Visible = false;
                ErrorPanel.Visible     = true;
                ErrorMessageLabel.Text = dataErrorMessage + "\nErrorMessage:" + ex.Message + "\nStackTrace:" + ex.StackTrace;
            }
        }
Beispiel #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                logger.Debug(LOG_START);
                KinmuSystem.SetSessionData(ref loginShainInfo, ref viewShainInfo, ref viewDateTime, Response, Request, Session);

                int workTimeTotal = 0;
                List <KinmuGridViewWorkResultsRow> data = new List <KinmuGridViewWorkResultsRow>();
                KinmuManager kinmuManager = new KinmuManager(viewShainInfo.SHAIN_CD, viewDateTime.Year, viewDateTime.Month);

                DateTimeStringLabel.Text = viewDateTime.ToString("yyyy年MM月");
                CompanyNameLabel.Text    = companyName;
                EmployeeCodeLabel.Text   = viewShainInfo.SHAIN_CD;
                NameLabel.Text           = viewShainInfo.SHAIN_NM;
                Title = "勤務実績整理簿 " + viewShainInfo.SHAIN_NM + " " + viewDateTime.ToString("yyyy年MM月");

                //メインの表をバインド
                for (int i = 1; i <= DateTime.DaysInMonth(kinmuManager.Year, kinmuManager.Month); i++)
                {
                    // 本当はKinmuRecordRowを取得しておきたかったが、処理の関係上こうなってる
                    // なんか良い方法あったら教えてください
                    KNS_D01 KinmuJisseki   = kinmuManager.KinmuJisseki.SingleOrDefault(_ => _.DATA_D == i.ToString(PADDING_ZERO_2)) ?? new KNS_D01();
                    KNS_D13 KinmuYotei     = kinmuManager.KinmuYotei.SingleOrDefault(_ => _.DATA_D == i.ToString(PADDING_ZERO_2)) ?? new KNS_D13();
                    KNS_M05 CalendarMaster = kinmuManager.CalendarMaster.SingleOrDefault(_ => _.DATA_D == i.ToString(PADDING_ZERO_2)) ?? new KNS_M05();
                    workTimeTotal += KinmuJisseki.DKINM ?? 0;
                    data.Add(
                        new KinmuGridViewWorkResultsRow(
                            new KinmuRecordRow(kinmuManager.EmployeeCD, KinmuJisseki, KinmuYotei, new List <KNS_D02>(), CalendarMaster),
                            workTimeTotal
                            )
                        );
                }
                WorkResultsGridView.DataSource = data;
                WorkResultsGridView.DataBind();

                // 所定日数
                A1Label.Text = kinmuManager.CalcGekkanSyoteiNissu().ToString();
                // 出勤日数
                A2Label.Text = kinmuManager.CalcGekkanSyukkinNissu().ToString();
                // 休労日数
                A3Label.Text = kinmuManager.CalcGekkanKyujitsuRoudouNissu().ToString();
                // -日数
                A4Label.Text = kinmuManager.CalcBarNissu().ToString();
                // 代休日数
                A5Label.Text = kinmuManager.CalcGekkanDaikyuNissu().ToString();
                // 非番日数
                A6Label.Text = kinmuManager.CalcGekkanHibanNissu().ToString();
                // 有給日数
                A7Label.Text = kinmuManager.CalcGekkanYukyuNissu().ToString();
                // 無休日数
                A8Label.Text = kinmuManager.CalcGekkanMukyuNissu().ToString();

                // 組休日数
                B1Label.Text = kinmuManager.CalcGekkanKumikyuNissu().ToString();
                // 公休日労働回数
                B2Label.Text = kinmuManager.CalcGekkanKokyuRoudouNissu().ToString();
                // 所定労働日数
                B3Label.Text = kinmuManager.CalcGekkanSyoteiRoudoNissu().ToString();
                // 労働日数
                B4Label.Text = kinmuManager.CalcGekkanRoudouNissu().ToString();
                // 特休日数 予定
                B5Label.Text = kinmuManager.CalcGekkanTokkyuYoteiNissu().ToString();
                // 特休日数 確定
                B6Label.Text = kinmuManager.CalcGekkanTokkyuKakuteiNissu().ToString();
                // 公休日数 予定
                B7Label.Text = kinmuManager.CalcGekkanKoukyuYoteiNissu().ToString();
                // 公休日数 確定
                B8Label.Text = kinmuManager.CalcGekkanKoukyuKakuteiNissu().ToString();

                // 実総労働時間
                int tmp = kinmuManager.CalcGekkanTotalJitsuRoudoJikan();
                C1Label1.Text = MinutesToStringFormat(tmp);
                C1Label2.Text = tmp.ToString();
                // みなし2
                tmp           = kinmuManager.CalcGekkanYukyuJikan();
                C2Label1.Text = MinutesToStringFormat(tmp);
                C2Label2.Text = tmp.ToString();
                // 超勤A
                tmp           = kinmuManager.CalcGekkanTankaAJikan();
                C3Label1.Text = MinutesToStringFormat(tmp);
                C3Label2.Text = tmp.ToString();
                // 超勤B
                tmp           = kinmuManager.CalcGekkanTankaBJikan();
                C4Label1.Text = MinutesToStringFormat(tmp);
                C4Label2.Text = tmp.ToString();
                // 超勤D(特休)
                tmp           = kinmuManager.CalcGekkanTankaTokkyuDJikan();
                C5Label1.Text = MinutesToStringFormat(tmp);
                C5Label2.Text = tmp.ToString();
                // 超勤D(公休)
                tmp           = kinmuManager.CalcGekkanTankaKoukyuDJikan();
                C6Label1.Text = MinutesToStringFormat(tmp);
                C6Label2.Text = tmp.ToString();
                // 夜勤C
                tmp           = kinmuManager.CalcGekkanTankaCJikan();
                C7Label1.Text = MinutesToStringFormat(tmp);
                C7Label2.Text = tmp.ToString();
                // 控除A
                tmp           = kinmuManager.CalcGekkanKoujyoAJikan();
                C8Label1.Text = MinutesToStringFormat(tmp);
                C8Label2.Text = tmp.ToString();

                // 減額A
                tmp           = kinmuManager.CalcGekkanGengakuAjikan();
                D1Label1.Text = MinutesToStringFormat(tmp);
                D1Label2.Text = tmp.ToString();
                // 時間外労働時間
                tmp           = kinmuManager.CalcGekkanJikangaiRoudoJikan();
                D2Label1.Text = MinutesToStringFormat(tmp);
                D2Label2.Text = tmp.ToString();
                // 経営公休日労働時間
                tmp           = kinmuManager.CalcGekkanKeieiKokyuRoudoJikan();
                D3Label1.Text = MinutesToStringFormat(tmp);
                D3Label2.Text = tmp.ToString();
                // 法定労働時間
                tmp           = kinmuManager.CalcGekkanHouTeiRoudoJikan();
                D4Label1.Text = MinutesToStringFormat(tmp);
                D4Label2.Text = tmp.ToString();
                // 所定労働時間
                tmp           = kinmuManager.CalcGekkanSyoteiRoudoJikan();
                D5Label1.Text = MinutesToStringFormat(tmp);
                D5Label2.Text = tmp.ToString();
                // みなし1
                tmp           = kinmuManager.CalcGekkanMinashi1Jikan();
                D6Label1.Text = MinutesToStringFormat(tmp);
                D6Label2.Text = tmp.ToString();
                // 超勤E
                tmp           = kinmuManager.CalcGekkanTankaEJikan();
                D7Label1.Text = MinutesToStringFormat(tmp);
                D7Label2.Text = tmp.ToString();
                // 祝日C
                tmp           = kinmuManager.CalcGekkanSyukujituRoudoJikan();
                D8Label1.Text = MinutesToStringFormat(tmp);
                D8Label2.Text = tmp.ToString();
            }
            catch (KinmuException ex)
            {
                WorkResultsPanel.Visible = false;
                ErrorPanel.Visible       = true;
                ErrorMessageLabel.Text   = dataErrorMessage + "ErrorMessage:" + ex.Message + "StackTrace:" + ex.StackTrace;
            }
        }
Beispiel #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            logger.Debug(LOG_START);

#if !DEBUG
            // ログイン済みでない場合は何もしない
            // (MasterページからMSの認証画面を呼び出す)
            if (!Request.IsAuthenticated)
            {
                KinmuSystem.SignIn();
            }
#endif
            // ユーザマネージャのインスタンスを生成
            UserManager userManager = new UserManager();
#if DEBUG
            string userName = "******";
            if (Request.QueryString["user"] != null)
            {
                userName = Request.QueryString["user"];
            }
#else
            // ユーザ情報の取得
            ClaimsIdentity userClaims = User.Identity as ClaimsIdentity;

            // ADに登録されたユーザ名(メールアドレス)を取得([email protected])
            string userName = userClaims?.FindFirst(System.IdentityModel.Claims.ClaimTypes.Name)?.Value;
#endif

            // aliasをもとに社員CDをDBから取得する
            KNS_M01 shainInfo = userManager.GetShainCDInfoByAlias(userName);

            // AD認証はできるがDBにユーザが登録されていない場合
            if (shainInfo == null)
            {
                resultLabel.Text = "ログインは成功しましたが、DBにユーザ情報が登録されていません。";
                return;
            }

            // 最終ログイン時間の更新
            Session[SESSION_STRING_LAST_LOGIN_TIME] = userManager.GetLastLogin(shainInfo.SHAIN_CD);
            int updateNum = userManager.SetLastLoginAtNow(shainInfo.SHAIN_CD);
            if (updateNum < 1)
            {
                resultLabel.Text = "ログインは成功しましたが、対象ユーザの最終ログイン時間が更新できませんでした。";
                return;
            }

            // ユーザ名(メールアドレス)から社員コードを取得
            Session[SESSION_STRING_LOGIN_SHAIN_INFO] = shainInfo;
            Session[SESSION_STRING_VIEW_SHAIN_INFO]  = shainInfo;
            Session[SESSION_STRING_VIEW_DATETIME]    = DateTime.Now;

            // 最終アクセスURLへ飛ばす
            string url = "List.aspx";
            if (Session[SESSION_STRING_REDIRECT_URL] != null)
            {
                url = (string)Session[SESSION_STRING_REDIRECT_URL];
                Session[SESSION_STRING_REDIRECT_URL] = null;
            }
            logger.Debug("リダイレクト先:" + url);
            Response.Redirect(url);
        }