Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java =================================================================== diff -u -r12788 -r12791 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 12788) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 12791) @@ -1306,6 +1306,11 @@ inventorySerialNumber); } + public DisposableGoods getDisposableGoodsByInventorySerialNumber(String inventorySerialNumber){ + return (DisposableGoods) objectDao.getByProperty( + DisposableGoods.class.getSimpleName(), "inventorySerialNumber", + inventorySerialNumber); + } public DisposableGoodsStock getDiposableGoodsById_ForUpdate(String id) { // return (DiposableGoods) objectDao.getById_ForUpdate( // DiposableGoods.class.getSimpleName(), Long.valueOf(id)); Index: ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/service/InventoryManagerImpl.java =================================================================== diff -u -r12777 -r12791 --- ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/service/InventoryManagerImpl.java (.../InventoryManagerImpl.java) (revision 12777) +++ ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/service/InventoryManagerImpl.java (.../InventoryManagerImpl.java) (revision 12791) @@ -31,24 +31,17 @@ import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodBatchStockManager; import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodsManager; import com.forgon.disinfectsystem.diposablegoods.service.GodownEntryManager; -import com.forgon.disinfectsystem.diposablegoods.util.DisposableGoodsUtils; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatchStock; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; import com.forgon.disinfectsystem.entity.assestmanagement.GodownEntry; -import com.forgon.disinfectsystem.entity.assestmanagement.GodownEntryDiposableGoodsItem; import com.forgon.disinfectsystem.entity.assestmanagement.GodownEntryItem; -import com.forgon.disinfectsystem.entity.assestmanagement.IdentificationOfDisposableGoods; import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse; import com.forgon.disinfectsystem.entity.materialmanager.MaterialEntry; -import com.forgon.disinfectsystem.entity.materialmanager.MaterialEntryItem; -import com.forgon.disinfectsystem.entity.receiverecord.ReceiveRecord; -import com.forgon.disinfectsystem.entity.receiverecord.ReceiveRecordDiposableGoodsItem; -import com.forgon.disinfectsystem.entity.receiverecord.ReceiveRecordItem; import com.forgon.disinfectsystem.entity.returngoodsrecord.ReturnGoodsItem; import com.forgon.disinfectsystem.entity.returngoodsrecord.ReturnGoodsRecord; -import com.forgon.disinfectsystem.entity.stocktakemanager.StockTakeInfo; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; import com.forgon.disinfectsystem.exception.DataCheckException; import com.forgon.disinfectsystem.inventorymanagement.dao.InventoryDao; @@ -57,7 +50,6 @@ import com.forgon.disinfectsystem.inventorymanagement.model.StorageEntryItem; import com.forgon.disinfectsystem.tousse.materialdefinition.service.MaterialDefinitionManager; import com.forgon.disinfectsystem.tousse.materialmanager.service.MaterialEntryManager; -import com.forgon.serialnumber.model.SerialNum; import com.forgon.tools.GB2Alpha; import com.forgon.tools.GB2WB; import com.forgon.tools.hibernate.ObjectDao; @@ -263,15 +255,15 @@ Inventory inventory = item.getInventory(); // 先按物资编码查找一次性物品定义 - DisposableGoodsStock disposableGoodsStock = diposableGoodsManager.getDiposableGoodsByInventorySerialNumber(inventory.getSerialNumber()); - if(disposableGoodsStock == null){ + DisposableGoods disposableGoods = diposableGoodsManager.getDisposableGoodsByInventorySerialNumber(inventory.getSerialNumber()); + if(disposableGoods == null){ // 再按名称和规格查找 - disposableGoodsStock = diposableGoodsManager.getDiposableGoodsByName(inventory.getName(), inventory.getSpecification()); + disposableGoods = diposableGoodsManager.getDisposableGoodsByName(inventory.getName(), inventory.getSpecification()); } - if(disposableGoodsStock != null){ - disposableGoodsStock.setInventorySerialNumber(inventory.getSerialNumber()); - inventory.setDiposableGoods(disposableGoodsStock); + if(disposableGoods != null){ + disposableGoods.setInventorySerialNumber(inventory.getSerialNumber()); + inventory.setDisposableGoods(disposableGoods); } else { // 若不是一次性物品则查找器械材料定义 // 先按物资编码查找器械材料定义 @@ -287,7 +279,7 @@ inventory.setMaterialDefinition(materialDefinition); } - if(inventory.getDiposableGoods() == null && inventory.getMaterialDefinition() == null){ + if(inventory.getDisposableGoods() == null && inventory.getMaterialDefinition() == null){ // 若都没找到匹配的一次性物品和器械材料,则表明是新材料 String error = String.format("请确定入库单%s中物品【%s】的类型!", inEntrySerialNumber, inventory.getDisplayName()); @@ -321,8 +313,8 @@ } if("一次性物品".equals(type)) { - DisposableGoodsStock ds = new DisposableGoodsStock(); - inventory.setDiposableGoods(ds); + DisposableGoods ds = new DisposableGoods(); + inventory.setDisposableGoods(ds); ds.setType(category); ds.setIsPartOfTousseMaterial(DisposableGoodsStock.CONSTANT_YES); @@ -371,7 +363,7 @@ continue; } - if(inventory.getDiposableGoods() != null){ + if(inventory.getDisposableGoods() != null){ if (StringUtils.isBlank(item.getBatchNumber())) { errors.add(String.format("入库单%s中物品【%s】的批号不能为空!", inEntrySerialNumber, inventory.getDisplayName())); @@ -451,14 +443,14 @@ Inventory inventory = item.getInventory(); // 先按物资编码查找一次性物品定义 - DisposableGoodsStock disposableGoodsStock = diposableGoodsManager.getDiposableGoodsByInventorySerialNumber(inventory.getSerialNumber()); + DisposableGoods disposableGoodsStock = diposableGoodsManager.getDisposableGoodsByInventorySerialNumber(inventory.getSerialNumber()); if(disposableGoodsStock == null){ // 再按名称和规格查找 - disposableGoodsStock = diposableGoodsManager.getDiposableGoodsByName(inventory.getName(), inventory.getSpecification()); + disposableGoodsStock = diposableGoodsManager.getDisposableGoodsByName(inventory.getName(), inventory.getSpecification()); } if(disposableGoodsStock != null){ - inventory.setDiposableGoods(disposableGoodsStock); + inventory.setDisposableGoods(disposableGoodsStock); } else { // 若不是一次性物品则查找器械材料定义 // 先按物资编码查找器械材料定义 @@ -471,7 +463,7 @@ } // 如果都没找到匹配的一次性物品和器械材料,则同步失败 - if(inventory.getDiposableGoods() == null && inventory.getMaterialDefinition() == null){ + if(inventory.getDisposableGoods() == null && inventory.getMaterialDefinition() == null){ throw new DataCheckException(String.format("退库单%s中物品【%s】在本系统不存在!", outEntrySerialNumber, inventory.getDisplayName())); } @@ -482,15 +474,15 @@ outEntrySerialNumber, inventory.getDisplayName())); } - if(inventory.getDiposableGoods() != null){ + if(inventory.getDisposableGoods() != null){ // 一次性物品退库需有批次号 if (StringUtils.isBlank(item.getBatchNumber())) { throw new DataCheckException(String.format("退库单%s中物品【%s】的批号不能为空!", outEntrySerialNumber, inventory.getDisplayName())); } // 检查库存 - if(inventory.getDiposableGoods().getAmount() < item.getAmount()){ + if(inventory.getDisposableGoods().getAmount() < item.getAmount()){ throw new DataCheckException(String.format("退库单%s中物品【%s】的库存不足!", outEntrySerialNumber, inventory.getDisplayName())); } @@ -556,24 +548,24 @@ for(StorageEntryItem item : items){ // 一旦检测出任一物品明细项有问题,则可立即报错 - DisposableGoodsStock disposableGoodsStock = null; + DisposableGoods disposableGoodsStock = null; Inventory inventory = item.getInventory(); // Inventory inventory = inventoryDao.getInventory(item.getInventorySerialNumber()); if(inventory == null){ inventory = new Inventory(); - disposableGoodsStock = diposableGoodsManager.getDiposableGoodsByInventorySerialNumber(item.getInventorySerialNumber()); + disposableGoodsStock = diposableGoodsManager.getDisposableGoodsByInventorySerialNumber(item.getInventorySerialNumber()); }else{ - disposableGoodsStock = diposableGoodsManager.getDiposableGoodsByInventorySerialNumber(inventory.getSerialNumber()); + disposableGoodsStock = diposableGoodsManager.getDisposableGoodsByInventorySerialNumber(inventory.getSerialNumber()); } // 先按物资编码查找一次性物品定义 if(disposableGoodsStock == null){ // 再按名称和规格查找 - disposableGoodsStock = diposableGoodsManager.getDiposableGoodsByName(inventory.getName(), inventory.getSpecification()); + disposableGoodsStock = diposableGoodsManager.getDisposableGoodsByName(inventory.getName(), inventory.getSpecification()); } if(disposableGoodsStock != null){ - inventory.setDiposableGoods(disposableGoodsStock); + inventory.setDisposableGoods(disposableGoodsStock); } else { // 若不是一次性物品则查找器械材料定义 // 先按物资编码查找器械材料定义 @@ -586,7 +578,7 @@ } // 如果都没找到匹配的一次性物品和器械材料,则同步失败 - if(inventory.getDiposableGoods() == null && inventory.getMaterialDefinition() == null){ + if(inventory.getDisposableGoods() == null && inventory.getMaterialDefinition() == null){ throw new DataCheckException(String.format("退货单%s中物品【%s】在本系统不存在!", returnEntrySerialNumber, inventory.getDisplayName())); } @@ -597,15 +589,15 @@ returnEntrySerialNumber, inventory.getDisplayName())); } - if(inventory.getDiposableGoods() != null){ + if(inventory.getDisposableGoods() != null){ // 一次性物品退库需有批次号 if (StringUtils.isBlank(item.getBatchNumber())) { throw new DataCheckException(String.format("退货单%s中物品【%s】的批号不能为空!", returnEntrySerialNumber, inventory.getDisplayName())); } // 检查库存 - if(inventory.getDiposableGoods().getAmount() < item.getAmount()){ + if(inventory.getDisposableGoods().getAmount() < item.getAmount()){ throw new DataCheckException(String.format("退货单%s中物品【%s】的库存不足!", returnEntrySerialNumber, inventory.getDisplayName())); } @@ -771,7 +763,7 @@ // Collection diposableGoodsItems = CollectionUtils.select(storageEntry.getItems(), new Predicate() { // @Override // public boolean evaluate(StorageEntryItem arg0) { -// return (arg0.getInventory().getDiposableGoods() != null); +// return (arg0.getInventory().getDisposableGoods() != null); // } // }); // @@ -793,13 +785,13 @@ // godownEntryItem.setAmount(item.getAmount()); // godownEntryItem.setBatchNumber(item.getBatchNumber()); // godownEntryItem.setCost(item.getUnitPrice()); -// godownEntryItem.setDiposableGoods(item.getInventory().getDiposableGoods()); +// godownEntryItem.setDiposableGoods(item.getInventory().getDisposableGoods()); // godownEntryItem.setExpDate(item.getExpDate()); // // switch(type){ // case GodownEntry.TYPE_IN: // // 可能是新的一次性物品,需保存一次性物品定义 -// diposableGoodsManager.saveOrUpdate(item.getInventory().getDiposableGoods()); +// diposableGoodsManager.saveOrUpdate(item.getInventory().getDisposableGoods()); // // 更新库存 // updateDiposableStockForStorageInEntry(item); // break; @@ -898,7 +890,7 @@ // continue; // } // DiposableGoods diposableGoods = inventory -// .getDiposableGoods(); +// .getDisposableGoods(); // if (diposableGoods == null // || diposableGoods.getId() == null) { // continue; @@ -982,25 +974,25 @@ godownEntry.setItemsList(godownEntryItems); for (StorageEntryItem item : diposableGoodsItems) { - DisposableGoodsStock disposableGoodsStock = item.getInventory() - .getDiposableGoods(); + DisposableGoods disposableGoods = item.getInventory() + .getDisposableGoods(); // 可能是新的一次性物品,需保存一次性物品定义 - if (disposableGoodsStock.getId() == null) { - diposableGoodsManager.saveOrUpdate(disposableGoodsStock);// 首先保存一次性物品 + if (disposableGoods.getId() == null) { + diposableGoodsManager.saveOrUpdate(disposableGoods);// 首先保存一次性物品 } GodownEntryItem godownEntryItem = new GodownEntryItem(); godownEntryItems.add(godownEntryItem); godownEntryItem.setAmount(item.getAmount()); godownEntryItem.setBatchNumber(item.getBatchNumber()); godownEntryItem.setCost(item.getUnitPrice()); - godownEntryItem.setDiposableGoods(disposableGoodsStock); + godownEntryItem.setDisposableGoodsID(disposableGoods.getId()); godownEntryItem.setExpDate(item.getExpDate()); godownEntryItem.setIdentification(item.getIdentification());// 标识号 godownEntryItem.setManufacturer(item.getManufacturer()); godownEntryItem.setSterileBatchNumber(item.getSterileBatchNumber()); godownEntryItem.setSupplierName(item.getSupplierName()); godownEntryItem.setGodownEntry(godownEntry);// 和退库单关联 - godownEntryItem.setDisposableGoodsStockID(disposableGoodsStock.getId());// 和一次性物品ID关联 + godownEntryItem.setDisposableGoodsStockID(disposableGoods.getId());// 和一次性物品ID关联 } godownEntrys.add(godownEntry); } @@ -1098,7 +1090,7 @@ // // 先生成入库单并保存,再根据入库单入库 // for (StorageEntryItem item : diposableGoodsItems) { // DiposableGoods diposableGoods = item.getInventory() -// .getDiposableGoods(); +// .getDisposableGoods(); // // 可能是新的一次性物品,需保存一次性物品定义 // if(diposableGoods.getId() == null){ // diposableGoodsManager.saveOrUpdate(diposableGoods);// 首先保存一次性物品 @@ -1132,7 +1124,7 @@ // // 先生成入库单并保存,再根据入库单入库 // for (StorageEntryItem item : diposableGoodsItems) { // DiposableGoods diposableGoods = item.getInventory() -// .getDiposableGoods(); +// .getDisposableGoods(); // // 可能是新的一次性物品,需保存一次性物品定义 // if(diposableGoods.getId() == null){ // diposableGoodsManager.saveOrUpdate(diposableGoods);// 首先保存一次性物品 @@ -1226,7 +1218,7 @@ // // // 先生成退库单并保存,再根据退库单退库 // for(StorageEntryItem item : diposableGoodsItems){ -// DiposableGoods diposableGoods = item.getInventory().getDiposableGoods(); +// DiposableGoods diposableGoods = item.getInventory().getDisposableGoods(); // GodownEntryItem godownEntryItem = new GodownEntryItem(); // godownEntryItems.add(godownEntryItem); // godownEntryItem.setAmount(item.getAmount()); @@ -1352,13 +1344,13 @@ Collection diposableGoodsItems = CollectionUtils.select(storageEntry.getItems(), new Predicate() { @Override public boolean evaluate(StorageEntryItem arg0) { - return (arg0.getInventory().getDiposableGoods() != null); + return (arg0.getInventory().getDisposableGoods() != null); } }); return diposableGoodsItems; } // private void updateDiposableStockForStorageInEntry(StorageEntryItem item) { -// DiposableGoods diposableGoods = item.getInventory().getDiposableGoods(); +// DiposableGoods diposableGoods = item.getInventory().getDisposableGoods(); // // DiposableGoodBatchStock diposableGoodBatchStock = diposableGoodBatchStockManager // .getDiposableGoodBatchStock(diposableGoods.getId().toString(), @@ -1426,7 +1418,7 @@ // } // private void updateDiposableStockForStorageOutEntry(StorageEntryItem item){ -// DiposableGoods diposableGoods = item.getInventory().getDiposableGoods(); +// DiposableGoods diposableGoods = item.getInventory().getDisposableGoods(); //// diposableGoods.setAmount(diposableGoods.getAmount() - item.getAmount()); // //diposableGoodsManager.saveOrUpdate(diposableGoods); // Index: ssts-datasync/src/main/java/com/forgon/disinfectsystem/inventorymanagement/model/Inventory.java =================================================================== diff -u -r12679 -r12791 --- ssts-datasync/src/main/java/com/forgon/disinfectsystem/inventorymanagement/model/Inventory.java (.../Inventory.java) (revision 12679) +++ ssts-datasync/src/main/java/com/forgon/disinfectsystem/inventorymanagement/model/Inventory.java (.../Inventory.java) (revision 12791) @@ -2,6 +2,7 @@ import org.apache.commons.lang.StringUtils; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; @@ -15,7 +16,7 @@ private Double cost; private String certification; - private DisposableGoodsStock diposableGoods; + private DisposableGoods disposableGoods; private MaterialDefinition materialDefinition; public String getSerialNumber() { @@ -66,12 +67,12 @@ this.cost = cost; } - public DisposableGoodsStock getDiposableGoods() { - return diposableGoods; + public DisposableGoods getDisposableGoods() { + return disposableGoods; } - public void setDiposableGoods(DisposableGoodsStock disposableGoodsStock) { - this.diposableGoods = disposableGoodsStock; + public void setDisposableGoods(DisposableGoods disposableGoods) { + this.disposableGoods = disposableGoods; } public MaterialDefinition getMaterialDefinition() { Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java =================================================================== diff -u -r12788 -r12791 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 12788) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 12791) @@ -79,6 +79,8 @@ public List> getDisposableGoodsList(String sql,boolean showReferencePrice,String wareHouseId); public DisposableGoodsStock getDiposableGoodsByInventorySerialNumber(String inventorySerialNumber); + + public DisposableGoods getDisposableGoodsByInventorySerialNumber(String inventorySerialNumber); /////////////// public DisposableGoodsStock getDiposableGoodsById_ForUpdate(String id);