From ae60dc2d56c553dd4b0ef0a5b0f2f3a676752dbb Mon Sep 17 00:00:00 2001
From: lyfO_o <764716047@qq.com>
Date: Mon, 12 Jul 2021 13:00:20 +0800
Subject: [PATCH] 库存领用补贴条码 补充重复条码判断
---
src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java | 229 ++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 171 insertions(+), 58 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
index f269d4f..57e71cf 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() {
@@ -424,7 +426,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;
@@ -799,7 +802,7 @@
//变换条码
btCodeChange();
}
-
+
/**
* 取消一个仓库领取
*/
@@ -1074,6 +1077,7 @@
this.selectedInputStorageTmpOrderList = null;
this.endReagentCodeForPerson = null;
this.startReagentCodeForPerson = null;
+ this.laboratoryId = null;
this.useNum = null;
this.menuController.backToPage();
}
@@ -1210,16 +1214,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;
@@ -1487,14 +1499,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);
@@ -1509,9 +1529,36 @@
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());
@@ -1650,6 +1697,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("操作失败。");
@@ -1665,6 +1716,10 @@
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() + ":被删除");
+ }
}
//用来检验提交表单得试剂条码是否重复
@@ -1728,22 +1783,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);
}
};
}
@@ -1769,31 +1825,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);
}
};
}
@@ -1878,7 +1935,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("申购编号");
@@ -2284,6 +2341,7 @@
this.reagentDStore.setReagent((SysReagent)event.getObject());
this.reagentDStoreEditFlag = Constants.ACTION_ADD;
+ onWarehouseSelectChange(null);
RequestContext.getCurrentInstance().execute("PF('reagentDStoreDialog').show()");
}
@@ -2293,6 +2351,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)) {
@@ -2634,17 +2697,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);
}
};
}
@@ -2731,17 +2794,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 修改申领人的实验室显示信息
@@ -2749,15 +2815,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 = this.laboratory.get(0).getId();
+// this.laboratoryId = this.laboratory.get(0).getId();
this.laboratoryContainers = this.sysLaboratoryContainerService.getSysLaboratoryContainerList(laboratoryId);
}else {
this.oriLaboratoryId = null;
@@ -2777,7 +2843,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);
}
@@ -3079,4 +3145,51 @@
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("操作成功。");
+ }
}
--
Gitblit v1.9.2