dest = [];
var count = bodys0.getCount();
for(var i=0;i<count;i++){
var item = bodys0.getAt(i);
dest.push({
vendercname: item.get("manufacturercname"),
productname:item.get("productcategoriescname"),
salescount: item.get("salescountofyear"),
salesmoney:item.get("salesmoneyofyear")
});
}
dest.sort(function (a, b) {
return SortByProps(a, b);
});
//判断该厂家该产品是否已经存在,如果存在就累计销量
var map = {},
destbodys2 = [];
for(var i = 0; i < dest.length; i++){
var ai = dest[i];
if(i==0){
map = ai;
destbodys2.push({
vendercname: ai.vendercname,
productname:ai.productname,
salescount: ai.salescount,
salesmoney:ai.salesmoney
});
continue;
}
if(map.vendercname == ai.vendercname && map.productname == ai.productname){
for(var j = 0; j < destbodys2.length; j++){
var dj = destbodys2[j];
if(dj.vendercname == ai.vendercname && dj.productname == ai.productname){
dj.salescount = Number(dj.salescount) + Number(ai.salescount);
dj.salesmoney = Number(dj.salesmoney) + Number(ai.salesmoney);
break;
}
}
}else{
destbodys2.push({
vendercname: ai.vendercname,
productname:ai.productname,
salescount: ai.salescount,
salesmoney:ai.salesmoney
});
map = ai;
}
}
var bodys1jduge = bodys1.getCount();
if(bodys1jduge == 0){
for(var i=0;i<destbodys2.length;i++){
var item = destbodys2[i];
if(item.vendercname != "" && item.productname != ""){
var arr1 = new Array();
var row1 = voucher.newRow(1)
row1.set("vendercname",item.vendercname);//生产厂家
row1.set("productname",item.productname);//合作产品
row1.set("salescount",item.salescount);//销售量
row1.set("salesmoney",item.salesmoney);//销售额
row1.set("flag","1");
arr1[0] = row1;
bodys1.add(arr1);
}
}
}else{
for(var i=0;i<destbodys2.length;i++){
var item = destbodys2[i];
var indexget = isExists(item.vendercname,item.productname);
if(indexget == -1){
if(item.vendercname != "" && item.productname != ""){
var arr1 = new Array();
var row1 = voucher.newRow(1)
row1.set("vendercname",item.vendercname);//生产厂家
row1.set("productname",item.productname);//合作产品
row1.set("salescount",item.salescount);//销售量
row1.set("salesmoney",item.salesmoney);//销售额
row1.set("flag","1");
arr1[0] = row1;
bodys1.add(arr1);
}
}else{
bodys1.remove(bodys1.getAt(indexget));//如果存在先移除 再添加
var arr1 = new Array();
var row1 = voucher.newRow(1)
row1.set("vendercname",item.vendercname);//生产厂家
row1.set("productname",item.productname);//合作产品
row1.set("salescount",item.salescount);//销售量
row1.set("salesmoney",item.salesmoney);//销售额
row1.set("flag","1");
arr1[0] = row1;
bodys1.add(arr1);
}
}
}
------------------------------值变更前 删除第二个列表里的对应数据
dest = [];
var count = bodys0.getCount();
for(var i=0;i<count;i++){
var item = bodys0.getAt(i);
dest.push({
vendercname: item.get("manufacturercname"),
productname:item.get("productcategoriescname"),
salescount: item.get("salescountofyear"),
salesmoney:item.get("salesmoneyofyear")
});
}
dest.sort(function (a, b) {
return SortByProps(a, b);
});
//判断该厂家该产品是否已经存在,如果存在就累计销量
var map = {},
destbodys2 = [];
for(var i = 0; i < dest.length; i++){
var ai = dest[i];
if(i==0){
map = ai;
destbodys2.push({
vendercname: ai.vendercname,
productname:ai.productname,
salescount: ai.salescount,
salesmoney:ai.salesmoney
});
continue;
}
if(map.vendercname == ai.vendercname && map.productname == ai.productname){
for(var j = 0; j < destbodys2.length; j++){
var dj = destbodys2[j];
if(dj.vendercname == ai.vendercname && dj.productname == ai.productname){
dj.salescount = Number(dj.salescount) + Number(ai.salescount);
dj.salesmoney = Number(dj.salesmoney) + Number(ai.salesmoney);
break;
}
}
}else{
destbodys2.push({
vendercname: ai.vendercname,
productname:ai.productname,
salescount: ai.salescount,
salesmoney:ai.salesmoney
});
map = ai;
}
}
var bodys1jduge = bodys1.getCount();
if(bodys1jduge == 0){
for(var i=0;i<destbodys2.length;i++){
var item = destbodys2[i];
if(item.vendercname != "" && item.productname != ""){
var arr1 = new Array();
var row1 = voucher.newRow(1)
row1.set("vendercname",item.vendercname);//生产厂家
row1.set("productname",item.productname);//合作产品
row1.set("salescount",item.salescount);//销售量
row1.set("salesmoney",item.salesmoney);//销售额
row1.set("flag","1");
arr1[0] = row1;
bodys1.add(arr1);
}
}
}else{
for(var i=0;i<destbodys2.length;i++){
var item = destbodys2[i];
var indexget = isExists(item.vendercname,item.productname);
if(indexget == -1){
if(item.vendercname != "" && item.productname != ""){
var arr1 = new Array();
var row1 = voucher.newRow(1)
row1.set("vendercname",item.vendercname);//生产厂家
row1.set("productname",item.productname);//合作产品
row1.set("salescount",item.salescount);//销售量
row1.set("salesmoney",item.salesmoney);//销售额
row1.set("flag","1");
arr1[0] = row1;
bodys1.add(arr1);
}
}else{
bodys1.remove(bodys1.getAt(indexget));//如果存在先移除 再添加
var arr1 = new Array();
var row1 = voucher.newRow(1)
row1.set("vendercname",item.vendercname);//生产厂家
row1.set("productname",item.productname);//合作产品
row1.set("salescount",item.salescount);//销售量
row1.set("salesmoney",item.salesmoney);//销售额
row1.set("flag","1");
arr1[0] = row1;
bodys1.add(arr1);
}
}
}
function isExists(vendercname,productname){
var indexget = -1;
var bodys1countjduge = bodys1.getCount();
for(var i=0;i<bodys1countjduge;i++){
var item = bodys1.getAt(i);
if(item.get("vendercname") == vendercname && item.get("productname")== productname){
indexget = i;
}
}
return indexget;
}