Browse Source

pref: 处理应收应付

wangcz 7 năm trước cách đây
mục cha
commit
cd5e7ff3fa

+ 125 - 123
src/main/webapp/resources/js/vendor/controllers/b2b/apCheck.js

@@ -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;

+ 8 - 8
src/main/webapp/resources/view/usercenter/b2b/fa/arCheck.html

@@ -754,12 +754,12 @@
           <td colspan="7">
             <div class="table-colspan-list" ng-repeat="count in check.amountDetailList">
               <span>{{count.currency || '-'}}</span>
-              <span>{{count.thisPeriodAmount ? (count.thisPeriodAmount | number:2) : '-'}}</span>
-              <span>{{count.thisPeriodSendQty ? (count.thisPeriodSendQty | number:2) : '-'}}</span>
-              <span>{{count.thisPeriodTodoAmount ? (count.thisPeriodTodoAmount | number:2) : '-'}}</span>
-              <span>{{count.thisPeriodDoneAmount ? (count.thisPeriodDoneAmount | number:2) : '-'}}</span>
-              <span>{{count.thisPeriodReceipt ? (count.thisPeriodReceipt | number:2) : '-'}}</span>
-              <span>{{count.totalAmount ? (count.totalAmount | number:2) : '-'}}</span>
+              <span>{{count.thisPeriodAmount >= 0 ? (count.thisPeriodAmount | number:2) : '-'}}</span>
+              <span>{{count.thisPeriodSendQty >= 0 ? (count.thisPeriodSendQty | number:2) : '暂无数据'}}</span>
+              <span>{{count.thisPeriodTodoAmount >= 0 ? (count.thisPeriodTodoAmount | number:2) : '-'}}</span>
+              <span>{{count.thisPeriodDoneAmount >= 0 ? (count.thisPeriodDoneAmount | number:2) : '-'}}</span>
+              <span>{{count.thisPeriodReceipt >= 0 ? (count.thisPeriodReceipt | number:2) : '暂无数据'}}</span>
+              <span>{{count.totalAmount >= 0 ? (count.totalAmount | number:2) : '-'}}</span>
             </div>
           </td>
           <td style="color: #3f84f6;cursor: pointer" ng-click="goToMNs(check)">明细</td>
@@ -913,7 +913,7 @@
                 <span>{{count.currency}}:{{count.amount | number:2}}</span>
               </div>
               <div ng-if="dataInfo.thisPeriodDoneAmount.length === 0">
-                0
+                暂无数据
               </div>
             </label>
           </div>
@@ -925,7 +925,7 @@
                 <span>{{count.currency}}:{{count.amount | number:2}}</span>
               </div>
               <div ng-if="dataInfo.thisPeriodSendAmount.length === 0">
-                0
+                暂无数据
               </div>
             </label>
           </div>

+ 8 - 8
src/main/webapp/resources/view/vendor/b2b/apCheck.html

@@ -762,12 +762,12 @@
             <td colspan="7">
                 <div class="table-colspan-list" ng-repeat="count in check.amountDetailList">
                     <span>{{count.currency || '-'}}</span>
-                    <span>{{count.thisPeriodAmount ? (count.thisPeriodAmount | number:2) : '-'}}</span>
-                    <span>{{count.thisPeriodSendQty ? (count.thisPeriodSendQty | number:2) : '-'}}</span>
-                    <span>{{count.thisPeriodTodoAmount ? (count.thisPeriodTodoAmount | number:2) : '-'}}</span>
-                    <span>{{count.thisPeriodDoneAmount ? (count.thisPeriodDoneAmount | number:2) : '-'}}</span>
-                    <span>{{count.thisPeriodReceipt ? (count.thisPeriodReceipt | number:2) : '-'}}</span>
-                    <span>{{count.totalAmount ? (count.totalAmount | number:2) : '-'}}</span>
+                    <span>{{count.thisPeriodAmount >= 0 ? (count.thisPeriodAmount | number:2) : '-'}}</span>
+                    <span>{{count.thisPeriodSendQty >= 0 ? (count.thisPeriodSendQty | number:2) : '暂无数据'}}</span>
+                    <span>{{count.thisPeriodTodoAmount >= 0 ? (count.thisPeriodTodoAmount | number:2) : '-'}}</span>
+                    <span>{{count.thisPeriodDoneAmount >= 0 ? (count.thisPeriodDoneAmount | number:2) : '-'}}</span>
+                    <span>{{count.thisPeriodReceipt >= 0 ? (count.thisPeriodReceipt | number:2) : '暂无数据'}}</span>
+                    <span>{{count.totalAmount >= 0 ? (count.totalAmount | number:2) : '-'}}</span>
                 </div>
             </td>
             <td style="color: #3f84f6;cursor: pointer" ng-click="goToMNs(check)">明细</td>
@@ -988,7 +988,7 @@
                             <span>{{count.currency}}:{{count.amount | number:2}}</span>
                         </div>
                         <div ng-if="dataInfo.thisPeriodDoneAmount.length === 0">
-                            0
+                            暂无数据
                         </div>
                     </label>
                 </div>
@@ -1000,7 +1000,7 @@
                             <span>{{count.currency}}:{{count.amount | number:2}}</span>
                         </div>
                         <div ng-if="dataInfo.thisPeriodSendAmount.length === 0">
-                            0
+                            暂无数据
                         </div>
                     </label>
                 </div>