李宇
2021-02-07 422622d3121acde709e79ca9b92f30c47e05272c
src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java
@@ -48,8 +48,6 @@
    @Resource
    private OpeUseFlowService opeUseFlowService;
    @Resource
    private OpeWarehouseReserveService opeWarehouseReserveService;
    @Resource(name="baseMetaDao")
    private BaseMetaDao baseMetaDao;
@@ -596,10 +594,9 @@
    @Override
   @Transactional
    public void insertOpeWarehouseReserve2(OpeApplyReserve opeApplyReserve, OpeOrder oo) {
    public void insertOpeWarehouseReserve2(OpeApplyReserve opeApplyReserve, OpeOrder oo,String consigneeId) {
      OpeWarehouseReserve ope = this.opeWarehouseReserveService
            .getOpeWarehouseReserve2(opeApplyReserve.getReagent().getId(), opeApplyReserve.getArticleNumber(),opeApplyReserve.getHouseId());
      OpeWarehouseReserve ope = this.getOpeWarehouseReserve2(opeApplyReserve.getReagent().getId(), opeApplyReserve.getArticleNumber(),opeApplyReserve.getHouseId());
      if (ope == null) {
         ope = new OpeWarehouseReserve();
@@ -618,10 +615,12 @@
         //批号
         ope.setArticleNumber(opeApplyReserve.getArticleNumber());
         ope.setId(IDUtils.uuid());
         //新增收货人 保存在仓库库存表
         ope.setUserId(consigneeId);
         opeWarehouseReserveDao.insertOpeWarehouseReserve2(ope);
      }else {
         ope.setReserve(ope.getReserve() + opeApplyReserve.getArrivalNum());
         this.opeWarehouseReserveService.updateOpeWarehouseReserve(ope);
         this.updateOpeWarehouseReserve(ope);
      }
@@ -677,7 +676,7 @@
   }
   @Override
   public void btWarehouseReserveReduce(List<OpeApplyReserve> opeList,String userId) {
   public void btWarehouseReserveReduce(List<OpeApplyReserve> opeList) {
      if (opeList.size() < 1) {
         return;
      }
@@ -688,7 +687,7 @@
         List<OpeWarehouseReserve> cacheUpdateList = oar.getCacheUpdateList();
         for (OpeWarehouseReserve owr : cacheUpdateList) {
            //1.根据仓库id和试剂id搜索不同批号的试剂库存
            List<OpeWarehouseReserve> reserveList = opeWarehouseReserveService
            List<OpeWarehouseReserve> reserveList = this
                  .selectWarehouseByRidAndArticleNumberAndWarehouse(reagentId, owr.getArticleNumber(), owr.getWarehouseId());
            Integer numLeave = owr.getUseNum();
@@ -712,7 +711,7 @@
                     OpeUseFlow opeUseFlow = new OpeUseFlow();
                     opeUseFlow.setReagentCode(reagentCodes.get(0));
                     opeUseFlow.setStatus(ArrivalStatus.WAREHOUSE);
                     opeUseFlow.setUserId(userId);
                     opeUseFlow.setUserId(warehouseReserve.getUserId());
                     //仓库地点
                     opeUseFlow.setHouseId(warehouseReserve.getWarehouseId());
                     opeUseFlow.setContainerId(warehouseReserve.getContainerId());
@@ -727,14 +726,18 @@
                     List<BaseMeta> baseMetaList = baseMetaDao.getBaseMetaList(metaMap);
                     opeUseFlow.setOperateState(baseMetaList.get(0).getId());
                     this.opeUseFlowService.insertOpeUseFlow(opeUseFlow);
                     //更新试剂状态表 :批号
                     opeReagentStatusDao.updateArticleNumberByRCode(reagentCodes.get(0),warehouseReserve.getArticleNumber());
                     reagentCodes.remove(0);
                  }
               }
               //更新库存
               opeWarehouseReserveService.updateBtReserve(warehouseReserve.getId(),usedNum);
               this.updateBtReserve(warehouseReserve.getId(),usedNum);
               if (numLeave < 1) {
                  break;
               }
@@ -821,7 +824,7 @@
            // 仓库库存update
            opeWarehouseReserve = this.opeWarehouseReserveService.getOpeWarehouseReserve2(opeApply.getReagent().getId(), opeApply.getArticleNumber(),opeApply.getHouseId());
            opeWarehouseReserve = this.getOpeWarehouseReserve2(opeApply.getReagent().getId(), opeApply.getArticleNumber(),opeApply.getHouseId());
            if (opeWarehouseReserve == null) {
                opeWarehouseReserve = new OpeWarehouseReserve();
                opeWarehouseReserve.setReagentId(opeApply.getReagent().getId());
@@ -829,12 +832,13 @@
                opeWarehouseReserve.setReserve(0);
                opeWarehouseReserve.setWarehouseId(opeApply.getHouseId());
                opeWarehouseReserve.setContainerId(opeApply.getContainerId());
                opeWarehouseReserve.setUserId(loginUserId);
            }
            opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve() + opeApply.getArrivalNum());
            if (StringUtils.isBlank(opeWarehouseReserve.getId())) {
                this.opeWarehouseReserveService.insertOpeWarehouseReserve(opeWarehouseReserve);
                this.insertOpeWarehouseReserve(opeWarehouseReserve);
            } else {
                this.opeWarehouseReserveService.updateOpeWarehouseReserve(opeWarehouseReserve);
                this.updateOpeWarehouseReserve(opeWarehouseReserve);
            }
        }
   }