|
@@ -468,8 +468,6 @@ var tools = {
|
|
|
},
|
|
|
|
|
|
reshowData: function(sheet, arr, setting, isResort){
|
|
|
- let time = new Date().getTime();
|
|
|
- console.log(`enterreshowData ${time}`);
|
|
|
tools.clearData(sheet);
|
|
|
if(isResort){
|
|
|
tools.resort(arr, 'code', false);
|
|
@@ -634,7 +632,7 @@ var tools = {
|
|
|
maxJobsNumber++;
|
|
|
//currentCountId++;
|
|
|
cnDataObj = {
|
|
|
- id: maxJobsNumber,
|
|
|
+ //id: maxJobsNumber,
|
|
|
billsLibId: billsLibId,
|
|
|
nodeId: nodeId,
|
|
|
newData: data,
|
|
@@ -668,7 +666,7 @@ var tools = {
|
|
|
maxJobsNumber++;
|
|
|
//currentCountId++;
|
|
|
unObj = {
|
|
|
- newJobId: maxJobsNumber,
|
|
|
+ //newJobId: maxJobsNumber,
|
|
|
billsLibId: billsLibId,
|
|
|
nodeId: nodeId,
|
|
|
newData: cData.newData,
|
|
@@ -717,7 +715,7 @@ var tools = {
|
|
|
maxItemsNumber++;
|
|
|
//currentCountId++;
|
|
|
cnDataObj = {
|
|
|
- id: maxItemsNumber,
|
|
|
+ // id: maxItemsNumber,
|
|
|
billsLibId: billsLibId,
|
|
|
nodeId: nodeId,
|
|
|
newData: data,
|
|
@@ -752,7 +750,7 @@ var tools = {
|
|
|
maxItemsNumber++;
|
|
|
//currentCountId++;
|
|
|
unObj = {
|
|
|
- newItemId: maxItemsNumber,
|
|
|
+ // newItemId: maxItemsNumber,
|
|
|
billsLibId: billsLibId,
|
|
|
nodeId: nodeId,
|
|
|
newData: cData.newData,
|
|
@@ -769,6 +767,194 @@ var tools = {
|
|
|
};
|
|
|
return pasteDatas;
|
|
|
},
|
|
|
+
|
|
|
+ encapTotalJobsDatas: function(sheet, totalJobs, uncrossedDatas, crossedDatas){
|
|
|
+ let pasteDatas
|
|
|
+ let rebuildArr =[];
|
|
|
+ if(crossedDatas.length > 0){
|
|
|
+ for(let i=0; i< crossedDatas.length; i++){
|
|
|
+ let field = crossedDatas[i].field, data = crossedDatas[i].data;
|
|
|
+ let isRepeat = tools.isRepeat(totalJobs.jobsArr, field, data, 'reference');
|
|
|
+ if(isRepeat){
|
|
|
+ crossedDatas.splice(i--, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(let i=0; i< crossedDatas.length; i++){
|
|
|
+ let field = crossedDatas[i].field, data = crossedDatas[i].data;
|
|
|
+ if(crossedDatas[i].field === 'code' && typeof data !== 'number' ){
|
|
|
+ crossedDatas.splice(i--, 1);
|
|
|
+ }
|
|
|
+ /*else {
|
|
|
+ totalJobs.jobsArr.forEach(job => {
|
|
|
+ if(job.data.id === crossedDatas[i].orgId){
|
|
|
+ job.data[field] = crossedDatas[i].data;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }*/
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(uncrossedDatas.length > 0){
|
|
|
+ for(let i=0; i< uncrossedDatas.length; i++){
|
|
|
+ let field = uncrossedDatas[i].field;
|
|
|
+ let isRepeat = tools.isRepeat(totalJobs.jobsArr, field, uncrossedDatas[i].data, 'reference');
|
|
|
+ if(isRepeat){
|
|
|
+ uncrossedDatas.splice(i--, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(let i=0; i< uncrossedDatas.length; i++){
|
|
|
+ let field = uncrossedDatas[i].field;
|
|
|
+ if(uncrossedDatas[i].field === 'code' && typeof uncrossedDatas[i].data !== 'number' ){
|
|
|
+ uncrossedDatas.splice(i--, 1);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ rebuildArr = tools.rebuildArr(uncrossedDatas, 'create');
|
|
|
+ function myCompare(a, b){
|
|
|
+ if(a.rowIdx > b.rowIdx)
|
|
|
+ return 1;
|
|
|
+ if(a.rowIdx < b.rowIdx)
|
|
|
+ return -1;
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ rebuildArr.sort(myCompare);
|
|
|
+ }
|
|
|
+ rebuildArr.forEach(function(data){
|
|
|
+ if(data.type !== 'CreateT' && data.field === 'content' ){
|
|
|
+ let code = maxJobsNumber ++;
|
|
|
+ data.code = code;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ pasteDatas = {
|
|
|
+ updateDatas: crossedDatas,
|
|
|
+ createDatas: rebuildArr
|
|
|
+ }
|
|
|
+ return pasteDatas;
|
|
|
+ },
|
|
|
+ encapTotalItemsDatas: function(sheet, totalItems, uncrossedDatas, crossedDatas){
|
|
|
+ let pasteDatas
|
|
|
+ let rebuildArr =[];
|
|
|
+ if(crossedDatas.length > 0){
|
|
|
+ for(let i=0; i< crossedDatas.length; i++){
|
|
|
+ let field = crossedDatas[i].field, data = crossedDatas[i].data;
|
|
|
+ let isRepeat = tools.isRepeat(totalItems.itemsArr, field, data, 'reference');
|
|
|
+ if(isRepeat){
|
|
|
+ crossedDatas.splice(i--, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(let i=0; i< crossedDatas.length; i++){
|
|
|
+ let field = crossedDatas[i].field, data = crossedDatas[i].data;
|
|
|
+ if(crossedDatas[i].field === 'code' && typeof data !== 'number' ){
|
|
|
+ crossedDatas.splice(i--, 1);
|
|
|
+ }
|
|
|
+ /*else {
|
|
|
+ totalJobs.jobsArr.forEach(job => {
|
|
|
+ if(job.data.id === crossedDatas[i].orgId){
|
|
|
+ job.data[field] = crossedDatas[i].data;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }*/
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(uncrossedDatas.length > 0){
|
|
|
+ for(let i=0; i< uncrossedDatas.length; i++){
|
|
|
+ let field = uncrossedDatas[i].field;
|
|
|
+ let isRepeat = tools.isRepeat(totalItems.itemsArr, field, uncrossedDatas[i].data, 'reference');
|
|
|
+ if(isRepeat){
|
|
|
+ uncrossedDatas.splice(i--, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(let i=0; i< uncrossedDatas.length; i++){
|
|
|
+ let field = uncrossedDatas[i].field;
|
|
|
+ if(uncrossedDatas[i].field === 'code' && typeof uncrossedDatas[i].data !== 'number' ){
|
|
|
+ uncrossedDatas.splice(i--, 1);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ rebuildArr = tools.rebuildArr(uncrossedDatas, 'create');
|
|
|
+ function myCompare(a, b){
|
|
|
+ if(a.rowIdx > b.rowIdx)
|
|
|
+ return 1;
|
|
|
+ if(a.rowIdx < b.rowIdx)
|
|
|
+ return -1;
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ rebuildArr.sort(myCompare);
|
|
|
+ }
|
|
|
+ rebuildArr.forEach(function(data){
|
|
|
+ if(data.type !== 'CreateT' && data.field === 'content' ){
|
|
|
+ let code = maxItemsNumber ++;
|
|
|
+ data.code = code;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ pasteDatas = {
|
|
|
+ updateDatas: crossedDatas,
|
|
|
+ createDatas: rebuildArr
|
|
|
+ }
|
|
|
+ return pasteDatas;
|
|
|
+ },
|
|
|
+ encapValues: function(sheet, totalItems, uncrossedDatas, crossedDatas){
|
|
|
+ let rebuildArr =[];
|
|
|
+ let rebuildUpdateDatas = [];
|
|
|
+ let valuesArr = valueController.getValues(totalItems, selectedId);
|
|
|
+ function myCompare(a, b){
|
|
|
+ if(a.rowIdx > b.rowIdx)
|
|
|
+ return 1;
|
|
|
+ if(a.rowIdx < b.rowIdx)
|
|
|
+ return -1;
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ if(crossedDatas.length > 0){
|
|
|
+ for(let i=0; i< crossedDatas.length; i++){
|
|
|
+ let field = crossedDatas[i].field, data = crossedDatas[i].data;
|
|
|
+ let isRepeat = tools.isRepeat(valuesArr, field, data, 'document');
|
|
|
+ if(isRepeat){
|
|
|
+ crossedDatas.splice(i--, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(let i=0; i< crossedDatas.length; i++){
|
|
|
+ let field = crossedDatas[i].field, data = crossedDatas[i].data;
|
|
|
+ if(crossedDatas[i].field === 'code' && typeof data !== 'number' ){
|
|
|
+ crossedDatas.splice(i--, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ rebuildUpdateDatas = tools.rebuildArr(crossedDatas, 'update');
|
|
|
+ rebuildUpdateDatas.sort(myCompare);
|
|
|
+ for(let i =0; i< rebuildUpdateDatas.length; i++){
|
|
|
+ rebuildUpdateDatas[i].itemId = selectedId;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(uncrossedDatas.length > 0){
|
|
|
+ for(let i=0; i< uncrossedDatas.length; i++){
|
|
|
+ let field = uncrossedDatas[i].field;
|
|
|
+ let isRepeat = tools.isRepeat(valuesArr, field, uncrossedDatas[i].data, 'document');
|
|
|
+ if(isRepeat){
|
|
|
+ uncrossedDatas.splice(i--, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(let i=0; i< uncrossedDatas.length; i++){
|
|
|
+ let field = uncrossedDatas[i].field;
|
|
|
+ if(uncrossedDatas[i].field === 'code' && typeof uncrossedDatas[i].data !== 'number' ){
|
|
|
+ uncrossedDatas.splice(i--, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ rebuildArr = tools.rebuildArr(uncrossedDatas, 'create');
|
|
|
+ rebuildArr.sort(myCompare);
|
|
|
+ for(let i=0; i< rebuildArr.length; i++){
|
|
|
+ let newCode = valueController.getCode(totalItems, selectedId);
|
|
|
+ rebuildArr[i].itemId = selectedId;
|
|
|
+ if(rebuildArr[i].type !== 'CreateT' && rebuildArr[i].field === 'value'){
|
|
|
+ rebuildArr[i].code = newCode;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //backendOP
|
|
|
+ let pasteDatas = {
|
|
|
+ updateDatas: rebuildUpdateDatas,
|
|
|
+ createDatas: rebuildArr
|
|
|
+ };
|
|
|
+ return pasteDatas;
|
|
|
+ },
|
|
|
+
|
|
|
rebuildArr: function(arr, classify){
|
|
|
let conformDatas = [];
|
|
|
let flag = true;
|
|
@@ -843,106 +1029,104 @@ var tools = {
|
|
|
};
|
|
|
|
|
|
let pasteController = {
|
|
|
- frontOperator: function(sheet, setting, controller, totalJobs, pasteDatas){
|
|
|
+ frontOperator: function(sheet, setting, controller, totalJobs, datas){
|
|
|
const UpdateExist = 'updateExist', UpdateNew = 'updateNew', CreateExist = 'createExist', CreateNew = 'createNew';
|
|
|
- let updateDatas = pasteDatas.updateDatas, createDatas = pasteDatas.createDatas;
|
|
|
- for(let i =0; i< updateDatas.length; i++){
|
|
|
- if(updateDatas[i].type === UpdateExist){
|
|
|
- totalJobs.jobsArr.forEach(job => {
|
|
|
- if(job.data.content === updateDatas[i].newData){
|
|
|
- let index = tools.getIndex(controller.tree.selected.jobs, updateDatas[i].orgJobId);
|
|
|
- job.count ++;
|
|
|
- controller.tree.selected.jobs.splice(index, 1);
|
|
|
- controller.tree.selected.jobs.splice(index, 0, job);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- if(updateDatas[i].type === UpdateNew){
|
|
|
- let newJobData, newJob;
|
|
|
- let newJobId = updateDatas[i].newJobId;
|
|
|
- newJobData = {id: newJobId, content: updateDatas[i].newData, code: updateDatas[i].code};
|
|
|
- newJob = createObj.newJob(newJobData);
|
|
|
- newJob.count = 1;
|
|
|
- totalJobs.jobs[totalJobs.prefix + newJobId] = newJob;
|
|
|
- totalJobs.jobsArr.push(newJob);
|
|
|
- var index = tools.getIndex(controller.tree.selected.jobs, updateDatas[i].orgJobId);
|
|
|
- controller.tree.selected.jobs.splice(index, 1);
|
|
|
- controller.tree.selected.jobs.splice(index, 0, newJob);
|
|
|
- }
|
|
|
- }
|
|
|
- for(let i=0; i< createDatas.length; i++){
|
|
|
- if(createDatas[i].type === CreateExist){
|
|
|
- totalJobs.jobsArr.forEach(job => {
|
|
|
- if(job.data.content === createDatas[i].newData){
|
|
|
- job.count ++;
|
|
|
- controller.tree.selected.jobs.push(job);
|
|
|
- }
|
|
|
+ if(datas.length > 0){
|
|
|
+ for(let i=0; i<datas.length; i++){
|
|
|
+ if(datas[i].type === UpdateExist){
|
|
|
+ totalJobs.jobsArr.forEach(job => {
|
|
|
+ if(job.data.content === datas[i].newData){
|
|
|
+ let index = tools.getIndex(controller.tree.selected.jobs, datas[i].orgJobId);
|
|
|
+ job.count ++;
|
|
|
+ controller.tree.selected.jobs.splice(index, 1);
|
|
|
+ controller.tree.selected.jobs.splice(index, 0, job);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if(datas[i].type === UpdateNew){
|
|
|
+ let newJobData, newJob;
|
|
|
+ let newJobId = datas[i].newJobId;
|
|
|
+ newJobData = {id: newJobId, content: datas[i].newData, code: datas[i].code};
|
|
|
+ newJob = createObj.newJob(newJobData);
|
|
|
+ newJob.count = 1;
|
|
|
+ totalJobs.jobs[totalJobs.prefix + newJobId] = newJob;
|
|
|
+ totalJobs.jobsArr.push(newJob);
|
|
|
+ var index = tools.getIndex(controller.tree.selected.jobs, datas[i].orgJobId);
|
|
|
+ controller.tree.selected.jobs.splice(index, 1);
|
|
|
+ controller.tree.selected.jobs.splice(index, 0, newJob);
|
|
|
+ }
|
|
|
+ if(datas[i].type === CreateExist){
|
|
|
+ totalJobs.jobsArr.forEach(job => {
|
|
|
+ if(job.data.content === datas[i].newData){
|
|
|
+ job.count ++;
|
|
|
+ controller.tree.selected.jobs.push(job);
|
|
|
+ }
|
|
|
|
|
|
- });
|
|
|
- }
|
|
|
- if(createDatas[i].type === CreateNew){
|
|
|
- let newJobId = createDatas[i].id;
|
|
|
- let newJobData, newJob;
|
|
|
- newJobData = {id: newJobId, content: createDatas[i].newData, code: createDatas[i].code};
|
|
|
- newJob = createObj.newJob(newJobData);
|
|
|
- newJob.count = 1;
|
|
|
- totalJobs.jobs[totalJobs.prefix + newJobId] = newJob;
|
|
|
- totalJobs.jobsArr.push(newJob);
|
|
|
- controller.tree.selected.jobs.push(newJob);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if(datas[i].type === CreateNew){
|
|
|
+ let newJobId = datas[i].newJobId;
|
|
|
+ let newJobData, newJob;
|
|
|
+ newJobData = {id: newJobId, content: datas[i].newData, code: datas[i].code};
|
|
|
+ newJob = createObj.newJob(newJobData);
|
|
|
+ newJob.count = 1;
|
|
|
+ totalJobs.jobs[totalJobs.prefix + newJobId] = newJob;
|
|
|
+ totalJobs.jobsArr.push(newJob);
|
|
|
+ controller.tree.selected.jobs.push(newJob);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
//resort&reshow
|
|
|
- let time = new Date().getTime();
|
|
|
tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);
|
|
|
sheetDatas = tools.getsheetDatas(sheet);
|
|
|
|
|
|
},
|
|
|
- frontItemsRelOperator: function(sheet, setting, controller, totalItems, pasteDatas){
|
|
|
+ frontItemsRelOperator: function(sheet, setting, controller, totalItems, datas){
|
|
|
const UpdateExist = 'updateExist', UpdateNew = 'updateNew', CreateExist = 'createExist', CreateNew = 'createNew';
|
|
|
- let updateDatas = pasteDatas.updateDatas, createDatas = pasteDatas.createDatas;
|
|
|
- for(let i =0; i< updateDatas.length; i++){
|
|
|
- if(updateDatas[i].type === UpdateExist){
|
|
|
- totalItems.itemsArr.forEach(item => {
|
|
|
- if(item.data.content === updateDatas[i].newData){
|
|
|
- let index = tools.getIndex(controller.tree.selected.items, updateDatas[i].orgItemId);
|
|
|
- item.count ++;
|
|
|
- controller.tree.selected.items.splice(index, 1);
|
|
|
- controller.tree.selected.items.splice(index, 0, item);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- if(updateDatas[i].type === UpdateNew){
|
|
|
- let newItemData, newItem;
|
|
|
- let newItemId = updateDatas[i].newItemId;
|
|
|
- newItemData = {id: newItemId, content: updateDatas[i].newData, code: updateDatas[i].code};
|
|
|
- newItem = createObj.newItem(newItemData);
|
|
|
- newItem.count = 1;
|
|
|
- totalItems.items[totalItems.prefix + newItemId] = newItem;
|
|
|
- totalItems.itemsArr.push(newItem);
|
|
|
- var index = tools.getIndex(controller.tree.selected.items, updateDatas[i].orgItemId);
|
|
|
- controller.tree.selected.items.splice(index, 1);
|
|
|
- controller.tree.selected.items.splice(index, 0, newItem);
|
|
|
- }
|
|
|
- }
|
|
|
- for(let i=0; i< createDatas.length; i++){
|
|
|
- if(createDatas[i].type === CreateExist){
|
|
|
- totalItems.itemsArr.forEach(item => {
|
|
|
- if(item.data.content === createDatas[i].newData){
|
|
|
- item.count ++;
|
|
|
- controller.tree.selected.jobs.push(item);
|
|
|
- }
|
|
|
+ //let updateDatas = pasteDatas.updateDatas, createDatas = pasteDatas.createDatas;
|
|
|
+ if(datas.length > 0){
|
|
|
+ for(let i =0; i<datas.length; i++){
|
|
|
+ if(datas[i].type === UpdateExist){
|
|
|
+ totalItems.itemsArr.forEach(item => {
|
|
|
+ if(item.data.content === datas[i].newData){
|
|
|
+ let index = tools.getIndex(controller.tree.selected.items, datas[i].orgItemId);
|
|
|
+ item.count ++;
|
|
|
+ controller.tree.selected.items.splice(index, 1);
|
|
|
+ controller.tree.selected.items.splice(index, 0, item);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if(datas[i].type === UpdateNew){
|
|
|
+ let newItemData, newItem;
|
|
|
+ let newItemId = datas[i].newItemId;
|
|
|
+ newItemData = {id: newItemId, content: datas[i].newData, code: datas[i].code};
|
|
|
+ newItem = createObj.newItem(newItemData);
|
|
|
+ newItem.count = 1;
|
|
|
+ totalItems.items[totalItems.prefix + newItemId] = newItem;
|
|
|
+ totalItems.itemsArr.push(newItem);
|
|
|
+ var index = tools.getIndex(controller.tree.selected.items, datas[i].orgItemId);
|
|
|
+ controller.tree.selected.items.splice(index, 1);
|
|
|
+ controller.tree.selected.items.splice(index, 0, newItem);
|
|
|
+ }
|
|
|
+ if(datas[i].type === CreateExist){
|
|
|
+ totalItems.itemsArr.forEach(item => {
|
|
|
+ if(item.data.content === datas[i].newData){
|
|
|
+ item.count ++;
|
|
|
+ controller.tree.selected.jobs.push(item);
|
|
|
+ }
|
|
|
|
|
|
- });
|
|
|
- }
|
|
|
- if(createDatas[i].type === CreateNew){
|
|
|
- let newItemId = createDatas[i].id;
|
|
|
- let newItemData, newItem;
|
|
|
- newItemData = {id: newItemId, content: createDatas[i].newData, code: createDatas[i].code};
|
|
|
- newItem = createObj.newItem(newItemData);
|
|
|
- newItem.count = 1;
|
|
|
- totalItems.items[totalItems.prefix + newItemId] = newItem;
|
|
|
- totalItems.itemsArr.push(newItem);
|
|
|
- controller.tree.selected.items.push(newItem);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if(datas[i].type === CreateNew){
|
|
|
+ let newItemId = datas[i].newItemId;
|
|
|
+ let newItemData, newItem;
|
|
|
+ newItemData = {id: newItemId, content: datas[i].newData, code: datas[i].code};
|
|
|
+ newItem = createObj.newItem(newItemData);
|
|
|
+ newItem.count = 1;
|
|
|
+ totalItems.items[totalItems.prefix + newItemId] = newItem;
|
|
|
+ totalItems.itemsArr.push(newItem);
|
|
|
+ controller.tree.selected.items.push(newItem);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
//resort&reshow
|
|
@@ -950,303 +1134,129 @@ let pasteController = {
|
|
|
sheetItemsDatas = tools.getsheetDatas(sheet);
|
|
|
|
|
|
},
|
|
|
- pasteJobsFront: function(sheet, totalJobs, uncrossedDatas, crossedDatas){
|
|
|
- let rebuildArr =[];
|
|
|
- if(crossedDatas.length > 0){
|
|
|
- for(let i=0; i< crossedDatas.length; i++){
|
|
|
- let field = crossedDatas[i].field, data = crossedDatas[i].data;
|
|
|
- let isRepeat = tools.isRepeat(totalJobs.jobsArr, field, data, 'reference');
|
|
|
- if(isRepeat){
|
|
|
- crossedDatas.splice(i--, 1);
|
|
|
- }
|
|
|
- }
|
|
|
- for(let i=0; i< crossedDatas.length; i++){
|
|
|
- let field = crossedDatas[i].field, data = crossedDatas[i].data;
|
|
|
- if(crossedDatas[i].field === 'code' && typeof data !== 'number' ){
|
|
|
- crossedDatas.splice(i--, 1);
|
|
|
- }
|
|
|
- else {
|
|
|
+ pasteJobsFront: function(sheet, totalJobs, datas){
|
|
|
+ const Update = 'Update', CreateT = 'CreateT';
|
|
|
+ if(datas.length > 0){
|
|
|
+ for(let i=0; i<datas.length; i++){
|
|
|
+ let newJobData, newJob;
|
|
|
+ if(datas[i].type === Update){
|
|
|
totalJobs.jobsArr.forEach(job => {
|
|
|
- if(job.data.id === crossedDatas[i].orgId){
|
|
|
- job.data[field] = crossedDatas[i].data;
|
|
|
+ if(job.data.id === datas[i].orgId){
|
|
|
+ job.data[field] = datas[i].data;
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
- }
|
|
|
- }
|
|
|
- if(uncrossedDatas.length > 0){
|
|
|
- for(let i=0; i< uncrossedDatas.length; i++){
|
|
|
- let field = uncrossedDatas[i].field;
|
|
|
- let isRepeat = tools.isRepeat(totalJobs.jobsArr, field, uncrossedDatas[i].data, 'reference');
|
|
|
- if(isRepeat){
|
|
|
- uncrossedDatas.splice(i--, 1);
|
|
|
- }
|
|
|
- }
|
|
|
- for(let i=0; i< uncrossedDatas.length; i++){
|
|
|
- let field = uncrossedDatas[i].field;
|
|
|
- if(uncrossedDatas[i].field === 'code' && typeof uncrossedDatas[i].data !== 'number' ){
|
|
|
- uncrossedDatas.splice(i--, 1);
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- rebuildArr = tools.rebuildArr(uncrossedDatas, 'create');
|
|
|
- function myCompare(a, b){
|
|
|
- if(a.rowIdx > b.rowIdx)
|
|
|
- return 1;
|
|
|
- if(a.rowIdx < b.rowIdx)
|
|
|
- return -1;
|
|
|
- return 0;
|
|
|
- }
|
|
|
- rebuildArr.sort(myCompare);
|
|
|
- for(let i=0; i< rebuildArr.length; i++){
|
|
|
- let newJobData, newJob;
|
|
|
- if(rebuildArr[i].type === 'CreateT'){
|
|
|
+ if(datas[i].type === CreateT){
|
|
|
maxJobsNumber++;
|
|
|
- maxJobsNumber = maxJobsNumber >= rebuildArr[i].code ? maxJobsNumber : rebuildArr[i].code;
|
|
|
- let id = maxJobsNumber;
|
|
|
- //rebuildArr[i].code = maxJobsNumber;
|
|
|
- rebuildArr[i].id = id;
|
|
|
- newJobData = {id: id, content: rebuildArr[i].content, code: rebuildArr[i].code};
|
|
|
+ maxJobsNumber = maxJobsNumber >= datas[i].code ? maxJobsNumber : datas[i].code;
|
|
|
+ newJobData = {id: datas[i].newJobId, content: datas[i].content, code: datas[i].code};
|
|
|
newJob = createObj.newJob(newJobData);
|
|
|
totalJobs.jobsArr.push(newJob);
|
|
|
}
|
|
|
- if(rebuildArr[i].type !== 'CreateT' && rebuildArr[i].field === 'content'){
|
|
|
- maxJobsNumber++;
|
|
|
- let id = maxJobsNumber;
|
|
|
- let code = tools.getNewCode(totalJobs, 'jobs');
|
|
|
- code++;
|
|
|
- rebuildArr[i].id = id;
|
|
|
- rebuildArr[i].code = code;
|
|
|
- newJobData = {id: id, content: rebuildArr[i].data, code: code};
|
|
|
+ if(datas[i].type !== CreateT && datas[i].field === 'content'){
|
|
|
+ newJobData = {id: datas[i].newJobId, content: datas[i].data, code: datas[i].code};
|
|
|
newJob = createObj.newJob(newJobData);
|
|
|
totalJobs.jobsArr.push(newJob);
|
|
|
}
|
|
|
- if(rebuildArr[i].type !== 'CreateT' && rebuildArr[i].field === 'code'){
|
|
|
+ if(datas[i].type !== 'CreateT' && datas[i].field === 'code'){
|
|
|
maxJobsNumber++;
|
|
|
- maxJobsNumber = maxJobsNumber >= rebuildArr[i].data ? maxJobsNumber : rebuildArr[i].data;
|
|
|
- let id = maxJobsNumber;
|
|
|
- // rebuildArr[i].data = maxJobsNumber;
|
|
|
- rebuildArr[i].id = id;
|
|
|
- newJobData = {id: id, content: '', code: rebuildArr[i].data};
|
|
|
+ maxJobsNumber = maxJobsNumber >= datas[i].data ? maxJobsNumber : datas[i].data;
|
|
|
+ newJobData = {id: datas[i].newJobId, content: '', code: datas[i].data};
|
|
|
newJob = createObj.newJob(newJobData);
|
|
|
totalJobs.jobsArr.push(newJob);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
tools.reshowData(sheet, totalJobs.jobsArr, totalJobsSetting, true);
|
|
|
- //backendOP
|
|
|
- let backendDatas = {
|
|
|
- updateDatas: crossedDatas,
|
|
|
- createDatas: rebuildArr
|
|
|
- };
|
|
|
- jobsAjax.pasteJobs(backendDatas);
|
|
|
},
|
|
|
- pasteItemsFront: function(sheet, totalItems, uncrossedDatas, crossedDatas){
|
|
|
- let rebuildArr =[];
|
|
|
- if(crossedDatas.length > 0){
|
|
|
- for(let i=0; i< crossedDatas.length; i++){
|
|
|
- let field = crossedDatas[i].field, data = crossedDatas[i].data;
|
|
|
- let isRepeat = tools.isRepeat(totalItems.itemsArr, field, data, 'reference');
|
|
|
- if(isRepeat){
|
|
|
- crossedDatas.splice(i--, 1);
|
|
|
- }
|
|
|
- }
|
|
|
- for(let i=0; i< crossedDatas.length; i++){
|
|
|
- let field = crossedDatas[i].field, data = crossedDatas[i].data;
|
|
|
- if(crossedDatas[i].field === 'code' && typeof data !== 'number' ){
|
|
|
- crossedDatas.splice(i--, 1);
|
|
|
- }
|
|
|
- else {
|
|
|
+ pasteItemsFront: function(sheet, totalItems, datas){
|
|
|
+ const Update = 'Update', CreateT = 'CreateT';
|
|
|
+ if(datas.length > 0){
|
|
|
+ for(let i=0; i<datas.length; i++){
|
|
|
+ let newItemData, newItem;
|
|
|
+ if(datas[i].type === Update){
|
|
|
totalItems.itemsArr.forEach(item => {
|
|
|
- if(item.data.id === crossedDatas[i].orgId){
|
|
|
- item.data[field] = crossedDatas[i].data;
|
|
|
+ if(item.data.id === datas[i].orgId){
|
|
|
+ item.data[field] = datas[i].data;
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
- }
|
|
|
- }
|
|
|
- if(uncrossedDatas.length > 0){
|
|
|
- for(let i=0; i< uncrossedDatas.length; i++){
|
|
|
- let field = uncrossedDatas[i].field;
|
|
|
- let isRepeat = tools.isRepeat(totalItems.itemsArr, field, uncrossedDatas[i].data, 'reference');
|
|
|
- if(isRepeat){
|
|
|
- uncrossedDatas.splice(i--, 1);
|
|
|
- }
|
|
|
- }
|
|
|
- for(let i=0; i< uncrossedDatas.length; i++){
|
|
|
- let field = uncrossedDatas[i].field;
|
|
|
- if(uncrossedDatas[i].field === 'code' && typeof uncrossedDatas[i].data !== 'number' ){
|
|
|
- uncrossedDatas.splice(i--, 1);
|
|
|
- }
|
|
|
- }
|
|
|
- rebuildArr = tools.rebuildArr(uncrossedDatas, 'create');
|
|
|
- function myCompare(a, b){
|
|
|
- if(a.rowIdx > b.rowIdx)
|
|
|
- return 1;
|
|
|
- if(a.rowIdx < b.rowIdx)
|
|
|
- return -1;
|
|
|
- return 0;
|
|
|
- }
|
|
|
- rebuildArr.sort(myCompare);
|
|
|
- for(let i=0; i< rebuildArr.length; i++){
|
|
|
- let newItemData, newItem;
|
|
|
- if(rebuildArr[i].type === 'CreateT'){
|
|
|
+ if(datas[i].type === CreateT){
|
|
|
maxItemsNumber++;
|
|
|
- maxItemsNumber = maxItemsNumber >= rebuildArr[i].code ? maxItemsNumber : rebuildArr[i].code;
|
|
|
- let id = maxItemsNumber;
|
|
|
- rebuildArr[i].id = id;
|
|
|
- newItemData = {id: id, content: rebuildArr[i].content, code: rebuildArr[i].code, itemValue:[]};
|
|
|
+ maxItemsNumber = maxItemsNumber >= datas[i].code ? maxItemsNumber : datas[i].code;
|
|
|
+ newItemData = {id: datas[i].newItemId, content: datas[i].content, code: datas[i].code};
|
|
|
newItem = createObj.newItem(newItemData);
|
|
|
totalItems.itemsArr.push(newItem);
|
|
|
- totalItems.items[totalItems.prefix + id] = newItem;
|
|
|
}
|
|
|
- if(rebuildArr[i].type !== 'CreateT' && rebuildArr[i].field === 'content'){
|
|
|
- maxItemsNumber++;
|
|
|
- let id = maxItemsNumber;
|
|
|
- let code = tools.getNewCode(totalItems, 'items');
|
|
|
- code++;
|
|
|
- rebuildArr[i].id = id;
|
|
|
- rebuildArr[i].code = code;
|
|
|
- newItemData = {id: id, content: rebuildArr[i].data, code: code, itemValue:[]};
|
|
|
+ if(datas[i].type !== CreateT && datas[i].field === 'content'){
|
|
|
+ newItemData = {id: datas[i].newItemId, content: datas[i].data, code: datas[i].code};
|
|
|
newItem = createObj.newItem(newItemData);
|
|
|
totalItems.itemsArr.push(newItem);
|
|
|
- totalItems.items[totalItems.prefix + id] = newItem;
|
|
|
}
|
|
|
- if(rebuildArr[i].type !== 'CreateT' && rebuildArr[i].field === 'code'){
|
|
|
+ if(datas[i].type !== 'CreateT' && datas[i].field === 'code'){
|
|
|
maxItemsNumber++;
|
|
|
- maxItemsNumber = maxItemsNumber >= rebuildArr[i].data ? maxItemsNumber : rebuildArr[i].data;
|
|
|
- let id = maxItemsNumber;
|
|
|
- rebuildArr[i].id = id;
|
|
|
- newItemData = {id: id, content: '', code: rebuildArr[i].data};
|
|
|
+ maxItemsNumber = maxItemsNumber >= datas[i].data ? maxItemsNumber : datas[i].data;
|
|
|
+ newItemData = {id: datas[i].newItemId, content: '', code: datas[i].data};
|
|
|
newItem = createObj.newItem(newItemData);
|
|
|
totalItems.itemsArr.push(newItem);
|
|
|
- totalItems.items[totalItems.prefix + id] = newItem;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
tools.reshowData(sheet, totalItems.itemsArr, totalItemsSetting, true);
|
|
|
- //backendOP
|
|
|
- let backendDatas = {
|
|
|
- updateDatas: crossedDatas,
|
|
|
- createDatas: rebuildArr
|
|
|
- };
|
|
|
- itemsAjax.pasteItems(backendDatas);
|
|
|
},
|
|
|
|
|
|
- pasteValueFront: function(sheet, totalItems, uncrossedDatas, crossedDatas){
|
|
|
- let rebuildArr =[];
|
|
|
- let rebuildUpdateDatas = [];
|
|
|
+ pasteValueFront: function(sheet, totalItems, datas){
|
|
|
let backendUpdateDatas = [];
|
|
|
let valuesArr = valueController.getValues(totalItems, selectedId);
|
|
|
- function myCompare(a, b){
|
|
|
- if(a.rowIdx > b.rowIdx)
|
|
|
- return 1;
|
|
|
- if(a.rowIdx < b.rowIdx)
|
|
|
- return -1;
|
|
|
- return 0;
|
|
|
- }
|
|
|
- if(crossedDatas.length > 0){
|
|
|
- for(let i=0; i< crossedDatas.length; i++){
|
|
|
- let field = crossedDatas[i].field, data = crossedDatas[i].data;
|
|
|
- let isRepeat = tools.isRepeat(valuesArr, field, data, 'document');
|
|
|
- if(isRepeat){
|
|
|
- crossedDatas.splice(i--, 1);
|
|
|
- }
|
|
|
- }
|
|
|
- for(let i=0; i< crossedDatas.length; i++){
|
|
|
- let field = crossedDatas[i].field, data = crossedDatas[i].data;
|
|
|
- if(crossedDatas[i].field === 'code' && typeof data !== 'number' ){
|
|
|
- crossedDatas.splice(i--, 1);
|
|
|
- }
|
|
|
- }
|
|
|
- rebuildUpdateDatas = tools.rebuildArr(crossedDatas, 'update');
|
|
|
- rebuildUpdateDatas.sort(myCompare);
|
|
|
- for(let i =0; i< rebuildUpdateDatas.length; i++){
|
|
|
- rebuildUpdateDatas[i].itemId = selectedId;
|
|
|
+ if(datas.length > 0){
|
|
|
+ for(let i =0; i< datas.length; i++){
|
|
|
let index;
|
|
|
- if(rebuildUpdateDatas[i].type === 'UpdateT'){
|
|
|
+ if(datas[i].type === 'UpdateT'){
|
|
|
if(valuesArr){
|
|
|
for(let j=0; j< valuesArr.length; j++){
|
|
|
- if(rebuildUpdateDatas[i].orgId === valuesArr[j].code){
|
|
|
+ if(datas[i].orgId === valuesArr[j].code){
|
|
|
index = j;
|
|
|
valuesArr.splice(j--, 1);
|
|
|
}
|
|
|
}
|
|
|
- let updateEle = {code: rebuildUpdateDatas[i].code, value: rebuildUpdateDatas[i].content};
|
|
|
+ let updateEle = {code: datas[i].code, value: datas[i].content};
|
|
|
valuesArr.splice(index, 0, updateEle);
|
|
|
}
|
|
|
}
|
|
|
- if(rebuildUpdateDatas[i].type !== 'UpdateT' && rebuildUpdateDatas[i].field === 'code'){
|
|
|
+ if(datas[i].type !== 'UpdateT' && datas[i].field === 'code'){
|
|
|
if(valuesArr){
|
|
|
for(let j=0; j< valuesArr.length; j++){
|
|
|
- if(rebuildUpdateDatas[i].orgId === valuesArr[j].code){
|
|
|
- valuesArr[j].code = rebuildUpdateDatas[i].data;
|
|
|
+ if(datas[i].orgId === valuesArr[j].code){
|
|
|
+ valuesArr[j].code = datas[i].data;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if(rebuildUpdateDatas[i].type !== 'UpdateT' && rebuildUpdateDatas[i].field === 'value'){
|
|
|
+ if(datas[i].type !== 'UpdateT' && datas[i].field === 'value'){
|
|
|
if(valuesArr){
|
|
|
for(let j=0; j< valuesArr.length; j++){
|
|
|
- if(rebuildUpdateDatas[i].orgId === valuesArr[j].code){
|
|
|
- valuesArr[j].value = rebuildUpdateDatas[i].data
|
|
|
+ if(datas[i].orgId === valuesArr[j].code){
|
|
|
+ valuesArr[j].value = datas[i].data
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- }
|
|
|
- if(uncrossedDatas.length > 0){
|
|
|
- for(let i=0; i< uncrossedDatas.length; i++){
|
|
|
- let field = uncrossedDatas[i].field;
|
|
|
- let isRepeat = tools.isRepeat(valuesArr, field, uncrossedDatas[i].data, 'document');
|
|
|
- if(isRepeat){
|
|
|
- uncrossedDatas.splice(i--, 1);
|
|
|
- }
|
|
|
- }
|
|
|
- for(let i=0; i< uncrossedDatas.length; i++){
|
|
|
- let field = uncrossedDatas[i].field;
|
|
|
- if(uncrossedDatas[i].field === 'code' && typeof uncrossedDatas[i].data !== 'number' ){
|
|
|
- uncrossedDatas.splice(i--, 1);
|
|
|
- }
|
|
|
- }
|
|
|
- rebuildArr = tools.rebuildArr(uncrossedDatas, 'create');
|
|
|
- rebuildArr.sort(myCompare);
|
|
|
- for(let i=0; i< rebuildArr.length; i++){
|
|
|
- let newValueData, newValue;
|
|
|
- let newCode = valueController.getCode(totalItems, selectedId);
|
|
|
- if(rebuildArr[i].type === 'CreateT'){
|
|
|
- rebuildArr[i].itemId = selectedId;
|
|
|
- newValueData = {value: rebuildArr[i].content, code: rebuildArr[i].code};
|
|
|
+ if(datas[i].type === 'CreateT'){
|
|
|
+ let newValueData = {value: datas[i].content, code: datas[i].code};
|
|
|
valuesArr.push(newValueData);
|
|
|
|
|
|
}
|
|
|
- if(rebuildArr[i].type !== 'CreateT' && rebuildArr[i].field === 'value'){
|
|
|
- rebuildArr[i].itemId = selectedId;
|
|
|
- rebuildArr[i].code = newCode;
|
|
|
- newValueData = {value: rebuildArr[i].data, code: newCode};
|
|
|
+ if(datas[i].type !== 'CreateT' && datas[i].field === 'value'){
|
|
|
+ let newValueData = {value: datas[i].data, code: datas.code};
|
|
|
valuesArr.push(newValueData);
|
|
|
}
|
|
|
if(rebuildArr[i].type !== 'CreateT' && rebuildArr[i].field === 'code'){
|
|
|
- //newCode = newCode >= rebuildArr[i].data ? newCode : rebuildArr[i].data;
|
|
|
- //rebuildArr[i].data = newCode;
|
|
|
- rebuildArr[i].itemId = selectedId;
|
|
|
- newValueData = {value: '', code: rebuildArr[i].data};
|
|
|
+ let newValueData = {value: '', code: datas[i].data};
|
|
|
valuesArr.push(newValueData);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
tools.reshowValue(sheet, valuesArr, eigenValueSetting, true);
|
|
|
- //backendOP
|
|
|
- let backendDatas = {
|
|
|
- updateDatas: rebuildUpdateDatas,
|
|
|
- createDatas: rebuildArr
|
|
|
- };
|
|
|
- if(rebuildUpdateDatas.length >0 || rebuildArr.length >0){
|
|
|
- itemsAjax.pasteValues(backendDatas);
|
|
|
- }
|
|
|
-
|
|
|
}
|
|
|
};
|
|
|
|