Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java =================================================================== diff -u -r37682 -r37768 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 37682) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 37768) @@ -73,6 +73,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse; +import com.forgon.disinfectsystem.entity.invoicemanager.InvoiceDepartment; import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; import com.forgon.disinfectsystem.entity.materialerrordamage.MaterialErrorDamageDetail; import com.forgon.disinfectsystem.entity.qualitymonitoringmanager.qualitymonitoringconfig.QualityMonitoringDefinition; @@ -4067,6 +4068,29 @@ String startDay = StrutsParamUtils.getPraramValue("startDay", ""); String endDay = StrutsParamUtils.getPraramValue("endDay", ""); String departCoding = StrutsParamUtils.getPraramValue("departCoding", ""); + Set settleAccountsDepartCodingSet = SqlUtils.splitStringToSet(StrutsParamUtils.getPraramValue("settleAccountsDepartCoding", ""), ","); + Set tousseTypeSet = SqlUtils.splitStringToSet(StrutsParamUtils.getPraramValue("tousseType", ""), ","); + String departGroupStr = StrutsParamUtils.getPraramValue( + "departGroup", null); + Set departCodingSet = null; + if(StringUtils.isNotBlank(departGroupStr)){ + departCodingSet = new HashSet(); + Set departGroupIds = null; + if(departGroupStr.contains(",")){ + departGroupIds = SqlUtils.splitStringToSet(departGroupStr, ","); + }else{ + departGroupIds = new HashSet(); + departGroupIds.add(departGroupStr); + } + List invoiceDepartments = objectDao.findByHql("select po from " + InvoiceDepartment.class.getSimpleName() + " po where " + SqlUtils.getNonStringFieldInLargeCollectionsPredicate("po.id", departGroupIds)); + for (InvoiceDepartment invoiceDepartment : invoiceDepartments) { + if("全部".equals(invoiceDepartment)){ + break; + } + Set thisDepartCodings = SqlUtils.splitStringToSet(invoiceDepartment.getDepartCodes(), ";"); + departCodingSet.addAll(thisDepartCodings); + } + } String title = "器械包发货统计报表"; if (StringUtils.isNotBlank(startDay) && StringUtils.isNotBlank(endDay)) { title += "(" + startDay + "至" + endDay + ")"; @@ -4083,6 +4107,9 @@ map.put("querySql", " and i.sendTime between " + dateQueryAdapter.dateAdapter(startDay +" 00:00:00") + " and " + dateQueryAdapter.dateAdapter(endDay) + + SqlUtils.getInStringListSql("i.settleAccountsDepartCoding", departCodingSet) + + SqlUtils.getInStringListSql("i.settleAccountsDepartCoding", settleAccountsDepartCodingSet) + + SqlUtils.getInStringListSql("td.tousseType", tousseTypeSet) + SqlUtils.get_InSql_Extra("i.orgUnitCoding", departCoding)); GoodsOption option = goodsOptionManager.getGoodsOption(GoodsOption.MODEL_TOUSSEDELIVER, departCoding); Index: ssts-web/src/main/webapp/jasperRtp/tousseDeliverStatistics.jrxml =================================================================== diff -u -r28075 -r37768 --- ssts-web/src/main/webapp/jasperRtp/tousseDeliverStatistics.jrxml (.../tousseDeliverStatistics.jrxml) (revision 28075) +++ ssts-web/src/main/webapp/jasperRtp/tousseDeliverStatistics.jrxml (.../tousseDeliverStatistics.jrxml) (revision 37768) @@ -38,6 +38,7 @@