dever 2 rokov pred
rodič
commit
f0f6459574

+ 4 - 1
lib/Price.php

@@ -28,11 +28,14 @@ class Price
             }
 
             $result['unit_id'] = $unit_id;
+            $result['base_unit_id'] = $goods_info['unit_id'];
             $result['base_cash'] = $result['cash'] = isset($sku[$col]) && $sku[$col] ? $sku[$col] : $goods_info[$col];
+            $result['base_num'] = $result['num'] = $num;
                 
             $unit = Dever::db('scm_product/info_unit')->find(array('info_id' => $goods_info['id'], 'unit_id' => $unit_id));
-            if ($unit && $unit['discount'] > 0) {
+            if ($unit && $unit_id != $goods_info['unit_id'] && $unit['discount'] > 0) {
                 $result['cash'] = $result['cash'] * $unit['radio'] * $unit['discount'];
+                $result['base_num'] = $num * $unit['radio'];
             }
         }
 

+ 9 - 3
lib/Stock.php

@@ -73,9 +73,12 @@ class Stock
 
 					$result = Dever::load('scm/lib/price')->getByUnit($v['goods_id'], $v['sku_id'], $v['unit_id'], $v['num'], 'cost_price', Dever::input('supplier_id'));
 					if ($result) {
-						$v['unit_id'] = $goods_info['unit_id'];
-						$v['cash'] = $v['base_cash'];
-						$v['num'] = 1;
+						$v['unit_id'] = $result['base_unit_id'];
+						$v['cash'] = $result['base_cash'];
+						$v['num'] = $result['base_num'];
+					} else {
+						Dever::db($table)->delete($info['id']);
+    					Dever::alert('商品不存在');
 					}
 
 					# 入库
@@ -85,6 +88,9 @@ class Stock
 						}
 						$update['sku_id'] = $v['sku_id'];
 						$update['batch'] = $v['batch'];
+						if ($v['sdate']) {
+							$update['sdate'] = $v['sdate'];
+						}
 						$goods = Dever::db($stock . '_sku')->find($update);
 						if (!$goods) {
 							$update['cash'] = $v['cash'];

+ 2 - 0
module/scm_product/lib/Info.php

@@ -316,6 +316,8 @@ class Info
         if ($sku && $sku > 0) {
             $where['id'] = $sku;
         }
+
+        $info['base_unit_id'] = $info['unit_id'];
         if ($unit_id) {
             $info['unit_id'] = $unit_id;
         }

+ 8 - 0
module/scm_servicer/lib/In.php

@@ -121,6 +121,14 @@ class In
                 $goods_info = Dever::load('scm_product/lib/info')->getBaseInfo($v['goods_id'], $v['sku_id'], $v['unit_id']);
                 $status_name = Dever::status($status, $v['status']);
 
+                if ($v['unit_id'] != $goods_info['base_unit_id']) {
+                    $unit = Dever::load('scm/lib/price')->getByUnit($v['goods_id'], $v['sku_id'], $v['unit_id'], $v['num'], 'cost_price', $info['supplier_id']);
+                    if ($unit) {
+                        $base_unit = Dever::db('scm/unit')->find($goods_info['base_unit_id']);
+                        $goods_info['unit'] .= '(审核成功将转换成:'.$unit['base_num'].''.$base_unit['name'].')';
+                    }
+                }
+                
                 $detail = array
                 (
                     'pic' => $goods_info['cover'],