Example #1
0
 public function view_showForm()
 {
     global $memc_obj;
     $pagesize = 200;
     //页面大小
     $whereSql = $this->buildWhereSql();
     //echo $whereSql;exit;
     $packorder_obj = new PackingOrderModel();
     $rownumber = $packorder_obj->getRowAllNumber($whereSql . ' group by po.id ');
     //获得所有的行数
     $pager = new Page($rownumber, $pagesize);
     $billlist = $packorder_obj->getBillList($whereSql . ' group by po.id order by pd.pName ' . $pager->limit);
     //更具条件获得发货单
     $packorder_obj->buildOrderinfo($billlist);
     /*
             //去除重复的
             $currentid = NULL;
             $prekey = 0;
             foreach ($billlist as $key=>$valbill){
                 if ($currentid == $valbill['id']) {
                 	$billlist[$prekey]['originOrderId'] .= ', '.$valbill['originOrderId'];
                 	unset($billlist[$key]);
                 }else {
                     $prekey = $key;
                     $currentid = $valbill['id'];
                 }
             }
     */
     $materInfo = CommonModel::getMaterInfoAll();
     //获取包材信息
     $materInfo = reverse_array($materInfo, 'pmName', 'id');
     $shipingtyplist = CommonModel::getShipingTypeList();
     //运输方式列表
     $shipingtyplist = reverse_array($shipingtyplist, 'carrierNameCn', 'id');
     $salesaccountlist = CommonModel::getSalesaccountList();
     //获取销售帐号
     $salesaccountlist = reverse_array($salesaccountlist, 'account', 'id');
     //print_r($salesaccountlist);exit;
     $platformList = CommonModel::getPlatformInfo();
     //获取平台帐号
     $platformList = reverse_array($platformList, 'platform', 'id');
     $this->smarty->assign('shipingtypelist', $shipingtyplist);
     $this->smarty->assign('salesaccountlist', $salesaccountlist);
     $this->smarty->assign('platformList', $platformList);
     foreach ($billlist as $key => $valbil) {
         $tracknumber = '';
         $str_info = OmAvailableModel::getTNameList("wh_order_tracknumber", "tracknumber", "where shipOrderId='{$valbil['id']}' and is_delete=0");
         if (!empty($str_info)) {
             $tracknumber = $str_info[0]['tracknumber'];
         }
         $billlist[$key]['tracknumber'] = $tracknumber;
         $originOrder_arr = array();
         $originOrder_str = '';
         $originOrder_info = OmAvailableModel::getTNameList("wh_shipping_order_relation", "originOrderId", "where shipOrderId='{$valbil['id']}'");
         if (!empty($originOrder_info)) {
             foreach ($originOrder_info as $originOrder) {
                 $originOrder_arr[] = $originOrder['originOrderId'];
             }
             $originOrder_str = implode(',', $originOrder_arr);
         }
         $billlist[$key]['originOrder'] = $originOrder_str;
         //运输方式
         $billlist[$key]['shipingname'] = $shipingtyplist[$valbil['transportId']];
         //包材
         $billlist[$key]['materName'] = $materInfo[$valbil['pmId']];
         //平台
         $billlist[$key]['platformName'] = $platformList[$valbil['platformId']];
         //销售账号
         $billlist[$key]['salesaccountinfo'] = $salesaccountlist[$valbil['accountId']];
     }
     if ($rownumber > $pagesize) {
         //分页
         $pagestr = $pager->fpage(array(0, 2, 3, 4, 5, 6, 7, 8, 9));
     } else {
         $pagestr = $pager->fpage(array(0, 2, 3));
     }
     $this->smarty->assign('pagestr', $pagestr);
     $this->smarty->assign('billlist', $billlist);
     //发货单列表
     $this->smarty->assign('secnev', 3);
     $libstu_obj = new LibraryStatusModel();
     //出库状态类型
     $libstatuslist = $libstu_obj->getAllLibStatusList(' and groupId in (4 ,5)');
     $this->smarty->assign('outstatuslist', $libstatuslist);
     $toptitle = '订单查询';
     //头部title
     $this->smarty->assign('toptitle', $toptitle);
     $storeId = isset($_GET['storeId']) ? intval($_GET['storeId']) : 0;
     if ($storeId == 1) {
         $navlist = array(array('url' => '', 'title' => '出库'), array('url' => '', 'title' => '发货单查询'), array('url' => '', 'title' => 'A仓发货单'));
     } elseif ($storeId == 2) {
         $navlist = array(array('url' => '', 'title' => '出库'), array('url' => '', 'title' => '发货单查询'), array('url' => '', 'title' => 'B仓发货单'));
     } else {
         $navlist = array(array('url' => '', 'title' => '出库'), array('url' => '', 'title' => '发货单查询'));
     }
     $this->smarty->assign('navlist', $navlist);
     $toplevel = 2;
     //一级菜单的序号  0 开始
     $this->smarty->assign('toplevel', $toplevel);
     $secondlevel = isset($_GET['secondlevel']) ? trim($_GET['secondlevel']) : '';
     if (empty($secondlevel)) {
         $secondlevel = '21';
         //当前的二级菜单
     }
     $this->smarty->assign('secondlevel', $secondlevel);
     $this->smarty->assign('platLists', $_SESSION['platformList']);
     $this->smarty->assign('accounts', $_SESSION['accountList']);
     $this->smarty->assign('shippingList', $_SESSION['shippingList']);
     $this->smarty->display('dispatchbillquery.htm');
 }
