工程项目管理系统源码

工程项目管理系统源码

随着数字化时代的到来,工程项目管理也变得越来越数字化。现在,很多公司和个人都使用工程项目管理系统来管理他们的项目。这些系统可以帮助项目管理人员更好地组织和管理项目,提高项目效率和质量。

工程项目管理系统通常由多个模块组成,包括项目计划、项目执行、项目控制和项目报告等。这些模块可以相互协作,帮助项目管理人员更好地管理项目。

下面是一个简单的工程项目管理系统的源码示例,它使用了Python语言和Django框架。这个系统可以帮助项目管理人员更好地管理项目,包括项目进度、成本和风险等。

“`
# 项目管理系统源码

class Project:
def __init__(self, name, budget, time, risk):
self.name = name
self.budget = budget
self.time = time
self.risk = risk
self.status = \’pending\’
self.status_log = []
self.status_info = {
\’pending\’: {
\’description\’: \’正在计划中\’,
\’status\’: \’pending\’,
\’items\’: []
},
\’in progress\’: {
\’description\’: \’正在执行中\’,
\’status\’: \’in progress\’,
\’items\’: []
},
\’completed\’: {
\’description\’: \’已完成\’,
\’status\’: \’completed\’,
\’items\’: []
}
}
self.status_log.append(self.status)
self.status_info[self.status] = {
\’description\’: self.status.description,
\’status\’: self.status,
\’items\’: self.status_info[self.status].items
}

def add_item(self, item):
self.items.append(item)

def remove_item(self, item):
self.items.remove(item)

def get_item(self, item):
return self.items.index(item)

def update_item(self, item, budget, time, risk):
self.items.append(item)

def get_status_log(self):
return self.status_log

def get_status_info(self):
return self.status_info

class ProjectLog:
def __init__(self, project):
self.project = project
self.items = []
self.log = []
self.log_file = \’project_log.txt\’

def add_item(self, item):
self.items.append(item)
self.log.append({\’name\’: item.name, \’item\’: item.item})

def remove_item(self, item):
self.items.remove(item)
self.log.remove(item)

def get_item(self, item):
for i, row in enumerate(self.log):
if i == 0 and item.name in row[\’name\’]:
return row[\’item\’]
return None

def get_status(self, item):
for i, row in enumerate(self.log):
if i == 0 and item.name in row[\’name\’] and row[\’item\’] == item.item:
return row[\’status\’]
return \’pending\’

def get_status_info(self, item):
for i, row in enumerate(self.log):
if i == 0 and item.name in row[\’name\’] and row[\’item\’] == item.item:
return row
return None

def write_log(self, log):
with open(self.log_file, \’w\’) as f:
for item in self.items:
if item:
f.write({\’name\’: item.name, \’item\’: item.item,\’status\’: item.status_info[item.status]})

def main():
project = Project(\’Project 1\’, 100000, 10000, 0.1)
project_log = ProjectLog(\’Project 1\’)
project_log.add_item(ProjectItem(\’Item 1\’, 100, 200, 0.1))
project_log.add_item(ProjectItem(\’Item 2\’, 200, 300, 0.2))
project_log.add_item(ProjectItem(\’Item 3\’, 300, 400, 0.3))
project_log.add_item(ProjectItem(\’Item 4\’, 400, 500, 0.4))
project_log.add_item(ProjectItem(\’Item 5\’, 500, 600, 0.5))
project_log.add_item(ProjectItem(\’Item 6\’, 600, 700, 0.6))
project.update_item(ProjectItem(\’Item 6\’, 600, 700, 0.6), 100000, 10000, 0.7)
project.update_item(ProjectItem(\’Item 7\’, 700, 800, 0.8), 100000, 10000, 0.9)
project.update_item(ProjectItem(\’Item 8\’, 800, 900, 0.9), 100000, 10000, 1.1)
project.update_item(ProjectItem(\’Item 9\’, 900, 1000, 1.1), 100000, 10000, 1.2)

if __name__ == \’__main__\’:
main()
“`

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年7月12日 下午12:23
下一篇 2024年7月12日 下午12:35

相关推荐