luxiaotao1123
2021-06-21 7077d2aca171525b6f021cd3307788ac7c55dd14
src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
@@ -6,6 +6,7 @@
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;
@@ -15,6 +16,7 @@
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;
@@ -149,10 +151,11 @@
                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) {
@@ -160,7 +163,7 @@
                            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));
@@ -244,6 +247,14 @@
                            // 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));
@@ -253,6 +264,14 @@
                            // 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("通知单号不可为空");