Example #2
0
 $receive_info = array();
 //区域路由
 /*$receive_area   =   WhWaveReceiveRecordModel::select(array('waveId'=>$wave['id'], 'order by'=> 'id asc'), 'area');
   if(!empty($receive_area)){
       foreach($receive_area as $v){
           $receive_info   .=  " {$v['area']} =>";
       }
       $receive_info   =   trim($receive_info, '=>');
   }*/
 $page_num = 35;
 $scan_record = WhWaveScanRecordModel::get_scan_record_union_area($wave['id']);
 //获取配货记录及区域负责人id
 //print_r($scan_record);exit;
 $area_info = array_unique(get_filed_array('area', $scan_record));
 $area_user = WhWaveAreaUserRelationModel::get_user_by_areaName($area_info);
 $area_user = reverse_array($area_user, 'user', 'area');
 $note = '';
 /** 获取单发货单配货备注**/
 if ($wave['waveType'] == 1) {
     $note = WhShippingOrderNoteRecordModel::get_order_note_by_waveId($wave['id']);
     if (!empty($note)) {
         $note = get_filed_array('content', $note);
         $note = implode("<br />", $note);
     } else {
         $note = '';
     }
 }
 /** **/
 //print_r($area_info);exit;
 $receive_info = implode(' =>', $area_info);
 $count = count($scan_record);
