Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/InstrumentRepairReportHelper.java =================================================================== diff -u -r38737 -r41556 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/InstrumentRepairReportHelper.java (.../InstrumentRepairReportHelper.java) (revision 38737) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/InstrumentRepairReportHelper.java (.../InstrumentRepairReportHelper.java) (revision 41556) @@ -10,10 +10,10 @@ import java.util.Map; import org.apache.commons.lang.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import com.forgon.databaseadapter.service.DateQueryAdapter; +import com.forgon.Constants; +import com.forgon.disinfectsystem.common.CssdUtils; import com.forgon.disinfectsystem.entity.basedatamanager.instrumentrepair.InstrumentRepair; import com.forgon.disinfectsystem.entity.basedatamanager.instrumentrepair.InstrumentRepairGoods; import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; @@ -22,8 +22,6 @@ import com.forgon.disinfectsystem.jasperreports.javabeansource.InstrumentRepairVo; import com.forgon.tools.date.DateTools; import com.forgon.tools.db.DatabaseUtil; -import com.forgon.tools.db.InitDbConnection; -import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.util.SqlUtils; /** * 器械维修记录报表 @@ -48,7 +46,9 @@ ResultSet rs = null; List instrumentRepairVos = new ArrayList(); try { - String sql = getInstrumentRepairReportSql(requestParameters, startTime, endTime, repairStatus, registrantName, materialName, tousseName); + String instrumentRepairManagementVersion = CssdUtils.getSystemSetConfigByName("InstrumentRepairManagementVersion"); + boolean mode3 = "3".equals(instrumentRepairManagementVersion); + String sql = getInstrumentRepairReportSql(requestParameters, startTime, endTime, repairStatus, registrantName, materialName, tousseName, mode3); rs = objectDao.executeSql(sql); InstrumentRepairVo instrumentRepairVo = null; Map instrumentRepairVoMap = new HashMap(); @@ -75,6 +75,25 @@ if(returnHandoverDateTime != null){ instrumentRepairVo.setReturnHandoverDateTimeStr(sdf.format(returnHandoverDateTime)); } + if(mode3){ + Date repairDateTime = rs.getTimestamp("repairDateTime"); + Date discardDateTime = rs.getTimestamp("discardDateTime"); + String washHandNurseNameRs = rs.getString("washHandNurseName"); + String repairNurseNameRs = rs.getString("repairNurseName"); + String outHandoverUserNameRs = rs.getString("outHandoverUserName"); + String returnHandoverUserNameRs = rs.getString("returnHandoverUserName"); + instrumentRepairVo.setWashHandNurseName(washHandNurseNameRs); + instrumentRepairVo.setRepairNurseName(repairNurseNameRs); + instrumentRepairVo.setOutHandoverUserName(outHandoverUserNameRs); + instrumentRepairVo.setReturnHandoverUserName(returnHandoverUserNameRs); + if(repairDateTime != null){ + instrumentRepairVo.setRepairDateTimeStr(sdf.format(repairDateTime)); + } + if(discardDateTime != null){ + instrumentRepairVo.setDiscardDateTimeStr(sdf.format(discardDateTime)); + } + } + instrumentRepairVo.setRepairStatus(repairStatusRs); instrumentRepairVo.setRegistrantName(registrantNameRs); instrumentRepairVo.setRepairDesc(repairDesc); @@ -90,7 +109,12 @@ materialNameRs += "[" + specification + "]"; } goodsVo.setMaterialName(materialNameRs); - + if(mode3){ + goodsVo.setIdCardInstanceBarcode(rs.getString("idCardInstanceBarcode")); + goodsVo.setDeviceType(rs.getString("deviceType")); + goodsVo.setFaultLocation(rs.getString("faultLocation")); + goodsVo.setInstrumentBarcode(rs.getString("instrumentBarcode")); + } goodsVo.setTousseName(rs.getString("tousseName")); instrumentRepairVo.getInstrumentRepairGoodsVos().add(goodsVo); } @@ -110,10 +134,11 @@ * @param registrantName 登记人姓名 * @param materialName 材料名称 可能包含规格 * @param tousseName 包名称 + * @param mode3 InstrumentRepairManagementVersion 是否配置了3 * @return */ private String getInstrumentRepairReportSql(Map requestParameters, String startTime, String endTime, String repairStatus, String registrantName - ,String materialName, String tousseName){ + ,String materialName, String tousseName, Boolean mode3){ String materialNameSQL = null; if(StringUtils.isNotBlank(materialName)){ if(materialName.contains("[") && materialName.contains("]") && materialName.lastIndexOf("]") > materialName.indexOf("[")){ @@ -125,13 +150,27 @@ }else{ materialNameSQL = ""; } + String joinSql = null; + String queryNames = null; + if(mode3){ + joinSql = " left join HttpOption deviceTypeho on deviceTypeho.id=g.deviceTypeHttpOptionId " + + " left join HttpOption faultLocationho on faultLocationho.id=g.faultLocationHttpOptionId "; + queryNames = ",g.instrumentBarcode,g.idCardInstanceBarcode,i.returnHandoverUserName,i.outHandoverUserName,i.repairNurseName,i.washHandNurseName,i.discardDateTime,i.repairDateTime,deviceTypeho.optionText as deviceType,faultLocationho.optionText as faultLocation "; + }else{ + joinSql = StringUtils.EMPTY; + queryNames = StringUtils.EMPTY; + } + String instrumentBarcode = requestParameters.get("instrumentBarcode"); + String idCardInstanceBarcode = requestParameters.get("idCardInstanceBarcode"); + String deviceTypeHttpOptionId = requestParameters.get("deviceTypeHttpOptionId"); + String faultLocationHttpOptionId = requestParameters.get("faultLocationHttpOptionId"); return "select i.id,i.registerDateTime , i.repairStatus, i.registrantName " + ", i.outHandoverDateTime ,i.returnHandoverDateTime ,i.repairDesc ,i.remark " - + ",g.amount ,md.name materialDefinitionName ,td.name tousseName,md.specification from " + + ",g.amount ,md.name materialDefinitionName ,td.name tousseName,md.specification "+ queryNames + " from " + InstrumentRepair.class.getSimpleName() +" i join " + InstrumentRepairGoods.class.getSimpleName() - +" g on i.id=g.instrumentRepair_ID left join " + +" g on i.id=g.instrumentRepair_ID "+ joinSql +" left join " + TousseDefinition.class.getSimpleName() +" td on td.id=g.toussedefinitionId left join " + MaterialDefinition.class.getSimpleName() @@ -142,6 +181,10 @@ + materialNameSQL + SqlUtils.getWhereSqlByfilterFieldAndStringValue("i.reviewStatus", requestParameters.get("reviewStatus")) + SqlUtils.getWhereSqlByfilterFieldAndStringValue("td.name", tousseName) + + SqlUtils.getInLongListSql("g.faultLocationHttpOptionId", SqlUtils.splitLongToSet(faultLocationHttpOptionId, Constants.IDS_SEPARATOR, false)) + + SqlUtils.getInLongListSql("g.deviceTypeHttpOptionId", SqlUtils.splitLongToSet(deviceTypeHttpOptionId, Constants.IDS_SEPARATOR, false)) + + (StringUtils.isNotBlank(instrumentBarcode)?" and g.instrumentBarcode='"+ instrumentBarcode +"' ":StringUtils.EMPTY) + + (StringUtils.isNotBlank(idCardInstanceBarcode)?" and g.idCardInstanceBarcode='"+ idCardInstanceBarcode +"' ":StringUtils.EMPTY) + "order by i.registerDateTime desc,i.id desc,md.id desc "; } } Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/InstrumentRepairGoodsVo.java =================================================================== diff -u -r35517 -r41556 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/InstrumentRepairGoodsVo.java (.../InstrumentRepairGoodsVo.java) (revision 35517) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/InstrumentRepairGoodsVo.java (.../InstrumentRepairGoodsVo.java) (revision 41556) @@ -17,6 +17,23 @@ * 器械名称 包含规格 */ private String materialName; + /** + * 器械条码 + */ + private String instrumentBarcode; + /** + * 器械类型 + */ + private String deviceType; + /** + * 故障部位 + */ + private String faultLocation; + /** + * 标识牌条码 + */ + private String idCardInstanceBarcode; + public Integer getAmount() { return amount; } @@ -35,5 +52,29 @@ public void setMaterialName(String materialName) { this.materialName = materialName; } + public String getInstrumentBarcode() { + return instrumentBarcode; + } + public void setInstrumentBarcode(String instrumentBarcode) { + this.instrumentBarcode = instrumentBarcode; + } + public String getDeviceType() { + return deviceType; + } + public void setDeviceType(String deviceType) { + this.deviceType = deviceType; + } + public String getFaultLocation() { + return faultLocation; + } + public void setFaultLocation(String faultLocation) { + this.faultLocation = faultLocation; + } + public String getIdCardInstanceBarcode() { + return idCardInstanceBarcode; + } + public void setIdCardInstanceBarcode(String idCardInstanceBarcode) { + this.idCardInstanceBarcode = idCardInstanceBarcode; + } } Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/InstrumentRepairVo.java =================================================================== diff -u -r35517 -r41556 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/InstrumentRepairVo.java (.../InstrumentRepairVo.java) (revision 35517) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/InstrumentRepairVo.java (.../InstrumentRepairVo.java) (revision 41556) @@ -38,6 +38,30 @@ */ private String remark; /** + * 维修时间 + */ + private String repairDateTimeStr; + /** + * 发现人 + */ + private String washHandNurseName; + /** + * 送修人 + */ + private String repairNurseName; + /** + * 出科交接人 + */ + private String outHandoverUserName; + /** + * 回科交接人 + */ + private String returnHandoverUserName; + /** + * 报废时间 + */ + private String discardDateTimeStr; + /** * 维修物品 */ private List instrumentRepairGoodsVos = new ArrayList(); @@ -90,5 +114,41 @@ List instrumentRepairGoodsVos) { this.instrumentRepairGoodsVos = instrumentRepairGoodsVos; } + public String getRepairDateTimeStr() { + return repairDateTimeStr; + } + public void setRepairDateTimeStr(String repairDateTimeStr) { + this.repairDateTimeStr = repairDateTimeStr; + } + public String getWashHandNurseName() { + return washHandNurseName; + } + public void setWashHandNurseName(String washHandNurseName) { + this.washHandNurseName = washHandNurseName; + } + public String getRepairNurseName() { + return repairNurseName; + } + public void setRepairNurseName(String repairNurseName) { + this.repairNurseName = repairNurseName; + } + public String getOutHandoverUserName() { + return outHandoverUserName; + } + public void setOutHandoverUserName(String outHandoverUserName) { + this.outHandoverUserName = outHandoverUserName; + } + public String getReturnHandoverUserName() { + return returnHandoverUserName; + } + public void setReturnHandoverUserName(String returnHandoverUserName) { + this.returnHandoverUserName = returnHandoverUserName; + } + public String getDiscardDateTimeStr() { + return discardDateTimeStr; + } + public void setDiscardDateTimeStr(String discardDateTimeStr) { + this.discardDateTimeStr = discardDateTimeStr; + } }