上传文件至 src/main/java/co/jp/mamol/myapp/controller
This commit is contained in:
@ -0,0 +1,140 @@
|
||||
package co.jp.mamol.myapp.controller;
|
||||
|
||||
import co.jp.mamol.myapp.common.ApiResponse;
|
||||
import co.jp.mamol.myapp.form.BuyApprovalForm;
|
||||
import co.jp.mamol.myapp.model.SizaiModel;
|
||||
import co.jp.mamol.myapp.model.UserModel;
|
||||
import co.jp.mamol.myapp.service.BuyApprovalService;
|
||||
import jakarta.servlet.http.HttpSession;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api")
|
||||
public class BuyApprovalController {
|
||||
|
||||
private final BuyApprovalService buyApprovalService;
|
||||
|
||||
@Autowired
|
||||
public BuyApprovalController(BuyApprovalService buyApprovalService) {
|
||||
this.buyApprovalService = buyApprovalService;
|
||||
}
|
||||
|
||||
private UserModel getLoginUser(HttpSession session) {
|
||||
|
||||
return (UserModel) session.getAttribute("loginInfo");
|
||||
}
|
||||
|
||||
// M0004,BL2001,DA2001
|
||||
@GetMapping("/approvalList/init")
|
||||
public ResponseEntity<ApiResponse<BuyApprovalForm>> init(HttpSession session){
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"2".equals(user.getRole_class())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
LocalDate endDate = LocalDate.now();
|
||||
LocalDate startDate = endDate.minusMonths(1);
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
String startDateStr = startDate.format(formatter);
|
||||
String endDateStr = endDate.format(formatter);
|
||||
|
||||
List<SizaiModel> sizaiList = buyApprovalService.getDeptRequestList(startDateStr, endDateStr, user.getDepid());
|
||||
BuyApprovalForm buyApprovalForm = new BuyApprovalForm();
|
||||
if (sizaiList == null || sizaiList.isEmpty()) {
|
||||
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("指定期間の購入依頼が登録されていません"));
|
||||
} else {
|
||||
buyApprovalForm.setSizaiList(sizaiList);
|
||||
}
|
||||
buyApprovalForm.setStartDate(startDateStr);
|
||||
buyApprovalForm.setEndDate(endDateStr);
|
||||
return ResponseEntity.ok(ApiResponse.success(buyApprovalForm));
|
||||
}
|
||||
|
||||
// M0004,BL2001,DA2001
|
||||
@PostMapping("/approvalList/search")
|
||||
public ResponseEntity<ApiResponse<BuyApprovalForm>> search(@RequestBody BuyApprovalForm buyApprovalForm, HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"2".equals(user.getRole_class())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
List<SizaiModel> sizaiList = buyApprovalService.getDeptRequestList(buyApprovalForm.getStartDate(), buyApprovalForm.getEndDate(), user.getDepid());
|
||||
if (sizaiList == null || sizaiList.isEmpty()) {
|
||||
|
||||
ResponseEntity.badRequest().body(ApiResponse.fail("指定期間の購入依頼が登録されていません"));
|
||||
} else {
|
||||
buyApprovalForm.setSizaiList(sizaiList);
|
||||
}
|
||||
return ResponseEntity.ok(ApiResponse.success(buyApprovalForm));
|
||||
}
|
||||
|
||||
// M0004,BL2003,DA2003
|
||||
@PostMapping("/approvalList/approval")
|
||||
public ResponseEntity<ApiResponse<BuyApprovalForm>> approval(@RequestBody BuyApprovalForm buyApprovalForm, HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"2".equals(user.getRole_class())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
boolean approval = buyApprovalService.approval(buyApprovalForm.getTargeId());
|
||||
|
||||
if (approval) {
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
String startDateStr = LocalDate.now().minusMonths(1).format(formatter);
|
||||
String endDateStr = LocalDate.now().format(formatter);
|
||||
|
||||
List<SizaiModel> sizaiList = buyApprovalService.getDeptRequestList(startDateStr, endDateStr, user.getDepid());
|
||||
buyApprovalForm.setSizaiList(sizaiList);
|
||||
return ResponseEntity.ok(ApiResponse.success(buyApprovalForm));
|
||||
} else {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("承認できませんでした。"));
|
||||
}
|
||||
}
|
||||
|
||||
// M0004,BL2004,DA2004
|
||||
@PostMapping("/approvalList/reject")
|
||||
public ResponseEntity<ApiResponse<BuyApprovalForm>> reject(@RequestBody BuyApprovalForm buyApprovalForm, HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"2".equals(user.getRole_class())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
boolean reject = buyApprovalService.reject(buyApprovalForm.getTargeId());
|
||||
if (reject) {
|
||||
String startDateStr = buyApprovalForm.getStartDate();
|
||||
String endDateStr = buyApprovalForm.getEndDate();
|
||||
if (startDateStr == null || endDateStr == null) {
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
startDateStr = LocalDate.now().minusMonths(1).format(formatter);
|
||||
endDateStr = LocalDate.now().format(formatter);
|
||||
}
|
||||
|
||||
List<SizaiModel> sizaiList = buyApprovalService.getDeptRequestList(startDateStr, endDateStr, user.getDepid());
|
||||
buyApprovalForm.setSizaiList(sizaiList);
|
||||
return ResponseEntity.ok(ApiResponse.success(buyApprovalForm));
|
||||
} else {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("却下できませんでした。"));
|
||||
}
|
||||
}
|
||||
|
||||
// M0004,BL2002,DA2002
|
||||
@GetMapping("/approvalDetail/init")
|
||||
public ResponseEntity<ApiResponse<BuyApprovalForm>> detail(@RequestParam("targetId") int targetId,HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"2".equals(user.getRole_class())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
BuyApprovalForm buyApprovalForm = new BuyApprovalForm();
|
||||
buyApprovalForm.setTargeId(targetId);
|
||||
buyApprovalForm.setSizai(buyApprovalService.getRequest(targetId));
|
||||
return ResponseEntity.ok(ApiResponse.success(buyApprovalForm));
|
||||
}
|
||||
}
|
@ -0,0 +1,197 @@
|
||||
package co.jp.mamol.myapp.controller;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import co.jp.mamol.myapp.common.ApiResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import co.jp.mamol.myapp.model.CategoryModel;
|
||||
import co.jp.mamol.myapp.model.SizaiModel;
|
||||
import co.jp.mamol.myapp.model.UserModel;
|
||||
import co.jp.mamol.myapp.form.BuyRequestForm;
|
||||
import co.jp.mamol.myapp.service.BuyRequestService;
|
||||
|
||||
import jakarta.servlet.http.HttpSession;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api")
|
||||
public class BuyRequestController {
|
||||
|
||||
private final BuyRequestService buyRequestService;
|
||||
|
||||
@Autowired
|
||||
public BuyRequestController(BuyRequestService buyRequestService) {
|
||||
this.buyRequestService = buyRequestService;
|
||||
}
|
||||
|
||||
private UserModel getLoginUser(HttpSession session) {
|
||||
|
||||
return (UserModel) session.getAttribute("loginInfo");
|
||||
}
|
||||
|
||||
// M0002,BL1003,DA1003
|
||||
@GetMapping("/requestList/init")
|
||||
public ResponseEntity<ApiResponse<BuyRequestForm>> init(HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"1".equals(user.getRole_class())) {
|
||||
return ResponseEntity.status(403).body(ApiResponse.fail("ユーザー情報は取らなかったですので、もう一度ログインしてください。"));
|
||||
}
|
||||
|
||||
LocalDate endDate = LocalDate.now();
|
||||
LocalDate startDate = endDate.minusMonths(1);
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
String startDateStr = startDate.format(formatter);
|
||||
String endDateStr = endDate.format(formatter);
|
||||
|
||||
List<SizaiModel> sizaiList = buyRequestService.getUserRequsetList(startDateStr, endDateStr, user.getId());
|
||||
BuyRequestForm buyRequestForm = new BuyRequestForm();
|
||||
if (sizaiList == null || sizaiList.isEmpty()) {
|
||||
ResponseEntity.badRequest().body(ApiResponse.fail("指定期間の購入依頼が登録されていません"));
|
||||
} else {
|
||||
buyRequestForm.setSizaiList(sizaiList);
|
||||
}
|
||||
buyRequestForm.setStartDate(startDateStr);
|
||||
buyRequestForm.setEndDate(endDateStr);
|
||||
return ResponseEntity.ok(ApiResponse.success(buyRequestForm));
|
||||
}
|
||||
|
||||
// M0002,BL1003,DA1003
|
||||
@PostMapping("/requestList/search")
|
||||
public ResponseEntity<ApiResponse<BuyRequestForm>> search(@RequestBody BuyRequestForm buyRequestForm, HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"1".equals(user.getRole_class())) {
|
||||
return ResponseEntity.status(403).body(ApiResponse.fail("ユーザー情報は取らなかったですので、もう一度ログインしてください。"));
|
||||
}
|
||||
|
||||
List<SizaiModel> sizaiList = buyRequestService.getUserRequsetList(buyRequestForm.getStartDate(), buyRequestForm.getEndDate(), user.getId());
|
||||
if (sizaiList == null || sizaiList.isEmpty()) {
|
||||
ResponseEntity.badRequest().body(ApiResponse.fail("指定期間の購入依頼が登録されていません"));
|
||||
} else {
|
||||
buyRequestForm.setSizaiList(sizaiList);
|
||||
}
|
||||
return ResponseEntity.ok(ApiResponse.success(buyRequestForm));
|
||||
}
|
||||
|
||||
// M0002,BL1006,DA1006
|
||||
@PostMapping("/requestList/delete")
|
||||
public ResponseEntity<ApiResponse<BuyRequestForm>> delete(@RequestBody BuyRequestForm buyRequestForm, HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"1".equals(user.getRole_class())) {
|
||||
return ResponseEntity.status(403).body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
buyRequestService.deleteById(buyRequestForm.getDeleteById());
|
||||
|
||||
String startDateStr = buyRequestForm.getStartDate();
|
||||
String endDateStr = buyRequestForm.getEndDate();
|
||||
if (startDateStr == null || endDateStr == null) {
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
startDateStr = LocalDate.now().minusMonths(1).format(formatter);
|
||||
endDateStr = LocalDate.now().format(formatter);
|
||||
}
|
||||
|
||||
List<SizaiModel> sizaiList = buyRequestService.getUserRequsetList(startDateStr, endDateStr, user.getId());
|
||||
buyRequestForm.setSizaiList(sizaiList);
|
||||
return ResponseEntity.ok(ApiResponse.success(buyRequestForm));
|
||||
}
|
||||
|
||||
// M0001,BL1002,DA1002
|
||||
@GetMapping("/requestRegist/init")
|
||||
public ResponseEntity<ApiResponse<BuyRequestForm>> registInit(HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"1".equals(user.getRole_class())) {
|
||||
return ResponseEntity.status(403).body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
List<CategoryModel> categoryList = buyRequestService.getCategory();
|
||||
BuyRequestForm buyRequestForm = new BuyRequestForm();
|
||||
if (categoryList == null || categoryList.isEmpty()) {
|
||||
ResponseEntity.badRequest().body(ApiResponse.fail("申し訳ございません。今操作出来ません。"));
|
||||
} else {
|
||||
buyRequestForm.setCategoryModelList(categoryList);
|
||||
}
|
||||
return ResponseEntity.ok(ApiResponse.success(buyRequestForm));
|
||||
}
|
||||
|
||||
// M0001,BL1002,DA1002
|
||||
@PostMapping("/requestRegist/regist")
|
||||
public ResponseEntity<ApiResponse<BuyRequestForm>> regist(@RequestBody BuyRequestForm buyRequestForm, HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"1".equals(user.getRole_class())) {
|
||||
ResponseEntity.status(403).body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
return ResponseEntity.ok(ApiResponse.success(buyRequestForm));
|
||||
}
|
||||
|
||||
SizaiModel addSizai = buyRequestForm.getSizai();
|
||||
if (addSizai.getName() == null || addSizai.getName().isEmpty()) {
|
||||
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("資材名を入力してください。"));
|
||||
}
|
||||
if (addSizai.getNum() == 0) {
|
||||
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("数量を入力してください。"));
|
||||
}else if (addSizai.getNum() < 0) {
|
||||
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("数量はマイナスになりません。"));
|
||||
}
|
||||
|
||||
addSizai.setRequest_user_id(user.getId());
|
||||
addSizai.setRequest_dept_id(user.getDepid());
|
||||
buyRequestService.requestRegist(addSizai);
|
||||
|
||||
buyRequestForm.setCategoryModelList(buyRequestService.getCategory());
|
||||
|
||||
return ResponseEntity.ok(ApiResponse.success(buyRequestForm));
|
||||
}
|
||||
|
||||
// M0003,BL1005,DA1005
|
||||
@GetMapping("/requestDetail/init")
|
||||
public ResponseEntity<ApiResponse<BuyRequestForm>> detailInit(@RequestParam("targetId") int targetId, HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"1".equals(user.getRole_class())) {
|
||||
return ResponseEntity.status(403).body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
BuyRequestForm buyRequestForm = new BuyRequestForm();
|
||||
SizaiModel sizaiDetail = buyRequestService.getRequest(targetId);
|
||||
session.setAttribute("sizaiId", Optional.of(sizaiDetail.getId())); // 设置 session 数据
|
||||
buyRequestForm.setSizai(sizaiDetail);
|
||||
buyRequestForm.setCategoryModelList(buyRequestService.getCategory());
|
||||
|
||||
if ("1".equals(sizaiDetail.getStatus()) || "3".equals(sizaiDetail.getStatus())) {
|
||||
buyRequestForm.setModifyFlag(true);
|
||||
} else {
|
||||
buyRequestForm.setModifyFlag(false);
|
||||
ResponseEntity.badRequest().body(ApiResponse.fail("承認済の依頼を変更できません。"));
|
||||
}
|
||||
return ResponseEntity.ok(ApiResponse.success(buyRequestForm));
|
||||
}
|
||||
|
||||
// M0003,BL1005,DA1005
|
||||
@PostMapping("/requestDetail/modify")
|
||||
public ResponseEntity<ApiResponse<BuyRequestForm>> modify(@RequestBody BuyRequestForm buyRequestForm, HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"1".equals(user.getRole_class())) {
|
||||
return ResponseEntity.status(403).body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
int sizaiId = buyRequestForm.getSizai().getId();
|
||||
SizaiModel sizai = buyRequestForm.getSizai();
|
||||
sizai.setId(sizaiId);
|
||||
|
||||
boolean modified = buyRequestService.modifyRequest(sizai);
|
||||
if (modified) {
|
||||
buyRequestForm.setSizai(buyRequestService.getRequest(sizaiId));
|
||||
buyRequestForm.setCategoryModelList(buyRequestService.getCategory());
|
||||
buyRequestForm.setModifyFlag(true);
|
||||
return ResponseEntity.ok(ApiResponse.success(buyRequestForm));
|
||||
} else {
|
||||
return ResponseEntity.ok(ApiResponse.fail("変更できませんでした。"));
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,83 @@
|
||||
package co.jp.mamol.myapp.controller;
|
||||
|
||||
import co.jp.mamol.myapp.common.ApiResponse;
|
||||
import co.jp.mamol.myapp.model.UserModel;
|
||||
import co.jp.mamol.myapp.form.LoginForm;
|
||||
import co.jp.mamol.myapp.service.LoginService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpSession;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api")
|
||||
public class LoginController {
|
||||
|
||||
@Autowired
|
||||
private LoginService loginService;
|
||||
|
||||
@PostMapping("/login")
|
||||
public ResponseEntity<ApiResponse<Map<String, Object>>> login(@RequestBody LoginForm loginForm, HttpServletRequest request) {
|
||||
HttpSession session = request.getSession();
|
||||
|
||||
if (loginForm.getId() == null || loginForm.getId().isEmpty()) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.<Map<String, Object>>fail("ユーザーIDを入力してください。"));
|
||||
} else if (loginForm.getPassword() == null || loginForm.getPassword().isEmpty()) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.<Map<String, Object>>fail("パスワードを入力してください。"));
|
||||
}
|
||||
|
||||
UserModel userModel = loginService.findUser(loginForm.getId());
|
||||
if (userModel == null || !userModel.getPassword().equals(loginForm.getPassword())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.<Map<String, Object>>fail("パスワードまたはユーザーIDが間違っています。"));
|
||||
}
|
||||
|
||||
session.setAttribute("loginInfo", userModel);
|
||||
|
||||
String redirectUrl = switch (userModel.getRole_class()) {
|
||||
case "1" -> "/request";
|
||||
case "2" -> "/approval";
|
||||
case "3" -> "/order";
|
||||
case "4" -> "/inStore";
|
||||
case "5" -> "/systemAdmin";
|
||||
default -> "/error";
|
||||
};
|
||||
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
result.put("redirect", redirectUrl);
|
||||
result.put("user", userModel);
|
||||
return ResponseEntity.ok(ApiResponse.success(result));
|
||||
}
|
||||
|
||||
@GetMapping("/logout")
|
||||
public ResponseEntity<ApiResponse<Void>> logout(HttpServletRequest request) {
|
||||
HttpSession session = request.getSession();
|
||||
session.invalidate();
|
||||
return ResponseEntity.ok(ApiResponse.success(null));
|
||||
}
|
||||
|
||||
@GetMapping("/me")
|
||||
public ResponseEntity<ApiResponse<UserModel>> getCurrentUser(HttpServletRequest request) {
|
||||
HttpSession session = request.getSession(false);
|
||||
String accept = request.getHeader("Accept");
|
||||
|
||||
if (accept == null || !accept.contains("application/json")) {
|
||||
return ResponseEntity.status(403).body(ApiResponse.fail("許可されていません"));
|
||||
}
|
||||
|
||||
if (session == null) {
|
||||
return ResponseEntity.status(401).body(ApiResponse.fail("セッションが無効です"));
|
||||
}
|
||||
|
||||
UserModel user = (UserModel) session.getAttribute("loginInfo");
|
||||
if (user == null) {
|
||||
return ResponseEntity.status(401).body(ApiResponse.fail("ログインが必要です"));
|
||||
}
|
||||
|
||||
return ResponseEntity.ok(ApiResponse.success(user));
|
||||
}
|
||||
}
|
@ -0,0 +1,197 @@
|
||||
package co.jp.mamol.myapp.controller;
|
||||
|
||||
import co.jp.mamol.myapp.common.ApiResponse;
|
||||
import co.jp.mamol.myapp.form.BuyApprovalForm;
|
||||
import co.jp.mamol.myapp.form.OrderDeliverForm;
|
||||
import co.jp.mamol.myapp.model.DepartmentModel;
|
||||
import co.jp.mamol.myapp.model.SizaiModel;
|
||||
import co.jp.mamol.myapp.model.UserModel;
|
||||
import co.jp.mamol.myapp.service.OrderDeliverService;
|
||||
import jakarta.servlet.http.HttpSession;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api")
|
||||
public class OrderDeliverController {
|
||||
|
||||
private final OrderDeliverService orderDeliverService;
|
||||
|
||||
@Autowired
|
||||
public OrderDeliverController(OrderDeliverService orderDeliverService) {
|
||||
this.orderDeliverService = orderDeliverService;
|
||||
}
|
||||
|
||||
private UserModel getLoginUser(HttpSession session) {
|
||||
|
||||
return (UserModel) session.getAttribute("loginInfo");
|
||||
}
|
||||
|
||||
@GetMapping("/order/init")
|
||||
public ResponseEntity<ApiResponse<OrderDeliverForm>> orderInit(HttpSession session){
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"3".equals(user.getRole_class()) || !"5".equals(user.getRole_class())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
List<DepartmentModel> deptList = orderDeliverService.deptList();
|
||||
OrderDeliverForm orderDeliverForm = new OrderDeliverForm();
|
||||
orderDeliverForm.setDeptList(deptList);
|
||||
|
||||
final String DEFAULT_DEPT_ID = "0001";
|
||||
List<SizaiModel> sizaiList = orderDeliverService.approvaleList(DEFAULT_DEPT_ID);
|
||||
orderDeliverForm.setSizaiList(sizaiList);
|
||||
|
||||
if (orderDeliverForm.getSizaiList() == null || orderDeliverForm.getSizaiList().isEmpty()) {
|
||||
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("指定部署の購入資材はありません。"));
|
||||
}else {
|
||||
|
||||
session.setAttribute("deptId", orderDeliverForm.getDeptId());
|
||||
return ResponseEntity.ok(ApiResponse.success(orderDeliverForm));
|
||||
}
|
||||
}
|
||||
|
||||
@PostMapping("/order/search")
|
||||
public ResponseEntity<ApiResponse<OrderDeliverForm>> orderSearch(@RequestBody OrderDeliverForm orderDeliverForm, HttpSession session){
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"3".equals(user.getRole_class()) || !"5".equals(user.getRole_class())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
List<DepartmentModel> deptList = orderDeliverService.deptList();
|
||||
orderDeliverForm.setDeptList(deptList);
|
||||
|
||||
List<SizaiModel> sizaiList = orderDeliverService.approvaleList(orderDeliverForm.getDeptId());
|
||||
orderDeliverForm.setSizaiList(sizaiList);
|
||||
|
||||
if (orderDeliverForm.getSizaiList() == null || orderDeliverForm.getSizaiList().isEmpty()) {
|
||||
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("指定部署の購入資材はありません。"));
|
||||
}else {
|
||||
|
||||
session.setAttribute("deptId", orderDeliverForm.getDeptId());
|
||||
return ResponseEntity.ok(ApiResponse.success(orderDeliverForm));
|
||||
}
|
||||
}
|
||||
|
||||
@PostMapping("/order/act")
|
||||
public ResponseEntity<ApiResponse<OrderDeliverForm>> orderAct(@RequestBody OrderDeliverForm orderDeliverForm, HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"3".equals(user.getRole_class()) || !"5".equals(user.getRole_class())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
String deptIdStr = orderDeliverForm.getDeptId();
|
||||
if (deptIdStr == null || deptIdStr.isBlank()) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("部署IDが指定されていません。"));
|
||||
}
|
||||
|
||||
boolean flag = orderDeliverService.orderAct(orderDeliverForm.getId());
|
||||
|
||||
if (!flag) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("発注失敗しました。"));
|
||||
}else {
|
||||
orderDeliverForm.setDeptId((String) session.getAttribute("deptId"));
|
||||
List<DepartmentModel> deptList = orderDeliverService.deptList();
|
||||
List<SizaiModel> sizaiList = orderDeliverService.approvaleList(orderDeliverForm.getDeptId());
|
||||
|
||||
orderDeliverForm.setDeptList(deptList);
|
||||
orderDeliverForm.setSizaiList(sizaiList);
|
||||
|
||||
return ResponseEntity.ok(ApiResponse.success(orderDeliverForm));
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/delever/init")
|
||||
public ResponseEntity<ApiResponse<OrderDeliverForm>> deleverInit(HttpSession session){
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"3".equals(user.getRole_class()) || !"5".equals(user.getRole_class())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
OrderDeliverForm orderDeliverForm = new OrderDeliverForm();
|
||||
List<DepartmentModel> deptList = orderDeliverService.deptList();
|
||||
orderDeliverForm.setDeptList(deptList);
|
||||
|
||||
final String DEFAULT_DEPT_ID = "0001";
|
||||
List<SizaiModel> sizaiList = orderDeliverService.orderedList(DEFAULT_DEPT_ID);
|
||||
orderDeliverForm.setSizaiList(sizaiList);
|
||||
|
||||
if (orderDeliverForm.getSizaiList() == null || orderDeliverForm.getSizaiList().isEmpty()) {
|
||||
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("指定部署の購入資材はありません。"));
|
||||
}else {
|
||||
|
||||
session.setAttribute("deptId", orderDeliverForm.getDeptId());
|
||||
return ResponseEntity.ok(ApiResponse.success(orderDeliverForm));
|
||||
}
|
||||
}
|
||||
|
||||
@PostMapping("/delever/search")
|
||||
public ResponseEntity<ApiResponse<OrderDeliverForm>> deleverSearch(@RequestBody OrderDeliverForm orderDeliverForm, HttpSession session){
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"3".equals(user.getRole_class()) || !"5".equals(user.getRole_class())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
List<DepartmentModel> deptList = orderDeliverService.deptList();
|
||||
orderDeliverForm.setDeptList(deptList);
|
||||
|
||||
List<SizaiModel> sizaiList = orderDeliverService.orderedList(orderDeliverForm.getDeptId());
|
||||
orderDeliverForm.setSizaiList(sizaiList);
|
||||
|
||||
if (orderDeliverForm.getSizaiList() == null || orderDeliverForm.getSizaiList().isEmpty()) {
|
||||
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("指定部署の購入資材はありません。"));
|
||||
}else {
|
||||
|
||||
session.setAttribute("deptId", orderDeliverForm.getDeptId());
|
||||
return ResponseEntity.ok(ApiResponse.success(orderDeliverForm));
|
||||
}
|
||||
}
|
||||
|
||||
@PostMapping("/delever/act")
|
||||
public ResponseEntity<ApiResponse<OrderDeliverForm>> deleverAct(@RequestBody OrderDeliverForm orderDeliverForm, HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"3".equals(user.getRole_class()) || !"5".equals(user.getRole_class())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
String deptIdStr = orderDeliverForm.getDeptId();
|
||||
if (deptIdStr == null || deptIdStr.isBlank()) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("部署IDが指定されていません。"));
|
||||
}
|
||||
|
||||
boolean flag = orderDeliverService.deleverAct(orderDeliverForm.getId());
|
||||
|
||||
if (!flag) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("納品失敗しました。"));
|
||||
}else {
|
||||
orderDeliverForm.setDeptId((String) session.getAttribute("deptId"));
|
||||
List<DepartmentModel> deptList = orderDeliverService.deptList();
|
||||
List<SizaiModel> sizaiList = orderDeliverService.orderedList(orderDeliverForm.getDeptId());
|
||||
|
||||
orderDeliverForm.setDeptList(deptList);
|
||||
orderDeliverForm.setSizaiList(sizaiList);
|
||||
|
||||
return ResponseEntity.ok(ApiResponse.success(orderDeliverForm));
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/delever/qr")
|
||||
public ResponseEntity<ApiResponse<OrderDeliverForm>> qrCode(@RequestParam("id") int id,HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"3".equals(user.getRole_class()) || !"5".equals(user.getRole_class())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
OrderDeliverForm orderDeliverForm = new OrderDeliverForm();
|
||||
orderDeliverForm.setId(id);
|
||||
|
||||
return ResponseEntity.ok(ApiResponse.success(orderDeliverForm));
|
||||
}
|
||||
}
|
149
src/main/java/co/jp/mamol/myapp/controller/StoreController.java
Normal file
149
src/main/java/co/jp/mamol/myapp/controller/StoreController.java
Normal file
@ -0,0 +1,149 @@
|
||||
package co.jp.mamol.myapp.controller;
|
||||
|
||||
import co.jp.mamol.myapp.common.ApiResponse;
|
||||
import co.jp.mamol.myapp.form.StoreForm;
|
||||
import co.jp.mamol.myapp.model.SizaiModel;
|
||||
import co.jp.mamol.myapp.model.SoukoModel;
|
||||
import co.jp.mamol.myapp.model.UserModel;
|
||||
import co.jp.mamol.myapp.service.StoreService;
|
||||
import jakarta.servlet.http.HttpSession;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api")
|
||||
public class StoreController {
|
||||
|
||||
private final StoreService storeService;
|
||||
|
||||
@Autowired
|
||||
public StoreController(StoreService storeService) {
|
||||
this.storeService = storeService;
|
||||
}
|
||||
|
||||
private UserModel getLoginUser(HttpSession session) {
|
||||
|
||||
return (UserModel) session.getAttribute("loginInfo");
|
||||
}
|
||||
|
||||
@GetMapping("/inStore/init")
|
||||
public ResponseEntity<ApiResponse<StoreForm>> inStoreInit(HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"4".equals(user.getRole_class())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
StoreForm storeForm = new StoreForm();
|
||||
return ResponseEntity.ok(ApiResponse.success(storeForm));
|
||||
}
|
||||
|
||||
@PostMapping("/inStore/search")
|
||||
public ResponseEntity<ApiResponse<StoreForm>> inStoreSearch(@RequestBody StoreForm storeForm, HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"4".equals(user.getRole_class())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
SizaiModel sizai = new SizaiModel();
|
||||
sizai = storeService.getSizaiById(storeForm.getId());
|
||||
if (sizai == null || storeForm.getId() == 0) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("資材存在しません。"));
|
||||
}
|
||||
|
||||
storeForm.setSizai(sizai);
|
||||
List<SoukoModel> soukoList = storeService.getSoukoList();
|
||||
storeForm.setSoukoList(soukoList);
|
||||
|
||||
if (soukoList == null || soukoList.size() == 0) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("倉庫リスト取得失敗しました。"));
|
||||
}
|
||||
|
||||
return ResponseEntity.ok(ApiResponse.success(storeForm));
|
||||
}
|
||||
|
||||
@PostMapping("/inStore/act")
|
||||
public ResponseEntity<ApiResponse<StoreForm>> inStoreAct(@RequestBody StoreForm storeForm,HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"4".equals(user.getRole_class())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
if (!"5".equals(storeForm.getSizai().getStatus())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("資材の状態は「納品済」ではないため、入庫できません。"));
|
||||
}else {
|
||||
boolean inStoreFlag = storeService.inStoreAct(storeForm.getSizai());
|
||||
if (!inStoreFlag) {
|
||||
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("入庫失敗しました。"));
|
||||
}
|
||||
}
|
||||
|
||||
SizaiModel sizai = storeService.getSizaiById(storeForm.getSizai().getId());
|
||||
storeForm.setSizai(sizai);
|
||||
return ResponseEntity.ok(ApiResponse.success(storeForm));
|
||||
}
|
||||
|
||||
@GetMapping("/outStore/init")
|
||||
public ResponseEntity<ApiResponse<StoreForm>> outStoreInit(HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"4".equals(user.getRole_class())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
StoreForm storeForm = new StoreForm();
|
||||
return ResponseEntity.ok(ApiResponse.success(storeForm));
|
||||
}
|
||||
|
||||
@PostMapping("/outStore/search")
|
||||
public ResponseEntity<ApiResponse<StoreForm>> outStoreSearch(@RequestBody StoreForm storeForm, HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"4".equals(user.getRole_class())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
SizaiModel sizai = new SizaiModel();
|
||||
sizai = storeService.getSizaiById(storeForm.getId());
|
||||
if (sizai == null || storeForm.getId() == 0) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("資材存在しません。"));
|
||||
}
|
||||
|
||||
storeForm.setSizai(sizai);
|
||||
List<SoukoModel> soukoList = storeService.getSoukoList();
|
||||
storeForm.setSoukoList(soukoList);
|
||||
|
||||
if (soukoList == null || soukoList.size() == 0) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("倉庫リスト取得失敗しました。"));
|
||||
}
|
||||
|
||||
return ResponseEntity.ok(ApiResponse.success(storeForm));
|
||||
}
|
||||
|
||||
@PostMapping("/outStore/act")
|
||||
public ResponseEntity<ApiResponse<StoreForm>> outStoreAct(@RequestBody StoreForm storeForm,HttpSession session) {
|
||||
UserModel user = getLoginUser(session);
|
||||
if (user == null || !"4".equals(user.getRole_class())) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("ログイン情報が無効です。再度ログインしてください。"));
|
||||
}
|
||||
|
||||
if (!"6".equals(storeForm.getSizai().getStatus())) {
|
||||
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("資材の状態は「入庫済」ではないため、出庫できません。"));
|
||||
} else {
|
||||
|
||||
boolean outStoreFlag = storeService.outStoreAct(storeForm.getSizai());
|
||||
if (!outStoreFlag) {
|
||||
|
||||
return ResponseEntity.badRequest().body(ApiResponse.fail("出庫失敗しました。"));
|
||||
}
|
||||
}
|
||||
|
||||
SizaiModel sizai = storeService.getSizaiById(storeForm.getSizai().getId());
|
||||
storeForm.setSizai(sizai);
|
||||
|
||||
return ResponseEntity.ok(ApiResponse.success(storeForm));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user