From 1116c716786ef8c0ca2075d403b22483a36e98b6 Mon Sep 17 00:00:00 2001 From: gdg <764716047@qq.com> Date: 星期四, 28 一月 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