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