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