Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a7162f1b2e | |||
| e4cf7bed2e |
@@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="lib" path="実行例/em_oop.jar"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +0,0 @@
|
||||
/bin/
|
||||
23
.project
23
.project
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>development-empmanager</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.wst.validation.validationbuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
|
||||
<classpathentry kind="src" path=""/>
|
||||
<classpathentry kind="output" path=""/>
|
||||
</classpath>
|
||||
@@ -1 +0,0 @@
|
||||
org.eclipse.wst.jsdt.launching.JRE_CONTAINER
|
||||
@@ -1 +0,0 @@
|
||||
Global
|
||||
@@ -1,4 +1,3 @@
|
||||
09,代表取締役
|
||||
10,役員
|
||||
11,人事・総務部
|
||||
12,経理部
|
||||
|
||||
|
@@ -8,4 +8,3 @@
|
||||
10007,葉山稔,ハヤマミノル,mhayama@hoge.jp,hhh,14
|
||||
10008,川上朱里,カワカミアカリ,kawakami@hoge.jp,iii,14
|
||||
10009,杉井肇,スギイハジメ,sugi@hoge.jp,jjj,15
|
||||
10010,瓦昂世,カワラコウセイ,kawara@hoge.jp,kkk,09
|
||||
|
||||
|
@@ -1,114 +0,0 @@
|
||||
package com.rhizome.example.access;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.rhizome.example.data.BaseData;
|
||||
import com.rhizome.example.data.DepartmentData;
|
||||
|
||||
public class DepartmentAccess extends BaseAccess{
|
||||
private static final String DEPDATA_FILEPATH = "file/DepartmentData.csv";
|
||||
public DepartmentAccess() {
|
||||
super(DEPDATA_FILEPATH);
|
||||
}
|
||||
@Override
|
||||
public List<BaseData> selectById(String key) throws FileNotFoundException {
|
||||
//全件データ
|
||||
List<BaseData> allList = new ArrayList<>();
|
||||
|
||||
//取得用リスト(CSV形式)
|
||||
List<String> csvList = readData();
|
||||
|
||||
for (String line : csvList) {
|
||||
DepartmentData department = new DepartmentData();
|
||||
String[] columns = line.split(",");
|
||||
department.setIdDepartment(columns[0]);
|
||||
department.setNmDepartment(columns[1]);
|
||||
|
||||
allList.add(department);
|
||||
}
|
||||
//IDでの抽出データ
|
||||
List<BaseData> selectList = new ArrayList<>();
|
||||
|
||||
for (BaseData department : allList) {
|
||||
if (department.getPrimaryKeyValue().equals(key)) {
|
||||
selectList.add(department);
|
||||
}
|
||||
}
|
||||
|
||||
return selectList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insert(BaseData data) throws IOException {
|
||||
//CSVファイルに追記する
|
||||
addData(data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(BaseData updateData) throws IOException {
|
||||
//更新後データリスト
|
||||
List<BaseData> updatedList = new ArrayList<>();
|
||||
|
||||
//全件取得し、更新データを反映する
|
||||
List<BaseData> allList = new ArrayList<>();
|
||||
|
||||
//取得用リスト(CSV形式)
|
||||
List<String> csvList = readData();
|
||||
|
||||
for (String line : csvList) {
|
||||
DepartmentData department = new DepartmentData();
|
||||
String[] columns = line.split(",");
|
||||
department.setIdDepartment(columns[0]);
|
||||
department.setNmDepartment(columns[1]);
|
||||
|
||||
allList.add(department);
|
||||
}
|
||||
|
||||
for (BaseData department : allList) {
|
||||
if(department.getPrimaryKeyValue().equals(updateData.getPrimaryKeyValue())) {
|
||||
//指定されたデータとキーが一致するデータの場合、更新データを設定
|
||||
updatedList.add(updateData);
|
||||
} else {
|
||||
//上記以外は取得したデータをそのまま設定
|
||||
updatedList.add(department);
|
||||
}
|
||||
}
|
||||
//ファイル上書き処理
|
||||
updateData(updatedList);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delete(String key) throws IOException {
|
||||
//全件から削除データを除いたリスト
|
||||
List<BaseData> deletedList = new ArrayList<>();
|
||||
|
||||
//全件取得し、keyに該当するデータをリストから削除する
|
||||
//全件データ
|
||||
List<BaseData> allList = new ArrayList<>();
|
||||
|
||||
//取得用リスト(CSV形式)
|
||||
List<String> csvList = readData();
|
||||
|
||||
for (String line : csvList) {
|
||||
DepartmentData department = new DepartmentData();
|
||||
String[] columns = line.split(",");
|
||||
department.setIdDepartment(columns[0]);
|
||||
department.setNmDepartment(columns[1]);
|
||||
|
||||
allList.add(department);
|
||||
}
|
||||
|
||||
for (BaseData department : allList) {
|
||||
if(!department.getPrimaryKeyValue().equals(key)) {
|
||||
deletedList.add(department);
|
||||
}
|
||||
}
|
||||
//ファイル上書き処理
|
||||
updateData(deletedList);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
package com.rhizome.example.data;
|
||||
|
||||
public class DepartmentData extends BaseData {
|
||||
/** 部署ID */
|
||||
private String idDepartment;
|
||||
/** 部署名 */
|
||||
private String nmDepartment;
|
||||
|
||||
/**
|
||||
* @return 部署ID
|
||||
*/
|
||||
public String getIdDepartment() {
|
||||
return idDepartment;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param idDepartment 部署ID
|
||||
*/
|
||||
public void setIdDepartment(String idDepartment) {
|
||||
this.idDepartment = idDepartment;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return 部署名
|
||||
*/
|
||||
public String getNmDepartment() {
|
||||
return nmDepartment;
|
||||
}
|
||||
/**
|
||||
* @param ndDepartment 部署名
|
||||
*/
|
||||
public void setNmDepartment(String nmDepartment) {
|
||||
this.nmDepartment = nmDepartment;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
return getIdDepartment() + "\t" + getNmDepartment();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toCSV() {
|
||||
return getIdDepartment() + "," + getNmDepartment();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPrimaryKeyValue() {
|
||||
return idDepartment;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,16 +1,12 @@
|
||||
package com.rhizome.example.main;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Scanner;
|
||||
|
||||
import com.rhizome.example.access.DepartmentAccess;
|
||||
import com.rhizome.example.access.EmployeeAccess;
|
||||
import com.rhizome.example.data.BaseData;
|
||||
import com.rhizome.example.data.DepartmentData;
|
||||
import com.rhizome.example.data.EmployeeData;
|
||||
|
||||
public class Main {
|
||||
@@ -25,13 +21,12 @@ public class Main {
|
||||
System.out.println("システムを開始します");
|
||||
while (true) {
|
||||
try {
|
||||
new Main().Start();
|
||||
new Main().start();
|
||||
} catch (Exception e) {
|
||||
System.out.println("予期せぬエラーが発生しました");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -39,14 +34,14 @@ public class Main {
|
||||
* @throws IOException
|
||||
*
|
||||
*/
|
||||
public void Start() throws IOException {
|
||||
public void start() throws IOException {
|
||||
System.out.println();
|
||||
System.out.println("1:検索 2:登録 3:更新 4:削除 9:データ切り替え 0:終了 (管理対象:Employee)");
|
||||
System.out.println("1:検索 2:登録 3:更新 4:削除 0:終了");
|
||||
String ope = sc.nextLine();
|
||||
|
||||
switch (ope) {
|
||||
case "1": //検索 ←変えたとこ
|
||||
empDivide();
|
||||
case "1": //検索
|
||||
empSelect();
|
||||
break;
|
||||
case "2": //登録
|
||||
empInsert();
|
||||
@@ -57,143 +52,15 @@ public class Main {
|
||||
case "4": //削除
|
||||
empDelete();
|
||||
break;
|
||||
case "9": //切り替え ←追加したとこ
|
||||
Change();
|
||||
break;
|
||||
case "0": //終了
|
||||
case "0": //修了
|
||||
System.out.println("システムを終了します");
|
||||
System.exit(0);
|
||||
break;
|
||||
default:
|
||||
System.out.println("指定の番号を入力してください");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//自分がつくったところ 部署のデータ
|
||||
public void departmentStart() throws IOException {
|
||||
System.out.println();
|
||||
System.out.println("1:検索 2:登録 3:更新 4:削除 9:データ切り替え 0:終了 (管理対象:Department)");
|
||||
String ope = sc.nextLine();
|
||||
|
||||
switch (ope) {
|
||||
case "1": //検索 おかしい
|
||||
depDivide();
|
||||
break;
|
||||
case "2": //登録 おけ
|
||||
depInsert();
|
||||
break;
|
||||
case "3": //更新 おけ
|
||||
depUpdate();
|
||||
break;
|
||||
case "4": //削除 おかしい
|
||||
depDelete();
|
||||
break;
|
||||
case "9": //切り替え おけ
|
||||
Change();
|
||||
break;
|
||||
case "0": //終了 おけ
|
||||
System.out.println("システムを終了します");
|
||||
System.exit(0);
|
||||
break;
|
||||
default:
|
||||
System.out.println("指定の番号を入力してください");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//自分がつくったところ データ切り替えるか確認するばしょ
|
||||
public void Change() throws IOException {
|
||||
System.out.println();
|
||||
System.out.println("データを切り替えますか?");
|
||||
System.out.println("1:部署データへ 2:社員データへ 0:終了");
|
||||
String ope = sc.nextLine();
|
||||
|
||||
switch (ope) {
|
||||
case "1": //部署データに切り替える おけ
|
||||
departmentStart();
|
||||
break;
|
||||
case "2": //社員データに戻る おけ
|
||||
Start();
|
||||
break;
|
||||
case "0": //終了
|
||||
System.out.println("システムを終了します");
|
||||
System.exit(0);
|
||||
break;
|
||||
default:
|
||||
System.out.println("指定の番号を入力してください");
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//自分がつくったところ 全検索か条件検索か
|
||||
public void empDivide() throws IOException {
|
||||
System.out.println();
|
||||
System.out.println("1:全検索 2:条件検索 それ以外:戻る");
|
||||
String ope = sc.nextLine();
|
||||
|
||||
switch (ope) {
|
||||
case "1": //全検索 おけ
|
||||
empExportcsv();
|
||||
break;
|
||||
case "2": //条件検索 おけ
|
||||
empSelect();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//自分がつくったところ 部署 全検索か 条件検索か
|
||||
public void depDivide() throws IOException {
|
||||
System.out.println();
|
||||
System.out.println("1:全検索 2:条件検索 それ以外:戻る");
|
||||
String ope = sc.nextLine();
|
||||
|
||||
switch (ope) {
|
||||
case "1": //全検索 おけ
|
||||
depExportcsv();
|
||||
break;
|
||||
case "2": //条件検索 おけ
|
||||
depSelect();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//自分がつくったとこ csv指定して出力
|
||||
public void empExportcsv() throws IOException {
|
||||
|
||||
try (BufferedReader reader = new BufferedReader(new FileReader("file/EmployeeData.csv"))) {
|
||||
String line;
|
||||
|
||||
while ((line = reader.readLine()) != null) {
|
||||
String formatted = line.replace(",", " ");
|
||||
System.out.println(formatted);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//自分がつくったとこ 部署csv指定して出力
|
||||
public void depExportcsv() throws IOException {
|
||||
|
||||
try (BufferedReader reader = new BufferedReader(new FileReader("file/DepartmentData.csv"))) {
|
||||
String line;
|
||||
|
||||
while ((line = reader.readLine()) != null) {
|
||||
String formatted = line.replace(",", " ");
|
||||
System.out.println(formatted);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 社員ファイルから情報を検索する
|
||||
*
|
||||
@@ -216,29 +83,6 @@ public class Main {
|
||||
for (BaseData employee : list) {
|
||||
System.out.println(employee.toString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//自分がつくったところ 部署ファイルから情報検索
|
||||
public void depSelect() throws FileNotFoundException {
|
||||
DepartmentAccess da = new DepartmentAccess();
|
||||
List<BaseData> list;
|
||||
|
||||
//IDの入力および入力チェック
|
||||
String id = inputCheck("ID", true);
|
||||
//idに一致する社員データ取得
|
||||
list = da.selectById(id);
|
||||
|
||||
if (list.size() == 0) { //取得結果が0件の場合
|
||||
System.out.println("入力された値で情報がみつかりませんでした");
|
||||
}
|
||||
|
||||
//取得結果件数分、データをタブ区切りで出力する
|
||||
for (BaseData department : list) {
|
||||
System.out.println(department.toString());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -270,23 +114,6 @@ public class Main {
|
||||
System.out.println("登録が完了しました");
|
||||
}
|
||||
|
||||
//自分がつくったところ 部署ファイルに情報登録
|
||||
public void depInsert() throws IOException {
|
||||
//各項目の入力および入力チェック処理
|
||||
String id = inputCheck("部署ID", true);
|
||||
String name = inputCheck("部署名", false);
|
||||
|
||||
//部署データインスタンスを生成し、入力値を設定
|
||||
DepartmentData department = new DepartmentData();
|
||||
department.setIdDepartment(id);
|
||||
department.setNmDepartment(name);
|
||||
|
||||
DepartmentAccess da = new DepartmentAccess();
|
||||
//ファイルデータ追加処理
|
||||
da.insert(department);
|
||||
System.out.println("登録が完了しました");
|
||||
}
|
||||
|
||||
/**
|
||||
* 社員ファイルの情報を更新する
|
||||
*
|
||||
@@ -324,29 +151,6 @@ public class Main {
|
||||
System.out.println("更新が完了しました");
|
||||
}
|
||||
|
||||
//自分が作ったところ 部署データアップデート
|
||||
public void depUpdate() throws IOException {
|
||||
DepartmentAccess da = new DepartmentAccess();
|
||||
//入力チェック
|
||||
String id = inputCheck("部署ID", true);
|
||||
//存在チェック
|
||||
if (da.selectById(id).size() == 0) {
|
||||
System.out.println("入力された値で情報がみつかりませんでした");
|
||||
return;
|
||||
}
|
||||
|
||||
//名前入力チェック
|
||||
String name = inputCheck("部署名", false);
|
||||
DepartmentData department = new DepartmentData();
|
||||
department.setIdDepartment(id);
|
||||
department.setNmDepartment(name);
|
||||
|
||||
//ファイルデータ更新処理
|
||||
da.update(department);
|
||||
System.out.println("更新が完了しました");
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 社員ファイルの情報を削除する
|
||||
*
|
||||
@@ -362,7 +166,7 @@ public class Main {
|
||||
System.out.println("入力された値で情報がみつかりませんでした");
|
||||
return;
|
||||
}
|
||||
System.out.println("指定されたIDの情報を削除しますか? Y/y");
|
||||
System.out.println("指定されたIDの情報を削除します? Y/y");
|
||||
System.out.println("(Y/y以外の入力であればキャンセル)");
|
||||
String yY = sc.nextLine();
|
||||
if (!"y".equals(yY) && !"Y".equals(yY)) {
|
||||
@@ -374,30 +178,6 @@ public class Main {
|
||||
System.out.println("削除が完了しました");
|
||||
}
|
||||
|
||||
//自分がつくったところ 部署データ削除
|
||||
public void depDelete() throws IOException {
|
||||
DepartmentAccess da = new DepartmentAccess();
|
||||
//入力チェック
|
||||
String id = inputCheck("部署ID", true);
|
||||
//存在チェック
|
||||
if (da.selectById(id).size() == 0) {
|
||||
System.out.println("入力された値で情報がみつかりませんでした");
|
||||
return;
|
||||
}
|
||||
System.out.println("指定されたIDの情報を削除しますか? Y/y");
|
||||
System.out.println("(Y/y以外の入力であればキャンセル)");
|
||||
String yY = sc.nextLine();
|
||||
if (!"y".equals(yY) && !"Y".equals(yY)) {
|
||||
System.out.println("削除をキャンセルしました");
|
||||
return;
|
||||
}
|
||||
|
||||
//ファイルデータ削除処理
|
||||
da.delete(id);
|
||||
System.out.println("削除が完了しました");
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 入力値を判定し、返却する
|
||||
*
|
||||
@@ -428,5 +208,4 @@ public class Main {
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user