From 8cc9e23ae29225d52dd2202a2f871ce9bca34d81 Mon Sep 17 00:00:00 2001 From: tzy <1042411602@qq.com> Date: Sun, 14 Sep 2025 21:21:02 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E8=AE=A2=E5=8D=95=20?= =?UTF-8?q?=E9=87=87=E8=B4=AD=E7=94=B3=E8=AF=B7=E5=8D=95=20=E5=BB=B6?= =?UTF-8?q?=E6=9C=9F=E6=8F=90=E9=86=92=20=E6=8F=90=E5=89=8D=E6=8F=90?= =?UTF-8?q?=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../KingdeeWorkCenterDataController.java | 45 +++++++++--------- .../domain/dto/PurchaseRequestExcelDTO.java | 6 +-- .../resources/EXCEL模板/采购订单模板.xlsx | Bin 0 -> 10950 bytes 3 files changed, 25 insertions(+), 26 deletions(-) create mode 100644 ruoyi-system/src/main/resources/EXCEL模板/采购订单模板.xlsx diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/KingdeeWorkCenterDataController.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/KingdeeWorkCenterDataController.java index bf91476..2f08bca 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/KingdeeWorkCenterDataController.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/KingdeeWorkCenterDataController.java @@ -837,13 +837,12 @@ public class KingdeeWorkCenterDataController extends BaseController { } @Log(title = "采购订单和采购申请单") - @XxlJob("getMassageDelayDate") - public R getMassageDelayDate1() { + @XxlJob("getPurchaseOrder") + public R getPurchaseOrder() { try { // String robotId = "4d2f037d-0cee-493a-a4ff-1758f67b8069"; String robotId = "483489b2-b219-468c-851f-f56a34a62d91"; - List list = JdUtil.getPurchaseOrder(); - List list2 = JdUtil.getPurchaseRequestOrder(); + String currentTime = DateUtil.format(new Date(), "yyyy年MM月dd日 HH:mm:ss"); StringBuilder msg = new StringBuilder(); msg.append("🏭 采购订单和采购申请更新\n\n") @@ -914,14 +913,14 @@ public class KingdeeWorkCenterDataController extends BaseController { for (PurchaseOrderExcelDTO item : purchaseOrderList) { Map map = new HashMap<>(); map.put("index", index); - map.put("orderNo", item.getFBillNo()); - map.put("supplierName", item.getFSupplierIdFName()); - map.put("materialCode", item.getFMaterialIdFNumber()); - map.put("materialName", item.getFMaterialName()); - map.put("quantity", item.getFQty()); - map.put("orderDate", item.getFDate()); - map.put("deliveryDate", item.getFDeliveryDate()); - map.put("productionOrderNo", item.getFUCHNText2()); + map.put("FBillNo", item.getFBillNo()); + map.put("FSupplierIdFName", item.getFSupplierIdFName()); + map.put("FMaterialIdFNumber", item.getFMaterialIdFNumber()); + map.put("FMaterialName", item.getFMaterialName()); + map.put("FQty", item.getFQty()); + map.put("FDate", item.getFDate()); + map.put("FDeliveryDate", item.getFDeliveryDate()); + map.put("FUCHNText2", item.getFUCHNText2()); mapList.add(map); index++; } @@ -937,17 +936,17 @@ public class KingdeeWorkCenterDataController extends BaseController { for (PurchaseRequestExcelDTO item : purchaseRequestList) { Map map = new HashMap<>(); map.put("index", index); - map.put("requestNo", item.getFBillNo()); - map.put("billType", item.getFBillTypeID()); - map.put("suggestPurDate", item.getFSuggestPurDate()); - map.put("suggestSupplier", item.getFSuggestSupplierId_FName()); - map.put("materialCode", item.getFMaterialId_FNumber()); - map.put("materialName", item.getFMaterialName()); - map.put("priceUnit", item.getFPriceUnitId_FName()); - map.put("quantity", item.getFReqQty()); - map.put("arrivalDate", item.getFArrivalDate()); - map.put("applicationDate", item.getFApplicationDate()); - map.put("productionOrderNo", item.getFUCHNText()); + map.put("FBillNo", item.getFBillNo()); + map.put("FBillTypeID", item.getFBillTypeID()); + map.put("FSuggestPurDate", item.getFSuggestPurDate()); + map.put("FSuggestSupplierIdFName", item.getFSuggestSupplierIdFName()); + map.put("FMaterialIdFNumber", item.getFMaterialIdFNumber()); + map.put("FMaterialName", item.getFMaterialName()); + map.put("FPriceUnitIdFName", item.getFPriceUnitIdFName()); + map.put("FReqQty", item.getFReqQty()); + map.put("FArrivalDate", item.getFArrivalDate()); + map.put("FApplicationDate", item.getFApplicationDate()); + map.put("FUCHNText", item.getFUCHNText()); mapList.add(map); index++; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/PurchaseRequestExcelDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/PurchaseRequestExcelDTO.java index 2a6b35c..bb966e4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/PurchaseRequestExcelDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/PurchaseRequestExcelDTO.java @@ -27,13 +27,13 @@ public class PurchaseRequestExcelDTO { * 建议供应商名称 */ @JsonProperty("FSuggestSupplierId.FName") - private String FSuggestSupplierId_FName; + private String FSuggestSupplierIdFName; /** * 物料编码 */ @JsonProperty("FMaterialId.FNumber") - private String FMaterialId_FNumber; + private String FMaterialIdFNumber; /** * 物料名称 @@ -45,7 +45,7 @@ public class PurchaseRequestExcelDTO { * 计价单位 */ @JsonProperty("FPriceUnitId.FName") - private String FPriceUnitId_FName; + private String FPriceUnitIdFName; /** * 申请数量 diff --git a/ruoyi-system/src/main/resources/EXCEL模板/采购订单模板.xlsx b/ruoyi-system/src/main/resources/EXCEL模板/采购订单模板.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..600f74197c41b7a64bdb1b1ca97734fb91114965 GIT binary patch literal 10950 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 CtQD#N literal 0 HcmV?d00001