diff --git a/yudao-module-ydoyun/src/main/java/cn/iocoder/yudao/module/ydoyun/controller/admin/productreport/vo/ProductSplbQueryReqVO.java b/yudao-module-ydoyun/src/main/java/cn/iocoder/yudao/module/ydoyun/controller/admin/productreport/vo/ProductSplbQueryReqVO.java index c957b50..09db5b5 100644 --- a/yudao-module-ydoyun/src/main/java/cn/iocoder/yudao/module/ydoyun/controller/admin/productreport/vo/ProductSplbQueryReqVO.java +++ b/yudao-module-ydoyun/src/main/java/cn/iocoder/yudao/module/ydoyun/controller/admin/productreport/vo/ProductSplbQueryReqVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.ydoyun.controller.admin.productreport.vo; +import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -40,6 +41,17 @@ public class ProductSplbQueryReqVO { @Schema(description = "仓库代码(多选)") private List ckdm; + @Schema(description = "查询日期起 yyyy-MM-dd(写入 params 键 RQ_S)") + @JsonProperty("RQ_S") + private String rqS; + + @Schema(description = "查询日期止 yyyy-MM-dd(写入 params 键 RQ_E)") + @JsonProperty("RQ_E") + private String rqE; + + @Schema(description = "正特价:FJSX4.SXDM 多选(不含 000)") + private List ztj; + @Schema(description = "附加条件1") private List fjsx1; @Schema(description = "附加条件2") diff --git a/yudao-module-ydoyun/src/main/java/cn/iocoder/yudao/module/ydoyun/service/productreport/ProductReportServiceImpl.java b/yudao-module-ydoyun/src/main/java/cn/iocoder/yudao/module/ydoyun/service/productreport/ProductReportServiceImpl.java index 77ae56a..d6a1cf7 100644 --- a/yudao-module-ydoyun/src/main/java/cn/iocoder/yudao/module/ydoyun/service/productreport/ProductReportServiceImpl.java +++ b/yudao-module-ydoyun/src/main/java/cn/iocoder/yudao/module/ydoyun/service/productreport/ProductReportServiceImpl.java @@ -65,6 +65,9 @@ public class ProductReportServiceImpl implements ProductReportService { p.put("category", reqVO.getCategory()); p.put("ghsdm", nullToEmpty(reqVO.getGhsdm())); p.put("ckdm", nullToEmpty(reqVO.getCkdm())); + p.put("RQ_S", StrUtil.trimToEmpty(reqVO.getRqS())); + p.put("RQ_E", StrUtil.trimToEmpty(reqVO.getRqE())); + p.put("ztj", nullToEmpty(reqVO.getZtj())); p.put("fjsx1", nullToEmpty(reqVO.getFjsx1())); p.put("fjsx2", nullToEmpty(reqVO.getFjsx2())); p.put("fjsx3", nullToEmpty(reqVO.getFjsx3())); diff --git a/yudao-module-ydoyun/src/main/java/cn/iocoder/yudao/module/ydoyun/service/reportpage/ReportPageService.java b/yudao-module-ydoyun/src/main/java/cn/iocoder/yudao/module/ydoyun/service/reportpage/ReportPageService.java index c3b9b87..516499f 100644 --- a/yudao-module-ydoyun/src/main/java/cn/iocoder/yudao/module/ydoyun/service/reportpage/ReportPageService.java +++ b/yudao-module-ydoyun/src/main/java/cn/iocoder/yudao/module/ydoyun/service/reportpage/ReportPageService.java @@ -299,43 +299,51 @@ public class ReportPageService { String table = tableName.toUpperCase(); StringBuilder sql = new StringBuilder(); - // ---------- admin 直接查全部 ---------- - if ("admin".equalsIgnoreCase(username)) { - if ("PINPAI".equals(table)) { - sql.append("SELECT PPDM, PPMC FROM ").append(table); - } else if ("KEHU".equals(table)) { - sql.append("SELECT khdm, khmc FROM ").append(table); - } else { + String userId = (username != null && username.length() > 2) + ? username.substring(2) + : username; + + boolean isAdmin = "admin".equalsIgnoreCase(username); + + switch (table) { + + // 王菠萝商品:正特价维度 + case "ZJTZ": + sql.append("SELECT SXDM, SXMC ") + .append("FROM FJSX4 ") + .append("WHERE SXDM <> '000'"); + break; + + // 品牌 + case "PINPAI": + sql.append("SELECT PPDM, PPMC FROM PINPAI"); + + if (!isAdmin) { + sql.append(" WHERE PPDM IN (") + .append("SELECT DISTINCT PPDM ") + .append("FROM USPPQY ") + .append("WHERE userid = '" + userId) + .append("')"); + } + break; + + // 客户 + case "KEHU": + sql.append("SELECT khdm, khmc FROM KEHU"); + + if (!isAdmin) { + sql.append(" WHERE KHDM IN (") + .append("SELECT DISTINCT KHDM ") + .append("FROM USPPQY ") + .append("WHERE userid = '" + userId) + .append("')"); + } + break; + + // 其他表 + default: sql.append("SELECT * FROM ").append(table); - } - - } else { - - // ---------- 普通用户 ---------- - String userId = - username.length() > 2 ? username.substring(2) : username; - - if ("PINPAI".equals(table)) { - - sql.append("SELECT PPDM, PPMC FROM ").append(table) - .append(" WHERE PPDM IN (") - .append("SELECT DISTINCT PPDM FROM USPPQY WHERE userid = '") - .append(userId) - .append("')"); - - } else if ("KEHU".equals(table)) { - - sql.append("SELECT khdm, khmc FROM ").append(table) - .append(" WHERE KHDM IN (") - .append("SELECT DISTINCT KHDM FROM USPPQY WHERE userid = '") - .append(userId) - .append("')"); - - } else { - - // 其他表不做权限控制 - sql.append("SELECT * FROM ").append(table); - } + break; } params.put("sql", sql.toString());