diff --git a/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/build/tmp/compileJava/previous-compilation-data.bin b/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/build/tmp/compileJava/previous-compilation-data.bin index 8ebab4d..6b79ec1 100644 Binary files a/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/build/tmp/compileJava/previous-compilation-data.bin and b/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/build/tmp/compileJava/previous-compilation-data.bin differ diff --git a/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/job/WaterproofPaintAccountsReceivableJob.java b/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/job/WaterproofPaintAccountsReceivableJob.java index 54ac4f4..0af1eaf 100644 --- a/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/job/WaterproofPaintAccountsReceivableJob.java +++ b/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/job/WaterproofPaintAccountsReceivableJob.java @@ -87,8 +87,8 @@ public class WaterproofPaintAccountsReceivableJob implements IJob { // 获取所有销售组织-客户组合 String bkgs = section.getBkgs(); - String sql = "SELECT DISTINCT QYGS, FCUSTNAME, SQ AS FPROVINCE, CS AS FCITY, QY AS FDISTRICT, XSZZ " + - " FROM " + section.getYsdTable() + " WHERE QYGS IS NOT NULL AND FCUSTNAME IS NOT NULL"; + String sql = "SELECT QYGS, FCUSTNAME, SQ AS FPROVINCE, CS AS FCITY, QY AS FDISTRICT, XSZZ " + + " FROM " + section.getYsdTable() + " WHERE QYGS IS NOT NULL AND FCUSTNAME IS NOT NULL GROUP BY FCUSTNAME,XSZZ"; // if (bkgs.equals("北新防水")){ // sql += " AND XSZZ !='北新防水工程(辽宁)有限公司' " + // "AND XSZZ != '北新防水工程(四川)有限公司' AND F_SFNBJY ='是'"; @@ -238,6 +238,9 @@ public class WaterproofPaintAccountsReceivableJob implements IJob { // 扩展日期范围:包含去年完整数据和当前时间范围 LocalDate extendedStartDate = monthEndDates.get(0).minusYears(1).withDayOfYear(1); LocalDate extendedEndDate = monthEndDates.get(monthEndDates.size() - 1); + String format = extendedStartDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); + String format2 = extendedEndDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); + LOGGER.info("format:{};format2:{}",format,format2); List extendedMonthEndDates = getMonthEndDates(extendedStartDate, extendedEndDate); // 批量查询应收单数据 Map ysData = batchQueryYSDData(section, saleOrgUnits, custNames, extendedMonthEndDates); @@ -274,17 +277,20 @@ public class WaterproofPaintAccountsReceivableJob implements IJob { // 构建日期条件 StringBuilder dateCondition = new StringBuilder(); - for (LocalDate date : monthEndDates) { - LocalDate monthStart = date.withDayOfMonth(1); - if (dateCondition.length() > 0) { - dateCondition.append(" OR "); - } - dateCondition.append("(DZRQ >= '") - .append(monthStart.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))) - .append(" 00:00:00' AND DZRQ <= '") - .append(date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))) - .append(" 23:59:59')"); - } + dateCondition.append("DZRQ >= '") + .append(monthEndDates.get(0).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))).append(" 00:00:00' AND DZRQ <= '") + .append(monthEndDates.get(monthEndDates.size()-1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))).append(" 23:59:59'"); +// for (LocalDate date : monthEndDates) { +// LocalDate monthStart = date.withDayOfMonth(1); +// if (dateCondition.length() > 0) { +// dateCondition.append(" OR "); +// } +// dateCondition.append("(DZRQ >= '") +// .append(monthStart.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))) +// .append(" 00:00:00' AND DZRQ <= '") +// .append(date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))) +// .append(" 23:59:59')"); +// } String bkgs = section.getBkgs(); String sql = "SELECT XSZZ, FCUSTNAME, DATE_FORMAT(DZRQ, '%Y-%m-%d') as BILL_DATE, SUM(SSJERMB) as TOTAL " + @@ -292,14 +298,14 @@ public class WaterproofPaintAccountsReceivableJob implements IJob { " WHERE XSZZ IN (" + inSaleOrgs + ") " + " AND FCUSTNAME IN (" + inCustNames + ") " + " AND (" + dateCondition + ") "; - if (bkgs.equals("北新防水")){ - sql += " AND XSZZ !='北新防水工程(辽宁)有限公司' " + - "AND XSZZ != '北新防水工程(四川)有限公司' AND F_SFNBJY ='是'"; - }else { - sql += " AND F_SFNBJY ='是'"; - } +// if (bkgs.equals("北新防水")){ +// sql += " AND XSZZ !='北新防水工程(辽宁)有限公司' " + +// "AND XSZZ != '北新防水工程(四川)有限公司' AND F_SFNBJY ='是'"; +// }else { +// sql += " AND F_SFNBJY ='是'"; +// } sql += " GROUP BY XSZZ, FCUSTNAME, DATE_FORMAT(DZRQ, '%Y-%m-%d')"; - +// LOGGER.info("应收单数据sql = " + sql); List queryResults = DBSql.getMaps(sql); for (RowMap row : queryResults) { @@ -328,17 +334,20 @@ public class WaterproofPaintAccountsReceivableJob implements IJob { String inCustNames = buildInCondition(custNames); StringBuilder dateCondition = new StringBuilder(); - for (LocalDate date : monthEndDates) { - LocalDate monthStart = date.withDayOfMonth(1); - if (dateCondition.length() > 0) { - dateCondition.append(" OR "); - } - dateCondition.append("(FBILLDATE >= '") - .append(monthStart.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))) - .append(" 00:00:00' AND FBILLDATE <= '") - .append(date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))) - .append(" 23:59:59')"); - } + dateCondition.append("FBILLDATE >= '") + .append(monthEndDates.get(0).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))).append(" 00:00:00' AND FBILLDATE <= '") + .append(monthEndDates.get(monthEndDates.size()-1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))).append(" 23:59:59'"); +// for (LocalDate date : monthEndDates) { +// LocalDate monthStart = date.withDayOfMonth(1); +// if (dateCondition.length() > 0) { +// dateCondition.append(" OR "); +// } +// dateCondition.append("(DZRQ >= '") +// .append(monthStart.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))) +// .append(" 00:00:00' AND DZRQ <= '") +// .append(date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))) +// .append(" 23:59:59')"); +// } String bkgs = section.getBkgs(); String sql = "SELECT FSALEORGUNIT, FCUSTNAME, DATE_FORMAT(FBILLDATE, '%Y-%m-%d') as BILL_DATE, SUM(FSALEAMOUNTRMB) as TOTAL " + @@ -346,14 +355,15 @@ public class WaterproofPaintAccountsReceivableJob implements IJob { " WHERE FSALEORGUNIT IN (" + inSaleOrgs + ") " + " AND FCUSTNAME IN (" + inCustNames + ") " + " AND (" + dateCondition + ") "; - if (bkgs.equals("北新防水")){ - sql += " AND FSALEORGUNIT !='北新防水工程(辽宁)有限公司' " + - "AND FSALEORGUNIT != '北新防水工程(四川)有限公司' AND F_SFNBJY ='是'"; - }else { - sql += " AND F_SFNBJY ='是'"; - } +// if (bkgs.equals("北新防水")){ +// sql += " AND FSALEORGUNIT !='北新防水工程(辽宁)有限公司' " + +// "AND FSALEORGUNIT != '北新防水工程(四川)有限公司' AND F_SFNBJY ='是'"; +// }else { +// sql += " AND F_SFNBJY ='是'"; +// } sql += " GROUP BY FSALEORGUNIT, FCUSTNAME, DATE_FORMAT(FBILLDATE, '%Y-%m-%d')"; +// LOGGER.info("收款单数据sql = " + sql); List queryResults = DBSql.getMaps(sql); for (RowMap row : queryResults) { @@ -382,17 +392,20 @@ public class WaterproofPaintAccountsReceivableJob implements IJob { String inCustNames = buildInCondition(custNames); StringBuilder dateCondition = new StringBuilder(); - for (LocalDate date : monthEndDates) { - LocalDate monthStart = date.withDayOfMonth(1); - if (dateCondition.length() > 0) { - dateCondition.append(" OR "); - } - dateCondition.append("(FBILLDATE >= '") - .append(monthStart.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))) - .append(" 00:00:00' AND FBILLDATE <= '") - .append(date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))) - .append(" 23:59:59')"); - } + dateCondition.append("FBILLDATE >= '") + .append(monthEndDates.get(0).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))).append(" 00:00:00' AND FBILLDATE <= '") + .append(monthEndDates.get(monthEndDates.size()-1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))).append(" 23:59:59'"); +// for (LocalDate date : monthEndDates) { +// LocalDate monthStart = date.withDayOfMonth(1); +// if (dateCondition.length() > 0) { +// dateCondition.append(" OR "); +// } +// dateCondition.append("(DZRQ >= '") +// .append(monthStart.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))) +// .append(" 00:00:00' AND DZRQ <= '") +// .append(date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))) +// .append(" 23:59:59')"); +// } String bkgs = section.getBkgs(); String sql = "SELECT FSALEORGUNIT, FCUSTNAME, DATE_FORMAT(FBILLDATE, '%Y-%m-%d') as BILL_DATE, SUM(FSALEAMOUNTRMB) as TOTAL " + @@ -400,14 +413,15 @@ public class WaterproofPaintAccountsReceivableJob implements IJob { " WHERE FSALEORGUNIT IN (" + inSaleOrgs + ") " + " AND FCUSTNAME IN (" + inCustNames + ") " + " AND (" + dateCondition + ") "; - if (bkgs.equals("北新防水")){ - sql += " AND FSALEORGUNIT !='北新防水工程(辽宁)有限公司' " + - "AND FSALEORGUNIT != '北新防水工程(四川)有限公司' AND F_SFNBJY ='是'"; - }else { - sql += " AND F_SFNBJY ='是'"; - } +// if (bkgs.equals("北新防水")){ +// sql += " AND FSALEORGUNIT !='北新防水工程(辽宁)有限公司' " + +// "AND FSALEORGUNIT != '北新防水工程(四川)有限公司' AND F_SFNBJY ='是'"; +// }else { +// sql += " AND F_SFNBJY ='是'"; +// } sql += " GROUP BY FSALEORGUNIT, FCUSTNAME, DATE_FORMAT(FBILLDATE, '%Y-%m-%d')"; +// LOGGER.info("收款退款单数据sql = " + sql); List queryResults = DBSql.getMaps(sql); for (RowMap row : queryResults) { @@ -444,6 +458,7 @@ public class WaterproofPaintAccountsReceivableJob implements IJob { " AND KH IN (" + inCustNames + ") " + " AND RQ IN (" + inDates + ")"; +// LOGGER.info("历史余额数据sql = " + sql); List queryResults = DBSql.getMaps(sql); for (RowMap row : queryResults) {