kongzy
2023-11-28 59d9ea33f503e363f2e2941c7c00cc9dd9d9d1c7
src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java
@@ -102,6 +102,29 @@
   }
   @Transactional(propagation = Propagation.REQUIRED)
   public List<OpeReagentStatus> getOpeReagentStatusList22(String reagentId, String articleNumber, Integer status,
                                            String reagentCode, String userId, Integer first, Integer pageSize) {
      try {
         Map<String, Object> params = new HashMap<String, Object>();
         params.put("reagentId", reagentId);
         params.put("articleNumber", articleNumber);
         params.put("status", status);
         addParamByUserId(userId, params);
         if (StringUtils.isNotBlank(reagentCode)) {
            params.put("reagentCode", "%" + reagentCode + "%");
         }
         params.put("first", first);
         params.put("pageSize", pageSize);
         return this.opeReagentStatusDao.getOpeReagentStatusList22(params);
      } catch (DataAccessException e) {
         logger.error(e.getMessage(), e);
         throw new BusinessException(ExceptionEnumCode.DB_ERR,
               MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), e);
      }
   }
   @Transactional(propagation = Propagation.REQUIRED)
   public List<OpeReagentStatus> getOpeReagentStatusListForLab(String name, String articleNumber, Integer status,
                                            String reagentCode, String userId,String labName, Integer first, Integer pageSize) {
      try {
@@ -335,7 +358,8 @@
         // 不是管理员时,加入userid
         //if (sysUser.getSeeFlag().getKey() == SeeFlag.MANAGE.getKey()||sysUser.getSeeFlag().getKey() == SeeFlag.LEADING.getKey()) {
         if (sysUser.getSeeFlag().getKey() == SeeFlag.MANAGE.getKey()) {
         if (sysUser.getSeeFlag().getKey() == SeeFlag.MANAGE.getKey()
               && sysUser.getSeeFlag().getKey() != SeeFlag.LEADING.getKey()) {
         } else {
            params.put("userId", userId);
@@ -504,7 +528,7 @@
   }
   @Override
   public boolean updateReagentStatus3(List<String> reagentCodes,String userId,String projectNum,String laboratoryId,String laboratoryContainerId) {
   public boolean updateReagentStatus3(List<String> reagentCodes,String userId,String projectNum,String laboratoryId,String laboratoryContainerId,String receiptNumber) {
      try {
         for (String opeReagentStatusId : reagentCodes) {
            OpeReagentStatus opeReagentStatus = this.getOpeReagentStatus(opeReagentStatusId);
@@ -537,6 +561,7 @@
            opeUseFlow.setUserId(opeReagentStatus.getUserId());
            opeUseFlow.setPlace(opeReagentStatus.getPlace());
            opeUseFlow.setRemainder(opeReagentStatus.getRemainder());
            opeUseFlow.setReceiptNumber(receiptNumber);
            Map<String, String> metaMap = new HashMap<>();
            metaMap.put("groupId", "operate_status");
@@ -565,9 +590,12 @@
   }
   @Transactional(propagation = Propagation.REQUIRED)
   public boolean updateReagentStatus(OpeReagentStatus opeReagentStatus) {
   public boolean updateReagentStatus(OpeReagentStatus opeReagentStatus,String receiptNumber) {
      try {
         if(StringUtils.isBlank(receiptNumber)){
            throw new BusinessException(ExceptionEnumCode.PARAM_NO_EXIST,
                  MessageUtil.getMessageByCode(ExceptionEnumCode.PARAM_NO_EXIST.getCode(), "领用单号为空"));
         }
         if (isAllowWarehouseUse(opeReagentStatus)) {
            // 减少库存
            OpeWarehouseReserve opeWarehouseReserve = this.opeWarehouseReserveService.getOpeWarehouseReserve(
@@ -588,6 +616,7 @@
         opeUseFlow.setUserId(opeReagentStatus.getUserId());
         opeUseFlow.setPlace(opeReagentStatus.getPlace());
         opeUseFlow.setRemainder(opeReagentStatus.getRemainder());
         opeUseFlow.setReceiptNumber(receiptNumber);
         Map<String, String> metaMap = new HashMap<>();
         metaMap.put("groupId", "operate_status");
@@ -1129,5 +1158,12 @@
      ExcelUtils.export2Excel(list,"实验室库存",map);
   }
    @Override
    public OpeReagentStatus getStatus(String reagentId, String reagentCode) {
      return opeReagentStatusDao.getStatus(reagentId,reagentCode);
    }
}