From 8fca402ad743c884d106c0977cb792ca26bd5617 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期一, 25 一月 2021 11:11:43 +0800
Subject: [PATCH] add

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

diff --git a/src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java b/src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java
index fb59033..989d1a1 100644
--- a/src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java
@@ -1,13 +1,21 @@
 package com.nanometer.smartlab.controller;
 
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 import javax.annotation.Resource;
 
+import com.nanometer.smartlab.entity.SysUser;
+import com.nanometer.smartlab.entity.dto.ApplyListDto;
+import com.nanometer.smartlab.service.SysUserService;
+import com.nanometer.smartlab.util.Utils;
 import org.apache.log4j.Logger;
+import org.primefaces.context.RequestContext;
 import org.primefaces.model.LazyDataModel;
 import org.primefaces.model.SortOrder;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Scope;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Controller;
 
 import com.nanometer.smartlab.entity.OpeUseFlow;
@@ -37,6 +45,8 @@
 
 	private Date endDate;
 
+	private Hashtable printTable;
+
 	public String getHouseName() {
 		return houseName;
 	}
@@ -45,11 +55,18 @@
 		this.houseName = houseName;
 	}
 
+	@Value("${institute.name}")
+	String instituteName;
+
 	@Resource
 	private OpeUseFlowService opeUseFlowService;
 
 	@Resource
 	private SysReagentService sysReagentService;
+
+	@Resource
+	private SysUserService sysUserService;
+
 
 	private List<SysReagent> reagentSelectList;
 
@@ -132,7 +149,48 @@
 		this.reagentCode = reagentCode;
 	}
 
+	/**
+	 * 生成领用单
+	 */
+	public void generateRecipients(OpeUseFlow ouf) {
+		String receiptNumber = ouf.getReceiptNumber();
+		String code = ouf.getReagentCode();
+		//id:个数
+		Map<String, 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 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"));
+		String time = new SimpleDateFormat("yyyy-MM-dd").format(info.get("create_time"));
+		printTable.put("date", time);
+		printTable.put("phone", applyPersonInfo.get("phone"));
 
+		printTable.put("receiptNumber", receiptNumber);
+		for (Map.Entry<String, Integer> map  : printInfo.entrySet()) {
+			ApplyListDto lis = new ApplyListDto();
+			Map reagentDetail = sysReagentService.getReagentDetail(map.getKey());
+			lis.setNum(map.getValue().toString()); //数量
+			lis.setMainMetering(String.format("%s%s", reagentDetail.get("main_metering"), reagentDetail.get("unit")));
+			lis.setControlProducts((String) reagentDetail.get("controlProducts"));
+			lis.setProductName((String) reagentDetail.get("name"));
+			lis.setReagentFormat((String) reagentDetail.get("reagentFormat"));
+			lis.setProductCode((String)reagentDetail.get("productCode"));
+			lis.setMemo((String)reagentDetail.get("memo"));
+			applyList.add(lis);
+			sum += map.getValue();
+		}
+		applyList.add(new ApplyListDto("合计", "", "", "", "", String.valueOf(sum), ""));
+		printTable.put("applyList", applyList);
+
+	}
 	public Date getStartDate() {
 		if (null == startDate){
 			Date now = new Date();
@@ -160,4 +218,13 @@
 	public void setEndDate(Date endDate) {
 		this.endDate = endDate;
 	}
+
+
+	public Hashtable getPrintTable() {
+		return printTable;
+	}
+
+	public void setPrintTable(Hashtable printTable) {
+		this.printTable = printTable;
+	}
 }

--
Gitblit v1.9.2