From 5d22fa9cef05801bb4be9654cb3133b795f34f89 Mon Sep 17 00:00:00 2001 From: mzr Date: Wed, 3 Dec 2025 15:28:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B5=81=E7=A8=8B=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E8=AE=A2=E5=8D=95=E6=9F=A5=E8=AF=A2api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../openapi/mmpac/pmo/PmoResource.java | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/mmpac/src/public/nccloud/openapi/mmpac/pmo/PmoResource.java b/mmpac/src/public/nccloud/openapi/mmpac/pmo/PmoResource.java index 7548a2a4..317b7891 100644 --- a/mmpac/src/public/nccloud/openapi/mmpac/pmo/PmoResource.java +++ b/mmpac/src/public/nccloud/openapi/mmpac/pmo/PmoResource.java @@ -8,8 +8,10 @@ import nc.bs.trade.business.HYPubBO; import nc.itf.mmpac.pmo.pac0002.IPMOBusinessService; import nc.itf.mmpac.pmo.pac0002.IPMOQueryService; import nc.jdbc.framework.SQLParameter; +import nc.jdbc.framework.processor.ColumnProcessor; import nc.jdbc.framework.processor.MapListProcessor; import nc.util.mmf.framework.base.MMCollectionUtil; +import nc.util.mmf.framework.base.MMValueCheck; import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO; import nc.vo.mmpac.pmo.pac0002.entity.PMOItemVO; import nc.vo.pub.BusinessException; @@ -350,6 +352,84 @@ public class PmoResource extends AbstractNCCRestResource { } } + @POST + @Path("queryByCondition") + @Consumes({"application/json"}) + @Produces({"application/json"}) + public JSONString queryByCondition(Map paramMap) { + if (MMValueCheck.isEmpty(paramMap)) { + return ResultMessageUtil.exceptionToJSON("传入数据异常,参数不能为空", APIErrCodeEnum.BUSINESSEXCCODE.getCode()); + } + if (MMValueCheck.isEmpty(paramMap.get("pk_org"))) { + return ResultMessageUtil.exceptionToJSON("传入数据异常,组织参数为空", APIErrCodeEnum.BUSINESSEXCCODE.getCode()); + } + try { + StringBuilder whereSql = new StringBuilder(); + + // 处理时间范围参数 ts + if (paramMap.containsKey("ts") && paramMap.get("ts") != null) { + String tsRange = paramMap.get("ts").toString(); + if (tsRange.contains("~")) { + String[] dates = tsRange.split("~"); + if (dates.length == 2) { + whereSql.append(" AND ts BETWEEN '") + .append(dates[0].trim()) + .append("' AND '") + .append(dates[1].trim()) + .append("' "); + } + } + } + // 处理修改时间范围参数 modifiedtime + if (paramMap.containsKey("modifiedtime") && paramMap.get("modifiedtime") != null) { + String tsRange = paramMap.get("modifiedtime").toString(); + if (tsRange.contains("~")) { + String[] dates = tsRange.split("~"); + if (dates.length == 2) { + whereSql.append(" AND modifiedtime BETWEEN '") + .append(dates[0].trim()) + .append("' AND '") + .append(dates[1].trim()) + .append("' "); + } + } + } + + // 处理组织参数 pk_org + if (paramMap.containsKey("pk_org") && paramMap.get("pk_org") != null) { + String sql = " SELECT pk_factory FROM org_factory " + + " WHERE nvl(dr,0)= 0 and code = '" + paramMap.get("pk_org") + "' "; + String pkOrg = (String) BASE_DAO.executeQuery(sql, new ColumnProcessor()); + whereSql.append(" AND pk_org = '") + .append(pkOrg) + .append("' "); + } + + if (paramMap.containsKey("vbillcode") && paramMap.get("vbillcode") != null) { + whereSql.append(" AND vbillcode = '") + .append(paramMap.get("vbillcode").toString()) + .append("' "); + } + if (paramMap.containsKey("fbillstatus") && paramMap.get("fbillstatus") != null) { + whereSql.append(" AND fbillstatus = '") + .append(paramMap.get("fbillstatus").toString()) + .append("' "); + } + + String finalWhereSql = ""; + if (!whereSql.isEmpty()) { + // 去掉开头的 " AND " + finalWhereSql = whereSql.substring(5); + } + // NCCForUAPLogger.debug("查询流程生产订单参数:" + finalWhereSql); + IPMOQueryService pmoQuery = NCLocator.getInstance().lookup(IPMOQueryService.class); + PMOAggVO[] pmoAggVOS = pmoQuery.queryByWhereSql(finalWhereSql); + return ResultMessageUtil.toJSON(pmoAggVOS, "流程生产订单查询成功"); + } catch (BusinessException e) { + return ResultMessageUtil.exceptionToJSON(e); + } + } + @POST @Path("queryPmos") @Consumes({"application/json"})