Я только что узнал о существующем приложении, и мне нужно изменить идентификаторы приложения с Integer на String (UUID). Я сделал скрипт для этого, и все прошло хорошо, но, как вы можете догадаться, весь код должен измениться, я внес большинство изменений, но у меня возникла проблема с выполнением одного из них.
В предыдущем коде, представленном ниже, используются идентификаторы для размещения элементов в таблице, но поскольку мои идентификаторы теперь являются строками, я больше не могу этого делать. Ты хоть представляешь, как я смог преодолеть эту проблему?
function fillForecast(month) {
var columns = [];
var lines = [];
var buffer;
var coeff = $('#inputDays').val();
if (!coeff) {
coeff = config.management.worked_days_per_month;
}
if (!month) {
month = new Date();
}
persistence.getAll("assignment").forEach(assignment => {
if (rules.assignment_contains(assignment, month)) {
if (!columns.find(column => {
return column.field == "size_" + assignment.id_contract
})) {
buffer = persistence.fetch("contract", assignment.id_contract);
columns.push({field: 'size_' + assignment.id_contract, title: buffer.code + " (" + buffer.tjm + ")", sortable: "true", formatter: daysFormatter});
}
if (!lines[assignment.id_grade]) {
buffer = persistence.fetch("grade", assignment.id_grade);
lines[assignment.id_grade] = {grade: buffer.code + " (" + buffer.cost + ")"};
}
if (!lines[assignment.id_grade]["size_" + assignment.id_contract]) {
lines[assignment.id_grade]["size_" + assignment.id_contract] = 0;
}
lines[assignment.id_grade]["size_" + assignment.id_contract] += (assignment.occupation * coeff);
}
});
columns.sort((a, b) => {
return a.title.localeCompare(b.title);
});
columns.unshift({field: 'grade', title: 'Grade', sortable: "true"});
var table = $('#forecast');
table.bootstrapTable("removeAll");
table.bootstrapTable({
columns: columns
});
lines.forEach(line => {
$('#forecast').bootstrapTable("append", line);
});
}
Большое спасибо за помощь!