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 | 170 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 153 insertions(+), 17 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..03dd8aa 100644 --- a/src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java +++ b/src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java @@ -1,13 +1,24 @@ 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.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; 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 +48,12 @@ private Date endDate; + private Hashtable printTable; + + private String containerCode; + + private String operatestate; + public String getHouseName() { return houseName; } @@ -45,13 +62,22 @@ this.houseName = houseName; } + @Value("${institute.name}") + String instituteName; + @Resource private OpeUseFlowService opeUseFlowService; @Resource private SysReagentService sysReagentService; + @Resource + private SysUserService sysUserService; + + private List<SysReagent> reagentSelectList; + + private OpeUseFlow selectedOne; public List<SysReagent> getReagentSelectList() { if (this.reagentSelectList == null) { @@ -81,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); } @@ -94,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() { @@ -132,7 +169,53 @@ 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); + SysUser applyPersonInfo = sysUserService.getUser(info.get("user_id")); + printTable.put("head", instituteName); + printTable.put("title", "领用单"); + 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); + 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()) { + 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(); @@ -143,6 +226,26 @@ }else { return startDate; } + } + + //报废试剂 + 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) { @@ -160,4 +263,37 @@ public void setEndDate(Date endDate) { this.endDate = endDate; } + + + public Hashtable getPrintTable() { + return printTable; + } + + 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