load->library('session'); $this->load->_model('Model_whlabel','whlabel'); $this->load->_model('Model_warehouse','warehouse'); $this->load->_model('Model_productprice','productprice'); $this->load->_model('Model_excel','excel'); $this->load->_model('Model_fullorder','fullorder'); $this->load->_model('Model_fullordertt','fullordertt'); $this->load->_model('Model_fullorderamz','fullorderamz'); $this->load->_model('Model_fullordersmt','fullordersmt'); $this->load->_model('Model_outbound','outbound'); $this->load->_model('Model_express','express'); $this->load->_model('Model_shop','shop'); $this->load->_model('Model_typeclass','typeclass'); $this->load->_model('Model_country','country'); $this->load->_model('Model_kdniao','kdniao'); $this->load->_model('Model_notice','notice'); $this->load->_model('Model_dhl','dhl'); $this->load->_model('Model_dhlhz','dhlhz'); $this->load->_model('Model_usps','usps'); $this->load->_model('Model_fedex','fedex'); $this->load->_model('Model_fedex_cby','fedex_cby'); $this->load->_model('Model_ups','ups'); $this->load->_model('Model_ali','ali'); $this->load->_model('Model_dpd','dpd'); $this->load->_model('Model_shop','shop'); $this->load->_model('Model_user','user'); $this->load->_model('Model_whlabel','whlabel'); $this->load->_model('Model_specialstock','specialstock'); $this->load->_model('Model_ck','ck'); $this->load->_model('Model_whlabellabel','whlabellabel'); $this->load->_model('Model_apiyy','apiyy'); $this->load->helper('url'); $this->load->_model('Model_whlabel_fc','whlabel_fc'); $this->load->_model('Model_systemtransfer','systemtransfer'); $this->load->_model('Model_classid','classid'); $this->load->_model('Model_allocation','allocation'); $this->load->_model('Model_fullorderxw','fullorderxw'); $this->load->_model('Model_fullorderpaypal','fullorderpaypal'); $this->load->_model("Model_logic_ding","logic_ding"); $this->load->_model("Model_fedexv1",'fedexv1'); $this->load->_model("Model_zzquque_u9","zzquque_u9"); $this->load->_model("Model_customsdeclaration","customsdeclaration"); } //定义方法的调用规则 获取URI第二段值 public function _remap($arg,$arg_array) { if($arg == 'fedexhz') { $this->_fedexhz(); } else if($arg == 'fout') { $this->_fout($arg_array); } else if($arg == 'fouthb')//合并出库的 { $this->_fouthb($arg_array); } else if($arg == 'excel') { $this->_excel($arg_array); } else if($arg == 'cpexcel') { $this->_cpexcel($arg_array); } else if($arg == 'orderyz') { $this->_orderyz(); } else if($arg == 'hwyz') { $this->_hwyz(); } else if($arg == 'outnumber') { $this->_outnumber(); } else if($arg == 'hb') { $this->_hb(); } else if($arg == 'indexmc'){ $this->_indexmc(); } else { $this->_index(); } } public function _index() { $post = $this->input->post(NULL, TRUE); $xw = ''; if(isset($_SESSION['api'])) { $user = $this->user->get_api($_SESSION['api']); $usp = $user; $fgshop = "";$sid = "";$wid="";$wtype=""; $usersp = explode('|',trim($user['shop'],'|')); $userwh = explode('|',trim($user['warehouse'],'|')); foreach ($usersp as $value) { $fgshop .= " shop = ".$value." or"; $sid .= " id = ".$value." or"; } foreach ($userwh as $value) { $wid .= " id = ".$value." or"; $wtype .= " type = ".$value." or"; } if($user['userid'] == 'xw') { $xw = 1; } } if(isset($post['page'])) { $page = $this->input->post('page',true); $perpage = $this->input->post('perpage',true); $timetk = $this->input->post('timetk',true); $timetj = $this->input->post('timetj',true); $shop = $this->input->post('shop',true); $source = $this->input->post('source',true); $orderinfo = $this->input->post('orderinfo',true); $number = $this->input->post('number',true); $library = $this->input->post('library',true); $waybill = $this->input->post('waybill',true); $express = $this->input->post('express',true); $type = $this->input->post('type',true); $lowe = $this->input->post('lowe',true); $so = $this->input->post('so',true); $is_jiaji = $this->input->post('is_jiaji',true); $librarytime = $this->input->post('librarytime',true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $cxtime = 'id'; $where = "library!=3 and libraryconfirm=2 and print = 3 and (".rtrim($wtype,'or').")"; if($timetk && $timetj && $library == 1) { $tmp_timetj = time(); //$cxtime = 'reviewtime'; $where .= " and printtime > '$timetk - 180*24*3600' and printtime < '$tmp_timetj '"; $where .= " and state != 217"; } else if($timetk && $timetj && $library == 2) { $cxtime = 'librarytime'; $where .= " and librarytime > '$timetk' and librarytime < '$timetj'"; } if($shop) { $where .= " and shop = '$shop'"; } if($number) { $where .= " and number = '$number'"; } if($library) { $where .= " and library = '$library'"; } if($waybill) { $where .= " and waybill = '$waybill'"; } if($express) { $where .= " and express = '$express'"; } if($orderinfo) { $where .= " and orderinfo = '$orderinfo'"; } if($type) { $where .= " and type = '$type'"; } if($lowe) { $where .= " and shipremarks like '%$lowe%'"; } if($so) { $where .= " and shipremarks like '%$so%'"; } if($is_jiaji >-1){ $where .= " and is_jiaji = ".$is_jiaji." "; } //数据排序 $order_str = $cxtime." desc"; if(empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1)*$perpage; } //取得信息列表 $info_list = $this->fullorder->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str,$start,$perpage); //格式化数据 foreach ($info_list as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_list[$key]['shop'] = $shop['shopname']; if($value['waybill'] == '0') { $info_list[$key]['waybill'] = ""; } $express = $this->express->read($value['express']); $info_list[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_list[$key]['type'] = $warehouse['title']; if($value['print'] == 1) { $info_list[$key]['print'] = '不可打印'; } else if($value['print'] == 2) { $info_list[$key]['print'] = '未打印'; } else if($value['print'] == 3) { $info_list[$key]['print'] = '已打印'; } if($value['library'] == 1) { $info_list[$key]['library'] = '未出库'; } else if($value['library'] == 2) { $info_list[$key]['library'] = '已出库'; } else if($value['library'] == 3) { $info_list[$key]['library'] = '已退库'; } if($value['librarytime'] == '0') { $info_list[$key]['librarytime'] = ''; } else { $info_list[$key]['librarytime'] = ''.date('Y-m-d H:i',$value['librarytime']).''; } $info_list[$key]['shipremarks'] = str_replace(array('<','>'),array('<','>'),$value['shipremarks']); } $info_listtt = $this->fullordertt->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str,$start,$perpage); //格式化数据 foreach ($info_listtt as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_listtt[$key]['shop'] = $shop['shopname']; if($value['waybill'] == '0') { $info_listtt[$key]['waybill'] = ""; } $express = $this->express->read($value['express']); $info_listtt[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_listtt[$key]['type'] = $warehouse['title']; if($value['print'] == 1) { $info_listtt[$key]['print'] = '不可打印'; } else if($value['print'] == 2) { $info_listtt[$key]['print'] = '未打印'; } else if($value['print'] == 3) { $info_listtt[$key]['print'] = '已打印'; } if($value['library'] == 1) { $info_listtt[$key]['library'] = '未出库'; } else if($value['library'] == 2) { $info_listtt[$key]['library'] = '已出库'; } else if($value['library'] == 3) { $info_listtt[$key]['library'] = '已退库'; } if($value['librarytime'] == '0') { $info_listtt[$key]['librarytime'] = ''; } else { $info_listtt[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).''; } } $info_listamz = $this->fullorderamz->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str,$start,$perpage); //格式化数据 foreach ($info_listamz as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_listamz[$key]['shop'] = $shop['shopname']; if($value['waybill'] == '0') { $info_listamz[$key]['waybill'] = ""; } $express = $this->express->read($value['express']); $info_listamz[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_listamz[$key]['type'] = $warehouse['title']; if($value['print'] == 1) { $info_listamz[$key]['print'] = '不可打印'; } else if($value['print'] == 2) { $info_listamz[$key]['print'] = '未打印'; } else if($value['print'] == 3) { $info_listamz[$key]['print'] = '已打印'; } if($value['library'] == 1) { $info_listamz[$key]['library'] = '未出库'; } else if($value['library'] == 2) { $info_listamz[$key]['library'] = '已出库'; } else if($value['library'] == 3) { $info_listamz[$key]['library'] = '已退库'; } if($value['librarytime'] == '0') { $info_listamz[$key]['librarytime'] = ''; } else { $info_listamz[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).''; } } $info_listxw = $this->fullorderxw->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str,$start,$perpage); //格式化数据 foreach ($info_listxw as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_listxw[$key]['shop'] = $shop['shopname']; if($value['waybill'] == '0') { $info_listxw[$key]['waybill'] = ""; } $express = $this->express->read($value['express']); $info_listxw[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_listxw[$key]['type'] = $warehouse['title']; if($value['print'] == 1) { $info_listxw[$key]['print'] = '不可打印'; } else if($value['print'] == 2) { $info_listxw[$key]['print'] = '未打印'; } else if($value['print'] == 3) { $info_listxw[$key]['print'] = '已打印'; } if($value['library'] == 1) { $info_listxw[$key]['library'] = '未出库'; } else if($value['library'] == 2) { $info_listxw[$key]['library'] = '已出库'; } else if($value['library'] == 3) { $info_listxw[$key]['library'] = '已退库'; } if($value['librarytime'] == '0') { $info_listxw[$key]['librarytime'] = ''; } else { $info_listxw[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).''; } } $info_listsmt = $this->fullordersmt->find_all($where." and mergeid = '0'",'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str,$start,$perpage); //格式化数据 foreach ($info_listsmt as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_listsmt[$key]['shop'] = $shop['shopname']; if($value['waybill'] == '0') { $info_listsmt[$key]['waybill'] = ""; } $express = $this->express->read($value['express']); $info_listsmt[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_listsmt[$key]['type'] = $warehouse['title']; if($value['print'] == 1) { $info_listsmt[$key]['print'] = '不可打印'; } else if($value['print'] == 2) { $info_listsmt[$key]['print'] = '未打印'; } else if($value['print'] == 3) { $info_listsmt[$key]['print'] = '已打印'; } if($value['library'] == 1) { $info_listsmt[$key]['library'] = '未出库'; } else if($value['library'] == 2) { $info_listsmt[$key]['library'] = '已出库'; } else if($value['library'] == 3) { $info_listsmt[$key]['library'] = '已退库'; } if($value['librarytime'] == '0') { $info_listsmt[$key]['librarytime'] = ''; } else { $info_listsmt[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).''; } } $total = $this->fullorder->find_count($where); $total += $this->fullordertt->find_count($where); $total += $this->fullorderamz->find_count($where); $total += $this->fullorderxw->find_count($where); $total += $this->fullordersmt->find_count($where); $pagenum = ceil($total/$perpage); $over = $total-($start+$perpage); $rows = array('total'=>$total,'over'=>$over,'pagenum'=>$pagenum,'rows'=>(array_merge($info_list,$info_listamz,$info_listtt,$info_listxw,$info_listsmt))); echo json_encode($rows);exit; } if(isset($_SESSION['api'])) { $wlshop = $this->shop->find_all('1=1 and '.rtrim($sid,'or')); $warehouse = $this->warehouse->find_all('1=1 and '.rtrim($wid,'or'),"*","px asc"); $this->data['wlshop'] = $wlshop; $this->data['warehouse'] = $warehouse; } $this->data['xw'] = $xw; $this->_Template('systemfout',$this->data); } public function _indexmc() { $post = $this->input->post(NULL, TRUE); $xw = ''; if(isset($_SESSION['api'])) { $user = $this->user->get_api($_SESSION['api']); $usp = $user; $fgshop = "";$sid = "";$wid="";$wtype=""; $usersp = explode('|',trim($user['shop'],'|')); $userwh = explode('|',trim($user['warehouse'],'|')); foreach ($usersp as $value) { $fgshop .= " shop = ".$value." or"; $sid .= " id = ".$value." or"; } foreach ($userwh as $value) { $wid .= " id = ".$value." or"; $wtype .= " type = ".$value." or"; } if($user['userid'] == 'xw') { $xw = 1; } } if(isset($_SESSION['api'])) { $wlshop = $this->shop->find_all('1=1 and '.rtrim($sid,'or')); $warehouse = $this->warehouse->find_all('1=1 and '.rtrim($wid,'or'),"*","px asc"); $this->data['wlshop'] = $wlshop; $this->data['warehouse'] = $warehouse; }else{ //未登录不允许访问 header("location:/"); exit; } $this->data['xw'] = $xw; $this->_Template('systemfoutmc',$this->data); } public function _fout() { $post = $this->input->post(NULL, TRUE); if(isset($post['order'])) { $time = time(); $order = $this->input->post('order',true); $weight = $this->input->post('weight',true); if(!isset($weight))//测试没问题后可以删 { $weight = ''; } if(substr($order,0,3) == '788' && substr($order,-4,4) == '0430')//Fedex联邦 { $order = substr($order,0,12); } if(strlen($order) == '34')//联邦杭州超长运单截取 { $str = substr($order, 0,3); if($str == "420"){ $order = substr($order,12); }else{ $order = substr($order,22,12); } } if(!$order) { echo json_encode(array('msg'=>'出库信息不能为空!','success'=>false));exit; } if(strlen($order) == 30) { $order = substr($order, 8); } $fullorder_name = 'fullorder';$outtype = 1; $y = $this->fullorder->get_waybill($order); // $this->logic_ding->sendToDing("排查五次数据的原有".$order); // $this->logic_ding->sendToDing("排查五次数据的订单".json_encode($y)); if(!$y) { $y = $this->fullorder->get_number($order); $outtype = 2; // $this->logic_ding->sendToDing("排查五次数据的原有".$order); // $this->logic_ding->sendToDing("排查五次数据的订单".json_encode($y)); if(!$y) { $fullorder_name = 'fullordersmt';$outtype = 1; $y = $this->fullordersmt->get_waybill($order); if(!$y) { $y = $this->fullordersmt->get_number($order); $outtype = 2; if(!$y) { $fullorder_name = 'fullordertt';$outtype = 1; $y = $this->fullordertt->get_waybill($order); if(!$y) { $y = $this->fullordertt->get_number($order); $outtype = 2; if(!$y) { $fullorder_name = 'fullorderamz';$outtype = 1; $y = $this->fullorderamz->get_waybill($order); if(!$y) { $y = $this->fullorderamz->get_number($order); $outtype = 2; if(!$y){ $fullorder_name = 'fullorderxw';$outtype = 1; $y = $this->fullorderxw->get_waybill($order); if(!$y) { $y = $this->fullorderxw->get_number($order); $outtype = 2; if(!$y) { $this->logic_ding->sendToDing("排查五次数据的原有".$order); echo json_encode(array('msg'=>'无此数据','success'=>false));exit; } } } } } } } } } } if($y['mergeid'] == '1') { $y = $this->$fullorder_name->read($y['merge']); } //云尚-FedEx普货专线 如果出库时打印的快递面单超过6天,不允许出库 // if($y['express'] == 75 ){ // $printtime = $y['printtime']; // $set_time = 24 * 60 * 60 * 6; // $time = time(); // if(($time - $set_time) > $printtime){ // //允许出库状态 // if($y['libraryconfirm'] == 2){ // echo json_encode(array('msg'=>"该单超时,请重新打印后再出库。".$y['number'],'success'=>false));exit; // }else{ // echo json_encode(array('msg'=>"该单超时且禁止出库,请联系梦体做后续处理!".$y['number'],'success'=>false));exit; // } // } // } // 66 云途(欧洲) 67 云途(欧洲)-带保险 如果是欧洲云途 需要检擦出库时间是否超过15天 if(in_array($y['express'],[66,67])){ if((time() - $y['printtime']) >= (15*24*3600)){ echo json_encode(array('msg'=>'运单超时!请联系梦体处理!','success'=>false));exit; } } $express = $this->express->read($y['express']); if($y['state'] == 216 && $fullorder_name == 'fullordersmt') { $y['librarynot'] = '客户已取消!'; } if($y['print'] != 3 || $y['libraryconfirm'] == 1 || $y['state'] == 214 || $y['state'] == 217 || $y['state'] == 283 || $y['state'] == 206 || $y['state'] == 205 || $y['state'] == 204 || $y['state'] == 210 || $y['state'] == 211 || $y['state'] == 212 || ($y['state'] == 216 && $fullorder_name == 'fullordersmt'))//独立站216先关了 { echo json_encode(array('msg'=>'禁止出库!'.$y['librarynot'],'success'=>false));exit; } if($y['library'] > 1) { echo json_encode(array('msg'=>'此数据 '.date('Y-m-d H:i:s',$y['librarytime']).' 已操作','success'=>false));exit; } if($express['out'] != 3) { if($express['out'] != $outtype) { $smlx = ($express['out']=='1')?'运单':'发货单'; echo json_encode(array('msg'=>'扫描类型错误!此单需要扫描'.$smlx,'success'=>false));exit; } } if($y['type'] != 7 && $y['waybill'] != '' && $y['printtype'] == '1') { $y['waybill'] = trim($y['waybill'],' '); if(strlen($y['waybill']) == 12 && $y['express'] != 24 && $y['express'] != 31 && $y['express'] != 38 && $y['express'] != 41 && $y['express'] != 6 && $y['express'] != 43 && $y['express'] != 48 && $y['express'] != 50 && $y['express'] != 51 && $y['express'] != 63 && $y['express'] != 70 && $y['express'] != 71 && $y['express'] != 73 && $y['express'] != 74 && $y['express'] != 75 && $y['express'] != 78 && $y['express'] != 79) { echo json_encode(array('msg'=>'出库物流和系统不匹配,请联系梦体解决'.$y['express'].'-1','success'=>false));exit; } else if(strlen($y['waybill']) == 10 && $y['express'] != 1 && $y['express'] != 37 && $y['express'] != 49 && $y['express'] != 42 && $y['express'] != 69 && $y['express'] != 78 && $y['express'] != 79) { echo json_encode(array('msg'=>'出库物流和系统不匹配,请联系梦体解决'.$y['express'].'-2','success'=>false));exit; } else if(strlen($y['waybill']) == 18 && $y['express'] != 3 && $y['express'] != 66 && $y['express'] != 67 && $y['express'] != 72 && $y['express'] != 2) { echo json_encode(array('msg'=>'出库物流和系统不匹配,请联系梦体解决'.$y['express'].'-3','success'=>false));exit; } else if(strlen($y['waybill']) == 16 && $y['express'] != 76 && $y['express'] != 77 ) { echo json_encode(array('msg'=>'出库物流和系统不匹配,请联系梦体解决'.$y['express'].'-4','success'=>false));exit; } } if(stripos($weight,',') !== false){ $tmp_arr = explode(",",$weight); $weight = end($tmp_arr); $numweight = (float)$weight; $weight = $numweight."kg"; } $numweight = str_replace('kg','',$weight); // if(($y['express'] == '24' || $y['express'] == '3' || $y['express'] == '28' || $y['express'] == '33' || $y['express'] == '42') && $y['type'] != 6)//杭州除外 // { // if($weight == '' || $numweight < '0.1' || !is_numeric($numweight)) // { // echo json_encode(array('msg'=>'此单需要称重!','success'=>false));exit; // } // $yzweight = explode('.',$numweight); // if($yzweight[0] == '') // { // echo json_encode(array('msg'=>'重量错误,请重新称重!','success'=>false));exit; // } // if($numweight < ($y['jweight']/1000)) // { // echo json_encode(array('msg'=>'重量小于净重,请重新称重!','success'=>false));exit; // } // if($numweight -($y['jweight']/1000) > 0.9 && $y['number'] != 'QQS-30401-002') // { // echo json_encode(array('msg'=>'称重重量和净重相差过大,请找成会或梦体处理!','success'=>false));exit; // } // if($numweight > '0.98' && $y['express'] == '3') // { // echo json_encode(array('msg'=>'UPS大于0.98公斤需要拆包!','success'=>false));exit; // } // if($numweight > '2' && $y['express'] == '37') // { // echo json_encode(array('msg'=>'杭州DHL大于2公斤需要联系店员!','success'=>false));exit; // } // if($numweight >= '10' && ($y['express'] == '24' || $y['express'] == '31')) // { // echo json_encode(array('msg'=>'联邦不能大于10公斤!','success'=>false));exit; // } // } //根据要求 USPS-USA 2 FEDEX-US2 63 USPS-US2 64 这三个快递方式除外的所有快递都需要称重再发货 或者说是【国内发货】的都需要称重 //还有翔文仓库的 不执行 //源代码是 //所有快递必须称重 //所有快递必须称重 翔文除外 //$this->logic_ding->sendToDing("检测订单".$y['number']."称重".$numweight."快递公司".$y['express']."-".$weight."[".$numweight."]"); if(!in_array($y['express'],[2,8,39,43,44,45,47,48,49,55,61,63,64,65,74])){ if($weight == '' || $numweight < '0.1' || !is_numeric($numweight)) { echo json_encode(array('msg'=>'此单需要称重!','success'=>false));exit; } $yzweight = explode('.',$numweight); if($yzweight[0] == '') { echo json_encode(array('msg'=>'重量错误,请重新称重!','success'=>false));exit; } if(empty($numweight)){ echo json_encode(array('msg'=>'此单需要称重2!','success'=>false));exit; } //$this->logic_ding->sendToDing("检测订单---------------------标记需要认证的东西".$y['number']); } //$this->logic_ding->sendToDing("检测订单".$y['number']."称重".$numweight."快递公司".$y['express']); $express_info = $this->express->read($y['express']); if(empty($express_info)){ echo json_encode(array('msg'=>'该快递信息异常,请联系技术!','success'=>false));exit; } $weight_limit = $express_info['weight_limit']*1; if($weight_limit > 0 && $y['type'] != 5){ $yzweight = explode('.',$numweight); if($yzweight[0] == '') { echo json_encode(array('msg'=>'重量错误,请重新称重!','success'=>false));exit; } if($numweight < ($y['jweight']/1000)){ echo json_encode(array('msg'=>'重量小于净重,请重新称重!','success'=>false));exit; } //Fedex(杭州),UPS,DHL官方-美国 需要判断实际重量和净重差 其他快递不需要 if(in_array($y['express'],[3,24,42])){ //规定实际重量不允许超过 净重为1kg if($numweight -($y['jweight']/1000) > 1 ) { echo json_encode(array('msg'=>'称重重量和净重相差过大,请找成会处理!','success'=>false));exit; } } if($weight_limit < $numweight){ echo json_encode(array('msg'=>$express['servicename'].'大于'.$weight_limit.'公斤需要拆包!','success'=>false));exit; } } if(((time() - $y['printtime']) > (15*24*3600) || $y['printtime'] < 1590211800) && $y['express'] == '24' && $y['type'] != 6)//杭州店铺除外 { //echo json_encode(array('yd'=>1,'id'=>$y['id'],'express'=>$y['express'],'name'=>$fullorder_name,'success'=>true));exit; } if((time() - $y['printtime']) > (6*24*3600) && $y['express'] == '3' && $y['type'] != 6)//杭州店铺除外 { //echo json_encode(array('yd'=>1,'id'=>$y['id'],'express'=>$y['express'],'name'=>$fullorder_name,'success'=>true));exit; echo json_encode(array('msg'=>'此运单过期无法出库,请联系成会处理!','success'=>false));exit; } if((time() - $y['printtime']) > (7*24*3600) && $y['express'] == '37' && $y['type'] != 6)//杭州店铺除外 { //echo json_encode(array('yd'=>1,'id'=>$y['id'],'express'=>$y['express'],'name'=>$fullorder_name,'success'=>true));exit; } $this->db->trans_begin(); $warehouse = $this->warehouse->read($y['type']); $bdck = $warehouse['bdck']; if($warehouse['zd'] == '1') { if($warehouse['bdck'] == '') { $this->db->trans_rollback(); echo json_encode(array('msg'=>'仓库设置错误!','success'=>false));exit; } $wh = $this->_fout_db($y,$warehouse,$bdck); if($wh['fh'] == 2) { $kcyz = $this->ck->get_kc($y['state'],$warehouse,$y['shop'],$y['number'],$y['whlabel'],$y['fpdata']); if($kcyz['t'] == '0') { if($kcyz['fpdata'] != '') { $x['whlabel'] = $kcyz['whlabel']; $x['fpdata'] = $kcyz['fpdata']; $y['whlabel'] = $x['whlabel']; $this->$fullorder_name->save($x,$y['id']); } } $wh = $this->_fout_db($y,$warehouse,$bdck); if($wh['fh'] == 2) { $this->db->trans_rollback(); echo json_encode(array('msg'=>'库存占用量与实际出库量不符!','success'=>false));exit; } } foreach ($wh['sj'] as $v) { $this->$bdck->save(array('state'=>1,'cktype'=>1,'orderinfo'=>$y['orderinfo'],'waybill'=>$y['waybill'],'outk'=>$time,'time'=>$time),$v['id']); } } /** if($warehouse['zd'] == '1' && stripos($y['whlabel'],'z|') === false) { $whlabel = $this->whlabel->find_all("zd = '".$y['number']."' and warehouse = '".$y['type']."' and (state = '0' or state = '9')"); $cpsl = 0; $pp = explode('|',trim($y['whlabel'],'|')); foreach ($pp as $va) { $num = explode('-',$va); $cpsl += $num[1]; } if(count($whlabel) != $cpsl) { echo json_encode(array('msg'=>'库存占用量与实际出库量不符','success'=>false));exit; } foreach ($whlabel as $v) { $this->whlabel->save(array('state'=>1,'orderinfo'=>$y['orderinfo'],'waybill'=>$y['waybill'],'outk'=>$time,'time'=>$time),$v['id']); } } if($warehouse['zd'] == '1' && stripos($y['whlabel'],'z|') !== false) { $wh = $this->specialstock->find_all("zd = '".$y['number']."' and state = '0'"); $cpsl = 0; $pp = explode('|',trim($y['whlabel'],'|')); foreach ($pp as $va) { $num = explode('-',$va); if(stripos($num[2],'z') !== false)//如果是特殊库存 { $cpsl += $num[1]; } } if(count($wh) != $cpsl) { echo json_encode(array('msg'=>'库存占用量与实际出库量不符','success'=>false));exit; } foreach ($wh as $v) { if(!$this->specialstock->save(array('state'=>1,'orderinfo'=>$y['orderinfo'],'waybill'=>$y['waybill'],'outk'=>$time,'time'=>$time),$v['id'])) { echo json_encode(array('msg'=>'出库失败,请重试','success'=>false));exit; } } } **/ /** if($y['dbapi'] == 99 && $y['scapi'] == 99) { $d = $this->apiyy->get_chd($y); if($d['Data'][0]['m_isSucess'] != 1) { echo json_encode(array('msg'=>'用友出库失败:'.$d['Data'][0]['m_errorMsg'],'success'=>false));exit; } } $systemtransfer = $this->systemtransfer->find_all("number = '".$y['number']."'"); if(isset($systemtransfer[0])) { foreach ($systemtransfer as $v) { if($v['dbapi'] != 99) { echo json_encode(array('msg'=>'此订单货物:'.$v['pm'].'没有成功扫布标入库,无法出库!','success'=>false));exit; } } $y['ts'] = count($systemtransfer); $d = $this->apiyy->get_chd($y); if($d['Data'][0]['m_isSucess'] != 1) { echo json_encode(array('msg'=>'用友出库失败:'.$d['Data'][0]['m_errorMsg'],'success'=>false));exit; } } **/ $shop = $this->shop->read($y['shop']); if($express['printcode'] == "DHLUSA" && $y['waybill'] != '') { $type = $this->typeclass->read($shop['type']); $y['shoptype'] = $type['title']; $y['weight'] = $weight; $d = $this->dhl->get_data_9610($y); if($d != 1) { $this->db->trans_rollback(); $this->allocation->insert(array('order'=>1,'title'=>$y['number'],'content'=>$d)); echo json_encode(array('msg'=>'9610失败,'.$d,'success'=>false));exit; } $this->allocation->insert(array('order'=>9610,'title'=>$y['number'])); } if($fullorder_name == 'fullordersmt') { $stt = ($y['waybill']!='')?209:$y['state']; $post = array('library'=>2,'state'=>$stt,'librarytime'=>$time,'weight'=>$weight,'dbapi'=>0); /** if($this->$fullorder_name->save(array('library'=>2,'state'=>$stt,'librarytime'=>$time,'weight'=>$weight),$y['id'])) { echo json_encode(array('success'=>true));exit; } else { echo json_encode(array('msg'=>'出库失败,请重试','success'=>false));exit; } **/ } else if(($fullorder_name == 'fullordertt' || $fullorder_name == 'fullorderxw' || $fullorder_name == 'fullorder' || $fullorder_name = 'fullorderamz') && $y['source'] == 1) { /** if($this->$fullorder_name->save(array('library'=>2,'librarytime'=>$time,'weight'=>$weight),$y['id'])) { echo json_encode(array('success'=>true));exit; } else { echo json_encode(array('msg'=>'出库失败,请重试','success'=>false));exit; } **/ $post = array('library'=>2,'state'=>216,'librarytime'=>$time,'weight'=>$weight,'dbapi'=>0); } else { /** if($this->$fullorder_name->save(array('library'=>2,'librarytime'=>$time,'weight'=>$weight),$y['id'])) { echo json_encode(array('success'=>true));exit; } else { echo json_encode(array('msg'=>'出库失败,请重试','success'=>false));exit; } **/ $post = array('library'=>2,'librarytime'=>$time,'weight'=>$weight,'dbapi'=>0); } /** if($fullorder_name == 'fullorder') { $orderinfo = preg_replace('/^' . preg_quote($y['shop'], '/') . '/', '', $y['orderinfo']); $post['incrementId'] = $orderinfo; $post['trackingNumber'] = $y['waybill']; $ex = $this->express->read($y['express']); $post['carrier'] = $ex['iscode']; $url = 'https://www.romandhair.com/applepay/payment/addTrack'; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($post)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,1800000); $res = curl_exec($ch); curl_close($ch); $res = json_decode($res,true); if($res['success'] == 0) { $this->fullorderpaypal->insert(array('orderinfo'=>$y['orderinfo'],'waybill'=>$y['waybill'],'time'=>$time,'cw'=>$res['msg']));//失败 } else { $this->fullorderpaypal->insert(array('orderinfo'=>$y['orderinfo'],'waybill'=>$y['waybill'],'time'=>$time,'type'=>1)); } } **/ //开始录入执行u9队列的数据 $queue_u9_list = []; $queue_u9_list[] = [ 'platform'=>$fullorder_name, 'warehouse'=>$y['type'], 'type'=>($y['type'] == 5)?11:10, //5代表美仓 'order_no'=>$y['number'], 'status'=>0, 'create_time'=>time(), 'update_time'=>time(), ]; //将要执行的队列数据添加进去 foreach($queue_u9_list as $item){ if($item['platform'] != 'fullorderxw'){ // if(($item['warehouse'] != 5) || ($item['warehouse'] != 7) || ($item['warehouse'] != 8) || ($item['warehouse'] != 9) ){ // $this->zzquque_u9->insert($item); // } if( !in_array($item['warehouse'],[5,7,8,9]) ){ $this->zzquque_u9->insert($item); } } } //$this->logic_ding->sendToDing("u9小单队列监听数据".json_encode($queue_u9_list,JSON_UNESCAPED_UNICODE)); if($outtype == 2 && $y['printnumber'] > 1) { $p = json_encode($post); $this->db->trans_rollback(); echo json_encode(array('msg'=>'该单共打印过'.$y['printnumber'].'次,请注意核对当前发货单是否是最新发货单!','outnumber'=>$y['id'],'post'=>$p,'fullorder_name'=>$fullorder_name,'success'=>false));exit; } $this->$fullorder_name->save($post,$y['id']); //合并订单自动发货 $hb = $this->$fullorder_name->find_all("merge = '".$y['id']."' and id != '".$y['id']."'"); $post['waybill'] = $y['waybill']; $post['express'] = $y['express']; $post['printtype'] = $y['printtype']; $post['ioss'] = $y['ioss']; $post['review'] = 6; $post['bx'] = $y['bx']; $post['qm'] = $y['qm']; $post['js'] = $y['js']; //$post['state'] = 216; $post['print'] = $y['print']; $post['printtime'] = $y['printtime']; $post['library'] = 2; $post['librarytime'] = $time; $post['libraryconfirm'] = 2; $post['librarynot'] = ''; foreach ($hb as $v) { $post['state'] = $v['state']; $vshop = $this->shop->read($v['shop']); $vwarehouse = $this->warehouse->read($v['type']); $this->$fullorder_name->save($post,$v['id']); //2025年1月25日发现翔文合并订单发现此问题 if($warehouse['zd'] == '1'){ $wh = $this->_fout_db($v,$warehouse,$bdck); foreach ($wh['sj'] as $vv) { $this->$bdck->save(array('state'=>1,'cktype'=>1,'orderinfo'=>$v['orderinfo'],'waybill'=>$y['waybill'],'outk'=>$time,'time'=>$time),$vv['id']); } } } if ($this->db->trans_status() === TRUE) { $this->db->trans_commit(); echo json_encode(array('success'=>true)); } else { $this->db->trans_rollback(); echo json_encode(array('msg'=>'出库失败,请重试','success'=>false)); } } } //之所以用订单已占的库存,就循环更新 为什么不用全部检索是因为牵扯到可能是工厂有可能直接生产后 带到成品库 不入成品库 可能会直接发走,所以只检索已占库存的订单 然后更新 public function _outnumber()//对比占单是否正确 { $post = $this->input->post(NULL, TRUE); if(isset($post['outnumber'])) { $post = $this->input->post('post',true); $fullorder_name = $this->input->post('fullorder_name',true); $outnumber = $this->input->post('outnumber',true); $post = json_decode($post,true); $y = $this->$fullorder_name->read($outnumber); if(empty($y)){ echo json_encode(array('msg'=>'订单异常不能出库','success'=>false));exit; } $warehouse = $this->warehouse->read($y['type']); if(empty($warehouse)){ echo json_encode(array('msg'=>'仓库异常不能出库','success'=>false));exit; } if($y['library']== 2){ echo json_encode(array('msg'=>'订单已出库,请勿重复出库','success'=>false));exit; } if($y['library']== 3){ echo json_encode(array('msg'=>'订单已退库,请勿重复出库','success'=>false));exit; } $bdck = $warehouse['bdck']; if(!empty($bdck)){ // $warehouse = $this->warehouse->read($y['type']); $list = $this->$bdck->find_all("zd = '".$y['number']."' and warehouse = '".$y['type']."' and (state = '0' or state = '9')"); $this->db->trans_begin(); foreach ($list as $v) { $this->$bdck->save(array('state'=>1,'cktype'=>1,'orderinfo'=>$y['orderinfo'],'waybill'=>$y['waybill'],'outk'=>$post['librarytime'],'time'=>$post['librarytime']),$v['id']); } $this->$fullorder_name->save($post,$y['id']); if ($this->db->trans_status() === TRUE) { $this->db->trans_commit(); if($fullorder_name != 'fullorderxw'){ // if(($item['warehouse'] != 5) || ($item['warehouse'] != 7) || ($item['warehouse'] != 8) || ($item['warehouse'] != 9) ){ // $this->zzquque_u9->insert($item); // } $y = $this->$fullorder_name->read($outnumber); if( !in_array($y['type'],[5,7,8,9]) ){ $data = [ 'platform'=>$fullorder_name, 'warehouse'=>$y['type'], 'type'=>($y['type'] == 5)?11:10, //5代表美仓 'order_no'=>$y['number'], 'status'=>0, 'create_time'=>time(), 'update_time'=>time(), ]; $this->zzquque_u9->insert($data); } } echo json_encode(array('success'=>true)); die; } else { $this->db->trans_rollback(); echo json_encode(array('msg'=>'出库失败,请重试','success'=>false)); die; } }else{ $this->$fullorder_name->save($post,$y['id']); if($fullorder_name != 'fullorderxw'){ // if(($item['warehouse'] != 5) || ($item['warehouse'] != 7) || ($item['warehouse'] != 8) || ($item['warehouse'] != 9) ){ // $this->zzquque_u9->insert($item); // } $y = $this->$fullorder_name->read($outnumber); if( !in_array($y['type'],[5,7,8,9]) ){ $data = [ 'platform'=>$fullorder_name, 'warehouse'=>$y['type'], 'type'=>($y['type'] == 5)?11:10, //5代表美仓 'order_no'=>$y['number'], 'status'=>0, 'create_time'=>time(), 'update_time'=>time(), ]; $this->zzquque_u9->insert($data); } } echo json_encode(array('success'=>true)); die; } }else{ echo json_encode(array('msg'=>'传参异常,请重试','success'=>false)); die; } } public function _fout_db($y,$warehouse,$bdck)//对比占单是否正确 { $wh = $this->$bdck->find_all("zd = '".$y['number']."' and warehouse = '".$y['type']."' and (state = '0' or state = '9')"); $cpsl = 0; $pp = explode('|',trim($y['whlabel'],'|')); foreach ($pp as $va) { $num = explode('-',$va); if(isset($num[2])) { if(stripos($num[2],$warehouse['hz']) !== false) { $cpsl += $num[1]; } } } if(count($wh) == $cpsl) { return array('fh'=>1,'sj'=>$wh); } else { return array('fh'=>2); } } public function _fedexhz() { $post = $this->input->post(NULL, TRUE); if(isset($post['id'])) { $id = $this->input->post('id',true); $fullorder_name = $this->input->post('name',true); $express = $this->input->post('express',true); $express = $this->express->read($express); $fullorder = $this->$fullorder_name->read($id); if($fullorder['type'] == '2') { $fullorder['type'] = 1; } $time = time(); $fullorder = $this->_text($fullorder);//获取所需信息 $oldprinttime = ($fullorder['printtime'] > 0)?$fullorder['oldprinttime'].$fullorder['printtime'].'-':''; $fullorder['printtime'] = date('m-d H:i',$time);//打印用时间、发货单用,不能删 $time = time(); if($express['printcode'] == "FEDEXGF") { //$barcode = $this->fedex->get_data($fullorder);//获取联邦快递信息 //升级的api $barcode = $this->fedexv1->get_data($fullorder);//获取联邦快递信息 if($barcode['x'] == 1) { $bctime = date('Ymd',$time); $Hwaybill = $barcode['waybill']; // $Hyd = $this->_pdf($barcode['label'],'y-'.$Hwaybill,$bctime); // $Hfp = $this->_pdf($barcode['invoice'],'f-'.$Hwaybill,$bctime);//开通ETD模式,保留PDF,不需要打印 $Hyd = $this->_pdfurl($barcode['label'],'y-'.$Hwaybill,$bctime); $Hfp = $this->_pdfurl($barcode['invoice'],'f-'.$Hwaybill,$bctime);//开通ETD模式,保留PDF,不需要打印 if(isset($barcode['label']) && isset($Hwaybill)) { if($fullorder['waybill'] != "") { $oldwaybill = $fullorder['oldwaybill'].'-'.date('Ymd',$time).'/'.$fullorder['waybill']; } else { $oldwaybill = $fullorder['oldwaybill']; } $oldwaybill .= '-'.$bctime.'/'.$Hwaybill; $fullorder['printnumber'] = $fullorder['printnumber'] +1;//不能删 if($this->$fullorder_name->save(array('waybill'=>$Hwaybill,'printtime'=>$time,'printnumber'=>$fullorder['printnumber'],'oldwaybill'=>$oldwaybill,'oldprinttime'=>$oldprinttime),$fullorder['id'])) { $warehouse = $this->warehouse->read($fullorder['type']); $text = array(); $text['yd'] = base_url().'data/pdf/'.$bctime.'/y-'.$Hwaybill.'.pdf'; $text['number'] = $fullorder['number']; $text['mode'] = '95'; $text['pdfnum'] = 1; $rows = array('text'=>$text); echo json_encode(array('rows'=>($rows),'success'=>true));exit; } else { echo json_encode(array($fullorder['number'].'msg'=>'打印错误,请联系店员','cw'=>'写入数据库错误','success'=>false));exit; } } } else { echo json_encode(array('msg'=>'打印错误,请联系店员','cw'=>$barcode['Description'],'success'=>false));exit; } } else if($express['printcode'] == "UPS")//接口UPS暂时不打 { echo json_encode(array('msg'=>'此订单超期无法出库,请联系成会处理','success'=>false));exit; $barcode = $this->ups->get_data($fullorder);//获取快递信息 if($barcode['x'] == 1) { $bctime = date('Ymd',$time); $Hwaybill = $barcode['waybill']; $Hyd = $this->_pdfurl($barcode['label'],'y-'.$Hwaybill,$bctime); if(isset($barcode['label']) && isset($Hwaybill)) { if($fullorder['waybill'] != "") { $oldwaybill = $fullorder['oldwaybill'].'-'.date('Ymd',$time).'/'.$fullorder['waybill']; } else { $oldwaybill = $fullorder['oldwaybill']; } $oldwaybill .= '-'.$bctime.'/'.$Hwaybill; $fullorder['printnumber'] = $fullorder['printnumber'] +1;//不能删 if($this->$fullorder_name->save(array('waybill'=>$Hwaybill,'libraryconfirm'=>2,'librarynot'=>'','printtime'=>$time,'printnumber'=>$fullorder['printnumber'],'print'=>3,'oldwaybill'=>$oldwaybill,'oldprinttime'=>$oldprinttime),$va[$n])) { $type = 1; $text = array('yd'=>'data/pdf/'.$bctime.'/y-'.$Hwaybill.'.pdf','data'=>$fullorder,'id'=>$fullorder['id'],'pt'=>$fullorder_name); } } } else { echo json_encode(array('msg'=>$fullorder['number'].'打印错误,请联系店员','cw'=>$barcode['Description'],'success'=>false));exit; } } else if($express['printcode'] == "DHLHZ")//如果打印过那么重新获取运单 { $barcode = $this->dhlhz->get_data($fullorder);//获取DHL快递信息 if($barcode['c'] == 1) { $bctime = date('Ymd',$time); $Hwaybill = $barcode['data']['waybill']; $Hfp = $this->_pdf($barcode['data']['fp'],'f-'.$Hwaybill,$bctime); $Hyd = $this->_pdf($barcode['data']['yd'],'y-'.$Hwaybill,$bctime); if(isset($Hfp) && isset($Hyd) && isset($Hwaybill)) { if($fullorder['waybill'] != "") { $oldwaybill = $fullorder['oldwaybill'].'-'.date('Ymd',$time).'/'.$fullorder['waybill']; } else { $oldwaybill = $fullorder['oldwaybill']; } $oldwaybill .= '-'.$bctime.'/'.$Hwaybill; $fullorder['printnumber'] = $fullorder['printnumber'] +1;//不能删d if($this->$fullorder_name->save(array('waybill'=>$Hwaybill,'printtime'=>$time,'printnumber'=>$fullorder['printnumber'],'oldwaybill'=>$oldwaybill,'oldprinttime'=>$oldprinttime),$fullorder['id'])) { $warehouse = $this->warehouse->read($fullorder['type']); $text = array(); $text['yd'] = base_url().'data/pdf/'.$bctime.'/y-'.$Hwaybill.'.pdf'; $text['number'] = $fullorder['number']; $text['mode'] = '95'; $text['pdfnum'] = 1; $rows = array('text'=>$text); echo json_encode(array('rows'=>($rows),'success'=>true));exit; } } } else { echo json_encode(array('msg'=>$fullorder['number'].'打印错误,请联系店员','cw'=>$barcode['Description'],'success'=>false));exit; } } else { echo json_encode(array('msg'=>'此订单超期无法出库,请联系成会或者梦体处理','success'=>false));exit; } } } public function _text($fullorder) { /** 发票地址信息暂时无用 $fullorder['baddress'] = explode(',',$fullorder['baddress']); $fullorder['baddress'] = array_reverse($fullorder['baddress']); $fullorder['baddress'][1] = $country['ename']; **/ //获取所用相关信息 $warehouse = $this->warehouse->read($fullorder['type']); $country = $this->country->read($fullorder['country']);//订单国家信息 $fcountry = $this->country->read($warehouse['country']);//仓库国家信息 $warehouse['country'] = $fcountry['ename'];//仓库国家名 $warehouse['lb'] = $fcountry['lb'];//仓库国家编码 $fullorder['warehouse'] = $warehouse;//仓库数据加入订单 $fullorder['lb'] = $country['lb'];//订单国家编码加入 $fullorder['country'] = $country['ename'];//订单国家名 $fullorder['zhou'] = $country['continent'];//所属州 $express = $this->express->read($fullorder['express']); $fullorder['express'] = $express['servicename']; $fullorder['account'] = $express['account']; $fullorder['printcode'] = $express['printcode']; $fullorder['time'] = date('Y-m-d',time()); $fullorder['times'] = date('Y-m-d H:i',time()); //$fullorder['sbbm']= ($fullorder['sbpm'] == 'Hair Sample') ? 67042000 : 67041100; // 修复报关编码问题 $declara_info = $this->customsdeclaration->find("ename like '%".trim($fullorder['sbpm'])."%' ","*"); $sbbm = ""; if(empty($declara_info)){ $sbbm = ""; }else{ $sbbm = $declara_info['bname']; } $fullorder['sbbm']= $sbbm; $fullorder['address'] = str_replace(array('&'),array('&'),$fullorder['address']); $fullorder['address2'] = str_replace(array('&'),array('&'),$fullorder['address2']); $shop = $this->shop->read($fullorder['shop']); $fullorder['shop'] = $shop['shopname']; return $fullorder; } public function _lowe() { $post = $this->input->post(NULL, TRUE); if(isset($post['lowe'])) { $lowe = $this->typeclass->find_all('classid = 15 and id != 105 and id != 107 and id != 108 and id != 112 and id != 114 and id != 115 and id != 116 and id != 117 and id != 118 and id != 119 and id != 120 and id != 121 and id != 122 and id != 123 and id != 124 and id != 125 and id != 292 and id != 63 and id != 289 and id != 290 and id != 181 and id != 273 and id != 148 and id != 38 and id != 291 and id != 55 and id != 271 and id != 285 and id != 186 and id != 187 and id != 188 and id != 189'); echo json_encode(array('msg'=>$lowe));exit; } } public function _pdf($pdf,$title,$bctime) { $pdf_path = './data/pdf/'.$bctime.'/'; $file_base64 = $pdf; $file_base64 = preg_replace('/data:.*;base64,/i', '', $file_base64); $file_base64 = base64_decode($file_base64); if(!is_dir($pdf_path))mkdir($pdf_path,0777); //上传目录不存在则创建 file_put_contents($pdf_path.$title.'.pdf',$file_base64); return $bctime; } public function _pdfurl($pdf,$title,$bctime) { $pdf_path = './data/pdf/'.$bctime.'/'; $pdf = fopen($pdf,"r"); if(!is_dir($pdf_path))mkdir($pdf_path,0777); //上传目录不存在则创建 file_put_contents($pdf_path.$title.'.pdf',$pdf); return $bctime; } public function _excel() { $xw = ''; if(isset($_SESSION['api'])) { $user = $this->user->get_api($_SESSION['api']); $usp = $user; $fgshop = "";$sid = "";$wid="";$wtype=""; $usersp = explode('|',trim($user['shop'],'|')); $userwh = explode('|',trim($user['warehouse'],'|')); foreach ($usersp as $value) { $fgshop .= " shop = ".$value." or"; $sid .= " id = ".$value." or"; } foreach ($userwh as $value) { $wid .= " id = ".$value." or"; $wtype .= " type = ".$value." or"; } if($user['userid'] == 'xw') { $xw = 1; } } if(isset($_GET['fexcel'])) { $dowid = $this->input->get('a'); $wid = ""; if($dowid != "") { $id_arr = explode(',',rtrim($dowid,',')); foreach ($id_arr as $v) { $wid .= " id = '$v' or"; } $wid = " and".rtrim($wid,'or'); } $t = $this->input->get('t',true); $timetk = $this->input->get('timetk',true); $timetj = $this->input->get('timetj',true); $shop = $this->input->get('shop',true); $source = $this->input->get('source',true); $orderinfo = $this->input->get('orderinfo',true); $number = $this->input->get('number',true); $library = $this->input->get('library',true); $waybill = $this->input->get('waybill',true); $express = $this->input->get('express',true); $type = $this->input->get('type',true); $so = $this->input->get('so',true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $where = (isset($_SESSION['api']))?"library!=3 and libraryconfirm=2 and print = 3 and (".rtrim($wtype,'or').")":"id = '0'"; if($timetk && $timetj && $library == 1) { //$cxtime = 'reviewtime'; $where .= " and printtime > '$timetk - 180*24*3600' and printtime < '$timetj'"; $where .= " and state != 217"; } else if($timetk && $timetj && $library == 2) { $cxtime = 'librarytime'; $where .= " and librarytime > '$timetk' and librarytime < '$timetj'"; } /** $where = "library!=3 and libraryconfirm=2 and mergeid = 0 and print = 3"; if($timetk && $timetj && $library == 1) { //$cxtime = 'reviewtime'; //$where .= " and librarytime > '$timetk' and librarytime < '$timetj'"; } else if($timetk && $timetj && $library == 2) { $cxtime = 'librarytime'; $where .= " and librarytime > '$timetk' and librarytime < '$timetj'"; } **/ if(isset($_SESSION['api'])) { if($type) { $where .= " and type = '$type'"; } else { $uw = ''; $u = $this->user->get_api($_SESSION['api']); $u['warehouse'] = explode('|',trim($u['warehouse'],'|')); foreach ($u['warehouse'] as $v) { $uw .= " type = '$v' or"; } $uw = rtrim($uw,'or'); $uw = " and (".ltrim($uw,' ').")"; $where .= $uw; } } else { echo json_encode(array('msg'=>'导出失败,请重新登陆!','success'=>false));exit; } if($shop) { $where .= " and shop = '$shop'"; } if($number) { $where .= " and number = '$number'"; } if($library) { $where .= " and library = '$library'"; } if($waybill) { $where .= " and waybill = '$waybill'"; } if($express) { $where .= " and express = '$express'"; } if($orderinfo) { $where .= " and orderinfo = '$orderinfo'"; } if($so) { $where .= " and shipremarks like '%$so%'"; } //数据排序 //$order_str = ($print != 3)?"id desc":"librarytime desc"; $order_str = "librarytime desc"; if(empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1)*$perpage; } $typeclass = array(); $tclass = $this->typeclass->find_all(); foreach ($tclass as $v) { $typeclass[$v['id']] = $v; } //取得信息列表 $info_list = $this->fullorder->find_all($where.$wid,'shop,type,orderinfo,number,waybill,waybillid,express,print,library,librarytime,shipremarks,ts,fpdata',$order_str); //格式化数据 foreach ($info_list as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_list[$key]['shop'] = $shop['shopname']; if($value['waybill'] == '0') { $info_list[$key]['waybill'] = ""; } $express = $this->express->read($value['express']); $info_list[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_list[$key]['type'] = $warehouse['title']; if($value['print'] == 1) { $info_list[$key]['print'] = '不可打印'; } else if($value['print'] == 2) { $info_list[$key]['print'] = '未打印'; } else if($value['print'] == 3) { $info_list[$key]['print'] = '已打印'; } if($value['library'] == 1) { $info_list[$key]['library'] = '未出库'; } else if($value['library'] == 2) { $info_list[$key]['library'] = '已出库'; } else if($value['library'] == 3) { $info_list[$key]['library'] = '已退库'; } if($value['librarytime'] == '0') { $info_list[$key]['librarytime'] = ''; } else { $info_list[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).''; } $classid = $classid = $this->classid->sku(); $dbapi = explode(';',trim($value['fpdata'],';')); $tmp_jm = ""; $tmp_zh = ""; foreach ($dbapi as $va) { $pm = $classid; $jm = $classid; $bmpx = array(13=>'',16=>'',18=>'',25=>'',26=>'',41=>''); $features = str_replace(array('-163-','-164-','-165-','-166-'),'-',$va); $ts = explode('|',trim($features,'|')); if(stripos($ts[0],',') !== false) { $ft = explode(',',$ts[0]); $features = explode('-',trim($ft[1],'-')); $features[] = $ft[0]; } else { $features = explode('-',trim($ts[0],'-')); } foreach($features as $k=>$v) { if(isset($typeclass[$v]) && isset($bmpx[$typeclass[$v]['classid']])) { if($typeclass[$v]['bm'] != '') { $bmpx[$typeclass[$v]['classid']] = $typeclass[$v]['bm']; } } if($v != 0 && isset($typeclass[$v])) { if($typeclass[$v]['classid'] == 13) { $dj = $typeclass[$v]['title']; } if($typeclass[$v]['classid'] == 8) { $ys = $typeclass[$v]['title']; } if($typeclass[$v]['classid'] == 15) { $hx = $typeclass[$v]['title']; } if(isset($pm[$typeclass[$v]['classid']])) { if($typeclass[$v]['title'] == '9A') { $pm[$typeclass[$v]['classid']] = '9A'; } else if($typeclass[$v]['title'] == '10A') { $pm[$typeclass[$v]['classid']] = '10A'; } else { $clzh = $typeclass[$v]['zh']; if(stripos($typeclass[$v]['zh'],'|') !== false) { $clzh = explode('|',rtrim($typeclass[$v]['zh'],'|')); $clzh = $clzh[0]; } $pm[$typeclass[$v]['classid']] = $clzh; } } if(isset($jm[$typeclass[$v]['classid']])) { if($typeclass[$v]['jm']) { $jm[$typeclass[$v]['classid']] = $typeclass[$v]['jm']; } } } } $jm = array_filter($jm);//去除空值 $jm = implode("-",$jm); $tmp_jm .= $jm.";"; $pm = array_filter($pm);//去除空值 $zh = implode(" ",$pm); $zh = preg_replace("/\r\n|\r|\n/",'',trim($zh,' ')); $tmp_zh .= $zh.";"; } $info_list[$key]['jm'] = trim($tmp_jm,';'); $info_list[$key]['zh'] = trim($tmp_zh,';'); } //取得信息列表 $info_listsmt = $this->fullordersmt->find_all($where.$wid,'shop,type,orderinfo,number,waybill,waybillid,express,print,library,librarytime,shipremarks,ts,fpdata',$order_str); //格式化数据 foreach ($info_listsmt as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_listsmt[$key]['shop'] = $shop['shopname']; if($value['waybill'] == '0') { $info_listsmt[$key]['waybill'] = ""; } $express = $this->express->read($value['express']); $info_listsmt[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_listsmt[$key]['type'] = $warehouse['title']; if($value['print'] == 1) { $info_listsmt[$key]['print'] = '不可打印'; } else if($value['print'] == 2) { $info_listsmt[$key]['print'] = '未打印'; } else if($value['print'] == 3) { $info_listsmt[$key]['print'] = '已打印'; } if($value['library'] == 1) { $info_listsmt[$key]['library'] = '未出库'; } else if($value['library'] == 2) { $info_listsmt[$key]['library'] = '已出库'; } else if($value['library'] == 3) { $info_listsmt[$key]['library'] = '已退库'; } if($value['librarytime'] == '0') { $info_listsmt[$key]['librarytime'] = ''; } else { $info_listsmt[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).''; } $classid = $classid = $this->classid->sku(); $dbapi = explode(';',trim($value['fpdata'],';')); $tmp_jm = ""; $tmp_zh = ""; foreach ($dbapi as $va) { $pm = $classid; $jm = $classid; $bmpx = array(13=>'',16=>'',18=>'',25=>'',26=>'',41=>''); $features = str_replace(array('-163-','-164-','-165-','-166-'),'-',$va); $ts = explode('|',trim($features,'|')); if(stripos($ts[0],',') !== false) { $ft = explode(',',$ts[0]); $features = explode('-',trim($ft[1],'-')); $features[] = $ft[0]; } else { $features = explode('-',trim($ts[0],'-')); } foreach($features as $k=>$v) { if(isset($typeclass[$v]) && isset($bmpx[$typeclass[$v]['classid']])) { if($typeclass[$v]['bm'] != '') { $bmpx[$typeclass[$v]['classid']] = $typeclass[$v]['bm']; } } if($v != 0 && isset($typeclass[$v])) { if($typeclass[$v]['classid'] == 13) { $dj = $typeclass[$v]['title']; } if($typeclass[$v]['classid'] == 8) { $ys = $typeclass[$v]['title']; } if($typeclass[$v]['classid'] == 15) { $hx = $typeclass[$v]['title']; } if(isset($pm[$typeclass[$v]['classid']])) { if($typeclass[$v]['title'] == '9A') { $pm[$typeclass[$v]['classid']] = '9A'; } else if($typeclass[$v]['title'] == '10A') { $pm[$typeclass[$v]['classid']] = '10A'; } else { $clzh = $typeclass[$v]['zh']; if(stripos($typeclass[$v]['zh'],'|') !== false) { $clzh = explode('|',rtrim($typeclass[$v]['zh'],'|')); $clzh = $clzh[0]; } $pm[$typeclass[$v]['classid']] = $clzh; } } if(isset($jm[$typeclass[$v]['classid']])) { if($typeclass[$v]['jm']) { $jm[$typeclass[$v]['classid']] = $typeclass[$v]['jm']; } } } } $jm = array_filter($jm);//去除空值 $jm = implode("-",$jm); $pm = array_filter($pm);//去除空值 $zh = implode(" ",$pm); $zh = preg_replace("/\r\n|\r|\n/",'',trim($zh,' ')); $tmp_jm .= $jm.";"; $tmp_zh .= $zh.";"; } $info_listsmt[$key]['jm'] = trim($tmp_jm,';'); $info_listsmt[$key]['zh'] = trim($tmp_zh,';'); } //取得信息列表 $info_listtt = $this->fullordertt->find_all($where.$wid,'shop,type,orderinfo,number,waybill,waybillid,express,print,library,librarytime,shipremarks,ts,fpdata',$order_str); //格式化数据 foreach ($info_listtt as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_listtt[$key]['shop'] = $shop['shopname']; if($value['waybill'] == '0') { $info_listtt[$key]['waybill'] = ""; } $express = $this->express->read($value['express']); $info_listtt[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_listtt[$key]['type'] = $warehouse['title']; if($value['print'] == 1) { $info_listtt[$key]['print'] = '不可打印'; } else if($value['print'] == 2) { $info_listtt[$key]['print'] = '未打印'; } else if($value['print'] == 3) { $info_listtt[$key]['print'] = '已打印'; } if($value['library'] == 1) { $info_listtt[$key]['library'] = '未出库'; } else if($value['library'] == 2) { $info_listtt[$key]['library'] = '已出库'; } else if($value['library'] == 3) { $info_listtt[$key]['library'] = '已退库'; } if($value['librarytime'] == '0') { $info_listtt[$key]['librarytime'] = ''; } else { $info_listtt[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).''; } $classid = $classid = $this->classid->sku(); $tmp_jm = ""; $tmp_zh = ""; $dbapi = explode(';',trim($value['fpdata'],';')); foreach ($dbapi as $va) { $pm = $classid; $jm = $classid; $bmpx = array(13=>'',16=>'',18=>'',25=>'',26=>'',41=>''); $features = str_replace(array('-163-','-164-','-165-','-166-'),'-',$va); $ts = explode('|',trim($features,'|')); if(stripos($ts[0],',') !== false) { $ft = explode(',',$ts[0]); $features = explode('-',trim($ft[1],'-')); $features[] = $ft[0]; } else { $features = explode('-',trim($ts[0],'-')); } foreach($features as $k=>$v) { if(isset($typeclass[$v]) && isset($bmpx[$typeclass[$v]['classid']])) { if($typeclass[$v]['bm'] != '') { $bmpx[$typeclass[$v]['classid']] = $typeclass[$v]['bm']; } } if($v != 0 && isset($typeclass[$v])) { if($typeclass[$v]['classid'] == 13) { $dj = $typeclass[$v]['title']; } if($typeclass[$v]['classid'] == 8) { $ys = $typeclass[$v]['title']; } if($typeclass[$v]['classid'] == 15) { $hx = $typeclass[$v]['title']; } if(isset($pm[$typeclass[$v]['classid']])) { if($typeclass[$v]['title'] == '9A') { $pm[$typeclass[$v]['classid']] = '9A'; } else if($typeclass[$v]['title'] == '10A') { $pm[$typeclass[$v]['classid']] = '10A'; } else { $clzh = $typeclass[$v]['zh']; if(stripos($typeclass[$v]['zh'],'|') !== false) { $clzh = explode('|',rtrim($typeclass[$v]['zh'],'|')); $clzh = $clzh[0]; } $pm[$typeclass[$v]['classid']] = $clzh; } } if(isset($jm[$typeclass[$v]['classid']])) { if($typeclass[$v]['jm']) { $jm[$typeclass[$v]['classid']] = $typeclass[$v]['jm']; } } } } $jm = array_filter($jm);//去除空值 $jm = implode("-",$jm); $pm = array_filter($pm);//去除空值 $zh = implode(" ",$pm); $zh = preg_replace("/\r\n|\r|\n/",'',trim($zh,' ')); $tmp_jm .= $jm.";"; $tmp_zh .= $zh.";"; } $info_listtt[$key]['jm'] = trim($tmp_jm,';'); $info_listtt[$key]['zh'] = trim($tmp_zh,';'); } //取得信息列表 $info_listamz = $this->fullorderamz->find_all($where.$wid,'shop,type,orderinfo,number,waybill,waybillid,express,print,library,librarytime,shipremarks,ts,fpdata',$order_str); //格式化数据 foreach ($info_listamz as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_listamz[$key]['shop'] = $shop['shopname']; if($value['waybill'] == '0') { $info_listamz[$key]['waybill'] = ""; } $express = $this->express->read($value['express']); $info_listamz[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_listamz[$key]['type'] = $warehouse['title']; if($value['print'] == 1) { $info_listamz[$key]['print'] = '不可打印'; } else if($value['print'] == 2) { $info_listamz[$key]['print'] = '未打印'; } else if($value['print'] == 3) { $info_listamz[$key]['print'] = '已打印'; } if($value['library'] == 1) { $info_listamz[$key]['library'] = '未出库'; } else if($value['library'] == 2) { $info_listamz[$key]['library'] = '已出库'; } else if($value['library'] == 3) { $info_listamz[$key]['library'] = '已退库'; } if($value['librarytime'] == '0') { $info_listamz[$key]['librarytime'] = ''; } else { $info_listamz[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).''; } $classid = $classid = $this->classid->sku(); $dbapi = explode(';',trim($value['fpdata'],';')); $tmp_jm = ""; $tmp_zh = ""; foreach ($dbapi as $va) { $pm = $classid; $jm = $classid; $bmpx = array(13=>'',16=>'',18=>'',25=>'',26=>'',41=>''); $features = str_replace(array('-163-','-164-','-165-','-166-'),'-',$va); $ts = explode('|',trim($features,'|')); if(stripos($ts[0],',') !== false) { $ft = explode(',',$ts[0]); $features = explode('-',trim($ft[1],'-')); $features[] = $ft[0]; } else { $features = explode('-',trim($ts[0],'-')); } foreach($features as $k=>$v) { if(isset($typeclass[$v]) && isset($bmpx[$typeclass[$v]['classid']])) { if($typeclass[$v]['bm'] != '') { $bmpx[$typeclass[$v]['classid']] = $typeclass[$v]['bm']; } } if($v != 0 && isset($typeclass[$v])) { if($typeclass[$v]['classid'] == 13) { $dj = $typeclass[$v]['title']; } if($typeclass[$v]['classid'] == 8) { $ys = $typeclass[$v]['title']; } if($typeclass[$v]['classid'] == 15) { $hx = $typeclass[$v]['title']; } if(isset($pm[$typeclass[$v]['classid']])) { if($typeclass[$v]['title'] == '9A') { $pm[$typeclass[$v]['classid']] = '9A'; } else if($typeclass[$v]['title'] == '10A') { $pm[$typeclass[$v]['classid']] = '10A'; } else { $clzh = $typeclass[$v]['zh']; if(stripos($typeclass[$v]['zh'],'|') !== false) { $clzh = explode('|',rtrim($typeclass[$v]['zh'],'|')); $clzh = $clzh[0]; } $pm[$typeclass[$v]['classid']] = $clzh; } } if(isset($jm[$typeclass[$v]['classid']])) { if($typeclass[$v]['jm']) { $jm[$typeclass[$v]['classid']] = $typeclass[$v]['jm']; } } } } $jm = array_filter($jm);//去除空值 $jm = implode("-",$jm); $pm = array_filter($pm);//去除空值 $zh = implode(" ",$pm); $zh = preg_replace("/\r\n|\r|\n/",'',trim($zh,' ')); $tmp_jm .= $jm.";"; $tmp_zh .= $zh.";"; } $info_listamz[$key]['jm'] = trim($tmp_jm,';'); $info_listamz[$key]['zh'] = trim($tmp_zh,';'); } //取得信息列表 $info_listxw = $this->fullorderxw->find_all($where.$wid,'shop,type,orderinfo,number,waybill,waybillid,express,print,library,librarytime,shipremarks,ts,fpdata',$order_str); //格式化数据 foreach ($info_listxw as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_listxw[$key]['shop'] = $shop['shopname']; if($value['waybill'] == '0') { $info_listxw[$key]['waybill'] = ""; } $express = $this->express->read($value['express']); $info_listxw[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_listxw[$key]['type'] = $warehouse['title']; if($value['print'] == 1) { $info_listxw[$key]['print'] = '不可打印'; } else if($value['print'] == 2) { $info_listxw[$key]['print'] = '未打印'; } else if($value['print'] == 3) { $info_listxw[$key]['print'] = '已打印'; } if($value['library'] == 1) { $info_listxw[$key]['library'] = '未出库'; } else if($value['library'] == 2) { $info_listxw[$key]['library'] = '已出库'; } else if($value['library'] == 3) { $info_listxw[$key]['library'] = '已退库'; } if($value['librarytime'] == '0') { $info_listxw[$key]['librarytime'] = ''; } else { $info_listxw[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).''; } $classid = $classid = $this->classid->sku(); $dbapi = explode(';',trim($value['fpdata'],';')); foreach ($dbapi as $va) { $pm = $classid; $jm = $classid; $bmpx = array(13=>'',16=>'',18=>'',25=>'',26=>'',41=>''); $features = str_replace(array('-163-','-164-','-165-','-166-'),'-',$va); $ts = explode('|',trim($features,'|')); if(stripos($ts[0],',') !== false) { $ft = explode(',',$ts[0]); $features = explode('-',trim($ft[1],'-')); $features[] = $ft[0]; } else { $features = explode('-',trim($ts[0],'-')); } foreach($features as $k=>$v) { if(isset($typeclass[$v]) && isset($bmpx[$typeclass[$v]['classid']])) { if($typeclass[$v]['bm'] != '') { $bmpx[$typeclass[$v]['classid']] = $typeclass[$v]['bm']; } } if($v != 0 && isset($typeclass[$v])) { if($typeclass[$v]['classid'] == 13) { $dj = $typeclass[$v]['title']; } if($typeclass[$v]['classid'] == 8) { $ys = $typeclass[$v]['title']; } if($typeclass[$v]['classid'] == 15) { $hx = $typeclass[$v]['title']; } if(isset($pm[$typeclass[$v]['classid']])) { if($typeclass[$v]['title'] == '9A') { $pm[$typeclass[$v]['classid']] = '9A'; } else if($typeclass[$v]['title'] == '10A') { $pm[$typeclass[$v]['classid']] = '10A'; } else { $clzh = $typeclass[$v]['zh']; if(stripos($typeclass[$v]['zh'],'|') !== false) { $clzh = explode('|',rtrim($typeclass[$v]['zh'],'|')); $clzh = $clzh[0]; } $pm[$typeclass[$v]['classid']] = $clzh; } } if(isset($jm[$typeclass[$v]['classid']])) { if($typeclass[$v]['jm']) { $jm[$typeclass[$v]['classid']] = $typeclass[$v]['jm']; } } } } $jm = array_filter($jm);//去除空值 $jm = implode("-",$jm); $pm = array_filter($pm);//去除空值 $zh = implode(" ",$pm); $zh = preg_replace("/\r\n|\r|\n/",'',trim($zh,' ')); } $info_listxw[$key]['jm'] = $jm; $info_listxw[$key]['zh'] = $zh; } $title = '订单出库-'.date('Ymd',time()); $t = str_replace("运单号","运单号转单号",$t); $titlename = "".$t."
条数料品品名
"; $tail = "\n"; $filename = $title.".xls"; $this->excel->get_fz2(array_merge($info_list,$info_listtt,$info_listamz,$info_listxw,$info_listsmt),$titlename,$filename,$tail); } } public function _cpexcel() { if(isset($_SESSION['api'])) { $user = $this->user->get_api($_SESSION['api']); $usp = $user; $fgshop = "";$sid = "";$excelshop=""; $usersp = explode('|',trim($user['shop'],'|')); foreach ($usersp as $value) { $fgshop .= " shop = ".$value." or"; $sid .= " id = ".$value." or"; } $userexcel = explode('|',trim($user['excelshop'],'|')); foreach ($userexcel as $value) { $excelshop .= " shop = ".$value." or"; } if($excelshop != "") { $excelshop = "(".rtrim($excelshop,'or').")"; } } if(isset($_GET['excel'])) { $timetk = $this->input->get('timetk',true); $timetj = $this->input->get('timetj',true); $shop = $this->input->get('shop',true); $library = $this->input->get('library',true); $type = $this->input->get('type',true); $number = $this->input->get('number',true); $orderinfo = $this->input->get('orderinfo',true); $so = $this->input->get('so',true); $number = $this->input->get('number',true); $express = $this->input->get('express',true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $where = "mergeid = 0"; if($timetk && $timetj && $library == 2) { $where .= " and librarytime > '$timetk' and librarytime < '$timetj'"; } else { $where .= " and printtime > '$timetk' and printtime < '$timetj'"; } if(isset($_SESSION['api'])) { if($type) { $where .= " and type = '$type'"; } else { $uw = ''; $u = $this->user->get_api($_SESSION['api']); $u['warehouse'] = explode('|',trim($u['warehouse'],'|')); foreach ($u['warehouse'] as $v) { $uw .= " type = '$v' or"; } $uw = rtrim($uw,'or'); $uw = " and (".ltrim($uw,' ').")"; $where .= $uw; } } else { echo json_encode(array('msg'=>'导出失败,请重新登陆!','success'=>false));exit; } if($shop) { $where .= " and shop = '$shop'"; } else { $where .= " and ".$excelshop; } if($library) { $where .= " and library = '$library'"; } if($number) { $where .= " and number = '$number'"; } if($orderinfo) { $where .= " and orderinfo = '$orderinfo'"; } if($so) { $where .= " and shipremarks like '%$so%'"; } if($express) { $where .= " and express = '$express'"; } /* 匹配ID加入 */ $tc = array(); $typeclass = $this->typeclass->find_all(); foreach ($typeclass as $v) { $tc[$v['id']] = $v['title']; } $shouldmoney=0;$expressmoney=0;$budget=0;$refundj=0;$refundj=0;$cost=0;$lr=0; //取得信息列表 $info_lista = $this->fullordersmt->find_all($where,'fpdata'); $info_listb = $this->fullorder->find_all($where,'fpdata'); $info_list = array_merge($info_lista,$info_listb); //格式化数据 $i = 0;$cpexcel = array(); foreach ($info_list as $key=>$value) { if(stripos($value['fpdata'],';') !== false) { $fpdata = explode(';',rtrim($value['fpdata'],';')); foreach ($fpdata as $ke=>$va) { $title = ''; $fg = explode('|',$va); $fg[0] = str_replace(array('163-','164-','165-','166-','-0-'),array('','','','','-'),$fg[0]); $cp = explode('-',rtrim($fg[0],'-')); $dj = $tc[$cp[2]]; if(!isset($cp[3])) { $ys = json_encode($cp); } else { $ys = $tc[$cp[3]]; } unset($cp[0],$cp[1],$cp[2],$cp[3]); foreach ($cp as $v) { $title .= $tc[$v].' '; } $cpexcel[$ke] = array($fg[5],$dj,$ys,$title,$fg[2]);//内容,尺寸,等级,颜色,数量 } } $i++; } $title = "统计信息"; $titlename = "
尺寸 等级 颜色 花型 数量
"; $filename = $title.".xls"; $tail = "\n"; $this->excel->get_fz2($cpexcel,$titlename,$filename,$tail); } } public function _orderyz() { $post = $this->input->post(NULL, TRUE); if(isset($post['yz'])) { $yz = $this->input->post('yz',true); $number = $this->input->post('number',true); $y = $this->fullorder->get_number($number); if(!$y) { $y = $this->fullordersmt->get_number($number); if(!$y) { echo json_encode(array('msg'=>'没有找到此订单,请检查是否扫描错误','success'=>false));exit; } } $whlabel = explode('|',trim($y['whlabel'],'|')); foreach($whlabel as $k=>$v) { $w = explode('-',trim($v,'-')); $wldata[$w[0]] = $w; } $whlabellabel = $this->whlabellabel->get_label($yz); if(!$whlabellabel) { echo json_encode(array('msg'=>'没有找到此产品条码','success'=>false));exit; } else { if(isset($wldata[$whlabellabel['number']])) { if(!isset($wldata[$whlabellabel['number']][2])) { echo json_encode(array('msg'=>'此货物没有占单!','success'=>false));exit; } else if($wldata[$whlabellabel['number']][2] == 0) { echo json_encode(array('msg'=>'此货物没有占单!','success'=>false));exit; } } else { echo json_encode(array('msg'=>'此订单中没有扫码产品!','success'=>false));exit; } echo json_encode(array('number'=>$whlabellabel['number'],'success'=>true));exit; } } if(isset($post['number'])) { $number = $this->input->post('number',true); $f = 'fullorder'; $y = $this->fullorder->get_number($number); if(!$y) { $f = 'fullordersmt'; $y = $this->fullordersmt->get_number($number); if(!$y) { echo json_encode(array('msg'=>'没有找到此订单,请检查是否扫描错误','success'=>false));exit; } } if($y['librarytime'] > 0) { echo json_encode(array('msg'=>'错误,此订单已出库!','success'=>false));exit; } $warehouse = $this->warehouse->read($y['type']); if(stripos($y['whlabel'],$warehouse['hz']) === false) { echo json_encode(array('msg'=>'pz','success'=>false));exit; } $data = explode('|',trim($y['whlabel'],'|')); $fpdata = explode(';',trim($y['fpdata'],';')); $cp = array();$i = 0;$x=0;$byz = array();$znum = 0; foreach($fpdata as $val) { $pm = array(13=>'',22=>'',8=>'',15=>'',18=>'','100'=>'',33=>'',34=>'',7=>'','dc'=>'','c'=>'',14=>'',12=>'',25=>'',26=>'',27=>'',10=>'',6=>'',9=>'',999=>'',9999=>''); $scsku = array(13=>'',22=>'',8=>'',15=>'',18=>'','100'=>'',33=>'',34=>'',7=>'','dc'=>'','c'=>'',14=>'',12=>'',25=>'',26=>'',27=>'',10=>'',6=>'',9=>'',999=>'',9999=>''); $fp = explode('|',$val); $fp[0] = str_replace(',','-',$fp[0]); $value = explode('-',$fp[0]); foreach($value as $v) { $typeclass = $this->typeclass->read($v); $zh = explode('|',trim($typeclass['zh'],'|')); $pm[$typeclass['classid']] = $zh[0]; $scsku[$typeclass['classid']] = $typeclass['bqsku']; } $scsku = implode("-",$scsku); $zh = implode(" ",$pm); $zh = str_replace('自然色 ','',rtrim($zh,' ')); $scsku = str_replace('- ','-',trim($scsku,'-')); $scsku = str_replace(array('--------','-------','------','-----','----','---','--'),'-',$scsku); $zh = str_replace(array(' ',' ',' ',' ',' ',' ',' '),' ',$zh); $data[$i] = explode('-',$data[$i]); for($j=0;$j<$data[$i][1];$j++) { if(isset($data[$i][2]) && $warehouse['hz'] != '' && stripos($data[$i][2],$warehouse['hz']) !== false) { $znum++;//只计算现货 //$cp[$x] = array('id'=>$data[$i][0],'sku'=>$scsku,'zh'=>$zh,'t'=>'替换现货','c'=>1,'color'=>'#333');//区别位置模式,暂不使用 $cp[] = array('id'=>$data[$i][0],'sku'=>$scsku,'zh'=>$zh,'y'=>'已占单','t'=>'替换现货','c'=>1,'color'=>'#333'); } else { //$cp[999+$x] = array('id'=>$data[$i][0],'sku'=>$scsku,'zh'=>$zh,'t'=>'增加现货','c'=>0,'color'=>'#999');//区别位置模式,暂不使用 $cp[] = array('id'=>$data[$i][0],'sku'=>$scsku,'zh'=>$zh,'y'=>'','t'=>'增加现货','c'=>0,'color'=>'#666'); } $x++;//所有数量 } $i++; } //ksort($cp);//区别位置模式,暂不使用 $cp = array_values($cp); if($this->$f->save(array('yhs'=>1),$y['id'])) { echo json_encode(array('rows'=>$cp,'z'=>$znum,'success'=>true));exit; } else { echo json_encode(array('msg'=>'处理信息失败,请重试','success'=>false));exit; } } if(isset($post['tid'])) { $typeclass = array(); $tc = $this->typeclass->find_all(); foreach($tc as $v) { $typeclass[$v['id']] = array('id'=>$v['id'],'classid'=>$v['classid'],'spare'=>$v['spare']); } $tid = $this->input->post('tid',true); $id = $this->input->post('id',true); $number = $this->input->post('n',true); $ful = 'fullorder'; $y = $this->fullorder->get_number($number); if(!$y) { $ful = 'fullordersmt'; $y = $this->fullordersmt->get_number($number); if(!$y) { echo json_encode(array('msg'=>'没有找到此订单,请检查是否扫描错误','success'=>false));exit; } } $wtid = $this->whlabellabel->get_label($tid); if(!$wtid) { echo json_encode(array('msg'=>'没有找到此产品条码','success'=>false));exit; } $whlabel = explode('|',trim($y['whlabel'],'|')); $fpdata = explode(';',trim($y['fpdata'],';')); $warehouse = $this->warehouse->read($y['type']); $zdkc = $warehouse['bdck']; $ptc = $this->$zdkc->find_all("state = '0' and number = '".$wtid['number']."' and warehouse = '".$warehouse['id']."' and zd = '' and (shop IS NULL or shop = '')");//通用 $zsc = $this->$zdkc->find_all("state = '0' and number = '".$wtid['number']."' and warehouse = '".$warehouse['id']."' and zd = '' and shop like '%,".$y['shop'].",%'");//专属 if((count($ptc)+count($zsc)) < 1) { echo json_encode(array('msg'=>'录入的产品没有足够的库存!-'.(count($ptc)+count($zsc)),'success'=>false));exit; } $this->db->trans_begin(); $dataw = '';$dataf = '';$fhdata = array();$ww = '';$ff = '';$thff = ''; if($zsc) { $this->$zdkc->save(array('zd'=>$number),$zsc[0]['id']); $xrid = $zsc[0]['id']; } else if($ptc) { $this->$zdkc->save(array('zd'=>$number),$ptc[0]['id']); $xrid = $ptc[0]['id']; } $xr = $this->$zdkc->read($xrid); $features = explode('-',trim($xr['features'],'-')); $fhdata = array('sku'=>$xr['sku'],'title'=>$xr['title'],'id'=>$xr['features']); foreach($features as $kk=>$v) { if($typeclass[$v]['classid'] == 14) { $cc = array('id'=>$typeclass[$v]['id'],'spare'=>$typeclass[$v]['spare']); unset($kk); } } $dataw = $tid.'-1-'.$xrid.$warehouse['hz'].'|'; $dataf = $cc['id'].',-'.implode("-",$features).'-|'.$xr['title'].' |1|0|0|'.$cc['spare'].'|0|0|0|'.$xr['id'].$warehouse['hz'].';'; $wldata = array(); $fdata = array(); foreach($whlabel as $k=>$v) { $w = explode('-',trim($v,'-')); $wldata[$w[0]] = array('wz'=>$k,'sj'=>$w); } if(!isset($wldata[$id])) { echo json_encode(array('msg'=>'错误,未找到需要替换的产品,请重新扫发货单条码验货','success'=>false));exit; } if(isset($wldata[$wtid['number']]['sj'])) { $tw = $wldata[$wtid['number']]['sj']; if($wtid['number'] != $id) { echo json_encode(array('msg'=>'替换的产品已存在,请操作此产品','success'=>false));exit; } else { if(isset($tw[2]) && $tw[2] != 0) { echo json_encode(array('msg'=>'替换的产品已存在,并且已占单,无法操作替换!','success'=>false));exit; } } if($tw[1] > 1) { echo json_encode(array('msg'=>'替换的产品已存在,并且已数量为大于1,无法操作替换!','success'=>false));exit; } } $thfpdata = $y['thfpdata']; $w = $wldata[$id]['sj']; $f = explode('|',trim($fpdata[$wldata[$id]['wz']],'|')); $zdkc = $warehouse['bdck']; if($w[1] > 1) { if(isset($w[2]) && $w[2] != 0) { $hz = explode('~',trim($w[2],'~')); $this->$zdkc->save(array('zd'=>''),trim($hz[0],$warehouse['hz'])); $zd = str_replace($hz[0],'',$w[2]); $zd = trim($zd,'~'); $w[2] = $zd; } foreach($w as $kk=>$v) { if($kk == 1) { $v = $v-1; } $ww .= $v .'-'; } $whlabel[$wldata[$id]['wz']] = trim($ww,'-'); foreach($f as $kk=>$v) { if($kk == 2) { $v = $v-1; $thff .= '1|'; } else { $thff .= $v .'|'; } $ff .= $v .'|'; } $fpdata[$wldata[$id]['wz']] = trim($ff,'|'); $thfpdata .= trim($thff,'|'); } else { $thfpdata .= $fpdata[$wldata[$id]['wz']]; unset($whlabel[$wldata[$id]['wz']]); unset($fpdata[$wldata[$id]['wz']]); } $thfpdata .= '~'.$dataf; $whlabel = '|'.implode("|",$whlabel).'|'.$dataw; $fpdata = implode(";",$fpdata).';'.$dataf; $this->$ful->save(array('whlabel'=>$whlabel,'fpdata'=>$fpdata,'thfpdata'=>$thfpdata),$y['id']); if ($this->db->trans_status() === TRUE) { $this->db->trans_commit(); echo json_encode(array('sku'=>$fhdata['sku'],'title'=>$fhdata['title'],'id'=>$fhdata['id'],'msg'=>321,'success'=>true));exit; } else { $this->db->trans_rollback(); echo json_encode(array('msg'=>'条码录入失败,请重试','success'=>false));exit; } } if(isset($post['yhs'])) { $f = 'fullorder'; $number = $this->input->post('yhs',true); $y = $this->fullorder->get_number($number); if(!$y) { $f = 'fullordersmt'; $y = $this->fullordersmt->get_number($number); } if($this->$f->save(array('yhs'=>0),$y['id'])) { echo json_encode(array('success'=>true));exit; } else { echo json_encode(array('success'=>false));exit; } } $this->_Template('systemfout_orderyz',$this->data); } public function _hwyz() { $post = $this->input->post(NULL, TRUE); if(isset($post['yz'])) { $yz = $this->input->post('yz',true); $number = $this->input->post('number',true); $y = $this->fullorder->get_number($number); if(!$y) { $y = $this->fullordersmt->get_number($number); if(!$y) { echo json_encode(array('msg'=>'没有找到此订单,请检查是否扫描错误','success'=>false));exit; } } $whlabel = explode('|',trim($y['whlabel'],'|')); foreach($whlabel as $k=>$v) { $w = explode('-',trim($v,'-')); $wldata[$w[0]] = $w; } $whlabellabel = $this->whlabellabel->get_label($yz); if(!$whlabellabel) { echo json_encode(array('msg'=>'没有找到此产品条码','success'=>false));exit; } else { if(isset($wldata[$whlabellabel['number']])) { if(!isset($wldata[$whlabellabel['number']][2])) { echo json_encode(array('msg'=>'此货物没有占单!','success'=>false));exit; } else if($wldata[$whlabellabel['number']][2] == 0) { echo json_encode(array('msg'=>'此货物没有占单!','success'=>false));exit; } } else { echo json_encode(array('msg'=>'此订单中没有扫码产品!','success'=>false));exit; } echo json_encode(array('number'=>$whlabellabel['number'],'success'=>true));exit; } } if(isset($post['number'])) { $number = $this->input->post('number',true); $f = 'fullorder'; $y = $this->fullorder->get_number($number); if(!$y) { $f = 'fullordersmt'; $y = $this->fullordersmt->get_number($number); if(!$y) { echo json_encode(array('msg'=>'没有找到此订单,请检查是否扫描错误','success'=>false));exit; } } if($y['librarytime'] > 0) { echo json_encode(array('msg'=>'错误,此订单已出库!','success'=>false));exit; } $warehouse = $this->warehouse->read($y['type']); $data = explode('|',trim($y['whlabel'],'|')); $fpdata = explode(';',trim($y['fpdata'],';')); $cp = array();$i = 0;$x=0;$byz = array();$znum = 0; foreach($fpdata as $val) { $pm = array(13=>'',22=>'',8=>'',15=>'',18=>'','100'=>'',33=>'',34=>'',7=>'','dc'=>'','c'=>'',14=>'',12=>'',25=>'',26=>'',27=>'',10=>'',6=>'',9=>'',999=>'',9999=>''); $scsku = array(13=>'',22=>'',8=>'',15=>'',18=>'','100'=>'',33=>'',34=>'',7=>'','dc'=>'','c'=>'',14=>'',12=>'',25=>'',26=>'',27=>'',10=>'',6=>'',9=>'',999=>'',9999=>''); $fp = explode('|',$val); $fp[0] = str_replace(',','-',$fp[0]); $value = explode('-',$fp[0]); foreach($value as $v) { $typeclass = $this->typeclass->read($v); $zh = explode('|',trim($typeclass['zh'],'|')); $pm[$typeclass['classid']] = $zh[0]; $scsku[$typeclass['classid']] = $typeclass['bqsku']; } $scsku = implode("-",$scsku); $zh = implode(" ",$pm); $zh = str_replace('自然色 ','',rtrim($zh,' ')); $scsku = str_replace('- ','-',trim($scsku,'-')); $scsku = str_replace(array('--------','-------','------','-----','----','---','--'),'-',$scsku); $zh = str_replace(array(' ',' ',' ',' ',' ',' ',' '),' ',$zh); $data[$i] = explode('-',$data[$i]); for($j=0;$j<$data[$i][1];$j++) { if(isset($data[$i][2]) && $warehouse['hz'] != '' && stripos($data[$i][2],$warehouse['hz']) !== false) { $znum++;//只计算现货 //$cp[$x] = array('id'=>$data[$i][0],'sku'=>$scsku,'zh'=>$zh,'t'=>'替换现货','c'=>1,'color'=>'#333');//区别位置模式,暂不使用 $cp[] = array('id'=>$data[$i][0],'sku'=>$scsku,'zh'=>$zh,'y'=>'已占单','t'=>'替换现货','c'=>1,'color'=>'#333'); } else { //$cp[999+$x] = array('id'=>$data[$i][0],'sku'=>$scsku,'zh'=>$zh,'t'=>'增加现货','c'=>0,'color'=>'#999');//区别位置模式,暂不使用 $cp[] = array('id'=>$data[$i][0],'sku'=>$scsku,'zh'=>$zh,'y'=>'','t'=>'增加现货','c'=>0,'color'=>'#666'); } $x++;//所有数量 } $i++; } //ksort($cp);//区别位置模式,暂不使用 $cp = array_values($cp); if($this->$f->save(array('yhs'=>1),$y['id'])) { if(stripos($y['whlabel'],$warehouse['hz']) === false) { echo json_encode(array('rows'=>$cp,'z'=>$znum,'msg'=>'pz','success'=>false));exit; } echo json_encode(array('rows'=>$cp,'z'=>$znum,'success'=>true));exit; } else { echo json_encode(array('msg'=>'处理信息失败,请重试','success'=>false));exit; } } if(isset($post['tid'])) { $typeclass = array(); $tc = $this->typeclass->find_all(); foreach($tc as $v) { $typeclass[$v['id']] = array('id'=>$v['id'],'classid'=>$v['classid'],'spare'=>$v['spare']); } $tid = $this->input->post('tid',true); $id = $this->input->post('id',true); $number = $this->input->post('n',true); $ful = 'fullorder'; $y = $this->fullorder->get_number($number); if(!$y) { $ful = 'fullordersmt'; $y = $this->fullordersmt->get_number($number); if(!$y) { echo json_encode(array('msg'=>'没有找到此订单,请检查是否扫描错误','success'=>false));exit; } } $wtid = $this->whlabellabel->get_label($tid); if(!$wtid) { echo json_encode(array('msg'=>'没有找到此产品条码','success'=>false));exit; } $whlabel = explode('|',trim($y['whlabel'],'|')); $fpdata = explode(';',trim($y['fpdata'],';')); $warehouse = $this->warehouse->read($y['type']); $zdkc = $warehouse['bdck']; $ptc = $this->$zdkc->find_all("state = '0' and number = '".$wtid['number']."' and warehouse = '".$warehouse['id']."' and zd = '' and (shop IS NULL or shop = '')");//通用 $zsc = $this->$zdkc->find_all("state = '0' and number = '".$wtid['number']."' and warehouse = '".$warehouse['id']."' and zd = '' and shop like '%,".$y['shop'].",%'");//专属 if((count($ptc)+count($zsc)) < 1) { echo json_encode(array('msg'=>'录入的产品没有足够的库存!-'.(count($ptc)+count($zsc)),'success'=>false));exit; } $this->db->trans_begin(); $dataw = '';$dataf = '';$fhdata = array();$ww = '';$ff = '';$thff = ''; if($zsc) { $this->$zdkc->save(array('zd'=>$number),$zsc[0]['id']); $xrid = $zsc[0]['id']; } else if($ptc) { $this->$zdkc->save(array('zd'=>$number),$ptc[0]['id']); $xrid = $ptc[0]['id']; } $xr = $this->$zdkc->read($xrid); $features = explode('-',trim($xr['features'],'-')); $fhdata = array('sku'=>$xr['sku'],'title'=>$xr['title'],'id'=>$xr['features']); foreach($features as $kk=>$v) { if($typeclass[$v]['classid'] == 14) { $cc = array('id'=>$typeclass[$v]['id'],'spare'=>$typeclass[$v]['spare']); unset($kk); } } $dataw = $tid.'-1-'.$xrid.$warehouse['hz'].'|'; $dataf = $cc['id'].',-'.implode("-",$features).'-|'.$xr['title'].' |1|0|0|'.$cc['spare'].'|0|0|0|'.$xr['id'].$warehouse['hz'].';'; $wldata = array(); $fdata = array(); foreach($whlabel as $k=>$v) { $w = explode('-',trim($v,'-')); $wldata[$w[0]] = array('wz'=>$k,'sj'=>$w); } if(!isset($wldata[$id])) { echo json_encode(array('msg'=>'错误,未找到需要替换的产品,请重新扫发货单条码验货','success'=>false));exit; } if(isset($wldata[$wtid['number']]['sj'])) { $tw = $wldata[$wtid['number']]['sj']; if($wtid['number'] != $id) { echo json_encode(array('msg'=>'替换的产品已存在,请操作此产品','success'=>false));exit; } else { if(isset($tw[2]) && $tw[2] != 0) { echo json_encode(array('msg'=>'替换的产品已存在,并且已占单,无法操作替换!','success'=>false));exit; } } if($tw[1] > 1) { echo json_encode(array('msg'=>'替换的产品已存在,并且已数量为大于1,无法操作替换!','success'=>false));exit; } } $thfpdata = $y['thfpdata']; $w = $wldata[$id]['sj']; $f = explode('|',trim($fpdata[$wldata[$id]['wz']],'|')); $zdkc = $warehouse['bdck']; if($w[1] > 1) { if(isset($w[2]) && $w[2] != 0) { $hz = explode('~',trim($w[2],'~')); $this->$zdkc->save(array('zd'=>''),trim($hz[0],$warehouse['hz'])); $zd = str_replace($hz[0],'',$w[2]); $zd = trim($zd,'~'); $w[2] = $zd; } foreach($w as $kk=>$v) { if($kk == 1) { $v = $v-1; } $ww .= $v .'-'; } $whlabel[$wldata[$id]['wz']] = trim($ww,'-'); foreach($f as $kk=>$v) { if($kk == 2) { $v = $v-1; $thff .= '1|'; } else { $thff .= $v .'|'; } $ff .= $v .'|'; } $fpdata[$wldata[$id]['wz']] = trim($ff,'|'); $thfpdata .= trim($thff,'|'); } else { $thfpdata .= $fpdata[$wldata[$id]['wz']]; unset($whlabel[$wldata[$id]['wz']]); unset($fpdata[$wldata[$id]['wz']]); } $thfpdata .= '~'.$dataf; $whlabel = '|'.implode("|",$whlabel).'|'.$dataw; $fpdata = implode(";",$fpdata).';'.$dataf; $this->$ful->save(array('whlabel'=>$whlabel,'fpdata'=>$fpdata,'thfpdata'=>$thfpdata),$y['id']); if ($this->db->trans_status() === TRUE) { $this->db->trans_commit(); echo json_encode(array('sku'=>$fhdata['sku'],'title'=>$fhdata['title'],'id'=>$fhdata['id'],'msg'=>321,'success'=>true));exit; } else { $this->db->trans_rollback(); echo json_encode(array('msg'=>'条码录入失败,请重试','success'=>false));exit; } } if(isset($post['yhs'])) { $f = 'fullorder'; $number = $this->input->post('yhs',true); $y = $this->fullorder->get_number($number); if(!$y) { $f = 'fullordersmt'; $y = $this->fullordersmt->get_number($number); } if($this->$f->save(array('yhs'=>0),$y['id'])) { echo json_encode(array('success'=>true));exit; } else { echo json_encode(array('success'=>false));exit; } } $this->_Template('systemfout_hwyz',$this->data); } public function _fouthb() { $post = $this->input->post(NULL, TRUE); $xw = ''; if(isset($_SESSION['api'])) { $user = $this->user->get_api($_SESSION['api']); $usp = $user; $fgshop = "";$sid = "";$wid="";$wtype=""; $usersp = explode('|',trim($user['shop'],'|')); $userwh = explode('|',trim($user['warehouse'],'|')); foreach ($usersp as $value) { $fgshop .= " shop = ".$value." or"; $sid .= " id = ".$value." or"; } foreach ($userwh as $value) { $wid .= " id = ".$value." or"; $wtype .= " type = ".$value." or"; } if($user['userid'] == 'xw') { $xw = 1; } } if(isset($post['page'])) { $page = $this->input->post('page',true); $perpage = $this->input->post('perpage',true); $timetk = $this->input->post('timetk',true); $timetj = $this->input->post('timetj',true); $shop = $this->input->post('shop',true); $type = $this->input->post('type',true); $express = $this->input->post('express',true); $number = $this->input->post('number',true); $waybill = $this->input->post('waybill',true); $librarytime = $this->input->post('librarytime',true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $where = "mergeid = '1'"; $where .= " and librarytime > '$timetk' and librarytime < '$timetj'"; if($shop) { $where .= " and shop = '$shop'"; } if($number) { $where .= " and number like '$number%'"; } if($waybill) { $where .= " and waybill = '$waybill'"; } if($type) { $where .= " and type = '$type'"; } if($express) { $where .= " and express = '$express'"; } //数据排序 $order_str = "librarytime desc"; if(empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1)*$perpage; } //取得信息列表 $info_list = $this->fullorder->find_all($where,'id,shop,number,waybill,express,librarytime',$order_str,$start,$perpage); //格式化数据 foreach ($info_list as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_list[$key]['shop'] = $shop['shopname']; $express = $this->express->read($value['express']); $info_list[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_list[$key]['type'] = $warehouse['title']; $info_list[$key]['librarytime'] = ''.date('Y-m-d H:i',$value['librarytime']).''; } $info_listtt = $this->fullordertt->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str,$start,$perpage); //格式化数据 foreach ($info_listtt as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_listtt[$key]['shop'] = $shop['shopname']; $express = $this->express->read($value['express']); $info_listtt[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_listtt[$key]['type'] = $warehouse['title']; $info_listtt[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).''; } $info_listamz = $this->fullorderamz->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str,$start,$perpage); //格式化数据 foreach ($info_listamz as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_listamz[$key]['shop'] = $shop['shopname']; $express = $this->express->read($value['express']); $info_listamz[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_listamz[$key]['type'] = $warehouse['title']; $info_listamz[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).''; } $info_listxw = $this->fullorderxw->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str,$start,$perpage); //格式化数据 foreach ($info_listxw as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_listxw[$key]['shop'] = $shop['shopname']; $express = $this->express->read($value['express']); $info_listxw[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_listxw[$key]['type'] = $warehouse['title']; $info_listxw[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).''; } $info_listsmt = $this->fullordersmt->find_all($where." and mergeid = '0'",'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str,$start,$perpage); //格式化数据 foreach ($info_listsmt as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_listsmt[$key]['shop'] = $shop['shopname']; $express = $this->express->read($value['express']); $info_listsmt[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_listsmt[$key]['type'] = $warehouse['title']; $info_listsmt[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).''; } $total = $this->fullorder->find_count($where); $total += $this->fullordertt->find_count($where); $total += $this->fullorderamz->find_count($where); $total += $this->fullorderxw->find_count($where); $total += $this->fullordersmt->find_count($where); $pagenum = ceil($total/$perpage); $over = $total-($start+$perpage); $rows = array('total'=>$total,'over'=>$over,'pagenum'=>$pagenum,'rows'=>(array_merge($info_list,$info_listamz,$info_listtt,$info_listxw,$info_listsmt))); echo json_encode($rows);exit; } if(isset($_SESSION['api'])) { $wlshop = $this->shop->find_all('1=1 and '.rtrim($sid,'or')); $warehouse = $this->warehouse->find_all('1=1 and '.rtrim($wid,'or'),"*","px asc"); $this->data['wlshop'] = $wlshop; $this->data['warehouse'] = $warehouse; } $this->data['xw'] = $xw; $this->_Template('systemfout_fouthb',$this->data); } public function _hb() { $post = $this->input->post(NULL, TRUE); $xw = ''; if(isset($_SESSION['api'])) { $user = $this->user->get_api($_SESSION['api']); $usp = $user; $fgshop = "";$sid = "";$wid="";$wtype=""; $usersp = explode('|',trim($user['shop'],'|')); $userwh = explode('|',trim($user['warehouse'],'|')); foreach ($usersp as $value) { $fgshop .= " shop = ".$value." or"; $sid .= " id = ".$value." or"; } foreach ($userwh as $value) { $wid .= " id = ".$value." or"; $wtype .= " type = ".$value." or"; } if($user['userid'] == 'xw') { $xw = 1; } } if(isset($post['page'])) { $page = $this->input->post('page',true); $perpage = $this->input->post('perpage',true); $timetk = $this->input->post('timetk',true); $timetj = $this->input->post('timetj',true); $shop = $this->input->post('shop',true); $source = $this->input->post('source',true); $orderinfo = $this->input->post('orderinfo',true); $number = $this->input->post('number',true); $library = $this->input->post('library',true); $waybill = $this->input->post('waybill',true); $express = $this->input->post('express',true); $type = $this->input->post('type',true); $lowe = $this->input->post('lowe',true); $so = $this->input->post('so',true); $librarytime = $this->input->post('librarytime',true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $cxtime = 'id'; $where = (isset($_SESSION['api']))?"library!=3 and mergeid = 1 and libraryconfirm=2 and print = 3 and (".rtrim($wtype,'or').")":"id = '0' and mergeid = 1"; if($timetk && $timetj && $library == 1) { //$cxtime = 'reviewtime'; $where .= " and printtime > '$timetk - 180*24*3600' and printtime < '$timetj'"; $where .= " and state != 217"; } else if($timetk && $timetj && $library == 2) { $cxtime = 'librarytime'; $where .= " and librarytime > '$timetk' and librarytime < '$timetj'"; } if($shop) { $where .= " and shop = '$shop'"; } if($number) { $where .= " and number = '$number'"; } if($library) { $where .= " and library = '$library'"; } if($waybill) { $where .= " and waybill = '$waybill'"; } if($express) { $where .= " and express = '$express'"; } if($orderinfo) { $where .= " and orderinfo = '$orderinfo'"; } if($type) { $where .= " and type = '$type'"; } if($lowe) { $where .= " and shipremarks like '%$lowe%'"; } if($so) { $where .= " and shipremarks like '%$so%'"; } //数据排序 $order_str = $cxtime." desc"; if(empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1)*$perpage; } //取得信息列表 $info_list = $this->fullorder->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,orderremarks',$order_str,$start,$perpage); //格式化数据 foreach ($info_list as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_list[$key]['shop'] = $shop['shopname']; if($value['waybill'] == '0') { $info_list[$key]['waybill'] = ""; } $express = $this->express->read($value['express']); $info_list[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_list[$key]['type'] = $warehouse['title']; if($value['print'] == 1) { $info_list[$key]['print'] = '不可打印'; } else if($value['print'] == 2) { $info_list[$key]['print'] = '未打印'; } else if($value['print'] == 3) { $info_list[$key]['print'] = '已打印'; } if($value['library'] == 1) { $info_list[$key]['library'] = '未出库'; } else if($value['library'] == 2) { $info_list[$key]['library'] = '已出库'; } else if($value['library'] == 3) { $info_list[$key]['library'] = '已退库'; } if($value['librarytime'] == '0') { $info_list[$key]['librarytime'] = ''; } else { $info_list[$key]['librarytime'] = ''.date('Y-m-d H:i',$value['librarytime']).''; } $info_list[$key]['orderremarks'] = str_replace(array('<','>'),array('<','>'),$value['orderremarks']); } $info_listtt = $this->fullordertt->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,orderremarks',$order_str,$start,$perpage); //格式化数据 foreach ($info_listtt as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_listtt[$key]['shop'] = $shop['shopname']; if($value['waybill'] == '0') { $info_listtt[$key]['waybill'] = ""; } $express = $this->express->read($value['express']); $info_listtt[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_listtt[$key]['type'] = $warehouse['title']; if($value['print'] == 1) { $info_listtt[$key]['print'] = '不可打印'; } else if($value['print'] == 2) { $info_listtt[$key]['print'] = '未打印'; } else if($value['print'] == 3) { $info_listtt[$key]['print'] = '已打印'; } if($value['library'] == 1) { $info_listtt[$key]['library'] = '未出库'; } else if($value['library'] == 2) { $info_listtt[$key]['library'] = '已出库'; } else if($value['library'] == 3) { $info_listtt[$key]['library'] = '已退库'; } if($value['librarytime'] == '0') { $info_listtt[$key]['librarytime'] = ''; } else { $info_listtt[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).''; } } $info_listamz = $this->fullorderamz->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,orderremarks',$order_str,$start,$perpage); //格式化数据 foreach ($info_listamz as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_listamz[$key]['shop'] = $shop['shopname']; if($value['waybill'] == '0') { $info_listamz[$key]['waybill'] = ""; } $express = $this->express->read($value['express']); $info_listamz[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_listamz[$key]['type'] = $warehouse['title']; if($value['print'] == 1) { $info_listamz[$key]['print'] = '不可打印'; } else if($value['print'] == 2) { $info_listamz[$key]['print'] = '未打印'; } else if($value['print'] == 3) { $info_listamz[$key]['print'] = '已打印'; } if($value['library'] == 1) { $info_listamz[$key]['library'] = '未出库'; } else if($value['library'] == 2) { $info_listamz[$key]['library'] = '已出库'; } else if($value['library'] == 3) { $info_listamz[$key]['library'] = '已退库'; } if($value['librarytime'] == '0') { $info_listamz[$key]['librarytime'] = ''; } else { $info_listamz[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).''; } } $info_listxw = $this->fullorderxw->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,orderremarks',$order_str,$start,$perpage); //格式化数据 foreach ($info_listxw as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_listxw[$key]['shop'] = $shop['shopname']; if($value['waybill'] == '0') { $info_listxw[$key]['waybill'] = ""; } $express = $this->express->read($value['express']); $info_listxw[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_listxw[$key]['type'] = $warehouse['title']; if($value['print'] == 1) { $info_listxw[$key]['print'] = '不可打印'; } else if($value['print'] == 2) { $info_listxw[$key]['print'] = '未打印'; } else if($value['print'] == 3) { $info_listxw[$key]['print'] = '已打印'; } if($value['library'] == 1) { $info_listxw[$key]['library'] = '未出库'; } else if($value['library'] == 2) { $info_listxw[$key]['library'] = '已出库'; } else if($value['library'] == 3) { $info_listxw[$key]['library'] = '已退库'; } if($value['librarytime'] == '0') { $info_listxw[$key]['librarytime'] = ''; } else { $info_listxw[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).''; } } $info_listsmt = $this->fullordersmt->find_all($where." and mergeid = '0'",'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,orderremarks',$order_str,$start,$perpage); //格式化数据 foreach ($info_listsmt as $key=>$value) { $shop = $this->shop->read($value['shop']); $info_listsmt[$key]['shop'] = $shop['shopname']; if($value['waybill'] == '0') { $info_listsmt[$key]['waybill'] = ""; } $express = $this->express->read($value['express']); $info_listsmt[$key]['express'] = $express['servicename']; $warehouse = $this->warehouse->read($value['type']); $info_listsmt[$key]['type'] = $warehouse['title']; if($value['print'] == 1) { $info_listsmt[$key]['print'] = '不可打印'; } else if($value['print'] == 2) { $info_listsmt[$key]['print'] = '未打印'; } else if($value['print'] == 3) { $info_listsmt[$key]['print'] = '已打印'; } if($value['library'] == 1) { $info_listsmt[$key]['library'] = '未出库'; } else if($value['library'] == 2) { $info_listsmt[$key]['library'] = '已出库'; } else if($value['library'] == 3) { $info_listsmt[$key]['library'] = '已退库'; } if($value['librarytime'] == '0') { $info_listsmt[$key]['librarytime'] = ''; } else { $info_listsmt[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).''; } } $total = $this->fullorder->find_count($where); $total += $this->fullordertt->find_count($where); $total += $this->fullorderamz->find_count($where); $total += $this->fullorderxw->find_count($where); $total += $this->fullordersmt->find_count($where); $pagenum = ceil($total/$perpage); $over = $total-($start+$perpage); $rows = array('total'=>$total,'over'=>$over,'pagenum'=>$pagenum,'rows'=>(array_merge($info_list,$info_listtt,$info_listamz,$info_listxw,$info_listsmt))); echo json_encode($rows);exit; } if(isset($_SESSION['api'])) { $wlshop = $this->shop->find_all('1=1 and '.rtrim($sid,'or')); $warehouse = $this->warehouse->find_all('1=1 and '.rtrim($wid,'or'),"*","px asc"); $this->data['wlshop'] = $wlshop; $this->data['warehouse'] = $warehouse; } $this->data['xw'] = $xw; $this->_Template('systemfout_hb',$this->data); } }