王佳豪
2021-06-22 d26dbc9cb768a03008f4f3ed04be7b7b6750aa29
src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
@@ -1,18 +1,19 @@
package com.zy.asrs.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
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.LocNormalLog;
import com.zy.asrs.entity.LocNormal;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.WaitPakinLog;
import com.zy.asrs.entity.param.ERPselectParam;
import com.zy.asrs.mapper.LocNormalMapper;
import com.zy.asrs.mapper.OutStockMapper;
import com.zy.asrs.service.LocNormalLogService;
import com.zy.asrs.service.LocNormalService;
import com.zy.asrs.service.WaitPakinLogService;
import com.zy.asrs.service.WaitPakinService;
@@ -46,6 +47,8 @@
    WaitPakinLogService waitPakinLogService;
    @Autowired
    ErpService erpService;
    @Autowired
    LocNormalLogService locNormalLogService;
    @Override
    public List<LocNormal> getLocNormalData() {
@@ -60,11 +63,35 @@
    @Override
    public void outLocNormal(String matnr, Long modiUser, Date modiTime, Integer id) {
        baseMapper.outLocNormal(matnr, modiUser, modiTime, id);
        LocNormal data = locNormalService.selectOne(new EntityWrapper<LocNormal>().eq("id", id));
        // 生成平仓出入库记录
        LocNormalLog locLog = new LocNormalLog();
        VersionUtils.setLocNormalLog(locLog, data);
        locLog.setAnfme(data.getAnfme().doubleValue());
        locLog.setIoType(2);
        locLog.setCreateTime(new Date());
        locLog.setCreateUser(modiUser);
        if (!locNormalLogService.insert(locLog)) {
            String logStr = JSON.toJSONString(locLog);
            log.info("平仓出库记录插入失败,数据:" + logStr);
        }
    }
    @Override
    public void removeLocNormal(String matnr, Long modiUser, Date modiTime, Integer id) {
        baseMapper.removeLocNormal(matnr, modiUser, modiTime, id);
        LocNormal data = locNormalService.selectOne(new EntityWrapper<LocNormal>().eq("id", id));
        // 生成平仓出入库记录
        LocNormalLog locLog = new LocNormalLog();
        VersionUtils.setLocNormalLog(locLog, data);
        locLog.setAnfme(data.getAnfme().doubleValue());
        locLog.setIoType(4); // 删除
        locLog.setCreateTime(new Date());
        locLog.setCreateUser(modiUser);
        if (!locNormalLogService.insert(locLog)) {
            String logStr = JSON.toJSONString(locLog);
            log.info("平仓库存删除记录插入失败,数据:" + logStr);
        }
    }
    @Override
@@ -88,6 +115,17 @@
                            // cust_wait_pakin转cust_wait_pakin_log,并更新数量
                            custWaitPakinToLog(list.get(i), updateAnfme);
                        }
                        // 生成平仓出入库记录
                        LocNormalLog locLog = new LocNormalLog();
                        VersionUtils.setLocNormalLog(locLog, list.get(i));
                        locLog.setAnfme(updateAnfme);
                        locLog.setIoType(1);
                        locLog.setCreateTime(new Date());
                        locLog.setCreateUser(list.get(i).getAppeUser());
                        if (!locNormalLogService.insert(locLog)) {
                            String logStr = JSON.toJSONString(locLog);
                            log.info("平仓入库记录插入失败,数据:" + logStr);
                        }
                    } else {
                        // erp更新
                        updateCPICMO(list.get(i));
@@ -96,6 +134,17 @@
                        if (baseMapper.pdaLocNormalIn(addList) > 0) {
                            // cust_wait_pakin转cust_wait_pakin_log,并更新数量
                            custWaitPakinToLog(list.get(i), list.get(i).getAnfme().doubleValue());
                        }
                        // 生成平仓出入库记录
                        LocNormalLog locLog = new LocNormalLog();
                        VersionUtils.setLocNormalLog(locLog, list.get(i));
                        locLog.setAnfme(list.get(i).getAnfme().doubleValue());
                        locLog.setIoType(1);
                        locLog.setCreateTime(new Date());
                        locLog.setCreateUser(list.get(i).getAppeUser());
                        if (!locNormalLogService.insert(locLog)) {
                            String logStr = JSON.toJSONString(locLog);
                            log.info("平仓入库记录插入失败,数据:" + logStr);
                        }
                    }
                } else {
@@ -112,13 +161,24 @@
                            ErpSql = MessageFormat.format(ErpSql, maxKey + 1, list.get(i).getAnfme(), list.get(i).getAnfme(), list.get(i).getAnfme(), list.get(i).getMatnr(), list.get(i).getAnfme(), list.get(i).getMnemonic());
                            erpSqlServer.update(ErpSql);
                        }
