From 47a751cb301d05276ae5d75145d57b2d090fe4e1 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期一, 01 七月 2024 10:58:35 +0800
Subject: [PATCH] change

---
 src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java |  123 ++++++++++++++++++++++++++++++++---------
 1 files changed, 96 insertions(+), 27 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java b/src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java
index d93ae38..09c47e2 100644
--- a/src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java
@@ -5,9 +5,14 @@
 
 import javax.annotation.Resource;
 
+import com.nanometer.smartlab.dao.OpeReagentStatusDao;
+import com.nanometer.smartlab.entity.OpeReagentStatus;
 import com.nanometer.smartlab.entity.SysUser;
 import com.nanometer.smartlab.entity.dto.ApplyListDto;
+import com.nanometer.smartlab.entity.enumtype.OperateStatus;
+import com.nanometer.smartlab.exception.BusinessException;
 import com.nanometer.smartlab.service.SysUserService;
+import com.nanometer.smartlab.util.FacesUtils;
 import com.nanometer.smartlab.util.Utils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.log4j.Logger;
@@ -37,7 +42,7 @@
 
 	private LazyDataModel<OpeUseFlow> dataModel;
 
-	private String reagentId;
+	private Long reagentId;
 
 	private String reagentCode;
 	private String houseName;
@@ -49,6 +54,8 @@
 	private Hashtable printTable;
 
 	private String containerCode;
+
+	private Integer operatestate;
 
 	public String getHouseName() {
 		return houseName;
@@ -69,9 +76,11 @@
 
 	@Resource
 	private SysUserService sysUserService;
-
-
+    @Resource
+	private OpeReagentStatusDao opeReagentStatusDao;
 	private List<SysReagent> reagentSelectList;
+
+	private OpeUseFlow selectedOne;
 
 	public List<SysReagent> getReagentSelectList() {
 		if (this.reagentSelectList == null) {
@@ -101,11 +110,12 @@
 						Map<String, Object> filters) {
 					List<OpeUseFlow> list = null;
 					try {
-						int count = opeUseFlowService.getOpeUseFlowTotalCountByName(houseName,reagentId, reagentCode, containerCode,null, getUserId(),startDate,endDate);
+						int count = opeUseFlowService.getOpeUseFlowTotalCountByName(houseName,reagentId, reagentCode, containerCode,null, getUserId(),startDate,endDate,operatestate);
 						this.setRowCount(count);
 						if (count > 0) {
-							list = opeUseFlowService.getOpeUseFlowListByName(houseName,reagentId, reagentCode, containerCode,null, getUserId(),startDate,endDate, first, pageSize);
+							list = opeUseFlowService.getOpeUseFlowListByName(houseName,reagentId, reagentCode, containerCode,null, getUserId(),startDate,endDate, first, pageSize,operatestate);
 						}
+						selectedOne = null;
 					} catch (Exception e) {
 						logger.error(e);
 					}
@@ -114,21 +124,20 @@
 
 				@Override
 				public OpeUseFlow getRowData(String rowKey) {
-					Iterator<OpeUseFlow> iterator = this.iterator();
-					OpeUseFlow temp = null;
-					if(iterator!= null)
-					{
-						while(iterator.hasNext())
-						{
-							temp=iterator.next();
-							if(rowKey.equals(temp.getId()))
-							{
-								return temp;
-							}
-						}
-					}
-
-					return temp;
+//					Iterator<OpeUseFlow> iterator = this.iterator();
+//					OpeUseFlow temp = null;
+//					if(iterator!= null)
+//					{
+//						while(iterator.hasNext())
+//						{
+//							temp=iterator.next();
+//							if(rowKey.equals(temp.getId()))
+//							{
+//								return temp;
+//							}
+//						}
+//					}
+					return opeUseFlowService.selectById(rowKey);
 				}
 			};
 		}
@@ -136,11 +145,22 @@
 		return dataModel;
 	}
 
