Index: ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.js =================================================================== diff -u -r14940 -r15063 --- ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.js (.../tousseInstanceView.js) (revision 14940) +++ ssts-web/src/main/webapp/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.js (.../tousseInstanceView.js) (revision 15063) @@ -377,7 +377,7 @@ var frequency = $Id('frequency').value; var tousseName = $Id('tousseName').value; location.href = WWWROOT - + "/disinfectsystem/toussemanager/tousseinstancemanager/exportQueryTousse.jsp?barcode=" + + "/disinfectSystem/baseData/tousseDefinitionAction!exportTousseInstanceInfo.do?barcode=" + barcodeSearch + "&sterilizationDate=" + sterilizationDate + "&sterilizationEndDate=" Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java =================================================================== diff -u -r15049 -r15063 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java (.../TousseDefinitionAction.java) (revision 15049) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java (.../TousseDefinitionAction.java) (revision 15063) @@ -17,6 +17,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @@ -29,12 +30,15 @@ import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; +import com.forgon.databaseadapter.service.DateQueryAdapter; import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.directory.model.CssdHandleTousses; import com.forgon.directory.model.OrgUnit; @@ -49,6 +53,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; import com.forgon.disinfectsystem.entity.basedatamanager.taskGroup.TaskGroup; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; +import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; import com.forgon.disinfectsystem.tousse.imagefilemanager.service.ImageFileManager; import com.forgon.disinfectsystem.tousse.materialdefinition.service.MaterialDefinitionManager; @@ -60,6 +65,7 @@ import com.forgon.log.service.LogManager; import com.forgon.tools.FileSystemHelper; import com.forgon.tools.ImageUtils; +import com.forgon.tools.Path; import com.forgon.tools.SpringBeanManger; import com.forgon.tools.StrutsParamUtils; import com.forgon.tools.StrutsResponseUtils; @@ -104,6 +110,12 @@ private TousseInstanceManager tousseInstanceManager; + private DateQueryAdapter dateQueryAdapter; + + public void setDateQueryAdapter(DateQueryAdapter dateQueryAdapter) { + this.dateQueryAdapter = dateQueryAdapter; + } + public void setTousseInstanceManager(TousseInstanceManager tousseInstanceManager) { this.tousseInstanceManager = tousseInstanceManager; } @@ -1795,5 +1807,72 @@ e.printStackTrace(); } } + + @SuppressWarnings("unchecked") + public void exportTousseInstanceInfo() { + HttpServletResponse response = StrutsParamUtils.getResponse(); + try{ + String fileName= "器械包查询.xls"; + ServletOutputStream servletOutputStream = response.getOutputStream(); + response.setContentType("application/octet-stream"); + response.addHeader("Content-Disposition","attachment;filename=" + new String(fileName.getBytes("GBK"), "ISO8859_1")); + + String barcode = StrutsParamUtils.getPraramValue("barcode",""); + String tousseName = StrutsParamUtils.getPraramValue("tousseName",""); + String sterilizationStartDate = StrutsParamUtils.getPraramValue("sterilizationDate",""); + String sterilizationEndDate = StrutsParamUtils.getPraramValue("sterilizationEndDate",""); + String sterilizerName = StrutsParamUtils.getPraramValue("sterilizerName",""); + String frequency = StrutsParamUtils.getPraramValue("frequency",""); + String sql = ""; + boolean selectAll = true; + if (StringUtils.isNotBlank(sterilizationStartDate) + || StringUtils.isNotBlank(sterilizationEndDate) + || StringUtils.isNotBlank(sterilizerName) + || StringUtils.isNotBlank(frequency) + || StringUtils.isNotBlank(tousseName) + || StringUtils.isNotBlank(barcode)) { + selectAll = false; + } + if (StringUtils.isNotBlank(sterilizationStartDate)) { + sql += " and " + dateQueryAdapter.stringFieldToDate("po.sterileEndTime") + + " >= " + dateQueryAdapter.dateAdapter(sterilizationStartDate + + " 00:00:00"); + } + + if (StringUtils.isNotBlank(sterilizationEndDate)) { + sql += " and " + dateQueryAdapter.stringFieldToDate("po.sterileEndTime") + + " <= " +dateQueryAdapter.dateAdapter(sterilizationEndDate + + " 23:59:59"); + } + if (StringUtils.isNotBlank(sterilizerName)) { + sql += " and po.sterilizerName = '" + sterilizerName + "'"; + } + if (StringUtils.isNotBlank(frequency)) { + sql += " and po.sterileFrequency = '" + frequency + "'"; + } + if (StringUtils.isNotBlank(tousseName)) { + sql += " and po.tousseName = '" + tousseName + "'"; + } + if (StringUtils.isNotBlank(barcode)) { + sql = " and po.barcode = '" + barcode + "'"; + } + + String listSql = "select po from " + + TousseInstance.class.getSimpleName() + + " po where 1=1 " + + sql + " order by po.operationTime desc "; + + tousseInstanceManager.exportQueryTousseInstance(listSql,selectAll,response.getOutputStream()); + servletOutputStream.flush(); + }catch(Exception e){ + e.printStackTrace(); + }finally { + try { + response.getOutputStream().close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } }