From a5e75aabaef8ff2dffea466f750c17a486d50cfb Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期五, 30 五月 2025 09:33:07 +0800 Subject: [PATCH] 添加srm与U9订单数据的对比 --- src/main/java/com/gs/xky/service/XkyService.java | 137 +++++++++++++++++++++++++++------------------ 1 files changed, 83 insertions(+), 54 deletions(-) diff --git a/src/main/java/com/gs/xky/service/XkyService.java b/src/main/java/com/gs/xky/service/XkyService.java index fb17ddf..0ec06d5 100644 --- a/src/main/java/com/gs/xky/service/XkyService.java +++ b/src/main/java/com/gs/xky/service/XkyService.java @@ -2,6 +2,7 @@ import cn.hutool.core.collection.CollUtil; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.gs.xky.config.ApiResponse; @@ -13,6 +14,8 @@ import com.gs.xky.dto.XkyEntity; import com.gs.xky.entity.*; import lombok.RequiredArgsConstructor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -24,9 +27,8 @@ @RequiredArgsConstructor public class XkyService { + private static final Logger log = LoggerFactory.getLogger(XkyService.class); private final ApiService apiService; - - private final DeliveryNoticeService deliveryNoticeService; private final TblBarcodeInformationService barcodeInformationService; @@ -40,52 +42,113 @@ public void GetSaveDetail() throws IOException { long currentTimeMillis = System.currentTimeMillis(); + long startDate = currentTimeMillis - (20 * 60 * 1000); // 璁$畻 20 鍒嗛挓鍓嶇殑鏃堕棿鎴� - XkyCommonParam param = XkyCommonParam.GetInit(); - - // 璁$畻浜斿垎閽熷墠鐨勬椂闂存埑 - long startDate = currentTimeMillis - (6 * 60 * 1000); // 5 鍒嗛挓 = 5 * 60 * 1000 姣 - - // 鍒涘缓 BodyParam 瀵硅薄骞惰祴鍊� + XkyCommonParam<BodyParam> param = XkyCommonParam.GetInit(); BodyParam bodyParam = new BodyParam(); bodyParam.setStartDate(startDate); bodyParam.setEndDate(currentTimeMillis); bodyParam.setErpCode(DataAcquisitionConfiguration.TEST_ERP_CODE); bodyParam.setStatus(new int[]{1, 6}); -// bodyParam.setLogisticsStatus(2); - param.setBody(bodyParam); + + // 璁板綍璇锋眰鍙傛暟鏃ュ織 + log.info("銆怗etSaveDetail 璇锋眰鍙傛暟銆戞椂闂�: {}, 鍙傛暟: {}", currentTimeMillis, JSONUtil.toJsonStr(param)); ApiResponse<XkyEntity> noList = apiService.sendListRequest(param, XkyEntity.class, "https://openapi.xiekeyun.com/delivery/getNoList.json"); -// List<String> deliveryNoList = noList.getDataList().stream().map(XkyEntity::getDeliveryNo).collect(Collectors.toList()); + // 璁板綍杩斿洖鏁版嵁鏃ュ織 + log.info("銆怗etSaveDetail 鍝嶅簲鏁版嵁銆戞椂闂�: {}, 杩斿洖: {}", currentTimeMillis, JSONUtil.toJsonStr(noList)); List<XkyEntity> deliveryNoList = noList.getDataList(); - if (CollUtil.isEmpty(deliveryNoList)) { + log.info("銆怗etSaveDetail銆戣繑鍥炲垪琛ㄤ负绌猴紝璺宠繃澶勭悊"); return; } deliveryNoList.forEach(deliveryNo -> { try { - if ("6".equals(deliveryNo.getStatus()) || "0".equals(deliveryNo.getLogisticsStatus())) { - - remove(deliveryNo); - - } else if ("1".equals(deliveryNo.getStatus()) && "2".equals(deliveryNo.getLogisticsStatus())) { + log.info("銆怗etSaveDetail銆戠Щ闄ら�佽揣鍗�: {}", 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(), ""); + //宸查�佽揪鐨勬墠鑷姩杞崲涓篗ES鍒拌揣鍗� + if ("2".equals(deliveryNo.getLogisticsStatus())) { + deliveryNoticeService.callPdaReceiptBtn("閫佽揣鍗曠鏀禰BTNOK[PL017[" + deliveryNo.getDeliveryNo(), ""); + } } - } catch (IOException e) { + log.error("銆怗etSaveDetail 澶勭悊寮傚父銆戦�佽揣鍗�: {}, 寮傚父: {}", deliveryNo.getDeliveryNo(), e.getMessage(), e); throw new RuntimeException(e); } }); + } + + public void remove1(XkyEntity deliveryNo) { + + //MesQaItemsDetect01涓嶮esInvItemArnDetail鐨勫叧鑱斿叧绯绘槸 + //MesQaItemsDetect01.lotNo=MesInvItemArnDetail.billNo + //and MesQaItemsDetect01.item_id=MesInvItemArnDetail.item_id + + //鎴戠幇鍦ㄥ笇鏈涗笉娓呯┖DeliveryNotice锛孌eliveryNoticeDetail锛孴blBarcodeInformation琛ㄧ殑鏁版嵁浜� + //杩樻湁MesInvItemArn锛孧esInvItemArnDetail锛孧esInvItemBarcodes琛ㄧ殑鏁版嵁 + //鍙垹闄esQaItemsDetect01琛ㄧ殑鏁版嵁 + + 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锛宻yncMsg="SRM鎵嬪姩鍒犻櫎閫佽揣鍗�" + LambdaUpdateWrapper<MesInvItemArn> updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(MesInvItemArn::getId, mesInvItemArn.getId()) + .set(MesInvItemArn::getSyncFlag, 1) + .set(MesInvItemArn::getStatus, 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 +193,5 @@ 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(); } } -- Gitblit v1.9.3