echo '*************<br />';
// reverse an array without using the array_reverse php function - write your own
$forwardarray = array('Abby', 'Bruce', 'Carl', 'Dawn', 'Edgar', 'Francine');
function reverse_array($entries)
{
    $forwardi = 0;
    for ($i = count($entries) - 1; $i >= 0; $i--) {
        $backwardarray[$forwardi] = $entries[$i];
        $forwardi += 1;
    }
    return $backwardarray;
}
echo 'This is the original array:<br />';
var_dump($forwardarray);
echo '<br /> This is the reversed array:<br />';
var_dump(reverse_array($forwardarray));
echo '*************<br />';
// locate a string in an array without using in_array - write your own
$haystack = array('needle', 'thread', 'bobbin', 'spool', 'yarn', 'Needle');
function locate_in_array($arr, $findit)
{
    $found = 'no';
    foreach ($arr as $arritem) {
        if ($arritem == $findit) {
            $found = 'yes';
            break;
        }
    }
    return $found;
}
echo 'This is the haystack:<br/>';
function mc_produce_upcoming_events($events, $template, $type = 'list', $order = 'asc', $skip = 0, $before, $after, $show_today = 'yes', $context = 'filters')
{
    // $events has +5 before and +5 after if those values are non-zero.
    // $events equals array of events based on before/after queries. Nothing skipped, order is not set, holiday conflicts removed.
    $output = array();
    $near_events = $temp_array = array();
    $past = $future = 1;
    $now = current_time('timestamp');
    $today = date('Y', $now) . '-' . date('m', $now) . '-' . date('d', $now);
    @uksort($events, "my_calendar_timediff_cmp");
    // sort all events by proximity to current date
    $count = count($events);
    $group = array();
    $spans = array();
    $extra = 0;
    $i = 0;
    // create near_events array
    $last_events = $last_group = array();
    if (is_array($events)) {
        foreach ($events as $k => $event) {
            if ($i < $count) {
                if (is_array($event)) {
                    foreach ($event as $e) {
                        if ($e->category_private == 1 && !is_user_logged_in()) {
                        } else {
                            $beginning = $e->occur_begin;
                            $end = $e->occur_end;
                            // store span time in an array to avoid repeating database query
                            if ($e->event_span == 1 && !isset($spans[$e->occur_group_id])) {
                                // this is a multi-day event: treat each event as if it spanned the entire range of the group.
                                $span_time = mc_span_time($e->occur_group_id);
                                $beginning = $span_time[0];
                                $end = $span_time[1];
                                $spans[$e->occur_group_id] = $span_time;
                            } else {
                                if ($e->event_span == 1 && isset($spans[$e->occur_group_id])) {
                                    $span_time = $spans[$e->occur_group_id];
                                    $beginning = $span_time[0];
                                    $end = $span_time[1];
                                }
                            }
                            $current = date('Y-m-d H:i:00', current_time('timestamp'));
                            if ($e) {
                                // if a multi-day event, show only once.
                                if ($e->occur_group_id != 0 && $e->event_span == 1 && in_array($e->occur_group_id, $group)) {
                                    $md = true;
                                } else {
                                    $group[] = $e->occur_group_id;
                                    $md = false;
                                }
                                // end multi-day reduction
                                if (!$md) {
                                    // check if this event instance or this event group has already been displayed
                                    $same_event = in_array($e->occur_id, $last_events) ? true : false;
                                    $same_group = in_array($e->occur_group_id, $last_group) ? true : false;
                                    if ($show_today == 'yes' && my_calendar_date_equal($beginning, $current)) {
                                        $in_total = 'yes';
                                        // count todays events in total
                                        if ($in_total != 'no') {
                                            $near_events[] = $e;
                                            $future++;
                                        } else {
                                            $near_events[] = $e;
                                        }
                                    } else {
                                        if ($past <= $before && $future <= $after) {
                                            $near_events[] = $e;
                                            // if neither limit is reached, split off freely
                                        } else {
                                            if ($past <= $before && my_calendar_date_comp($beginning, $current)) {
                                                $near_events[] = $e;
                                                // split off another past event
                                            } else {
                                                if ($future <= $after && !my_calendar_date_comp($end, $current)) {
                                                    $near_events[] = $e;
                                                    // split off another future event
                                                }
                                            }
                                        }
                                    }
                                    if (my_calendar_date_comp($beginning, $current)) {
                                        if (!$same_event && !$same_group) {
                                            $past++;
                                        }
                                    } else {
                                        if (my_calendar_date_equal($beginning, $current)) {
                                            if ($show_today == 'yes') {
                                                $extra++;
                                            }
                                        } else {
                                            if (!my_calendar_date_comp($end, $current)) {
                                                if (!$same_event && !$same_group) {
                                                    $future++;
                                                }
                                            }
                                        }
                                    }
                                    $last_events[] = $e->occur_id;
                                    $last_group[] = $e->occur_group_id;
                                    $last_date = $beginning;
                                }
                                if ($past > $before && $future > $after && $show_today != 'yes') {
                                    break;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    $events = $near_events;
    @usort($events, "my_calendar_datetime_cmp");
    // sort split events by date
    if (is_array($events)) {
        foreach (array_keys($events) as $key) {
            $event =& $events[$key];
            //echo $event->event_title . " " . $event->event_group_id."<br />";
            $event_details = mc_create_tags($event, $context);
            if (get_option('mc_event_approve') == 'true') {
                if ($event->event_approved != 0) {
                    $temp_array[] = $event_details;
                }
            } else {
                $temp_array[] = $event_details;
            }
        }
        $i = 0;
        $groups = array();
        $skips = array();
        foreach (reverse_array($temp_array, true, $order) as $details) {
            if (!in_array($details['group'], $groups)) {
                $date = date('Y-m-d', strtotime($details['dtstart']));
                $class = my_calendar_date_comp($date, $today) === true ? "past-event" : "future-event";
                if (my_calendar_date_equal($date, $today)) {
                    $class = "today";
                }
                if ($details['event_span'] == 1) {
                    $class = "multiday";
                }
                if ($type == 'list') {
                    $prepend = "\n<li class=\"{$class}\">";
                    $append = "</li>\n";
                } else {
                    $prepend = $append = '';
                }
                if ($i < $skip && $skip != 0) {
                    $i++;
                } else {
                    if (!in_array($details['dateid'], $skips)) {
                        $output[] = apply_filters('mc_event_upcoming', "{$prepend}" . jd_draw_template($details, $template, $type) . "{$append}", $event);
                        $skips[] = $details['dateid'];
                    }
                }
                if ($details['event_span'] == 1) {
                    $groups[] = $details['group'];
                }
            }
        }
    }
    // If more items than there should be (due to handling of current-day's events), pop off.
    $intended = $before + $after + $extra;
    $actual = count($output);
    if ($actual > $intended) {
        for ($i = 0; $i < $actual - $intended; $i++) {
            array_pop($output);
        }
    }
    $html = '';
    foreach ($output as $out) {
        $html .= $out;
    }
    return $html;
}