My Photo

« March 2015 | Main | May 2015 »

April 15, 2015

Excelで就業時間を計算する式を考えた

会社の就業時間の計算ルールが変わった。
今までの就業時間の計算は割りと簡単で

退勤時間-出勤時間-昼休みの1時間

の結果を5分単位で端数処理をしていた。

新しいルールは以下のようになった。
・就業時間のスタートは9:30。9:30より早く出勤しても9:30までは就業時間に入らなくなった。
・12:00~13:00の昼休み1時間に加えて18:00~18:15が休憩時間になった。
・15分単位で端数は切り捨て。

就業時間の計算方法が変わったのは、残業したときの割り増し賃金が導入されたから。今まで残業しても休日出勤しても時給が変わらなかった。
#法律違反だったわけだ。
社労士に意見されたそうで、残業した分の割増賃金を導入することになった。でも人件費を増やしたくない。だからルールを変えて就業時間を減らそうと会社は考えたのかなと、想像できる。
で、残業の割増賃金で増える分とルール変更で就業時間が短くなって減る分、合算して給料が増か減かというと、まず間違いなく減です。ええ。最近はあまり残業してないし。
今までは9:20に出勤すればその時点から就業開始だったが、今後は始業時間の9:30から就業開始になる。これだけで毎日マイナス10分。
また、定時の後に15分の休憩ができたので、18:00~18:29に退勤しても18:00退勤と変わらない。これで1日当たり10~15分くらい従来より就業時間が減ることになる。
出勤が20日/月と考えるとざっくり計算で1月あたり
  20分×20=3時間40分
くらい就業時間が減って、その分給料も減るかなーと予想。

で、これをEXCELで計算する式を考えた。セルC2が退勤時刻とすると下記のようになった。
冗長な括弧があるが、これは多少でもわかりやすくするため。わかりやすくなってないか^^;

FLOOR((C2-TIME(9,30,0)-(IF(C2<=TIME(12,0,0),0,IF(C2<=TIME(13,0,0),(C2-TIME(12,0,0)),IF(C2<=TIME(18,0,0),1/24,IF(C2<=TIME(18,15,0),(1/24+(C2-TIME(18,0,0))),(1/24+1/24/4))))))),"0:15")

やってることは

15分単位で切り捨て(退勤時間-始業時間の9:00-休憩時間)

である。
よりわかりやすくいように適当に改行、インデント、コメントを入れてみた。
#EXCELの式の中にコメントなんて書けないが、分かりやすくするために入れた。

FLOOR(  // 切り捨て
  // 切り捨て前の生の就業時間
  (
    C2           // 退勤時間
    -
    TIME(9,30,0)  // 始業時間
    -
    // 休憩時間
    (
      IF(C2<=TIME(12,0,0),           // 12:00以前の場合
        0,                                // 休憩時間なし
      IF(C2<=TIME(13,0,0),           // 13:00以前の場合
        (C2-TIME(12,0,0)),                // 12:00を超えた部分
      IF(C2<=TIME(18,0,0),           // 18:00以前の場合
        1/24,                             // 昼休み1時間
      IF(C2<=TIME(18,15,0),          // 18:15以前の場合
        (1/24+(C2-TIME(18,0,0))),         // 昼休み1時間+18:00を超えた部分
                                        // それ以降
        (1/24+1/24/4)                     // 昼休み1時間+夕方の休憩時間15分
      ))))
    )
  ),
  "0:15"  // 切り捨ての単位
)

April 07, 2015

URLリライトの復習その2

関連記事:
UbuntuサーバのApache2でURLリライトを試してみる
URLリライトの復習とIE11のUser-Agent
.htaccessの有効化とサブディレクトリのアクセス制御

CentOSでのURLリライト

以前、URLリライトについての記事を書いた時は動作確認に Ubuntu Server を使っていたが今はCentOS(6.6)を使っているので、URLリライトが使えるか調べてみた。
/etc/httpd/conf/httpd.conf を見ると

LoadModule rewrite_module modules/mod_rewrite.so

という記述があるのでデフォルトでURLリライトが有効になっている。あとは .htaccess を使えるようにすれば .htaccess でURLリライトが可能になる。

サブディレクトリの.htaccessのRewritBaseとRewriteRule

RewriteRuleは書式は以下である。

RewriteRule <Pattern> <Substitution>

いろいろ試してわかったことを以下に箇条書き。

  • パターンと照合される入力値は相対パスである。スラッシュではなく名前から始まる。よって、パターンとして "/○○" では入力値と一致しない。相対パスが一致するようなパターンを考えなければならない。
  • Substitutionは "/" で始まればドキュメントルートからのパス。名前から始まれば相対パスである。
  • パターンに一致して書き換えられた場合、RewriteBaseがあれば書き換えられたURL(のパス名)は "RewriteBaseの値+<Substitution>" が結果となる。

具体例として、以下のようなディレクトリ、ファイル構成を考える。

/(ドキュメントルート)
├abc.html
├sub
│├.htaccess
│├abc.html
・・
・・
・・

/sub/.htaccess(RewriteBaseとRewriteRurleのみ抜き出したもの)とその場合にURLリライトの結果の表を以下に示す。

例1

RewriteBase /sub/
Rewrite ^test\.html$ abc.html
元のURLのパス名 URLリライトへの
入力
URLリライトの
出力
書き換えられた
URLのパス名
/sub/test.html test.html abc.html /sub/abc.html
/sub/sub2/test.html sub2/test.html パターンに
一致しない
-

例2

RewriteBase /sub/
Rewrite ^.*test\.html$ abc.html
元のURLのパス名 URLリライトへの
入力
URLリライトの
出力
書き換えられた
URLのパス名
/sub/test.html test.html abc.html /sub/abc.html
/sub/sub2/test.html sub2/test.html abc.html /sub/abc.html

例3

Rewrite ^test\.html$ /abc.html
元のURLのパス名 URLリライトへの
入力
URLリライトの
出力
書き換えられた
URLのパス名
/sub/test.html test.html /abc.html /abc.html

April 01, 2015

composerのインストール

関連記事:
[CentOS 6.6]PHP5.5のインストール準備(EPEL、REMIリポジトリの追加)
[CentOS 6.6]PHP5.5のインストール

Laravelはcomposerというパッケージ管理ツールを使ってインストールするとうことなので、まずcomposerをインストールした。

[root@localhost ~]# curl -sS https://getcomposer.org/installer | php
#!/usr/bin/env php
All settings correct for using Composer
Downloading...

Composer successfully installed to: /root/composer.phar
Use it: php composer.phar
[root@localhost ~]# mv composer.phar /usr/local/bin/composer
[root@localhost ~]# which composer
/usr/local/bin/composer

参考ページ:
CentOS 6.5 + PHP 5.6 + MySQL 5.6 + laravel4 環境を作る(part 2)|OISのブログ|株式会社オリエンタルインフォーメイションサービス
CentOS 6.6 で Laravel4 を使う準備 - Qiita

« March 2015 | Main | May 2015 »

May 2017
Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
無料ブログはココログ

日本blog村

  • にほんブログ村 IT技術ブログへ
  • にほんブログ村 アニメブログへ
  • にほんブログ村 サッカーブログ アルビレックス新潟へ

好きな音楽家

メモ

XI-Prof