From ced11a778b9bf4deee59445a41e3ede298d8c963 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: Thu, 25 Feb 2021 11:20:05 +0800
Subject: [PATCH] 人员管理的按钮权限和 可见人员权限
---
src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java | 96 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 94 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java
index ed391d0..e21f8ba 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java
@@ -3,6 +3,7 @@
import com.nanometer.smartlab.dao.OpeApplyDao;
import com.nanometer.smartlab.entity.OpeApply;
import com.nanometer.smartlab.entity.OpeApplyReserve;
+import com.nanometer.smartlab.entity.OpeOrder;
import com.nanometer.smartlab.entity.SysUser;
import com.nanometer.smartlab.entity.enumtype.ApplyStatus;
import com.nanometer.smartlab.entity.enumtype.SeeFlag;
@@ -40,6 +41,12 @@
@Resource(name = "opeApplyDao")
OpeApplyDao opeApplyDao;
+ @Resource
+ OpeOrderService opeOrderService;
+ @Resource
+ OpeReagentStatusService opeReagentStatusService;
+ @Resource
+ OpeWarehouseReserveService opeWarehouseReserveService;
@Resource
private SysUserService sysUserService;
@@ -63,6 +70,10 @@
if (sysUser.getSeeFlag().getKey() != SeeFlag.MANAGE.getKey()) {
params.put("applyUserId", applyUserId);
}
+
+ if("连悦".equals(sysUser.getName())){
+ params.remove("applyUserId");
+ }
}
params.put("approveUserId", approveUserId);
@@ -177,6 +188,10 @@
if (sysUser.getSeeFlag().getKey() != SeeFlag.MANAGE.getKey()) {
params.put("applyUserId", applyUserId);
}
+
+ if("连悦".equals(sysUser.getName())){
+ params.remove("applyUserId");
+ }
}
params.put("approveUserId", approveUserId);
@@ -511,12 +526,16 @@
}
@Override
- public int getOpeApplyReserveTotalCountByNameFor(String id,String reagentName, String personName) {
+ public int getOpeApplyReserveTotalCountByNameFor(String id,String reagentName, String personName,String productSn,String applyCode,Integer status,Integer isAllApply) {
try {
Map<String, Object> params = new HashMap<String, Object>();
params.put("reagentName", reagentName);
params.put("personName", personName);
params.put("userId",id);
+ params.put("productSn",productSn);
+ params.put("applyCode",applyCode);
+ params.put("status",status);
+ params.put("isAllApply",isAllApply);
return this.opeApplyDao.getOpeApplyReserveTotalCountFor(params);
} catch (DataAccessException e) {
logger.error(e.getMessage(), e);
@@ -526,7 +545,7 @@
}
@Override
public List<OpeApplyReserve> getOpeApplyReserveListByNameFor(String id,String reagentName, String personName, Integer first,
- Integer pageSize) {
+ Integer pageSize,String productSn,String applyCode,Integer status,Integer isAllApply) {
try {
Map<String, Object> params = new HashMap<String, Object>();
params.put("reagentName", reagentName);
@@ -534,6 +553,10 @@
params.put("userId",id);
params.put("first", first);
params.put("pageSize", pageSize);
+ params.put("productSn",productSn);
+ params.put("applyCode",applyCode);
+ params.put("status",status);
+ params.put("isAllApply",isAllApply);
return this.opeApplyDao.getOpeApplyReserveListFor(params);
} catch (DataAccessException e) {
logger.error(e.getMessage(), e);
@@ -625,4 +648,73 @@
params.put("oldReId",oldReId);
this.opeApplyDao.updateByReId(params);
}
+
+ @Override
+ public OpeApplyReserve getOpeApplyDetail(String id) {
+ return opeApplyDao.getOpeApplyDetail(id);
+ }
+
+ @Override
+ public void updateOpeApplyInfo(ApplyStatus storage, String consigneeId, Timestamp arrivalTime, String applyId) {
+ Map<String,Object> params = new HashMap();
+ params.put("status", storage);
+ params.put("consigneeId", consigneeId);
+ params.put("arrivalTime", arrivalTime);
+ params.put("applyId", applyId);
+ opeApplyDao.updateOpeApplyInfo(params);
+ }
+
+ @Override
+ @Transactional
+ public void orderInputWarehouse(List<OpeApplyReserve> opeApplyList,String consigneeId,Timestamp arrivalTime) {
+ for (OpeApplyReserve opeApplyReserve:opeApplyList) {
+ //0.1获取该申购单的订单
+ OpeOrder oo = opeOrderService.getOrder(opeApplyReserve.getId());
+ if (oo == null) {
+ throw new BusinessException(ExceptionEnumCode.ORDER_ERROR,"订单不存在");
+ }
+ //0.2检查条码->得到试剂条码列表
+ List<String> codeList = opeReagentStatusService
+ .checkReagentCode(opeApplyReserve.getStartReagentCode2(), opeApplyReserve.getEndReagentCode2(), opeApplyReserve.getArrivalNum());
+ //1.入库
+ if (codeList == null){
+ //无条码入库 不需要增加状态和流向
+ //1.1库存表增加
+ opeWarehouseReserveService.insertOpeWarehouseReserve2(opeApplyReserve, oo,consigneeId);
+ }else{
+ //条码入库
+ assert codeList.size() > 0;
+ //1.1入库(库存表增加)
+ opeWarehouseReserveService.insertOpeWarehouseReserve2(opeApplyReserve, oo,consigneeId);
+ //1.2试剂状态表增加,流向增加
+ opeReagentStatusService.orderInputWarehouseReagentStatusAndUseFlow(opeApplyReserve,consigneeId,codeList,oo);
+ }
+ //2.更改申购单所属订单状态(判断子订单是否全部完成)
+ //2.1更改该申购单的状态,收货人和到货时间
+ this.updateOpeApplyInfo(ApplyStatus.STORAGE,consigneeId,arrivalTime, opeApplyReserve.getId());
+ //2.2更改订单状态
+ List<OpeApply> oas = opeOrderService.getOpeApplyListByOrder(oo.getId());
+ assert oas.size() > 0;
+ //子订单是否全部入库,是则父单为已入库,否则未完成
+ boolean flag = oas.stream().allMatch(oa -> oa.getStatus() == ApplyStatus.STORAGE);
+ oo.setConsigneeUserId(consigneeId);
+ oo.setArrivalTime(arrivalTime);
+ if (flag){
+ oo.setStatus(ApplyStatus.STORAGE);
+ opeOrderService.updateOpeOrderStatus(oo);
+ }else{
+ oo.setStatus(ApplyStatus.UNCOMPLETED);
+ opeOrderService.updateOpeOrder(oo);
+ }
+
+ }
+ }
+ /**
+ * 补贴条码更新订单的领用数量
+ */
+ @Override
+ public void btUpdateApplyAndOrder(List<OpeApply> opeList) {
+
+ }
+
}
--
Gitblit v1.9.2