package com.ese.beans; import com.ese.model.db.MSLocationModel; import com.ese.model.db.MSWarehouseModel; import com.ese.model.db.StockInOutLineModel; import com.ese.model.db.StockInOutModel; import com.ese.model.view.SearchItemView; import com.ese.model.view.ShowSNView; import com.ese.utils.FacesUtil; import com.ese.utils.Utils; import com.sun.istack.internal.NotNull; import lombok.Getter; import lombok.Setter; import javax.annotation.PostConstruct; import javax.faces.bean.ManagedBean; import javax.faces.bean.ManagedProperty; import javax.faces.bean.ViewScoped; import javax.servlet.http.HttpSession; import java.util.ArrayList; import java.util.List; @Getter @Setter @ViewScoped @ManagedBean(name = "quarantineItemBean") public class QuarantineItemBean extends Bean { private static final long serialVersionUID = 4112578634263333840L; @ManagedProperty("#{quarantineItemService}") private com.ese.service.QuarantineItemService quarantineItemService; @NotNull private StockInOutModel stockInOutModel; @NotNull private StockInOutLineModel stockInOutLineModel; @NotNull private ShowSNView showSNView; @NotNull private SearchItemView searchItemView; private List<StockInOutLineModel> stockInOutLineModelList; private List<ShowSNView> showSNViewList; private List<ShowSNView> searchItemViewList; private List<ShowSNView> selectSearchItemViewList; private List<MSWarehouseModel> msWarehouseModelList; private List<MSLocationModel> msLocationModelList; private Boolean flagBtnShowSN; private Boolean flagBtnSearchItem; //ShowSN Dialog private Boolean flagBtnRemove; //SearchItem Dialog private Boolean flagBtnSelect; @PostConstruct private void onCreation(){ log.debug("onCreation()"); HttpSession session = FacesUtil.getSession(false); stockInOutModel = (StockInOutModel) session.getAttribute("stockInOutModel"); if(preLoad()) {//&& isAuthorize(key)){ init(); } } private void init(){ stockInOutLineModel = new StockInOutLineModel(); showSNView = new ShowSNView(); flagBtnShowSN = Boolean.TRUE; flagBtnSearchItem = Boolean.TRUE; searchItemView = new SearchItemView(); onLoadTable(); } private void onLoadTable(){ stockInOutLineModelList = quarantineItemService.getByStockInOutId(stockInOutModel.getId()); } public void onClickTable(){ flagBtnShowSN = Boolean.FALSE; if (stockInOutModel.getStatus().getId() < 19){ //Status 19 = status_seq 3(Close) flagBtnSearchItem = Boolean.FALSE; } } public void onClickShowSN(){ flagBtnRemove = Boolean.TRUE; showSNViewList = quarantineItemService.getInvOnhandByStockInOutLineId(stockInOutLineModel.getId()); } public void onClickRemove(){ quarantineItemService.remove(showSNView); showDialogEdited(); onLoadShowSN(); } private void onLoadShowSN(){ showSNView = new ShowSNView(); flagBtnRemove = Boolean.TRUE; showSNViewList = quarantineItemService.getInvOnhandByStockInOutLineId(stockInOutLineModel.getId()); } public void onClickTableShowSNDialg(){ flagBtnRemove = Boolean.FALSE; } public void onLoadSearchItem(){ // searchItemView = new SearchItemView(); flagBtnSelect = Boolean.TRUE; searchItemViewList = new ArrayList<ShowSNView>(); msWarehouseModelList = quarantineItemService.findWarehouseAll(); msLocationModelList = quarantineItemService.findLocationAll(); } public void onSearchItemDialog(){ searchItemViewList = quarantineItemService.getBySearch(searchItemView); } public void onClickTabkeSearchItemDailog(){ if (!Utils.isZero(selectSearchItemViewList.size())){ flagBtnSelect = Boolean.FALSE; } else { flagBtnSelect = Boolean.TRUE; } } public void onSelect(){ quarantineItemService.select(selectSearchItemViewList, stockInOutLineModel); showDialogEdited(); onSearchItemDialog(); } public void onChangeWarehouse(){ msLocationModelList = quarantineItemService.getByWarehouseId(searchItemView.getWarehouseId()); } }