Index: ssts-web/src/main/webapp/jasperRtp/tousseSpecificationSizeStatistics_child.jasper =================================================================== diff -u -r19036 -r30406 Binary files differ Index: ssts-web/src/main/webapp/jasperRtp/tousseSpecificationSizeStatistics.jasper =================================================================== diff -u -r19040 -r30406 Binary files differ Index: ssts-web/src/main/webapp/jasperRtp/tousseSpecificationSizeStatistics_child.jrxml =================================================================== diff -u -r19036 -r30406 --- ssts-web/src/main/webapp/jasperRtp/tousseSpecificationSizeStatistics_child.jrxml (.../tousseSpecificationSizeStatistics_child.jrxml) (revision 19036) +++ ssts-web/src/main/webapp/jasperRtp/tousseSpecificationSizeStatistics_child.jrxml (.../tousseSpecificationSizeStatistics_child.jrxml) (revision 30406) @@ -9,6 +9,9 @@ + + + Index: ssts-web/src/main/webapp/jasperRtp/tousseSpecificationSizeStatistics.jrxml =================================================================== diff -u -r19040 -r30406 --- ssts-web/src/main/webapp/jasperRtp/tousseSpecificationSizeStatistics.jrxml (.../tousseSpecificationSizeStatistics.jrxml) (revision 19040) +++ ssts-web/src/main/webapp/jasperRtp/tousseSpecificationSizeStatistics.jrxml (.../tousseSpecificationSizeStatistics.jrxml) (revision 30406) @@ -15,6 +15,9 @@ + + + @@ -94,8 +97,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r30316 -r30406 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 30316) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 30406) @@ -119,6 +119,7 @@ import com.forgon.disinfectsystem.entity.invoicemanager.InvoiceItem; import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; import com.forgon.disinfectsystem.entity.invoicemanager.MaterialInvoice; +import com.forgon.disinfectsystem.entity.invoicemanager.MaterialInvoiceItem; import com.forgon.disinfectsystem.entity.invoicemanager.MaterialItem; import com.forgon.disinfectsystem.entity.materialerrordamage.MaterialErrorDamageDetail; import com.forgon.disinfectsystem.entity.materialmanager.MaterialEntry; @@ -8414,7 +8415,49 @@ }finally { DatabaseUtil.closeResultSetAndStatement(rs2); } - } + } + //材料发货,也计算到发货数量的包数和件数上 CDSLQYQYYY-84 + if ((StringUtils.isBlank(tousseTypes) || "材料".equals(tousseTypes) || tousseTypes.contains("材料")) && StringUtils.isBlank(taskGroup) && + (StringUtils.isBlank(packageSizes) || packageSizes.indexOf("全部") != -1)) { + StringBuilder sbr = new StringBuilder(); + sbr.append("select sum(ii.amount) amount,sender from ") + .append(MaterialInvoiceItem.class.getSimpleName()) + .append(" ii inner join ") + .append(MaterialInvoice.class.getSimpleName()) + .append(" i on i.id = ii.materialInvoice_id ") + .append("inner join ") + .append(MaterialDefinition.class.getSimpleName()) + .append(" d on ii.materialDefinitionId = d.id where i.sendtime ") + .append(params.betweenSql) + .append(SqlUtils.get_InSql_Extra("i.orgUnitCoding", params.querySupplyRoom)) + .append("group by sender"); + ResultSet materialInvoice = null; + try { + materialInvoice = objectDao.executeSql(sbr.toString()); + while (materialInvoice.next()) { + String sender = materialInvoice.getString("sender"); + int amount = materialInvoice.getInt("amount"); + StatisticalWorkload workLoadBean = new StatisticalWorkload(); + workLoadBean.setOperator(sender); + workLoadBean.setAmount(amount); + workLoadBean.setColumnName("发货数量"); + workLoadBean.setSequence(sequenceMap.get("发货数量")); + workLoadBean.setMaterialAmount(amount); + if (scoreConfigMap.size() > 0) { + Integer scoreConfig = scoreConfigMap.get("发货数量"); + if(scoreConfig != null && scoreConfig > 0){ + //评分数小数点后面舍去(3 / 2 = 1分) + workLoadBean.setScore(amount/scoreConfig); + } + } + list.add(workLoadBean); + } + } catch (Exception e) { + e.printStackTrace(); + } finally{ + DatabaseUtil.closeResultSetAndStatement(materialInvoice); + } + } } return list; @@ -18985,6 +19028,20 @@ sql1 = "select packageSize,sum(amount) amount from (" + sql1 + " union all " + returnSql + " and td.tousseType='"+ TousseDefinition.PACKAGE_TYPE_DISINFECTION +"'" + groupBySql + ")tempTable group by packageSize "; logger.debug("消毒物品" + sql1); setTousseSpecificationSizeStatisticsBean(list, sql1, "消毒物品"); + //材料发货,也计算到发货数量的包数和件数上 CDSLQYQYYY-84 + StringBuilder sbr = new StringBuilder(); + sbr.append("select '材料' packageSize,sum(ii.amount) amount from ") + .append(MaterialInvoiceItem.class.getSimpleName()) + .append(" ii inner join ") + .append(MaterialInvoice.class.getSimpleName()) + .append(" i on i.id = ii.materialInvoice_id ") + .append("inner join ") + .append(MaterialDefinition.class.getSimpleName()) + .append(" d on ii.materialDefinitionId = d.id where 1=1 ") + .append(betweenSql) + .append(SqlUtils.get_InSql_Extra("i.orgUnitCoding",departmentCode)); + logger.debug("材料发货" + sbr.toString()); + setTousseSpecificationSizeStatisticsBean(list, sbr.toString(), "材料"); } return list; }