Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/DisposableGoodsStock.java =================================================================== diff -u -r23492 -r25131 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/DisposableGoodsStock.java (.../DisposableGoodsStock.java) (revision 23492) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/DisposableGoodsStock.java (.../DisposableGoodsStock.java) (revision 25131) @@ -3,13 +3,12 @@ import java.text.SimpleDateFormat; import java.util.HashSet; import java.util.LinkedHashMap; +import java.util.List; import java.util.Map; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Entity; -import org.hibernate.annotations.DynamicInsert; -import org.hibernate.annotations.DynamicUpdate; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @@ -20,6 +19,8 @@ import org.apache.commons.lang.StringUtils; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; import com.fasterxml.jackson.annotation.JsonIgnore; import com.forgon.Constants; @@ -153,6 +154,22 @@ public Long getAmount() { return amount; } + + @Transient + public long getIdentificationAmount() { + long amount = 0; + if(goodsBatchs != null){ + for (DisposableGoodsBatchStock goodsBatch : goodsBatchs) { + List identifications = goodsBatch.getIdentifications(); + if(identifications != null){ + for (DisposableGoodsIdentification disposableGoodsIdentification : identifications) { + amount += disposableGoodsIdentification.getAmount(); + } + } + } + } + return amount; + } public void setAmount(Long amount) { if(amount == null){ Index: ssts-web/src/test/java/test/forgon/disinfectsystem/CSSDTestDataProcess.java =================================================================== diff -u -r25123 -r25131 --- ssts-web/src/test/java/test/forgon/disinfectsystem/CSSDTestDataProcess.java (.../CSSDTestDataProcess.java) (revision 25123) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/CSSDTestDataProcess.java (.../CSSDTestDataProcess.java) (revision 25131) @@ -2990,26 +2990,27 @@ entry.getItemsList().add(godownEntryItem5); godownEntryManager.saveGodownEntry_TRANS_REQUIRED(entry, result); -// DisposableGoodsStock disposableGoodsStock1 = diposableGoodsManager.getDisposableGoodsStockByName(wareHouse1.getId(),"注射器", "5ML"); -// assertNotNull(disposableGoodsStock1); -// assertEquals(1000, disposableGoodsStock1.getAmount().longValue()); -// -// DisposableGoodsStock disposableGoodsStock2 = diposableGoodsManager.getDisposableGoodsStockByName(wareHouse1.getId(),"注射器", "10ML"); -// assertNotNull(disposableGoodsStock2); -// assertEquals(2000, disposableGoodsStock2.getAmount().longValue()); -// -// Set batchs = disposableGoodsStock2.getGoodsBatchs(); -// assertNotNull(batchs); -// assertEquals(1, batchs.size()); -// -// List idents = batchs.iterator().next().getIdentifications(); -// assertNotNull(idents); -// assertEquals(2, idents.size()); -// -// //纱块【6*8】 2000个,有2个批次,各1个标识号 -// DisposableGoodsStock disposableGoodsStock3 = diposableGoodsManager.getDisposableGoodsStockByName(wareHouse1.getId(),"纱块", "6*8"); -// assertNotNull(disposableGoodsStock3); -// assertEquals(2000, disposableGoodsStock3.getAmount().longValue()); + + DisposableGoodsStock disposableGoodsStock1 = diposableGoodsManager.getDisposableGoodsStockByName(wareHouse1.getId(),"注射器", "5ML"); + assertNotNull(disposableGoodsStock1); + assertEquals(1000, disposableGoodsStock1.getIdentificationAmount()); + + DisposableGoodsStock disposableGoodsStock2 = diposableGoodsManager.getDisposableGoodsStockByName(wareHouse1.getId(),"注射器", "10ML"); + assertNotNull(disposableGoodsStock2); + assertEquals(2000, disposableGoodsStock2.getIdentificationAmount()); + + Set batchs = disposableGoodsStock2.getGoodsBatchs(); + assertNotNull(batchs); + assertEquals(1, batchs.size()); + + List idents = batchs.iterator().next().getIdentifications(); + assertNotNull(idents); + assertEquals(2, idents.size()); + + //纱块【6*8】 2000个,有2个批次,各1个标识号 + DisposableGoodsStock disposableGoodsStock3 = diposableGoodsManager.getDisposableGoodsStockByName(wareHouse1.getId(),"纱块", "6*8"); + assertNotNull(disposableGoodsStock3); + assertEquals(2000, disposableGoodsStock3.getIdentificationAmount()); } /** Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/DisposableGoodsBatchStock.java =================================================================== diff -u -r23492 -r25131 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/DisposableGoodsBatchStock.java (.../DisposableGoodsBatchStock.java) (revision 23492) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/DisposableGoodsBatchStock.java (.../DisposableGoodsBatchStock.java) (revision 25131) @@ -7,8 +7,6 @@ import javax.persistence.CascadeType; import javax.persistence.Entity; -import org.hibernate.annotations.DynamicInsert; -import org.hibernate.annotations.DynamicUpdate; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; @@ -19,6 +17,8 @@ import javax.persistence.Transient; import org.hibernate.annotations.Cascade; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; import com.fasterxml.jackson.annotation.JsonIgnore; import com.forgon.Constants; @@ -117,6 +117,17 @@ public Long getStorage() { return storage; } + + @Transient + public long getIdentificationAmount() { + long amount = 0; + if(identifications != null){ + for (DisposableGoodsIdentification disposableGoodsIdentification : identifications) { + amount += disposableGoodsIdentification.getAmount(); + } + } + return amount; + } public void setStorage(Long storage) { this.storage = storage;