From c3510da29a7974c6af7ff3de1ade3db429d6f848 Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期三, 18 八月 2021 14:27:59 +0800
Subject: [PATCH] 申购管理申请履历显示所有历史单据,提交时如有无效试剂耗材报错

---
 src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java |  111 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 90 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java b/src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java
index 989d1a1..03dd8aa 100644
--- a/src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java
@@ -7,8 +7,11 @@
 
 import com.nanometer.smartlab.entity.SysUser;
 import com.nanometer.smartlab.entity.dto.ApplyListDto;
+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;
 import org.primefaces.context.RequestContext;
 import org.primefaces.model.LazyDataModel;
@@ -47,6 +50,10 @@
 
 	private Hashtable printTable;
 
+	private String containerCode;
+
+	private String operatestate;
+
 	public String getHouseName() {
 		return houseName;
 	}
@@ -69,6 +76,8 @@
 
 
 	private List<SysReagent> reagentSelectList;
+
+	private OpeUseFlow selectedOne;
 
 	public List<SysReagent> getReagentSelectList() {
 		if (this.reagentSelectList == null) {
@@ -98,11 +107,12 @@
 						Map<String, Object> filters) {
 					List<OpeUseFlow> list = null;
 					try {
-						int count = opeUseFlowService.getOpeUseFlowTotalCountByName(houseName,reagentId, reagentCode, 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, 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);
 					}
@@ -111,26 +121,36 @@
 
 				@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);
 				}
 			};
 		}
 
 		return dataModel;
+	}
+
+	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 String getReagentId() {
@@ -164,14 +184,19 @@
 		List<ApplyListDto> applyList = new ArrayList<>();
 		//获取当时操作状态为领取的人员
 		Map<String,String>  info= opeUseFlowService.getApplyUserByReagentCode(code);
-		Map applyPersonInfo = sysUserService.getUser(info.get("user_id"));
+		SysUser applyPersonInfo = sysUserService.getUser(info.get("user_id"));
 		printTable.put("head", instituteName);
 		printTable.put("title", "领用单");
-		printTable.put("applyPerson", applyPersonInfo.get("name"));
-		printTable.put("department", applyPersonInfo.get("meta_value"));
+		printTable.put("applyPerson", applyPersonInfo.getName());
+		printTable.put("department", applyPersonInfo.getDepartment());
 		String time = new SimpleDateFormat("yyyy-MM-dd").format(info.get("create_time"));
 		printTable.put("date", time);
-		printTable.put("phone", applyPersonInfo.get("phone"));
+		if (StringUtils.isNotBlank(applyPersonInfo.getPhone())){
+			printTable.put("phone", applyPersonInfo.getPhone());
+		}
+		if (StringUtils.isNotBlank(applyPersonInfo.getProject())){
+			printTable.put("project", applyPersonInfo.getProject());
+		}
 
 		printTable.put("receiptNumber", receiptNumber);
 		for (Map.Entry<String, Integer> map  : printInfo.entrySet()) {
@@ -203,6 +228,26 @@
 		}
 	}
 
+	//报废试剂
+	public void scrapReagent(){
+		if (this.selectedOne == null) {
+			FacesUtils.warn("请选择");
+			return;
+		}
+		try {
+			String reagentCode = this.selectedOne.getReagentCode();
+			String reagentId = this.selectedOne.getReagent().getId();
+			opeUseFlowService.scrapReagent(reagentId, reagentCode, getUserId());
+			FacesUtils.warn("操作成功");
+		} catch (BusinessException e) {
+			FacesUtils.warn(e.getMessage());
+		} catch (Exception e) {
+			e.printStackTrace();
+			FacesUtils.warn("操作失败");
+		}
+
+	}
+
 	public void setStartDate(Date startDate) {
 		this.startDate = startDate;
 	}
@@ -227,4 +272,28 @@
 	public void setPrintTable(Hashtable printTable) {
 		this.printTable = printTable;
 	}
+
+	public String getContainerCode() {
+		return containerCode;
+	}
+
+	public void setContainerCode(String containerCode) {
+		this.containerCode = containerCode;
+	}
+
+	public OpeUseFlow getSelectedOne() {
+		return selectedOne;
+	}
+
+	public void setSelectedOne(OpeUseFlow selectedOne) {
+		this.selectedOne = selectedOne;
+	}
+
+	public void setOperatestate(String operatestate) {
+		this.operatestate = operatestate;
+	}
+
+	public String getOperatestate(){
+		return operatestate;
+	}
 }

--
Gitblit v1.9.2