From 5bd11ed20c2e283cb3c0ce82c0f90a9ce3425417 Mon Sep 17 00:00:00 2001 From: gdg <764716047@qq.com> Date: 星期四, 07 一月 2021 10:50:45 +0800 Subject: [PATCH] 领用优化 --- src/main/webapp/warehouse_reagent_use_person.xhtml | 4 src/main/webapp/warehouse_stock_mng.xhtml | 84 +++++++++++++++++++++++++-- src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java | 90 +++++++++++++++++++++++++++++ 3 files changed, 166 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java index d4a90d4..19fcba6 100644 --- a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java @@ -229,6 +229,8 @@ * 选中的list */ private List<OpeApplyReserve> selectedListForPerson; + private List<OpeApplyReserve> selectedTmpOrderList; + private List<OpeApplyReserve> trulySelectedOrderList; /** * 条形码对话框中选择的条形码集合 @@ -387,9 +389,40 @@ } } + public void addOrder() { + logger.info("WarehouseStockMngController onUseBtnClick start"); + if (this.selectedListForPerson == null || this.selectedListForPerson.size() == 0) { + FacesUtils.warn("请选择数据。"); + return; + } + if (selectedTmpOrderList !=null && selectedTmpOrderList.size()>0){ + ArrayList<OpeApplyReserve> tmp = new ArrayList<>(); + selectedListForPerson.forEach(opeApplyReserve -> { + AtomicBoolean flag = new AtomicBoolean(false); + selectedTmpOrderList.forEach(opeApplyReserve1 -> { + if (opeApplyReserve.getId().equals(opeApplyReserve1.getId())){ + flag.set(true); + } + + }); + if(!flag.get()) { + tmp.add(opeApplyReserve); + } + }); + selectedTmpOrderList.addAll(tmp); + }else{ + selectedTmpOrderList = new ArrayList<>(); + selectedTmpOrderList.addAll(selectedListForPerson); + } + } + public void clear(){ selectedTmpList = null; + } + + public void clearOrderTmp(){ + selectedTmpOrderList = null; } public void cancel(){ @@ -421,6 +454,35 @@ } + public void cancelOrderTmp(){ + if (trulySelectedOrderList == null || trulySelectedOrderList.size()<=0){ + FacesUtils.info("至少选择一个"); + return; + } + + if (selectedTmpOrderList == null || selectedTmpOrderList.size()<=0){ + FacesUtils.info("至少选择一个"); + return; + } + + ArrayList<Integer> indexs = new ArrayList<>(); + for (int i =0;i<trulySelectedOrderList.size();i++){ + for (int j = 0; j < selectedTmpOrderList.size(); j++) { + if(trulySelectedOrderList.get(i).getId().equals(selectedTmpOrderList.get(j).getId())) + { + indexs.add(i); + } + } + } + + if (indexs.size()>0){ + indexs.forEach(index -> { + selectedTmpOrderList.remove(selectedTmpOrderList.get(index)); + }); + } + + } + public void onUseBtnClick(){ if (selectedTmpList == null || selectedTmpList.size()<=0){ FacesUtils.info("至少选择一个"); @@ -430,6 +492,14 @@ this.menuController.goToPage(Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW, Constants.PAGE_WAREHOUSE_STOCK_MNG); } // + public void onUseBtnClickOrderTmp(){ + if (selectedTmpOrderList == null || selectedTmpOrderList.size()<=0){ + FacesUtils.info("至少选择一个"); + return; + } + + this.menuController.goToPage(Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW_PERSON, Constants.PAGE_WAREHOUSE_STOCK_MNG); + } public void onUseBtnClickForPerson() { logger.info("WarehouseStockMngController onUseBtnClickForPerson start"); @@ -578,7 +648,7 @@ // 将当前选择条形码保存到库存中 List<String> codeList=new ArrayList<>(); - for (OpeApplyReserve opeApplyReserve : this.selectedListForPerson) { + for (OpeApplyReserve opeApplyReserve : this.selectedTmpOrderList) { if (opeApplyReserve.getId().equals(this.selectedOpeApplyReserve.getId())) { OpeWarehouseReserve wa=opeWarehouseReserveService.getOpeWarehouseReserve(opeApplyReserve.getReagent().getId(),opeApplyReserve.getArticleNumber()); if(wa==null){ @@ -665,7 +735,7 @@ } List<String> codeList=new ArrayList<>(); - for (OpeWarehouseReserve opeWarehouseReserve : this.selectedList) { + for (OpeWarehouseReserve opeWarehouseReserve : this.selectedTmpList) { if (opeWarehouseReserve.getId().equals(this.selectedOpeWarehouseReserve.getId())) { if(this.useNum > opeWarehouseReserve.getReserve()) { @@ -2120,4 +2190,20 @@ public void setShowCodes(List<String> showCodes) { this.showCodes = showCodes; } + + public List<OpeApplyReserve> getSelectedTmpOrderList() { + return selectedTmpOrderList; + } + + public void setSelectedTmpOrderList(List<OpeApplyReserve> selectedTmpOrderList) { + this.selectedTmpOrderList = selectedTmpOrderList; + } + + public List<OpeApplyReserve> getTrulySelectedOrderList() { + return trulySelectedOrderList; + } + + public void setTrulySelectedOrderList(List<OpeApplyReserve> trulySelectedOrderList) { + this.trulySelectedOrderList = trulySelectedOrderList; + } } diff --git a/src/main/webapp/warehouse_reagent_use_person.xhtml b/src/main/webapp/warehouse_reagent_use_person.xhtml index df762d8..a3073a5 100644 --- a/src/main/webapp/warehouse_reagent_use_person.xhtml +++ b/src/main/webapp/warehouse_reagent_use_person.xhtml @@ -22,7 +22,7 @@ var="item" dropdown="true" styleClass="apply-user-autocomplete" - itemLabel="#{!empty warehouseStockMngController.userId?warehouseStockMngController.getSelectedUserById(warehouseStockMngController.userId).name : item.name}" + itemLabel="#{!empty warehouseStockMngController.userId?warehouseStockMngController.getSelectedUserById(warehouseStockMngController.userId).name : ' '}" itemValue="#{item.id}" forceSelection="true"> <p:ajax event="itemSelect" listener="#{warehouseStockMngController.resetLaboratory()}" process="@this" update="@this,experments,stacks" /> <p:column> @@ -67,7 +67,7 @@ <p:dataTable id="warehouseReagentUseDataTableForPerson" styleClass="data-table" paginator="true" paginatorAlwaysVisible="false" paginatorPosition="bottom" - lazy="true" value="#{warehouseStockMngController.selectedListForPerson}" var="row" + lazy="true" value="#{warehouseStockMngController.selectedTmpOrderList}" var="row" rowKey="#{row.id}" emptyMessage="无数据"> <p:column headerText="试剂名称"> <h:outputText value="#{row.reagent.name}"></h:outputText> diff --git a/src/main/webapp/warehouse_stock_mng.xhtml b/src/main/webapp/warehouse_stock_mng.xhtml index 8b869c9..d13c3f1 100644 --- a/src/main/webapp/warehouse_stock_mng.xhtml +++ b/src/main/webapp/warehouse_stock_mng.xhtml @@ -14,18 +14,18 @@ <div id ="showTab" style="display: none"> <h:form id="tmp"> <p:panel styleClass="center-body"> - <p:panelGrid columns="3" styleClass="btn" rendered="#{warehouseStockMngController.editFlag==1}"> + <p:panelGrid columns="3" styleClass="btn"> <p:commandButton value="删除" styleClass="del-btn" process="@form" actionListener="#{warehouseStockMngController.cancel}" - disabled="#{warehouseStockMngController.editFlag==0}" update=":centerRootPanel"/> + update="@(.tempTable)"/> <p:commandButton value="清空" styleClass="del-btn" process="@form" actionListener="#{warehouseStockMngController.clear}" - disabled="#{warehouseStockMngController.editFlag==0}" update=":centerRootPanel"/> + update="@(.tempTable)"/> <p:commandButton value="提交" styleClass="edit-btn" process="@form" actionListener="#{warehouseStockMngController.onUseBtnClick}" - disabled="#{warehouseStockMngController.editFlag==0}" update=":centerRootPanel"/> + update=":centerRootPanel"/> </p:panelGrid> - <p:dataTable id="tempTable" styleClass="data-table" + <p:dataTable id="tempTable" styleClass="tempTable data-table" paginator="true" paginatorAlwaysVisible="false" paginatorPosition="bottom" lazy="true" value="#{warehouseStockMngController.selectedTmpList}" var="row" selection="#{warehouseStockMngController.trulySelectedList}" @@ -95,7 +95,7 @@ actionListener="#{warehouseStockMngController.add}" disabled="#{warehouseStockMngController.editFlag==0}" oncomplete="$('#showTab').css('display','block');" - update=":centerRootPanel"></p:commandButton> + update="@(.tempTable)"></p:commandButton> <p:commandButton value="入库" styleClass="ruku-btn" process="@form" disabled="#{warehouseStockMngController.editFlag==0}" @@ -335,6 +335,70 @@ --> <p:tab title="订单领取"> + <div id ="showTabOrder" style="display: none"> + <h:form id="tmpOrder" styleClass="tmpOrder"> + <p:panel styleClass="center-body"> + <p:panelGrid columns="3" styleClass="btn"> + <p:commandButton value="删除" styleClass="del-btn" process="@form" + actionListener="#{warehouseStockMngController.cancelOrderTmp}" + update="@(.tmpOrder)" + /> + <p:commandButton value="清空" styleClass="del-btn" process="@form" + actionListener="#{warehouseStockMngController.clearOrderTmp}" + update="@(.tmpOrder)" + /> + <p:commandButton value="提交" styleClass="edit-btn" process="@form" + actionListener="#{warehouseStockMngController.onUseBtnClickOrderTmp}" + update=":centerRootPanel"/> + </p:panelGrid> + <p:dataTable id="tempOrderTable" styleClass="data-table" + paginator="true" paginatorAlwaysVisible="false" paginatorPosition="bottom" + lazy="true" value="#{warehouseStockMngController.selectedTmpOrderList}" var="row" + selection="#{warehouseStockMngController.trulySelectedOrderList}" + rowKey="#{row.id}" + emptyMessage="无数据" rows="20" pageLinks="5"> + <p:column selectionMode="multiple" style="width: 30px;text-align: center;" /> + <p:column headerText="试剂名称"> + <h:outputText value="#{row.reagent.name}"/> + </p:column> + + <p:column headerText="产品编号"> + <h:outputText value="#{row.reagent.productSn}"/> + </p:column> + + <p:column headerText="CAS"> + <h:outputText value="#{row.reagent.cas}"/> + </p:column> + + <p:column headerText="规格"> + <h:outputText value="#{row.reagent.reagentFormat}"/> + </p:column> + + <p:column headerText="危险性质"> + <h:outputText value="#{row.reagent.reagentCharacter}"/> + </p:column> + <p:column headerText="价格"> + <h:outputText value="#{row.reagent.price}"/> + </p:column> + + <p:column headerText="厂商"> + <h:outputText + value="#{row.reagent.productHome}"/> + </p:column> + + <p:column headerText="包装"> + <h:outputText + value="#{''.concat(row.reagent.mainMetering).concat(baseMetaService.getBaseMetaValue(row.reagent.reagentUnit))}"/> + </p:column> + + <p:column headerText="批号"> + <h:outputText value="#{row.articleNumber}"/> + </p:column> + + </p:dataTable> + </p:panel> + </h:form> + </div> <h:form id="warehouseStockMngFormForPerson"> <p:panel styleClass="center-header" style="border-bottom:none;"> <p:panelGrid styleClass="filter" columns="5"> @@ -351,9 +415,13 @@ <p:panel styleClass="center-body"> <p:panelGrid columns="2" styleClass="btn" rendered="#{warehouseStockMngController.editFlag==1}"> + <p:commandButton value="领用" styleClass="edit-btn" process="@form" - actionListener="#{warehouseStockMngController.onUseBtnClickForPerson}" - update=":centerRootPanel"></p:commandButton> + actionListener="#{warehouseStockMngController.addOrder}" + disabled="#{warehouseStockMngController.editFlag==0}" + oncomplete="$('#showTabOrder').css('display','block');" + update="@(.tmpOrder)" + ></p:commandButton> </p:panelGrid> <p:dataTable id="warehouseStockMngDataTableForPerson" styleClass="data-table" -- Gitblit v1.9.2