Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java =================================================================== diff -u -r34732 -r34734 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java (.../SterilizationRecordManager.java) (revision 34732) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java (.../SterilizationRecordManager.java) (revision 34734) @@ -10,13 +10,13 @@ import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import com.forgon.directory.model.BarcodeDevice; import com.forgon.disinfectsystem.entity.basedatamanager.sterilizer.Sterilizer; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationInterruptRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationRecordPic; -import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.CaspSterilizerRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.HighTempSterilizerRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.LowTempForJohnsonRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.LowTempSterilizerRecord; @@ -25,7 +25,6 @@ import com.forgon.disinfectsystem.entity.systemwarning.SystemWarningVo; import com.forgon.disinfectsystem.sterilizationmanager.sterilizationrecord.vo.SterilizationRecordPrintTousseItem; import com.forgon.disinfectsystem.vo.SimpleInfoVo; -import com.forgon.systemsetting.model.HttpOption; import com.forgon.tools.hibernate.BasePoManager; /** @@ -696,4 +695,10 @@ * @return */ public JSONArray getDisposableGoodsBySterilizationPurpose(Long sterilizationPurposeId); + /** + * 扫码一次性物品批次条码,获取信息,供灭菌模块使用 + * @param barcodeDevice + * @return + */ + public String getBarcodeTypeByDisposableGoodsBatch(BarcodeDevice barcodeDevice); } Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java =================================================================== diff -u -r34732 -r34734 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 34732) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 34734) @@ -65,6 +65,8 @@ import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.common.CssdUtils; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatch; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatchStock; import com.forgon.disinfectsystem.entity.assestmanagement.SteriConsumeMaterialUseDetail; import com.forgon.disinfectsystem.entity.assestmanagement.SteriConsumeMaterialUseRecord; import com.forgon.disinfectsystem.entity.basedatamanager.bioreader.Bioreader; @@ -8233,4 +8235,50 @@ } return arr; } + @Override + public String getBarcodeTypeByDisposableGoodsBatch( + BarcodeDevice barcodeDevice) { + DisposableGoodsBatch disposableGoodsBatch = (DisposableGoodsBatch)barcodeDevice; + DisposableGoods disposableGoods = disposableGoodsBatch.getDiposableGoods(); + if(Constants.STR_YES.equals(disposableGoods.getIsDisable())){ + return JSONUtil.buildJsonObject(false, disposableGoods.getShowNameForSmallestUnit() + "已禁用").toString(); + } + if(!DisposableGoods.CONSUMPTIVE_MATERIAL_USE_STERILIZER.equals(disposableGoods.getConsumptiveMaterialUse())){ + return JSONUtil.buildJsonObject(false, disposableGoods.getShowNameForSmallestUnit() + "的耗材用途不是" + DisposableGoods.CONSUMPTIVE_MATERIAL_USE_STERILIZER).toString(); + } + /*String sql = " select count(*) from "+ SteriliPurposeDisposableGoods.class.getSimpleName() + + " where disposableGoodsId="+ + disposableGoods.getId() + +" and sterilizationPurposeId=" + +sterilizationPurposeId; + if(objectDao.countBySql(sql) == 0){ + result = JSONUtil.buildJsonObject(false, "该耗材非本次灭菌所需耗材").toString(); + break out; + }*/ + //检查库存 + WareHouse wareHouse = wareHouseManager.getDefaultWareHouseByUnitCode(AcegiHelper.getLoginUser().getCurrentOrgUnitCode()); + if(wareHouse == null){ + return JSONUtil.buildJsonObject(false, "当前登录用户所在科室无默认仓库").toString(); + } + String sql = " select ds from " + + DisposableGoodsBatchStock.class.getSimpleName() + + " ds where warehouseID="+ wareHouse.getId() +" and storage>0 and disposableGoodsBatchId=" + + disposableGoodsBatch.getId() + " order by id asc"; + List disposableGoodsBatchStocks = objectDao.findByHql(sql); + if(CollectionUtils.isEmpty(disposableGoodsBatchStocks)){ + return JSONUtil.buildJsonObject(false, "库存不足").toString(); + } + JSONObject resultObj = JSONUtil.buildJsonObject(true); + resultObj.put("dataType", "disposableGoodsBatchStock"); + DisposableGoodsBatchStock disposableGoodsBatchStock = disposableGoodsBatchStocks.get(0); + JSONObject obj = new JSONObject(); + obj.put("disposableGoodsBatchStockId", disposableGoodsBatchStock.getId()); + obj.put("disposableGoodsId", disposableGoods.getId()); + obj.put("disposableGoodsBatchId", disposableGoodsBatch.getId()); + obj.put("disposableGoodsName", disposableGoods.getName()); + obj.put("specification", disposableGoods.getSpecification()); + obj.put("barcode", disposableGoodsBatch.getBarcode()); + resultObj.put("data", obj); + return resultObj.toString(); + } } Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java =================================================================== diff -u -r34733 -r34734 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 34733) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 34734) @@ -733,7 +733,7 @@ //仅输入条码/篮筐(首)的判断 if (barcodeDevice != null) { - out:if (barcodeDevice instanceof Container) {// 容器 + if (barcodeDevice instanceof Container) {// 容器 Container container = (Container) barcodeDevice; if (Container.CONTAINERTYPE_SHELF.equals(container .getContainerType())) {// 灭菌架 @@ -803,52 +803,7 @@ result = "该化学监测包已使用,不能重复使用"; } } else if(barcodeDevice instanceof DisposableGoodsBatch){ - DisposableGoodsBatch disposableGoodsBatch = (DisposableGoodsBatch)barcodeDevice; - DisposableGoods disposableGoods = disposableGoodsBatch.getDiposableGoods(); - if(Constants.STR_YES.equals(disposableGoods.getIsDisable())){ - result = JSONUtil.buildJsonObject(false, disposableGoods.getShowNameForSmallestUnit() + "已禁用").toString(); - break out; - } - if(!DisposableGoods.CONSUMPTIVE_MATERIAL_USE_STERILIZER.equals(disposableGoods.getConsumptiveMaterialUse())){ - result = JSONUtil.buildJsonObject(false, disposableGoods.getShowNameForSmallestUnit() + "的耗材用途不是" + DisposableGoods.CONSUMPTIVE_MATERIAL_USE_STERILIZER).toString(); - break out; - } - /*String sql = " select count(*) from "+ SteriliPurposeDisposableGoods.class.getSimpleName() - + " where disposableGoodsId="+ - disposableGoods.getId() - +" and sterilizationPurposeId=" - +sterilizationPurposeId; - if(objectDao.countBySql(sql) == 0){ - result = JSONUtil.buildJsonObject(false, "该耗材非本次灭菌所需耗材").toString(); - break out; - }*/ - //检查库存 - WareHouse wareHouse = wareHouseManager.getDefaultWareHouseByUnitCode(loginUser.getCurrentOrgUnitCode()); - if(wareHouse == null){ - result = JSONUtil.buildJsonObject(false, "当前登录用户所在科室无默认仓库").toString(); - break out; - } - String sql = " select ds from " - + DisposableGoodsBatchStock.class.getSimpleName() - + " ds where warehouseID="+ wareHouse.getId() +" and storage>0 and disposableGoodsBatchId=" - + disposableGoodsBatch.getId() + " order by id asc"; - List disposableGoodsBatchStocks = objectDao.findByHql(sql); - if(CollectionUtils.isEmpty(disposableGoodsBatchStocks)){ - result = JSONUtil.buildJsonObject(false, "库存不足").toString(); - break out; - } - JSONObject resultObj = JSONUtil.buildJsonObject(true); - resultObj.put("dataType", "disposableGoodsBatchStock"); - DisposableGoodsBatchStock disposableGoodsBatchStock = disposableGoodsBatchStocks.get(0); - JSONObject obj = new JSONObject(); - obj.put("disposableGoodsBatchStockId", disposableGoodsBatchStock.getId()); - obj.put("disposableGoodsId", disposableGoods.getId()); - obj.put("disposableGoodsBatchId", disposableGoodsBatch.getId()); - obj.put("disposableGoodsName", disposableGoods.getName()); - obj.put("specification", disposableGoods.getSpecification()); - obj.put("barcode", disposableGoodsBatch.getBarcode()); - resultObj.put("data", obj); - result = resultObj.toString(); + result = sterilizationRecordManager.getBarcodeTypeByDisposableGoodsBatch(barcodeDevice); }else { result = "barcodeInvalid"; }