From 7da4353b03a540e1de6f3b848a9613f84517db69 Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期四, 10 三月 2022 12:28:16 +0800
Subject: [PATCH] 申购后进入价格确认环节,可修改价格
---
src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java | 2
src/main/java/com/nanometer/smartlab/entity/enumtype/ApplyStatus.java | 1
src/main/webapp/WEB-INF/spring-menu.xml | 8
src/main/java/com/nanometer/smartlab/controller/PriceMngController.java | 502 +++++++++++++++++++++++++++++++++++++++++
src/main/webapp/price_mng.xhtml | 201 ++++++++++++++++
5 files changed, 713 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java b/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java
index 848286f..4fcfea1 100644
--- a/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java
@@ -766,7 +766,7 @@
opeApply.setId(IDUtils.uuid());
opeApply.setApplyCode(applyCode);
opeApply.setApplyUserId(applyUser.getId());
- opeApply.setStatus(ApplyStatus.PENDING_APPROVAL);
+ opeApply.setStatus(ApplyStatus.Price_CONFIRM);
}
this.opeApplyService.insertOpeApplyList(this.applyNewList);
diff --git a/src/main/java/com/nanometer/smartlab/controller/PriceMngController.java b/src/main/java/com/nanometer/smartlab/controller/PriceMngController.java
new file mode 100644
index 0000000..a240bd2
--- /dev/null
+++ b/src/main/java/com/nanometer/smartlab/controller/PriceMngController.java
@@ -0,0 +1,502 @@
+package com.nanometer.smartlab.controller;
+
+import com.nanometer.smartlab.entity.OpeApply;
+import com.nanometer.smartlab.entity.SysProject;
+import com.nanometer.smartlab.entity.SysUser;
+import com.nanometer.smartlab.entity.enumtype.ApplyStatus;
+import com.nanometer.smartlab.entity.enumtype.SeeFlag;
+import com.nanometer.smartlab.service.BaseMetaService;
+import com.nanometer.smartlab.service.OpeApplyService;
+import com.nanometer.smartlab.service.SysProjectService;
+import com.nanometer.smartlab.service.SysUserService;
+import com.nanometer.smartlab.util.FacesUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.log4j.Logger;
+import org.apache.poi.hssf.usermodel.HSSFRow;
+import org.apache.poi.hssf.usermodel.HSSFSheet;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.primefaces.context.RequestContext;
+import org.primefaces.model.LazyDataModel;
+import org.primefaces.model.SortOrder;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Controller;
+
+import javax.annotation.Resource;
+import javax.faces.context.FacesContext;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Timestamp;
+import java.util.*;
+
+/**
+ * Created by johnny on 17/12/14.
+ */
+@Controller
+@Scope("session")
+public class PriceMngController extends BaseController {
+
+ private static Logger logger = Logger.getLogger(PriceMngController.class);
+
+ @Resource
+ private OpeApplyService opeApplyService;
+ @Resource
+ private SysUserService sysUserService;
+ @Resource
+ private BaseMetaService baseMetaService;
+
+ @Resource
+ private SysProjectService sysProjectService;
+
+
+
+
+
+
+ private String applyUserName;
+ private String approvaUserName;
+
+ public String getApplyUserName() {
+ return applyUserName;
+ }
+
+ public void setApplyUserName(String applyUserName) {
+ this.applyUserName = applyUserName;
+ }
+
+ public String getApprovaUserName() {
+ return approvaUserName;
+ }
+
+ public void setApprovaUserName(String approvaUserName) {
+ this.approvaUserName = approvaUserName;
+ }
+
+ private LazyDataModel<OpeApply> dataModel;
+ private List<OpeApply> selectedList;
+ private OpeApply opeApply;
+ private String reagentName;
+ private Timestamp startDeadline;
+ private Timestamp endDeadline;
+ private String applyUserId;
+ private Integer status;
+ private List<ApplyStatus> statusSelectList;
+ private String memo;
+ private String approvalUserId;
+ private List<SysUser> approvalUserList;
+ private Boolean approvalFlag;
+
+ public Boolean getApprovalFlag() {
+ String id=getUserId();
+ SysUser sysUser = sysUserService.getSysUser(id);
+ // 不是管理员时
+ if (sysUser.getSeeFlag().getKey() != SeeFlag.MANAGE.getKey()
+ && sysUser.getSeeFlag().getKey() != SeeFlag.LEADING.getKey()) {
+ this.approvalFlag=false;
+ }else {
+ this.approvalFlag=true;
+ }
+ return approvalFlag;
+ }
+
+
+ public void setApprovalFlag(Boolean approvalFlag) {
+ this.approvalFlag = approvalFlag;
+ }
+
+ public String getApprovalUserId() {
+ return approvalUserId;
+ }
+
+ public void setApprovalUserId(String approvalUserId) {
+ this.approvalUserId = approvalUserId;
+ }
+
+ public List<SysUser> getApprovalUserList() {
+ if (this.approvalUserList == null) {
+ initApprovalUserList();
+ }
+ return approvalUserList;
+ }
+ public void initApprovalUserList() {
+ this.approvalUserList = this.sysUserService.getApproverUserList(null);
+ }
+ public void setApprovalUserList(List<SysUser> approvalUserList) {
+ this.approvalUserList = approvalUserList;
+ }
+
+ private String adminApproveUserId;
+
+ private List<SysUser> adminApproveUserIdSelectList;
+
+ private boolean dangerousFlag;
+
+ public void initListPage() {
+ status = ApplyStatus.Price_CONFIRM.getKey();
+ }
+
+
+ public void onApprovalBtnClick() {
+ if (this.selectedList == null
+ || this.selectedList.size() == 0) {
+ FacesUtils.warn("请选择数据。");
+ return;
+ }
+
+ this.dangerousFlag = false;
+ this.adminApproveUserId = null;
+ for (OpeApply opeApply : this.selectedList) {
+ if (!opeApply.getStatus().equals(ApplyStatus.Price_CONFIRM)) {
+ FacesUtils.warn("只有价格确认状态的数据可以操作。");
+ return;
+ }
+
+ String controlProducts = opeApply.getReagent().getControlProducts();
+ if (StringUtils.isNotBlank(controlProducts)) {
+ String baseMetaValue = baseMetaService.getBaseMetaValue(controlProducts);
+ if (StringUtils.isNotBlank(baseMetaValue) && !"15fc90a1f7bf43bda01313904b543195".equals(this.getUser().getRoleId())) {
+ dangerousFlag = true;
+ }
+ }
+ }
+
+ this.memo = null;
+
+ RequestContext.getCurrentInstance().execute("PF('approvalDialog').show()");
+ }
+
+ public void onYesBtnClick() {
+ try {
+ if (this.selectedList == null
+ || this.selectedList.size() == 0) {
+ FacesUtils.warn("价格修改数据为空。");
+ return;
+ }
+
+ if (!getUser().getRoleName().equals("系统管理员")) {
+ FacesUtils.warn("请选择系统管理员修改。");
+ return;
+ }
+
+ for (OpeApply opeApply : this.selectedList) {
+ this.opeApplyService.updaetOpeApplyPrice(opeApply.getApplyPrice(),opeApply.getId());
+ }
+ FacesUtils.info("价格修改成功。");
+ RequestContext.getCurrentInstance().execute("PF('approvalDialog').hide()");
+ RequestContext.getCurrentInstance().update("priceMngForm:priceMngDataTable");
+ } catch (Exception e) {
+ logger.error("操作失败。", e);
+ FacesUtils.warn("操作失败。");
+ }
+ }
+
+ public void onExportFileBtnClickNew(){
+ ServletOutputStream out = null;
+ InputStream is = null;
+ try {
+ FacesContext ctx = FacesContext.getCurrentInstance();
+ ctx.responseComplete();
+ String contentType = "application/x-download";
+ HttpServletResponse response = (HttpServletResponse) ctx
+ .getExternalContext().getResponse();
+ response.setContentType(contentType);
+ StringBuffer contentDisposition = new StringBuffer();
+ contentDisposition.append("attachment;");
+ contentDisposition.append("filename=\"");
+ contentDisposition.append("价格管理.xls");
+ contentDisposition.append("\"");
+ response.setHeader(
+ "Content-Disposition",
+ new String(contentDisposition.toString().getBytes(
+ System.getProperty("file.encoding")), "ISO8859-1"));
+ out = response.getOutputStream();
+ Map<String, Integer> tempMap = new HashMap<String,Integer>();
+ List<OpeApply> realDataList = new ArrayList<>();
+ //map=null;
+ String approveUserId = getUserId();
+ if(selectedList!=null&selectedList.size()>0){
+ realDataList=selectedList;
+ }else {
+ realDataList= opeApplyService.getOpeApplyListForApproval(applyUserName,approvaUserName,reagentName, startDeadline, endDeadline, status, null, approveUserId, null, null, null, null,null);
+ }
+ List<String> headerList = new ArrayList<>();
+ headerList.add("申购编号");
+ headerList.add("产品编号");
+ headerList.add("试剂名称");
+ headerList.add("管制品");
+ headerList.add("规格型号");
+ headerList.add("包装");
+ headerList.add("含税售价");
+ headerList.add("数量");
+ headerList.add("CAS号");
+ 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();
+ ctx.responseComplete();
+ }catch (Exception e) {
+ if(is!=null){
+ try {
+ is.close();
+ } catch (IOException e1) {
+ e1.printStackTrace();
+ }
+ }
+ if(out!=null){
+ try {
+ out.close();
+ } catch (IOException e1) {
+ e1.printStackTrace();
+ }
+ }
+ e.printStackTrace();
+ }finally {
+ if (is != null) {
+ try {
+ is.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ if (out != null) {
+ try {
+ out.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ }
+ public HSSFWorkbook exportExcelNew(List<String> headerList, List<OpeApply> dataList) {
+ HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
+
+
+ Integer total = null;
+ HSSFSheet sheet = hssfWorkbook.createSheet("审批详情");
+ HSSFRow titlerRow = sheet.createRow(0);
+ for(int i = 0; i < headerList.size(); i++) {
+ titlerRow.createCell(i).setCellValue(headerList.get(i));
+ }
+ for (int i = 0; i < dataList.size(); 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(6).setCellValue(dataList.get(i).getReagent().getPrice()== null ? "": String.valueOf(dataList.get(i).getReagent().getPrice()));
+ dataRow.createCell(7).setCellValue(String.valueOf(dataList.get(i).getNum()));
+ dataRow.createCell(8).setCellValue(dataList.get(i).getReagent().getCas()== null ? "": String.valueOf(dataList.get(i).getReagent().getCas()));
+ dataRow.createCell(9).setCellValue(dataList.get(i).getReagent().getReagentCharacter()== null ? "": String.valueOf(baseMetaService.getBaseMetaValue(dataList.get(i).getReagent().getReagentCharacter())));
+ dataRow.createCell(10).setCellValue(dataList.get(i).getReagent().getProductHomeName()== null ? "": String.valueOf(dataList.get(i).getReagent().getProductHomeName()));
+ dataRow.createCell(11).setCellValue(dataList.get(i).getReagent().getReagentType()== null ? "": String.valueOf(baseMetaService.getBaseMetaValue(dataList.get(i).getReagent().getReagentType())));
+
+ dataRow.createCell(12).setCellValue(String.valueOf(dataList.get(i).getApplyUserName()));
+ dataRow.createCell(13).setCellValue(String.valueOf(dataList.get(i).getCreateTime()));
+ /* SysUser u=sysUserService.getSysUser(dataList.get(i).getApproveUserId());
+ *//*if(dataList.get(i).getBeforeApproveUserId()!=null){
+ u=sysUserService.getSysUser(dataList.get(i).getBeforeApproveUserId());
+ }*//*
+ dataRow.createCell(14).setCellValue(String.valueOf(u.getName()));*/
+ dataRow.createCell(14).setCellValue(String.valueOf(dataList.get(i).getFirName()));
+ if(dataList.get(i).getBeforeApproveUserId()!=null && !dataList.get(i).getBeforeApproveUserId().equals("")){
+ dataRow.createCell(15).setCellValue(String.valueOf(dataList.get(i).getApproveUserName()));
+ }
+ dataRow.createCell(16).setCellValue(String.valueOf(dataList.get(i).getStatus().getText()));
+ SysProject project = sysProjectService.getProjectByProId(dataList.get(i).getObjective());
+ dataRow.createCell(17).setCellValue(project.getProjectName()==null ?"":String.valueOf(project.getProjectName()));
+ }
+
+ return hssfWorkbook;
+ }
+ public void onConfirmBtnClick() {
+ try {
+ if (this.selectedList == null
+ || this.selectedList.size() == 0) {
+ FacesUtils.warn("请选择数据。");
+ return;
+ }
+
+ for (OpeApply oa : this.selectedList) {
+ if (!oa.getStatus().equals(ApplyStatus.Price_CONFIRM)) {
+ FacesUtils.warn("只有价格确认状态的数据可以操作。");
+ return;
+ }
+ }
+
+ for (OpeApply oa : this.selectedList) {
+ oa.setStatus(ApplyStatus.PENDING_APPROVAL);
+ this.opeApplyService.updateOpeApply(oa);
+ }
+
+ FacesUtils.info("确认成功。");
+ } catch (Exception e) {
+ logger.error("操作失败。", e);
+ FacesUtils.warn("操作失败。");
+ }
+ }
+
+ public LazyDataModel<OpeApply> getDataModel() {
+ if (this.dataModel == null) {
+ this.dataModel = new LazyDataModel<OpeApply>() {
+ @Override
+ public List<OpeApply> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) {
+ List<OpeApply> list = null;
+ //try {
+ String approveUserId = getUserId();
+ int count = 0;
+ if (StringUtils.isNotBlank(approveUserId)) {
+ count = opeApplyService.getOpeApplyTotalCountForApproval(applyUserName,approvaUserName,reagentName, startDeadline, endDeadline, status, null, approveUserId, null, null,null);
+ }
+ this.setRowCount(count);
+ if (count > 0) {
+ list = opeApplyService.getOpeApplyListForApproval(applyUserName,approvaUserName,reagentName, startDeadline, endDeadline, status, null, approveUserId, null, first, pageSize, null,null);
+ for(int i=0;i<list.size();i++){
+ /* if(list.get(i).getSecondUserName()!=null&&!list.get(i).getSecondUserName().equals("")){
+ String name=list.get(i).getApproveUserName();
+ list.get(i).setApproveUserName(list.get(i).getSecondUserName());
+ list.get(i).setSecondUserName(name);
+ }*/
+ if(list.get(i).getBeforeApproveUserId()!=null&&!list.get(i).getBeforeApproveUserId().equals("")){
+ String name=list.get(i).getApproveUserName();
+ list.get(i).setFirst(list.get(i).getFirName());
+ list.get(i).setSecond(name);
+ }else {
+ list.get(i).setFirst(list.get(i).getApproveUserName());
+ list.get(i).setSecond(list.get(i).getSecondUserName());
+ }
+ }
+ }
+ /*} 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 opeApplyService.getOpeApply(rowKey);
+ }
+ };
+ }
+
+ return dataModel;
+ }
+
+ public OpeApply getOpeApply() {
+ return opeApply;
+ }
+
+ public void setOpeApply(OpeApply opeApply) {
+ this.opeApply = opeApply;
+ }
+
+ public String getReagentName() {
+ return reagentName;
+ }
+
+ public void setReagentName(String reagentName) {
+ this.reagentName = reagentName;
+ }
+
+ public Timestamp getStartDeadline() {
+ return startDeadline;
+ }
+
+ public void setStartDeadline(Timestamp startDeadline) {
+ this.startDeadline = startDeadline;
+ }
+
+ public Timestamp getEndDeadline() {
+ return endDeadline;
+ }
+
+ public void setEndDeadline(Timestamp endDeadline) {
+ this.endDeadline = endDeadline;
+ }
+
+ public String getApplyUserId() {
+ return applyUserId;
+ }
+
+ public void setApplyUserId(String applyUserId) {
+ this.applyUserId = applyUserId;
+ }
+
+ public Integer getStatus() {
+ return status;
+ }
+
+ public void setStatus(Integer status) {
+ this.status = status;
+ }
+
+ public List<OpeApply> getSelectedList() {
+ return selectedList;
+ }
+
+ public void setSelectedList(List<OpeApply> selectedList) {
+ this.selectedList = selectedList;
+ }
+
+ public List<ApplyStatus> getStatusSelectList() {
+ if (this.statusSelectList == null) {
+ this.statusSelectList = Arrays.asList(ApplyStatus.values());
+ }
+ return statusSelectList;
+ }
+
+ public String getMemo() {
+ return memo;
+ }
+
+ public void setMemo(String memo) {
+ this.memo = memo;
+ }
+
+ public String getAdminApproveUserId() {
+ return adminApproveUserId;
+ }
+
+ public void setAdminApproveUserId(String adminApproveUserId) {
+ this.adminApproveUserId = adminApproveUserId;
+ }
+
+ public List<SysUser> getAdminApproveUserIdSelectList() {
+ return adminApproveUserIdSelectList;
+ }
+
+ public void setAdminApproveUserIdSelectList(List<SysUser> adminApproveUserIdSelectList) {
+ this.adminApproveUserIdSelectList = adminApproveUserIdSelectList;
+ }
+
+ public boolean isDangerousFlag() {
+ return dangerousFlag;
+ }
+
+ public void setDangerousFlag(boolean dangerousFlag) {
+ this.dangerousFlag = dangerousFlag;
+ }
+}
diff --git a/src/main/java/com/nanometer/smartlab/entity/enumtype/ApplyStatus.java b/src/main/java/com/nanometer/smartlab/entity/enumtype/ApplyStatus.java
index dcddaa4..02d8f5b 100644
--- a/src/main/java/com/nanometer/smartlab/entity/enumtype/ApplyStatus.java
+++ b/src/main/java/com/nanometer/smartlab/entity/enumtype/ApplyStatus.java
@@ -4,6 +4,7 @@
public enum ApplyStatus {
REFUSE(0, "拒绝"),
+ Price_CONFIRM(11, "价格确认"),
PENDING_APPROVAL(1, "待审批"),
APPROVED(2, "已审批"),
PENDING_PURCHASE(3, "待采购"),
diff --git a/src/main/webapp/WEB-INF/spring-menu.xml b/src/main/webapp/WEB-INF/spring-menu.xml
index 590a754..c160a71 100644
--- a/src/main/webapp/WEB-INF/spring-menu.xml
+++ b/src/main/webapp/WEB-INF/spring-menu.xml
@@ -23,6 +23,14 @@
<property name="privilegeCode" value="apply_mng"></property>
</bean>
<bean class="com.nanometer.smartlab.model.MenuModel">
+ <property name="id" value="price_mng"></property>
+ <property name="title" value="价格管理"></property>
+ <property name="page" value="price_mng"></property>
+ <property name="privilegeCode" value="price_mng"></property>
+ <property name="initClazz" value="priceMngController"></property>
+ <property name="initMethod" value="initListPage"></property>
+ </bean>
+ <bean class="com.nanometer.smartlab.model.MenuModel">
<property name="id" value="approval_mng"></property>
<property name="title" value="审批管理"></property>
<property name="page" value="approval_mng"></property>
diff --git a/src/main/webapp/price_mng.xhtml b/src/main/webapp/price_mng.xhtml
new file mode 100644
index 0000000..d2260c5
--- /dev/null
+++ b/src/main/webapp/price_mng.xhtml
@@ -0,0 +1,201 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:p="http://primefaces.org/ui"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:c="http://java.sun.com/jsp/jstl/core">
+<head></head>
+<ui:composition>
+ <h:form id="priceMngForm">
+ <p:panel styleClass="center-header">
+ <p:outputLabel styleClass="title" value="价格管理"></p:outputLabel>
+
+ <p:panelGrid styleClass="filter" columns="15">
+ <p:outputLabel value="申购产品:"></p:outputLabel>
+ <p:inputText value="#{priceMngController.reagentName}"></p:inputText>
+
+ <p:outputLabel value="货期:"></p:outputLabel>
+ <p:calendar value="#{priceMngController.startDeadline}" converter="timestampConvert"
+ pattern="yyyy-MM-dd" locale="zh_CN"></p:calendar>
+ <p:outputLabel value=" ~ " style="margin-left: 10px;margin-right: 10px"></p:outputLabel>
+ <p:calendar value="#{priceMngController.endDeadline}" converter="timestampConvert"
+ pattern="yyyy-MM-dd" locale="zh_CN"></p:calendar>
+
+ <p:outputLabel value="申购人:"></p:outputLabel>
+ <p:inputText value="#{priceMngController.applyUserName}"></p:inputText>
+ <p:outputLabel value="审批者:" rendered="#{priceMngController.approvalFlag==true}"></p:outputLabel>
+ <p:inputText value="#{priceMngController.approvaUserName}" rendered="#{priceMngController.approvalFlag==true}"></p:inputText>
+ <p:outputLabel value="状态:"></p:outputLabel>
+ <p:selectOneMenu value="#{priceMngController.status}" style="width: 70px">
+ <f:selectItem itemLabel="全部" itemValue="#{null}" noSelectionOption="true"></f:selectItem>
+ <f:selectItems value="#{priceMngController.statusSelectList}" var="item"
+ itemLabel="#{item.text}" itemValue="#{item.key}"></f:selectItems>
+ </p:selectOneMenu>
+
+ <p:commandLink styleClass="search" process="@form" update="@form"></p:commandLink>
+ </p:panelGrid>
+ </p:panel>
+ <p:panel styleClass="center-body">
+ <p:panelGrid columns="3" styleClass="btn">
+ <p:commandButton value="修改价格" styleClass="edit-btn"
+ process="@form"
+ actionListener="#{priceMngController.onApprovalBtnClick}"
+ update=":approvalDialog"></p:commandButton>
+ <p:commandButton value="确认价格" styleClass="edit-btn"
+ process="@form"
+ actionListener="#{priceMngController.onConfirmBtnClick}"
+ update="@form">
+ <p:confirm header="确认" message="确认操作?"></p:confirm>
+ </p:commandButton>
+ <p:commandButton update=":centerRootPanel" actionListener="#{priceMngController.onExportFileBtnClickNew}"
+ ajax="false" value="导出" styleClass="new-btn" />
+ </p:panelGrid>
+
+ <p:dataTable id="priceMngDataTable" styleClass="data-table"
+ paginator="true" paginatorAlwaysVisible="false" paginatorPosition="bottom"
+ lazy="true" value="#{priceMngController.dataModel}" var="row" rowKey="#{row.id}"
+ emptyMessage="无数据" selection="#{priceMngController.selectedList}"
+ rows="20" pageLinks="5">
+ <p:column selectionMode="multiple" style="width: 30px;text-align: center;"/>
+ <p:column headerText="订单状态" width="60px;" style="text-align: center">
+ <h:outputText value="#{row.status!=null?row.status.text:''}"></h:outputText>
+ </p:column>
+ <p:column headerText="申购编号" width="118px;">
+ <h:outputText value="#{row.applyCode}"></h:outputText>
+ </p:column>
+
+ <p:column headerText="产品编号">
+ <h:outputText value="#{row.reagent!=null?row.reagent.productSn:''}"></h:outputText>
+ </p:column>
+
+ <p:column headerText="试剂名称" width="129px;">
+ <h:outputText value="#{row.reagent!=null?row.reagent.name:''}" style="font-size: 13px;"></h:outputText>
+ </p:column>
+
+ <p:column headerText="管制品">
+ <h:outputText value="#{row.reagent!=null?baseMetaService.getBaseMetaValue(row.reagent.controlProducts):''}"></h:outputText>
+ </p:column>
+
+ <p:column headerText="规格型号" width="84px;">
+ <h:outputText
+ value="#{baseMetaService.getBaseMetaValue(row.reagent.reagentFormat)}" style="font-size:13px"></h:outputText>
+ </p:column>
+
+ <p:column headerText="包装">
+ <h:outputText value="#{row.reagent!=null?(''.concat(row.reagent.mainMetering).concat(baseMetaService.getBaseMetaValue(row.reagent.reagentUnit))):''}"></h:outputText>
+ </p:column>
+
+ <p:column headerText="含税售价" width="60px;">
+ <h:outputText value="#{row.applyPrice}"></h:outputText>
+ </p:column>
+
+ <p:column headerText="数量" width="34px;">
+ <h:outputText value="#{row.num}"></h:outputText>
+ </p:column>
+
+ <p:column headerText="CAS号">
+ <h:outputText value="#{row.reagent!=null?row.reagent.cas:''}"></h:outputText>
+ </p:column>
+
+ <p:column headerText="危险性质" width="85px;">
+ <h:outputText value="#{baseMetaService.getBaseMetaValue(row.reagent.reagentCharacter)}"></h:outputText>
+ </p:column>
+
+ <p:column headerText="厂家">
+ <h:outputText value="#{row.reagent!=null?row.reagent.productHomeName:''}"></h:outputText>
+ </p:column>
+
+ <!--<p:column headerText="供应商">-->
+ <!--<h:outputText value="#{row.reagent!=null?row.reagent.supplierName:''}"></h:outputText>-->
+ <!--</p:column>-->
+
+ <p:column headerText="试剂类型" width="60px;">
+ <h:outputText value="#{baseMetaService.getBaseMetaValue(row.reagent.reagentType)}"></h:outputText>
+ </p:column>
+
+ <p:column headerText="申购人" style="text-align: center">
+ <h:outputText value="#{row.applyUserName}" style="text-align: center;"></h:outputText>
+ </p:column>
+
+ <p:column headerText="申购日期" width="73px;">
+ <h:outputText value="#{row.createTime}">
+ <f:convertDateTime pattern="yyyy-MM-dd" locale="zh_CN"></f:convertDateTime>
+ </h:outputText>
+ </p:column>
+ <!--<p:column headerText="审批者">
+ <h:outputText value="#{priceMngController.getUserName(row.approveUserId)}"></h:outputText>
+ </p:column>-->
+ <p:column headerText="一级审批者" style="text-align: center" width="71px;">
+ <h:outputText value="#{row.first}"></h:outputText>
+ </p:column>
+ <p:column headerText="二级审批者" style="text-align: center" width="71px;">
+ <h:outputText value="#{row.second}"></h:outputText>
+ </p:column>
+ <!--现在报销不按课题编号了,所以先注释掉-->
+<!-- <p:column headerText="课题编号" width="83px;">-->
+<!-- <h:outputText value="#{row.objective}"></h:outputText>-->
+<!-- </p:column>-->
+ <p:column headerText="备注" width="83px;">
+ <h:outputText value="#{row.memo}"></h:outputText>
+ </p:column>
+ </p:dataTable>
+ </p:panel>
+ </h:form>
+
+ <p:dialog modal="true" header="修改价格" appendTo="@(body)"
+ id="approvalDialog" widgetVar="approvalDialog"
+ resizable="false" width="1000">
+ <h:form id="approvalDialogForm">
+ <p:panel styleClass="center-body">
+ <p:dataTable styleClass="data-table" var="row" value="#{priceMngController.selectedList}"
+ rows="3" paginator="true" paginatorPosition="bottom"
+ paginatorAlwaysVisible="false">
+
+ <p:column headerText="申购产品">
+ <h:outputText value="#{row.reagent!=null?row.reagent.name:''}"></h:outputText>
+ </p:column>
+
+ <p:column headerText="规格">
+ <h:outputText value="#{row.reagent!=null?baseMetaService.getBaseMetaValue(row.reagent.reagentFormat):''}"></h:outputText>
+ </p:column>
+
+ <p:column headerText="包装">
+ <h:outputText value="#{row.reagent!=null?(''.concat(row.reagent.mainMetering).concat(baseMetaService.getBaseMetaValue(row.reagent.reagentUnit))):''}"></h:outputText>
+ </p:column>
+
+ <p:column headerText="含税价格">
+ <h:inputText value="#{row.applyPrice}"></h:inputText>
+ </p:column>
+
+ <p:column headerText="申购数量">
+ <h:outputText value="#{row.num}"></h:outputText>
+ </p:column>
+
+ <p:column headerText="货期">
+ <h:outputText value="#{row.deadline}">
+ <f:convertDateTime pattern="yyyy-MM-dd" locale="zh_CN"></f:convertDateTime>
+ </h:outputText>
+ </p:column>
+
+ <p:column headerText="申购目的">
+ <h:outputText value="#{row.applyGoal}"></h:outputText>
+ </p:column>
+ </p:dataTable>
+ </p:panel>
+ <br />
+
+ <p:panel styleClass="btn" style="text-align: right">
+ <p:commandButton value="确认" actionListener="#{priceMngController.onYesBtnClick}"
+ process="@form"
+ styleClass="yes-btn">
+ </p:commandButton>
+ </p:panel>
+ </h:form>
+ </p:dialog>
+</ui:composition>
+</html>
--
Gitblit v1.9.2