Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r17512 -r17515 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 17512) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 17515) @@ -53,6 +53,7 @@ import com.forgon.directory.vo.LoginUserData; import com.forgon.disinfectsystem.barcode.service.BarcodeManager; import com.forgon.disinfectsystem.basedatamanager.reportoption.GoodsOptionManager; +import com.forgon.disinfectsystem.basedatamanager.rinser.service.RinserManager; import com.forgon.disinfectsystem.basedatamanager.sterilizer.service.SterilizerManager; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; @@ -73,6 +74,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.materialinstance.MaterialInstance; import com.forgon.disinfectsystem.entity.basedatamanager.reportoption.GoodsOption; import com.forgon.disinfectsystem.entity.basedatamanager.reportoption.WorkScoreConfig; +import com.forgon.disinfectsystem.entity.basedatamanager.rinser.Rinser; import com.forgon.disinfectsystem.entity.basedatamanager.sterilizer.ConsumptiveConfig; import com.forgon.disinfectsystem.entity.basedatamanager.sterilizer.ConsumptiveInstance; import com.forgon.disinfectsystem.entity.basedatamanager.sterilizer.DetectionItem; @@ -271,6 +273,12 @@ private SterilizerManager sterilizerManager; + private RinserManager rinserManager; + + public void setRinserManager(RinserManager rinserManager) { + this.rinserManager = rinserManager; + } + public void setSterilizerManager(SterilizerManager sterilizerManager) { this.sterilizerManager = sterilizerManager; } @@ -1504,40 +1512,42 @@ } for (ConsumptiveInstance consumptiveInstance : deviceMaintenance .getConsumptiveInstances()) { - Iterator iterator = sourceSortMap.keySet() - .iterator(); - while (iterator.hasNext()) { - String title = iterator.next(); - Integer sort = sourceSortMap.get(title); - DeviceMaintenanceBean bean = new DeviceMaintenanceBean(); - Date date = deviceMaintenance.getMaintenanceTime(); - String dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") - .format(date); - bean.setDate(dateStr); - bean.setDeviceName(deviceMaintenance.getDeviceName()); - bean.setTotalPrice(totalPriceStr); - if(consumptiveInstance.getConConfig() != null){ - bean.setMaterialName(consumptiveInstance.getConConfig().getMaterialName()); - } - if("价格".equals(title)){ - String priceStr = "0"; - if(consumptiveInstance.getPrice() != null){ - priceStr = consumptiveInstance.getPrice().toString(); + ConsumptiveConfig cconfig = consumptiveInstance.getConConfig(); + if( isDeviceHaveConsumptiveConfig(deviceMaintenance.getDeviceName(),cconfig) ){ + Iterator iterator = sourceSortMap.keySet() + .iterator(); + while (iterator.hasNext()) { + String title = iterator.next(); + Integer sort = sourceSortMap.get(title); + DeviceMaintenanceBean bean = new DeviceMaintenanceBean(); + Date date = deviceMaintenance.getMaintenanceTime(); + String dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") + .format(date); + bean.setDate(dateStr); + bean.setDeviceName(deviceMaintenance.getDeviceName()); + bean.setTotalPrice(totalPriceStr); + if(consumptiveInstance.getConConfig() != null){ + bean.setMaterialName(consumptiveInstance.getConConfig().getMaterialName()); } - bean.setResult(priceStr); - }else if("数量".equals(title)){ - String amountStr = "0"; - if(consumptiveInstance.getAmount() != null){ - amountStr = consumptiveInstance.getAmount().toString(); - } - bean.setResult(amountStr); - }else{ - bean.setResult(resultMap.get(title)); + if("价格".equals(title)){ + String priceStr = "0"; + if(consumptiveInstance.getPrice() != null){ + priceStr = consumptiveInstance.getPrice().toString(); + } + bean.setResult(priceStr); + }else if("数量".equals(title)){ + String amountStr = "0"; + if(consumptiveInstance.getAmount() != null){ + amountStr = consumptiveInstance.getAmount().toString(); + } + bean.setResult(amountStr); + }else{ + bean.setResult(resultMap.get(title)); + } + bean.setTitle(title); + bean.setTitleSort("" + sort); + returnList.add(bean); } - bean.setTitle(title); - bean.setTitleSort("" + sort); - returnList.add(bean); - } } if (deviceMaintenance.getConsumptiveInstances() == null @@ -1564,6 +1574,40 @@ } return returnList; } + /** + * 设备是否有耗材的配置 + * @param deviceName + * @param conConfig + * @return + */ + private boolean isDeviceHaveConsumptiveConfig(String deviceName,ConsumptiveConfig conConfig){ + boolean ret = false; + if(StringUtils.isBlank(deviceName) || conConfig == null){ + return ret; + } + Sterilizer sterilizer = sterilizerManager.getSterilizerByName(deviceName); + if(sterilizer != null){ + List configList = sterilizer.getConsumptives(); + for (int i = 0 ; i < configList.size() ; i++) { + Long id = configList.get(i).getId(); + if(id == conConfig.getId()){ + ret = true; + } + } + }else{ + Rinser rinser= rinserManager.getRinserByName(deviceName); + if(rinser != null){ + List configList = rinser.getConsumptives(); + for (int i = 0 ; i < configList.size() ; i++) { + Long id = configList.get(i).getId(); + if(id == conConfig.getId()){ + ret = true; + } + } + } + } + return ret; + } /** * 获取包装区工作量不合格率