Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r40439 -r40509 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 40439) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 40509) @@ -8587,7 +8587,7 @@ } SupplyRoomConfig config = supplyRoomConfigManager.getSystemParamsObj(); - double foreignTprice = config.getForeignToussePrice(); + //double foreignTprice = config.getForeignToussePrice(); String orgUnitCoding = ""; String orgUnitName = ""; LoginUserData loginUser = AcegiHelper.getLoginUser(); @@ -8610,6 +8610,17 @@ //如果未配置按回收材料数量计算积分,但是又开启了积分功能,则每个拆分小包的积分=外来器械包定义里积分系数/拆包总数 FSSDERMYY-9 spiltIntegral = true; } + + // 计算价格 + double[] splitPrices = null; + if(foreignTousseSplitPriceType == TousseDefinition.FOREIGNTOUSSE_SPLIT_PRICE_TYPE_AVG){ + splitPrices = ForgonNumberUtils.splitPrice(foreignTousseDefinitionOfTousseItem.getPrice(), splitPackages.size()); + }else if(foreignTousseSplitPriceType == TousseDefinition.FOREIGNTOUSSE_SPLIT_PRICE_TYPE_TD){ + splitPrices = new double[2]; + splitPrices[0] = foreignTousseDefinitionOfTousseItem.getPrice(); + splitPrices[1] = foreignTousseDefinitionOfTousseItem.getPrice(); + } + List newTis = new ArrayList(); for (int i = 0 ; i < splitPackages.size() ; i++) { JSONObject tousse = (JSONObject)splitPackages.get(i); @@ -8652,6 +8663,14 @@ TousseDefinition tousseDefinition = createNewForeignTousseDefinition( foreignTousseDefinitionOfTousseItem, tousseName, materialsArray, bigPackage, weight, null); + double foreignTprice = config.getForeignToussePrice(); + if(splitPrices != null){ + if(i==0){ + foreignTprice = splitPrices[0]; + }else{ + foreignTprice = splitPrices[1]; + } + } double fluctuationPrice = supplyRoomConfigManager .getTousseFluctuationPrice(foreignTprice); // 包实例