Explorar o código

perf: 处理应收应付

wangcz %!s(int64=7) %!d(string=hai) anos
pai
achega
3dac7409bd

+ 122 - 121
src/main/webapp/resources/js/index/app.js

@@ -11140,136 +11140,137 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
             $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: '',
+                        pidate: ''
+                    };
 
-            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: '',
-                    pidate: ''
-                };
-
-                //应收对账单明细行来源表信息
-                $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', '请选择相同的税率');
-                    }
+                    //应收对账单明细行来源表信息
+                    $scope.sourceInfo = {
+                        sourceId: '',
+                        sourceTable: '',
+                        newYCheckQty: ''
+                    };
 
-                    //本次对账数量必须小于总对账数量
-                    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.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', '本次对账数量,填写有误!');
+                            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 ($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', '请选择同一种币别');
                         }
-                    }
 
-                    //获取筛选时间的开始时间为对账的开始时间
-                    // $scope.apCheck.beginDate = $scope.fromDate;
-
-                    //获取筛选的截止时间为对账的截止时间
-                    // $scope.apCheck.endDate = $scope.endDate;
+                        //必须是相同税率才能生成对账单,否则提示错误
+                        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', '请选择相同的税率');
+                        }
 
-                    //应收对账单明细行数据
-                    $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);
+                        //本次对账数量必须小于总对账数量
+                        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', '本次对账数量,填写有误!');
+                            }
+                        }
 
-                    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;

+ 7 - 7
src/main/webapp/resources/tpl/index/fa/arCheck.html

@@ -355,12 +355,12 @@
 				<tr class="header">
 					<th width="180">应付供应商名称</th>
 					<th width="90">币别</th>
-					<th width="100">本期应</th>
+					<th width="100">本期应</th>
 					<th width="100">本期发货</th>
 					<th width="100">本期未对账</th>
 					<th width="100">本期已对账</th>
-					<th width="100">本期已</th>
-					<th width="120">应总额</th>
+					<th width="100">本期已</th>
+					<th width="120">应总额</th>
 					<th width="80">操作</th>
 				</tr>
 				</thead>
@@ -541,7 +541,7 @@
 			<div class="form-group form-group-sm form-group-inline">
 				<div  class="col-sm-12 control-label">
 					<div style="display:inline-block;text-align: left;margin-top: 20px; width:32%;">
-						<label>本期应:</label>
+						<label>本期应:</label>
 						<label style="text-align:left;vertical-align: top;">
 							<div ng-if="dataInfo.thisMonthCount.length > 0" ng-repeat="count in dataInfo.thisMonthCount">
 								<span>{{count.currency}}:{{count.amount | number:2}}</span>
@@ -564,7 +564,7 @@
 					</div>
 
 					<div style="display:inline-block;text-align: left;margin-top: 20px; width:32%;">
-						<label>本期已:</label>
+						<label>本期已:</label>
 						<label style="text-align:left;vertical-align: top;">
 							<div ng-if="dataInfo.thisPeriodDoneAmount.length > 0" ng-repeat="count in dataInfo.thisPeriodDoneAmount">
 								<span>{{count.currency}}:{{count.amount | number:2}}</span>
@@ -600,7 +600,7 @@
 					</div>
 
 					<div style="display:inline-block;text-align: left;margin-top: 20px; width:32%;">
-						<label>应总额:</label>
+						<label>应总额:</label>
 						<label style="text-align:left;vertical-align: top;">
 							<div ng-if="dataInfo.totalCount.length > 0" ng-repeat="count in dataInfo.totalCount">
 								<span>{{count.currency }}:{{count.amount | number:2}}</span>
@@ -706,7 +706,7 @@
 											<span>合计:</span>
 											验收数量:<span>{{'-'}}</span>
 											发货数量:<span>{{check.sendQty ? (check.sendQty | number:2) : '-'}}</span>
-											应金额:<span>{{check.checkAmountList ? (check.checkAmountList | number: 2) : '-'}}</span>
+											应金额:<span>{{check.checkAmountList ? (check.checkAmountList | number: 2) : '-'}}</span>
 											发货金额:<span>{{check.sendAmountList ? (check.sendAmountList | number: 2) : '-'}}</span>
 										</div>
 										<a ng-show="check.showDetail" class="order-count-click" ng-click="check.showDetail = !check.showDetail">收起 <i class="fa fa-angle-up"></i></a>