1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- <?php
- namespace Scm\Lib;
- use Dever;
- class Price
- {
- public function __construct()
- {
- Dever::load('manage/auth.init');
- }
- # 根据单位获取价格
- public function getByUnit($goods_id, $sku_id, $unit_id, $num, $col = 'cost_price', $supplier_id = false)
- {
- $goods_info = Dever::load('scm_product/lib/info')->getBaseInfo($goods_id, $sku_id);
- $result = array();
- if ($goods_info) {
- $where['goods_id'] = $goods_id;
- $where['sku_id'] = $sku_id;
- # 获取供应商供货价
- if ($supplier_id) {
- $where['supplier_id'] = $supplier_id;
- $sku = Dever::db('scm_supplier/goods_sku')->getOne($where);
- }
- $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_id != $goods_info['unit_id'] && $unit['discount'] > 0) {
- $result['cash'] = $result['cash'] * $unit['radio'] * $unit['discount'];
- $result['base_num'] = $num * $unit['radio'];
- }
- }
- return $result;
- }
- }
|