kongzy
2024-01-30 1123d12eb51d23edcd4a39660ef8cd47802b931d
src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java
@@ -102,14 +102,38 @@
   }
   @Transactional(propagation = Propagation.REQUIRED)
   public List<OpeReagentStatus> getOpeReagentStatusListForLab(String name, String articleNumber, Integer status,
   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 {
         Map<String, Object> params = new HashMap<String, Object>();
         params.put("name", "%" + name + "%");
         params.put("articleNumber", articleNumber);
         params.put("status", status);
         params.put("labName", labName);
//         addParamByUserId(userId, params);
         if (StringUtils.isNotBlank(userId)) {
            SysUser sysUser = sysUserService.getSysUser(userId);
@@ -137,7 +161,7 @@
   @Transactional(propagation = Propagation.REQUIRED)
   public int getOpeReagentStatusTotalCountForLab(String name, String articleNumber, Integer status, String reagentCode,
                                  String userId) {
                                  String userId,String labName) {
      try {
         Map<String, Object> params = new HashMap<String, Object>();
         params.put("name", "%" + name + "%");
@@ -159,6 +183,7 @@
            params.put("reagentCode", "%" + reagentCode + "%");
         }
         params.put("status", status);
         params.put("labName", labName);
         return this.opeReagentStatusDao.getOpeReagentStatusTotalCountForLab(params);
      } catch (DataAccessException e) {
         logger.error(e.getMessage(), e);
@@ -333,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);
@@ -502,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);
@@ -535,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");
@@ -563,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(
@@ -586,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");
@@ -1090,12 +1121,13 @@
    * @date 2021/4/22 10:33
    */
   @Override
   public List<Map> selectExportList(String name, String articleNumber, Integer status, String reagentCode, String userId) {
   public List<Map> selectExportList(String name, String articleNumber, Integer status, String reagentCode, String userId,String labName) {
      Map<String, Object> params = new HashMap<>();
      params.put("name", name);
      params.put("articleNumber", articleNumber);
      params.put("status", status);
      params.put("labName", labName);
      if (StringUtils.isNotBlank(userId)) {
         SysUser sysUser = sysUserService.getSysUser(userId);
         BaseRole baseRole = baseRoleService.getBaseRole(sysUser.getRoleId());
@@ -1126,5 +1158,12 @@
      ExcelUtils.export2Excel(list,"实验室库存",map);
   }
    @Override
    public OpeReagentStatus getStatus(String reagentId, String reagentCode) {
      return opeReagentStatusDao.getStatus(reagentId,reagentCode);
    }
}