tjx
2025-05-29 bd4363e0ca7d8c69de47309db31f12cc7af20253
src/main/java/com/gs/xky/service/XkyService.java
@@ -70,7 +70,7 @@
            try {
                if ("6".equals(deliveryNo.getStatus()) || "0".equals(deliveryNo.getLogisticsStatus())) {
                    log.info("【GetSaveDetail】移除送货单: {}", deliveryNo.getDeliveryNo());
                    remove(deliveryNo);
                    remove1(deliveryNo);
                } else if ("1".equals(deliveryNo.getStatus()) && ("2".equals(deliveryNo.getLogisticsStatus()) || "1".equals(deliveryNo.getLogisticsStatus()))) {
                    XkyDetail detail = getDetail(deliveryNo.getDeliveryNo());
                    deliveryNoticeService.saveDeliveryNotice(detail);
@@ -86,6 +86,68 @@
                throw new RuntimeException(e);
            }
        });
    }
    public void remove1(XkyEntity deliveryNo) {
        //MesQaItemsDetect01与MesInvItemArnDetail的关联关系是
        //MesQaItemsDetect01.lotNo=MesInvItemArnDetail.billNo
        //and MesQaItemsDetect01.item_id=MesInvItemArnDetail.item_id
        //我现在希望不清空DeliveryNotice,DeliveryNoticeDetail,TblBarcodeInformation表的数据了
        //还有MesInvItemArn,MesInvItemArnDetail,MesInvItemBarcodes表的数据
        //只删除MesQaItemsDetect01表的数据
        LambdaQueryWrapper<MesInvItemArn> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(MesInvItemArn::getPaperBillNo, deliveryNo.getDeliveryNo());
        MesInvItemArn mesInvItemArn = mesInvItemArnService.getOne(wrapper, false);
        // 只有当找到对应的MesInvItemArn记录时才删除MesQaItemsDetect01表的数据
        if (mesInvItemArn != null) {
            // 更新MesInvItemArn表,设置syncFlag=1,syncMsg="SRM手动删除送货单"
            LambdaUpdateWrapper<MesInvItemArn> updateWrapper = new LambdaUpdateWrapper<>();
            updateWrapper.eq(MesInvItemArn::getId, mesInvItemArn.getId())
                    .set(MesInvItemArn::getSyncFlag, 1)
                    .set(MesInvItemArn::getSyncMsg, "SRM手动删除送货单");
            mesInvItemArnService.update(updateWrapper);
            // 删除MesQaItemsDetect01表的数据
            mesQaItemsDetect01Service.removeQa(mesInvItemArn.getBillNo());
        }
    }
    private XkyDetail getDetail(String deliveryNo) throws IOException {
        XkyCommonParam<BodyParam> param = XkyCommonParam.GetInit();
        // 创建 BodyParam 对象并赋值
        BodyParam bodyParam = new BodyParam();
        bodyParam.setErpCode(DataAcquisitionConfiguration.TEST_ERP_CODE);
        bodyParam.setDeliveryNo(deliveryNo);
        param.setBody(bodyParam);
        ApiResponse<XkyDetail> noList = apiService.sendListRequest(param, XkyDetail.class, "https://openapi.xiekeyun.com/delivery/getDetail.json");
        return noList.getData();
    }
    private List<BarcodeDeliveryNo> GetBarcodeInformation(String deliveryNo) throws IOException {
        XkyCommonParam<BodyParam> param = XkyCommonParam.GetInit();
        // 创建 BodyParam 对象并赋值
        BodyParam bodyParam = new BodyParam();
        bodyParam.setErpCode(DataAcquisitionConfiguration.TEST_ERP_CODE);
        bodyParam.setDeliveryNo(deliveryNo);
        param.setBody(bodyParam);
        ApiResponse<BarcodeDeliveryNo> noList = apiService.sendListRequest(param, BarcodeDeliveryNo.class, "https://openapi.xiekeyun.com/barcode/byDeliveryNo.json");
        return noList.getDataList();
    }
    private void remove(XkyEntity deliveryNo) {
@@ -130,39 +192,5 @@
                mesQaItemsDetect01Service.removeQa(mesInvItemArn.getBillNo());
            }
        }
    }
    private XkyDetail getDetail(String deliveryNo) throws IOException {
        XkyCommonParam<BodyParam> param = XkyCommonParam.GetInit();
        // 创建 BodyParam 对象并赋值
        BodyParam bodyParam = new BodyParam();
        bodyParam.setErpCode(DataAcquisitionConfiguration.TEST_ERP_CODE);
        bodyParam.setDeliveryNo(deliveryNo);
        param.setBody(bodyParam);
        ApiResponse<XkyDetail> noList = apiService.sendListRequest(param, XkyDetail.class, "https://openapi.xiekeyun.com/delivery/getDetail.json");
        return noList.getData();
    }
    private List<BarcodeDeliveryNo> GetBarcodeInformation(String deliveryNo) throws IOException {
        XkyCommonParam<BodyParam> param = XkyCommonParam.GetInit();
        // 创建 BodyParam 对象并赋值
        BodyParam bodyParam = new BodyParam();
        bodyParam.setErpCode(DataAcquisitionConfiguration.TEST_ERP_CODE);
        bodyParam.setDeliveryNo(deliveryNo);
        param.setBody(bodyParam);
        ApiResponse<BarcodeDeliveryNo> noList = apiService.sendListRequest(param, BarcodeDeliveryNo.class, "https://openapi.xiekeyun.com/barcode/byDeliveryNo.json");
        return noList.getDataList();
    }
}