eMP 服务开发说明

本文描述了开发 eMP 服务应用程序的通用步骤,本文的前提是 eMP 开发环境已经配置完成,请参考上一篇博文 “eMP 开发环境配置说明”。

环境确认

  1. JDK 环境,需要JDK1.8及以上版本,Path变量已经添加JDK主目录。
  2. Maven 环境,需要 Maven3 及以上版本,Path 变量已经添加 Maven 主目录,并且明确私服的地址,可以部署模块到私服上。
  3. Git 环境,安装了 Git 和 TortoiseGit 明确 Git 仓库地址,能够正常克隆、更新、提交、推送代码。
  4. IDE 环境,配置了Maven环境,部分偏好设置(如:文件编码等)配置完成。

以上环境确认无误方可进行以下操作。

创建步骤

克隆 emp 项目
  1. 在磁盘上新建一个文件夹作为开发目录(建议目录层次不要太深)。
  2. 单击鼠标右键,选择“TortoiseGit克隆”,正确输入版本库的地址,如:http://172.16.10.13/EMP/emp.git 克隆 emp 代码到本地。
  3. 切换分支,默认处于 Master 分支,可根据需要切换。
打开 emp 项目
  1. 启动 InteliJ IDEA ,选择 “open” 定位到 emp 的开发目录中的 pom.xml ,选择作为“project”打开。打开项目作为“Project”打开
  2. emp 打开后 IDEA 会进行自动配置和文件扫描,可能会联网下载依赖的组件,请保证网络畅通。
  3. IDEA 扫描完成后,在“Maven Project”窗口中点击“同步”按钮同步所有模块的依赖组件。
新建模块
  1. 右键单击“Project”的根目录,选择“New”-“Module”打开新建模块窗口,选择“Maven”,勾选“Create from archetype”,在原型列表中找到“emp-service-base-archetype”原型。新建模块
  2. 如果没有找到指定的原型,点击“Add Archetype…”添加原型,输入原型的坐标信息点击“OK”即可。添加原型
  3. 下一步中,选择模块的“Parent”为“emp-app-parent”,输入 ArtifactId,如:emp-service-test。ArtifactId
  4. 下一步中,确定“Maven”信息无误,直接点击“next”进入下一步。Maven信息
  5. 正确命名模块名称及保存目录,完成模块创建。完成创建模块
配置模块
  1. 标识文件夹类型,打开 emp-service-test 模块,选择“java”目录,右键单击,选择“Make directory as”-“Source root”,将“java”目录转换为源代码主目录,同样将“resources”目录转换为资源主目录(“Resource root”)。
  2. 重命名启动类,选择“EmpServiceApplication”,右键单击,选择“Rafactor”-“Rename…”,修改类名为“EmpServiceTestApplication”,勾选“Rename variables”和“Rename inheritors”两项,点击“Rafactor”即可。重命名启动类
  3. 修改服务端口,打开模块配置文件“application.properties”,修改“service.port”配置项,给服务指定一个默认端口。
  4. 修改接口文档说明,打开“SwaggerConfig”,修改部分说明即可。接口文档说明信息
打包模块

打开控制台,输入命令:

mvn package -pl emp-service-test -am -DskipTests

其中,“-pl”指定需要打包的模块,“-am”表示打包所依赖的模块,“-DskipTests”表示打包的过程中跳过测试。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个小型企业工资管理系统可以采用面向对象的编程思想进行设计和开发,使用Python语言实现。 首先,我们需要定义员工类 Employee,其中包含员工的基本信息(工号、姓名、岗位、月工资)和计算工资的方法 calculate_salary。然后,派生出经理类 Manager、技术员类 Technician、销售员类 Salesman 和计时工类 HourlyWorker,分别实现他们的工资计算方法。 接下来,我们需要设计一个菜单界面,用于选择各项功能。可以使用 Python 的 tkinter 库或者 PyQT 等 GUI 库实现一个简单的窗口界面。在菜单界面中,可以设置登录本系统的用户名和密码,通过用户名和密码登录后,才能进行数据录入、查询、删除、修改、工资计算和数据输出等操作。 具体实现过程可以参考以下代码示例: ```python class Employee: def __init__(self, emp_id, name, job, salary): self.emp_id = emp_id self.name = name self.job = job self.salary = salary def calculate_salary(self): pass class Manager(Employee): def __init__(self, emp_id, name, salary=8800): super().__init__(emp_id, name, 'Manager', salary) def calculate_salary(self): return self.salary class Technician(Employee): def __init__(self, emp_id, name, level): self.levels = {'high': 7700, 'medium': 6600, 'low': 5500} super().__init__(emp_id, name, 'Technician', self.levels[level]) def calculate_salary(self): return self.salary class Salesman(Employee): def __init__(self, emp_id, name, base_salary=2500, sales=0): super().__init__(emp_id, name, 'Salesman', base_salary) self.sales = sales def calculate_salary(self): return self.salary + self.sales * 0.02 class HourlyWorker(Employee): def __init__(self, emp_id, name, hours=0): super().__init__(emp_id, name, 'HourlyWorker', 0) self.hours = hours def calculate_salary(self): return self.hours * 66 class PayrollSystem: def __init__(self): self.employees = [] def add_employee(self, emp): self.employees.append(emp) def remove_employee(self, emp_id): for emp in self.employees: if emp.emp_id == emp_id: self.employees.remove(emp) return True return False def modify_employee(self, emp_id, new_name=None, new_job=None, new_salary=None): for emp in self.employees: if emp.emp_id == emp_id: if new_name: emp.name = new_name if new_job: emp.job = new_job if new_salary: emp.salary = new_salary return True return False def calculate_payroll(self): for emp in self.employees: print(f'{emp.job} {emp.name} salary: {emp.calculate_salary()}') def search_employee(self, emp_id=None, name=None): for emp in self.employees: if emp_id and emp.emp_id == emp_id: return emp if name and emp.name == name: return emp return None ``` 在这个代码示例中,我们定义了一个员工类 Employee,派生出经理类 Manager、技术员类 Technician、销售员类 Salesman 和计时工类 HourlyWorker,并实现了他们的工资计算方法。 另外,我们还定义了一个 PayrollSystem 类,用于管理员工信息,并实现了添加、删除、修改、查询和工资计算等功能。 具体实现过程中,我们可以通过读取配置文件获取用户名和密码,然后在登录界面中进行验证。在菜单界面中,可以通过按钮或菜单选项实现各项功能。例如,点击“数据录入”按钮,可以打开一个新窗口,输入员工信息并保存到 PayrollSystem 对象中。 总之,这个小型企业工资管理系统的设计和实现需要考虑多个方面,包括员工类的继承关系、工资计算方法的实现、数据管理和用户界面等,可以根据实际需求进行扩展和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值