| | |
| | | long currentTimeMillis = System.currentTimeMillis(); |
| | | long startDate = currentTimeMillis - (20 * 60 * 1000); // 计算 20 分钟前的时间戳 |
| | | |
| | | XkyCommonParam param = XkyCommonParam.GetInit(); |
| | | XkyCommonParam<BodyParam> param = XkyCommonParam.GetInit(); |
| | | BodyParam bodyParam = new BodyParam(); |
| | | bodyParam.setStartDate(startDate); |
| | | bodyParam.setEndDate(currentTimeMillis); |
| | |
| | | try { |
| | | if ("6".equals(deliveryNo.getStatus()) || "0".equals(deliveryNo.getLogisticsStatus())) { |
| | | log.info("【GetSaveDetail】移除送货单: {}", deliveryNo.getDeliveryNo()); |
| | | remove(deliveryNo); |
| | | } else if ("1".equals(deliveryNo.getStatus()) && "2".equals(deliveryNo.getLogisticsStatus())) { |
| | | log.info("【GetSaveDetail】处理送货单: {}", deliveryNo.getDeliveryNo()); |
| | | remove1(deliveryNo); |
| | | } else if ("1".equals(deliveryNo.getStatus()) && ("2".equals(deliveryNo.getLogisticsStatus()) || "1".equals(deliveryNo.getLogisticsStatus()))) { |
| | | XkyDetail detail = getDetail(deliveryNo.getDeliveryNo()); |
| | | deliveryNoticeService.saveDeliveryNotice(detail); |
| | | List<BarcodeDeliveryNo> barcodeDeliveryNos = GetBarcodeInformation(deliveryNo.getDeliveryNo()); |
| | | barcodeInformationService.SaveBarcodeInformation(barcodeDeliveryNos, deliveryNo.getDeliveryNo()); |
| | | deliveryNoticeService.callPdaReceiptBtn("送货单签收[BTNOK[PL017[" + deliveryNo.getDeliveryNo(), ""); |
| | | //已送达的才自动转换为MES到货单 |
| | | if ("2".equals(deliveryNo.getLogisticsStatus())) { |
| | | deliveryNoticeService.callPdaReceiptBtn("送货单签收[BTNOK[PL017[" + deliveryNo.getDeliveryNo(), ""); |
| | | } |
| | | } |
| | | } catch (IOException e) { |
| | | log.error("【GetSaveDetail 处理异常】送货单: {}, 异常: {}", deliveryNo.getDeliveryNo(), e.getMessage(), e); |
| | | 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) { |
| | |
| | | mesQaItemsDetect01Service.removeQa(mesInvItemArn.getBillNo()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private XkyDetail getDetail(String deliveryNo) throws IOException { |
| | | XkyCommonParam 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 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(); |
| | | } |
| | | } |