From 1c375d6dcd0c41bc3c206585a2712ec066bf5992 Mon Sep 17 00:00:00 2001 From: lyfO_o <764716047@qq.com> Date: 星期五, 18 十一月 2022 10:09:13 +0800 Subject: [PATCH] 卡号 bug --- src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java | 298 +++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 227 insertions(+), 71 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java index 527e594..d7d1c54 100644 --- a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java @@ -173,6 +173,8 @@ @Value("${institute.name}") String instituteName; + private boolean isExpired; + private Hashtable printTable; public Hashtable getPrintTable() { @@ -218,6 +220,8 @@ //private boolean flag = false; //领用单号 private String receiptNumber; + //备注 + private String note; // 试剂库 private LazyDataModel<SysReagent> reagentDataModel; // 直接入库试剂List @@ -394,7 +398,7 @@ String reagentId = selectedOpeWarehouseReserve.getReagentId(); String articleNumber = selectedOpeWarehouseReserve.getArticleNumber(); - this.setReagentStatusSelectList(opeReagentStatusService.getOpeReagentStatusList(reagentId, articleNumber, + this.setReagentStatusSelectList(opeReagentStatusService.getOpeReagentStatusList22(reagentId, articleNumber, ArrivalStatus.WAREHOUSE.getKey(), reagentCode, null, null, null)); // System.out.print("this.getReagentStatusSelectList().size(): " + this.reagentStatusSelectList.size()); @@ -413,7 +417,7 @@ System.out.println(reagentId); System.out.println(articleNumber); System.out.println(reagentCode); - this.setReagentStatusSelectListForPerson(opeReagentStatusService.getOpeReagentStatusList(reagentId, articleNumber, + this.setReagentStatusSelectListForPerson(opeReagentStatusService.getOpeReagentStatusList22(reagentId, articleNumber, ArrivalStatus.WAREHOUSE.getKey(), reagentCode, null, null, null)); } @@ -424,7 +428,8 @@ System.out.println(getUser().getSeeFlag().getKey()); //SysUser u=sysUserService.getSysUser(getUserId()); //System.out.println(u); - if (getUser().getSeeFlag().getKey() != SeeFlag.MANAGE.getKey()) { + if (getUser().getSeeFlag().getKey() != SeeFlag.MANAGE.getKey() + && getUser().getSeeFlag().getKey() != SeeFlag.LEADING.getKey()) { editFlag=0; }else{ editFlag=1; @@ -541,6 +546,12 @@ public void clearInputStorageTmp(){ selectedInputStorageTmpOrderList = null; } + + public void hideInputStorageTmp(){ + selectedInputStorageTmpOrderList = null; + + RequestContext.getCurrentInstance().execute("document.getElementById('putInStorage').style.display='none'"); + } public void cancel(){ if (trulySelectedList == null || trulySelectedList.size()<=0){ @@ -662,7 +673,11 @@ checkTable = null; // this.userId = selectedTmpOrderList.get(0).getApplyUser(); - + SysUser sysUser = sysUserService.getSysUser(this.userId); + if (sysUser == null){ + FacesUtils.info("申领人不存在"); + return; + } this.menuController.goToPage(Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW_PERSON, Constants.PAGE_WAREHOUSE_STOCK_MNG); } @@ -793,7 +808,7 @@ //变换条码 btCodeChange(); } - + /** * 取消一个仓库领取 */ @@ -1068,6 +1083,7 @@ this.selectedInputStorageTmpOrderList = null; this.endReagentCodeForPerson = null; this.startReagentCodeForPerson = null; + this.laboratoryId = null; this.useNum = null; this.menuController.backToPage(); } @@ -1204,16 +1220,24 @@ printTable = new Hashtable(); int sum = 0; List<ApplyListDto> applyList = new ArrayList<>(); - Map applyPersonInfo = sysUserService.getUser(userId); + SysUser applyPersonInfo = sysUserService.getUser(userId); + if (applyPersonInfo == null) { + FacesUtils.warn("申领人不存在或者申领人部门被删除。"); + return; + } printTable.put("head", instituteName); printTable.put("title", "领用单"); - printTable.put("applyPerson", applyPersonInfo.get("name")); - printTable.put("department", applyPersonInfo.get("meta_value")); + printTable.put("applyPerson", applyPersonInfo.getName()); + printTable.put("department", applyPersonInfo.getDepartment()); printTable.put("date", Utils.now("yyyy-MM-dd")); - printTable.put("phone", applyPersonInfo.get("phone")); String receiptNum = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()); printTable.put("receiptNumber", receiptNum); - printTable.put("project", applyPersonInfo.get("project")); + if (StringUtils.isNotBlank(applyPersonInfo.getPhone())){ + printTable.put("phone", applyPersonInfo.getPhone()); + } + if (StringUtils.isNotBlank(applyPersonInfo.getProject())){ + printTable.put("project", applyPersonInfo.getProject()); + } SysLaboratory lab = sysLaboratoryService.getSysLaboratory(laboratoryId); printTable.put("lab", lab.getName()); this.receiptNumber = receiptNum; @@ -1253,7 +1277,7 @@ */ public void associatedFlowReceiptNumber() { try { - opeUseFlowService.updateReceiptNumberByCode(selectedTmpOrderList, receiptNumber); + opeUseFlowService.updateReceiptNumberByCode(selectedTmpOrderList, receiptNumber, note); //弹出打印窗口 RequestContext.getCurrentInstance().execute("document.getElementById('indirectPrint').click()"); } catch (Exception e) { @@ -1269,7 +1293,7 @@ public void associatedFlowReceiptNumber2() { try { - opeUseFlowService.updateReceiptNumberByCode2(selectedTmpList, receiptNumber); + opeUseFlowService.updateReceiptNumberByCode2(selectedTmpList, receiptNumber,note); //弹出打印窗口 RequestContext.getCurrentInstance().execute("document.getElementById('indirectPrint').click()"); } catch (Exception e) { @@ -1281,7 +1305,7 @@ public void closeDialog() { try { - opeUseFlowService.updateReceiptNumberByCode(selectedTmpOrderList, receiptNumber); + opeUseFlowService.updateReceiptNumberByCode(selectedTmpOrderList, receiptNumber,note); onCancelBtnClick(); } catch (Exception e) { logger.info(e.getMessage()); @@ -1291,7 +1315,7 @@ public void closeDialog2() { try { - opeUseFlowService.updateReceiptNumberByCode2(selectedTmpList, receiptNumber); + opeUseFlowService.updateReceiptNumberByCode2(selectedTmpList, receiptNumber,note); onCancelBtnClick(); } catch (Exception e) { logger.info(e.getMessage()); @@ -1481,14 +1505,22 @@ printTable = null; printTable = new Hashtable(); List<ApplyListDto> applyList = new ArrayList<>(); - Map applyPersonInfo = sysUserService.getUser(userId); + SysUser applyPersonInfo = sysUserService.getUser(userId); + if (applyPersonInfo == null) { + FacesUtils.warn("申领人不存在或者申领人部门被删除。"); + return; + } printTable.put("head", instituteName); printTable.put("title", "领用单"); - printTable.put("applyPerson", applyPersonInfo.get("name")); - printTable.put("department", applyPersonInfo.get("meta_value")); + printTable.put("applyPerson", applyPersonInfo.getName()); + printTable.put("department", applyPersonInfo.getDepartment()); printTable.put("date", Utils.now("yyyy-MM-dd")); - printTable.put("phone", applyPersonInfo.get("phone")); - printTable.put("project", applyPersonInfo.get("project")); + if (StringUtils.isNotBlank(applyPersonInfo.getPhone())){ + printTable.put("phone", applyPersonInfo.getPhone()); + } + if (StringUtils.isNotBlank(applyPersonInfo.getProject())){ + printTable.put("project", applyPersonInfo.getProject()); + } SysLaboratory lab = sysLaboratoryService.getSysLaboratory(laboratoryId); String receiptNum = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()); printTable.put("receiptNumber", receiptNum); @@ -1503,11 +1535,42 @@ if(selectWarehouseReserve.getFlag()==1){ list.add(selectWarehouseReserve); }else{ + if (selectWarehouseReserve.getWarehouseId() == null) { + FacesUtils.warn("仓库不存在。"); + return; + } list2.add(selectWarehouseReserve); } } + + //list2为补贴条码,检查条码重复 + ArrayList<String> checkList = new ArrayList<>(); + if (list2.size() > 0) { + for (OpeWarehouseReserve owr : list2) { + checkList.addAll(owr.getReagentCodes()); + } + } + + Set<String> checkTable = new HashSet<>(); + if (checkList.size() > 0) { + for (String reagentCode : checkList) { + if (checkTable.contains(reagentCode)) { + throw new BusinessException(ExceptionEnumCode.PARAM_EXIST, "当前订单条码重复," + reagentCode); + } else { + checkTable.add(reagentCode); + } + } + } + checkTable = null; + checkList = null; + + if(list.size()>0&&list!=null){ for (OpeWarehouseReserve selectWarehouseReserve : list) { + Map reagentDetail = sysReagentService.getReagentDetail(selectWarehouseReserve.getReagentId()); + if (reagentDetail == null) { + throw new Exception("试剂有误,请联系管理员"); + } List<String> reagentCodes = selectWarehouseReserve.getReagentCodes(); if (reagentCodes != null && reagentCodes.size() > 0) for (String opeReagentStatusId : reagentCodes) { @@ -1534,7 +1597,6 @@ //} } 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")); @@ -1552,10 +1614,15 @@ //} 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++){ + Map reagentDetail = sysReagentService.getReagentDetail(list2.get(i).getReagentId()); + if (reagentDetail == null) { + throw new Exception("试剂有误,请联系管理员"); + } OpeApply opeApply=new OpeApply(); opeApply.setArticleNumber(list2.get(i).getArticleNumber()); opeApply.setHouseId(laboratoryId); @@ -1575,7 +1642,6 @@ 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"))); @@ -1588,7 +1654,7 @@ sum += list2.get(i).getSelectNum(); } - this.opeWarehouseReserveService.reagentDStore4(opeList,userId); + this.opeWarehouseReserveService.reagentDStore4(opeList,userId,receiptNum); for(int i=0;i<list2.size();i++){ List<String> reagentCodes = opeReagentStatusService @@ -1637,6 +1703,10 @@ FacesUtils.info("申领成功。"); RequestContext.getCurrentInstance().execute("PF('printDialog').show()"); // this.menuController.goToPage(Constants.PAGE_WAREHOUSE_STOCK_MNG, Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW); + } catch (BusinessException e) { + logger.error(e.getMessage(), e); + FacesUtils.warn(e.getMessage()); + } catch (Exception e) { logger.error(e.getMessage(), e); FacesUtils.warn("操作失败。"); @@ -1647,6 +1717,17 @@ */ public void onSaveInputWarehouseClick(){ try{ + //0.0输入校验 + for (OpeApplyReserve opeApplyReserve : opeApplyList) { + if (StringUtils.isBlank(opeApplyReserve.getArticleNumber())) { + throw new BusinessException(ExceptionEnumCode.PARAM_EXIST, opeApplyReserve.getReagent().getName() + ":批号不能为空"); + } + SysReagent sysReagent = sysReagentService.getSysReagent(opeApplyReserve.getReagent().getId()); + if (sysReagent == null){ + throw new BusinessException(ExceptionEnumCode.PARAM_EXIST, opeApplyReserve.getReagent().getName() + ":被删除"); + } + } + //用来检验提交表单得试剂条码是否重复 Map<String,Boolean> checkTable= new HashMap<>(); if (opeApplyList != null && opeApplyList.size() > 0) { @@ -1708,22 +1789,23 @@ } catch (Exception e) { logger.error(e); } + selectedList = null; 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; +// 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 opeWarehouseReserveService.getRowData(rowKey); } }; } @@ -1741,7 +1823,7 @@ List<OpeApplyReserve> list = null; SysUser loginUser = getUser(); String id=""; - if(loginUser.getSeeFlag()==SeeFlag.MANAGE){ + if(loginUser.getSeeFlag()==SeeFlag.MANAGE||loginUser.getSeeFlag() ==SeeFlag.LEADING){ }else { //userName=loginUser.getName(); @@ -1749,31 +1831,32 @@ } try { - int count = opeApplyService.getOpeApplyReserveTotalCountByNameFor(id, reagentId, userName, productSn, applyCode, status, isAllApply); + int count = opeApplyService.getOpeApplyReserveTotalCountByNameFor(id, reagentId, userName, productSn, applyCode, status, isAllApply,isExpired); this.setRowCount(count); if (count > 0) { list = opeApplyService.getOpeApplyReserveListByNameFor(id, reagentId, userName, first, - pageSize, productSn, applyCode, status, isAllApply); + pageSize, productSn, applyCode, status, isAllApply,isExpired); } } catch (Exception e) { logger.error(e); } + selectedListForPerson = null; 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; +// 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 opeApplyService.getOpeApplyReserveListByNameForRowData(rowKey); } }; } @@ -1848,7 +1931,7 @@ //map=null; SysUser loginUser = getUser(); String id=""; - if(loginUser.getSeeFlag()==SeeFlag.MANAGE){ + if(loginUser.getSeeFlag()==SeeFlag.MANAGE||loginUser.getSeeFlag() == SeeFlag.LEADING){ }else { //userName=loginUser.getName(); @@ -1858,7 +1941,7 @@ realDataList=selectedListForPerson; }else { realDataList = opeApplyService.getOpeApplyReserveListByNameFor(id,reagentId, userName, null, - null,productSn,applyCode,status,isAllApply); + null,productSn,applyCode,status,isAllApply,isExpired); } List<String> headerList = new ArrayList<>(); headerList.add("申购编号"); @@ -2026,6 +2109,12 @@ } } } + } + + + public void onExportOutAndIn(){ + + } public HSSFWorkbook exportExcelNew(List<String> headerList, List<OpeWarehouseReserve> dataList) { @@ -2264,6 +2353,7 @@ this.reagentDStore.setReagent((SysReagent)event.getObject()); this.reagentDStoreEditFlag = Constants.ACTION_ADD; + onWarehouseSelectChange(null); RequestContext.getCurrentInstance().execute("PF('reagentDStoreDialog').show()"); } @@ -2273,6 +2363,11 @@ this.changeWarehouseContainerList(warehouseId); this.changeWarehouseContainerPlaceList(null); } + + public void onWarehouseContainerSelectChange(String warehouseContainerId) { + this.warehouseContainerPlaceList = null; + this.changeWarehouseContainerPlaceList(warehouseContainerId); + } private void changeWarehouseContainerList(String warehouseId) { if (StringUtils.isBlank(warehouseId)) { @@ -2484,7 +2579,6 @@ } public void handleEvent2(){ - System.out.println("==============================="); if(useNum!=null && useNum>0){ if(startReagentCode!=null && !startReagentCode.equals("")){ if (startReagentCode.matches(".*\\D+.*")) { @@ -2520,6 +2614,10 @@ }else { FacesUtils.info("请输入领用数量"); } + } + + public void clearStartAndEndCode(){ + endReagentCode = ""; } public void handleEventForPerson(){ @@ -2614,17 +2712,17 @@ @Override public SysReagent getRowData(String rowKey) { - Iterator<SysReagent> iterator = this.iterator(); - if (iterator != null) { - SysReagent sr = null; - while (iterator.hasNext()) { - sr = iterator.next(); - if (rowKey.equals(sr.getId())) { - return sr; - } - } - } - return null; +// Iterator<SysReagent> iterator = this.iterator(); +// if (iterator != null) { +// SysReagent sr = null; +// while (iterator.hasNext()) { +// sr = iterator.next(); +// if (rowKey.equals(sr.getId())) { +// return sr; +// } +// } +// } + return sysReagentService.getSysReagentListNewRowData(rowKey); } }; } @@ -2711,17 +2809,20 @@ public void resetLaboratory(){ laboratory = null; + laboratoryId = null; laboratoryContainers = null; //getLaboratory(); //getLaboratoryContainers(); } +// public void setContainerId(){ +// } public void resetLaboratoryContainers() { laboratoryContainers = null; //getLaboratoryContainers(); } public List<SysLaboratory> getLaboratory() { - if(userId != null && userId.trim().length() > 0) + if(userId != null && userId.trim().length() > 0) { //Todo 修改申领人的实验室显示信息 @@ -2729,15 +2830,15 @@ 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(); - //} + if(laboratoryId != null && laboratoryId.trim().length() > 0) + { + this.oriLaboratoryId = this.laboratoryId; + }else + { + this.laboratoryId = this.laboratory.get(0).getId(); + } - this.laboratoryId= laboratoryId==null?this.laboratory.get(0).getId():laboratoryId; +// this.laboratoryId = this.laboratory.get(0).getId(); this.laboratoryContainers = this.sysLaboratoryContainerService.getSysLaboratoryContainerList(laboratoryId); }else { this.oriLaboratoryId = null; @@ -2757,7 +2858,7 @@ } public List<SysLaboratoryContainer> getLaboratoryContainers() { - if(laboratoryId != null && laboratoryId.trim().length() > 0) + if(laboratoryId != null && laboratoryId.trim().length() > 0) { this.laboratoryContainers = this.sysLaboratoryContainerService.getSysLaboratoryContainerList(laboratoryId); } @@ -3059,4 +3160,59 @@ public void setIsAllApply(Integer isAllApply) { this.isAllApply = isAllApply; } + + public boolean getIsExpired() { + return isExpired; + } + + public void setIsExpired(boolean isExpired) { + this.isExpired = isExpired; + } + + //过期处理 + public void expireOrder() { + //1.判断当前订单是否是已入库的状态 + if (this.selectedListForPerson.size() < 1) { + FacesUtils.warn("请选择数据。"); + return; + } + ArrayList<String> ids = new ArrayList<>(); + for (OpeApplyReserve oa : this.selectedListForPerson) { + ids.add(oa.getId()); + if (oa.getStatus() != ApplyStatus.SUPPLIER_CONFIRM) { + FacesUtils.warn("只能让已确认状态的单子过期。"); + return; + } + } + + opeApplyService.updateOpeApplyStatus(ApplyStatus.EXPIRED, null, ids); + FacesUtils.warn("操作成功。"); + + + } + + public void recoverOrder(){ + if (this.selectedListForPerson.size() < 1) { + FacesUtils.warn("请选择数据。"); + return; + } + ArrayList<String> ids = new ArrayList<>(); + for (OpeApplyReserve oa : this.selectedListForPerson) { + ids.add(oa.getId()); + if (oa.getStatus() != ApplyStatus.EXPIRED) { + FacesUtils.warn("只能让过期单子恢复确认。"); + return; + } + } + opeApplyService.updateOpeApplyStatus(ApplyStatus.SUPPLIER_CONFIRM, null, ids); + FacesUtils.warn("操作成功。"); + } + + public String getNote() { + return note; + } + + public void setNote(String note) { + this.note = note; + } } -- Gitblit v1.9.2