From 1afdf3622484b9a54c4cc4642e38bbf5c815884f Mon Sep 17 00:00:00 2001 From: 李宇 <986321569@qq.com> Date: 星期四, 04 二月 2021 17:48:36 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/webapp/warehouse_reagent_use.xhtml | 4 +- src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml | 1 src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml | 15 +++++++ src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java | 25 +++++++++++- src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java | 17 ++++---- src/main/webapp/resources/template/实验室临时存储库导入模板.xlsx | 0 src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java | 5 ++ src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java | 1 src/main/webapp/laboratory_container_mng.xhtml | 4 + src/main/webapp/personal_use_info.xhtml | 11 +++++ src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java | 2 + src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java | 5 ++ src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java | 3 + src/main/java/com/nanometer/smartlab/service/OpeReagentStatusService.java | 3 + 14 files changed, 79 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java b/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java index 72494d8..692a763 100644 --- a/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java +++ b/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java @@ -9,6 +9,7 @@ import com.nanometer.smartlab.entity.SysLaboratory; import com.nanometer.smartlab.entity.dto.ApplyListDto; import com.nanometer.smartlab.entity.dto.PersonUseDetail; +import com.nanometer.smartlab.entity.enumtype.ArrivalStatus; import com.nanometer.smartlab.service.SysLaboratoryService; import com.nanometer.smartlab.util.FacesUtils; import com.nanometer.smartlab.util.Utils; @@ -118,8 +119,28 @@ public void reagentReturn(){ try { - List<OpeReagentStatus> list=this.selectedList; - opeReagentStatusService.batchUpdateStatusByCode(list); + if (selectOne == null) { + FacesUtils.warn("请选择单号"); + return; + } + //判断单子下的试剂是否全部 为 领用待入库-1,不是就不能取消领用 + List<PersonUseDetail> applyList = opeUseFlowService.getApplyInfo(selectOne.getReceiptNumber()); + boolean flag = applyList.stream().allMatch(pu -> + opeReagentStatusService.getOpeReagentStatusByReagentCode(pu.getReagentCode() ).getStatus()== ArrivalStatus.NOREGISTER); + if (!flag) { + FacesUtils.warn("试剂当前状态不可以取消领用"); + return; + } + + //没有批次号不可以取消领用 + boolean flag1 = applyList.stream().allMatch(pu -> pu.getArticleNumber() != null); + if (!flag1) { + FacesUtils.warn("没有批次号不可以取消领用"); + return; + } + + //取消领用 + opeReagentStatusService.batchUpdateStatusByCode(applyList); FacesUtils.info("已取消试剂"); }catch (Exception e){ FacesUtils.info("请选择数据"); diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java index d88f662..4b4decd 100644 --- a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java @@ -1541,6 +1541,7 @@ //} this.opeWarehouseReserveService.claim(list, userId,projectNum); } + if(list2.size()>0&&list2!=null){ List<OpeApply> opeList=new ArrayList<>(); //this.opeApplyService.getOpeApplyList(null,null,null,null,null) @@ -2726,7 +2727,7 @@ // this.oriLaboratoryId = this.laboratory.get(0).getId(); //} - this.laboratoryId= laboratoryId==null?this.laboratory.get(0).getId():laboratoryId; + this.laboratoryId = this.laboratory.get(0).getId(); this.laboratoryContainers = this.sysLaboratoryContainerService.getSysLaboratoryContainerList(laboratoryId); }else { this.oriLaboratoryId = null; diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java index 629acdf..21ea7e0 100644 --- a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java +++ b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.java @@ -44,4 +44,6 @@ List<PersonUseDetail> getApplyInfo(Map params); int getApplyInfoSize(Map params); + + int countOpeUseFlow(OpeUseFlow opeUseFlow); } diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml index bbec73e..be2c5f2 100644 --- a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml +++ b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml @@ -198,6 +198,7 @@ </if> WHERE ouf.operatestate = #{operatestate} and LENGTH(trim(ouf.receipt_number))>0 + and ouf.valid_flag = 1 <if test="reagentCode !=null and reagentCode != ''"> and ouf.reagent_code like concat("%",#{reagentCode},"%") </if> @@ -250,6 +251,7 @@ </if> WHERE ouf.operatestate = #{operatestate} and LENGTH(trim(ouf.receipt_number))>0 + and ouf.valid_flag = 1 <if test="reagentCode !=null and reagentCode != ''"> and ouf.reagent_code like concat("%",#{reagentCode},"%") </if> @@ -300,6 +302,7 @@ LEFT JOIN base_meta bm3 on bm3.id = sr.control_products WHERE ouf.operatestate = #{operatestate} and ouf.receipt_number = #{receiptNumber} + and ouf.valid_flag = 1 </select> @@ -315,6 +318,18 @@ LEFT JOIN base_meta bm3 on bm3.id = sr.control_products WHERE ouf.operatestate = #{operatestate} and ouf.receipt_number = #{receiptNumber} + and ouf.valid_flag = 1 + </select> + <select id="countOpeUseFlow" resultType="java.lang.Integer" parameterType="com.nanometer.smartlab.entity.OpeUseFlow"> + select count(0) + from ope_use_flow + where reagent_code = #{reagentCode} + and status = #{status} + and house_id = #{houseId} + and container_id = #{containerId} + and create_time = #{createTime} + and operatestate =#{operateState} + and valid_flag = 1 </select> <insert id="insertOpeUseFlow" parameterType="com.nanometer.smartlab.entity.OpeUseFlow"> diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml index 4522bcc..40d4822 100644 --- a/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml +++ b/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml @@ -216,6 +216,7 @@ <update id="updateCount" parameterType="java.util.Map"> update ope_warehouse_reserve set reserve=reserve+1 where reagent_id=#{reagentId} and article_number=#{articleNumber} + and valid_flag = 1 </update> <update id="updateBtReserve"> UPDATE ope_warehouse_reserve diff --git a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java index 2a393df..3be8272 100644 --- a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java @@ -1714,8 +1714,11 @@ continue; } } + int count = opeUseFlowService.getOpeUseFlow(opeUseFlow); + if (count < 1) { - this.opeUseFlowService.insertOpeUseFlow(opeUseFlow); + this.opeUseFlowService.insertOpeUseFlow(opeUseFlow); + } } } diff --git a/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusService.java b/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusService.java index a193774..a36d097 100644 --- a/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusService.java +++ b/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusService.java @@ -1,6 +1,7 @@ package com.nanometer.smartlab.service; import com.nanometer.smartlab.entity.*; +import com.nanometer.smartlab.entity.dto.PersonUseDetail; import com.nanometer.smartlab.exception.BusinessException; import java.util.Date; @@ -88,7 +89,7 @@ void updateTimeByCode(String code); - void batchUpdateStatusByCode(List<OpeReagentStatus> list) throws Exception; + void batchUpdateStatusByCode(List<PersonUseDetail> list) throws Exception; public List<OpeReagentStatus> selectByReId(String id); public void updateByReId(String newReId,String oldReId); diff --git a/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java index c3ab8f4..33cd818 100644 --- a/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java @@ -9,6 +9,7 @@ import com.google.common.collect.ImmutableMap; import com.nanometer.smartlab.dao.*; import com.nanometer.smartlab.entity.*; +import com.nanometer.smartlab.entity.dto.PersonUseDetail; import com.nanometer.smartlab.entity.enumtype.ValidFlag; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; @@ -806,15 +807,15 @@ */ @Override @Transactional - public void batchUpdateStatusByCode(List<OpeReagentStatus> list) throws Exception { - if(list == null || list.size() <1){ - throw new Exception("没有选择试剂"); - } + public void batchUpdateStatusByCode(List<PersonUseDetail> applyList) throws Exception { - for (OpeReagentStatus opeReagentStatus : list) { + + + for (PersonUseDetail pu : applyList) { + //变更试剂状态为入库 Map<String, Object> params1 = new HashMap<>(); - String reagentCode = opeReagentStatus.getReagentCode(); + String reagentCode = pu.getReagentCode(); params1.put("code", reagentCode); params1.put("status",ArrivalStatus.WAREHOUSE); opeReagentStatusDao.updateStatusByCode(params1); @@ -828,8 +829,8 @@ //增加数据库存 Map<String, Object> params3 = new HashMap<>(); - String reagentId = opeReagentStatus.getReagentId(); - String articleNumber = opeReagentStatus.getArticleNumber(); + String reagentId = pu.getReagentId(); + String articleNumber = pu.getArticleNumber(); params3.put("reagentId", reagentId); params3.put("articleNumber", articleNumber); opeWarehouseReserveDao.updateCount(params3); diff --git a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java index 952b16d..9a32592 100644 --- a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java +++ b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowService.java @@ -56,4 +56,5 @@ int getApplyInfoSize(String receiptNumber); + int getOpeUseFlow(OpeUseFlow opeUseFlow); } diff --git a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java index 40352f7..d0fe81d 100644 --- a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java @@ -539,4 +539,9 @@ } + @Override + public int getOpeUseFlow(OpeUseFlow opeUseFlow) { + return opeUseFlowDao.countOpeUseFlow(opeUseFlow); + } + } diff --git a/src/main/webapp/laboratory_container_mng.xhtml b/src/main/webapp/laboratory_container_mng.xhtml index 25fb1be..51dd735 100644 --- a/src/main/webapp/laboratory_container_mng.xhtml +++ b/src/main/webapp/laboratory_container_mng.xhtml @@ -34,7 +34,7 @@ </p:panelGrid> </p:panel> <p:panel styleClass="center-body"> - <p:panelGrid columns="5" styleClass="btn"> + <p:panelGrid columns="6" styleClass="btn"> <p:commandButton value="新建" styleClass="new-btn" process="@form" actionListener="#{laboratoryContainerMngController.onNewBtnClick}" update=":dialog,:dialogForm"></p:commandButton> @@ -50,6 +50,8 @@ ></p:commandButton> <p:commandButton value="导出" styleClass="new-btn" ajax="false" actionListener="${laboratoryContainerMngController.export2Excel}" /> + <a href="resources/template/实验室临时存储库导入模板.xlsx" style="display: inline-block;"><img src="resources/images/xlsx.png" width="30px;" alt=""/></a> + <script> function importCon(){ $("#laboratoryContainerMngForm\\:importReagentBtn_input").click(); diff --git a/src/main/webapp/personal_use_info.xhtml b/src/main/webapp/personal_use_info.xhtml index de19120..438722f 100644 --- a/src/main/webapp/personal_use_info.xhtml +++ b/src/main/webapp/personal_use_info.xhtml @@ -72,8 +72,16 @@ <p:commandLink styleClass="search" process="@form" update="@form"/> - <p:commandButton value="生成领用单" + <p:commandButton value="取消领用" style="background: #b94a48; border: 1px solid #b94a48" + styleClass="store-btn" + process="@form" + actionListener="#{personalUseInfoController.reagentReturn}" + update="@this"> + <p:confirm header="确认" message="是否确认取消领用?"/> + </p:commandButton> + + <p:commandButton value="生成领用单" styleClass="store-btn" process="@form" actionListener="#{personalUseInfoController.generateReceipt}" @@ -85,6 +93,7 @@ oncomplete="PF('dialog').show()"/> + </p:panelGrid> </p:panel> </p:panel> diff --git "a/src/main/webapp/resources/template/\345\256\236\351\252\214\345\256\244\344\270\264\346\227\266\345\255\230\345\202\250\345\272\223\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/src/main/webapp/resources/template/\345\256\236\351\252\214\345\256\244\344\270\264\346\227\266\345\255\230\345\202\250\345\272\223\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" new file mode 100644 index 0000000..7134041 --- /dev/null +++ "b/src/main/webapp/resources/template/\345\256\236\351\252\214\345\256\244\344\270\264\346\227\266\345\255\230\345\202\250\345\272\223\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" Binary files differ diff --git a/src/main/webapp/warehouse_reagent_use.xhtml b/src/main/webapp/warehouse_reagent_use.xhtml index 1e1f563..39f3acd 100644 --- a/src/main/webapp/warehouse_reagent_use.xhtml +++ b/src/main/webapp/warehouse_reagent_use.xhtml @@ -24,7 +24,7 @@ var="item" dropdown="true" styleClass="apply-user-autocomplete" - itemLabel="#{!empty warehouseStockMngController.userId ?warehouseStockMngController.getSelectedUserById(warehouseStockMngController.userId).name : null}" + 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> @@ -43,7 +43,7 @@ id="experments"> <f:selectItems value="#{warehouseStockMngController.laboratory}" var="item" itemLabel="#{item.name}" itemValue="#{item.id}"></f:selectItems> - <f:ajax listener="#{warehouseStockMngController.resetLaboratoryContainers}" update="stacks"/> + <f:ajax listener="#{warehouseStockMngController.resetLaboratoryContainers}" render="stacks"/> </p:selectOneMenu> <p:outputLabel value="实验室试剂柜:"></p:outputLabel> <p:selectOneMenu value="#{warehouseStockMngController.laboratoryContainerId}" id="stacks" -- Gitblit v1.9.2