package com.nanometer.smartlab.controller;
|
|
import com.nanometer.smartlab.dao.OpeApplyDao;
|
import com.nanometer.smartlab.dao.OpeReagentStatusDao;
|
import com.nanometer.smartlab.dao.OpeWarehouseReserveDao;
|
import com.nanometer.smartlab.entity.*;
|
import com.nanometer.smartlab.entity.dto.ApplyListDto;
|
import com.nanometer.smartlab.entity.enumtype.ArrivalStatus;
|
import com.nanometer.smartlab.entity.enumtype.SeeFlag;
|
import com.nanometer.smartlab.entity.enumtype.ValidFlag;
|
import com.nanometer.smartlab.exception.BusinessException;
|
import com.nanometer.smartlab.service.*;
|
import com.nanometer.smartlab.util.*;
|
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.event.SelectEvent;
|
import org.primefaces.event.TabChangeEvent;
|
import org.primefaces.model.LazyDataModel;
|
import org.primefaces.model.SortOrder;
|
import org.primefaces.model.StreamedContent;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.context.annotation.PropertySource;
|
import org.springframework.context.annotation.Scope;
|
import org.springframework.stereotype.Controller;
|
|
import javax.annotation.Resource;
|
import javax.faces.context.ExternalContext;
|
import javax.faces.context.FacesContext;
|
import javax.servlet.ServletOutputStream;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.*;
|
import java.math.BigDecimal;
|
import java.math.BigInteger;
|
import java.net.URLEncoder;
|
import java.util.*;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.stream.Collectors;
|
|
/**
|
* Created by cmower on 17/11/20.
|
*/
|
@Controller
|
@PropertySource(value = "WEB-INF/config.properties",encoding = "utf-8")
|
@Scope("session")
|
public class WarehouseStockMngController extends BaseController {
|
|
private static final long serialVersionUID = 101543880938627455L;
|
|
private static Logger logger = Logger.getLogger(WarehouseStockMngController.class);
|
|
@Resource
|
private OpeApplyService opeApplyService;
|
|
@Resource
|
private OpeWarehouseReserveService opeWarehouseReserveService;
|
@Resource
|
private OpeReagentStatusService opeReagentStatusService;
|
@Resource
|
private SysReagentService sysReagentService;
|
@Resource
|
private SysUserService sysUserService;
|
@Resource
|
private SysSupplierService sysSupplierService;
|
|
@Resource
|
private MenuController menuController;
|
|
@Resource
|
private SysWarehouseService sysWarehouseService;
|
@Resource
|
private SysWarehouseContainerService sysWarehouseContainerService;
|
@Resource
|
private BaseMetaService baseMetaService;
|
@Resource
|
private SysLaboratoryService sysLaboratoryService;
|
@Resource
|
private SysLaboratoryContainerService sysLaboratoryContainerService;
|
|
@Resource(name = "opeReagentStatusDao")
|
OpeReagentStatusDao opeReagentStatusDao;
|
|
@Resource
|
OpeWarehouseReserveDao opeWarehouseReserveDao;
|
@Resource
|
OpeApplyDao opeApplyDao;
|
|
@Resource
|
OpeLaboratoryReserveService opeLaboratoryReserveService;
|
/**
|
* 数据源
|
*/
|
private LazyDataModel<OpeWarehouseReserve> dataModel;
|
|
/**
|
* 数据源
|
*/
|
private LazyDataModel<OpeApplyReserve> dataModelForPerson;
|
|
/**
|
* 使用记录用
|
*/
|
private LazyDataModel<OpeReagentStatus> reagentStatusDataModel;
|
/**
|
* 打开条形码对话框用
|
*/
|
private List<OpeReagentStatus> reagentStatusSelectList;
|
|
/**
|
* 打开条形码对话框用
|
*/
|
private List<OpeReagentStatus> reagentStatusSelectListForPerson;
|
|
public List<OpeReagentStatus> getReagentStatusSelectListForPerson() {
|
return reagentStatusSelectListForPerson;
|
}
|
|
public void setReagentStatusSelectListForPerson(List<OpeReagentStatus> reagentStatusSelectListForPerson) {
|
this.reagentStatusSelectListForPerson = reagentStatusSelectListForPerson;
|
}
|
|
private String reagentId;
|
private String reagentLogId;
|
|
private String userName;
|
private Integer tabValue = 0;
|
|
private List<SysReagent> reagentSelectList;
|
private List<String> showCodes;
|
private String userId;
|
private String projectNum;
|
private String userLogId;
|
private String reagentCode;
|
private Integer useNum;
|
private String startReagentCode;
|
private String endReagentCode;
|
private String startReagentCodeForPerson;
|
private String endReagentCodeForPerson;
|
|
private Integer editFlag;
|
private StreamedContent file;
|
@Value("${pdf.export.file.path}")
|
private String pdfExportFilePath;
|
@Value("${institute.name}")
|
String instituteName;
|
|
private Hashtable printTable;
|
|
public Hashtable getPrintTable() {
|
return printTable;
|
}
|
|
public StreamedContent getFile() {
|
return file;
|
}
|
|
public void setFile(StreamedContent file) {
|
this.file = file;
|
}
|
|
public Integer getEditFlag() {
|
return editFlag;
|
}
|
|
public void setEditFlag(Integer editFlag) {
|
this.editFlag = editFlag;
|
}
|
|
public String getStartReagentCodeForPerson() {
|
return startReagentCodeForPerson;
|
}
|
|
public void setStartReagentCodeForPerson(String startReagentCodeForPerson) {
|
this.startReagentCodeForPerson = startReagentCodeForPerson;
|
}
|
|
public String getEndReagentCodeForPerson() {
|
return endReagentCodeForPerson;
|
}
|
|
public void setEndReagentCodeForPerson(String endReagentCodeForPerson) {
|
this.endReagentCodeForPerson = endReagentCodeForPerson;
|
}
|
|
private List<SysUser> userSelectList;
|
private List<SysUser> applyUserSelectList;
|
private String supplierId;
|
private List<SysSupplier> supplierSelectList;
|
//private boolean flag = false;
|
|
// 试剂库
|
private LazyDataModel<SysReagent> reagentDataModel;
|
// 直接入库试剂List
|
private List<OpeApply> reagentDStoreList;
|
// 直接入库试剂已选List
|
private List<OpeApply> reagentDStoreSelectedList;
|
// 直接入库试剂编辑flag(1: 新建 2:修改)
|
private int reagentDStoreEditFlag = Constants.ACTION_ADD;
|
// 直接入库试剂
|
private OpeApply reagentDStore;
|
private String applyNewReagentName;
|
private String applyNewCas;
|
|
private List<SysWarehouse> warehouseList;
|
private List<SysWarehouseContainer> warehouseContainerList;
|
private List<BaseMeta> warehouseContainerPlaceList;
|
private Map<String, String> warehouseNameMap;
|
private Map<String, SysWarehouseContainer> warehouseContainerMap;
|
private Map<String, List<SysWarehouseContainer>> warehouseIdContainerMap;
|
|
private String laboratoryId;
|
private String oriLaboratoryId;
|
private List<SysLaboratory> laboratory;
|
private String laboratoryContainerId;
|
private List<SysLaboratoryContainer> laboratoryContainers;
|
|
/**
|
* 选中的list
|
*/
|
private List<OpeWarehouseReserve> selectedList;
|
//购物车
|
private List<OpeWarehouseReserve> selectedTmpList;
|
//
|
private List<OpeWarehouseReserve> trulySelectedList;
|
|
/**
|
* 选中的list
|
*/
|
private List<OpeApplyReserve> selectedListForPerson;
|
private List<OpeApplyReserve> selectedTmpOrderList;
|
private List<OpeApplyReserve> trulySelectedOrderList;
|
|
/**
|
* 条形码对话框中选择的条形码集合
|
*/
|
private List<String> reagentCodeSelectedList;
|
/**
|
* 打开条形码对话框对应的试剂+条形码
|
*/
|
private OpeWarehouseReserve selectedOpeWarehouseReserve;
|
|
/**
|
* 打开条形码对话框对应的试剂+条形码
|
*/
|
private OpeApplyReserve selectedOpeApplyReserve;
|
|
/**
|
* SpringMenu中初始化
|
*/
|
public void initPage() {
|
logger.info("WarehouseStockMngController initPage start");
|
this.initReagentSelectList();
|
this.initSupplierSelectList();
|
this.initUserSelectList();
|
}
|
|
public void initUsePage() {
|
logger.info("WarehouseStockMngController initUsePage start");
|
this.initUserSelectList();
|
}
|
|
|
|
|
|
|
public void initDirectStorePage() {
|
logger.info("WarehouseStockMngController initDirectStorePage start");
|
this.initUserSelectList();
|
|
this.warehouseList = this.sysWarehouseService.getSysWarehouseList(null, null, null, null);
|
this.warehouseNameMap = new HashMap<String, String>();
|
if (this.warehouseList != null && this.warehouseList.size() > 0) {
|
for (SysWarehouse house : this.warehouseList) {
|
this.warehouseNameMap.put(house.getId(), house.getName());
|
}
|
}
|
|
this.warehouseContainerMap = new HashMap<String, SysWarehouseContainer>();
|
this.warehouseIdContainerMap = new HashMap<String, List<SysWarehouseContainer>>();
|
List<SysWarehouseContainer> warehouseContainerList = this.sysWarehouseContainerService.getSysWarehouseContainerList(null, null, null, null, null);
|
if (warehouseContainerList != null && warehouseContainerList.size() > 0) {
|
for (SysWarehouseContainer container : warehouseContainerList) {
|
warehouseContainerMap.put(container.getId(), container);
|
|
if (!warehouseIdContainerMap.containsKey(container.getWarehouseId())
|
|| warehouseIdContainerMap.get(container.getWarehouseId()) == null) {
|
warehouseIdContainerMap.put(container.getWarehouseId(), new ArrayList<SysWarehouseContainer>());
|
}
|
warehouseIdContainerMap.get(container.getWarehouseId()).add(container);
|
}
|
}
|
|
this.onWarehouseSelectChange(null);
|
}
|
|
private void initReagentSelectList() {
|
logger.info("WarehouseStockMngController initReagentSelectList start");
|
this.setReagentSelectList(this.sysReagentService.getSysReagentList(null, null, null, null,null, null));
|
}
|
|
private void initUserSelectList() {
|
logger.info("WarehouseStockMngController initUserSelectList start");
|
this.setUserSelectList(this.sysUserService.getSysUserList(null, null, null, null, null));
|
/**if(sysUserService.getSysUser(userId) == null)
|
{
|
this.laboratory = this.sysLaboratoryService.getSysLaboratoryListByDep(this.getUserDepartment());
|
}else {
|
this.laboratory = this.sysLaboratoryService.getSysLaboratoryListByDep(sysUserService.getSysUser(userId).getDepartment());
|
}
|
this.laboratoryContainers = this.sysLaboratoryContainerService.getSysLaboratoryContainerList(laboratoryId);**/
|
}
|
|
/**
|
* 领用的操作对话框用
|
*/
|
private void initReagentStatusSelectList() {
|
logger.info("WarehouseStockMngController initReagentStatusSelectList start");
|
if (selectedOpeWarehouseReserve != null) {
|
String reagentId = selectedOpeWarehouseReserve.getReagentId();
|
String articleNumber = selectedOpeWarehouseReserve.getArticleNumber();
|
|
this.setReagentStatusSelectList(opeReagentStatusService.getOpeReagentStatusList(reagentId, articleNumber,
|
ArrivalStatus.WAREHOUSE.getKey(), reagentCode, null, null, null));
|
|
// System.out.print("this.getReagentStatusSelectList().size(): " + this.reagentStatusSelectList.size());
|
// System.out.print("this.getReagentStatusSelectList().get(0): " + this.reagentStatusSelectList.get(0).getReagentCode());
|
}
|
}
|
|
/**
|
* 领用的操作对话框用
|
*/
|
private void initReagentStatusSelectListForPerson() {
|
logger.info("WarehouseStockMngController initReagentStatusSelectListForPerson start");
|
if (selectedOpeApplyReserve != null) {
|
String reagentId = selectedOpeApplyReserve.getReagent().getId();
|
String articleNumber = selectedOpeApplyReserve.getArticleNumber();
|
System.out.println(reagentId);
|
System.out.println(articleNumber);
|
System.out.println(reagentCode);
|
this.setReagentStatusSelectListForPerson(opeReagentStatusService.getOpeReagentStatusList(reagentId, articleNumber,
|
ArrivalStatus.WAREHOUSE.getKey(), reagentCode, null, null, null));
|
|
}
|
}
|
|
private void initSupplierSelectList() {
|
logger.info("WarehouseStockMngController initSupplierSelectList start");
|
System.out.println(getUser().getSeeFlag().getKey());
|
//SysUser u=sysUserService.getSysUser(getUserId());
|
//System.out.println(u);
|
if (getUser().getSeeFlag().getKey() != SeeFlag.MANAGE.getKey()) {
|
editFlag=0;
|
}else{
|
editFlag=1;
|
}
|
this.setSupplierSelectList(this.sysSupplierService.getSysSupplierList());
|
}
|
|
private int action;
|
|
public void add() {
|
logger.info("WarehouseStockMngController onUseBtnClick start");
|
if (this.selectedList == null || this.selectedList.size() == 0) {
|
FacesUtils.warn("请选择数据。");
|
return;
|
}
|
if (selectedTmpList !=null && selectedTmpList.size()>0){
|
ArrayList<OpeWarehouseReserve> tmp = new ArrayList<>();
|
selectedList.forEach(opeWarehouseReserve -> {
|
AtomicBoolean flag = new AtomicBoolean(false);
|
selectedTmpList.forEach(opeWarehouseReserve1 -> {
|
if (opeWarehouseReserve.getId().equals(opeWarehouseReserve1.getId())){
|
flag.set(true);
|
}
|
|
});
|
if(!flag.get()) {
|
tmp.add(opeWarehouseReserve);
|
}
|
});
|
selectedTmpList.addAll(tmp);
|
}else{
|
selectedTmpList = new ArrayList<>();
|
selectedTmpList.addAll(selectedList);
|
}
|
}
|
|
public void addOrder() {
|
logger.info("WarehouseStockMngController onUseBtnClick start");
|
if (this.selectedListForPerson == null || this.selectedListForPerson.size() == 0) {
|
FacesUtils.warn("请选择数据。");
|
return;
|
}
|
if (selectedTmpOrderList !=null && selectedTmpOrderList.size()>0){
|
ArrayList<OpeApplyReserve> tmp = new ArrayList<>();
|
selectedListForPerson.forEach(opeApplyReserve -> {
|
AtomicBoolean flag = new AtomicBoolean(false);
|
selectedTmpOrderList.forEach(opeApplyReserve1 -> {
|
if (opeApplyReserve.getId().equals(opeApplyReserve1.getId())){
|
flag.set(true);
|
}
|
|
});
|
if(!flag.get()) {
|
tmp.add(opeApplyReserve);
|
}
|
});
|
selectedTmpOrderList.addAll(tmp);
|
}else{
|
selectedTmpOrderList = new ArrayList<>();
|
selectedTmpOrderList.addAll(selectedListForPerson);
|
}
|
}
|
|
|
public void clear(){
|
selectedTmpList = null;
|
}
|
|
public void clearOrderTmp(){
|
selectedTmpOrderList = null;
|
}
|
|
public void cancel(){
|
if (trulySelectedList == null || trulySelectedList.size()<=0){
|
FacesUtils.info("至少选择一个");
|
return;
|
}
|
|
if (selectedTmpList == null || selectedTmpList.size()<=0){
|
FacesUtils.info("至少选择一个");
|
return;
|
}
|
|
ArrayList<Object> indexs = new ArrayList<>();
|
for (OpeWarehouseReserve warehouseReserve : trulySelectedList) {
|
for (OpeWarehouseReserve opeWarehouseReserve : selectedTmpList) {
|
if (warehouseReserve.getId().equals(opeWarehouseReserve.getId())) {
|
indexs.add(warehouseReserve);
|
}
|
}
|
}
|
|
if (indexs.size()>0){
|
indexs.forEach(obj -> {
|
selectedTmpList.remove(obj);
|
});
|
}
|
|
}
|
|
public void cancelOrderTmp(){
|
if (trulySelectedOrderList == null || trulySelectedOrderList.size()<=0){
|
FacesUtils.info("至少选择一个");
|
return;
|
}
|
|
if (selectedTmpOrderList == null || selectedTmpOrderList.size()<=0){
|
FacesUtils.info("至少选择一个");
|
return;
|
}
|
|
ArrayList<Object> indexs = new ArrayList<>();
|
for (OpeApplyReserve opeApplyReserve : trulySelectedOrderList) {
|
for (OpeApplyReserve applyReserve : selectedTmpOrderList) {
|
if (opeApplyReserve.getId().equals(applyReserve.getId())) {
|
indexs.add(opeApplyReserve);
|
}
|
}
|
}
|
|
if (indexs.size()>0){
|
indexs.forEach(obj -> {
|
selectedTmpOrderList.remove(obj);
|
});
|
}
|
|
}
|
|
public void onUseBtnClick(){
|
if (selectedTmpList == null || selectedTmpList.size()<=0){
|
FacesUtils.info("至少选择一个");
|
return;
|
}
|
|
this.menuController.goToPage(Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW, Constants.PAGE_WAREHOUSE_STOCK_MNG);
|
}
|
//
|
public void onUseBtnClickOrderTmp(){
|
if (selectedTmpOrderList == null || selectedTmpOrderList.size()<=0){
|
FacesUtils.info("至少选择一个");
|
return;
|
}
|
|
this.menuController.goToPage(Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW_PERSON, Constants.PAGE_WAREHOUSE_STOCK_MNG);
|
}
|
|
public void onUseBtnClickForPerson() {
|
logger.info("WarehouseStockMngController onUseBtnClickForPerson start");
|
if (this.selectedListForPerson == null || this.selectedListForPerson.size() == 0) {
|
FacesUtils.warn("请选择数据。");
|
return;
|
}
|
|
this.menuController.goToPage(Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW_PERSON, Constants.PAGE_WAREHOUSE_STOCK_MNG);
|
}
|
|
/**
|
* 仓库库存选择操作时,获取条形码
|
*/
|
public void onReagentCodeBtnClick(OpeWarehouseReserve selectedOpeWarehouseReserve) {
|
if (selectedOpeWarehouseReserve == null) {
|
FacesUtils.warn("请选择数据。");
|
return;
|
}
|
|
this.selectedOpeWarehouseReserve = selectedOpeWarehouseReserve;
|
this.showCodes = opeReagentStatusService.getReagentCodes(selectedOpeWarehouseReserve.getReagentId());
|
// 根据选择的试剂获取对应的条形码
|
initReagentStatusSelectList();
|
|
RequestContext.getCurrentInstance().execute("PF('reagentCodeDialog').show()");
|
}
|
|
/**
|
* 订单库存选择操作时,获取条形码
|
*/
|
public void onReagentCodeBtnClickForPerson(OpeApplyReserve selectedOpeApplyReserve) {
|
if (selectedOpeApplyReserve == null) {
|
FacesUtils.warn("请选择数据。");
|
return;
|
}
|
|
this.selectedOpeApplyReserve = selectedOpeApplyReserve;
|
|
// 根据选择的试剂获取对应的条形码
|
initReagentStatusSelectListForPerson();
|
|
RequestContext.getCurrentInstance().execute("PF('reagentCodeDialogForPerson').show()");
|
}
|
|
public void onYesBtnClickForPerson() {
|
try {
|
//if (this.reagentCodeSelectedList == null || this.reagentCodeSelectedList.size() == 0) {
|
//FacesUtils.warn("请选择条形码。");
|
//return;
|
//}
|
|
if(this.useNum == null || this.useNum <= 0)
|
{
|
FacesUtils.warn("请输入大于0的领用数量!");
|
return;
|
}
|
System.out.println("====onYesBtnClick======");
|
|
if(this.reagentCodeSelectedList != null){
|
if(this.useNum!=this.reagentCodeSelectedList.size()){
|
FacesUtils.warn("领用数量与选择的条形码个数不符");
|
return;
|
}
|
}
|
// 将当前选择条形码保存到库存中
|
for (OpeApplyReserve opeApplyReserve : this.selectedTmpOrderList) {
|
if (opeApplyReserve.getId().equals(this.selectedOpeApplyReserve.getId())) {
|
OpeWarehouseReserve wa=opeWarehouseReserveService.getOpeWarehouseReserve(opeApplyReserve.getReagent().getId(),opeApplyReserve.getArticleNumber());
|
if(this.useNum > wa.getReserve())
|
{
|
FacesUtils.warn("库存不够,请确认或申购!");
|
return;
|
}
|
opeApplyReserve.setSelectNum(useNum);
|
if(this.reagentCodeSelectedList != null)
|
{
|
opeApplyReserve.setReagentCode(this.reagentCodeSelectedList);
|
}
|
opeApplyReserve.setFlag(1);
|
break;
|
}
|
}
|
|
//FacesUtils.info("选择条形码个数为" + this.reagentCodeSelectedList.size());
|
RequestContext.getCurrentInstance().execute("PF('reagentCodeDialogForPerson').hide()");
|
} catch (Exception e) {
|
logger.error("操作失败。", e);
|
FacesUtils.warn("操作失败。");
|
}
|
}
|
|
public void onYesBtnClickForPerson2() {
|
try {
|
//if (this.reagentCodeSelectedList == null || this.reagentCodeSelectedList.size() == 0) {
|
//FacesUtils.warn("请选择条形码。");
|
//return;
|
//}
|
|
if(this.useNum == null || this.useNum <= 0)
|
{
|
FacesUtils.warn("请输入大于0的领用数量!");
|
return;
|
}
|
System.out.println("====onYesBtnClick======");
|
BigDecimal startReagentCode2 = new BigDecimal(startReagentCodeForPerson);
|
BigDecimal endReagentCode2 = new BigDecimal(endReagentCodeForPerson);
|
// 检查条形码结束要大于条形码开始
|
if (endReagentCode2.compareTo(startReagentCode2) == -1) {
|
FacesUtils.warn("条形码开始必须小于条形码结束。");
|
return;
|
}
|
// 检查条形码和到货数量是否匹配
|
if (endReagentCode2.subtract(startReagentCode2).intValue() != (useNum - 1)) {
|
FacesUtils.warn("条形码数量和领用数量不一致。");
|
return;
|
}
|
|
BigInteger startReagentCode3=new BigInteger(startReagentCodeForPerson);
|
BigInteger endReagentCode3=new BigInteger(endReagentCodeForPerson);
|
int len = startReagentCodeForPerson.length() - String.valueOf(startReagentCode3).length();
|
String temp = "";
|
for (int i = 0; i < len; i++) {
|
temp += "0";
|
}
|
String str="";
|
for (BigInteger i = startReagentCode3; i.compareTo(endReagentCode3) < 1; i = i.add(BigInteger.ONE)) {
|
String code = temp + String.valueOf(i);
|
OpeReagentStatus status=this.opeReagentStatusService.getOpeReagentStatusByReagentCode(code);
|
if(status==null){
|
|
}else{
|
if(status.getStatus()==ArrivalStatus.WAREHOUSE){
|
|
}else{
|
str+=code+",";
|
}
|
}
|
}
|
if(str!=null && !str.equals("")){
|
FacesUtils.info("条形码"+str.substring(0,str.length()-1)+"已被领用");
|
return;
|
}
|
|
|
|
// 将当前选择条形码保存到库存中
|
List<String> codeList=new ArrayList<>();
|
for (OpeApplyReserve opeApplyReserve : this.selectedTmpOrderList) {
|
if (opeApplyReserve.getId().equals(this.selectedOpeApplyReserve.getId())) {
|
// OpeWarehouseReserve wa=opeWarehouseReserveService.getOpeWarehouseReserve(opeApplyReserve.getReagent().getId(),opeApplyReserve.getArticleNumber());
|
// if(wa==null){
|
// wa=new OpeWarehouseReserve();
|
// wa.setReserve(0);
|
// }
|
// if(this.useNum > wa.getReserve())
|
// {
|
// FacesUtils.warn("库存不够,请确认或申购!");
|
// return;
|
// }
|
if (this.useNum+opeApplyReserve.getUsed() > opeApplyReserve.getNum()){
|
FacesUtils.warn("领用数量超出申请数量!");
|
return;
|
}
|
opeApplyReserve.setSelectNum(useNum);
|
opeApplyReserve.setStartReagentCode(startReagentCode2);
|
opeApplyReserve.setEndReagentCode(endReagentCode2);
|
opeApplyReserve.setStartReagentCode2(temp+startReagentCode2.toString());
|
opeApplyReserve.setEndReagentCode2(temp+endReagentCode2.toString());
|
for (BigInteger i = new BigInteger(startReagentCodeForPerson); i.compareTo(new BigInteger(endReagentCodeForPerson)) < 1; i = i.add(BigInteger.ONE)) {
|
codeList.add(i.toString());
|
}
|
/*for(int i=Integer.parseInt(startReagentCodeForPerson);i<=Integer.parseInt(endReagentCodeForPerson);i++){
|
codeList.add(Integer.toString(i));
|
}*/
|
if(codeList != null)
|
{
|
opeApplyReserve.setReagentCode(codeList);
|
}
|
opeApplyReserve.setFlag(0);
|
break;
|
}
|
}
|
|
//FacesUtils.info("选择条形码个数为" + codeList.size());
|
RequestContext.getCurrentInstance().execute("PF('reagentCodeDialogForPerson').hide()");
|
} catch (Exception e) {
|
logger.error("操作失败。", e);
|
FacesUtils.warn("操作失败。");
|
}
|
}
|
|
public void onYesBtnClick2(){
|
try{
|
if(this.useNum == null || this.useNum <= 0)
|
{
|
FacesUtils.warn("请输入大于0的领用数量!");
|
return;
|
}
|
BigDecimal startReagentCode2 = new BigDecimal(startReagentCode);
|
BigDecimal endReagentCode2 = new BigDecimal(endReagentCode);
|
// 检查条形码结束要大于条形码开始
|
if (endReagentCode2.compareTo(startReagentCode2) == -1) {
|
FacesUtils.warn("条形码开始必须小于条形码结束。");
|
return;
|
}
|
// 检查条形码和到货数量是否匹配
|
if (endReagentCode2.subtract(startReagentCode2).intValue() != (useNum - 1)) {
|
FacesUtils.warn("条形码数量和领用数量不一致。");
|
return;
|
}
|
BigInteger startReagentCode3=new BigInteger(startReagentCode);
|
BigInteger endReagentCode3=new BigInteger(endReagentCode);
|
int len = startReagentCode.length() - String.valueOf(startReagentCode3).length();
|
|
String temp = "";
|
for (int i = 0; i < len; i++) {
|
temp += "0";
|
}
|
String str="";
|
for (BigInteger i = startReagentCode3; i.compareTo(endReagentCode3) < 1; i = i.add(BigInteger.ONE)) {
|
String code = temp + String.valueOf(i);
|
OpeReagentStatus status=this.opeReagentStatusService.getOpeReagentStatusByReagentCode(code);
|
if(status==null){
|
|
}else{
|
if(status.getStatus()==ArrivalStatus.WAREHOUSE){
|
|
}else{
|
str+=code+",";
|
}
|
}
|
}
|
if(str!=null && !str.equals("")){
|
FacesUtils.info("条形码"+str.substring(0,str.length()-1)+"已被领用");
|
return;
|
}
|
|
List<String> codeList=new ArrayList<>();
|
for (OpeWarehouseReserve opeWarehouseReserve : this.selectedTmpList) {
|
if (opeWarehouseReserve.getId().equals(this.selectedOpeWarehouseReserve.getId())) {
|
if(this.useNum > opeWarehouseReserve.getReserve())
|
{
|
FacesUtils.warn("库存不够,请确认或申购!");
|
return;
|
}
|
opeWarehouseReserve.setSelectNum(useNum);
|
opeWarehouseReserve.setStartReagentCode(startReagentCode2);
|
opeWarehouseReserve.setEndReagentCode(endReagentCode2);
|
opeWarehouseReserve.setStartReagentCode2(temp+startReagentCode2.toString());
|
opeWarehouseReserve.setEndReagentCode2(temp+endReagentCode2.toString());
|
for (BigInteger i = new BigInteger(startReagentCode); i.compareTo(new BigInteger(endReagentCode)) < 1; i = i.add(BigInteger.ONE)) {
|
codeList.add(i.toString());
|
}
|
/*for(int i=Integer.parseInt(startReagentCode);i<=Integer.parseInt(endReagentCode);i++){
|
codeList.add(Integer.toString(i));
|
}*/
|
if(codeList != null)
|
{
|
opeWarehouseReserve.setReagentCodes(codeList);
|
}
|
opeWarehouseReserve.setFlag(0);
|
break;
|
|
}
|
}
|
//FacesUtils.info("选择条形码个数为" + codeList.size());
|
RequestContext.getCurrentInstance().execute("PF('reagentCodeDialog').hide()");
|
} catch (Exception e) {
|
logger.error("操作失败。", e);
|
FacesUtils.warn("操作失败。");
|
}
|
}
|
|
public void onYesBtnClick() {
|
try {
|
|
if (this.reagentCodeSelectedList == null)
|
{
|
FacesUtils.warn("请领用");
|
return;
|
}else{
|
this.useNum = this.reagentCodeSelectedList.size();
|
}
|
|
System.out.println("====onYesBtnClick======");
|
// 将当前选择条形码保存到库存中
|
for (OpeWarehouseReserve opeWarehouseReserve : this.selectedTmpList) {
|
if (opeWarehouseReserve.getId().equals(this.selectedOpeWarehouseReserve.getId())) {
|
if(this.useNum > opeWarehouseReserve.getReserve())
|
{
|
FacesUtils.warn("库存不够,请确认或申购!");
|
return;
|
}
|
opeWarehouseReserve.setSelectNum(useNum);
|
if(this.reagentCodeSelectedList != null)
|
{
|
opeWarehouseReserve.setReagentCodes(this.reagentCodeSelectedList);
|
}
|
opeWarehouseReserve.setFlag(1);
|
break;
|
}
|
}
|
//FacesUtils.info("选择条形码个数为" + this.reagentCodeSelectedList.size());
|
RequestContext.getCurrentInstance().execute("PF('reagentCodeDialog').hide()");
|
} catch (Exception e) {
|
logger.error("操作失败。", e);
|
FacesUtils.warn("操作失败。");
|
}
|
}
|
|
public void onTabChange(TabChangeEvent event) {
|
if ("firstTab".equals(event.getTab().getId())) {
|
tabValue = 0;
|
}else{
|
tabValue = 1;
|
}
|
}
|
|
|
public void onCancelBtnClick() {
|
this.selectedTmpOrderList = null;
|
this.selectedTmpList = null;
|
this.menuController.backToPage();
|
}
|
|
public void onClose(){
|
this.selectedTmpOrderList = null;
|
this.selectedTmpList = null;
|
this.menuController.backToPage();
|
}
|
|
public void onResetBtnClick() {
|
this.userId = null;
|
this.laboratoryId =null;
|
this.laboratoryId = null;
|
}
|
|
public void onSaveBtnClickForPerson(){
|
try {
|
if (this.selectedTmpOrderList == null || this.selectedTmpOrderList.size() == 0) {
|
FacesUtils.warn("请选择申领试剂。");
|
return;
|
}
|
|
if (this.userId == null) {
|
FacesUtils.warn("请选择申领人。");
|
return;
|
}
|
List<OpeApplyReserve> list=new ArrayList<>();
|
List<OpeApplyReserve> list2=new ArrayList<>();
|
//int size = 0;
|
for(OpeApplyReserve app:this.selectedTmpOrderList){
|
if(app.getFlag()==1){
|
list.add(app);
|
}else {
|
list2.add(app);
|
}
|
|
}
|
if(list.size()>0&&list!=null){
|
for(OpeApplyReserve app:list){
|
List<String> reagentCode=app.getReagentCode();
|
if(reagentCode!=null && reagentCode.size()>0){
|
for(String opeReagentStatusId:reagentCode){
|
OpeReagentStatus opeReagentStatus=this.opeReagentStatusService.getOpeReagentStatus(opeReagentStatusId);
|
if (!this.opeReagentStatusService.isAllowWarehouseUse(opeReagentStatus)) {
|
FacesUtils.warn("只能申领在仓库的试剂。");
|
return;
|
}else {
|
opeReagentStatus.setHouseId(laboratoryId);
|
opeReagentStatus.setContainerId(laboratoryContainerId);
|
this.opeReagentStatusDao.updateOpeReagentStatusDao(opeReagentStatus);
|
OpeLaboratoryReserve lr=new OpeLaboratoryReserve();
|
lr.setReagentId(app.getReagent().getId());
|
lr.setHouseId(laboratoryId);
|
lr.setContainerId(laboratoryContainerId);
|
lr.setReserve(app.getSelectNum());
|
lr.setUserId(userId);
|
lr.setValidFlag(ValidFlag.VALID);
|
this.opeLaboratoryReserveService.insert(lr);
|
}
|
}
|
}
|
}
|
|
this.opeWarehouseReserveService.claimForPerson(list, userId,projectNum);
|
}
|
if(list2.size()>0&&list!=null){
|
List<OpeApply> opeList=new ArrayList<>();
|
for(int i=0;i<list2.size();i++){
|
OpeApply opeApply=new OpeApply();
|
opeApply.setArticleNumber(list2.get(i).getArticleNumber());
|
opeApply.setHouseId(laboratoryId);
|
opeApply.setContainerId(laboratoryContainerId);
|
opeApply.setReagent(list2.get(i).getReagent());
|
opeApply.setStartReagentCode(list2.get(i).getStartReagentCode2());
|
opeApply.setEndReagentCode(list2.get(i).getEndReagentCode2());
|
opeList.add(opeApply);
|
OpeLaboratoryReserve lr=new OpeLaboratoryReserve();
|
lr.setReagentId(list2.get(i).getReagent().getId());
|
lr.setHouseId(laboratoryId);
|
lr.setContainerId(laboratoryContainerId);
|
lr.setReserve(list2.get(i).getSelectNum());
|
lr.setUserId(userId);
|
lr.setValidFlag(ValidFlag.VALID);
|
this.opeLaboratoryReserveService.insert(lr);
|
}
|
this.opeWarehouseReserveService.reagentDStore2(opeList,userId);
|
}
|
for(int i=0;i<list2.size();i++){
|
OpeWarehouseReserve opeWarehouseReserve=new OpeWarehouseReserve();
|
|
OpeApplyReserve re=new OpeApplyReserve();
|
re.setUsed(list2.get(i).getSelectNum()+list2.get(i).getUsed());
|
re.setId(list2.get(i).getId());
|
opeApplyDao.updateOpeApplyUsed(re);//修改已领数量
|
}
|
FacesUtils.info("申领成功。");
|
this.menuController.goToPage(Constants.PAGE_WAREHOUSE_STOCK_MNG, Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW);
|
} catch (Exception e) {
|
logger.error("操作失败。", e);
|
FacesUtils.warn("操作失败。");
|
}
|
}
|
|
public void btn() {
|
System.out.println(printTable);
|
RequestContext.getCurrentInstance().execute("PF('printDialog').show()");
|
}
|
|
public void printPdf() {
|
System.out.println(printTable);
|
|
|
|
|
}
|
public void printGasPdf(){
|
// if (this.selectedList == null || this.selectedList.size() == 0) {
|
// FacesUtils.warn("请选择数据。");
|
// return;
|
// }
|
// if (this.selectedList.size() > 1) {
|
// FacesUtils.warn("只能选择一个数据进行打印。");
|
// return;
|
// }
|
|
/*if(this.selectGas==null){
|
FacesUtils.warn("请选择数据。");
|
return;
|
}*/
|
|
//查询对应的气瓶
|
//this.gas = this.gasService.getGasDetail(this.selectGas.getId());
|
//打印
|
this.createStatementByDocx();
|
}
|
|
public void createStatementByDocx(){
|
logger.info("start print gas detail A5 docx...");
|
|
FileInputStream in = null;
|
OutputStream out = null;
|
|
try {
|
|
WordTemplate t = new WordTemplate();
|
FacesContext currentInstance = FacesContext.getCurrentInstance();
|
currentInstance.responseComplete();
|
ExternalContext etx = currentInstance.getExternalContext();
|
HttpServletResponse response = (HttpServletResponse) etx.getResponse();
|
HttpServletRequest request = (HttpServletRequest) etx.getRequest();
|
String templatePath = request.getRealPath("") + "resources/template.docx";
|
//System.out.println(this.getClass().getClassLoader().getResource( File.separator + "template.docx").toURI());
|
//File templateFile = new File(this.getClass().getClassLoader().getResource( File.separator + "template.docx").toURI());
|
File templateFile = new File(templatePath);
|
System.out.println(templatePath);
|
t.loadTemplate(templateFile);
|
HashMap<String,String> paras = new HashMap<String,String>();
|
paras.put("doccorp", instituteName);
|
paras.put("doccaption", "危险化学品(气瓶)入所气瓶现场记录单");
|
paras.put("dept", "1");
|
paras.put("sn", "2");
|
paras.put("corp", "3");
|
paras.put("vname", "4");
|
paras.put("vcode", "5");
|
paras.put("vvolume", "6");
|
|
paras.put("secname", "7");
|
paras.put("site", "楼号:" + "8" + " - 地址号:" + "9");
|
paras.put("statuscode", "10");
|
paras.put("mngname", "11");
|
paras.put("gendate", "12");
|
paras.put("info","13");
|
//检查内容
|
HashMap<String,WordTemplate.Table> tables = new HashMap<String,WordTemplate.Table>();
|
List<String[]> data1 = new ArrayList<String[]>();
|
/*List<GasDetailRepoterModel> gasRepoterList = this.customCheckService.getGasDetailRepoter(this.gas.getId());
|
if (gasRepoterList != null && gasRepoterList.size() > 0) {
|
for (int i = 0; i < gasRepoterList.size(); i++) {
|
GasDetailRepoterModel gasDetailRepoterModel = gasRepoterList.get(i);
|
gasDetailRepoterModel.setFlagStr(gasDetailRepoterModel.getFlag() == 1 ? "是" : "否");
|
gasDetailRepoterModel.setResultStr(gasDetailRepoterModel.getResult() == 1 ? "通过" : "未通过");
|
|
data1.add(new String[]{""+(i+1),gasDetailRepoterModel.getContent(),
|
gasDetailRepoterModel.getFlagStr(),gasDetailRepoterModel.getResultStr(),gasDetailRepoterModel.getDetail()});
|
|
}
|
|
}*/
|
|
WordTemplate.Table t1 = new WordTemplate.Table(
|
new String[]{"rownum","checkitem","value","result","memo"},data1
|
);
|
tables.put("mainTable", t1);
|
t.replaceDocument(tables, paras);
|
String fileName = "危险化学品(气瓶)入所气瓶现场记录单.docx";
|
t.saveFile(pdfExportFilePath);
|
|
// FacesUtils.getHttpServletRequest().getSession().setAttribute("PdfFilePath", pdfExportFilePath + fileName);
|
// FacesUtils.getHttpServletRequest().getSession().setAttribute("PdfFileName", fileName);
|
// FacesUtils.js("window.open('downloadpdf.jsp','_blank');");
|
// System.out.println("打印结束");
|
// return;
|
try {
|
response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
|
response.setContentType("application/msword");
|
|
in = new FileInputStream(pdfExportFilePath + fileName);
|
// 创建输出流
|
out = response.getOutputStream();
|
// 缓存区
|
byte buffer[] = new byte[1024];
|
int len = 0;
|
// 循环将输入流中的内容读取到缓冲区中
|
while ((len = in.read(buffer)) > 0) {
|
out.write(buffer, 0, len);
|
}
|
} finally {
|
// 关闭
|
in.close();
|
out.close();
|
}
|
|
|
|
}catch (Exception e){
|
logger.info("print gas detail docx 出错了...");
|
}finally {
|
logger.info("end print gas detail docx...");
|
}
|
|
}
|
public void onSaveBtnClick() {
|
try {
|
if (this.selectedTmpList == null || this.selectedTmpList.size() == 0) {
|
FacesUtils.warn("请选择申领试剂。");
|
return;
|
}
|
|
if (this.userId == null) {
|
FacesUtils.warn("请选择申领人。");
|
return;
|
}
|
//领用单
|
printTable = null;
|
printTable = new Hashtable();
|
List<ApplyListDto> applyList = new ArrayList<>();
|
Map applyPersonInfo = sysUserService.getUser(userId);
|
printTable.put("head", instituteName);
|
printTable.put("title", "领用单");
|
printTable.put("applyPerson", applyPersonInfo.get("name"));
|
printTable.put("department", applyPersonInfo.get("meta_value"));
|
printTable.put("date", Utils.now("yyyy-MM-dd"));
|
printTable.put("phone", applyPersonInfo.get("phone"));
|
|
//int size = 0;
|
int sum = 0;
|
List<OpeWarehouseReserve> list=new ArrayList<>();
|
List<OpeWarehouseReserve> list2=new ArrayList<>();
|
for (OpeWarehouseReserve selectWarehouseReserve : this.selectedTmpList) {
|
if(selectWarehouseReserve.getFlag()==1){
|
list.add(selectWarehouseReserve);
|
}else{
|
list2.add(selectWarehouseReserve);
|
}
|
}
|
if(list.size()>0&&list!=null){
|
for (OpeWarehouseReserve selectWarehouseReserve : list) {
|
List<String> reagentCodes = selectWarehouseReserve.getReagentCodes();
|
if (reagentCodes != null && reagentCodes.size() > 0)
|
for (String opeReagentStatusId : reagentCodes) {
|
OpeReagentStatus opeReagentStatus = this.opeReagentStatusService
|
.getOpeReagentStatus(opeReagentStatusId);
|
if (!this.opeReagentStatusService.isAllowWarehouseUse(opeReagentStatus)) {
|
FacesUtils.warn("只能申领在仓库的试剂。");
|
return;
|
}else {
|
opeReagentStatus.setHouseId(laboratoryId);
|
opeReagentStatus.setContainerId(laboratoryContainerId);
|
this.opeReagentStatusDao.updateOpeReagentStatusDao(opeReagentStatus);//更新试剂状态表
|
OpeLaboratoryReserve lr=new OpeLaboratoryReserve();
|
lr.setReagentId(selectWarehouseReserve.getReagentId());
|
lr.setHouseId(laboratoryId);
|
lr.setContainerId(laboratoryContainerId);
|
lr.setReserve(selectWarehouseReserve.getSelectNum());
|
lr.setUserId(userId);
|
lr.setValidFlag(ValidFlag.VALID);
|
this.opeLaboratoryReserveService.insert(lr);
|
}
|
//else {
|
//size++;
|
//}
|
}
|
ApplyListDto lis = new ApplyListDto();
|
Map reagentDetail = sysReagentService.getReagentDetail(selectWarehouseReserve.getReagentId());
|
lis.setNum(String.valueOf(selectWarehouseReserve.getSelectNum())); //数量
|
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 += selectWarehouseReserve.getSelectNum();
|
}
|
|
//if (size == 0) {
|
//FacesUtils.warn("未选择一个条形码。");
|
//return;
|
//}
|
this.opeWarehouseReserveService.claim(list, userId,projectNum);
|
}
|
if(list2.size()>0&&list2!=null){
|
List<OpeApply> opeList=new ArrayList<>();
|
//this.opeApplyService.getOpeApplyList(null,null,null,null,null)
|
for(int i=0;i<list2.size();i++){
|
OpeApply opeApply=new OpeApply();
|
opeApply.setArticleNumber(list2.get(i).getArticleNumber());
|
opeApply.setHouseId(laboratoryId);
|
opeApply.setContainerId(laboratoryContainerId);
|
opeApply.setReagent(this.sysReagentService.getSysReagent(list2.get(i).getReagentId()));
|
opeApply.setStartReagentCode(list2.get(i).getStartReagentCode2());
|
opeApply.setEndReagentCode(list2.get(i).getEndReagentCode2());
|
opeList.add(opeApply);
|
OpeLaboratoryReserve lr=new OpeLaboratoryReserve();
|
lr.setReagentId(list2.get(i).getReagentId());
|
lr.setHouseId(laboratoryId);
|
lr.setContainerId(laboratoryContainerId);
|
lr.setReserve(list2.get(i).getSelectNum());
|
lr.setUserId(userId);
|
lr.setValidFlag(ValidFlag.VALID);
|
this.opeLaboratoryReserveService.insert(lr);
|
//opeList.add(this.opeApplyService.getOpeApply(list2.get(i).getId()));
|
ApplyListDto lis = new ApplyListDto();
|
Map reagentDetail = sysReagentService.getReagentDetail(list2.get(i).getReagentId());
|
|
lis.setNum(String.valueOf(list2.get(i).getSelectNum())); //数量
|
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 += list2.get(i).getSelectNum();
|
}
|
this.opeWarehouseReserveService.reagentDStore2(opeList,userId);
|
for(int i=0;i<list2.size();i++){
|
list2.get(i).setReserve(list2.get(i).getReserve()-list2.get(i).getSelectNum());
|
opeWarehouseReserveDao.updateOpeWarehouseReserve(list2.get(i));
|
}
|
|
|
//opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve()-opeWarehouseReserve.getSelectNum());
|
//opeWarehouseReserveDao.updateOpeWarehouseReserve(opeWarehouseReserve);
|
//this.opeWarehouseReserveService.claim(list2, userId,projectNum);
|
}
|
|
//领用票最后一行
|
applyList.add(new ApplyListDto("合计", "", "", "", "", String.valueOf(sum), ""));
|
printTable.put("applyList", applyList);
|
|
FacesUtils.info("申领成功。");
|
RequestContext.getCurrentInstance().execute("PF('printDialog').show()");
|
// this.menuController.goToPage(Constants.PAGE_WAREHOUSE_STOCK_MNG, Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW);
|
} catch (Exception e) {
|
logger.error(e.getMessage(), e);
|
FacesUtils.warn("操作失败。");
|
}
|
}
|
|
@SuppressWarnings("serial")
|
public LazyDataModel<OpeWarehouseReserve> getDataModel() {
|
logger.info("WarehouseStockMngController getDataModel start");
|
if (this.dataModel == null) {
|
this.dataModel = new LazyDataModel<OpeWarehouseReserve>() {
|
@Override
|
public List<OpeWarehouseReserve> load(int first, int pageSize, String sortField, SortOrder sortOrder,
|
Map<String, Object> filters) {
|
List<OpeWarehouseReserve> list = null;
|
try {
|
int count = opeWarehouseReserveService.getOpeWarehouseReserveTotalCountByName(reagentId, supplierId);
|
this.setRowCount(count);
|
if (count > 0) {
|
list = opeWarehouseReserveService.getOpeWarehouseReserveListByName(reagentId, supplierId, first,
|
pageSize);
|
}
|
} catch (Exception e) {
|
logger.error(e);
|
}
|
return list;
|
}
|
|
@Override
|
public OpeWarehouseReserve getRowData(String rowKey) {
|
Iterator<OpeWarehouseReserve> iterator = this.iterator();
|
if (iterator != null) {
|
OpeWarehouseReserve su = null;
|
while (iterator.hasNext()) {
|
su = iterator.next();
|
if (rowKey.equals(su.getId())) {
|
return su;
|
}
|
}
|
}
|
return null;
|
}
|
};
|
}
|
return dataModel;
|
}
|
|
@SuppressWarnings("serial")
|
public LazyDataModel<OpeApplyReserve> getDataModelForPerson() {
|
logger.info("WarehouseStockMngController getDataModelForPerson start: "+this.dataModelForPerson);
|
if (this.dataModelForPerson == null) {
|
this.dataModelForPerson = new LazyDataModel<OpeApplyReserve>() {
|
@Override
|
public List<OpeApplyReserve> load(int first, int pageSize, String sortField, SortOrder sortOrder,
|
Map<String, Object> filters) {
|
List<OpeApplyReserve> list = null;
|
SysUser loginUser = getUser();
|
String id="";
|
if(loginUser.getSeeFlag()==SeeFlag.MANAGE){
|
|
}else {
|
//userName=loginUser.getName();
|
id=loginUser.getId();
|
}
|
|
try {
|
|
int count = opeApplyService.getOpeApplyReserveTotalCountByNameFor(id,reagentId, userName);
|
this.setRowCount(count);
|
if (count > 0) {
|
list = opeApplyService.getOpeApplyReserveListByNameFor(id,reagentId, userName, first,
|
pageSize);
|
}
|
} catch (Exception e) {
|
logger.error(e);
|
}
|
return list;
|
}
|
|
@Override
|
public OpeApplyReserve getRowData(String rowKey) {
|
Iterator<OpeApplyReserve> iterator = this.iterator();
|
if (iterator != null) {
|
OpeApplyReserve su = null;
|
while (iterator.hasNext()) {
|
su = iterator.next();
|
if (rowKey.equals(su.getId())) {
|
return su;
|
}
|
}
|
}
|
return null;
|
}
|
};
|
}
|
logger.info("WarehouseStockMngController getDataModelForPerson end");
|
return dataModelForPerson;
|
}
|
|
@SuppressWarnings("serial")
|
public LazyDataModel<OpeReagentStatus> getReagentStatusDataModel() {
|
logger.info("WarehouseStockMngController getReagentStatusDataModel start");
|
if (this.reagentStatusDataModel == null) {
|
this.reagentStatusDataModel = new LazyDataModel<OpeReagentStatus>() {
|
@Override
|
public List<OpeReagentStatus> load(int first, int pageSize, String sortField, SortOrder sortOrder,
|
Map<String, Object> filters) {
|
List<OpeReagentStatus> list = null;
|
try {
|
int count = opeReagentStatusService.getLogOpeReagentStatusTotalCount(reagentLogId,
|
ArrivalStatus.PERSONAL.getKey(), userLogId, getUser().getId());
|
this.setRowCount(count);
|
if (count > 0) {
|
list = opeReagentStatusService.getLogOpeReagentStatusList(reagentLogId,
|
ArrivalStatus.PERSONAL.getKey(), userLogId, getUser().getId(), first, pageSize);
|
}
|
} catch (Exception e) {
|
logger.error(e);
|
}
|
return list;
|
}
|
|
@Override
|
public OpeReagentStatus getRowData(String rowKey) {
|
Iterator<OpeReagentStatus> iterator = this.iterator();
|
if (iterator != null) {
|
OpeReagentStatus su = null;
|
while (iterator.hasNext()) {
|
su = iterator.next();
|
if (rowKey.equals(su.getId())) {
|
return su;
|
}
|
}
|
}
|
return null;
|
}
|
};
|
}
|
return reagentStatusDataModel;
|
}
|
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<OpeWarehouseReserve> realDataList = new ArrayList<>();
|
//map=null;
|
if(selectedList!=null&&selectedList.size()>0){
|
realDataList=selectedList;
|
}else {
|
realDataList = opeWarehouseReserveService.getOpeWarehouseReserveListByName(reagentId, supplierId, null,
|
null);
|
}
|
List<String> headerList = new ArrayList<>();
|
headerList.add("试剂名称");
|
headerList.add("cas");
|
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<OpeWarehouseReserve> 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).getReagent().getName()== null ? "": String.valueOf(dataList.get(i).getReagent().getName()));
|
dataRow.createCell(1).setCellValue(dataList.get(i).getReagent().getCas()== null ? "": String.valueOf(dataList.get(i).getReagent().getCas()));
|
dataRow.createCell(2).setCellValue(dataList.get(i).getReagent().getProductHomeName()== null ? "": String.valueOf(dataList.get(i).getReagent().getProductHomeName()));
|
dataRow.createCell(3).setCellValue(dataList.get(i).getReagent().getSupplierName()== null ? "": String.valueOf(dataList.get(i).getReagent().getSupplierName()));
|
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(dataList.get(i).getArticleNumber()== null ? "": String.valueOf(dataList.get(i).getArticleNumber()));
|
dataRow.createCell(8).setCellValue(dataList.get(i).getReserve()== null ? "": String.valueOf(dataList.get(i).getReserve()));
|
dataRow.createCell(9).setCellValue(dataList.get(i).getWarehouseName()== null ? "": String.valueOf(dataList.get(i).getWarehouseName()));
|
|
}
|
return hssfWorkbook;
|
}
|
/**
|
* 试剂直接入库
|
*/
|
public void onDStoreBtnClick() {
|
this.onResetBtnClickForNewP();
|
this.menuController.goToPage(Constants.PAGE_WAREHOUSE_REAGENT_DIRECT_STORE, Constants.PAGE_WAREHOUSE_STOCK_MNG);
|
}
|
|
/**
|
* 直接入库试剂List_重置
|
*/
|
public void onResetBtnClickForNewP() {
|
this.reagentDStoreList = new ArrayList<OpeApply>();
|
}
|
|
/**
|
* 直接入库试剂List_修改
|
*/
|
public void onEditBtnClickForNewP() {
|
|
if (this.reagentDStoreSelectedList == null
|
|| this.reagentDStoreSelectedList.size() == 0) {
|
FacesUtils.warn("请选择数据。");
|
return;
|
}
|
if (this.reagentDStoreSelectedList.size() > 1) {
|
FacesUtils.warn("只能选择一个数据进行修改。");
|
return;
|
}
|
|
this.reagentDStoreEditFlag = Constants.ACTION_EDIT;
|
this.reagentDStore = this.reagentDStoreSelectedList.get(0);
|
RequestContext.getCurrentInstance().execute("PF('reagentDStoreDialog').show()");
|
}
|
|
/**
|
* 直接入库试剂List_删除
|
*/
|
public void onDeleteBtnClickForNewP() {
|
|
if (this.reagentDStoreSelectedList == null
|
|| this.reagentDStoreSelectedList.size() == 0) {
|
FacesUtils.warn("请选择数据。");
|
return;
|
}
|
|
List<String> selectedIds = new ArrayList<String>();
|
|
for (OpeApply oa : this.reagentDStoreSelectedList) {
|
selectedIds.add(oa.getReagent().getId());
|
}
|
|
Iterator<OpeApply> it = this.reagentDStoreList.iterator();
|
|
while(it.hasNext()){
|
|
OpeApply ope = it.next();
|
|
if(selectedIds.contains(ope.getReagent().getId())) {
|
it.remove();
|
}
|
}
|
|
this.reagentDStoreSelectedList = null;
|
|
FacesUtils.info("删除成功。");
|
}
|
|
/**
|
* 直接入库试剂List_提交
|
*/
|
public void onSaveBtnClickForNewP() {
|
|
try {
|
if (this.reagentDStoreList == null || this.reagentDStoreList.size() == 0) {
|
FacesUtils.warn("新建对象为空。");
|
return;
|
}
|
|
SysUser loginUser = this.getUser();
|
if (loginUser == null) {
|
FacesUtils.warn("当前登陆用户信息未能找到。");
|
return;
|
}
|
|
this.opeWarehouseReserveService.reagentDStore(this.reagentDStoreList, loginUser.getId());
|
|
FacesUtils.info("提交成功。");
|
this.menuController.backToPage();
|
|
} catch (BusinessException e) {
|
logger.warn("操作失败。", e);
|
FacesUtils.warn(e.getMessage());
|
}catch (Exception e) {
|
logger.error("操作失败。", e);
|
FacesUtils.warn("操作失败。");
|
}
|
}
|
|
/**
|
* 新建申购dialog_取消
|
*/
|
public void onCancelBtnClickNew() {
|
|
this.reagentDStore = new OpeApply();
|
RequestContext.getCurrentInstance().execute("PF('reagentDStoreDialog').hide()");
|
}
|
|
/**
|
* 新建申购dialog_增加
|
*/
|
public void onSaveBtnClickNew() {
|
|
if (this.reagentDStore.getReagent() == null
|
|| StringUtils.isBlank(this.reagentDStore.getReagent().getId())) {
|
FacesUtils.warn("请选择入库试剂。");
|
RequestContext.getCurrentInstance().execute("PF('reagentDStoreDialog').hide()");
|
return;
|
}
|
// 检查到货数量
|
if (this.reagentDStore.getArrivalNum() == null || this.reagentDStore.getArrivalNum() <= 0) {
|
FacesUtils.warn("入库数量不能为空,且要大于0。");
|
return;
|
}
|
// 检查货号
|
if (StringUtils.isBlank(this.reagentDStore.getArticleNumber())) {
|
FacesUtils.warn("货号不能为空。");
|
return;
|
}
|
// 检查条形码开始
|
/*if (StringUtils.isBlank(this.reagentDStore.getStartReagentCode())) {
|
FacesUtils.warn("条形码开始不能为空。");
|
return;
|
}
|
// 检查条形码结束
|
if (StringUtils.isBlank(this.reagentDStore.getEndReagentCode())) {
|
FacesUtils.warn("条形码结束不能为空。");
|
return;
|
}*/
|
|
// 检查仓库名
|
if (StringUtils.isBlank(this.reagentDStore.getHouseId())) {
|
FacesUtils.warn("仓库名不能为空。");
|
return;
|
}
|
// 检查货柜名
|
if (StringUtils.isBlank(this.reagentDStore.getContainerId())) {
|
FacesUtils.warn("货柜名不能为空。");
|
return;
|
}
|
// 检查货柜位置
|
if (StringUtils.isBlank(this.reagentDStore.getPlaceId())) {
|
FacesUtils.warn("货柜位置不能为空。");
|
return;
|
}
|
|
//输入条形码开始和结束
|
if (!StringUtils.isBlank(this.reagentDStore.getEndReagentCode())&&!StringUtils.isBlank(this.reagentDStore.getEndReagentCode())){
|
BigDecimal startReagentCode = new BigDecimal(this.reagentDStore.getStartReagentCode());
|
BigDecimal endReagentCode = new BigDecimal(this.reagentDStore.getEndReagentCode());
|
// 检查条形码结束要大于条形码开始
|
if (endReagentCode.compareTo(startReagentCode) == -1) {
|
FacesUtils.warn("条形码开始必须小于条形码结束。");
|
return;
|
}
|
// 检查条形码和到货数量是否匹配
|
if (endReagentCode.subtract(startReagentCode).intValue() != (this.reagentDStore.getArrivalNum() - 1)) {
|
FacesUtils.warn("条形码数量和入库数量不一致。");
|
return;
|
}
|
if(this.reagentDStoreEditFlag == Constants.ACTION_ADD) {
|
if(this.reagentDStoreList.stream().filter(
|
apply -> apply.getReagent().getId().equals(this.reagentDStore.getReagent().getId())
|
&& apply.getArrivalNum()==this.reagentDStore.getArrivalNum()
|
&& apply.getStartReagentCode().equals(this.reagentDStore.getStartReagentCode())
|
&& apply.getEndReagentCode().equals(this.reagentDStore.getEndReagentCode())).count() > 0) {
|
FacesUtils.warn("该试剂已被增加!");
|
}else {
|
this.reagentDStore.setId(IDUtils.uuid());
|
this.reagentDStoreList.add(this.reagentDStore);
|
FacesUtils.info("增加成功。");
|
}
|
}
|
}else {
|
if(this.reagentDStoreEditFlag == Constants.ACTION_ADD) {
|
this.reagentDStore.setStartReagentCode("");
|
this.reagentDStore.setEndReagentCode("");
|
if(this.reagentDStoreList.stream().filter(
|
apply -> apply.getReagent().getId().equals(this.reagentDStore.getReagent().getId())
|
&& apply.getArrivalNum()==this.reagentDStore.getArrivalNum()
|
&& apply.getStartReagentCode().equals(this.reagentDStore.getStartReagentCode())
|
&& apply.getEndReagentCode().equals(this.reagentDStore.getEndReagentCode())).count() > 0) {
|
FacesUtils.warn("该试剂已被增加!");
|
}else {
|
this.reagentDStore.setId(IDUtils.uuid());
|
this.reagentDStoreList.add(this.reagentDStore);
|
FacesUtils.info("增加成功。");
|
}
|
}
|
}
|
|
|
this.reagentDStore = new OpeApply();
|
RequestContext.getCurrentInstance().execute("PF('reagentDStoreDialog').hide()");
|
}
|
|
public void onReagentRowSelect(SelectEvent event) {
|
this.reagentDStore = new OpeApply();
|
this.reagentDStore.setReagent((SysReagent)event.getObject());
|
|
this.reagentDStoreEditFlag = Constants.ACTION_ADD;
|
RequestContext.getCurrentInstance().execute("PF('reagentDStoreDialog').show()");
|
}
|
|
public void onWarehouseSelectChange(String warehouseId) {
|
this.warehouseContainerList = null;
|
this.warehouseContainerPlaceList = null;
|
this.changeWarehouseContainerList(warehouseId);
|
this.changeWarehouseContainerPlaceList(null);
|
}
|
|
private void changeWarehouseContainerList(String warehouseId) {
|
if (StringUtils.isBlank(warehouseId)) {
|
if (this.warehouseList != null && this.warehouseList.size() > 0) {
|
warehouseId = this.warehouseList.get(0).getId();
|
}
|
}
|
|
if (StringUtils.isNotBlank(warehouseId)) {
|
this.warehouseContainerList = warehouseIdContainerMap.get(warehouseId);
|
}
|
}
|
|
private void changeWarehouseContainerPlaceList(String warehouseContainerId) {
|
if (StringUtils.isBlank(warehouseContainerId)) {
|
if (this.warehouseContainerList != null && this.warehouseContainerList.size() > 0) {
|
warehouseContainerId = this.warehouseContainerList.get(0).getId();
|
}
|
}
|
|
if (StringUtils.isNotBlank(warehouseContainerId)) {
|
SysWarehouseContainer container = this.warehouseContainerMap.get(warehouseContainerId);
|
BaseMeta baseMeta = null;
|
if (container != null
|
&& (baseMeta = this.baseMetaService.getBaseMeta(container.getStructure())) != null) {
|
this.warehouseContainerPlaceList = this.baseMetaService.getBaseMetaList(baseMeta.getMetaKey());
|
}
|
}
|
}
|
|
public String formatWarehouseName(String id) {
|
if (StringUtils.isNotBlank(id)
|
&& this.warehouseNameMap != null) {
|
return warehouseNameMap.get(id);
|
}
|
|
return "";
|
}
|
public String formatWarehouseContainerName(String id) {
|
if (StringUtils.isNotBlank(id)
|
&& this.warehouseContainerMap != null) {
|
if (this.warehouseContainerMap.get(id) != null) {
|
return this.warehouseContainerMap.get(id).getContainerCode();
|
}
|
}
|
|
return "";
|
}
|
public String formatWarehouseContainerPlaceName(String id) {
|
if (StringUtils.isNotBlank(id)) {
|
return this.baseMetaService.getBaseMetaValue(id);
|
}
|
|
return "";
|
}
|
|
public int getAction() {
|
return action;
|
}
|
|
public List<SysReagent> getReagentSelectList() {
|
if (this.reagentSelectList == null) {
|
this.initReagentSelectList();
|
}
|
return reagentSelectList;
|
}
|
|
public void setReagentSelectList(List<SysReagent> reagentSelectList) {
|
this.reagentSelectList = reagentSelectList;
|
}
|
|
public String getReagentId() {
|
return reagentId;
|
}
|
|
public void setReagentId(String reagentId) {
|
this.reagentId = reagentId;
|
}
|
|
public List<SysUser> getUserSelectList() {
|
if (userSelectList == null) {
|
this.initUserSelectList();
|
}
|
return userSelectList;
|
}
|
|
public SysUser getSelectedUserById(String userId) {
|
return userSelectList.stream().filter(u->u.getId().equals(userId)).findFirst().get();
|
}
|
|
public List<SysUser> getUserSelectList(String keyword) {
|
final String key = keyword.toLowerCase();
|
return userSelectList.stream().filter(u->u.getName().toLowerCase().contains(key)).collect(Collectors.toList());
|
}
|
|
|
|
public void setUserSelectList(List<SysUser> userSelectList) {
|
this.userSelectList = userSelectList;
|
}
|
|
public String getUserId() {
|
return userId;
|
}
|
|
public void setUserId(String userId) {
|
this.userId = userId;
|
}
|
|
|
public String getProjectNum() {
|
return projectNum;
|
}
|
|
public void setProjectNum(String projectNum) {
|
this.projectNum = projectNum;
|
}
|
|
public String getSupplierId() {
|
return supplierId;
|
}
|
|
public void setSupplierId(String supplierId) {
|
this.supplierId = supplierId;
|
}
|
|
public List<SysSupplier> getSupplierSelectList() {
|
if (supplierSelectList == null) {
|
this.initSupplierSelectList();
|
}
|
return supplierSelectList;
|
}
|
|
public void setSupplierSelectList(List<SysSupplier> supplierSelectList) {
|
this.supplierSelectList = supplierSelectList;
|
}
|
|
public List<OpeWarehouseReserve> getSelectedList() {
|
return selectedList;
|
}
|
|
public void setSelectedList(List<OpeWarehouseReserve> selectedList) {
|
this.selectedList = selectedList;
|
}
|
|
public OpeWarehouseReserve getSelectedOpeWarehouseReserve() {
|
return selectedOpeWarehouseReserve;
|
}
|
|
public void setSelectedOpeWarehouseReserve(OpeWarehouseReserve selectedOpeWarehouseReserve) {
|
this.selectedOpeWarehouseReserve = selectedOpeWarehouseReserve;
|
}
|
|
public List<OpeReagentStatus> getReagentStatusSelectList() {
|
initReagentStatusSelectList();
|
return reagentStatusSelectList;
|
}
|
|
public void setReagentStatusSelectList(List<OpeReagentStatus> reagentStatusSelectList) {
|
this.reagentStatusSelectList = reagentStatusSelectList;
|
}
|
|
public List<String> getReagentCodeSelectedList() {
|
return reagentCodeSelectedList;
|
}
|
|
public void setReagentCodeSelectedList(List<String> reagentCodeSelectedList) {
|
this.reagentCodeSelectedList = reagentCodeSelectedList;
|
}
|
|
public String getReagentLogId() {
|
return reagentLogId;
|
}
|
|
public void setReagentLogId(String reagentLogId) {
|
this.reagentLogId = reagentLogId;
|
}
|
|
public String getUserLogId() {
|
return userLogId;
|
}
|
|
public void setUserLogId(String userLogId) {
|
this.userLogId = userLogId;
|
}
|
|
public void handleEvent(){
|
if(reagentDStore!=null){
|
if(reagentDStore.getArrivalNum()!=null && reagentDStore.getArrivalNum()>0){
|
if(reagentDStore.getStartReagentCode()!=null && !reagentDStore.getStartReagentCode().equals("")){
|
BigDecimal start=new BigDecimal(reagentDStore.getStartReagentCode());
|
String str=reagentDStore.getStartReagentCode();
|
String up="";
|
int len = reagentDStore.getStartReagentCode().length() - String.valueOf(reagentDStore.getStartReagentCode()).length();
|
String temp = "";
|
for (int i = 0; i < len; i++) {
|
temp += "0";
|
}
|
BigDecimal end=start.add(new BigDecimal(reagentDStore.getArrivalNum()-1));
|
reagentDStore.setEndReagentCode(temp +end.toString());
|
//reagentDStore.setEndReagentCode(Integer.toString(reagentDStore.getArrivalNum()-1+Integer.parseInt(reagentDStore.getStartReagentCode())));
|
}else{
|
FacesUtils.info("请输入条形码开始");
|
}
|
}else {
|
FacesUtils.info("请输入入库数量");
|
}
|
}
|
}
|
|
public void handleEvent2(){
|
System.out.println("===============================");
|
if(useNum!=null && useNum>0){
|
if(startReagentCode!=null && !startReagentCode.equals("")){
|
|
BigDecimal start=new BigDecimal(startReagentCode.trim());
|
String str=startReagentCode;
|
String up="";
|
int len = startReagentCode.length() - String.valueOf(start).length();
|
String temp = "";
|
for (int i = 0; i < len; i++) {
|
temp += "0";
|
}
|
BigDecimal end = start.add(new BigDecimal(useNum-1));
|
endReagentCode=temp+end.toString();
|
//endReagentCode=Integer.toString(useNum-1+Integer.parseInt(startReagentCode));
|
}else{
|
FacesUtils.info("请输入条形码开始");
|
}
|
}else {
|
FacesUtils.info("请输入领用数量");
|
}
|
}
|
|
public void handleEventForPerson(){
|
if(useNum!=null && useNum>0){
|
if(startReagentCodeForPerson!=null && !startReagentCodeForPerson.equals("")){
|
BigDecimal start=new BigDecimal(startReagentCodeForPerson.trim());
|
String str=startReagentCodeForPerson;
|
String up="";
|
int len = startReagentCodeForPerson.length() - String.valueOf(start).length();
|
String temp = "";
|
for (int i = 0; i < len; i++) {
|
temp += "0";
|
}
|
BigDecimal end = start.add(new BigDecimal(useNum-1));
|
endReagentCodeForPerson=temp+end.toString();
|
//endReagentCodeForPerson=Integer.toString(useNum-1+Integer.parseInt(startReagentCodeForPerson.trim()));
|
}else{
|
FacesUtils.info("请输入条形码开始");
|
}
|
}else {
|
FacesUtils.info("请输入领用数量");
|
}
|
}
|
|
public void uploadFile(){
|
System.out.println(11111111);
|
}
|
/*public List<SysUser> getApplyUser(String value){
|
List<SysUser> list=this.userSelectList;
|
List<SysUser> results=new ArrayList<>();
|
for(SysUser u:list){
|
if(u.getName().indexOf(value)>-1){
|
results.add(u);
|
}
|
}
|
return results;
|
}*/
|
|
/*public void handleSelect(SelectEvent event){
|
|
}*/
|
|
public List<SysUser> getApplyUserSelectList() {
|
SysUser sysUser = getUser();
|
if (sysUser == null) {
|
applyUserSelectList = new ArrayList<SysUser>();
|
} else {
|
|
// 负责人,需要把部门的userid传递到SQL
|
if (sysUser.getSeeFlag().getKey() == SeeFlag.LEADING.getKey()) {
|
applyUserSelectList = this.sysUserService.getSeeUserList(sysUser.getDepartment());
|
} else if (sysUser.getSeeFlag().getKey() == SeeFlag.NORMAL.getKey()) {
|
List<SysUser> list = new ArrayList<SysUser>();
|
list.add(sysUser);
|
applyUserSelectList = list;
|
} else {
|
applyUserSelectList = this.sysUserService.getSysUserList(null, null, null, null, null);
|
}
|
}
|
return applyUserSelectList;
|
}
|
|
public void setApplyUserSelectList(List<SysUser> applyUserSelectList) {
|
this.applyUserSelectList = applyUserSelectList;
|
}
|
|
public String getReagentCode() {
|
return reagentCode;
|
}
|
|
public void setReagentCode(String reagentCode) {
|
this.reagentCode = reagentCode;
|
}
|
|
public LazyDataModel<SysReagent> getReagentDataModel() {
|
if (this.reagentDataModel == null) {
|
this.reagentDataModel = 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.getSysReagentTotalCountNew(applyNewReagentName, applyNewCas, null,null);
|
this.setRowCount(count);
|
if (count > 0) {
|
list = sysReagentService.getSysReagentListNew(applyNewReagentName, applyNewCas, null,null, 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;
|
}
|
}
|
}
|
return null;
|
}
|
};
|
}
|
|
return reagentDataModel;
|
}
|
|
public List<OpeApply> getReagentDStoreList() {
|
return reagentDStoreList;
|
}
|
|
public void setReagentDStoreList(List<OpeApply> reagentDStoreList) {
|
this.reagentDStoreList = reagentDStoreList;
|
}
|
|
public List<OpeApply> getReagentDStoreSelectedList() {
|
return reagentDStoreSelectedList;
|
}
|
|
public void setReagentDStoreSelectedList(List<OpeApply> reagentDStoreSelectedList) {
|
this.reagentDStoreSelectedList = reagentDStoreSelectedList;
|
}
|
|
public int getReagentDStoreEditFlag() {
|
return reagentDStoreEditFlag;
|
}
|
|
public void setReagentDStoreEditFlag(int reagentDStoreEditFlag) {
|
this.reagentDStoreEditFlag = reagentDStoreEditFlag;
|
}
|
|
public OpeApply getReagentDStore() {
|
return reagentDStore;
|
}
|
|
public void setReagentDStore(OpeApply reagentDStore) {
|
|
this.reagentDStore = reagentDStore;
|
}
|
|
public String getApplyNewReagentName() {
|
return applyNewReagentName;
|
}
|
|
public void setApplyNewReagentName(String applyNewReagentName) {
|
this.applyNewReagentName = applyNewReagentName;
|
}
|
|
public String getApplyNewCas() {
|
return applyNewCas;
|
}
|
|
public void setApplyNewCas(String applyNewCas) {
|
this.applyNewCas = applyNewCas;
|
}
|
|
public List<SysWarehouse> getWarehouseList() {
|
return warehouseList;
|
}
|
|
public List<SysWarehouseContainer> getWarehouseContainerList() {
|
return warehouseContainerList;
|
}
|
|
public List<BaseMeta> getWarehouseContainerPlaceList() {
|
return warehouseContainerPlaceList;
|
}
|
|
public Integer getUseNum() {
|
return useNum;
|
}
|
|
public void setUseNum(Integer useNum) {
|
this.useNum = useNum;
|
}
|
|
public String getOriLaboratoryId() {
|
return oriLaboratoryId;
|
}
|
|
public void setOriLaboratoryId(String oriLaboratoryId) {
|
this.oriLaboratoryId = oriLaboratoryId;
|
}
|
|
public void resetLaboratory(){
|
laboratory = null;
|
laboratoryContainers = null;
|
//getLaboratory();
|
//getLaboratoryContainers();
|
}
|
|
public void resetLaboratoryContainers() {
|
laboratoryContainers = null;
|
//getLaboratoryContainers();
|
}
|
public List<SysLaboratory> getLaboratory() {
|
if(userId != null && userId.trim().length() > 0)
|
{
|
this.laboratory = this.sysLaboratoryService.getSysLaboratoryListByDep(sysUserService.getSysUser(userId).getDepartment());
|
if(this.laboratory != null && this.laboratory.size() > 0)
|
{
|
//flag =true;
|
//if(laboratoryId != null && laboratoryId.trim().length() > 0)
|
//{
|
// this.oriLaboratoryId = this.laboratoryId;
|
//}else
|
//{
|
// this.oriLaboratoryId = this.laboratory.get(0).getId();
|
//}
|
this.laboratoryId=this.laboratory.get(0).getId();
|
this.laboratoryContainers = this.sysLaboratoryContainerService.getSysLaboratoryContainerList(this.laboratory.get(0).getId());
|
}else {
|
this.oriLaboratoryId = null;
|
this.laboratoryContainers = null;
|
}
|
}else {
|
this.laboratory = null;
|
this.laboratoryId = null;
|
this.laboratoryContainers = null;
|
}
|
|
return laboratory;
|
}
|
|
public void setLaboratory(List<SysLaboratory> laboratory) {
|
this.laboratory = laboratory;
|
}
|
|
public List<SysLaboratoryContainer> getLaboratoryContainers() {
|
if(laboratoryId != null && laboratoryId.trim().length() > 0)
|
{
|
this.laboratoryContainers = this.sysLaboratoryContainerService.getSysLaboratoryContainerList(laboratoryId);
|
}
|
return laboratoryContainers;
|
}
|
|
public void setLaboratoryContainers(List<SysLaboratoryContainer> laboratoryContainers) {
|
this.laboratoryContainers = laboratoryContainers;
|
}
|
|
public String getLaboratoryId() {
|
return laboratoryId;
|
}
|
|
public void setLaboratoryId(String laboratoryId) {
|
this.laboratoryId = laboratoryId;
|
}
|
|
public String getLaboratoryContainerId() {
|
return laboratoryContainerId;
|
}
|
|
public void setLaboratoryContainerId(String laboratoryContainerId) {
|
this.laboratoryContainerId = laboratoryContainerId;
|
}
|
|
public List<OpeApplyReserve> getSelectedListForPerson() {
|
return selectedListForPerson;
|
}
|
|
public void setSelectedListForPerson(List<OpeApplyReserve> selectedListForPerson) {
|
this.selectedListForPerson = selectedListForPerson;
|
}
|
|
public String getUserName() {
|
return userName;
|
}
|
|
public void setUserName(String userName) {
|
this.userName = userName;
|
}
|
|
public static long getSerialVersionUID() {
|
return serialVersionUID;
|
}
|
|
public String getStartReagentCode() {
|
return startReagentCode;
|
}
|
|
public void setStartReagentCode(String startReagentCode) {
|
this.startReagentCode = startReagentCode;
|
}
|
|
public String getEndReagentCode() {
|
return endReagentCode;
|
}
|
|
public void setEndReagentCode(String endReagentCode) {
|
this.endReagentCode = endReagentCode;
|
}
|
|
public List<OpeWarehouseReserve> getSelectedTmpList() {
|
return selectedTmpList;
|
}
|
|
public void setSelectedTmpList(List<OpeWarehouseReserve> selectedTmpList) {
|
this.selectedTmpList = selectedTmpList;
|
}
|
|
|
public List<OpeWarehouseReserve> getTrulySelectedList() {
|
return trulySelectedList;
|
}
|
|
public void setTrulySelectedList(List<OpeWarehouseReserve> trulySelectedList) {
|
this.trulySelectedList = trulySelectedList;
|
}
|
|
public List<String> getShowCodes() {
|
return showCodes;
|
}
|
|
public void setShowCodes(List<String> showCodes) {
|
this.showCodes = showCodes;
|
}
|
|
public List<OpeApplyReserve> getSelectedTmpOrderList() {
|
return selectedTmpOrderList;
|
}
|
|
public void setSelectedTmpOrderList(List<OpeApplyReserve> selectedTmpOrderList) {
|
this.selectedTmpOrderList = selectedTmpOrderList;
|
}
|
|
public List<OpeApplyReserve> getTrulySelectedOrderList() {
|
return trulySelectedOrderList;
|
}
|
|
public void setTrulySelectedOrderList(List<OpeApplyReserve> trulySelectedOrderList) {
|
this.trulySelectedOrderList = trulySelectedOrderList;
|
}
|
|
|
public Integer getTabValue() {
|
return tabValue;
|
}
|
|
public void setTabValue(Integer tabValue) {
|
this.tabValue = tabValue;
|
}
|
}
|