package com.ese.transform; import com.ese.model.db.ContainerItemModel; import com.ese.model.db.ContainerModel; import com.ese.model.db.MSItemModel; import com.ese.model.view.ContainerItemView; import com.ese.model.view.SeparateItemView; import com.ese.utils.AttributeName; import com.ese.utils.FacesUtil; import com.ese.utils.Utils; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @Component public class SeparateItemTransform extends Transform{ private String emtry = " "; public List<SeparateItemView> transformtoView(List<ContainerItemModel> modelList){ List<SeparateItemView> separateItemViewList = new ArrayList<SeparateItemView>(); HashMap<Integer, String> hashMap = new HashMap<>(); SeparateItemView separateItemViews = null; List<ContainerItemView> containerItemViewList = null; ContainerItemView containerItemView; int i = 0; try{ for (ContainerItemModel model : modelList){ i++; if (!hashMap.containsKey(model.getMsItemModel().getId())){ hashMap.put(model.getMsItemModel().getId(), model.getMsItemModel().getItemId()); if (Utils.isSafetyList(containerItemViewList)){ separateItemViews.setContainerItemViewList(containerItemViewList); separateItemViewList.add(separateItemViews); } separateItemViews = new SeparateItemView(); StringBuilder header = new StringBuilder(); containerItemViewList = new ArrayList<ContainerItemView>(); header.append("Item Id : ").append(model.getMsItemModel().getItemId()).append(emtry); header.append("Item Description : ").append(model.getMsItemModel().getDSGThaiItemDescription()); separateItemViews.setHeaderSubName(header.toString()); containerItemView = new ContainerItemView(model.getId(), model.getContainerModel().getId(), model.getContainerModel().getContainerNo(), model.getContainerQty()); containerItemViewList.add(containerItemView); } else { containerItemView = new ContainerItemView(model.getId(), model.getContainerModel().getId(), model.getContainerModel().getContainerNo(), model.getContainerQty()); containerItemViewList.add(containerItemView); } if (i == modelList.size()){ separateItemViews.setContainerItemViewList(containerItemViewList); separateItemViewList.add(separateItemViews); } } } catch (Exception e){ log.debug("Exception error : ", e.getMessage()); } return separateItemViewList; } public ContainerItemModel transformToNewModel(ContainerModel containerModel, MSItemModel msItemModel, int containerQty){ log.debug("containerModel id : {}", containerModel.getId()); log.debug("msItemModel id : {}", msItemModel.getId()); int staffModel = (int) FacesUtil.getSession(false).getAttribute(AttributeName.STAFF.getName()); ContainerItemModel containerItemModel = new ContainerItemModel(); containerItemModel.setContainerModel(containerModel); containerItemModel.setMsItemModel(msItemModel); containerItemModel.setContainerQty(containerQty); containerItemModel.setCreateBy(staffModel); containerItemModel.setCreateDate(Utils.currentDate()); containerItemModel.setUpdateBy(staffModel); containerItemModel.setUpdateDate(Utils.currentDate()); return containerItemModel; } }