Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java =================================================================== diff -u -r41093 -r41156 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 41093) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 41156) @@ -2281,9 +2281,10 @@ String departCoding = StrutsParamUtils.getPraramValue("departCoding", ""); String tousseTypes = StrutsParamUtils.getPraramValue("tousseTypes", ""); String departs = StrutsParamUtils.getPraramValue("departs", ""); + String instrumentSetTypeIds = StrutsParamUtils.getPraramValue("instrumentSetTypeIds", ""); String urgentTotalMsg = "";//加急物品物品总计信息 if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) { - List firstColumnVos = urgentNeedGoodsProcessingCycleHelper.getUrgentNeedGoodsProcessingCycleData(startTime, endTime, tousseName, departCoding, tousseTypes,departs); + List firstColumnVos = urgentNeedGoodsProcessingCycleHelper.getUrgentNeedGoodsProcessingCycleData(startTime, endTime, tousseName, departCoding, tousseTypes,departs, instrumentSetTypeIds); if(CollectionUtils.isNotEmpty(firstColumnVos)){//统计加急物品物品 Map urgentLevelToUrgentAmountMap = new HashMap(); Integer totalUrgentAmount = 0; Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/UrgentNeedGoodsProcessingCycleHelper.java =================================================================== diff -u -r41153 -r41156 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/UrgentNeedGoodsProcessingCycleHelper.java (.../UrgentNeedGoodsProcessingCycleHelper.java) (revision 41153) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/UrgentNeedGoodsProcessingCycleHelper.java (.../UrgentNeedGoodsProcessingCycleHelper.java) (revision 41156) @@ -41,7 +41,6 @@ import com.forgon.disinfectsystem.jasperreports.javabeansource.UrgentNeedGoodsProcessingCycle; import com.forgon.disinfectsystem.jasperreports.service.dataindex.DataIndex; import com.forgon.tools.MathTools; -import com.forgon.tools.StrutsParamUtils; import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.db.InitDbConnection; import com.forgon.tools.hibernate.ObjectDao; @@ -72,10 +71,11 @@ * @param departCoding 供应室编码 * @param tousseTypes 器械包类型 ,分隔 全部则不过滤 * @param departs 申请科室 + * @param instrumentSetTypeIds 器械包种类 * @return */ public List getUrgentNeedGoodsProcessingCycleData( - String startTime, String endTime, String tousseName, String departCoding, String tousseTypes, String departs) { + String startTime, String endTime, String tousseName, String departCoding, String tousseTypes, String departs, String instrumentSetTypeIds) { List firstColumnVos = new ArrayList(); Map firstColumnVoMap = new HashMap(); if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) { @@ -117,7 +117,7 @@ boolean querySteTransitionTime = queryIntervalBetweenPackingAndTransition || queryIntervalBetweenTransitionAndSterilization?true:false; //支持的选项为:0,1 1 总时长 = 签收时间 – 回收时间;0 总时长 = 发货时间 – 回收时间; int calculationStandardOfUrgentTotalProcessingTime = CssdUtils.getSystemSetConfigByNameInt("calculationStandardOfUrgentTotalProcessingTime", 0); - String sql = getUrgentNeedGoodsProcessingCycleDataSql(tousseName, startTime, endTime, tousseTypes, departCoding, departs,queryWashStartTime,querySteTransitionTime, queryWashTime); + String sql = getUrgentNeedGoodsProcessingCycleDataSql(tousseName, startTime, endTime, tousseTypes, departCoding, departs,queryWashStartTime,querySteTransitionTime, queryWashTime, instrumentSetTypeIds); ResultSet result = null; try { result = objectDao.executeSql(sql); @@ -326,14 +326,14 @@ * @param departs 申请科室 * @param queryWashStartTime 查询清洗开始时间 * @param querySteTransitionTime 查询灭菌交接时间 + * @param instrumentSetTypeIds 种类 * @return */ private String getUrgentNeedGoodsProcessingCycleDataSql(String tousseName, String startTime, String endTime, String tousseTypes, String departCoding, String departs - , boolean queryWashStartTime, boolean querySteTransitionTime, boolean queryWashTime){ - String instrumentSetTypes = StrutsParamUtils.getPraramValue("instrumentSetTypeIds", null); + , boolean queryWashStartTime, boolean querySteTransitionTime, boolean queryWashTime, String instrumentSetTypeIds){ String instrumentSetTypesSql = null; - if(StringUtils.isNotBlank(instrumentSetTypes)){ - instrumentSetTypesSql = reportSqlUtil.getInstrumentSetTypeSql(SqlUtils.splitStringToSet(instrumentSetTypes, ";",false)); + if(StringUtils.isNotBlank(instrumentSetTypeIds)){ + instrumentSetTypesSql = reportSqlUtil.getInstrumentSetTypeSql(SqlUtils.splitStringToSet(instrumentSetTypeIds, ";",false)); }else{ instrumentSetTypesSql = ""; } Index: ssts-web/src/test/java/test/forgon/disinfectsystem/reports/TestReportStatement.java =================================================================== diff -u --- ssts-web/src/test/java/test/forgon/disinfectsystem/reports/TestReportStatement.java (revision 0) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/reports/TestReportStatement.java (revision 41156) @@ -0,0 +1,47 @@ +package test.forgon.disinfectsystem.reports; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + +import java.sql.SQLException; +import java.text.ParseException; +import java.util.List; + +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; + +import com.forgon.disinfectsystem.jasperreports.javabeansource.FirstColumnVo; +import com.forgon.disinfectsystem.jasperreports.util.UrgentNeedGoodsProcessingCycleHelper; + +import test.forgon.disinfectsystem.AbstractCSSDTest; + +/** + * 验证语句执行是否会报错 + * 如果查询报错会不通过 并 提示 org.hibernate.exception.SQLGrammarException: error executing work + */ +public class TestReportStatement extends AbstractCSSDTest { + @Autowired + private UrgentNeedGoodsProcessingCycleHelper urgentNeedGoodsProcessingCycleHelper; + + /** + * 验证语句执行是否会报错 + * 如果查询报错会不通过 并 提示 org.hibernate.exception.SQLGrammarException: error executing work + * @throws SQLException + * @throws ParseException + */ + @Test + public void testGetUrgentNeedGoodsProcessingCycleData() throws SQLException, ParseException { + String startTime = "2025-01-01"; + String endTime = "2025-02-01"; + String tousseName = ""; + String departCoding = ""; + String tousseTypes = ""; + String departs = ""; + String instrumentSetTypeIds = ""; + List vos = urgentNeedGoodsProcessingCycleHelper.getUrgentNeedGoodsProcessingCycleData( + startTime, endTime, tousseName, departCoding, tousseTypes, departs, instrumentSetTypeIds); + + assertNotNull(vos); + assertEquals(0, vos.size()); + } +}