From 94e89a3391c7f28d9002fbcc0cafdbf6d05d7e73 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期三, 03 二月 2021 15:48:28 +0800
Subject: [PATCH] 取消领用
---
src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml | 1
src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml | 4 ++
src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java | 25 +++++++++++-
src/main/webapp/laboratory_container_mng.xhtml | 4 +
src/main/webapp/personal_use_info.xhtml | 11 +++++
src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java | 17 ++++----
src/main/java/com/nanometer/smartlab/service/OpeReagentStatusService.java | 3 +
src/main/webapp/resources/template/实验室临时存储库导入模板.xlsx | 0
8 files changed, 52 insertions(+), 13 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/dao/OpeUseFlowDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
index bbec73e..dfc4fef 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,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>
<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 63eae1b..e977123 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeWarehouseReserveDao.xml
@@ -214,6 +214,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/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 30b76c3..fe3ca0b 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;
@@ -804,15 +805,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);
@@ -826,8 +827,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/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
--
Gitblit v1.9.2