采购订单列表推送至企业微信

This commit is contained in:
tzy 2025-09-15 16:01:28 +08:00
parent 73a9939d0b
commit 5d6dcd6042
4 changed files with 13 additions and 81 deletions

View File

@ -863,9 +863,8 @@ public class KingdeeWorkCenterDataController extends BaseController {
// 过滤采购申请单数据 // 过滤采购申请单数据
List<PurchaseRequestExcelDTO> purchaseRequestList = filterReqPurchaseOrders(allpurchaseRequestList); List<PurchaseRequestExcelDTO> purchaseRequestList = filterReqPurchaseOrders(allpurchaseRequestList);
msg.append("- 采购订单(已过滤):").append(purchaseOrderList.size()).append("\n"); msg.append("- 采购订单:").append(purchaseOrderList.size()).append("\n");
msg.append("- 采购申请:").append(purchaseRequestList.size()).append("\n"); msg.append("- 采购申请单:").append(purchaseRequestList.size()).append("\n");
msg.append("- 过滤条件生产令号0259/240605开头交货日期小于当前时间\n");
// 生成Excel文件使用采购模板 // 生成Excel文件使用采购模板
String fileName = String.format("采购订单和申请数据_%s.xlsx", String fileName = String.format("采购订单和申请数据_%s.xlsx",
@ -958,58 +957,13 @@ public class KingdeeWorkCenterDataController extends BaseController {
map.put("FArrivalDate", item.getFArrivalDate()); map.put("FArrivalDate", item.getFArrivalDate());
map.put("FApplicationDate", item.getFApplicationDate()); map.put("FApplicationDate", item.getFApplicationDate());
map.put("FUCHNText", item.getFUCHNText()); map.put("FUCHNText", item.getFUCHNText());
map.put("FCreatorIdFName", item.getFCreatorIdFName());
mapList.add(map); mapList.add(map);
index++; index++;
} }
return mapList; return mapList;
} }
/**
* 过滤采购订单数据
*/
/* private List<PurchaseOrderExcelDTO> filterPurchaseOrders(List<PurchaseOrderExcelDTO> allOrders) {
String currentTime = DateUtil.format(new Date(), "yyyy-MM-dd");
return allOrders.stream()
.filter(order -> {
String productionOrderNo = order.getFUCHNText2();
String deliveryDate = order.getFDeliveryDate();
// 过滤条件1: FUCHNText2 不为空
if (productionOrderNo == null || productionOrderNo.trim().isEmpty()) {
return false;
}
// 过滤条件2: 生产令号以NO开头
if (!productionOrderNo.startsWith("NO")) {
return false;
}
// 过滤条件3: 生产令号以0259开头或240605开头
if (!productionOrderNo.startsWith("0259") && !productionOrderNo.startsWith("240605")) {
return false;
}
// 过滤条件4: 交货日期小于当前时间
if (deliveryDate != null && !deliveryDate.trim().isEmpty()) {
try {
// 处理日期格式 2024-02-22T00:00:00
String dateStr = deliveryDate.split("T")[0]; // 提取日期部分
if (dateStr.compareTo(currentTime) >= 0) {
return false; // 交货日期大于等于当前时间过滤掉
}
} catch (Exception e) {
log.warn("解析交货日期失败: {}", deliveryDate, e);
return false;
}
}
return true;
})
.collect(java.util.stream.Collectors.toList());
}*/
/**
* 过滤采购订单数据
*/
/** /**
* 过滤采购订单数据 * 过滤采购订单数据
@ -1026,20 +980,6 @@ public class KingdeeWorkCenterDataController extends BaseController {
String productionOrderNo = allOrder.getFUCHNText2(); String productionOrderNo = allOrder.getFUCHNText2();
String deliveryDate = allOrder.getFDeliveryDate(); String deliveryDate = allOrder.getFDeliveryDate();
// 条件1: 生产令号不能为空
if (productionOrderNo == null || productionOrderNo.trim().isEmpty()) {
log.debug("过滤掉: 生产令号为空");
continue;
}
// 条件2: 不能以 NO / GMJ / GSC 开头
if (productionOrderNo.startsWith("NO")
|| productionOrderNo.startsWith("GMJ")
|| productionOrderNo.startsWith("GSC")) {
log.debug("过滤掉: 生产令号不符合前缀条件: {}", productionOrderNo);
continue;
}
// 条件3: 交货日期不能为空并且必须早于今天 // 条件3: 交货日期不能为空并且必须早于今天
if (deliveryDate == null || deliveryDate.trim().isEmpty()) { if (deliveryDate == null || deliveryDate.trim().isEmpty()) {
log.debug("过滤掉: 交货日期为空"); log.debug("过滤掉: 交货日期为空");
@ -1086,19 +1026,7 @@ public class KingdeeWorkCenterDataController extends BaseController {
String productionOrderNo = allOrder.getFUCHNText(); String productionOrderNo = allOrder.getFUCHNText();
String deliveryDate = allOrder.getFArrivalDate(); String deliveryDate = allOrder.getFArrivalDate();
// 条件1: 生产令号不能为空
if (productionOrderNo == null || productionOrderNo.trim().isEmpty()) {
log.debug("过滤掉: 生产令号为空");
continue;
}
// 条件2: 不能以 NO / 0259 / 240605 开头
if (productionOrderNo.startsWith("NO")
|| productionOrderNo.startsWith("0259")
|| productionOrderNo.startsWith("240605")) {
log.debug("过滤掉: 生产令号不符合前缀条件: {}", productionOrderNo);
continue;
}
// 条件3: 交货日期不能为空并且必须早于今天 // 条件3: 交货日期不能为空并且必须早于今天
if (deliveryDate == null || deliveryDate.trim().isEmpty()) { if (deliveryDate == null || deliveryDate.trim().isEmpty()) {

View File

@ -69,7 +69,11 @@ public class PurchaseRequestExcelDTO {
* 生产令号 * 生产令号
*/ */
@JsonProperty("F_UCHN_Text") @JsonProperty("F_UCHN_Text")
private String FUCHNText; private String FUCHNText;/**
* 生产令号
*/
@JsonProperty("FCreatorId.FName")
private String FCreatorIdFName;
} }

View File

@ -2583,7 +2583,7 @@ public class JdUtil {
// 请求参数要求为json字符串 // 请求参数要求为json字符串
JsonObject json = new JsonObject(); JsonObject json = new JsonObject();
json.addProperty("FormId", "PUR_Requisition"); json.addProperty("FormId", "PUR_Requisition");
json.addProperty("FieldKeys", "FBillNo,FBillTypeID,FSuggestPurDate,FSuggestSupplierId.FName,FMaterialId.FNumber,FMaterialName,FPriceUnitId.FName,FReqQty,FArrivalDate,FApplicationDate,F_UCHN_Text"); json.addProperty("FieldKeys", "FBillNo,FBillTypeID,FSuggestPurDate,FSuggestSupplierId.FName,FMaterialId.FNumber,FMaterialName,FPriceUnitId.FName,FReqQty,FArrivalDate,FApplicationDate,F_UCHN_Text,FCreatorId.FName");
// 创建过滤条件 // 创建过滤条件
JsonObject filterObject = new JsonObject(); JsonObject filterObject = new JsonObject();
JsonArray filterString = new JsonArray(); JsonArray filterString = new JsonArray();