//                        Double updateAnfme = new Double(list.get(i).getAnfme().doubleValue());
                        Double updateAnfme = new Double(list.get(i).getAnfme().doubleValue());
                        // 平仓入库(更新)逻辑
                        list.get(i).setAnfme(oldLocList.getAnfme().add(list.get(i).getAnfme()));
                        updateList.add(list.get(i));
                        if (baseMapper.withoutSupplierLocNormalUpdate(updateList) > 0) {
                            // cust_wait_pakin转cust_wait_pakin_log,并更新数量
//                            custWaitPakinToLog(list.get(i), updateAnfme);
                        }
                        // 生成平仓出入库记录
                        LocNormalLog locLog = new LocNormalLog();
                        VersionUtils.setLocNormalLog(locLog, list.get(i));
                        locLog.setAnfme(updateAnfme);
                        locLog.setIoType(1);
                        locLog.setCreateTime(new Date());
                        locLog.setCreateUser(list.get(i).getAppeUser());
                        if (!locNormalLogService.insert(locLog)) {
                            String logStr = JSON.toJSONString(locLog);
                            log.info("平仓入库记录插入失败,数据:" + logStr);
                        }
                    } else {
                        // erp更新
@@ -135,6 +195,17 @@
                        if (baseMapper.pdaLocNormalIn(addList) > 0) {
                            // cust_wait_pakin转cust_wait_pakin_log,并更新数量
//                            custWaitPakinToLog(list.get(i), list.get(i).getAnfme().doubleValue());
                        }
                        // 生成平仓出入库记录
                        LocNormalLog locLog = new LocNormalLog();
                        VersionUtils.setLocNormalLog(locLog, list.get(i));
                        locLog.setAnfme(list.get(i).getAnfme().doubleValue());
                        locLog.setIoType(1);
                        locLog.setCreateTime(new Date());
                        locLog.setCreateUser(list.get(i).getAppeUser());
                        if (!locNormalLogService.insert(locLog)) {
                            String logStr = JSON.toJSONString(locLog);
                            log.info("平仓入库记录插入失败,数据:" + logStr);
                        }
                    }
                }
@@ -248,12 +319,16 @@
                            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());
                        LocNormalLog locLog = new LocNormalLog();
                        VersionUtils.setLocNormalLog(locLog, list.get(i));
                        locLog.setAnfme(updateAnfme);
                        locLog.setIoType(1);
                        locLog.setCreateTime(new Date());
                        locLog.setCreateUser(list.get(i).getAppeUser());
                        if (!locNormalLogService.insert(locLog)) {
                            String logStr = JSON.toJSONString(locLog);
                            log.info("平仓入库记录插入失败,数据:" + logStr);
                        }
                    } else {
                        // erp更新
@@ -265,13 +340,16 @@
                            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());
                        LocNormalLog locLog = new LocNormalLog();
                        VersionUtils.setLocNormalLog(locLog, list.get(i));
                        locLog.setAnfme(list.get(i).getAnfme().doubleValue());
                        locLog.setIoType(1);
                        locLog.setCreateTime(new Date());
                        locLog.setCreateUser(list.get(i).getAppeUser());
                        if (!locNormalLogService.insert(locLog)) {
                            String logStr = JSON.toJSONString(locLog);
                            log.info("平仓入库记录插入失败,数据:" + logStr);
                        }
                    }
                } else {
                    throw new CoolException("通知单号不可为空");
@@ -366,10 +444,32 @@
        for (Integer i = 0; i < list.size(); i++) {
            if (list.get(i).getAnfme().equals(list.get(i).getAnfmeOut())) {
                baseMapper.pdaLocNormalOut1(list.get(i).getId(), list.get(i).getMatnr(), list.get(i).getModiUser(), list.get(i).getModiTime(), list.get(i).getWarehouse());
                // 生成平仓出入库记录
                LocNormalLog locLog = new LocNormalLog();
                VersionUtils.setLocNormalLog(locLog, list.get(i));
                locLog.setAnfme(list.get(i).getAnfmeOut().doubleValue());
                locLog.setIoType(2);
                locLog.setCreateTime(new Date());
                locLog.setCreateUser(list.get(i).getAppeUser());
                if (!locNormalLogService.insert(locLog)) {
                    String logStr = JSON.toJSONString(locLog);
                    log.info("平仓出库记录插入失败,数据:" + logStr);
                }
            }
            if (list.get(i).getAnfmeOut().compareTo(list.get(i).getAnfme()) == -1) {
                BigDecimal diff = (list.get(i).getAnfme()).subtract(list.get(i).getAnfmeOut());
                baseMapper.pdaLocNormalOut2(list.get(i).getId(), list.get(i).getMatnr(), diff, list.get(i).getModiUser(), list.get(i).getModiTime(), list.get(i).getWarehouse());
                // 生成平仓出入库记录
                LocNormalLog locLog = new LocNormalLog();
                VersionUtils.setLocNormalLog(locLog, list.get(i));
                locLog.setAnfme((list.get(i).getAnfmeOut()).doubleValue());
                locLog.setIoType(2);
                locLog.setCreateTime(new Date());
                locLog.setCreateUser(list.get(i).getAppeUser());
                if (!locNormalLogService.insert(locLog)) {
                    String logStr = JSON.toJSONString(locLog);
                    log.info("平仓出库记录插入失败,数据:" + logStr);
                }
            }
        }
    }