账号密码 lj5020/8888

访问图片TOP报表中的查询条件pingpai查询报错
This commit is contained in:
2026-05-14 13:53:18 +08:00
parent 56d5ad27ea
commit bad4bdc190
3 changed files with 59 additions and 36 deletions

View File

@@ -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<String> 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<String> ztj;
@Schema(description = "附加条件1")
private List<String> fjsx1;
@Schema(description = "附加条件2")

View File

@@ -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()));

View File

@@ -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());