db = new MdbLib();
$this->common = new CommonLib();
}
public function getOrders(){
if(!isset($_GET['now'])){
return false;
}else{
$now = $this->common->my_filter_input($_GET['now']);
$pnsn = isset($_GET['pnsn'])?$this->common->my_filter_input($_GET['pnsn']):15;
}
$offset = ($now-1)*$pnsn;
$sql = 'SELECT `oid`,`order_barcode`,`order_status`,`out_time`,`in_time`,`print_times`,`print_date`';
$sql .= " FROM `app_track` ORDER BY `oid` DESC LIMIT {$offset},$pnsn;";
$query = $this->db->querySql($sql);
$line = "";
while($item = $this->db->queryRs($query)) {
if($item['order_status'] == '2'){
$order_status = "已入库";
$in_time = $item['in_time'];
$out_time = '暂无';
$class = 'ok1';
}elseif($item['order_status'] == '5'){
$order_status = "未入库";
$in_time = '暂无';
$out_time = '暂无';
$class = 'no';
}elseif($item['order_status'] == '3'){
$order_status = "已出库";
$in_time = $item['in_time'];
$out_time = $item['out_time'];
$class = 'ok2';
}
if($item['print_times'] == 0){
$print_status = "未打印";
$print_clazz = 'no';
}else{
$print_status = "已打印";
$print_clazz = 'ok2';
}
$line .= '
';
$line .= "{$item['oid']}";
$line .= "{$item['order_barcode']}";
$line .= "{$order_status}";
$line .= "{$in_time}";
$line .= "{$out_time}";
$line .= "{$print_status}";
$line .= "{$item['print_date']}";
$line .= '';
$line .= "";
$line .= '
';
}
return $line;
}
public function searchOrders(){
$sql = 'SELECT `oid`,`order_barcode`,`order_status`,`out_time`,`in_time`,`print_times`,`print_date` ';
$sql .= 'FROM `app_track` ';
if(isset($_GET['code'])){
$code = $this->common->my_filter_input($_GET['code']);
$sql .= "WHERE `order_barcode`='{$code}';";
}
$query = $this->db->querySql($sql);
$line = "";
while($item = $this->db->queryRs($query)) {
if($item['order_status'] == '2'){
$order_status = "已入库";
$in_time = $item['in_time'];
$out_time = '暂无';
$class = 'ok1';
}elseif($item['order_status'] == '5'){
$order_status = "未入库";
$in_time = '暂无';
$out_time = '暂无';
$class = 'no';
}elseif($item['order_status'] == '3'){
$order_status = "已出库";
$in_time = $item['in_time'];
$out_time = $item['out_time'];
$class = 'ok2';
}
if($item['print_times'] == 0){
$print_status = "未打印";
$print_clazz = 'no';
}else{
$print_status = "已打印";
$print_clazz = 'ok2';
}
$line .= '';
$line .= "{$item['oid']}";
$line .= "{$item['order_barcode']}";
$line .= "{$order_status}";
$line .= "{$in_time}";
$line .= "{$out_time}";
$line .= "{$print_status}";
$line .= "{$item['print_date']}";
$line .= '';
$line .= "";
$line .= '
';
}
if(!empty($line)){
return $line;
}else{
return -1;
}
}
public function updateOrder(){
if(isset($_GET['code']) && !empty($_GET['code']) && isset($_GET['status']) && !empty($_GET['status'])){
$code = $this->common->my_filter_input($_GET['code']);
$order_status = $this->common->my_filter_input($_GET['status']);
}else{
return false;
}
$sql_status = "SELECT `order_status`,`out_time`,`in_time`,`update_time` FROM `app_track` WHERE `order_barcode`='{$code}' ORDER BY `oid` DESC;";
$query = $this->db->querySql($sql_status);
$arr_status = $this->db->queryRsAll($query);
if(empty($arr_status)){
return json_encode(array(
'no' => '-10'
));
}
$now = date("Y-m-d H:i:s", time());
$sql = "UPDATE `app_track` SET `order_status`='{$order_status}',`in_time`='{$now}',`out_time`='{$now}' WHERE `order_barcode`='{$code}';";
if($arr_status[0]['order_status'] == 5 && $order_status == 2){
$this->db->querySql($sql);
if($this->db->queryAR() == 1){
return json_encode(array(
'no' => '1'
));
}else{
return json_encode(array(
'no' => '-1'
));
}
}elseif($arr_status[0]['order_status'] == 2 && $order_status == 3){
$this->db->querySql($sql);
if($this->db->queryAR() == 1){
return json_encode(array(
'no' => '2'
));
}else{
return json_encode(array(
'no' => '-2'
));
}
}elseif($arr_status[0]['order_status'] == 5 && $order_status == 3){
return json_encode(array(
'no' => '-4'
));
}elseif($arr_status[0]['order_status'] == 2 && $order_status == 2){
return json_encode(array(
'no' => '-5',
'time' => $arr_status[0]['in_time'],
));
}elseif($arr_status[0]['order_status'] == 3 && $order_status == 2){
return json_encode(array(
'no' => '-6',
'time' => $arr_status[0]['out_time'],
));
}elseif($arr_status[0]['order_status'] == 3 && $order_status == 3){
return json_encode(array(
'no' => '-7',
'time' => $arr_status[0]['out_time'],
));
}else{
return json_encode(array(
'no' => '-11'
));
}
}
public function pagination(){
if(!isset($_GET['wh'])){
return false;
}else{
$wh = $this->common->my_filter_input($_GET['wh']);
$pnsn = isset($_GET['pnsn'])?$this->common->my_filter_input($_GET['pnsn']):15;
}
$sql = "SELECT `oid` FROM `app_track`;";
$query = $this->db->querySql($sql);
$total = $this->db->queryNum($query);
if($total == 0){
$num = '0';
}else{
$num = ceil($total/$pnsn);
$wh_max = ceil($num/10);
}
$direction = substr($wh, 0, 1);
$wh = substr($wh, 1);
if($direction == 'h'){
$whh = ($wh==0)?'0':$wh-1;
$wht = ($wh==0)?'1':$wh;
}elseif($direction == 't'){
$whh = ($wh==$wh_max)?($wh-1):$wh;
$wht = ($wh==$wh_max)?$wh:($wh+1);
}else{
$whh = '0';
$wht = '1';
}
$pagination = '共 '.$num.' 页';
if($num > 1){
$pagination .= ($num>10)?"<<":'';
$clazz = '';
for($i=1+$whh*10; $i<=10+$whh*10; $i++){
if($i > $num){
break;
}else{
if($i != 1+$whh*10){
$clazz = 'page';
}else{
$clazz = 'page pn';
}
$param = "&now={$i}&pnsn={$pnsn}";
$pagination .= "".$i."";
}
}
$pagination .= ($num>10)?">>":'';
}
$pagination .= "展示 记录";
return $pagination;
}
public function updatePrint(){
if(isset($_POST['oid']) && !empty($_POST['oid'])){
$oid = $this->common->my_filter_input($_POST['oid']);
}else{
return false;
}
$time_now = date("Y-m-d H:i:s", time());
$sql = "UPDATE `app_track` SET `print_times`=`print_times`+1,`print_date`='{$time_now}' WHERE `oid`='{$oid}';";
if($this->db->querySql($sql)){
return 1;
}else{
return -1;
}
}
public function printAll(){
$sql = 'SELECT `order_barcode` FROM `app_track` WHERE `print_times`=0 ORDER BY `in_time`;';
$query = $this->db->querySql($sql);
$rs = $this->db->queryRsAll($query);
if(empty($rs)){
return -1;
}else{
$time_now = date("Y-m-d H:i:s", time());
$sql_update = "UPDATE `app_track` SET `print_times`=`print_times`+1,`print_date`='{$time_now}',`order_status`=2 AND `print_times`=0;";
$query_update = $this->db->querySql($sql_update);
$arr = array();
foreach($rs as $val){
$arr[] = array(
'barcode' => $val['order_barcode']
);
}
return json_encode($arr);
}
}
public function createNew(){
$now = time();
$order_barcode = strtoupper('GSN-'.date('ymd', $now).substr(hash('md5', $now), rand(0, 28), 4));
$sql = "INSERT INTO `app_track` (`order_barcode`) VALUES ('{$order_barcode}');";
$query = $this->db->querySql($sql);
if($this->db->queryErrno() == 0){
return 1;
}else{
return -1;
}
}
public function __destruct(){
//TODO
}
}