| | |
| | | package com.nanometer.smartlab.service; |
| | | |
| | | import com.nanometer.smartlab.dao.SysReagentDao; |
| | | import com.nanometer.smartlab.entity.OpeWarehouseReserve; |
| | | import com.nanometer.smartlab.entity.SysReagent; |
| | | import com.nanometer.smartlab.entity.SysUser; |
| | | import com.nanometer.smartlab.exception.AlarmCode; |
| | |
| | | |
| | | @Resource(name = "sysReagentDao") |
| | | SysReagentDao sysReagentDao; |
| | | @Resource |
| | | OpeWarehouseReserveService opeWarehouseReserveService; |
| | | |
| | | @Transactional(propagation = Propagation.REQUIRED) |
| | | public List<SysReagent> getSysReagentList(String name, String cas, String supplierId,Integer type, Integer first, Integer pageSize) { |
| | |
| | | } |
| | | } |
| | | |
| | | public List<SysReagent> getSysReagentListNew(String name, String cas, String supplierId,Integer type, Integer first, Integer pageSize) { |
| | | public List<SysReagent> getSysReagentListNew(String name, String cas, String supplierId,Integer type, Integer first, Integer pageSize,String productSn) { |
| | | try { |
| | | Map<String, Object> params = new HashMap<String, Object>(); |
| | | params.put("name", name); |
| | |
| | | params.put("type", type); |
| | | params.put("first", first); |
| | | params.put("pageSize", pageSize); |
| | | params.put("productSn", productSn); |
| | | return this.sysReagentDao.getSysReagentListNew(params); |
| | | } catch (DataAccessException e) { |
| | | logger.error(e.getMessage(), e); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<SysReagent> reagentList(SysUser user, String name, String cas, String supplierId, String productSn, int first, int pageSize) { |
| | | public List<SysReagent> reagentList(SysUser user, String name, String cas, String supplierId, String productSn, int first, int pageSize,int count) { |
| | | Map<String, Object> params = new HashMap<>(); |
| | | params.put("user", user.getId()); |
| | | params.put("name", name); |
| | |
| | | params.put("productSn", productSn); |
| | | params.put("first", first); |
| | | params.put("pageSize", pageSize); |
| | | params.put("MaxSize", first+pageSize); |
| | | params.put("MaxSize", count); |
| | | return sysReagentDao.reagentList(params); |
| | | } |
| | | |
| | | @Override |
| | | public String getReagentUnitByReagentId(String reagentId) { |
| | | return sysReagentDao.getReagentUnitByReagentId(reagentId); |
| | | } |
| | | |
| | | @Override |
| | | public List<SysReagent> getReagent(String name, String cas, String factory, String specifications, String packing) { |
| | | Map<String, String> params = new HashMap<>(); |
| | | params.put("name", name); |
| | | params.put("cas", cas); |
| | | params.put("factory", factory); |
| | | params.put("specifications", specifications); |
| | | params.put("packing", packing); |
| | | return sysReagentDao.getReagent(params); |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | public int getSysReagentTotalCountNew(String name, String cas, String supplierId,Integer type) { |
| | | public int getSysReagentTotalCountNew(String name, String cas, String supplierId,Integer type,String productSn) { |
| | | try { |
| | | Map<String, Object> params = new HashMap<String, Object>(); |
| | | params.put("name", name); |
| | | params.put("cas", cas); |
| | | params.put("type", type); |
| | | params.put("supplierId", supplierId); |
| | | params.put("productSn", productSn); |
| | | return this.sysReagentDao.getSysReagentTotalCountNew(params); |
| | | } catch (DataAccessException e) { |
| | | logger.error(e.getMessage(), e); |
| | |
| | | |
| | | List<String> ids = new ArrayList<String>(); |
| | | for (SysReagent sysReagent : sysReagentList) { |
| | | //判断试剂在库中是否存在 |
| | | int count = opeWarehouseReserveService.getOpeWarehouseReserveTotalCount(sysReagent.getId(), sysReagent.getSupplierId()); |
| | | if (count > 0) { |
| | | throw new Exception(); |
| | | } |
| | | ids.add(sysReagent.getId()); |
| | | } |
| | | |
| | |
| | | } catch (DataAccessException ex) { |
| | | logger.error(ex.getMessage(), ex); |
| | | throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), ex); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | throw new BusinessException(ExceptionEnumCode.SYS_ERR,"试剂在库中已经有了不能删除"); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public int insertSysReagentList(List<SysReagent> sysReagentList) { |
| | | try { |
| | | int i = 0; |
| | | for (SysReagent sysReagent:sysReagentList |
| | | ) { |
| | | SysReagent sysReagentTmpl = new SysReagent(); |
| | | sysReagentTmpl = sysReagentDao.getSysReagentByCas(sysReagent); |
| | | if(sysReagentTmpl!=null){ |
| | | sysReagent.setId(sysReagentTmpl.getId()); |
| | | this.sysReagentDao.updateSysReagentForExport(sysReagent); |
| | | List<SysReagent> sysReagentTmpl = sysReagentDao.getSysReagentByCas(sysReagent); |
| | | if(sysReagentTmpl.size()>0){ |
| | | for (SysReagent sr : sysReagentTmpl) { |
| | | sysReagent.setId(sr.getId()); |
| | | this.sysReagentDao.updateSysReagentForExport(sysReagent); |
| | | } |
| | | }else{ |
| | | if (sysReagent.getId() == null) { |
| | | sysReagent.setId(IDUtils.uuid()); |