Files
No1WMS/src/main/java/com/no1/wms/stock/StockController.java
sungsu 056e39dedc #update
/stock/create.jsp
/warehouse/create.jsp
/stock/list.jsp
/warehouse/list.jsp
/warehouse/read.jsp
StockController.java
StockDto.java
StockMapper.xml
StockMapper.java
StockService.java
VendorDto.java
WarehouseMapper.xml
WarehouseController.java

#insert

/vendor/create.jsp
/vendor/list.jsp
product_category_company_search.jsp
/stock/read.jsp
/vendor/read.jsp
/stock/update.jsp
/vendor/update.jsp
VendorController.java
VendorMapper.java
VendorMapper.xml
VendorService.java
warehouse_capacity_currentCapacity.jsp
2024-01-15 23:50:25 +09:00

224 lines
6.0 KiB
Java

package com.no1.wms.stock;
import com.no1.wms.vendor.VendorDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import java.util.List;
import java.util.Map;
@Controller
@Slf4j
@RequestMapping("/stock")
public class StockController {
@Autowired
StockService service;
// 탭 1 재고 리스트 출력
@GetMapping("/list")
public String list(@RequestParam(name = "searchn", defaultValue = "0") int searchn,
@RequestParam(name = "search", defaultValue = "") String search,
@RequestParam(name = "p", defaultValue = "1") int page, Model m) {
int count = service.count(searchn, search);
int perPage = 10; // 한 페이지에 보일 글의 갯수
int startRow = (page - 1) * perPage;
//스톡서비스로 재고 리스트 출력 메서트 작성
List<Map<String, Object>> dto = service.list(searchn, search, startRow ,perPage);
m.addAttribute("slist", dto);
m.addAttribute("start", startRow + 1);
int pageNum = 5;//보여질 페이지 번호 수
int totalPages = count / perPage + (count % perPage > 0 ? 1 : 0); // 전체 페이지 수
int begin = (page - 1) / pageNum * pageNum + 1;
int end = begin + pageNum - 1;
if (end > totalPages) {
end = totalPages;
}
m.addAttribute("searchn", searchn);
m.addAttribute("search", search);
m.addAttribute("begin", begin);
m.addAttribute("end", end);
m.addAttribute("pageNum", pageNum);
m.addAttribute("totalPages", totalPages);
m.addAttribute("p" , page);
return "stock/list";
}
// 탭 2 재고 리스트 출력
@GetMapping("/list2")
public String list2(@RequestParam(name = "searchn", defaultValue = "0") int searchn,
@RequestParam(name = "search", defaultValue = "") String search,
@RequestParam(name = "p2", defaultValue = "1") int page, Model m) {
int count = service.count(searchn, search);
int perPage = 10; // 한 페이지에 보일 글의 갯수
int startRow = (page - 1) * perPage;
//스톡서비스로 재고 리스트 출력 메서트 작성
List<Map<String, Object>> dto = service.list(searchn, search, startRow ,perPage);
m.addAttribute("slist2", dto);
m.addAttribute("start2", startRow + 1);
int pageNum = 5;//보여질 페이지 번호 수
int totalPages = count / perPage + (count % perPage > 0 ? 1 : 0); // 전체 페이지 수
int begin = (page - 1) / pageNum * pageNum + 1;
int end = begin + pageNum - 1;
if (end > totalPages) {
end = totalPages;
}
m.addAttribute("searchn2", searchn);
m.addAttribute("search2", search);
m.addAttribute("begin2", begin);
m.addAttribute("end2", end);
m.addAttribute("pageNum2", pageNum);
m.addAttribute("totalPages2", totalPages);
m.addAttribute("p2" , page);
return "stock/list";
}
// 재고 상세페이지
@PostMapping("/read")
public String read(@RequestParam String id, Model m) {
//스톡서비스로 재고 상세페이지 출력 메서드 작성
Map<String, Object> dto = service.stockOne(id);
m.addAttribute("dto", dto);
return "stock/read";
}
// 수정 - 폼
@PostMapping("/update")
public String update(String id, Model m) {
Map<String, Object> dto = service.stockOne(id);
m.addAttribute("dto", dto);
return "stock/update";
}
// 수정 프로세스
@PutMapping("/update_process")
@ResponseBody
public boolean updateProcess(StockDto dto) {
int i = service.updateStock(dto);
if (i == 1) {
service.updateWarehouse(dto);
return true;
} else {
return false;
}
}
// 생성 폼
@PostMapping("/create")
public String create() {
return "stock/create";
}
// 생성 - Ajax
@PostMapping("/create_process")
@ResponseBody
public boolean createProcess(StockDto dto) {
int i = service.createStock(dto);
if (i != 0) {
service.updateWarehousePlus(dto);
return true;
} else {
return false;
}
}
// 삭제
@DeleteMapping("/delete")
@ResponseBody
public int delete(StockDto dto) {
System.out.println("데이터 :: " + dto);
int i = service.deleteStock(dto);
service.updateWarehouseDeleteStock(dto);
return i;
}
@PostMapping("/show_modal")
public ModelAndView showModal(@RequestParam(name = "searchn", defaultValue = "0") int searchn,
@RequestParam(name = "search", defaultValue = "") String search,
@RequestParam(name = "p", defaultValue = "1") int page,
@RequestParam String name, ModelAndView mav){
int perPage = 5; // 한 페이지에 보일 글의 갯수
int startRow = (page - 1) * perPage;
List<Map<String, Object>> list = null;
int count = 0;
//테스트
System.out.println("name : " + name);
System.out.println("list : " + list);
System.out.println("count : " + count);
System.out.println("mav : " + mav);
//테스트
// 모달 선택
if(name.equals("product_category_company_search")){
list = service.productSelect(searchn, search, startRow, perPage);
count = service.productCount(searchn, search);
}else if(name.equals("warehouse_capacity_currentCapacity")) {
list = service.warehousesSelect(searchn, search, startRow, perPage);
count = service.warehouseCount(searchn, search);
}
mav.addObject("list", list);
mav.addObject("start", startRow + 1);
int pageNum = 5;//보여질 페이지 번호 수
int totalPages = count / perPage + (count % perPage > 0 ? 1 : 0); // 전체 페이지 수
int begin = (page - 1) / pageNum * pageNum + 1;
int end = begin + pageNum - 1;
if (end > totalPages) {
end = totalPages;
}
mav.addObject("begin", begin);
mav.addObject("end", end);
mav.addObject("pageNum", pageNum);
mav.addObject("totalPages", totalPages);
mav.addObject("p" , page);
mav.setViewName(name);
//테스트
System.out.println("name : " + name);
System.out.println("list : " + list);
System.out.println("count : " + count);
System.out.println("mav : " + mav);
//테스트
return mav;
}
}