diff --git a/shkd-cosmic-debug/src/main/java/shkd/bamp/basedata/plugin/GetBosOrgApiQueryPlugin.java b/shkd-cosmic-debug/src/main/java/shkd/bamp/basedata/plugin/GetBosOrgApiQueryPlugin.java new file mode 100644 index 0000000..b842b39 --- /dev/null +++ b/shkd-cosmic-debug/src/main/java/shkd/bamp/basedata/plugin/GetBosOrgApiQueryPlugin.java @@ -0,0 +1,38 @@ +package shkd.bamp.basedata.plugin; + +import kd.bos.openapi.api.plugin.ApiQueryPlugin; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; + +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Map; + +public class GetBosOrgApiQueryPlugin implements ApiQueryPlugin { + @Override + public QFilter getFilter(QFilter filter, Map reqData) { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Map> data = (Map>) reqData.get("data"); + Object numberObj = data.get("number"); + if (numberObj != null && !String.valueOf(numberObj).isEmpty()) { + filter.and(new QFilter("number", QCP.equals, numberObj)); + } + try { + Object updateTimeFrom = data.get("updateTimeFrom"); + if (updateTimeFrom != null) { + Date fromDate = format.parse(String.valueOf(updateTimeFrom)); + filter.and(new QFilter("modifytime", QCP.large_equals, fromDate)); + } + Object updateTimeTo = data.get("updateTimeTo"); + if (updateTimeTo != null) { + Date toDate = format.parse(String.valueOf(updateTimeTo)); + filter.and(new QFilter("modifytime", QCP.less_equals, toDate)); + } + } catch (ParseException e) { + throw new RuntimeException(e); + } + return filter; + } +}