Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java =================================================================== diff -u -r13785 -r13822 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java (.../GodownEntryManagerImpl.java) (revision 13785) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java (.../GodownEntryManagerImpl.java) (revision 13822) @@ -545,7 +545,8 @@ * @param disposableGoodsBatchID * @param disposableGoodsBatchStock */ - private void setExpensiveGoodsWarehouse(String barcode , Long warehouseID,String warehouseName,Long disposableGoodsStockID,Long disposableGoodsBatchID,DisposableGoodsBatchStock disposableGoodsBatchStock){ + private void setExpensiveGoodsWarehouse(GodownEntryItem godownEntryItem , Long warehouseID,String warehouseName,Long disposableGoodsStockID,Long disposableGoodsBatchID,DisposableGoodsBatchStock disposableGoodsBatchStock){ + String barcode = godownEntryItem.getBarcode(); if(StringUtils.isNotBlank(barcode)){ BarcodeDevice bd = barcodeManager.getBarcodeByBarcode(barcode); if (bd != null && bd instanceof ExpensiveDisposablegoods) { @@ -556,6 +557,10 @@ expensiveDisposablegoods.setDisposableGoodsStockID(disposableGoodsStockID); expensiveDisposablegoods.setDisposableGoodsBatchID(disposableGoodsBatchID); expensiveDisposablegoods.setDisposableGoodsBatchStock(disposableGoodsBatchStock); + expensiveDisposablegoods.setGodownEntryId(godownEntryItem.getGodownEntry().getId()); + expensiveDisposablegoods.setGodownEntryItemId(godownEntryItem.getId()); + expensiveDisposablegoods.setStatus(ExpensiveDisposablegoods.STATUS_IN_WAREHOUSE); + expensiveDisposablegoods.setEntryDate(new Date()); objectDao.saveOrUpdate(expensiveDisposablegoods); } } @@ -724,7 +729,7 @@ if(DisposableGoods.TYPE_EXPENSIVEDIPOSABLEGOODS.equals(disposableGoods.getGoodsType())){ //根据条码设置高值耗所属仓库及一次性物品定义、批次定义、库存、批次库存id - setExpensiveGoodsWarehouse(godownEntryItem.getBarcode() , warehouseID, warehouseName , disposableGoodsStock.getId(),disposableGoodsBatch.getId(),disposableGoodsBatchStock); + setExpensiveGoodsWarehouse(godownEntryItem , warehouseID, warehouseName , disposableGoodsStock.getId(),disposableGoodsBatch.getId(),disposableGoodsBatchStock); disposableGoodsBatchStock.adjustAmount(1);//数量加1 }else{ Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryItemManagerImpl.java =================================================================== diff -u -r13791 -r13822 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryItemManagerImpl.java (.../GodownEntryItemManagerImpl.java) (revision 13791) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryItemManagerImpl.java (.../GodownEntryItemManagerImpl.java) (revision 13822) @@ -10,11 +10,13 @@ import org.apache.commons.lang.StringUtils; import com.forgon.databaseadapter.service.DateQueryAdapter; +import com.forgon.directory.model.BarcodeDevice; import com.forgon.directory.model.OrgUnit; import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.diposablegoods.util.GodownEntryUtil; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; +import com.forgon.disinfectsystem.entity.assestmanagement.ExpensiveDisposablegoods; import com.forgon.disinfectsystem.entity.assestmanagement.GodownEntry; import com.forgon.disinfectsystem.entity.assestmanagement.GodownEntryItem; import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse; @@ -165,6 +167,17 @@ godownEntryItem.setHasInvoice(hasInvoice); godownEntryItem.setGrade(grade); godownEntryItem.setBarcode(barcode); + + //如果高值耗材id为空,则根据条码判断是否为高值耗材 + if(godownEntryItem.getExpensiveDisposableGoodsId() == null && StringUtils.isNotBlank(barcode)){ + BarcodeDevice bd = + (BarcodeDevice)objectDao.getBySql(BarcodeDevice.class.getSimpleName(), + "where barcode='" + barcode + "'"); + if(bd != null && bd instanceof ExpensiveDisposablegoods){ + godownEntryItem.setExpensiveDisposableGoodsId(bd.getId()); + } + } + return godownEntryItem; } @@ -201,6 +214,7 @@ newItem.setHasBiologicalTestReport(source.getHasBiologicalTestReport()); newItem.setHasInvoice(source.getHasInvoice()); newItem.setBarcode(source.getBarcode()); + newItem.setExpensiveDisposableGoodsId(source.getExpensiveDisposableGoodsId()); return newItem; }