Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/toussedefinition/service/TousseInstanceUtils.java =================================================================== diff -u -r14019 -r14027 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/toussedefinition/service/TousseInstanceUtils.java (.../TousseInstanceUtils.java) (revision 14019) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/toussedefinition/service/TousseInstanceUtils.java (.../TousseInstanceUtils.java) (revision 14027) @@ -234,7 +234,7 @@ goodsStock.setName(tousseInstance.getTousseName()); goodsStock.setOrgUnitCode(wareHouse.getOrgUnitCode()); goodsStock.setOrgUnitName(wareHouse.getOrgUnitName()); - goodsStock.setTousseDefinitionId(tousseInstance.getTousseDefinition().getAncestorID()); + goodsStock.setTousseDefinitionId(tousseInstance.getTousseDefinition().getId()); goodsStock.setWareHouseId(wareHouse.getId()); goodsStock.setWareHouseName(wareHouse.getName()); return goodsStock; Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/goodsstock/service/GoodsStockManagerImpl.java =================================================================== diff -u -r14019 -r14027 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/goodsstock/service/GoodsStockManagerImpl.java (.../GoodsStockManagerImpl.java) (revision 14019) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/goodsstock/service/GoodsStockManagerImpl.java (.../GoodsStockManagerImpl.java) (revision 14027) @@ -58,13 +58,11 @@ || TousseDefinition.PACKAGE_TYPE_SPLIT.equals(td.getTousseType())){ //先查询库存是否足够 int amount = - objectDao.countBySql("select sum(amount) from " + GoodsStock.class.getSimpleName() + " where wareHouseId = " + goodsStockTemp.getWareHouseId() - + " and tousseDefinitionId = " + goodsStockTemp.getTousseDefinitionId() + " and amount > 0"); + objectDao.countBySql("select count(0) from " + GoodsStock.class.getSimpleName() + " where name = '" + goodsStockTemp.getName() + "' and amount > 0"); if(amount < goodsStockTemp.getAmount()){ throw new RuntimeException(goodsStockTemp.getName() + "的库存数量小于出库或退库数量,不能出库或退库"); } else { - sql = " where 1=1 and wareHouseId = " + goodsStockTemp.getWareHouseId() + " and tousseDefinitionId = " - + goodsStockTemp.getTousseDefinitionId() + " and amount > 0"; + sql = " where 1=1 and wareHouseId = " + goodsStockTemp.getWareHouseId() + " and name = '" + goodsStockTemp.getName() + "' and amount > 0"; List list = objectDao.findBySql(GoodsStock.class.getSimpleName(), sql); int needOutAmount = goodsStockTemp.getAmount(); for(GoodsStock stock : list){