model('estimate');
$delivery=self::delivery();
foreach($dataList as $k=>$v){
if($v['logi_no']!='' && $v['delivery_bn']!=''){
$filter = array('logi_no'=>$v['logi_no'],'delivery_bn'=>$v['delivery_bn']);
}else if($v['delivery_bn']!='' && $v['logi_no']==''){
$filter = array('delivery_bn'=>$v['delivery_bn']);
}
$estimate = $estimateObj->dump($filter,'eid');
if(!$estimate){
$data = array();
$data['is_cod'] = $v['is_cod'];
$data['branch_id'] = $v['branch_id'];
$branch = $delivery->get_branch($v['branch_id']);
$data['branch_name'] = $branch['name'];
$data['shop_id'] = $v['shop_id'];
$shop = $delivery->get_shop($v['shop_id']);
$data['shop_name'] = $shop['name'];
$data['delivery_time'] = $v['delivery_time'];
$data['delivery_bn'] = $v['delivery_bn'];
$logi = $delivery->get_loginame($v['logi_name']);
$data['logi_id'] = $logi['corp_id'];
$data['logi_name'] = $v['logi_name'];
$data['cost_protect'] = $v['cost_protect'];
$data['ship_name'] = $v['ship_name'];
$data['weight'] = $v['weight'];
$data['delivery_cost_expect'] = $v['delivery_cost_expect'];
$data['money_expect'] = $v['money_expect'];
$data['ship_province'] = $v['ship_province'];
$data['ship_city'] = $v['ship_city'];
$data['ship_district'] = $v['ship_district'];
$data['delivery_bn'] = $v['delivery_bn'];
$data['logi_no'] = $v['logi_no'];
$data['order_bn'] = $v['order_bn'];
$data['ship_area'] = $v['ship_area'];
$data['ship_addr'] = $v['ship_addr'];
$result = $estimateObj->save($data);
}
unset($data,$v);
}
unset($dataList);
return true;
}
/**
* delivery
* @return mixed 返回值
*/
static public function delivery(){
$setup_config = base_setup_config::deploy_info();
$product_name = $setup_config['product_id'];
if($product_name=='taog'){
$classname = 'logisticsaccounts_taoguan_delivery';
}else{
$classname = 'logisticsaccounts_ocs_delivery';
}
$obj = new $classname;
if($obj instanceof logisticsaccounts_interface_estimate){
self::$__delivery_instance = $obj;
}else{
trigger_error('delivery must implements logisticsaccounts_interface_estimate!', E_USER_ERROR);
exit;
}
return self::$__delivery_instance;
}
function crontab_delivery(){
set_time_limit(0);
$delivery = $this->delivery();
$now_time = mktime(0,0,0,date('m'),date('d'),date('Y'));
$last_time = app::get('logisticsaccounts')->getConf('logisticsaccounts.delivery.downtime');
// 如果last_time为0,则表示第一次执行,则取前一天的00:00:00时间戳
if (!$last_time){
$last_time = strtotime(date('Y-m-d',strtotime('-1 day')));
}
if($last_time){
$last_time =intval($last_time)==0 ? strtotime(date('Y-m-d')) : $last_time;
echo "此次预估账单 begin(".date('Y-m-d H:i:s',$last_time).")...
";
}
echo "此次预估账单 end(".date('Y-m-d H:i:s',$now_time).")...
";
$val = ($now_time-$last_time)/86400;
if($val>=1 || !$last_time){
$total = $delivery->get_total($now_time,$last_time);
echo '共'.$total.'条记录';
if($total>0){
$pagelimit = 100;
$page = ceil($total/$pagelimit);
for($i=1;$i<=$page;$i++){
$offset = $pagelimit*($i-1);
$offset = max($offset,0);
$data = $delivery->delivery_list($now_time,$last_time,$offset,$pagelimit);
$result = $this->save_data($data);
unset($data,$result);
}
app::get('logisticsaccounts')->setConf('logisticsaccounts.delivery.downtime',$now_time);
}
}
}
}
?>