Здравствуйте.
Пытаемся переползти с 6.0 на 6.2, потихоньку переписываю код и вот наткнулся на следующее:
в bitel.billing.server.contract.bean.ContractParameterManager появились методы:
public ListParamValue getContractListParamValue(int contractId, int parameterId)
и, соответственно,
public void updateListParam(int cid, int pid, ListParamValue value, int userId) .
Так вот, getContractListParamValue() судя по всему возвращает ListParamValue в котором value - это строковое значение
val из таблицы contract_parameter_type_7, которое по всей логике должно быть id, которое чуть чуть int.
Суть:
Код:
...
ListParamValue superLPV = cpm.getContractListParamValue( rs.getInt( 1 ), ACCESSOR_PID );
...
ListParamValue newLPV = new ListParamValue();
newLPV.setId( Integer.parseInt( superLPV.getValue() ) ); // <--- Вот это, вместо newLPV.setId( superLPV.getId() );
newLPV.setCustomValue( superLPV.getCustomValue() );
...
Ибо,
метод updateListParam();
требует ListParamValue c установленными id и customValue.
value же - это по идее строка со значением title из contract_parameter_type_7_values, а уж ни как, ни то что возвращает getContractListParamValue.
Вот это малость сбивает с толку, там точно нет ошибки и так задумано?