自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-03-30 4723871dc387ab674840ce39a97893f4f7b4ffd0
#
1个文件已修改
49 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -18,8 +18,6 @@
import com.zy.common.model.*;
import com.zy.common.model.enums.WorkNoType;
import com.zy.common.service.CommonService;
import com.zy.common.service.wms.Result;
import com.zy.common.service.wms.WmsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
@@ -64,8 +62,6 @@
    private WrkMastLogService wrkMastLogService;
    @Autowired
    private WrkDetlLogService wrkDetlLogService;
    @Autowired
    private WmsService wmsService;
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
@@ -631,36 +627,12 @@
                adjDetl.setOriQty(0.0D);
                adjDetl.setAdjQty(adjust.getCount());
                adjDetlService.save(adjDetl, userId);
                // 上报erp
                String docNum = "CS-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
                Integer docId = 14; // 报溢单
                List<BillDto> dtos = new ArrayList<>();
                BillDto billDto = new BillDto();
                billDto.setMatnr(adjust.getMatnr());
                billDto.setQty(Math.abs(adjust.getCount()));
                dtos.add(billDto);
                Result result = wmsService.erpUpload(dtos, docId, docNum);
                if (result.getCode() != 200) {
                    throw new CoolException("库存调整失败,原因:无法上报至ERP");
                }
            // 修改原库存明细
            } else {
                // 如果数量修改,则更新库存明细
                if (!adjust.getCount().equals(one.getAnfme())) {
                    // 当数量被修改为 0 时,直接清除库存明细
                    if (adjust.getCount() == 0) {
                        // 上报erp
                        String docNum = "CD-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
                        Integer docId = 9; // 报损单
                        List<BillDto> dtos = new ArrayList<>();
                        BillDto billDto = new BillDto();
                        billDto.setMatnr(adjust.getMatnr());
                        billDto.setQty(Math.abs(one.getAnfme()));
                        dtos.add(billDto);
                        Result result = wmsService.erpUpload(dtos, docId, docNum);
                        if (result.getCode() != 200) {
                            throw new CoolException("库存调整失败,原因:无法上报至ERP");
                        }
                        // 删除库存
                        if (!locDetlService.delete(new EntityWrapper<>(one))) {
                            throw new CoolException("清除库存明细失败");
@@ -674,27 +646,6 @@
                                .eq("loc_no", locMast.getLocNo())
                                .eq("matnr", adjust.getMatnr()))) {
                            throw new CoolException("修改库存明细失败");
                        }
                        // 上报erp
                        String docNum;
                        Integer docId;
                        if (one.getAnfme() > adjust.getCount()) {
                            // 报损
                            docNum = "CD-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
                            docId = 9;
                        } else {
                            // 报溢
                            docNum = "CS-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
                            docId = 14;
                        }
                        List<BillDto> dtos = new ArrayList<>();
                        BillDto billDto = new BillDto();
                        billDto.setMatnr(adjust.getMatnr());
                        billDto.setQty(Math.abs(one.getAnfme() - adjust.getCount()));
                        dtos.add(billDto);
                        Result result = wmsService.erpUpload(dtos, docId, docNum);
                        if (result.getCode() != 200) {
                            throw new CoolException("库存调整失败,原因:无法上报至ERP");
                        }
                    }
                    // 保存调整记录