Index: ssts-web/src/main/java/com/forgon/disinfectsystem/recall/service/RecallRecordManager.java =================================================================== diff -u -r16957 -r17773 --- ssts-web/src/main/java/com/forgon/disinfectsystem/recall/service/RecallRecordManager.java (.../RecallRecordManager.java) (revision 16957) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/recall/service/RecallRecordManager.java (.../RecallRecordManager.java) (revision 17773) @@ -36,6 +36,16 @@ */ public List getRecallRecordItemByBarcodes(String waitRecallBarcodes); + /** + * 根据灭菌炉名称、开始与结束时间、开始与结束炉次等条件搜索符合条件的包实例 + * 状态为已使用、已废弃等也会被搜索但保存时不会对应到召回明细且状态也不会更改,而待召回与已召回的将不会搜到 + * @param sterileName 灭菌炉名称 + * @param startDate 开始时间 + * @param endDate 结束时间 + * @param sterilizingFrequency_end 结束炉次 + * @param sterilizingFrequency_start 开始炉次 + * @return + */ public List searchToussesForRecall(String sterileName, String startDate, String endDate, String sterilizingFrequency_end, String sterilizingFrequency_start); Index: ssts-web/src/main/java/com/forgon/disinfectsystem/recall/action/RecallRecordAction.java =================================================================== diff -u -r16964 -r17773 --- ssts-web/src/main/java/com/forgon/disinfectsystem/recall/action/RecallRecordAction.java (.../RecallRecordAction.java) (revision 16964) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/recall/action/RecallRecordAction.java (.../RecallRecordAction.java) (revision 17773) @@ -320,13 +320,14 @@ } /** - * 导出待召回的记录 + * 导出待召回的记录(如果召回记录id不为空时,则搜索该记录对应的包实例信息,否则按灭菌炉、时间、炉次等条件搜索) * 请求参数如下: + * recallRecordId 召回记录id * sterilizerName 灭菌炉 - * startDate - * endDate - * sterilizingFrequency_start - * sterilizingFrequency_end + * startDate 开始时间 + * endDate 结束时间 + * sterilizingFrequency_start 开始炉次 + * sterilizingFrequency_end 结束炉次 */ public void exportWaitRecallTousseInstanceInfo() { HttpServletResponse response = StrutsParamUtils.getResponse(); @@ -338,16 +339,22 @@ response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes(Constants.CHARSET_GBK), Constants.CHARSET_ISO)); + String recallRecordId = StrutsParamUtils.getPraramValue("recallRecordId", ""); String sterilizerName = StrutsParamUtils.getPraramValue("sterilizerName", ""); String sterilizationStartDate = StrutsParamUtils.getPraramValue("startDate", ""); String sterilizationEndDate = StrutsParamUtils.getPraramValue("endDate", ""); String sterilizingFrequency_start = StrutsParamUtils.getPraramValue( "sterilizingFrequency_start", ""); String sterilizingFrequency_end = StrutsParamUtils.getPraramValue("sterilizingFrequency_end", ""); - List tousseInstanceList = recallRecordManager.searchToussesForRecall( + List tousseInstanceList = null; + if(!DatabaseUtil.isPoIdValid(recallRecordId)){ + tousseInstanceList = recallRecordManager.searchToussesForRecall( sterilizerName, sterilizationStartDate, sterilizationEndDate, sterilizingFrequency_end, sterilizingFrequency_start); + }else{ + tousseInstanceList = recallRecordManager.getRecallToussesByRecallRecordId(recallRecordId); + } createExportFileByJxl(servletOutputStream , tousseInstanceList , sterilizerName, sterilizationStartDate, sterilizationEndDate, sterilizingFrequency_end, sterilizingFrequency_start); Index: ssts-web/src/main/webapp/disinfectsystem/recallRecord/recallRecordView.js =================================================================== diff -u -r16675 -r17773 --- ssts-web/src/main/webapp/disinfectsystem/recallRecord/recallRecordView.js (.../recallRecordView.js) (revision 16675) +++ ssts-web/src/main/webapp/disinfectsystem/recallRecord/recallRecordView.js (.../recallRecordView.js) (revision 17773) @@ -195,12 +195,18 @@ var sterilizingFrequency_start = top.Ext.getCmp('sterilizingFrequency_start').getValue(); var sterilizingFrequency_end = top.Ext.getCmp('sterilizingFrequency_end').getValue(); //var waitRecallBarcodes = getWaitRecallBarcodes();//由于get请求的内容长度有限,所以不通过url传输 - location.href = WWWROOT - + "/disinfectSystem/recallRecordAction!exportWaitRecallTousseInstanceInfo.do?sterilizerName=" + sterilizerName - + "&startDate=" + startDate - + "&endDate=" + endDate - + "&sterilizingFrequency_start=" + sterilizingFrequency_start - + "&sterilizingFrequency_end=" + sterilizingFrequency_end; + + var exportUrl = WWWROOT + "/disinfectSystem/recallRecordAction!exportWaitRecallTousseInstanceInfo.do"; + if(id){ + exportUrl += "?recallRecordId=" + id; + }else{ + exportUrl += "?sterilizerName=" + sterilizerName + + "&startDate=" + startDate + + "&endDate=" + endDate + + "&sterilizingFrequency_start=" + sterilizingFrequency_start + + "&sterilizingFrequency_end=" + sterilizingFrequency_end; + } + location.href = exportUrl; } }] }); @@ -648,7 +654,7 @@ Ext.onReady(function() { Ext.QuickTips.init(); var columns = [ - {header : "序号",width : 100,dataIndex : 'id',renderer:renderCallModifyFunction}, + /*{header : "序号",width : 100,dataIndex : 'id',renderer:renderCallModifyFunction},*/ {header : "物品类型",width : 100,dataIndex : 'type',renderer:renderCallModifyFunction}, {header : "状态",width : 100,dataIndex : 'status', renderer : renderColor}, {header : "发布日期",width : 120,dataIndex : 'publishDate', renderer : myDateFormatByMinute},