planin 작업 완료

This commit is contained in:
Suh
2024-01-19 18:15:59 +09:00
parent 7dd68da7d2
commit 7aed18a27c
12 changed files with 590 additions and 48 deletions

View File

@@ -8,6 +8,9 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
import com.no1.wms.account.AccountDto;
import com.no1.wms.utils.ConstantValues;
import com.no1.wms.utils.Utils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
@@ -16,6 +19,8 @@ import org.springframework.web.servlet.ModelAndView;
import com.no1.wms.product.ProductDto;
import com.no1.wms.product.ProductService;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Controller
@@ -42,6 +47,17 @@ public class PlanInController {
//스톡서비스로 재고 리스트 출력 메서트 작성
List<PlanInDto> list = planinservice.selectAll(searchn, search, startRow, perPage);
HashMap<String, Integer> map = new HashMap<>();
for( int i = 0 ; i < list.size(); ++i){
PlanInDto obj = list.get(i);
String name = obj.getProductDto().getName();
if(map.containsKey(name)){
map.put(name, map.get(name)+1);
}else{
map.put(name, 1);
}
}
int begin = (page - 1) / pageNum * pageNum + 1;
int end = begin + pageNum - 1;
@@ -49,6 +65,7 @@ public class PlanInController {
end = totalPages;
}
mav.addObject("list", list);
mav.addObject("map", map);
mav.addObject("end", end);
mav.addObject("searchn", searchn);
mav.addObject("search", search);
@@ -67,29 +84,43 @@ public class PlanInController {
System.out.println(list.get(0).toString());
mav.addObject("list", list);
mav.addObject("groupNum", dto.getGroupNumber());
mav.setViewName("planin/read");
return mav;
}
@PostMapping("/update")
public ModelAndView update(PlanInDto dto, ModelAndView mav){
List<PlanInDto> list = planinservice.selectById(dto);
mav.addObject("list", list);
mav.addObject("groupNumber", dto.getGroupNumber());
mav.addObject("viewGroupNumber", list.get(0).getViewGroupNumber());
mav.setViewName("/planin/update");
return mav;
}
@PostMapping("/create")
public ModelAndView create(ModelAndView mav){
mav.addObject("groupNumber",UUID.randomUUID().toString() );
mav.setViewName("/planin/create");
return mav;
}
// 엑셀 다운로드
@GetMapping("/qr/{id}")
public String qr(@PathVariable("id")String id)
@ResponseBody
public String qr(@PathVariable("id")String id, HttpServletResponse response)
{
return "";
List<PlanInDto> list = planinservice.selectByUrl(id);
Utils.makePlanInExcel(list, response);
return "s";
}
// 입고예정추가
@@ -122,31 +153,66 @@ public class PlanInController {
return mav;
}
@PostMapping("/delete")
public ModelAndView delete(ModelAndView mav, PlanInDto dto)
{
planinservice.delete(dto);
List<PlanInDto> list = planinservice.selectAll(0,"",0,10000 );
mav.addObject("list", list);
mav.setViewName("planin/list");
return mav;
}
@PostMapping("/planin_update_process")
@ResponseBody
public String updateProcess(@RequestBody List<Map<String, Object>> list, Gson gson, PlanInDto dto) throws JsonProcessingException, ParseException {
public String updateProcess(@RequestBody List<Map<String, Object>> list, Gson gson, PlanInDto dto, HttpServletRequest request) throws ParseException {
if(list.isEmpty())
return gson.toJson("f");
AccountDto aDto =(AccountDto)request.getSession().getAttribute("userData");
dto.setGroupNumber((String) list.get(0).get("groupNumber"));
Integer viewGroupNumber = null;
try {
viewGroupNumber = Integer.parseInt((String) list.get(0).get("viewGroupNumber"));
}catch (NumberFormatException e){
viewGroupNumber = null;
}
String uuid;
planinservice.deleteById(dto);
if(dto.getGroupNumber() == null){
uuid = UUID.randomUUID().toString();
}else{
uuid = dto.getGroupNumber();
}
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
for(int i = 0; i < list.size(); ++i){
Map<String, Object> data = list.get(i);
PlanInDto newDto = new PlanInDto();
newDto.setGroupNumber(uuid);
newDto.setGroupNumber((String) data.get("groupNumber"));
newDto.setDate( format.parse((String) data.get("date")));
newDto.setQuantity((Integer) data.get("quantity"));
newDto.setQuantity(Integer.parseInt((String) data.get("quantity")));
newDto.setProductId((String)data.get("productId"));
newDto.setManagerId(aDto.getId());
newDto.setWarehouseId("5d201e83-b102-11ee-935d-0242ac110006");
newDto.setViewGroupNumber(viewGroupNumber);
newDto.setActivation(true);
planinservice.insert(newDto);
}
return gson.toJson("s");
}
}