shish hace 2 años
padre
commit
88f556a140
Se han modificado 1 ficheros con 9 adiciones y 12 borrados
  1. 9 12
      biz-ghs/order/classes/PurchaseOrderClass.php

+ 9 - 12
biz-ghs/order/classes/PurchaseOrderClass.php

@@ -508,32 +508,29 @@ class PurchaseOrderClass extends BaseClass
         $productList = ProductClass::getByIds($productIds, null, 'id');
 
         foreach ($ghsItemInfo as $v) {
+            $ratioType = $v['ratioType'] ?? 1;
+            $ratio = $v['ratio'] ?? 1;
             if (isset($v['bigNum']) == false || $v['bigNum'] <= 0) {
                 if (isset($v['smallNum']) == false || $v['smallNum'] <= 0) {
                     util::fail('请填写数量');
                 }
-                $ratioType = $v['ratioType'] ?? 1;
                 if ($ratioType == 1) {
                     util::fail('小单位采购,单位比必须固定');
                 }
-                $ratio = $v['ratio'] ?? 1;
                 if ($ratio <= 1) {
                     util::fail('小单位采购,单位比必须大于1');
                 }
-                $v['bigNum'] = bcdiv($v['smallNum'], $ratio, 2);
             }
             if (isset($v['itemPrice']) == false || $v['itemPrice'] <= 0) {
                 util::fail('请填写价格');
             }
-            $bigNum += $v['bigNum'] ?? 0;
-            $smallNum += $v['smallNum'] ?? 0;
-
-            //限制不允许小单位采购,这样大单位就量总数量 ssh 20211021
-            if (isset($v['smallNum']) && $v['smallNum'] > 0) {
-                //util::fail('采购最小单位必须扎');
-            }
-            $currentBigNum = $v['bigNum'] ?? 0;
-            $totalNum = bcadd($totalNum, $currentBigNum, 2);
+            $bNum = $v['bigNum'] ?? 0;
+            $sNum = $v['smallNum'] ?? 0;
+            $bigNum = bcadd($bigNum, $bNum, 2);
+            $smallNum = bcadd($smallNum, $sNum, 2);
+            $sNewNum = bcdiv($sNum, $ratio, 2);
+            $currentTotalNum = bcadd($bNum,$sNewNum,2);
+            $totalNum = bcadd($totalNum, $currentTotalNum, 2);
             $kindNum++;
             $currentTotalPrice = bcmul($v['bigNum'], $v['itemPrice'], 2);
             $totalItemPrice = bcadd($totalItemPrice, $currentTotalPrice, 2);