港湾过滤逻辑调整

This commit is contained in:
Harryxzy 2024-01-04 17:45:33 +08:00
parent bb4b520140
commit c7a67f5621
1 changed files with 31 additions and 33 deletions

View File

@ -1619,41 +1619,39 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
private void buildCanManageList(PltxInitEmployeeParam param, List<String> fieldList, List<pltxEmployeeDTO> canManageList ) {
Integer txcj = param.getTxcj();
RecordSet rs = new RecordSet();
rs.execute("SELECT bdxr,gskjywr FROM uf_pltxjzgljmb where " + fieldList.get(txcj) + "=" + param.getSpr());
List<Integer> sprList = new ArrayList<>();
for (int i = txcj; i > 0 ; i--) {
if (i == txcj) {
rs.execute(" SELECT " + fieldList.get(i-1) + " FROM uf_pltxjzgljmb where "+ fieldList.get(i)+"= " + param.getSpr());
while (rs.next()) {
sprList.add(rs.getInt(fieldList.get(i-1)));
}
} else {
rs.execute(" SELECT " + fieldList.get(i-1) + " FROM uf_pltxjzgljmb where "+ fieldList.get(i)+ " in ( " + StringUtils.join(sprList, ",") + ")");
while (rs.next()) {
sprList.add(rs.getInt(fieldList.get(i-1)));
}
}
}
// 不包含当前审批人
String sprStrWithoutCurrent = StringUtils.join(sprList, ",");
// 加上当前审批人
sprList.add(param.getSpr());
String sprStrs = StringUtils.join(sprList, ",");
StringBuilder selectConditionStr = new StringBuilder();
for (int i = 0; i <= txcj; i++) {
if (i != txcj) {
selectConditionStr.append(fieldList.get(i) + " in (" + sprStrs + ") or ");
} else {
selectConditionStr.append(fieldList.get(i) + " in (" + sprStrs + ") ");
}
}
if (StringUtils.isNotBlank(sprStrWithoutCurrent)) {
rs.execute(" SELECT bdxr,gskjywr FROM uf_pltxjzgljmb where " + selectConditionStr.toString() + " or bdxr in (" + sprStrWithoutCurrent +") ");
} else {
rs.execute(" SELECT bdxr,gskjywr FROM uf_pltxjzgljmb where " + selectConditionStr.toString());
}
// List<Integer> sprList = new ArrayList<>();
// for (int i = txcj; i > 0 ; i--) {
// if (i == txcj) {
// rs.execute(" SELECT " + fieldList.get(i-1) + " FROM uf_pltxjzgljmb where "+ fieldList.get(i)+"= " + param.getSpr());
// while (rs.next()) {
// sprList.add(rs.getInt(fieldList.get(i-1)));
// }
// } else {
// rs.execute(" SELECT " + fieldList.get(i-1) + " FROM uf_pltxjzgljmb where "+ fieldList.get(i)+ " in ( " + StringUtils.join(sprList, ",") + ")");
// while (rs.next()) {
// sprList.add(rs.getInt(fieldList.get(i-1)));
// }
// }
// }
//
// // 不包含当前审批人
// String sprStrWithoutCurrent = StringUtils.join(sprList, ",");
// // 加上当前审批人
// sprList.add(param.getSpr());
// String sprStrs = StringUtils.join(sprList, ",");
//
// StringBuilder selectConditionStr = new StringBuilder();
// for (int i = 0; i <= txcj; i++) {
// if (i != txcj) {
// selectConditionStr.append(fieldList.get(i) + " in (" + sprStrs + ") or ");
// } else {
// selectConditionStr.append(fieldList.get(i) + " in (" + sprStrs + ") ");
// }
// }
// rs.execute(" SELECT bdxr,gskjywr FROM uf_pltxjzgljmb where " + selectConditionStr.toString());
while (rs.next()) {
int bdxr = rs.getInt("bdxr");