/** * 获取可用库存及天数 */ public function act_getStockDays() { global $dbconn; $skuArr = isset($_REQUEST['skuArr']) ? json_decode($_REQUEST['skuArr'], TRUE) : ''; if (empty($skuArr)) { self::$errCode = '001'; self::$errMsg = 'skuArr param error'; return array(); } $fields = implode(',', array('sku', 'everyday_sale', 'stock_qty', 'ow_stock', 'salensend')); $where = 'WHERE sku IN (\'' . implode("','", $skuArr) . '\')'; $szdata = SkuStatisticsModel::getInfo($fields, $where); $szskuarr = empty($szdata) ? array() : array_keys($szdata); $fields = implode(',', array('sku', 'everyday_sale', 'virtual_stock')); $where = 'WHERE sku IN (\'' . implode("','", $skuArr) . '\')'; $owdata = SkuStatisticsModel::getOwInfo($fields, $where); $owskuarr = empty($owdata) ? array() : array_keys($owdata); $res = array(); $skuarray = array_unique(array_merge($szskuarr, $owskuarr)); if (!empty($skuarray)) { foreach ($skuarray as $sku) { $sz_stock = $ow_stock = 0; $sz_days = $ow_days = 0; if (!empty($szdata[$sku])) { $sz_stock = $szdata[$sku]['stock_qty'] + $szdata[$sku]['ow_stock'] - $szdata[$sku]['salensend']; $sz_days = $szdata[$sku]['everyday_sale'] == 0 ? 0 : round_num($sz_stock / $szdata[$sku]['everyday_sale'], 2); } if (!empty($owdata[$sku])) { $ow_stock = $owdata[$sku]['virtual_stock']; $ow_days = $owdata[$sku]['everyday_sale'] == 0 ? 0 : round_num($ow_stock / $owdata[$sku]['everyday_sale'], 2); } $res[$sku]['sz_stock'] = $sz_stock; $res[$sku]['sz_days'] = $sz_days; $res[$sku]['ow_stock'] = $ow_stock; $res[$sku]['ow_days'] = $ow_days; } } return $this->_checkReturnData($res, array()); }
/** * 方法功能:获取海外仓统计数据 * @param string $fileds * @param string $where * @param string $orderby * @param string $limit * @return array */ public static function getOwInfo($fileds, $where, $order = '', $limit = '') { self::initDB(); $sql = 'SELECT ' . $fileds . ' FROM `' . self::$table_name2 . '` ' . $where . ' ' . $order . ' ' . $limit; $result = self::$dbConn->query($sql); if (empty($result)) { self::$errCode = '001'; self::$errMsg = "[{$sql}] is error"; return false; } $data_result = array(); $fileds = explode(',', $fileds); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { if (in_array('sku', $fileds)) { $sku = trim($row['sku']); unset($row['sku']); $data_result[$sku] = $row; } else { $data_result[] = $row; } } return $data_result; }