| | |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.core.common.Cools; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.LocNoramlLog; |
| | | import com.zy.asrs.entity.LocNormal; |
| | | import com.zy.asrs.entity.WaitPakin; |
| | | import com.zy.asrs.entity.WaitPakinLog; |
| | |
| | | import com.zy.asrs.service.LocNormalService; |
| | | import com.zy.asrs.service.WaitPakinLogService; |
| | | import com.zy.asrs.service.WaitPakinService; |
| | | import com.zy.asrs.utils.VersionUtils; |
| | | import com.zy.common.service.erp.ErpService; |
| | | import com.zy.common.service.erp.ErpSqlServer; |
| | | import com.zy.common.service.erp.entity.CPICMO; |
| | |
| | | List<LocNormal> updateList = new ArrayList<>(); |
| | | if (!Cools.isEmpty(list.get(i).getSupplier())) { // 存在入库单号的才进行erp更新 |
| | | // 判断原先平仓是否存在有货,如果有货数量进行累加 |
| | | LocNormal oldLocList = locNormalService.selectOne(new EntityWrapper<LocNormal>().eq("supplier", list.get(i).getSupplier()).and().eq("state", "1").eq("warehouse", list.get(i).getWarehouse())); |
| | | LocNormal oldLocList = locNormalService.selectOne(new EntityWrapper<LocNormal>().eq("supplier", list.get(i).getSupplier()).and().eq("state", "1").eq("warehouse", list.get(i).getWarehouse()).and().eq("matnr", list.get(i).getMatnr())); |
| | | if (!Cools.isEmpty(oldLocList)) { |
| | | Double updateAnfme = new Double(list.get(i).getAnfme().doubleValue()); |
| | | // 平仓入库(更新)逻辑 |
| | | BigDecimal increaseAnfme = new BigDecimal(String.valueOf(list.get(i).getAnfme())); |
| | | list.get(i).setAnfme(oldLocList.getAnfme().add(list.get(i).getAnfme())); |
| | | updateList.add(list.get(i)); |
| | | if (baseMapper.pdaLocNormalUpdate(updateList) > 0) { |
| | |
| | | custWaitPakinToLog(list.get(i), updateAnfme); |
| | | } |
| | | // erp更新 InStockbill和InStockBillEntry |
| | | erpService.incrementPakIn(list.get(i).getSupplier(), list.get(i).getMatnr(), list.get(i).getAnfme().doubleValue()); |
| | | erpService.incrementPakIn(list.get(i).getSupplier(), list.get(i).getMatnr(), increaseAnfme.doubleValue()); |
| | | } else { |
| | | // 平仓入库逻辑 |
| | | addList.add(list.get(i)); |
| | |
| | | // cust_wait_pakin转cust_wait_pakin_log,并更新数量 |
| | | custWaitPakinToLog(list.get(i), updateAnfme); |
| | | } |
| | | // 生成平仓出入库记录 |
| | | LocNoramlLog log = new LocNoramlLog(); |
| | | VersionUtils.setLocNormalLog(log, list.get(i)); |
| | | log.setAnfme(updateAnfme); |
| | | log.setIoType(1); |
| | | log.setCreateTime(new Date()); |
| | | log.setCreateUser(list.get(i).getAppeUser()); |
| | | |
| | | } else { |
| | | // erp更新 |
| | | updateCPICMO(list.get(i)); |
| | |
| | | // cust_wait_pakin转cust_wait_pakin_log,并更新数量 |
| | | custWaitPakinToLog(list.get(i), list.get(i).getAnfme().doubleValue()); |
| | | } |
| | | // 生成平仓出入库记录 |
| | | LocNoramlLog log = new LocNoramlLog(); |
| | | VersionUtils.setLocNormalLog(log, list.get(i)); |
| | | log.setAnfme(list.get(i).getAnfme().doubleValue()); |
| | | log.setIoType(1); |
| | | log.setCreateTime(new Date()); |
| | | log.setCreateUser(list.get(i).getAppeUser()); |
| | | |
| | | } |
| | | } else { |
| | | throw new CoolException("通知单号不可为空"); |