-	public String getReagentId() {
+	public void export2Excel() {
+
+		List<Map> list = opeUseFlowService.selectAll(houseName,reagentId, reagentCode, containerCode,getUserId(),startDate,endDate);
+		try{
+			boolean isexport = opeUseFlowService.export2Excel(list);
+		}catch (Exception e){
+			e.printStackTrace();
+			FacesUtils.warn("导出失败");
+		}
+	}
+
+	public Long getReagentId() {
 		return reagentId;
 	}
 
-	public void setReagentId(String reagentId) {
+	public void setReagentId(Long reagentId) {
 		this.reagentId = reagentId;
 	}
 
@@ -159,14 +179,14 @@
 		String receiptNumber = ouf.getReceiptNumber();
 		String code = ouf.getReagentCode();
 		//id:个数
-		Map<String, Integer> printInfo = opeUseFlowService.getRegentInfoFromReceiptNumber(receiptNumber);
+		Map<Long, Integer> printInfo = opeUseFlowService.getRegentInfoFromReceiptNumber(receiptNumber);
 		//无法得到当时的领用单的领用人,试剂状态表没有存入,userId会随时变化
 		printTable = null;
 		Integer sum = 0;
 		printTable = new Hashtable();
 		List<ApplyListDto> applyList = new ArrayList<>();
 		//获取当时操作状态为领取的人员
-		Map<String,String>  info= opeUseFlowService.getApplyUserByReagentCode(code);
+		Map<String,Long>  info= opeUseFlowService.getApplyUserByReagentCode(code);
 		SysUser applyPersonInfo = sysUserService.getUser(info.get("user_id"));
 		printTable.put("head", instituteName);
 		printTable.put("title", "领用单");
@@ -177,12 +197,12 @@
 		if (StringUtils.isNotBlank(applyPersonInfo.getPhone())){
 			printTable.put("phone", applyPersonInfo.getPhone());
 		}
-		if (StringUtils.isNotBlank(applyPersonInfo.getProject())){
-			printTable.put("project", applyPersonInfo.getProject());
+		if (applyPersonInfo.getProjectId()!=null){
+			printTable.put("project", applyPersonInfo.getProjectId());
 		}
 
 		printTable.put("receiptNumber", receiptNumber);
-		for (Map.Entry<String, Integer> map  : printInfo.entrySet()) {
+		for (Map.Entry<Long, Integer> map  : printInfo.entrySet()) {
 			ApplyListDto lis = new ApplyListDto();
 			Map reagentDetail = sysReagentService.getReagentDetail(map.getKey());
 			lis.setNum(map.getValue().toString()); //数量
@@ -209,6 +229,39 @@
 		}else {
 			return startDate;
 		}
+	}
+
+	//报废试剂
+	public void scrapReagent(){
+		if (this.selectedOne == null) {
+			FacesUtils.warn("请选择");
+			return;
+		}
+		try {
+			String reagentCode = this.selectedOne.getReagentCode();
+			if (StringUtils.isBlank(reagentCode)) {
+				FacesUtils.warn("试剂条码为空");
+				return;
+			}
+			OpeReagentStatus opeReagentStatusByCode = this.opeReagentStatusDao.getOpeReagentStatusByReagentCode(reagentCode);
+			if (opeReagentStatusByCode==null) {
+				FacesUtils.warn("试剂条码不存在");
+				return;
+			}
+			Long reagentId = opeReagentStatusByCode.getReagentId();
+			opeUseFlowService.scrapReagent(reagentId, reagentCode, getUserId());
+			FacesUtils.warn("操作成功");
+		} catch (BusinessException e) {
+			FacesUtils.warn(e.getMessage());
+		} catch (Exception e) {
+			e.printStackTrace();
+			FacesUtils.warn("操作失败");
+		}
+
+	}
+
+	public List<Map<String,Object>>getOperatestateList(){
+		return OperateStatus.getOperateStatusList();
 	}
 
 	public void setStartDate(Date startDate) {
@@ -243,4 +296,20 @@
 	public void setContainerCode(String containerCode) {
 		this.containerCode = containerCode;
 	}
+
+	public OpeUseFlow getSelectedOne() {
+		return selectedOne;
+	}
+
+	public void setSelectedOne(OpeUseFlow selectedOne) {
+		this.selectedOne = selectedOne;
+	}
+
+	public void setOperatestate(Integer operatestate) {
+		this.operatestate = operatestate;
+	}
+
+	public Integer getOperatestate(){
+		return operatestate;
+	}
 }

--
Gitblit v1.9.2