NTTコミュニケーションズがPythonを活用したオフィス設備管理システムの開発

python

概要

日本企業でも最近はPythonを使ったプログラム開発が増えてきています。

今回は、Pythonを活用した日本の大手通信キャリア企業・NTTコミュニケーションズの事例を取り上げてみます。

詳細内容

NTTコミュニケーションズがPythonを活用した主な事例に、オフィスの設備管理システムがあります。

同社では、オフィス内にある設備や備品の貸出・返却管理を行うために、従来はExcelや紙のフォームを使用していました。

しかし、これでは管理が煩雑になりがちで、誰がどの設備を借りているのかが管理者側でも把握しづらいという問題がありました。

そこで同社では、Pythonを使ったWebアプリケーションを開発し、設備管理を効率化することに成功しました。

具体的には、PythonのWebフレームワークであるDjangoを使用し、データベース管理にはPostgreSQLを採用しています。

このアプリケーションでは、設備の種類や保有数、貸出可否などの情報を管理し、ユーザーがログインすることで自分が貸出している設備の一覧や期限の確認ができます。

また、管理者側でも誰がどの設備を借りているかを一目で把握でき、貸出期限が近づいた場合には自動でメール通知する仕組みも実装されています。

以下は、Pythonを使ったオフィスの設備管理システムの一部を示したコードです。

まず、Djangoのモデルクラスを定義しています。

これは、設備の情報をデータベースに保存するためのものです。


from django.db import modelsclass Equipment(models.Model):
    name = models.CharField(max_length=50)
    count = models.IntegerField()
    available = models.BooleanField(default=True)    
def __str__(self):
        return self.name

次に、設備貸出申請を管理するためのモデルクラスを定義します。


class EquipmentBorrow(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    equipment = models.ForeignKey(Equipment, on_delete=models.CASCADE)
    borrow_time = models.DateTimeField(auto_now_add=True)
    due_time = models.DateTimeField()
    returned_time = models.DateTimeField(blank=True, null=True)    
def __str__(self):
        return self.equipment.name + ' by ' + self.user.username

最後に、管理者側で設備貸出状況を一覧表示するためのビューを定義します。


from django.views.generic import ListView
from django.utils import timezone
from .models import EquipmentBorrowclass EquipmentBorrowListView(ListView):
    template_name = 'equipment_borrow_list.html'
    context_object_name = 'borrow_list'    
def get_queryset(self):
        return EquipmentBorrow.objects.filter(due_time__lte=timezone.now(), returned_time__isnull=True).order_by('due_time')

以上のように、NTTコミュニケーションズはPythonを活用して、オフィス内の設備管理を効率化するシステムを開発しました。

このシステムにより、設備の貸出・返却管理がスムーズに行えるようになり、管理者側でも容易に設備貸出状況を把握することができるようになりました。

コメント

タイトルとURLをコピーしました