综合项目一
下面展示一些代码。
public class TeamView {
NameListService listSvc = new NameListService();
TeamService teamSvc = null;
//存储多个团队
ArrayList<Programmer[]> teams = new ArrayList<>();
ProjectService projectService = null;
public TeamView(){
}
public TeamView(NameListService nameListSer,ProjectService projectService) {
this.listSvc = nameListSer;
this.projectService = projectService;
}
//主界面显示及控制方法
public void enterMainMenu(){
char key = 0;
boolean flag = true;
do {
System.out.println("🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣团队调度界面🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣🔣");
System.out.println("1-添加团队 2-查看团队 3-删除团队 4-退出 请选择(1-4):");
key = TSUtility.readMenuSelectionPro();
switch (key){
//选择1-添加团队就会进到这里面的switch
case '1':
teamSvc = new TeamService(); //***实例化新的团队业务对象,这样每个TeamService中都有一个不同的数组
addTeamEnter();
break;
case '2' :
this.getManyTeam();
break;
case '3' :
deleteTeam();
break;
case '4':
System.out.print("确认是否退出(Y/N):");
char yn = TSUtility.readConfirmSelection();
if (yn == 'Y') {
flag = false;
}
break;
}
}while (flag);
}
//添加团队
private void addTeamEnter() {
char key1 = 0;
boolean flag1 = true;
do {
listAllEmployees();
System.out.println("1-团队成员列表 2-添加团队成员 3-删除团队成员 4-退出 请选择(1-4):");
key1 = TSUtility.readMenuSelectionPro();
switch (key1){
case '1' : //over
this.getTeam();
break;
case '2' : //over
this.addMember();
break;
case '3' : //over
System.out.println("输入要删除的团队成员在团队中的id:");
int memberId = TSUtility.readInt();
try {
this.deleteMember(memberId);
System.out.println("删除成功");
} catch (Exception e) {
System.out.println(e.getMessage());
}
break;
case '4' : //over
System.out.print("确认是否退出(Y/N):");
char yn = TSUtility.readConfirmSelection();
if (yn == 'Y'){
flag1 = false;
}
teams.add(teamSvc.getTeam());
}
}while (flag1);
}
//删除团队
private void deleteTeam(){
try {
System.out.println("请输入要删除的团队Id");
int n = TSUtility.readInt() - 1;
Programmer[] programmer1 = teams.get(n);
for (Programmer programmer2 : programmer1) {
programmer2.setStatus(true);
}
teams.remove(n);
System.out.println("删除成功");
for (int i = 0; i < projectService.getAllPro().size(); i++) {
if (projectService.getAllPro().get(i).getTeam() != null && projectService.getAllPro().get(i).getTeam().equals(programmer1)) {
System.out.println("成功");
Project pro =projectService.getAllPro().get(i);
pro.setStatus(false);
pro.setTeamName("");
// pro.setTeamName(null);
}
}
} catch (Exception e) {
System.out.println("删除失败" + e.getMessage());
}
}
//列出公司所有成员
private void listAllEmployees() {
try {
listSvc.showEmployee();
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
//添加团队成员
private void addMember(){
try {
System.out.println("请输入要添加的员工ID:");
int id = TSUtility.readInt();
teamSvc.addMember(listSvc.getEmployee(id)); //根据员工id查询到员工后添加进团队
System.out.println("添加成功!");
} catch (Exception e) {
System.out.println("添加失败:" + e.getMessage());
}
TSUtility.readReturn();
}
//删除团队成员
private void deleteMember(int memberId) throws TeamException {
teamSvc.removeMember(memberId);
}
//查看某个团队中的所有成员
private void getTeam(){
System.out.println("团队列表为以下:");
Programmer[] programmers = teamSvc.getTeam(); //获取当前团队的获取成员
List<Programmer> employees = Arrays.asList(programmers);
System.out.println("Tid/" + "ID\t 姓名\t年龄\t 工资\t 职位\t 状态\t 奖金\t 股票\t 领用设备");
for (int i = 0; i < employees.size(); i++) {
System.out.println("" + (i+1) + " " + employees.get(i));
}
}
//查看团队
public ArrayList<Programmer[]> getManyTeam() {
for (int i = 0;i<teams.size();i++){
Programmer[] programmers = teams.get(i);
System.out.println("第" + (i + 1) + "个团队:");
for (Programmer programmer : programmers){
System.out.println(programmer);
}
}
return teams;
}
public void getpro(ProjectService projectSer) {
projectService=projectSer;
}
}