From e1c376970b372b09837a11e0f6b25f9e88a2a09a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=98=8E?= Date: Mon, 12 May 2025 18:50:50 +0800 Subject: [PATCH] =?UTF-8?q?feat(uapbd):=20=E4=BC=98=E5=8C=96=E7=89=A9?= =?UTF-8?q?=E6=96=99=E4=BF=A1=E6=81=AF=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 增加对 ts 参数的处理,支持单个时间戳和时间范围查询 - 将时间条件整合到 extraCondition 中,以适应特殊查询要求 - 移除直接使用 ts 参数作为查询条件的情况,确保查询逻辑的正确性 --- .../public/nccloud/api/uapbd/QuerySync.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/uapbd/src/public/nccloud/api/uapbd/QuerySync.java b/uapbd/src/public/nccloud/api/uapbd/QuerySync.java index a24eed7..180519e 100644 --- a/uapbd/src/public/nccloud/api/uapbd/QuerySync.java +++ b/uapbd/src/public/nccloud/api/uapbd/QuerySync.java @@ -130,6 +130,44 @@ public class QuerySync extends AbstractNCCRestResource { * ѯϢ */ private JSONString queryMaterial(ApiUfinterface ufinterface) throws DAOException { + Map data = ufinterface.getData().getParamdata(); + + // ts + if (data.containsKey("ts")) { + Object tsObj = data.get("ts"); + String tsCondition = null; + + if (tsObj instanceof String) { + String ts = (String) tsObj; + if (!ts.contains(",")) { // ʱ + // ʱȡڲ֣㵽ʱķΧ + String dayStart = ts.split(" ")[0] + " 00:00:00"; + tsCondition = "ts >= '" + dayStart + "' AND ts <= '" + ts + "'"; + } else { // Ѿʱ䷶Χʽ磺startTime,endTime + String[] timeRange = ts.split(","); + if (timeRange.length == 2) { + tsCondition = "ts >= '" + timeRange[0] + "' AND ts <= '" + timeRange[1] + "'"; + } + } + } + + // õextraCondition + if (tsCondition != null) { + // ǷextraCondition + String existingExtraCondition = data.containsKey("extraCondition") ? + (String) data.get("extraCondition") : ""; + + if (existingExtraCondition.isEmpty()) { + data.put("extraCondition", tsCondition); + } else { + data.put("extraCondition", existingExtraCondition + " AND " + tsCondition); + } + } + + // ӲƳtsֱڲѯ + data.remove("ts"); + } + return baseQuery(ufinterface, "V_UAPBD_QUERYSYNC_MATERIAL", "pk_material"); }