Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntoussecharge/service/ChargeSettingManagerImpl.java =================================================================== diff -u -r32750 -r32923 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntoussecharge/service/ChargeSettingManagerImpl.java (.../ChargeSettingManagerImpl.java) (revision 32750) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntoussecharge/service/ChargeSettingManagerImpl.java (.../ChargeSettingManagerImpl.java) (revision 32923) @@ -24,7 +24,6 @@ import com.forgon.disinfectsystem.entity.invoicemanager.Invoice; import com.forgon.disinfectsystem.entity.invoicemanager.InvoiceItem; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; -import com.forgon.disinfectsystem.entity.urgent.UrgentLevel; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; import com.forgon.disinfectsystem.vo.ChargeSettingModeItemVo; import com.forgon.disinfectsystem.vo.ChargeSettingSpecItemVo; @@ -95,9 +94,14 @@ setting.setIsDefaultValue(settingJson.optString("isDefaultValue")); //收费模式Id和收费模式Map Map chargeSettingModeItemMap = new HashMap(); + ChargeSettingModeItem rateChargeSettingModeItem = null; if(CollectionUtils.isNotEmpty(setting.getChargeSettingModeItems())){ for (ChargeSettingModeItem chargeSettingModeItem : setting.getChargeSettingModeItems()) { chargeSettingModeItemMap.put(chargeSettingModeItem.getForeignTousseChargeModeID(), chargeSettingModeItem); + if(StringUtils.equals(chargeSettingModeItem.getChargeMode(), ForeignTousseChargeMode.MODE_RATE)){ + //收费设置只能有一个模式为“系数”的收费模式 + rateChargeSettingModeItem = chargeSettingModeItem; + } } } // 设置的收费模式信息 @@ -106,6 +110,10 @@ for (Object object2 : chargeSettingModeItemsArr) { JSONObject modelJson = (JSONObject) object2; ChargeSettingModeItem item = chargeSettingModeItemMap.get(modelJson.optLong("foreignTousseChargeModeID")); + String mode = modelJson.optString("mode"); + if(StringUtils.equals(mode, ForeignTousseChargeMode.MODE_RATE)){ + item = rateChargeSettingModeItem; + } if(item == null){ item = new ChargeSettingModeItem(); } @@ -167,6 +175,7 @@ * @param foreignTousseApplication * @param savedChargeSettingMap */ + @SuppressWarnings("unchecked") private void updateForeignApplicationPrice(ForeignTousseApplication foreignTousseApplication, Map savedChargeSettingMap){ //设置收费状态 foreignTousseApplication.setChargeStatus(ForeignTousseApplication.CHARGE_STATUS_CHARGED);