cl
2 天以前 b47369fbc73269f0661ba169c6387e04fb037e87
src/main/java/com/zy/common/service/erp/task/ErpScheduler.java
@@ -231,13 +231,17 @@
    @Transactional
    public void syncOutStock(){
        List<OutStockBill> outStockBills = erpService.syncOutStock();
        log.info("出库同步开始,ERP未读单数={}", outStockBills != null ? outStockBills.size() : 0);
        if (outStockBills == null || outStockBills.isEmpty()) {
            return;
        }
        for (Integer i = 0; i < outStockBills.size(); i++) {
            OutStockBill outStockBill = outStockBills.get(i);
            //同一单号存在相同物料编码数据,该单号不予处理
            Number fnumberCount = erpService.QueryFnumberOutCount(outStockBill.getFInterID());
            if(fnumberCount.intValue() > 1){
                log.info("出库通知单存在物料相同数据[FBillNo={},FInterID={},]", outStockBill.getFBillNo(), outStockBill.getFInterID());
                log.info("出库同步跳过:同一单号存在相同物料[FBillNo={},FInterID={}],不予同步", outStockBill.getFBillNo(), outStockBill.getFInterID());
                if (!erpService.haveReadOutBill(outStockBill.getFBillNo(),outStockBill.getFInterID(),-1)) {
                    log.error("更新出库通知单读取状态为-1失败[FBrNo={},FInterID={}]", outStockBill.getFBrNo(),outStockBill.getFInterID());
                }
@@ -246,12 +250,17 @@
            OutStockBill main = outStockMainService.selectOne(new EntityWrapper<OutStockBill>().eq("FBillNo",outStockBill.getFBillNo()).and().eq("FInterID", outStockBill.getFInterID()));
            if (null == main) {
                log.info("出库同步新单:FBillNo={}, FInterID={},从ERP同步到WMS", outStockBill.getFBillNo(), outStockBill.getFInterID());
                outStockBill.setFflag_rw(1);
                if (!outStockMainService.insert(outStockBill)) {
                    log.info("同步出库通知主表OutStockBill失败");
                    log.error("出库同步失败:同步出库通知主表OutStockBill失败[FBillNo={},FInterID={}]", outStockBill.getFBillNo(), outStockBill.getFInterID());
                    exceptionHandle("同步出库通知主表OutStockBill失败[FBillNo={0},FInterID={1}]",outStockBill.getFBillNo(),outStockBill.getFInterID());
                };
                List<OutStockBillEntry> outStockBillEntries = erpService.syncOutStockDetail(outStockBill.getFInterID());
                if (outStockBillEntries == null || outStockBillEntries.isEmpty()) {
                    log.warn("出库同步:ERP该单明细数为0,FBillNo={}, FInterID={}(可能ERP条件FAuxCommitQty=0无数据)", outStockBill.getFBillNo(), outStockBill.getFInterID());
                }
                if (outStockBillEntries != null) {
                for (Integer j = 0; j < outStockBillEntries.size(); j++) {
                    OutStockBillEntry outStockBillEntry = outStockBillEntries.get(j);
                    Wrapper<OutStockBillEntry> wrapper = new EntityWrapper<OutStockBillEntry>().eq("FInterID", outStockBillEntry.getFInterID()).
@@ -286,8 +295,9 @@
                        }
                    }
                }
                }
            } else {
                log.debug("出库同步:WMS已存在该单,跳过同步明细 FBillNo={}, FInterID={}", outStockBill.getFBillNo(), outStockBill.getFInterID());
            }
            if (!erpService.haveReadOutBill(outStockBill.getFBillNo(),outStockBill.getFInterID(),1)) {