Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r25551 -r25570 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 25551) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 25570) @@ -2,6 +2,7 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -3574,16 +3575,43 @@ return result.toString(); } - private ReturnGoodsRecord fixForReturnTousse(ReturnGoodsRecord returnGoodsRecord){ + //退货单的总价 + BigDecimal settlementPriceOfRecord = new BigDecimal(0.00); for(ReturnGoodsItem item : returnGoodsRecord.getReturnGoodsItems()){ List newList = new ArrayList(); + int currentAmount = 0; + Double definitionPrice = 0D; + Double price = 0D; + Double fluctuationPrice = 0D; + Double settlementFluctuationPrice = 0D; + Integer tousseAmount = 0; for(TousseInstance originalTi : item.getTousseInstanceList()){ - newList.add(tousseInstanceManager.getTousseInstanceByBarcode(originalTi.getBarcode())); + TousseInstance tousseInstance = + tousseInstanceManager.getTousseInstanceByBarcode(originalTi.getBarcode()); + newList.add(tousseInstance); + settlementFluctuationPrice += tousseInstance.getFluctuationPrice(); + TousseDefinition td = tousseInstance.getTousseDefinition(); + tousseAmount = td.getTousseAmount(); + price = td.getPrice(); + fluctuationPrice = supplyRoomConfigManager.getTousseFluctuationPrice(price); + currentAmount++; } item.setTousseDefinition(newList.get(0).getTousseDefinition()); item.setTousseInstanceList(newList); + //数量 + item.setAmount(currentAmount); + //单价 + item.setPrice(definitionPrice); + // 统计方式 + item.setMaterialAmount(tousseAmount); + item.setPrice(price); + item.setFluctuationPrice(fluctuationPrice); + item.setSettlementPrice(new BigDecimal(settlementFluctuationPrice)); + settlementPriceOfRecord = settlementPriceOfRecord.add(item.getSettlementPrice()); } + //结算价格 + returnGoodsRecord.setSettlementPrice(settlementPriceOfRecord); return returnGoodsRecord; }