Index: ssts-web/src/main/webapp/jasperRtp/foreignTousseApplicationSummaryReport_child_child.jasper =================================================================== diff -u -r32706 -r32738 Binary files differ Index: ssts-web/src/main/webapp/jasperRtp/foreignTousseApplicationSummaryReport.jasper =================================================================== diff -u -r32706 -r32738 Binary files differ Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/ThirdColumnVo.java =================================================================== diff -u -r32706 -r32738 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/ThirdColumnVo.java (.../ThirdColumnVo.java) (revision 32706) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/ThirdColumnVo.java (.../ThirdColumnVo.java) (revision 32738) @@ -10,18 +10,18 @@ /** * 第三列明细 */ - private List sthirdColumnDetaileds = null; + private List thirdColumnDetaileds = null; public String getThirdColumnName() { return thirdColumnName; } public void setThirdColumnName(String thirdColumnName) { this.thirdColumnName = thirdColumnName; } public List getSthirdColumnDetaileds() { - return sthirdColumnDetaileds; + return thirdColumnDetaileds; } public void setSthirdColumnDetaileds(List sthirdColumnDetaileds) { - this.sthirdColumnDetaileds = sthirdColumnDetaileds; + this.thirdColumnDetaileds = sthirdColumnDetaileds; } } Index: ssts-web/src/main/webapp/jasperRtp/foreignTousseApplicationDetailedReport_child.jasper =================================================================== diff -u -r32706 -r32738 Binary files differ Index: ssts-web/src/main/webapp/jasperRtp/foreignTousseApplicationSummaryReport_child_child.jasper =================================================================== diff -u -r32706 -r32738 Binary files differ Index: ssts-web/src/main/webapp/jasperRtp/foreignTousseApplicationSummaryReport_child.jrxml =================================================================== diff -u -r32706 -r32738 --- ssts-web/src/main/webapp/jasperRtp/foreignTousseApplicationSummaryReport_child.jrxml (.../foreignTousseApplicationSummaryReport_child.jrxml) (revision 32706) +++ ssts-web/src/main/webapp/jasperRtp/foreignTousseApplicationSummaryReport_child.jrxml (.../foreignTousseApplicationSummaryReport_child.jrxml) (revision 32738) @@ -57,6 +57,9 @@ + + + Index: ssts-web/src/main/webapp/jasperRtp/foreignTousseApplicationDetailedReport_child_child.jasper =================================================================== diff -u -r32706 -r32738 Binary files differ Index: ssts-web/src/main/webapp/jasperRtp/foreignTousseApplicationSummaryReport_child.jasper =================================================================== diff -u -r32706 -r32738 Binary files differ Index: ssts-web/src/main/webapp/jasperRtp/foreignTousseApplicationDetailedReport.jasper =================================================================== diff -u -r32706 -r32738 Binary files differ Index: ssts-web/src/main/webapp/jasperRtp/foreignTousseApplicationSummaryReport_child_child.jrxml =================================================================== diff -u -r32706 -r32738 --- ssts-web/src/main/webapp/jasperRtp/foreignTousseApplicationSummaryReport_child_child.jrxml (.../foreignTousseApplicationSummaryReport_child_child.jrxml) (revision 32706) +++ ssts-web/src/main/webapp/jasperRtp/foreignTousseApplicationSummaryReport_child_child.jrxml (.../foreignTousseApplicationSummaryReport_child_child_child.jrxml) (revision 32738) @@ -1,11 +1,8 @@ - + - - - @@ -24,7 +21,7 @@ - + @@ -33,26 +30,12 @@ - - - - - - - - - - - - - - - + @@ -66,7 +49,7 @@ - + @@ -80,7 +63,7 @@ - + Index: ssts-web/src/main/webapp/jasperRtp/foreignTousseApplicationSummaryReport_child_child.jrxml =================================================================== diff -u -r32706 -r32738 --- ssts-web/src/main/webapp/jasperRtp/foreignTousseApplicationSummaryReport_child_child.jrxml (.../foreignTousseApplicationSummaryReport_child_child.jrxml) (revision 32706) +++ ssts-web/src/main/webapp/jasperRtp/foreignTousseApplicationSummaryReport_child_child.jrxml (.../foreignTousseApplicationSummaryReport_child_child.jrxml) (revision 32738) @@ -1,98 +1,65 @@ - + - - + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/ForeignTousseAppSumVO.java =================================================================== diff -u -r32706 -r32738 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/ForeignTousseAppSumVO.java (.../ForeignTousseAppSumVO.java) (revision 32706) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/ForeignTousseAppSumVO.java (.../ForeignTousseAppSumVO.java) (revision 32738) @@ -1,10 +1,6 @@ package com.forgon.disinfectsystem.jasperreports.javabeansource; public class ForeignTousseAppSumVO { /** - * 规格 - */ - private String specification; - /** * 单位 */ private String company = "个"; @@ -21,18 +17,11 @@ */ private Double totalPrice; public ForeignTousseAppSumVO(){} - public ForeignTousseAppSumVO(String specification, Double unitPrice, Integer amount, Double totalPrice){ - this.specification = specification; + public ForeignTousseAppSumVO(Double unitPrice, Integer amount, Double totalPrice){ this.unitPrice = unitPrice; this.amount = amount; this.totalPrice = totalPrice; } - public String getSpecification() { - return specification; - } - public void setSpecification(String specification) { - this.specification = specification; - } public String getCompany() { return company; } Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r32728 -r32738 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 32728) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 32738) @@ -23427,9 +23427,10 @@ if(amount == 0){ continue; } - ForeignTousseAppSumVO foreignTousseAppSumVO = new ForeignTousseAppSumVO(rs.getString("specification"), rs.getDouble("price"), amount, rs.getDouble("totalPrice")); + ForeignTousseAppSumVO foreignTousseAppSumVO = new ForeignTousseAppSumVO(rs.getDouble("price"), amount, rs.getDouble("totalPrice")); String firstColumnName = rs.getString("supplierName"); String secondColumnName = rs.getString("foreignTousseChargeModeName"); + String thirdColumnName =rs.getString("specification"); ForeignTousseAppSumVO vo = new ForeignTousseAppSumVO(); if(StringUtils.isBlank(firstColumnName)){ firstColumnName = null; @@ -23438,8 +23439,11 @@ secondColumnName = null; } FirstColumnVo firstColumnVo = null; + SecondColumnVo secondColumnVo = null; + ThirdColumnVo thirdColumnVo = null; List secondColumnVos = null; - List secondColumnDetaileds = null; + List thirdColumnVos = null; + List foreignTousseAppDetailedVOs = null; if(firstColumnVoMap.containsKey(firstColumnName)){ firstColumnVo = firstColumnVoMap.get(firstColumnName); secondColumnVos = firstColumnVo.getFirstColumnDetaileds(); @@ -23452,28 +23456,41 @@ firstColumnVoMap.put(firstColumnName, firstColumnVo); firstColumnVos.add(firstColumnVo); } - firstColumnVo.setFirstColumnTotalAmount(MathTools.add(foreignTousseAppSumVO.getAmount(), firstColumnVo.getFirstColumnTotalAmount()).intValue()); - firstColumnVo.setFirstColumnTotalPrice(MathTools.add(foreignTousseAppSumVO.getTotalPrice(), firstColumnVo.getFirstColumnTotalPrice()).doubleValue()); - SecondColumnVo secondColumnVo = null; - for (SecondColumnVo findSecondColumnVo : secondColumnVos) { - if(StringUtils.equals(findSecondColumnVo.getSecondColumnName(), secondColumnName)){ - if(findSecondColumnVo.getSecondColumnDetaileds() == null){ - secondColumnDetaileds = new ArrayList(); + if(!CollectionUtils.isEmpty(secondColumnVos)){ + for (SecondColumnVo findSecondColumnVo : secondColumnVos) { + if(StringUtils.equals(findSecondColumnVo.getSecondColumnName(), secondColumnName)){ + secondColumnVo = findSecondColumnVo; + break; } - secondColumnDetaileds = findSecondColumnVo.getSecondColumnDetaileds(); - secondColumnDetaileds.add(foreignTousseAppSumVO); - secondColumnVo = findSecondColumnVo; - break; } } if(secondColumnVo == null){ secondColumnVo = new SecondColumnVo(); secondColumnVo.setSecondColumnName(secondColumnName); - secondColumnDetaileds = new ArrayList(); - secondColumnDetaileds.add(foreignTousseAppSumVO); - secondColumnVo.setSecondColumnDetaileds(secondColumnDetaileds); secondColumnVos.add(secondColumnVo); + thirdColumnVos = new ArrayList(); + secondColumnVo.setSecondColumnDetaileds(thirdColumnVos); + }else{ + thirdColumnVos = secondColumnVo.getSecondColumnDetaileds(); } + if(!CollectionUtils.isEmpty(thirdColumnVos)){ + for (ThirdColumnVo findThirdColumnVo : thirdColumnVos) { + if(StringUtils.equals(findThirdColumnVo.getThirdColumnName(), thirdColumnName)){ + thirdColumnVo = findThirdColumnVo; + break; + } + } + } + if(thirdColumnVo == null){ + thirdColumnVo = new ThirdColumnVo(); + thirdColumnVo.setThirdColumnName(thirdColumnName); + thirdColumnVos.add(thirdColumnVo); + foreignTousseAppDetailedVOs = new ArrayList(); + thirdColumnVo.setSthirdColumnDetaileds(foreignTousseAppDetailedVOs); + } + thirdColumnVo.getSthirdColumnDetaileds().add(foreignTousseAppSumVO); + firstColumnVo.setFirstColumnTotalAmount(MathTools.add(foreignTousseAppSumVO.getAmount(), firstColumnVo.getFirstColumnTotalAmount()).intValue()); + firstColumnVo.setFirstColumnTotalPrice(MathTools.add(foreignTousseAppSumVO.getTotalPrice(), firstColumnVo.getFirstColumnTotalPrice()).doubleValue()); } } catch (SQLException e) { e.printStackTrace(); @@ -23498,15 +23515,15 @@ if (StringUtils.isNotBlank(startDay)) { startDay += ":00"; } - String sql = "select cs.supplierName \"supplierName\",csmi.foreignTousseChargeModeName \"foreignTousseChargeModeName\",case when csmi.chargeMode='" + String sql = "select tempt.supplierName,tempt.foreignTousseChargeModeName,tempt.specification,sum(price) price,sum(amount) amount,sum(totalPrice) totalPrice from (select cs.supplierName,csmi.foreignTousseChargeModeName,case when csmi.chargeMode='" + ForeignTousseChargeMode.MODE_RATE - + "' then cssi.foreignTousseSpecName else null end \"specification\",case when csmi.chargeMode='" + + "' then cssi.foreignTousseSpecName else null end specification,case when csmi.chargeMode='" + ForeignTousseChargeMode.MODE_RATE - + "' then cssi.price else csmi.fixedPrice end \"price\",case when csmi.chargeMode='" + + "' then cssi.price else csmi.fixedPrice end price,case when csmi.chargeMode='" + ForeignTousseChargeMode.MODE_RATE - + "' then cssi.amount else csmi.fixedAmount end \"amount\",case when csmi.chargeMode='" + + "' then cssi.amount else csmi.fixedAmount end amount,case when csmi.chargeMode='" + ForeignTousseChargeMode.MODE_RATE - + "' then cssi.totalPrice else csmi.fixedTotalPrice end \"totalPrice\" from " + + "' then cssi.totalPrice else csmi.fixedTotalPrice end totalPrice from " + ChargeSetting.class.getSimpleName() + " cs join " + InvoicePlan.class.getSimpleName() @@ -23533,7 +23550,7 @@ if(DatabaseUtil.isPoIdValid(specificationId)){ sql += " and cssi.foreignTousseSpecID ='" + specificationId + "' "; } - sql += " order by cs.supplierName"; + sql += " ) tempt group by tempt.supplierName,tempt.foreignTousseChargeModeName,tempt.specification order by tempt.supplierName, tempt.foreignTousseChargeModeName,tempt.specification "; return sql; } @Override @@ -23555,7 +23572,7 @@ String firstColumnName = rs.getString("supplierName"); String secondColumnName = rs.getString("name"); String thirdColumnName =rs.getString("foreignTousseChargeModeName"); - ForeignTousseAppSumVO vo = new ForeignTousseAppSumVO(); + //ForeignTousseAppSumVO vo = new ForeignTousseAppSumVO(); if(StringUtils.isBlank(firstColumnName)){ firstColumnName = null; } Index: ssts-web/src/main/webapp/jasperRtp/foreignTousseApplicationDetailedReport_child_child.jrxml =================================================================== diff -u -r32706 -r32738 --- ssts-web/src/main/webapp/jasperRtp/foreignTousseApplicationDetailedReport_child_child.jrxml (.../foreignTousseApplicationDetailedReport_child_child.jrxml) (revision 32706) +++ ssts-web/src/main/webapp/jasperRtp/foreignTousseApplicationDetailedReport_child_child.jrxml (.../foreignTousseApplicationDetailedReport_child_child.jrxml) (revision 32738) @@ -43,8 +43,8 @@ - - + + @@ -60,7 +60,7 @@ - +