From 47a751cb301d05276ae5d75145d57b2d090fe4e1 Mon Sep 17 00:00:00 2001 From: kongzy <kongzy> Date: 星期一, 01 七月 2024 10:58:35 +0800 Subject: [PATCH] change --- src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java | 269 +++++++++++++++++++++++++++-------------------------- 1 files changed, 139 insertions(+), 130 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java index ea5a824..4628a07 100644 --- a/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java @@ -6,16 +6,17 @@ import javax.annotation.Resource; -import com.nanometer.smartlab.dao.OpeApplyDao; -import com.nanometer.smartlab.dao.OpeReagentStatusDao; +import com.nanometer.smartlab.dao.*; import com.nanometer.smartlab.entity.*; import com.nanometer.smartlab.entity.enumtype.ValidFlag; import com.nanometer.smartlab.exception.AlarmCode; import com.nanometer.smartlab.exception.AlarmException; +import com.nanometer.smartlab.util.FacesUtils; import com.nanometer.smartlab.util.IDUtils; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; +import org.springframework.context.annotation.Lazy; import org.springframework.dao.DataAccessException; import org.springframework.dao.DataIntegrityViolationException; import org.springframework.dao.DuplicateKeyException; @@ -23,8 +24,6 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import com.nanometer.smartlab.dao.BaseMetaDao; -import com.nanometer.smartlab.dao.OpeWarehouseReserveDao; import com.nanometer.smartlab.entity.enumtype.ArrivalStatus; import com.nanometer.smartlab.entity.enumtype.OperateStatus; import com.nanometer.smartlab.entity.enumtype.StoreType; @@ -46,6 +45,7 @@ @Resource private OpeReagentStatusService opeReagentStatusService; + @Lazy @Resource private OpeUseFlowService opeUseFlowService; @@ -59,8 +59,11 @@ @Resource private OpeLaboratoryReserveService opeLaboratoryReserveService; + @Resource + private OpeLaboratoryReserveDao opeLaboratoryReserveDao; + @Transactional(propagation = Propagation.REQUIRED) - public List<OpeWarehouseReserve> getOpeWarehouseReserveList(String reagentId, String supplierId, Integer first, + public List<OpeWarehouseReserve> getOpeWarehouseReserveList(Long reagentId, Long supplierId, Integer first, Integer pageSize) { try { Map<String, Object> params = new HashMap<String, Object>(); @@ -77,7 +80,7 @@ } @Transactional(propagation = Propagation.REQUIRED) - public int getOpeWarehouseReserveTotalCount(String reagentId, String supplierId) { + public int getOpeWarehouseReserveTotalCount(Long reagentId, Long supplierId) { try { Map<String, Object> params = new HashMap<String, Object>(); params.put("reagentId", reagentId); @@ -91,11 +94,11 @@ } @Transactional(propagation = Propagation.REQUIRED) - public List<OpeWarehouseReserve> getOpeWarehouseReserveListByName(String reagentId, String supplierId, Integer first, + public List<OpeWarehouseReserve> getOpeWarehouseReserveListByName(String reagentName, Long supplierId, Integer first, Integer pageSize,String productSn,String warehouseName) { try { Map<String, Object> params = new HashMap<String, Object>(); - params.put("reagentName", reagentId); + params.put("reagentName", reagentName); params.put("supplierId", supplierId); params.put("first", first); params.put("pageSize", pageSize); @@ -110,10 +113,10 @@ } @Transactional(propagation = Propagation.REQUIRED) - public int getOpeWarehouseReserveTotalCountByName(String reagentId, String supplierId,String productSn,String warehouseName) { + public int getOpeWarehouseReserveTotalCountByName(String reagentName, Long supplierId,String productSn,String warehouseName) { try { Map<String, Object> params = new HashMap<String, Object>(); - params.put("reagentName", reagentId); + params.put("reagentName", reagentName); params.put("supplierId", supplierId); params.put("productSn", productSn); params.put("warehouseName", warehouseName); @@ -126,7 +129,7 @@ } @Transactional(propagation = Propagation.REQUIRED) - public OpeWarehouseReserve getOpeWarehouseReserveBy(String reagentId, String articleNumber){ + public OpeWarehouseReserve getOpeWarehouseReserveBy(Long reagentId, String articleNumber){ OpeWarehouseReserve ope=new OpeWarehouseReserve(); ope.setReagentId(reagentId); ope.setArticleNumber(articleNumber); @@ -134,7 +137,7 @@ } @Transactional(propagation = Propagation.REQUIRED) - public OpeWarehouseReserve getOpeWarehouseReserve(String reagentId, String articleNumber) { + public OpeWarehouseReserve getOpeWarehouseReserve(Long reagentId, String articleNumber) { try { Map<String, Object> params = new HashMap<String, Object>(); params.put("reagentId", reagentId); @@ -152,7 +155,7 @@ } } @Transactional(propagation = Propagation.REQUIRED) - public OpeWarehouseReserve getOpeWarehouseReserve2(String reagentId, String articleNumber,String warehouseId) { + public OpeWarehouseReserve getOpeWarehouseReserve2(Long reagentId, String articleNumber,Long warehouseId) { try { Map<String, Object> params = new HashMap<String, Object>(); params.put("reagentId", reagentId); @@ -172,8 +175,8 @@ } @Override - public List<OpeWarehouseReserve> getOpeWarehouseReserveList(String reagentId, String articleNumber,String warehouseId) { - Map<String, String> params = new HashMap<>(); + public List<OpeWarehouseReserve> getOpeWarehouseReserveList(Long reagentId, String articleNumber,Long warehouseId) { + Map<String, Object> params = new HashMap<>(); params.put("reagentId", reagentId); params.put("warehouseId", warehouseId); params.put("articleNumber", articleNumber); @@ -184,9 +187,9 @@ @Transactional(propagation = Propagation.REQUIRED) public OpeWarehouseReserve insertOpeWarehouseReserve(OpeWarehouseReserve opeWarehouseReserve) { try { - if (opeWarehouseReserve.getId() == null) { - opeWarehouseReserve.setId(IDUtils.uuid()); - } +// if (opeWarehouseReserve.getId() == null) { +// opeWarehouseReserve.setId(IDUtils.uuid()); +// } this.opeWarehouseReserveDao.insertOpeWarehouseReserve(opeWarehouseReserve); return opeWarehouseReserve; } catch (DuplicateKeyException ex) { @@ -203,7 +206,7 @@ } } - @Transactional(propagation = Propagation.REQUIRED) + @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED) public boolean updateOpeWarehouseReserve(OpeWarehouseReserve opeWarehouseReserve) { try { int row = this.opeWarehouseReserveDao.updateOpeWarehouseReserve(opeWarehouseReserve); @@ -223,26 +226,14 @@ } } - @Transactional(propagation = Propagation.REQUIRED) - public void claimForPerson(List<OpeApplyReserve> selectedListForPerson,String userId,String projectNum,String laboratoryId,String laboratoryContainerId){ + @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED) + public void claimForPerson(List<OpeApplyReserve> selectedListForPerson,Long userId,Long projectId,Long laboratoryId,Long laboratoryContainerId,String receiptNumber){ try{ for(OpeApplyReserve app:selectedListForPerson){ - List<String> reagentCodes = app.getReagentCode(); + List<String> reagentCodes = app.getReagentCodes(); if (reagentCodes != null && reagentCodes.size() > 0) { - List<OpeReagentStatus> ss=new ArrayList<>(); - for (String opeReagentStatusId : reagentCodes) { - OpeReagentStatus opeReagentStatus = this.opeReagentStatusService.getOpeReagentStatus(opeReagentStatusId); - opeReagentStatus.setUserId(userId); - opeReagentStatus.setProjectNum(projectNum); - //boolean flag = this.opeReagentStatusService.updateReagentStatus(opeReagentStatus); - this.opeReagentStatusService.updateReagentStatus3(opeReagentStatus); - ss.add(opeReagentStatus); - //更新试剂状态和 - opeReagentStatus.setHouseId(laboratoryId); - opeReagentStatus.setContainerId(laboratoryContainerId); - this.opeReagentStatusDao.updateOpeReagentStatusDao(opeReagentStatus); + this.opeReagentStatusService.updateReagentStatus3(reagentCodes,userId,projectId,laboratoryId,laboratoryContainerId,receiptNumber); - } //更新是现实库存 OpeLaboratoryReserve lr=new OpeLaboratoryReserve(); lr.setReagentId(app.getReagent().getId()); @@ -293,47 +284,70 @@ 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 RuntimeException(e); } } // 仓库领用 - @Transactional(propagation = Propagation.REQUIRED) - public void claim(List<OpeWarehouseReserve> selectedList, String userId,String projectNum) { - try { - for (OpeWarehouseReserve opeWarehouseReserve : selectedList) { - List<String> reagentCodes = opeWarehouseReserve.getReagentCodes(); - if (reagentCodes != null && reagentCodes.size() > 0) { - for (String opeReagentStatusId : reagentCodes) { - OpeReagentStatus opeReagentStatus = this.opeReagentStatusService - .getOpeReagentStatus(opeReagentStatusId); - opeReagentStatus.setUserId(userId); - opeReagentStatus.setProjectNum(projectNum); - //boolean flag = this.opeReagentStatusService.updateReagentStatus(opeReagentStatus); - this.opeReagentStatusService.updateReagentStatus(opeReagentStatus); - //if (flag) { - //opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve() - 1); - //opeWarehouseReserve.setSelectNum(0); - //} + @Transactional(propagation = Propagation.REQUIRED,rollbackFor = RuntimeException.class) + public void claim(List<OpeWarehouseReserve> selectedList, Long userId,Long projectId,Long laboratoryId,Long laboratoryContainerId,String receiptNumber) { + for (OpeWarehouseReserve opeWarehouseReserve : selectedList) { + List<OpeLaboratoryReserve>lrList=new ArrayList<>(); + List<Long> reagentStatusIds=new ArrayList<>(); + List<String> reagentCodes = opeWarehouseReserve.getReagentCodes(); + List<OpeUseFlow> opeUseFlowList=new ArrayList<>(); + if (reagentCodes != null && !reagentCodes.isEmpty()) { + for (String reagentCode : reagentCodes) { + OpeReagentStatus opeReagentStatus = this.opeReagentStatusService + .getOpeReagentStatusByCode(reagentCode); + if (!this.opeReagentStatusService.isAllowWarehouseUse(opeReagentStatus)) { + throw new BusinessException(ExceptionEnumCode.SYS_ERR,"只能申领在仓库的试剂"); } + + opeReagentStatus.setUserId(userId); + opeReagentStatus.setProjectId(projectId); + // this.opeReagentStatusService.updateReagentStatus(opeReagentStatus,receiptNumber); + reagentStatusIds.add(opeReagentStatus.getId()); + OpeLaboratoryReserve lr = new OpeLaboratoryReserve(); + lr.setReagentId(opeWarehouseReserve.getReagentId()); + lr.setHouseId(laboratoryId); + lr.setContainerId(laboratoryContainerId); + lr.setReserve(opeWarehouseReserve.getSelectNum()); + lr.setUserId(userId); + lr.setValidFlag(ValidFlag.VALID); + lrList.add(lr); + + OpeUseFlow opeUseFlow = new OpeUseFlow(); + opeUseFlow.setReagentCode(opeReagentStatus.getReagentCode()); + opeUseFlow.setStatus(opeReagentStatus.getStatus()); + opeUseFlow.setHouseId(opeReagentStatus.getHouseId()); + opeUseFlow.setContainerId(opeReagentStatus.getContainerId()); + opeUseFlow.setUserId(opeReagentStatus.getUserId()); + opeUseFlow.setPlace(opeReagentStatus.getPlace()); + opeUseFlow.setRemainder(opeReagentStatus.getRemainder()); + opeUseFlow.setReceiptNumber(receiptNumber); + opeUseFlow.setOperateState(OperateStatus.WAREHOUSEOUT.getKey()); + opeUseFlowList.add(opeUseFlow); } - opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve()-opeWarehouseReserve.getSelectNum()); - opeWarehouseReserveDao.updateOpeWarehouseReserve(opeWarehouseReserve); } - } catch (DuplicateKeyException ex) { - logger.warn(ex.getMessage(), ex); - throw new AlarmException(AlarmCode.DATA_DUPLICATE, - MessageUtil.getMessage(AlarmCode.DATA_DUPLICATE.getCode())); - } catch (DataIntegrityViolationException ex) { - logger.warn(ex.getMessage(), ex); - throw new AlarmException(AlarmCode.DATA_CONFICT, MessageUtil.getMessage(AlarmCode.DATA_CONFICT.getCode())); - } catch (DataAccessException ex) { - logger.error(ex.getMessage(), ex); - throw new BusinessException(ExceptionEnumCode.DB_ERR, - MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), ex); + if(reagentStatusIds.size()>0){ + this.opeReagentStatusDao.batchUpdateReagentStatusByIds(reagentStatusIds,laboratoryId,laboratoryContainerId,ArrivalStatus.NOREGISTER.getKey()); + } + if(lrList.size()>0){ + this.opeLaboratoryReserveDao.batchInsert(lrList); + } + if(opeUseFlowList.size()>0){ + this.opeUseFlowService.batchInsertOpeUseFlow(opeUseFlowList); + } + opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve()-opeWarehouseReserve.getSelectNum()); + opeWarehouseReserveDao.updateOpeWarehouseReserve(opeWarehouseReserve); } + } - public void reagentDStore2(List<OpeApply> reagentDStoreList, String loginUserId){ + public void reagentDStore2(List<OpeApply> reagentDStoreList, Long loginUserId){ if (reagentDStoreList == null) { return; } @@ -369,7 +383,7 @@ //opeReagentStatus.setReagentId(opeApply.getReagent().getId()); opeReagentStatus.setArticleNumber(opeApply.getArticleNumber()); opeReagentStatus.setReagentCode(reagentCode); - opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER); + opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER.getKey()); opeReagentStatus.setHouseId(opeApply.getHouseId()); opeReagentStatus.setContainerId(opeApply.getContainerId()); opeReagentStatus.setUserId(loginUserId); @@ -401,13 +415,13 @@ opeReagentStatus.setReagentId(opeApply.getReagent().getId()); opeReagentStatus.setArticleNumber(opeApply.getArticleNumber()); opeReagentStatus.setReagentCode(reagentCode); - opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER); + opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER.getKey()); opeReagentStatus.setHouseId(opeApply.getHouseId()); opeReagentStatus.setContainerId(opeApply.getContainerId()); opeReagentStatus.setUserId(loginUserId); //opeReagentStatus.setPlace(opeApply.getPlaceId()); //opeReagentStatus.setRemainder(opeApply.getReagent().getMainMetering()!=null?(new BigDecimal(opeApply.getReagent().getMainMetering())):new BigDecimal(0)); - opeReagentStatus.setStoreType(StoreType.DIRECTSTORE); + opeReagentStatus.setStoreType(StoreType.DIRECTSTORE.getKey()); this.opeReagentStatusService.insertOpeReagentStatus(opeReagentStatus); // 试剂使用情况入库insert @@ -419,13 +433,9 @@ opeUseFlow.setUserId(opeReagentStatus.getUserId()); opeUseFlow.setPlace(opeReagentStatus.getPlace()); opeUseFlow.setRemainder(opeApply.getReagent().getMainMetering()!=null?opeApply.getReagent().getMainMetering():new BigDecimal(0)); - opeUseFlow.setStoreType(StoreType.DIRECTSTORE); + opeUseFlow.setStoreType(StoreType.DIRECTSTORE.getKey()); - Map<String, String> metaMap = new HashMap<>(); - metaMap.put("groupId", "operate_status"); - metaMap.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEIN.getKey())); - List<BaseMeta> baseMetaList = baseMetaDao.getBaseMetaList(metaMap); - opeUseFlow.setOperateState(baseMetaList.get(0).getId()); + opeUseFlow.setOperateState(OperateStatus.WAREHOUSEIN.getKey()); this.opeUseFlowService.insertOpeUseFlow(opeUseFlow); // 试剂使用情况领用insert OpeUseFlow ouf=new OpeUseFlow(); @@ -436,13 +446,9 @@ ouf.setUserId(opeReagentStatus.getUserId()); ouf.setPlace(opeReagentStatus.getPlace()); ouf.setRemainder(opeApply.getReagent().getMainMetering()!=null?opeApply.getReagent().getMainMetering():new BigDecimal(0)); - ouf.setStoreType(StoreType.DIRECTSTORE); + ouf.setStoreType(StoreType.DIRECTSTORE.getKey()); - Map<String, String> metaMap2 = new HashMap<>(); - metaMap2.put("groupId", "operate_status"); - metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey())); - List<BaseMeta> baseMetaList2 = baseMetaDao.getBaseMetaList(metaMap2); - ouf.setOperateState(baseMetaList2.get(0).getId()); + ouf.setOperateState(OperateStatus.WAREHOUSEOUT.getKey()); this.opeUseFlowService.insertOpeUseFlow(ouf); } } @@ -450,7 +456,7 @@ } } - public void reagentDStore4(List<OpeApply> reagentDStoreList, String loginUserId){ + public void reagentDStore4(List<OpeApply> reagentDStoreList, Long loginUserId,String receiptNumber){ if (reagentDStoreList == null) { return; } @@ -467,7 +473,7 @@ //opeReagentStatus.setReagentId(opeApply.getReagent().getId()); opeReagentStatus.setArticleNumber(opeApply.getArticleNumber()); opeReagentStatus.setReagentCode(reagentCode); - opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER); + opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER.getKey()); opeReagentStatus.setHouseId(opeApply.getHouseId()); opeReagentStatus.setContainerId(opeApply.getContainerId()); opeReagentStatus.setUserId(loginUserId); @@ -499,13 +505,13 @@ opeReagentStatus.setReagentId(opeApply.getReagent().getId()); opeReagentStatus.setArticleNumber(opeApply.getArticleNumber()); opeReagentStatus.setReagentCode(reagentCode); - opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER); + opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER.getKey()); opeReagentStatus.setHouseId(opeApply.getHouseId()); opeReagentStatus.setContainerId(opeApply.getContainerId()); opeReagentStatus.setUserId(loginUserId); //opeReagentStatus.setPlace(opeApply.getPlaceId()); //opeReagentStatus.setRemainder(opeApply.getReagent().getMainMetering()!=null?(new BigDecimal(opeApply.getReagent().getMainMetering())):new BigDecimal(0)); - opeReagentStatus.setStoreType(StoreType.DIRECTSTORE); + opeReagentStatus.setStoreType(StoreType.DIRECTSTORE.getKey()); this.opeReagentStatusService.insertOpeReagentStatus(opeReagentStatus); @@ -518,20 +524,17 @@ ouf.setUserId(opeReagentStatus.getUserId()); ouf.setPlace(opeReagentStatus.getPlace()); ouf.setRemainder(opeApply.getReagent().getMainMetering()!=null?opeApply.getReagent().getMainMetering():new BigDecimal(0)); - ouf.setStoreType(StoreType.DIRECTSTORE); + ouf.setStoreType(StoreType.DIRECTSTORE.getKey()); - Map<String, String> metaMap2 = new HashMap<>(); - metaMap2.put("groupId", "operate_status"); - metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey())); - List<BaseMeta> baseMetaList2 = baseMetaDao.getBaseMetaList(metaMap2); - ouf.setOperateState(baseMetaList2.get(0).getId()); + ouf.setOperateState(OperateStatus.WAREHOUSEOUT.getKey()); + ouf.setReceiptNumber(receiptNumber); this.opeUseFlowService.insertOpeUseFlow(ouf); } } } } - public void reagentDStore3(List<OpeApply> reagentDStoreList, String loginUserId){ + public void reagentDStore3(List<OpeApply> reagentDStoreList, Long loginUserId){ if (reagentDStoreList == null) { return; } @@ -549,11 +552,11 @@ opeReagentStatus.setReagentId(opeApply.getReagent().getId()); opeReagentStatus.setArticleNumber(opeApply.getArticleNumber()); opeReagentStatus.setReagentCode(reagentCode); - opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER); + opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER.getKey()); opeReagentStatus.setHouseId(opeApply.getHouseId()); opeReagentStatus.setContainerId(opeApply.getContainerId()); opeReagentStatus.setUserId(loginUserId); - opeReagentStatus.setStoreType(StoreType.DIRECTSTORE); + opeReagentStatus.setStoreType(StoreType.DIRECTSTORE.getKey()); this.opeReagentStatusService.insertOpeReagentStatus(opeReagentStatus); @@ -566,13 +569,9 @@ ouf.setUserId(opeReagentStatus.getUserId()); ouf.setPlace(opeReagentStatus.getPlace()); ouf.setRemainder(opeApply.getReagent().getMainMetering()!=null?opeApply.getReagent().getMainMetering():new BigDecimal(0)); - ouf.setStoreType(StoreType.DIRECTSTORE); + ouf.setStoreType(StoreType.DIRECTSTORE.getKey()); - Map<String, String> metaMap2 = new HashMap<>(); - metaMap2.put("groupId", "operate_status"); - metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey())); - List<BaseMeta> baseMetaList2 = baseMetaDao.getBaseMetaList(metaMap2); - ouf.setOperateState(baseMetaList2.get(0).getId()); + ouf.setOperateState(OperateStatus.WAREHOUSEOUT.getKey()); this.opeUseFlowService.insertOpeUseFlow(ouf); } } @@ -580,12 +579,12 @@ } } @Override - public List<OpeWarehouseReserve> selectByReId(String id) { + public List<OpeWarehouseReserve> selectByReId(Long id) { return this.opeWarehouseReserveDao.selectByReId(id); } @Override - public void updateByReId(String newReId, String oldReId) { + public void updateByReId(Long newReId, Long oldReId) { Map<String, Object> params=new HashMap(); params.put("newReId",newReId); params.put("oldReId",oldReId); @@ -594,7 +593,7 @@ @Override @Transactional - public void insertOpeWarehouseReserve2(OpeApplyReserve opeApplyReserve, OpeOrder oo,String consigneeId) { + public void insertOpeWarehouseReserve2(OpeApplyReserve opeApplyReserve, OpeOrder oo,Long consigneeId) { OpeWarehouseReserve ope = this.getOpeWarehouseReserve2(opeApplyReserve.getReagent().getId(), opeApplyReserve.getArticleNumber(),opeApplyReserve.getHouseId()); if (ope == null) { @@ -614,7 +613,7 @@ ope.setApplyCode(opeApplyReserve.getApplyCode()); //批号 ope.setArticleNumber(opeApplyReserve.getArticleNumber()); - ope.setId(IDUtils.uuid()); + //ope.setId(IDUtils.uuid()); //新增收货人 保存在仓库库存表 ope.setUserId(consigneeId); opeWarehouseReserveDao.insertOpeWarehouseReserve2(ope); @@ -629,8 +628,8 @@ } @Override - public List<OpeWarehouseReserve> selectWarehouseByReagentIdAndArticleNumber(String id,String articleNumber,boolean flag) { - Map<String, String> params = new HashMap<>(); + public List<OpeWarehouseReserve> selectWarehouseByReagentIdAndArticleNumber(Long id,String articleNumber,boolean flag) { + Map<String, Object> params = new HashMap<>(); params.put("reagentId", id); params.put("articleNumber", articleNumber); List<OpeWarehouseReserve> reserveList = opeWarehouseReserveDao.selectWarehouseByReagentIdAndArticleNumber(params); @@ -651,8 +650,8 @@ /** * 补贴扣库存去除有条码的数据 */ - public List<OpeWarehouseReserve> selectWarehouseByRidAndArticleNumberAndWarehouse(String id,String articleNumber,String warehouseId) { - Map<String, String> params = new HashMap<>(); + public List<OpeWarehouseReserve> selectWarehouseByRidAndArticleNumberAndWarehouse(Long id,String articleNumber,Long warehouseId) { + Map<String, Object> params = new HashMap<>(); params.put("reagentId", id); params.put("articleNumber", articleNumber); params.put("warehouseId", warehouseId); @@ -671,18 +670,32 @@ } @Override - public void updateBtReserve(String id, Integer useNum) { + public void updateBtReserve(Long id, Integer useNum) { opeWarehouseReserveDao.updateBtReserve(id, useNum); } - @Override + @Override + public int countByReagentId(Long id) { + int num = 0; + if (opeWarehouseReserveDao.countByReagentId(id) != null) { + num = opeWarehouseReserveDao.countByReagentId(id); + } + return num; + } + + @Override + public OpeWarehouseReserve getRowData(Long rowKey) { + return opeWarehouseReserveDao.getRowData(rowKey); + } + + @Override public void btWarehouseReserveReduce(List<OpeApplyReserve> opeList) { if (opeList.size() < 1) { return; } for (OpeApplyReserve oar : opeList) { - String reagentId = oar.getReagent().getId(); - List<String> reagentCodes = new ArrayList<>(oar.getReagentCode()); + Long reagentId = oar.getReagent().getId(); + List<String> reagentCodes = new ArrayList<>(oar.getReagentCodes()); //开始库存扣除 List<OpeWarehouseReserve> cacheUpdateList = oar.getCacheUpdateList(); for (OpeWarehouseReserve owr : cacheUpdateList) { @@ -710,7 +723,7 @@ // 试剂使用情况入库insert TODO 流向需要当时的时间和地点 OpeUseFlow opeUseFlow = new OpeUseFlow(); opeUseFlow.setReagentCode(reagentCodes.get(0)); - opeUseFlow.setStatus(ArrivalStatus.WAREHOUSE); + opeUseFlow.setStatus(ArrivalStatus.WAREHOUSE.getKey()); opeUseFlow.setUserId(warehouseReserve.getUserId()); //仓库地点 opeUseFlow.setHouseId(warehouseReserve.getWarehouseId()); @@ -718,15 +731,15 @@ opeUseFlow.setRemainder(oar.getReagent().getMainMetering()!=null?oar.getReagent().getMainMetering():new BigDecimal(0)); //入库时间 opeUseFlow.setCreateTime(warehouseReserve.getUpdateTime()); - opeUseFlow.setStoreType(StoreType.DIRECTSTORE); + opeUseFlow.setStoreType(StoreType.DIRECTSTORE.getKey()); - Map<String, String> metaMap = new HashMap<>(); - metaMap.put("groupId", "operate_status"); - metaMap.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEIN.getKey())); - List<BaseMeta> baseMetaList = baseMetaDao.getBaseMetaList(metaMap); - opeUseFlow.setOperateState(baseMetaList.get(0).getId()); + opeUseFlow.setOperateState(OperateStatus.WAREHOUSEIN.getKey()); this.opeUseFlowService.insertOpeUseFlow(opeUseFlow); + //更新试剂状态表 :批号 + opeReagentStatusDao.updateArticleNumberByRCode(reagentCodes.get(0),warehouseReserve.getArticleNumber()); + reagentCodes.remove(0); + } } @@ -746,7 +759,7 @@ } @Transactional(propagation = Propagation.REQUIRED) - public void reagentDStore(List<OpeApply> reagentDStoreList, String loginUserId) { + public void reagentDStore(List<OpeApply> reagentDStoreList, Long loginUserId) { if (reagentDStoreList == null) { return; @@ -787,13 +800,13 @@ opeReagentStatus.setReagentId(opeApply.getReagent().getId()); opeReagentStatus.setArticleNumber(opeApply.getArticleNumber()); opeReagentStatus.setReagentCode(reagentCode); - opeReagentStatus.setStatus(ArrivalStatus.WAREHOUSE); + opeReagentStatus.setStatus(ArrivalStatus.WAREHOUSE.getKey()); opeReagentStatus.setHouseId(opeApply.getHouseId()); opeReagentStatus.setContainerId(opeApply.getContainerId()); opeReagentStatus.setUserId(loginUserId); - opeReagentStatus.setPlace(opeApply.getPlaceId()); + opeReagentStatus.setPlace(opeApply.getPlace()); opeReagentStatus.setRemainder(opeApply.getReagent().getMainMetering()!=null?(opeApply.getReagent().getMainMetering()):new BigDecimal(0)); - opeReagentStatus.setStoreType(StoreType.DIRECTSTORE); + opeReagentStatus.setStoreType(StoreType.DIRECTSTORE.getKey()); this.opeReagentStatusService.insertOpeReagentStatus(opeReagentStatus); // 试剂使用情况insert @@ -805,13 +818,9 @@ opeUseFlow.setUserId(opeReagentStatus.getUserId()); opeUseFlow.setPlace(opeReagentStatus.getPlace()); opeUseFlow.setRemainder(opeApply.getReagent().getMainMetering()!=null?(opeApply.getReagent().getMainMetering()):new BigDecimal(0)); - opeUseFlow.setStoreType(StoreType.DIRECTSTORE); + opeUseFlow.setStoreType(StoreType.DIRECTSTORE.getKey()); - Map<String, String> metaMap = new HashMap<>(); - metaMap.put("groupId", "operate_status"); - metaMap.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEIN.getKey())); - List<BaseMeta> baseMetaList = baseMetaDao.getBaseMetaList(metaMap); - opeUseFlow.setOperateState(baseMetaList.get(0).getId()); + opeUseFlow.setOperateState(OperateStatus.WAREHOUSEIN.getKey()); this.opeUseFlowService.insertOpeUseFlow(opeUseFlow); @@ -831,7 +840,7 @@ opeWarehouseReserve.setUserId(loginUserId); } opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve() + opeApply.getArrivalNum()); - if (StringUtils.isBlank(opeWarehouseReserve.getId())) { + if (opeWarehouseReserve.getId()!=null) { this.insertOpeWarehouseReserve(opeWarehouseReserve); } else { this.updateOpeWarehouseReserve(opeWarehouseReserve); -- Gitblit v1.9.2