gdg
2021-01-07 5bd11ed20c2e283cb3c0ce82c0f90a9ce3425417
领用优化
已修改3个文件
178 ■■■■■ 文件已修改
src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/warehouse_reagent_use_person.xhtml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/warehouse_stock_mng.xhtml 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }
}
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>
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"