|
|
@@ -633,136 +633,138 @@ define(['app/app'], function (app) {
|
|
|
$scope.sameCust = true;
|
|
|
$scope.validQty = true;
|
|
|
$scope.loading = true;
|
|
|
+ angular.forEach($scope.data, function(items) {
|
|
|
+ angular.forEach(items.details, function (check) {
|
|
|
+ //保存应收对账单明细行数据
|
|
|
+ $scope.item = {
|
|
|
+ inoutno: '',
|
|
|
+ inoutnodetno: '',
|
|
|
+ orderCode: '',
|
|
|
+ orderClass: '',
|
|
|
+ orderDetno: '',
|
|
|
+ price: '',
|
|
|
+ checkQty: '',
|
|
|
+ amount: '',
|
|
|
+ sourceId: '',
|
|
|
+ sourceTable: '',
|
|
|
+ oldYCheckQty: '',
|
|
|
+ status: 0,
|
|
|
+ receiveCode: '',
|
|
|
+ receiveName: '',
|
|
|
+ prodCode: '',
|
|
|
+ prodTitle: '',
|
|
|
+ prodUnit: '',
|
|
|
+ prodSpec: '',
|
|
|
+ taxrate: '',
|
|
|
+ sendcode: '',
|
|
|
+ whname: '',
|
|
|
+ custUserUU: '',
|
|
|
+ sourceDate: ''
|
|
|
+ };
|
|
|
+
|
|
|
+ //应收对账单明细行来源表信息
|
|
|
+ $scope.sourceInfo = {
|
|
|
+ sourceId: '',
|
|
|
+ sourceTable: '',
|
|
|
+ newYCheckQty: ''
|
|
|
+ };
|
|
|
+
|
|
|
+ //此次对账后新的已转数
|
|
|
+ $scope.newYCheckQty = 0;
|
|
|
+ if (check.$selected == true && !check.haveChecked) {
|
|
|
+ $scope.apCheck.custName = check.custname;
|
|
|
+ $scope.apCheck.enUu = check.enuu;
|
|
|
+ $scope.apCheck.checkAmount += (check.thischeckqty || 0) * (check.orderprice || 0);
|
|
|
+ $scope.apCheck.apDate = check.pidate;
|
|
|
+ $scope.apCheck.rate = check.rate;
|
|
|
+
|
|
|
+ //必须是同一家客户才能生成对账单,否则提示错误
|
|
|
+ if ($scope.apCheck.custUu == '') {
|
|
|
+ $scope.apCheck.custUu = check.custuu;
|
|
|
+ } else if ($scope.apCheck.custUu !== check.custuu) {
|
|
|
+ $scope.sameCust = false;
|
|
|
+ $scope.loading = false;
|
|
|
+ toaster.pop('error', '请选择同一家客户');
|
|
|
+ }
|
|
|
|
|
|
- angular.forEach($scope.data, function (check) {
|
|
|
- //保存应收对账单明细行数据
|
|
|
- $scope.item = {
|
|
|
- inoutno: '',
|
|
|
- inoutnodetno: '',
|
|
|
- orderCode: '',
|
|
|
- orderClass: '',
|
|
|
- orderDetno: '',
|
|
|
- price: '',
|
|
|
- checkQty: '',
|
|
|
- amount: '',
|
|
|
- sourceId: '',
|
|
|
- sourceTable: '',
|
|
|
- oldYCheckQty: '',
|
|
|
- status: 0,
|
|
|
- receiveCode: '',
|
|
|
- receiveName: '',
|
|
|
- prodCode: '',
|
|
|
- prodTitle: '',
|
|
|
- prodUnit: '',
|
|
|
- prodSpec: '',
|
|
|
- taxrate: '',
|
|
|
- sendcode: '',
|
|
|
- whname: '',
|
|
|
- custUserUU: '',
|
|
|
- sourceDate: ''
|
|
|
- };
|
|
|
-
|
|
|
- //应收对账单明细行来源表信息
|
|
|
- $scope.sourceInfo = {
|
|
|
- sourceId: '',
|
|
|
- sourceTable: '',
|
|
|
- newYCheckQty: ''
|
|
|
- };
|
|
|
-
|
|
|
- //此次对账后新的已转数
|
|
|
- $scope.newYCheckQty = 0;
|
|
|
- if (check.$selected == true && !check.haveChecked) {
|
|
|
- $scope.apCheck.custName = check.custname;
|
|
|
- $scope.apCheck.enUu = check.enuu;
|
|
|
- $scope.apCheck.checkAmount += (check.thischeckqty || 0) * (check.orderprice || 0);
|
|
|
- $scope.apCheck.apDate = check.pidate;
|
|
|
- $scope.apCheck.rate = check.rate;
|
|
|
-
|
|
|
- //必须是同一家客户才能生成对账单,否则提示错误
|
|
|
- if ($scope.apCheck.custUu == '') {
|
|
|
- $scope.apCheck.custUu = check.custuu;
|
|
|
- } else if ($scope.apCheck.custUu !== check.custuu) {
|
|
|
- $scope.sameCust = false;
|
|
|
- $scope.loading = false;
|
|
|
- toaster.pop('error', '请选择同一家客户');
|
|
|
- }
|
|
|
-
|
|
|
- //必须是相同币别才能生成对账单,否则提示错误
|
|
|
- if ($scope.apCheck.currency == '') {
|
|
|
- $scope.apCheck.currency = check.currency;
|
|
|
- } else if ($scope.apCheck.currency !== check.currency) {
|
|
|
- $scope.sameCust = false;
|
|
|
- $scope.loading = false;
|
|
|
- toaster.pop('error', '请选择同一种币别');
|
|
|
- }
|
|
|
-
|
|
|
- //必须是相同税率才能生成对账单,否则提示错误
|
|
|
- if (!angular.isNumber($scope.apCheck.taxrate)) {
|
|
|
- $scope.apCheck.taxrate = check.taxrate;
|
|
|
- } else if ($scope.apCheck.taxrate != check.taxrate) {
|
|
|
- $scope.sameCust = false;
|
|
|
- $scope.loading = false;
|
|
|
- toaster.pop('error', '请选择相同的税率');
|
|
|
- }
|
|
|
-
|
|
|
- //本次对账数量必须小于总对账数量
|
|
|
- if (check.qty > 0) {
|
|
|
- $scope.data.maxThisCheckQty = check.qty;
|
|
|
- $scope.data.minThisCheckQty = 0;
|
|
|
- if (check.qty - (check.ycheckqty || 0) < check.thischeckqty || check.thischeckqty < 0 || check.thischeckqty == 0) {
|
|
|
- $scope.validQty = false;
|
|
|
+ //必须是相同币别才能生成对账单,否则提示错误
|
|
|
+ if ($scope.apCheck.currency == '') {
|
|
|
+ $scope.apCheck.currency = check.currency;
|
|
|
+ } else if ($scope.apCheck.currency !== check.currency) {
|
|
|
+ $scope.sameCust = false;
|
|
|
$scope.loading = false;
|
|
|
- toaster.pop('error', '本次对账数量,填写有误!');
|
|
|
+ toaster.pop('error', '请选择同一种币别');
|
|
|
}
|
|
|
- } else if (check.qty < 0) {
|
|
|
- $scope.data.maxThisCheckQty = 0;
|
|
|
- $scope.data.minThisCheckQty = check.qty;
|
|
|
- if (((-check.qty) - (-check.ycheckqty) < (-check.thischeckqty)) || check.thischeckqty > 0 || check.thischeckqty == 0) {
|
|
|
- $scope.validQty = false;
|
|
|
+
|
|
|
+ //必须是相同税率才能生成对账单,否则提示错误
|
|
|
+ if (!angular.isNumber($scope.apCheck.taxrate)) {
|
|
|
+ $scope.apCheck.taxrate = check.taxrate;
|
|
|
+ } else if ($scope.apCheck.taxrate != check.taxrate) {
|
|
|
+ $scope.sameCust = false;
|
|
|
$scope.loading = false;
|
|
|
- toaster.pop('error', '本次对账数量,填写有误!');
|
|
|
+ toaster.pop('error', '请选择相同的税率');
|
|
|
}
|
|
|
+
|
|
|
+ //本次对账数量必须小于总对账数量
|
|
|
+ if (check.qty > 0) {
|
|
|
+ $scope.data.maxThisCheckQty = check.qty;
|
|
|
+ $scope.data.minThisCheckQty = 0;
|
|
|
+ if (check.qty - (check.ycheckqty || 0) < check.thischeckqty || check.thischeckqty < 0 || check.thischeckqty == 0) {
|
|
|
+ $scope.validQty = false;
|
|
|
+ $scope.loading = false;
|
|
|
+ toaster.pop('error', '本次对账数量,填写有误!');
|
|
|
+ }
|
|
|
+ } else if (check.qty < 0) {
|
|
|
+ $scope.data.maxThisCheckQty = 0;
|
|
|
+ $scope.data.minThisCheckQty = check.qty;
|
|
|
+ if (((-check.qty) - (-check.ycheckqty) < (-check.thischeckqty)) || check.thischeckqty > 0 || check.thischeckqty == 0) {
|
|
|
+ $scope.validQty = false;
|
|
|
+ $scope.loading = false;
|
|
|
+ toaster.pop('error', '本次对账数量,填写有误!');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取筛选时间的开始时间为对账的开始时间
|
|
|
+ // $scope.apCheck.beginDate = $scope.fromDate;
|
|
|
+
|
|
|
+ //获取筛选的截止时间为对账的截止时间
|
|
|
+ // $scope.apCheck.endDate = $scope.endDate;
|
|
|
+
|
|
|
+ //应收对账单明细行数据
|
|
|
+ $scope.item.orderCode = check.ordercode;
|
|
|
+ $scope.item.orderClass = check.piclass;
|
|
|
+ $scope.item.orderDetno = check.orderdetno;
|
|
|
+ $scope.item.price = check.orderprice;
|
|
|
+ $scope.item.checkQty = check.thischeckqty;
|
|
|
+ $scope.item.amount = (check.thischeckqty || 0) * (check.orderprice || 0);
|
|
|
+ $scope.item.sourceId = check.sourceid;
|
|
|
+ $scope.item.sourceTable = check.sourcetable;
|
|
|
+ $scope.item.oldYCheckQty = check.ycheckqty;
|
|
|
+ $scope.item.prodCode = check.prodcode;
|
|
|
+ $scope.item.prodTitle = check.prodtitle;
|
|
|
+ $scope.item.prodSpec = check.prodspec;
|
|
|
+ $scope.item.prodUnit = check.produnit;
|
|
|
+ $scope.item.inoutno = check.inoutno;
|
|
|
+ $scope.item.inoutnodetno = check.detno;
|
|
|
+ $scope.item.taxrate = check.taxrate;
|
|
|
+ $scope.item.receiveCode = check.receivecode;
|
|
|
+ $scope.item.receiveName = check.receivename;
|
|
|
+ $scope.item.sendcode = check.sendcode;
|
|
|
+ $scope.item.whname = check.whname;
|
|
|
+ $scope.item.custUserUU = check.custuseruu;
|
|
|
+ $scope.item.sourceDate = check.pidate
|
|
|
+ //来源表相关信息
|
|
|
+ $scope.sourceInfo.sourceid = check.sourceid;
|
|
|
+ $scope.sourceInfo.sourcetable = check.sourcetable;
|
|
|
+ $scope.sourceInfo.newYCheckQty = ((check.ycheckqty || 0) + check.thischeckqty);
|
|
|
+
|
|
|
+ sourceInfos.push($scope.sourceInfo);
|
|
|
+ $scope.apCheck.items.push($scope.item);
|
|
|
+ $scope.haveSelected = true;
|
|
|
}
|
|
|
+ });
|
|
|
+ })
|
|
|
|
|
|
- //获取筛选时间的开始时间为对账的开始时间
|
|
|
- // $scope.apCheck.beginDate = $scope.fromDate;
|
|
|
-
|
|
|
- //获取筛选的截止时间为对账的截止时间
|
|
|
- // $scope.apCheck.endDate = $scope.endDate;
|
|
|
-
|
|
|
- //应收对账单明细行数据
|
|
|
- $scope.item.orderCode = check.ordercode;
|
|
|
- $scope.item.orderClass = check.piclass;
|
|
|
- $scope.item.orderDetno = check.orderdetno;
|
|
|
- $scope.item.price = check.orderprice;
|
|
|
- $scope.item.checkQty = check.thischeckqty;
|
|
|
- $scope.item.amount = (check.thischeckqty || 0) * (check.orderprice || 0);
|
|
|
- $scope.item.sourceId = check.sourceid;
|
|
|
- $scope.item.sourceTable = check.sourcetable;
|
|
|
- $scope.item.oldYCheckQty = check.ycheckqty;
|
|
|
- $scope.item.prodCode = check.prodcode;
|
|
|
- $scope.item.prodTitle = check.prodtitle;
|
|
|
- $scope.item.prodSpec = check.prodspec;
|
|
|
- $scope.item.prodUnit = check.produnit;
|
|
|
- $scope.item.inoutno = check.inoutno;
|
|
|
- $scope.item.inoutnodetno = check.detno;
|
|
|
- $scope.item.taxrate = check.taxrate;
|
|
|
- $scope.item.receiveCode = check.receivecode;
|
|
|
- $scope.item.receiveName = check.receivename;
|
|
|
- $scope.item.sendcode = check.sendcode;
|
|
|
- $scope.item.whname = check.whname;
|
|
|
- $scope.item.custUserUU = check.custuseruu;
|
|
|
- $scope.item.sourceDate = check.pidate
|
|
|
- //来源表相关信息
|
|
|
- $scope.sourceInfo.sourceid = check.sourceid;
|
|
|
- $scope.sourceInfo.sourcetable = check.sourcetable;
|
|
|
- $scope.sourceInfo.newYCheckQty = ((check.ycheckqty || 0) + check.thischeckqty);
|
|
|
-
|
|
|
- sourceInfos.push($scope.sourceInfo);
|
|
|
- $scope.apCheck.items.push($scope.item);
|
|
|
- $scope.haveSelected = true;
|
|
|
- }
|
|
|
- });
|
|
|
if ($scope.apCheckCondition.$open) {
|
|
|
$scope.apCheck.beginDate = $scope.apCheckCondition.dateFrom ? $scope.apCheckCondition.dateFrom.getTime() : null;
|
|
|
$scope.apCheck.endDate = $scope.apCheckCondition.dateTo ? $scope.apCheckCondition.dateTo.getTime() : null;
|