log_file = 'items.log'; } /** * Notes:库存车辆_日志 * Created on: 2021/10/19 17:15 * Created by: dengbw * https://liche-api-dev.xiaoyu.com/plan/items/stock_log?sd=1 * https://api.liche.cn/plan/items/stock_log */ public function stock_log() { $params = $this->input->get(); $hour = date('H.i'); if (($hour > 23.30 && $hour < 23.59) || $params['sd']) { if ($params['sd']) { echo "开始执行库存车辆日志[{$hour}]"; } } else { echo '[23:30]过后才会开始执行库存车辆日志[' . $hour . ']'; return; } $this->load->model('items/items_stock_log_model', 'mdItemsStockLog'); $this->load->model('items/items_model', 'mdItems'); $this->load->model('items/items_transfer_model', 'mdTransfer'); $size = 150;//每次最多处理多少条 $rds = intval($this->input->get('rds')); $redis = &load_cache('redis'); $redisKey = 'items_stock_log_item_id'; $log_date = date('Y-m-d'); $re_v = $this->mdItemsStockLog->get(array('log_date' => $log_date));//查找当天是否有数据 if (!$re_v || $rds) { $redis->delete($redisKey); } $item_id = $redis->get($redisKey); !$item_id && $item_id = 0; $log = []; $where = ['id >' => $item_id, 'biz_id >' => 0, 'status>' => 0, 'bill_time' => '0000-00-00 00:00:00']; $res_ite = $this->mdItems->select($where, 'id asc', 1, $size, 'id,brand_id,s_id,biz_id,in_time'); if (!$res_ite) { echo '执行到当前车辆id:' . $item_id . '暂无数据'; return; } $addDate = []; foreach ($res_ite as $key => $value) { $item_id = $value['id']; $re_ite = $this->mdItemsStockLog->get(array('log_date' => $log_date, 'item_id' => $value['id'])); if (!$re_ite) {//判断当天是否已加入 $in_time = $value['in_time']; //查找调拨接车的门店 $re_tra = $this->mdTransfer->max('in_time', ["item_id" => $item_id, 'status' => 2, 'biz_id' => $value['biz_id']]); $re_tra['in_time'] && $in_time = $re_tra['in_time'];//有调拨的接车时间,就是入库日期 $stay_days = round((time() - strtotime($in_time)) / 3600 / 24); $addDate[] = ['item_id' => $item_id, 'brand_id' => $value['brand_id'], 's_id' => $value['s_id'], 'biz_id' => $value['biz_id'], 'in_time' => $in_time, 'log_date' => $log_date, 'stay_days' => $stay_days, 'c_time' => time()]; $log[] = array('item_id' => $item_id, 'stay_days' => $stay_days, 'in_time' => $in_time); } } if ($addDate && count($addDate)) { $this->mdItemsStockLog->add_batch($addDate); } $redis->save($redisKey, $item_id);//保存最后客户id if ($params['sd']) { echo '
执行到当前客户id:' . $redis->get($redisKey); echo '日期:' . json_encode(array('log_date' => $log_date), JSON_UNESCAPED_UNICODE); echo '
成功新增:
'; if ($log) { echo json_encode($log, JSON_UNESCAPED_UNICODE); echo '
'; } echo '数据库获取:
'; echo json_encode($res_ite, JSON_UNESCAPED_UNICODE); } } }