앞선 포스팅에서 로트가 여러 개인 행의 Name값은 뒤에 숫자를 붙여 컨트롤러로 보냈었다.
https://comebackworld.tistory.com/63
Controller에서 그 값들을 처리하는 방식에 대해 포스팅을 하겠다.
뒤에 숫자가 붙어 넘어온 파라미터 값들을 배열로 처리하는 방식을 택했다.
배열을 사용하여 데이터를 처리하는 것에는 장단점이 있다.
장점
1. 데이터 그룹화: 배열은 여러 개의 항목을 하나의 변수에 저장할 수 있는 효과적인 방법이다. 특히 연관된 데이터를 그룹화하고 유지하기에 좋다. 이 경우, 로트 정보와 같이 여러 개의 관련된 데이터를 하나의 배열로 처리할 수 있다.
2. 반복 처리: 배열을 사용하면 반복문을 사용하여 배열의 각 요소를 순회하면서 작업을 수행할 수 있다. 예를 들어, 여러 개의 로트 정보를 한꺼번에 처리하거나 출력하는 데 유용하다.
3. 인덱스로 접근: 배열은 인덱스를 사용하여 특정 위치의 데이터에 빠르게 접근할 수 있다. 이는 배열 내의 특정 요소를 찾고 수정하는 데 유용하다.
단점
1. 고정 크기: 배열은 일반적으로 고정된 크기를 가지며, 크기를 동적으로 변경하기 어렵다. 따라서 미리 배열의 크기를 지정해야 할 때 제한이 있을 수 있다.
2. 인덱스 오류: 잘못된 인덱스로 배열에 접근하면 런타임 오류가 발생할 수 있다. 이를 방지하기 위해서는 인덱스를 신중하게 처리해야 한다.
3. 메모리 사용: 배열은 일정한 메모리 공간을 필요로 하며, 큰 배열을 사용하면 메모리 부족 문제가 발생할 수 있다.
4. 데이터 타입 제한: 배열은 동일한 데이터 타입의 요소만 포함할 수 있으므로 다양한 데이터 타입을 함께 저장하기 어렵다.
따라서 배열을 사용할 때에는 데이터 구조와 작업의 성격에 따라 장단점을 고려하여 적절하게 활용해야 한다.
처음 고정된 첫 번째 로트의 정보는 배열 0번 index에 저장이 될 것이다. 세 번째까지만 등록이 가능하게 설정했기에 두 번째 로트는 1번 index, 세 번째 로트는 2번 index일 것이다.
public String stockInsert(@RequestParam("goodslot_lot") String[] goodslot_lot,
@RequestParam("goodslot_qty") Integer[] goodslot_qty,
@RequestParam("goodslot_production") String[] goodslot_production,
@RequestParam("goodslot_expiry") String[] goodslot_expiry,
@RequestParam("goodslot_price") Integer[] goodslot_price,
@RequestParam("goodslot_tax") Integer[] goodslot_tax,
String goods_code, String goods_barcode, String goods_name,
int goodskind_no, int goods_customerprice,
String goods_description, int client_no1,
int client_no2, int goods_stockqty, int goodslev_no,
String comcode_code, String goodsst_unit, String goodsst_spec,
String goodsst_size, String goodsst_package,
int goodsst_ea) {
int comcode_no = ls.comNo(comcode_code);
Map<String, Object> map11 = new HashMap<>();
map11.put("goodsst_unit", goodsst_unit);
map11.put("goodsst_spec", goodsst_spec);
map11.put("goodsst_size", goodsst_size);
map11.put("goodsst_package", goodsst_package);
map11.put("goodsst_ea", goodsst_ea);
d6.insertGoodsst(map11);
Map<String, Object> map12 = new HashMap<>();
map12.put("goodsst_unit", goodsst_unit);
map12.put("goodsst_spec", goodsst_spec);
map12.put("goodsst_size", goodsst_size);
map12.put("goodsst_package", goodsst_package);
map12.put("goodsst_ea", goodsst_ea);
int goodsst_no = d6.selectGoodsstno(map12);
for (String lot : goodslot_lot) {
System.out.println(lot);
}
if (goodslot_lot.length > 0) {
String firstLot = goodslot_lot[0]; // 첫 번째 배열 요소 가져오기
System.out.println("첫 번째 로트번호: " + firstLot);
따라서 출력을 해보면
잘 출력이 되는 것을 확인할 수 있다.
'ERP Project' 카테고리의 다른 글
물류팀 기능구현(1) (2) | 2023.10.10 |
---|---|
재무팀 기능구현(2) (0) | 2023.10.10 |
재무팀 기능구현(1) (0) | 2023.09.20 |
인사팀 기능구현(2) (0) | 2023.09.20 |
인사팀 기능구현(1) (0) | 2023.09.20 |