From 47a751cb301d05276ae5d75145d57b2d090fe4e1 Mon Sep 17 00:00:00 2001 From: kongzy <kongzy> Date: 星期一, 01 七月 2024 10:58:35 +0800 Subject: [PATCH] change --- src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java | 287 ++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 203 insertions(+), 84 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java b/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java index 948123a..0f8fe6f 100644 --- a/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java @@ -5,6 +5,8 @@ import com.nanometer.smartlab.entity.SysReagent; import com.nanometer.smartlab.entity.SysUser; import com.nanometer.smartlab.entity.enumtype.ApplyStatus; +import com.nanometer.smartlab.entity.enumtype.ValidFlag; +import com.nanometer.smartlab.exception.BusinessException; import com.nanometer.smartlab.service.*; import com.nanometer.smartlab.util.Constants; import com.nanometer.smartlab.util.FacesUtils; @@ -15,7 +17,9 @@ import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.primefaces.context.RequestContext; +import org.primefaces.event.FileUploadEvent; import org.primefaces.event.SelectEvent; +import org.primefaces.event.TabChangeEvent; import org.primefaces.model.LazyDataModel; import org.primefaces.model.SortOrder; import org.springframework.context.annotation.Scope; @@ -69,22 +73,21 @@ private Timestamp endDeadline; private Integer status; private Integer favor; - private boolean favorFlag; private List<ApplyStatus> statusSelectList; + private String controlProduct; + private LazyDataModel<SysReagent> reagentDataModel; + private LazyDataModel<SysReagent> reagentFavorDataModel; private String applyNewReagentName; private String applyNewCas; private String applyNewSn; private SysReagent selectReagent; + private int tabValue; + private boolean isFlush = false; - public boolean isFavorFlag() { - return favorFlag; - } - public void setFavorFlag(boolean favorFlag) { - this.favorFlag = favorFlag; - } + public SysReagent getSelectReagent() { return selectReagent; @@ -93,6 +96,7 @@ public void setSelectReagent(SysReagent selectReagent) { try { sysUserService.updateUserFavor(selectReagent, getUser()); + this.isFlush = true; } catch (Exception e) { e.printStackTrace(); FacesUtils.warn(e.getMessage()); @@ -117,7 +121,7 @@ } private List<SysUser> approveUserSelectList; - private SysReagent sysReagent; + private SysReagent sysReagent=new SysReagent(); private LazyDataModel<OpeApply> applyHistoryDataModel; @@ -139,7 +143,7 @@ } public void initApproveUserSelectList() { - this.approveUserSelectList = this.sysUserService.getHasProjectSysUserList(this.getUserDepartment()); + this.approveUserSelectList = this.sysUserService.getHasProjectSysUserList(this.getUserDepartment(),this.getUserProject()); if (!CollectionUtils.isEmpty(this.approveUserSelectList)){ if(this.selectedList == null){ this.sysProjectList = sysProjectService.getSysProjectList(this.approveUserSelectList.get(0).getId()); @@ -238,7 +242,7 @@ if(selectedList!=null&&selectedList.size()>0){ realDataList=selectedList; }else { - realDataList=opeApplyService.getOpeApplyList(reagentName, startDeadline, endDeadline, status, getUserId(), null, queryCAS, null, null,null,applyUserName); + realDataList=opeApplyService.getOpeApplyList(reagentName, startDeadline,controlProduct, endDeadline, status, getUserId(), null, queryCAS, null, null,null,applyUserName,(byte)1); } List<String> headerList = new ArrayList<>(); @@ -251,15 +255,19 @@ headerList.add("含税售价"); headerList.add("CAS号"); headerList.add("危险性质"); + headerList.add("供应商"); headerList.add("厂家"); headerList.add("试剂类型"); headerList.add("申购数量"); headerList.add("申购人"); + headerList.add("申购人课题组"); + headerList.add("申购人部门"); headerList.add("申购日期"); headerList.add("一级审批者"); headerList.add("二级审批者"); headerList.add("订单状态"); headerList.add("审批批注"); + HSSFWorkbook hssfWorkbook =exportExcelNew(headerList, realDataList); hssfWorkbook.write(out); out.flush(); @@ -298,6 +306,22 @@ } } + + + public void uploadApply(FileUploadEvent event){ + try { + opeApplyService.importApply(event, getUser()); + FacesUtils.info("导入成功"); + } catch (BusinessException e) { + FacesUtils.warn(e.getMessage()); + } catch (Exception e) { + e.printStackTrace(); + FacesUtils.warn("导入失败,请联系管理员"); + } + + } + + public HSSFWorkbook exportExcelNew(List<String> headerList, List<OpeApply> dataList) { HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); @@ -309,31 +333,37 @@ titlerRow.createCell(i).setCellValue(headerList.get(i)); } for (int i = 0; i < dataList.size(); i++) { - System.out.println(dataList.get(i)); HSSFRow dataRow = sheet.createRow(i + 1); dataRow.createCell(0).setCellValue(dataList.get(i).getApplyCode()== null ? "": String.valueOf(dataList.get(i).getApplyCode())); dataRow.createCell(1).setCellValue(dataList.get(i).getReagent().getProductSn()== null ? "": String.valueOf(dataList.get(i).getReagent().getProductSn())); dataRow.createCell(2).setCellValue(dataList.get(i).getReagent().getName()== null ? "": String.valueOf(dataList.get(i).getReagent().getName())); - dataRow.createCell(3).setCellValue(dataList.get(i).getReagent().getControlProducts()== null ? "": String.valueOf(baseMetaService.getBaseMetaValue(dataList.get(i).getReagent().getControlProducts()))); - dataRow.createCell(4).setCellValue(dataList.get(i).getReagent().getReagentFormat()== null ? "": String.valueOf(baseMetaService.getBaseMetaValue(dataList.get(i).getReagent().getReagentFormat()))); - dataRow.createCell(5).setCellValue(dataList.get(i).getReagent().getMainMetering()== null ? "": String.valueOf(dataList.get(i).getReagent().getMainMetering())+baseMetaService.getBaseMetaValue(dataList.get(i).getReagent().getReagentUnit())); + dataRow.createCell(3).setCellValue(dataList.get(i).getReagent().getControlProducts()== null ? "": String.valueOf(dataList.get(i).getReagent().getControlProducts())); + dataRow.createCell(4).setCellValue(dataList.get(i).getReagent().getReagentFormat()== null ? "": String.valueOf(dataList.get(i).getReagent().getReagentFormat())); + dataRow.createCell(5).setCellValue(dataList.get(i).getReagent().getMainMetering()== null ? "": String.valueOf(dataList.get(i).getReagent().getMainMetering())+dataList.get(i).getReagent().getReagentUnit()); dataRow.createCell(6).setCellValue(dataList.get(i).getReagent().getPrice()== null ? "": String.valueOf(dataList.get(i).getReagent().getPrice())); dataRow.createCell(7).setCellValue(dataList.get(i).getReagent().getCas()== null ? "": String.valueOf(dataList.get(i).getReagent().getCas())); - dataRow.createCell(8).setCellValue(dataList.get(i).getReagent().getReagentCharacter()== null ? "": String.valueOf(baseMetaService.getBaseMetaValue(dataList.get(i).getReagent().getReagentCharacter()))); - dataRow.createCell(9).setCellValue(dataList.get(i).getReagent().getProductHomeName()== null ? "": String.valueOf(dataList.get(i).getReagent().getProductHomeName())); - dataRow.createCell(10).setCellValue(dataList.get(i).getReagent().getReagentType()== null ? "": String.valueOf(baseMetaService.getBaseMetaValue(dataList.get(i).getReagent().getReagentType()))); - dataRow.createCell(11).setCellValue(String.valueOf(dataList.get(i).getNum())); - dataRow.createCell(12).setCellValue(String.valueOf(dataList.get(i).getApplyUserName())); - dataRow.createCell(13).setCellValue(String.valueOf(dataList.get(i).getCreateTime())); + dataRow.createCell(8).setCellValue(dataList.get(i).getReagent().getReagentCharacter()== null ? "": String.valueOf(dataList.get(i).getReagent().getReagentCharacter())); + dataRow.createCell(9).setCellValue(dataList.get(i).getReagent().getSupplierName()== null ? "": String.valueOf(dataList.get(i).getReagent().getSupplierName())); + + + dataRow.createCell(10).setCellValue(dataList.get(i).getReagent().getProductHome()== null ? "": String.valueOf(dataList.get(i).getReagent().getProductHome())); + dataRow.createCell(11).setCellValue(dataList.get(i).getReagent().getReagentType()== null ? "": String.valueOf(dataList.get(i).getReagent().getReagentType())); + dataRow.createCell(12).setCellValue(String.valueOf(dataList.get(i).getNum())); + dataRow.createCell(13).setCellValue(String.valueOf(dataList.get(i).getApplyUserName())); + dataRow.createCell(14).setCellValue(dataList.get(i).getApplyUserProject() == null?"":String.valueOf(dataList.get(i).getApplyUserProject())); + dataRow.createCell(15).setCellValue(dataList.get(i).getApplyUserDepartment() == null?"":String.valueOf(dataList.get(i).getApplyUserDepartment())); + + + dataRow.createCell(16).setCellValue(String.valueOf(dataList.get(i).getCreateTime())); // SysUser u=sysUserService.getSysUser(dataList.get(i).getApproveUserId()); - dataRow.createCell(14).setCellValue(String.valueOf(dataList.get(i).getFirName())); - if(dataList.get(i).getBeforeApproveUserId()!=null && !dataList.get(i).getBeforeApproveUserId().equals("")){ + dataRow.createCell(17).setCellValue(String.valueOf(dataList.get(i).getFirName())); + if(dataList.get(i).getBeforeApproveUserId()!=null){ //u=sysUserService.getSysUser(dataList.get(i).getBeforeApproveUserId()); - dataRow.createCell(15).setCellValue(String.valueOf(dataList.get(i).getApproveUserName())); + dataRow.createCell(18).setCellValue(String.valueOf(dataList.get(i).getApproveUserName())); } //dataRow.createCell(14).setCellValue(String.valueOf(u.getName())); - dataRow.createCell(16).setCellValue(String.valueOf(dataList.get(i).getStatus().getText())); - dataRow.createCell(17).setCellValue(dataList.get(i).getMemo()==null ?"":String.valueOf(dataList.get(i).getMemo())); + dataRow.createCell(19).setCellValue(String.valueOf(dataList.get(i).getStatus().getText())); + dataRow.createCell(20).setCellValue(dataList.get(i).getMemo()==null ?"":String.valueOf(dataList.get(i).getMemo())); } return hssfWorkbook; @@ -382,7 +412,7 @@ return; } if (this.opeApply.getReagent() == null - || StringUtils.isBlank(this.opeApply.getReagent().getId())) { + || this.opeApply.getReagent().getId()!=null) { FacesUtils.warn("请选择申购产品。"); return; } @@ -395,8 +425,13 @@ this.opeApply.setApplyCode(this.sysSequenceService.getApplyCode()); this.opeApply.setApplyUserId(applyUser.getId()); - this.opeApply.setStatus(ApplyStatus.PENDING_APPROVAL); + //this.opeApply.setStatus(ApplyStatus.PENDING_APPROVAL); this.opeApplyService.insertOpeApply(this.opeApply); + if(getActiveEnv().equalsIgnoreCase("gslab")){//姑苏实验室先进入待审批状态,然后再进入价格确认状态 + this.opeApply.setStatus(ApplyStatus.PENDING_APPROVAL); + }else{ + this.opeApply.setStatus(ApplyStatus.Price_CONFIRM); + } FacesUtils.info("新建成功。"); this.menuController.backToPage(); @@ -406,7 +441,7 @@ return; } if (this.opeApply.getReagent() == null - || StringUtils.isBlank(this.opeApply.getReagent().getId())) { + || this.opeApply.getReagent().getId()!=null) { FacesUtils.warn("请选择申购产品。"); return; } @@ -422,6 +457,19 @@ } } + public void onTabChange(TabChangeEvent event) { + if ("reagent".equals(event.getTab().getId())) { + tabValue = 0; + if (isFlush){ + RequestContext.getCurrentInstance().execute("document.querySelector('.reagentSearch').click()"); + isFlush = false; + } + }else if ("applyHistory".equals(event.getTab().getId())){ + tabValue = 1; + }else{ + tabValue = 2; + } + } public void onReagentNewBtnClick() { this.sysReagent = new SysReagent(); } @@ -432,8 +480,6 @@ FacesUtils.warn("新建对象为空。"); return; } - - this.sysReagent.setId(IDUtils.uuid()); this.sysReagentService.insertSysReagent(this.sysReagent); FacesUtils.info("新建成功。"); @@ -471,10 +517,10 @@ public List<OpeApply> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) { List<OpeApply> list = null; try { - int count = opeApplyService.getOpeApplyTotalCount(reagentName, startDeadline, endDeadline, status, getUserId(), null, queryCAS,null,applyUserName); + int count = opeApplyService.getOpeApplyTotalCount(reagentName, startDeadline,controlProduct, endDeadline, status, getUserId(), null, queryCAS,null,applyUserName,(byte)1); this.setRowCount(count); if (count > 0) { - list = opeApplyService.getOpeApplyList(reagentName, startDeadline, endDeadline, status, getUserId(), null, queryCAS, first, pageSize,null,applyUserName); + list = opeApplyService.getOpeApplyList(reagentName, startDeadline,controlProduct, endDeadline, status, getUserId(), null, queryCAS, first, pageSize,null,applyUserName,(byte)1); for(int i=0;i<list.size();i++){ if(list.get(i).getBeforeApproveUserId()!=null&&!list.get(i).getBeforeApproveUserId().equals("")){ String name=list.get(i).getApproveUserName(); @@ -489,22 +535,24 @@ } catch (Exception e) { logger.error(e); } + selectedList = null; return list; } @Override public OpeApply getRowData(String rowKey) { - Iterator<OpeApply> iterator = this.iterator(); - if (iterator != null) { - OpeApply oa = null; - while (iterator.hasNext()) { - oa = iterator.next(); - if (rowKey.equals(oa.getId())) { - return oa; - } - } - } - return null; +// Iterator<OpeApply> iterator = this.iterator(); +// if (iterator != null) { +// OpeApply oa = null; +// while (iterator.hasNext()) { +// oa = iterator.next(); +// if (rowKey.equals(oa.getId())) { +// return oa; +// } +// } +// } + Long id=Long.valueOf(rowKey); + return opeApplyService.getOpeApply(id); } }; } @@ -519,10 +567,10 @@ public List<SysReagent> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) { List<SysReagent> list = null; try { - int count = sysReagentService.getSysReagentTotalCount2(getUser(),favorFlag ? 1 :null,applyNewReagentName, applyNewCas, applyNewSn,null); + int count = sysReagentService.reagentCount(getUser(), applyNewReagentName, applyNewCas, null, applyNewSn); this.setRowCount(count); if (count > 0) { - list = sysReagentService.getSysReagentList2(getUser(),favorFlag ? 1 : null,applyNewReagentName, applyNewCas, applyNewSn,null, first, pageSize); + list = sysReagentService.reagentList(getUser(), applyNewReagentName, applyNewCas, null, applyNewSn, first, pageSize,count); } } catch (Exception e) { logger.error(e); @@ -532,22 +580,63 @@ @Override public SysReagent getRowData(String rowKey) { - Iterator<SysReagent> iterator = this.iterator(); - if (iterator != null) { - SysReagent sr = null; - while (iterator.hasNext()) { - sr = iterator.next(); - if (rowKey.equals(sr.getId())) { - return sr; - } - } - } - return null; +// Iterator<SysReagent> iterator = this.iterator(); +// if (iterator != null) { +// SysReagent sr = null; +// while (iterator.hasNext()) { +// sr = iterator.next(); +// if (rowKey.equals(sr.getId())) { +// return sr; +// } +// } +// } + Long id=Long.valueOf(rowKey); + return sysReagentService.getRowData(id); } }; } return reagentDataModel; + } + + + public LazyDataModel<SysReagent> getReagentFavorDataModel() { + if (this.reagentFavorDataModel == null) { + this.reagentFavorDataModel = new LazyDataModel<SysReagent>() { + @Override + public List<SysReagent> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) { + List<SysReagent> list = null; + try { + int count = sysReagentService.favorCount(getUser(), null, null, null,null,1); + this.setRowCount(count); + if (count > 0) { + list = sysReagentService.favorList(getUser(),null, null,null, null,1, first, pageSize); + } + } catch (Exception e) { + logger.error(e); + } + return list; + } + + @Override + public SysReagent getRowData(String rowKey) { +// Iterator<SysReagent> iterator = this.iterator(); +// if (iterator != null) { +// SysReagent sr = null; +// while (iterator.hasNext()) { +// sr = iterator.next(); +// if (rowKey.equals(sr.getId())) { +// return sr; +// } +// } +// } + Long id=Long.valueOf(rowKey); + return sysReagentService.getRowData(id); + } + }; + } + + return reagentFavorDataModel; } public LazyDataModel<OpeApply> getApplyHistoryDataModel() { @@ -557,15 +646,16 @@ public List<OpeApply> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) { List<OpeApply> list = null; try { - String applyUserId = getUserId(); + Long applyUserId = getUserId(); int count = 0; - if (StringUtils.isNotBlank(applyUserId)) { - count = opeApplyService.getOpeApplyTotalCount(null, null, null, null, applyUserId, null, null,applyCode,null); + if (applyUserId!=null) { + count = opeApplyService.getOpeApplyTotalCount(null, null, null,null, null, applyUserId, null, null,applyCode,null,(byte)1); } this.setRowCount(count); if (count > 0) { - list = opeApplyService.getOpeApplyList(null, null, null, null, applyUserId, null, null, first, pageSize,applyCode,null); + list = opeApplyService.getOpeApplyList(null, null,null, null, null, applyUserId, null, null, first, pageSize,applyCode,null,(byte)1); } + selectedList = null; } catch (Exception e) { logger.error(e); } @@ -574,17 +664,18 @@ @Override public OpeApply getRowData(String rowKey) { - Iterator<OpeApply> iterator = this.iterator(); - if (iterator != null) { - OpeApply oa = null; - while (iterator.hasNext()) { - oa = iterator.next(); - if (rowKey.equals(oa.getId())) { - return oa; - } - } - } - return null; +// Iterator<OpeApply> iterator = this.iterator(); +// if (iterator != null) { +// OpeApply oa = null; +// while (iterator.hasNext()) { +// oa = iterator.next(); +// if (rowKey.equals(oa.getId())) { +// return oa; +// } +// } +// } + Long id=Long.valueOf(rowKey); + return opeApplyService.getOpeApply(id); } }; } @@ -630,7 +721,7 @@ return; } - List<String> selectedIds = new ArrayList<String>(); + List<Long> selectedIds = new ArrayList<Long>(); for (OpeApply oa : this.applyNewSelectedList) { selectedIds.add(oa.getReagent().getId()); @@ -669,14 +760,23 @@ return; } - //申请一个申购编号 - String applyCode = this.sysSequenceService.getApplyCode(); for (OpeApply opeApply : this.applyNewList) { - - opeApply.setId(IDUtils.uuid()); + if (opeApply.getReagent().getValidFlag() == null + ||opeApply.getReagent().getValidFlag().equals(ValidFlag.INVALID)){ + FacesUtils.warn(opeApply.getReagent().getName()+",该试剂已删除,请选择其他试剂"); + return; + } + if (opeApply.getReagent().getType() == 1 + && (opeApply.getReagent().getSupplierFlag() == null + || opeApply.getReagent().getSupplierFlag().equals(ValidFlag.INVALID))){ + FacesUtils.warn(opeApply.getReagent().getName()+",该试剂供应商已删除,请选择其他试剂"); + return; + } + //申请一个申购编号 + String applyCode = this.sysSequenceService.getApplyCode(); opeApply.setApplyCode(applyCode); opeApply.setApplyUserId(applyUser.getId()); - opeApply.setStatus(ApplyStatus.PENDING_APPROVAL); + opeApply.setStatus(ApplyStatus.Price_CONFIRM); } this.opeApplyService.insertOpeApplyList(this.applyNewList); @@ -704,7 +804,7 @@ public void onSaveBtnClickNew() { if (this.opeApply.getReagent() == null - || StringUtils.isBlank(this.opeApply.getReagent().getId())) { + || this.opeApply.getReagent().getId()==null) { FacesUtils.warn("请选择申购产品。"); RequestContext.getCurrentInstance().execute("PF('applyDialog').hide()"); return; @@ -765,10 +865,21 @@ return ""; } - public String getProjectName(String projectId) { +// public String getProjectName(String projectId) { +// String projectName = null; +// if (!CollectionUtils.isEmpty(this.sysProjectList)) { +// Optional<SysProject> first = this.sysProjectList.parallelStream().filter(sysProject -> StringUtils.isNotBlank(projectId) && StringUtils.isNotBlank(sysProject.getProjectId()) && projectId.equals(sysProject.getProjectId())).findFirst(); +// if (first.isPresent()) { +// projectName = first.get().getProjectName(); +// } +// } +// return projectName; +// } + + public String getProjectName(Long projectId) { String projectName = null; if (!CollectionUtils.isEmpty(this.sysProjectList)) { - Optional<SysProject> first = this.sysProjectList.parallelStream().filter(sysProject -> StringUtils.isNotBlank(projectId) && StringUtils.isNotBlank(sysProject.getProjectId()) && projectId.equals(sysProject.getProjectId())).findFirst(); + Optional<SysProject> first = this.sysProjectList.parallelStream().filter(sysProject -> projectId!=null && sysProject.getId()!=null && projectId.equals(sysProject.getId())).findFirst(); if (first.isPresent()) { projectName = first.get().getProjectName(); } @@ -915,11 +1026,19 @@ } - public Integer getFavor() { - return favor; + public int getTabValue() { + return tabValue; } - public void setFavor(Integer favor) { - this.favor = favor; + public void setTabValue(int tabValue) { + this.tabValue = tabValue; + } + + public String getControlProduct() { + return controlProduct; + } + + public void setControlProduct(String controlProduct) { + this.controlProduct = controlProduct; } } -- Gitblit v1.9.2