From 1116c716786ef8c0ca2075d403b22483a36e98b6 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: Thu, 28 Jan 2021 14:28:46 +0800
Subject: [PATCH] 个人领用
---
src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java | 182 ++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 178 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java b/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java
index 0b1b469..bd1da35 100644
--- a/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java
@@ -1,16 +1,22 @@
package com.nanometer.smartlab.controller;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.util.*;
import javax.annotation.Resource;
+import com.nanometer.smartlab.entity.OpeUseFlow;
+import com.nanometer.smartlab.entity.SysLaboratory;
+import com.nanometer.smartlab.entity.dto.ApplyListDto;
+import com.nanometer.smartlab.entity.dto.PersonUseDetail;
+import com.nanometer.smartlab.service.SysLaboratoryService;
import com.nanometer.smartlab.util.FacesUtils;
+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.stereotype.Controller;
@@ -38,6 +44,10 @@
@Resource
private SysReagentService sysReagentService;
+ @Resource
+ private SysLaboratoryService sysLaboratoryService;
+ @Value("${institute.name}")
+ String instituteName;
/**
* 数据源
@@ -48,6 +58,13 @@
private String applyPerson;
private Date startTime;
private Date endTime;
+ private String project;
+ private String department;
+ private String receiptNumber;
+ private LazyDataModel<OpeUseFlow> dataModel2;
+ private OpeUseFlow selectOne;
+ private List<PersonUseDetail> personUseDetail;
+ private Hashtable<String,Object> printTable;
private List<OpeReagentStatus> selectedList;
private List<SysReagent> reagentSelectList;
@@ -109,7 +126,75 @@
}
+ /**
+ * 生成领用单
+ */
+ public void generateReceipt() {
+ if (this.selectOne == null) {
+ FacesUtils.warn("请选择数据");
+ return;
+ }
+
+ printTable = new Hashtable<>();
+ printTable.put("head", instituteName);
+ printTable.put("title", "领用单");
+ printTable.put("applyPerson", selectOne.getUserName());
+ printTable.put("department", selectOne.getDepartment());
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ printTable.put("date", dateFormat.format(selectOne.getCreateTime()));
+ printTable.put("phone", selectOne.getPhone());
+ printTable.put("receiptNumber", selectOne.getReceiptNumber());
+ printTable.put("project", selectOne.getProject());
+ SysLaboratory sysLaboratory = sysLaboratoryService.getSysLaboratory(selectOne.getHouseId());
+ printTable.put("lab", sysLaboratory.getName());
+ //整理数据
+ List<PersonUseDetail> applyInfo = opeUseFlowService.getApplyInfo(selectOne.getReceiptNumber());
+ assert applyInfo.size() > 0;
+ List<ApplyListDto> applyList = new ArrayList<>();
+ Map<String, Integer> map = new HashMap<>();
+ for (PersonUseDetail pud : applyInfo) {
+ if (map.containsKey(pud.getReagentId())) {
+ map.put(pud.getReagentId(), map.get(pud.getReagentId()) + 1);
+ }else{
+ map.put(pud.getReagentId(), 1);
+ }
+ }
+ int sum = 0;
+ for (Map.Entry<String,Integer> entry : map.entrySet()) {
+ ApplyListDto apply = new ApplyListDto();
+ for (PersonUseDetail pud : applyInfo) {
+ if (entry.getKey().equals(pud.getReagentId())) {
+ apply.setControlProducts(pud.getControlProducts());
+ apply.setMainMetering(pud.getPerInfo());
+ apply.setNum(entry.getValue().toString());
+ apply.setProductCode(pud.getProductSn());
+ apply.setProductName(pud.getReagentName());
+ apply.setReagentFormat(pud.getReagentFormat());
+ applyList.add(apply);
+ sum += entry.getValue();
+ break;
+ }
+ }
+ }
+
+ applyList.add(new ApplyListDto("合计", "", "", "", "", String.valueOf(sum), ""));
+ printTable.put("applyList", applyList);
+ RequestContext.getCurrentInstance().execute("PF('printDialog').show()");
+ }
+
+ /**
+ * 查看详情
+ */
+
+ public void detailInfo() {
+ if (this.selectOne == null) {
+ FacesUtils.warn("请选择数据");
+ }
+
+ personUseDetail = opeUseFlowService.getApplyInfo(selectOne.getReceiptNumber());
+
+ }
@SuppressWarnings("serial")
public LazyDataModel<OpeReagentStatus> getDataModel() {
@@ -151,6 +236,45 @@
return dataModel;
}
+ public LazyDataModel<OpeUseFlow> getDataModel2() {
+ if (this.dataModel2 == null) {
+ this.dataModel2 = new LazyDataModel<OpeUseFlow>() {
+ @Override
+ public List<OpeUseFlow> load(int first, int pageSize, String sortField, SortOrder sortOrder,
+ Map<String, Object> filters) {
+ List<OpeUseFlow> list = null;
+ try {
+ int count = opeUseFlowService.getPersonalUseInfoCount(reagentCode, getUserId(),startTime,endTime,receiptNumber,department,project);
+ this.setRowCount(count);
+ if (count > 0) {
+ list = opeUseFlowService.getPersonalUseInfoList
+ (reagentCode, getUserId(),startTime,endTime ,receiptNumber,department,project,first,pageSize);
+ }
+ } catch (Exception e) {
+ logger.error(e);
+ }
+ return list;
+ }
+
+ @Override
+ public OpeUseFlow getRowData(String rowKey) {
+ Iterator<OpeUseFlow> iterator = this.iterator();
+ if (iterator != null) {
+ OpeUseFlow su = null;
+ while (iterator.hasNext()) {
+ su = iterator.next();
+ if (rowKey.equals(su.getReceiptNumber())) {
+ return su;
+ }
+ }
+ }
+ return null;
+ }
+ };
+ }
+ return dataModel2;
+ }
+
public String getReagentId() {
return reagentId;
}
@@ -191,4 +315,54 @@
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
+
+ public String getProject() {
+ return project;
+ }
+
+ public void setProject(String project) {
+ this.project = project;
+ }
+
+ public String getDepartment() {
+ return department;
+ }
+
+ public void setDepartment(String department) {
+ this.department = department;
+ }
+
+ public String getReceiptNumber() {
+ return receiptNumber;
+ }
+
+ public void setReceiptNumber(String receiptNumber) {
+ this.receiptNumber = receiptNumber;
+ }
+
+
+ public OpeUseFlow getSelectOne() {
+ return selectOne;
+ }
+
+ public void setSelectOne(OpeUseFlow selectOne) {
+ this.selectOne = selectOne;
+ }
+
+
+ public List<PersonUseDetail> getPersonUseDetail() {
+ return personUseDetail;
+ }
+
+ public void setPersonUseDetail(List<PersonUseDetail> personUseDetail) {
+ this.personUseDetail = personUseDetail;
+ }
+
+ public Hashtable getPrintTable() {
+ return printTable;
+ }
+
+ public void setPrintTable(Hashtable printTable) {
+ this.printTable = printTable;
+ }
}
--
Gitblit v1.9.2