public function act_orderWeighingCheck() { $orderid = isset($_POST['orderid']) ? $_POST['orderid'] : ""; $where = "where id={$orderid}"; $orderinfo = orderWeighingModel::selectRecord($where); if (!orderinfo) { self::$errCode = 502; self::$errMsg = "此发货单号不存在!"; return false; } if ($orderinfo[0]['orderStatus'] != PKS_WWEIGHING) { if ($orderinfo[0]['orderStatus'] == PKS_WDISTRICT) { self::$errCode = 514; self::$errMsg = "此发货单已在待分区,不用再扫描!"; return false; } else { if ($orderinfo[0]['orderStatus'] == PKS_WAITING_SORTING) { self::$errCode = 514; self::$errMsg = "此发货单还在待分拣中!"; return false; } else { self::$errCode = 514; self::$errMsg = "此发货单在" . LibraryStatusModel::getStatusNameByStatusCode($orderinfo[0]['orderStatus']) . "状态,请确认!"; return false; } } } $flat_transport = C('flat_transport'); $carrier = CommonModel::getShipingNameById($orderinfo[0]['transportId']); if (in_array($carrier, $flat_transport)) { $arr['type'] = "flat"; } else { self::$errCode = 503; self::$errMsg = "此发货单运输方式不属于小包,请确认!"; return false; } $partionId = CommonModel::getChannelIdByIds($orderinfo[0]['transportId'], $orderinfo[0]['countryName']); $account = CommonModel::getAccountNameById($orderinfo[0]['accountId']); //运输公司 $channelId = printLabelModel::getMcFromCarrier($orderinfo[0]['id'], $carrier, $orderinfo[0]['countryName'], $account); $arr['channelId'] = $channelId; $arr['transportId'] = $orderinfo[0]['transportId']; $arr['partionId'] = $partionId; $arr['countryName'] = $orderinfo[0]['countryName']; $arr['orderid'] = $orderid; return $arr; }
public function act_packingTracknumber() { $orderid = isset($_POST['orderid']) ? $_POST['orderid'] : ""; $tracknumber = isset($_POST['tracknumber']) ? $_POST['tracknumber'] : ""; $userId = $_SESSION['userId']; //先核对订单 //兼容 EUB或者 包裹 扫描的是 trackno 而非ebayid $p_real_ebayid = '#^\\d+$#'; $p_trackno_eub = '#^(LK|RA|RB|RC|RR|RF|LN)\\d+(CN|HK|DE200)$#'; $is_eub_package_type = false; if (preg_match($p_real_ebayid, $orderid)) { } else { if (preg_match($p_trackno_eub, $orderid)) { $is_eub_package_type = true; } else { self::$errCode = "001"; self::$errMsg = "订单号[" . $orderid . "]格式有误"; return false; } } if ($is_eub_package_type === true) { $record = ShippingOrderModel::getShippingOrderInfo("b.*", "where a.tracknumber='{$orderid}' and a.is_delete=0"); } else { $record = ShippingOrderModel::getShippingOrder("*", "where id='{$orderid}'"); } //验证发货单号 以及所属状态 if (!$record) { self::$errCode = 404; self::$errMsg = "发货单号不存在!"; return false; } if ($record[0]['orderStatus'] != 404) { self::$errCode = 405; self::$errMsg = "此发货单不在待包装!"; if ($record[0]['orderStatus'] == 900) { self::$errMsg = "此发货单已废弃!"; } return false; } //挂号的单需要再输入挂号条码 $carrier = CommonModel::getShipingNameById($record[0]['transportId']); $partion = CommonModel::getChannelNameByIds($record[0]['transportId'], $record[0]['countryName']); $total_num = 0; $skuinfos = get_realskunum($record[0]['id']); foreach ($skuinfos as $or_sku => $or_nums) { $total_num += $or_nums; } if (carrier == '中国邮政挂号' && !preg_match("/^(RA|RB|RC|RR)\\d+(CN)\$/", $tracknumber)) { self::$errCode = 111; self::$errMsg = "录入失败,中国邮政挂号跟踪码不符合规范"; return false; } if ($carrier == '香港小包挂号' && !preg_match("/^(RA|RB|RC|RR)\\d+(HK)\$/", $tracknumber)) { self::$errCode = 111; self::$errMsg = "录入失败,香港小包挂号跟踪码不符合规范"; return false; } $p_str = "挂号条码:" . "<font color='#FF0000'>" . $tracknumber . "</font> <br>"; TransactionBaseModel::begin(); //更新订单状态 $msg = OmAvailableModel::updateTNameRow("wh_shipping_order", "set orderStatus=405", "where id={$record[0]['id']}"); if (!$msg) { self::$errCode = 409; self::$errMsg = "更新发货单状态记录失败!"; $arr['partion'] = $partion; $arr['carrier'] = $carrier; TransactionBaseModel::rollback(); return json_encode($arr); exit; } //更新操作记录 $msg = packingScanOrderModel::updateOrderRecord($record[0]['id'], $userId); if (!$msg) { self::$errCode = 406; self::$errMsg = "更新发货单操作记录失败!"; TransactionBaseModel::rollback(); return false; } //插入包装记录 $msg = packingScanOrderModel::insertPackingRecord($record[0]['id'], $userId); if (!$msg) { self::$errCode = 407; self::$errMsg = "插入包装记录失败!"; TransactionBaseModel::rollback(); return false; } $msg = packingScanOrderModel::deleteTrackRecord($record[0]['id']); if (!$msg) { self::$errCode = 409; self::$errMsg = "删除跟踪记录失败!"; TransactionBaseModel::rollback(); return false; } //录入挂号条码 $msg = packingScanOrderModel::insertTrackRecord($tracknumber, $record[0]['id']); if (!$msg) { self::$errCode = 408; self::$errMsg = "插入包装记录失败!"; TransactionBaseModel::rollback(); return false; } WhPushModel::pushOrderStatus($record[0]['id'], 'STATESHIPPED_BEWEIGHED', $userId, time(), '', $tracknumber); //状态推送 $arr['partion'] = "<font color='#FF0000'>该订单属于" . $partion . ";含SKU总数:" . $total_num . "个</font><br>"; $arr['carrier'] = $carrier; $arr['res'] = $arr['partion'] . "包装人员:" . "<font color='green'>" . $_SESSION['userCnName'] . "</font><br>" . "运输方式:" . "<font color='#FF0000'>" . $carrier . "</font> <br>" . $p_str . "扫描结果:<font color='#33CC33'>包装扫描成功!</font>"; TransactionBaseModel::commit(); return $arr; }
} else { echo "error: 未找对应的config文件!\n"; exit; } $debug_mode = 'false'; $user = '******'; $start = strtotime("-72 hour"); $account_info = get_account_id($account); $omAvailableAct = new OmAvailableAct(); $where = " WHERE accountId = '{$account_info['accountid']}' AND is_delete = 0 AND b.weighTime>{$start}"; $alldata = $omAvailableAct->act_getTNameList('om_shipped_order as a left join om_shipped_order_warehouse as b on a.id=b.omOrderId', 'a.id,a.recordNumber,a.accountId,a.transportId', $where); $sum = sizeof($alldata); if ($sum > 0) { foreach ($alldata as $val) { $log_data = array(); $carrier = CommonModel::getShipingNameById($val['transportId']); $where = " WHERE omOrderId = '{$val['id']}' AND is_delete = 0 "; $res = $omAvailableAct->act_getTNameList('om_order_tracknumber', 'tracknumber', $where); $log_data['time'] = date("Y-m-d H:i:s"); $log_data['recordnumber'] = $recordnumber = $val['recordnumber']; $log_data['ebay_carrier'] = $carrier; $log_data['tracknumber'] = $tracknumber = $res[0]['tracknumber']; $log_data['ebay_id'] = $val['id']; $company_code = getLogisticCode($carrier); $log_data['company_code'] = $company_code; if (empty($res)) { $log_data['errcode'] = 11; $log_data['msg'] = "empty ebay_tracknumber"; $log = json_encode($log_data) . "\r\n"; @file_put_contents($logfile, $log, FILE_APPEND); continue;
public function view_printGroupOrder2() { $groupsn = isset($_GET['groupsn']) ? trim($_GET['groupsn']) : 0; if (empty($groupsn)) { echo "请指定配货清单!"; exit; } $group_list = OmAvailableModel::getTNameList("wh_shipping_order_group", "*", "where shipOrderGroup='{$groupsn}' order by id asc"); if (!$group_list) { echo "该配货清单不存在!"; exit; } $time = time(); $userName = $_SESSION['userName']; //更新今日清单打印表 OmAvailableModel::updateTNameRow("wh_shipping_order_group_print", "set status='1',orderPrintUser='******',orderPrintTime='{$time}'", "where shipOrderGroup='{$groupsn}'"); //获取订单对应的车号 $orderids = array(); foreach ($group_list as $group) { if (!isset($orderids[$group['shipOrderId']])) { $orderids[$group['shipOrderId']] = $group['carNumber']; } } $o_arr = array(); foreach ($orderids as $order => $car_number) { $o_arr[] = $order; } $oids = implode(',', $o_arr); $po_obj = new PackingOrderModel(); $ordersinfo = $po_obj->getaSetOfOrderInfo($oids); if (empty($ordersinfo)) { $data = array('data' => array('没有可打印内容!'), 'link' => 'index.php?mod=orderWaitforPrint&act=printList'); goErrMsgPage($data); exit; } $sod_obj = new ShipingOrderDetailModel(); $acc_id_arr = array(); foreach ($ordersinfo as &$orinfval) { $locationinfo = array(); $totalnum = 0; $package_type = ''; $iscard = ''; $skulisttemp = $sod_obj->getAllSkuListByOrderId($orinfval['id'], "order by pName,combineSku"); $totalnum = $skulisttemp['totalnum']; $locationinfo = $skulisttemp['skuinfo']; if (isset($locationinfo['notcombine']) && count($locationinfo['notcombine']['info']) == 1) { $package_type = $skulisttemp['packagetype']; } $iscard = printLabelModel::checkprintcard($orinfval['id']); $pmNameStr = CommonModel::getMaterInfoById($orinfval['pmId']); $orinfval['finalposition'] = $locationinfo; $totalStr = $totalnum . " " . $pmNameStr . " " . $orinfval['calcWeight'] . "KG"; if (!empty($package_type)) { $totalStr = $totalStr . " " . $package_type; } if (!empty($iscard)) { $totalStr = $totalStr . " " . $iscard; } $totalStr = $totalStr . " " . $orinfval['platformUsername']; $carrier = CommonModel::getShipingNameById($orinfval['transportId']); $orinfval['abbrshipname'] = CommonModel::getShipingAbbrNameById($orinfval['transportId']); $orinfval['totalStr'] = $totalStr; $orinfval['notes'] = $po_obj->getOrderNotesInfo($orinfval['id']); $orinfval['countryZh'] = CommonModel::getCountryNameCn($orinfval['countryName']); $orinfval['partionFromAddress'] = printLabelModel::getPartionFromAddress($orinfval['id'], $carrier, $orinfval['countryName']); if (!in_array($orinfval['accountId'], $acc_id_arr)) { array_push($acc_id_arr, $orinfval['accountId']); } } $salesaccountinfo = CommonModel::getAccountInfo($acc_id_arr); $this->smarty->assign('salesaccountinfo', $salesaccountinfo); $totalCount = count($ordersinfo); $this->smarty->assign('totalCount', $totalCount); $this->smarty->assign('orderids', $orderids); $this->smarty->assign('ordersinfo', $ordersinfo); $this->smarty->display('label50x100_22.htm'); }
public function act_orderPartion() { $orderid = isset($_POST['orderid']) ? trim($_POST['orderid']) : ""; if (!is_numeric($orderid)) { $tracknumber = $orderid; $info = orderWeighingModel::selectOrderId($tracknumber); if (!$info) { self::$errCode = 501; self::$errMsg = "此跟踪号不存在!"; return false; } $orderid = $info[0]['shipOrderId']; } $where = "where id={$orderid}"; $order = orderPartionModel::selectOrder($where); if (!$order) { self::$errCode = 601; self::$errMsg = "此发货单不存在!"; return false; } if (!is_numeric($orderid)) { $orderid = $order[0]['id']; } $msg = orderPartionModel::selectPartionRecord($orderid); if ($msg) { self::$errCode = 603; self::$errMsg = "此发货单已扫描!"; return false; } if ($order[0]['orderStatus'] != 406) { self::$errCode = 602; self::$errMsg = "此发货单不在待分区!"; return false; } $shipping = CommonModel::getShipingNameById($order[0]['transportId']); if (!in_array($shipping, array('中国邮政平邮', '中国邮政挂号', 'EUB', 'Global Mail', '香港小包平邮', '香港小包挂号', '德国邮政'))) { self::$errCode = 604; self::$errMsg = "此发货单不是小包!"; return false; } $partion = $shipping; $platformName = CommonModel::getPlatformInfo($order[0]['platformId']); if ($shipping == 'Global Mail') { if ($platformName == '亚马逊') { $partion = "非德国Global Mail"; } elseif ($platformName == '海外销售平台') { if ($order[0]['countryName'] == 'Deutschland') { $partion = "Global Mail"; } else { $partion = "非德国Global Mail"; } } } elseif ($shipping == '中国邮政平邮') { $partion = printLabelModel::showPartionScan($orderid, $order[0]['accountId'], $shipping, $order[0]['countryName']); } elseif ($shipping == '中国邮政挂号') { $partion = printLabelModel::showPartionScan($orderid, $order[0]['accountId'], $shipping, $order[0]['countryName']); } /* $lists = $memc_obj->get_extral('trans_system_carrierinfo'); //print_r($lists); foreach($lists as $list){ foreach($list as $value){ if($record[0]['channelId']==$value['channelId']){ $countries = $value['countries']; $country_arr = explode("','",$countries); $country_arr[0] = str_replace("'","",$country_arr[0]); $country_arr[count($country_arr)-1] = str_replace("'","",$country_arr[count($country_arr)-1]); if(in_array($record[0]['countryName'],$country_arr)){ $partionId = $value['id']; } } } }*/ TransactionBaseModel::begin(); $weight = orderPartionModel::selectWeight($orderid); if (!$weight) { self::$errCode = 605; self::$errMsg = "此发货单无重量!"; return false; } $userId = $_SESSION['userId']; $result = orderPartionModel::insertRecord($orderid, $partion, $weight, $userId); if (!result) { self::$errCode = 606; self::$errMsg = "插入分区记录失败!"; TransactionBaseModel::rollback(); return false; } $ret = orderPartionModel::updateOrderRecords($orderid, $userId); if (!ret) { self::$errCode = 607; self::$errMsg = "更新操作记录失败!"; TransactionBaseModel::rollback(); return false; } $ostatus = orderPartionModel::updateOrderStatus($orderid); if (!ostatus) { self::$errCode = 608; self::$errMsg = "更新发货单状态失败!"; TransactionBaseModel::rollback(); return false; } $arr['orderid'] = $orderid; $arr['partion'] = urlencode($partion); TransactionBaseModel::commit(); return $arr; }
public static function checkprintcard($shipOrderId) { self::initDB(); $sql = "select a.platformUsername,a.transportId,a.accountId,b.recordNumber from wh_shipping_order as a \n\t\t\t\t\tleft join wh_shipping_order_relation as b on a.id=b.shipOrderId \n\t\t\t\t\twhere a.id={$shipOrderId}"; $result = self::$dbConn->fetch_first($sql); $account = CommonModel::getAccountNameById($result['accountId']); $shipingname = CommonModel::getShipingNameById($result['transportId']); $ebayAccArr = CommonModel::getEbayAccountList(); if (!in_array($shipingname, array('中国邮政挂号', '中国邮政平邮', '香港小包挂号', '香港小包平邮', 'EUB'))) { return ''; } if (in_array($account, $ebayAccArr)) { return ''; } if (!in_array($account, $ebayAccArr) && preg_match("/[a-z]+/i", $result['recordnumber'])) { return ''; } if ($account == 'dresslink.com') { return ''; } $sql = "SELECT street FROM wh_shipping_order WHERE platformUsername='******'platformUsername']}' AND orderStatus!=900"; $query = self::$dbConn->query($sql); $orders = self::$dbConn->fetch_array_all($query); $streets = array_unique(array_filter(multi2single('street', $orders))); if (count($streets) == 1) { return 'KP'; } else { return ''; } }
function act_searchSku() { $order_id = $_POST['ebay_id']; $sku = trim($_POST['sku']); $sku = get_goodsSn($sku); $now_pname = trim($_POST['now_pname']); $state_status = array(402); //准备状态 $final_status = array(403); //配货完成状态 $no_express_delivery = array('中国邮政平邮', '中国邮政挂号', '香港小包平邮', '香港小包挂号', '德国邮政', '新加坡邮政', 'EUB', 'Global Mail'); //先核对订单 //兼容 EUB或者 包裹 扫描的是 trackno 而非ebayid $p_real_ebayid = '#^\\d+$#'; $p_trackno_eub = '#^(LK|RA|RB|RC|RR|RF|LN)\\d+(CN|HK|DE200)$#'; $is_eub_package_type = false; if (preg_match($p_real_ebayid, $order_id)) { } else { if (preg_match($p_trackno_eub, $order_id)) { $is_eub_package_type = true; } else { self::$errCode = "001"; self::$errMsg = "订单号[" . $order_id . "]格式有误"; return false; } } if ($is_eub_package_type === true) { $ordercheck = ShippingOrderModel::getShippingOrderInfo("b.*", "where a.tracknumber='{$order_id}' and a.is_delete=0"); } else { $ordercheck = ShippingOrderModel::getShippingOrder("*", "where id='{$order_id}'"); } if (empty($ordercheck)) { self::$errCode = '001'; self::$errMsg = '未找到订单/跟踪号[' . $order_id . ']'; return false; } else { $ebay_carrier = CommonModel::getShipingNameById($ordercheck[0]['transportId']); //$ebay_carrier = '中国邮政平邮'; if (!in_array($ebay_carrier, $no_express_delivery)) { self::$errCode = '001'; self::$errMsg = '请选择非快递订单!'; return false; } } if ($ordercheck[0]['orderStatus'] == 900) { self::$errCode = '002'; self::$errMsg = "该发货单[{$order_id}][已经废弃]!"; return false; } else { if (in_array($ordercheck[0]['orderStatus'], $final_status)) { self::$errCode = '005'; self::$errMsg = "该发货单已经扫描完成!"; return false; } } if (!in_array($ordercheck[0]['orderStatus'], $state_status)) { self::$errCode = '002'; self::$errMsg = "该发货单[{$order_id}][不在待配货]!"; return false; } //配货单所有料号及数量 $skuinfos = array(); $skuinfo = GroupRouteModel::getOrderPositionID($ordercheck[0]['id']); foreach ($skuinfo as $info) { $s_key = $info['sku'] . "-" . $info['pName']; $skuinfos[$s_key] = $info['amount']; } $eosr_arr = OrderPickingRecordsModel::getPickingRecords("*", "where shipOrderId={$ordercheck[0]['id']} and sku='{$sku}' and is_delete=0"); if (!$eosr_arr) { self::$errCode = "012"; self::$errMsg = "请扫描正确料号!"; return false; } else { $sku_stock = GroupRouteModel::getSkuPosition("where a.sku='{$sku}' and c.pName='{$now_pname}' and b.is_delete=0"); $s_key = $sku . "-" . $now_pname; $goods_sn = array(); //$gsi = get_sku_info($sku); $goods_sn['sku'] = $sku; //$goods_sn['gc'] = $gsi['realnums']; $goods_sn['gc'] = isset($sku_stock[0]['nums']) ? $sku_stock[0]['nums'] : 0; //$goods_sn['day']= floor($gsi['realnums']/$gsi['everyday_sale']); //库存天数 $goods_sn['day'] = ""; //库存天数 $goods_sn['nums'] = $skuinfos[$s_key]; $goods_sn['is_scan'] = $eosr_arr[0]['isScan'] == 1 ? "已扫描" : "未扫描"; //$eg = GroupRouteModel::getSkuPosition("where a.sku='$sku'"); $goods_sn['gl'] = $now_pname; self::$errCode = "400"; self::$errMsg = '成功搜索该料号信息!' . $sku; return $goods_sn; } }
private function printDispatchOrder($oids, $type) { $po_obj = new PackingOrderModel(); $ordersinfo = $po_obj->getaSetOfOrderInfo($oids); //echo "<pre>";print_r($ordersinfo);exit; if (empty($ordersinfo)) { $data = array('data' => array('没有可打印内容!'), 'link' => 'index.php?mod=orderWaitforPrint&act=printList'); goErrMsgPage($data); exit; } $sod_obj = new ShipingOrderDetailModel(); $acc_id_arr = array(); foreach ($ordersinfo as &$orinfval) { $locationinfo = array(); $totalnum = 0; $package_type = ''; $iscard = ''; $carrier = CommonModel::getShipingNameById($orinfval['transportId']); if ($type == 1 || $type == 6 || $type == 7) { //标签打印-50*100处理 if ($type == 7) { $tag = 0; } else { $tag = 1; } $skulisttemp = $sod_obj->getAllSkuListByOrderId($orinfval['id'], "order by pName,combineSku", $tag); $totalnum = $skulisttemp['totalnum']; $locationinfo = $skulisttemp['skuinfo']; if (isset($locationinfo['notcombine']) && count($locationinfo['notcombine']['info']) == 1) { $package_type = $skulisttemp['packagetype']; } $iscard = printLabelModel::checkprintcard($orinfval['id']); } elseif ($type == 8) { if ($carrier == 'EUB' || $carrier == 'Global Mail' || $carrier == '德国邮政') { $goods_title = array(); $skulisttemp = $sod_obj->getSkuListByOrderId($orinfval['id'], "order by pName"); $eubtotal = 0; $totalweight = 0; $detailcount = count($skulisttemp); $height = $detailcount > 1 ? intval(123 / $detailcount) : 123; foreach ($skulisttemp as &$tmval) { if ($carrier == 'EUB') { //EUB热敏打印处理 $sku_info = printLabelModel::getSkuInfo($tmval['sku']); if (!empty($sku_info)) { $materName = CommonModel::getMaterInfoById($sku_info['pmId']); //包材 list($goodsName) = strpos($sku_info['goodsName'], '--') !== false ? explode('--', $sku_info['goodsName']) : array($sku_info['goodsName']); $price = rand(300, 600) / 100; $eubtotal += $price; $weight = $sku_info['goodsWeight'] * $tmval['amount']; $totalweight += $weight; $locationinfo['skuinfo'][] = array('sku' => $tmval['sku'], 'itemTitle' => $tmval['itemTitle'], 'goodsName' => $goodsName, 'isPacking' => $sku_info['isPacking'], 'materName' => $materName, 'pName' => $tmval['pName'], 'amount' => $tmval['amount'], 'price' => $price, 'weight' => $weight, 'height' => $height); $locationinfo['eubtotal'] = $eubtotal; $locationinfo['eubweight'] = $totalweight; } $zip = $orinfval['zipCode']; $zip0 = explode("-", $zip); if (count($zip0) >= 2) { $zip = $zip0[0]; $orinfval['zipCode'] = $zip; } $isd = intval(substr($zip, 0, 2)); if ($isd >= 0 && $isd <= 34) { $isd = '1'; } else { if ($isd >= 35 && $isd <= 74) { $isd = '3'; } else { if ($isd >= 75 && $isd <= 93) { $isd = '4'; } else { if ($isd >= 94 && $isd <= 99) { $isd = '2'; } else { $isd = '1'; } } } } $orinfval['isd'] = $isd; //回邮信息 $orinfval['pinfo'] = CommonModel::getEubAccounts($orinfval['accountId']); //跟踪号 $orinfval['tracknumber'] = printLabelModel::getTracknumber($orinfval['id']); } else { if ($carrier == 'Global Mail' || $carrier == '德国邮政') { //Global Mail-100*100打印 $title_nums = 0; $title_nums = count($goods_title); if ($detailcount > 3 && $title_nums < 2) { $goods_title[] = !empty($tmval['itemTitle']) ? $title_nums + 1 . ' ' . $tmval['itemTitle'] : ''; } else { if ($detailcount <= 3 && $title_nums == 0) { $goods_title[] = !empty($tmval['itemTitle']) ? $title_nums + 1 . ' ' . $tmval['itemTitle'] : ''; } } $sku_info = printLabelModel::getSkuInfo($tmval['sku']); if (!empty($sku_info)) { $weight = $sku_info['goodsWeight'] * $tmval['amount']; $totalweight += $weight; } $locationinfo[] = array('sku' => $tmval['sku'], 'isPacking' => $sku_info['isPacking'], 'pName' => $tmval['pName'], 'amount' => $tmval['amount']); //重量等级 if ($totalweight < 0.1) { $weightmark = 'P'; $ordershipfee = rand(100, 500) / 100; } else { if ($totalweight < 0.5) { $weightmark = 'G'; $ordershipfee = rand(501, 1000) / 100; } else { if ($totalweight < 2) { $weightmark = 'E'; $ordershipfee = rand(1001, 2000) / 100; } else { $weightmark = '超重'; } } } $orinfval['ordershipfee'] = number_format($ordershipfee / $detailcount, 2); $orinfval['titleinfo'] = implode('<br />', $goods_title); $orinfval['totalweight'] = $totalweight; $orinfval['weightmark'] = $weightmark; $salesaccountinfo = CommonModel::getAccountNameById($orinfval['accountId']); $orinfval['appname'] = $salesaccountinfo['appname']; } else { $locationinfo[] = array('location' => $tmval['pName'], 'sku' => $tmval['sku'], 'amount' => $tmval['amount']); $goods_title[] = $tmval['itemTitle']; $orinfval['goods_title'] = $goods_title; } } $totalnum += $tmval['amount']; } } elseif ($carrier == '新加坡邮政') { $skulisttemp = $sod_obj->getAllSkuListByOrderId($orinfval['id'], "order by pName,combineSku", 0); $totalnum = $skulisttemp['totalnum']; $locationinfo = $skulisttemp['skuinfo']; if (isset($locationinfo['notcombine']) && count($locationinfo['notcombine']['info']) == 1) { $package_type = $skulisttemp['packagetype']; } $orinfval['countryZh'] = CommonModel::getCountryNameCn($orinfval['countryName']); //跟踪号 $orinfval['tracknumber'] = printLabelModel::getTracknumber($orinfval['id']); } } else { $goods_title = array(); $skulisttemp = $sod_obj->getSkuListByOrderId($orinfval['id'], "order by pName"); $eubtotal = 0; $totalweight = 0; $detailcount = count($skulisttemp); $height = $detailcount > 1 ? intval(123 / $detailcount) : 123; foreach ($skulisttemp as &$tmval) { if ($type == 3) { //EUB热敏打印处理 $sku_info = printLabelModel::getSkuInfo($tmval['sku']); if (!empty($sku_info)) { $materName = CommonModel::getMaterInfoById($sku_info['pmId']); //包材 list($goodsName) = strpos($sku_info['goodsName'], '--') !== false ? explode('--', $sku_info['goodsName']) : array($sku_info['goodsName']); $price = rand(300, 600) / 100; $eubtotal += $price; $weight = $sku_info['goodsWeight'] * $tmval['amount']; $totalweight += $weight; $locationinfo['skuinfo'][] = array('sku' => $tmval['sku'], 'itemTitle' => $tmval['itemTitle'], 'goodsName' => $goodsName, 'isPacking' => $sku_info['isPacking'], 'materName' => $materName, 'pName' => $tmval['pName'], 'amount' => $tmval['amount'], 'price' => $price, 'weight' => $weight, 'height' => $height); $locationinfo['eubtotal'] = $eubtotal; $locationinfo['eubweight'] = $totalweight; } } else { if ($type == 4 || $type == 5) { //Global Mail-100*100打印 $title_nums = 0; $title_nums = count($goods_title); if ($detailcount > 3 && $title_nums < 2) { $goods_title[] = !empty($tmval['itemTitle']) ? $title_nums + 1 . ' ' . $tmval['itemTitle'] : ''; } else { if ($detailcount <= 3 && $title_nums == 0) { $goods_title[] = !empty($tmval['itemTitle']) ? $title_nums + 1 . ' ' . $tmval['itemTitle'] : ''; } } $sku_info = printLabelModel::getSkuInfo($tmval['sku']); if (!empty($sku_info)) { $weight = $sku_info['goodsWeight'] * $tmval['amount']; $totalweight += $weight; } $locationinfo[] = array('sku' => $tmval['sku'], 'isPacking' => $sku_info['isPacking'], 'pName' => $tmval['pName'], 'amount' => $tmval['amount']); } else { $locationinfo[] = array('location' => $tmval['pName'], 'sku' => $tmval['sku'], 'amount' => $tmval['amount'], 'price' => $tmval['itemPrice'], 'itemTitle' => $tmval['itemTitle']); $goods_title[] = $tmval['itemTitle']; $orinfval['goods_title'] = $goods_title; } } $totalnum += $tmval['amount']; } } if ($type == 10) { $itemtitle = ""; foreach ($locationinfo as $key => $value) { $itemtitle .= $key + 1 . "、" . $value['itemTitle'] . "<br>"; } $orinfval['itemTitle'] = $itemtitle; $orinfval['countryZh'] = CommonModel::getCountryNameCn($orinfval['countryName']); $account = CommonModel::getAccountNameById($orinfval['accountId']); $orinfval['account'] = $account['account']; $orinfval['notes'] = $po_obj->getOrderNotesInfo($orinfval['id']); } //$orinfval['total'] = $eubtotal; if ($type == 2 || $type == 33) { //快递A4打印需分割成小数组 $locationinfo = array_chunk($locationinfo, 2); $salesaccountinfo = CommonModel::getAccountNameById($orinfval['accountId']); $orinfval['account'] = $salesaccountinfo['account']; $salesaccountinfo = CommonModel::getAccountNameById($orinfval['accountId']); $orinfval['appname'] = $salesaccountinfo['appname']; $orinfval['countryZh'] = CommonModel::getCountryNameCn($orinfval['countryName']); $orinfval['notes'] = $po_obj->getOrderNotesInfo($orinfval['id']); // print_r($orinfval); // exit; $pglist = array(); foreach ($ordersinfo as $order) { $pglist[] = $order['id']; } $olist = implode(",", $pglist); $this->smarty->assign('pglist', $olist); } if ($type == 3) { //EUB热敏打印 $zip = $orinfval['zipCode']; $zip0 = explode("-", $zip); if (count($zip0) >= 2) { $zip = $zip0[0]; $orinfval['zipCode'] = $zip; } $isd = intval(substr($zip, 0, 2)); if ($isd >= 0 && $isd <= 34) { $isd = '1'; } else { if ($isd >= 35 && $isd <= 74) { $isd = '3'; } else { if ($isd >= 75 && $isd <= 93) { $isd = '4'; } else { if ($isd >= 94 && $isd <= 99) { $isd = '2'; } else { $isd = '1'; } } } } $orinfval['isd'] = $isd; //回邮信息 $orinfval['pinfo'] = CommonModel::getEubAccounts($orinfval['accountId']); //跟踪号 $orinfval['tracknumber'] = printLabelModel::getTracknumber($orinfval['id']); } if ($type == 7) { //新加坡热敏打印 $orinfval['countryZh'] = CommonModel::getCountryNameCn($orinfval['countryName']); //跟踪号 $orinfval['tracknumber'] = printLabelModel::getTracknumber($orinfval['id']); } if ($type == 4 || $type == 5) { //Global Mail-100*100打印 //重量等级 if ($totalweight < 0.1) { $weightmark = 'P'; $ordershipfee = rand(100, 500) / 100; } else { if ($totalweight < 0.5) { $weightmark = 'G'; $ordershipfee = rand(501, 1000) / 100; } else { if ($totalweight < 2) { $weightmark = 'E'; $ordershipfee = rand(1001, 2000) / 100; } else { $weightmark = '超重'; } } } $orinfval['ordershipfee'] = number_format($ordershipfee / $detailcount, 2); $orinfval['titleinfo'] = implode('<br />', $goods_title); $orinfval['totalweight'] = $totalweight; $orinfval['weightmark'] = $weightmark; $salesaccountinfo = CommonModel::getAccountNameById($orinfval['accountId']); $orinfval['appname'] = $salesaccountinfo['appname']; } $pmNameStr = CommonModel::getMaterInfoById($orinfval['pmId']); $orinfval['pmNameStr'] = $pmNameStr; $orinfval['finalposition'] = $locationinfo; //$carrier = CommonModel::getShipingNameById($orinfval['transportId']); $orinfval['carrier'] = $carrier; $orinfval['totalnum'] = $totalnum; $orinfval['package_type'] = $package_type; if ($type == 1 || $type == 6) { //标签打印-50*100处理 $totalStr = $totalnum . " " . $pmNameStr . " " . $orinfval['calcWeight'] . "KG"; if (!empty($package_type)) { $totalStr = $totalStr . " " . $package_type; } if (!empty($iscard)) { $totalStr = $totalStr . " " . $iscard; } $totalStr = $totalStr . " " . $orinfval['platformUsername']; $orinfval['abbrshipname'] = CommonModel::getShipingAbbrNameById($orinfval['transportId']); //$orinfval['channelname'] = ShipingTypeModel::getChannelNameByIds($orinfval['transportId'], $orinfval['channelId']); //$orinfval['channelname'] = CommonModel::getChannelNameByIds($orinfval['transportId'], $orinfval['countryName']); $orinfval['totalStr'] = $totalStr; $orinfval['notes'] = $po_obj->getOrderNotesInfo($orinfval['id']); $orinfval['countryZh'] = CommonModel::getCountryNameCn($orinfval['countryName']); $orinfval['partionFromAddress'] = printLabelModel::getPartionFromAddress($orinfval['id'], $carrier, $orinfval['countryName']); } if ($type == 9) { //部分包货打印-50*100处理 $countryZh = CommonModel::getCountryNameCn($orinfval['countryName']); $isLast = printLabelModel::adjustIsLast($orinfval['id']); //是否是最后一个配货单 $doneOrder = printLabelModel::getAllOriginOrderId($orinfval['id']); $streetInfo = "<br>" . $orinfval['username'] . "<br>" . $orinfval['street'] . "<br>" . $orinfval['state'] . "<br>" . $orinfval['zipCode'] . "<br>" . $orinfval['countryName'] . "(" . $countryZh . ")"; if (!empty($doneOrder)) { $doneStr = "<br>包含配货单单号:" . $doneOrder; } else { $doneStr = ''; } if ($isLast && empty($doneStr)) { $orinfval['packinglog'] = "第一个包裹,全部打印"; $orinfval['streetInfo'] = $streetInfo; } elseif ($isLast && !empty($doneStr)) { $orinfval['packinglog'] = "最后一个包裹,全部打印" . $doneStr; $orinfval['streetInfo'] = $streetInfo; } elseif (!$isLast && empty($doneStr)) { $orinfval['packinglog'] = "第一个包裹,部分打印"; $orinfval['streetInfo'] = ''; } else { $orinfval['packinglog'] = "分包裹,部分打印" . $doneStr; $orinfval['streetInfo'] = ''; } } if ($type == 31 || $type == 32 || $type == 311 || $type == 312) { $orinfval['notes'] = $po_obj->getOrderNotesInfo($orinfval['id']); $totalPrice = 0; foreach ($locationinfo as $info) { $totalPrice += $info['price'] * $info['amount']; } $orinfval['totalPrice'] = $totalPrice; } } /*if($_SESSION['userId']==253){ echo "<pre>";print_r($ordersinfo); echo $type; }*/ //print_r($ordersinfo);exit; $totalCount = count($ordersinfo); $this->smarty->assign('totalCount', $totalCount); $this->smarty->assign('ordersinfo', $ordersinfo); switch ($type) { case 1: //标签打印-50*100 $this->smarty->display('label50x100.htm'); break; case 6: //带留言标签打印-50*100 $this->smarty->display('label50x100_2.htm'); break; case 2: //快递A4打印 $this->smarty->display('expressA4.htm'); break; case 3: //国际EUB-热敏打印 $this->smarty->display('eubprint.htm'); break; case 4: //德国Global Mail-100*100打印 $this->smarty->display('globalmailgerman.htm'); break; case 5: //非德国Global Mail-100*100打印 $this->smarty->display('unglobalmail.htm'); break; case 7: //新加坡打印 $this->smarty->display('singporeprint.htm'); break; case 8: //新加坡/EUB/Global Mail $this->smarty->display('mixprint.htm'); break; case 9: //部分包货打印50*100 $this->smarty->display('bufen50x100.htm'); break; case 31: //Finejo快递-A4(横向打印) $this->smarty->display('printlabelA4ForFZ.htm'); break; case 32: //哲果发货清单-A4打印 $this->smarty->display('printlabelA4ForZG.htm'); break; case 311: //EB001快递-A4(横向打印) $this->smarty->display('printlabelA4ForEB1.htm'); break; case 312: //EB001发货清单-A4打印 $this->smarty->display('printlabelA4ForEB2.htm'); break; case 33: //快递A4打印 $this->smarty->display('expressA4UpsUs.htm'); break; case 10: //快递50*100热敏打印 $this->smarty->display('printLabelExpress.htm'); break; default: redirect_to("index.php?mod=dispatchBillQuery&act=showForm&storeId=1"); return false; } }
public function act_pda_loading_express() { $userId = $_SESSION['userId']; $packageId = trim($_POST['order_group']); //发货单号1000013 //这里是装车扫描快递的 $shipOrderId = $packageId; $where = "where id ='{$shipOrderId}'"; $order = orderPartionModel::selectOrder($where); if (!$order) { self::$errCode = 0; self::$errMsg = "此发货单不存在!"; return false; } if ($order[0]['isExpressDelivery'] == 0) { self::$errCode = 10; self::$errMsg = "此发货单为非快递单号!"; return false; } //运输方式 $shipping = CommonModel::getShipingNameById($order[0]['transportId']); $no_express_delivery = array('俄速通平邮', '俄速通挂号', '中国邮政平邮', '中国邮政挂号', 'EUB', 'UPS美国专线', 'Global Mail', '香港小包平邮', '香港小包挂号', '德国邮政挂号', '新加坡小包挂号', '新加坡DHL GM平邮', '新加坡DHL GM挂号', '瑞士小包平邮', '瑞士小包挂号', 'USPS FirstClass', 'UPS SurePost', 'UPS Ground Commercia', '比利时小包EU'); if (in_array($shipping, $no_express_delivery)) { self::$errCode = 604; self::$errMsg = "此发货单不是快递!"; return false; } if ($order[0]['orderStatus'] != PKS_WAITING_LOADING) { self::$errCode = 0; self::$errMsg = "此发货单状态不是在待装车扫描状态!"; return false; } self::$errCode = '400'; self::$errMsg = '扫描' . $packageId . '成功!'; $res['shipOrderId'] = $shipOrderId; return $res; }