public function act_cancelDeal() { $orderid = isset($_GET['orderid']) ? intval($_GET['orderid']) : 0; $type = isset($_GET['type']) ? intval($_GET['type']) : 2; if ($orderid < 1) { // 传入订单号不正确 self::$errCode = 300; self::$errMsg = '订单号类型不正确!'; return FALSE; } //var_dump($orderid); exit; //$oi_obj = new OrderInfoModel (); $orderinfo = OrderInfoModel::getOrderInfo($orderid); //var_dump($orderinfo); if (!$orderinfo) { // 未找到订单 self::$errCode = OrderInfoModel::$errCode; self::$errMsg = OrderInfoModel::$errMsg; return FALSE; } if (C('STATESHIPPED') == $orderinfo['orderStatus'] && C('STATEHASSHIPPED_CONV') == $orderinfo['orderType']) { //订单已发货不能取消交易 self::$errCode = 304; self::$errMsg = '订单已完成不能取消交易!'; return FALSE; } else { if (C('STATESHIPPED') == $orderinfo['orderStatus'] && C('STATESHIPPED_APPLYPRINT') != $orderinfo['orderType']) { /*$ro_obj = new RequestOpenApiModel(); $parameter = array( 'method' => 'wh.discardShippingOrder', //API名称 'format' => 'json', //返回格式 'v' => '1.0', //API版本号 'username' => 'valsun.cn', 'originOrderId'=>$orderid, 'storeId'=>1 ); $sendresult = $ro_obj->sendRequest($parameter); $sendresult = json_decode($sendresult, TRUE);*/ //$orderids = array(0=>$orderid); $sendresult = WarehouseAPIModel::discardShippingOrder($orderid); //var_dump($sendresult); if (!$sendresult) { //推送消息到仓库系统失败 self::$errCode = 305; self::$errMsg = "发货单仓库废弃失败"; return FALSE; } } } $rtn = OrderInfoModel::cancelDeal($orderid, $type); self::$errCode = OrderInfoModel::$errCode; self::$errMsg = OrderInfoModel::$errMsg; return $rtn; }
public function act_applyForException() { $orderid = isset($_GET['orderid']) ? intval($_GET['orderid']) : 0; if ($orderid < 1) { // 传入订单号不正确 self::$errCode = 200; self::$errCode = '订单号类型不正确!'; return FALSEl; } //$oi_obj = new OrderInfoModel (); $orderinfo = OrderInfoModel::getOrderInfo($orderid); if ($orderinfo == FALSE) { // 未找到订单 switch (OrderInfoModel::$errCode) { case '003': self::$errCode = 201; break; case '004': self::$errCode = 203; break; } self::$errMsg = OrderInfoModel::$errMsg; return FALSE; } if (900 != $orderinfo['orderStatus']) { //当前状态不可以申请 self::$errCode = 204; self::$errMsg = '当前状态不可申请异常'; return FALSE; } $ro_obj = new RequestOpenApiModel(); $parameter = array('method' => 'wh.discardShippingOrder', 'format' => 'json', 'v' => '1.0', 'username' => 'valsun.cn', 'originOrderId' => $orderid, 'storeId' => 1); //print_r($parameter);exit; $sendresult = $ro_obj->sendRequest($parameter); //print_r( $sendresult); exit; $sendresult = json_decode($sendresult, TRUE); if (FALSE != $sendresult['errCode']) { //推送消息到仓库系统失败 self::$errCode = 205; self::$errMsg = $sendresult['errMsg']; return FALSE; } $updateresult = $oi_obj->changStatusToException($orderid); if (FALSE == $updateresult) { //更新状态失败 self::$errCode = 206; self::$errMsg = '申请失败!'; return FALSE; } self::$errCode = 207; self::$errMsg = '申请成功!'; return TRUE; }
public function act_resendOrder() { $orderid = isset($_GET['orderid']) ? intval($_GET['orderid']) : 0; $type = isset($_GET['type']) ? intval($_GET['type']) : 1; $resendArr = isset($_POST['resendArr']) ? $_POST['type'] : ''; $reason_noteb = isset($_POST['reason_noteb']) ? $_POST['reason_noteb'] : ''; $extral_noteb = isset($_POST['extral_noteb']) ? $_POST['extral_noteb'] : ''; $old_ostatus = isset($_POST['old_ostatus']) ? $_POST['old_ostatus'] : ''; $old_otype = isset($_POST['old_otype']) ? $_POST['old_otype'] : ''; $SendReplacementAct = new SendReplacementAct(); $return = $SendReplacementAct->act_getSendReplacement(); $sendreplacement = $return['SendReplacementType']; $send_reason = $return['SendReplacementReason']; $note = " 补寄 订单(" . $sendreplacement[$resendArr] . ")--{$extral_noteb}," . $send_reason[$reason_noteb]; //echo $orderid; if ($orderid < 1) { // 传入订单号不正确 self::$errCode = 500; self::$errMsg = '订单号类型不正确!'; return FALSE; } //$oi_obj = new OrderInfoModel (); /*$orderinfo = OrderInfoModel::getShipedOrderInfo($orderid); if ($orderinfo == FALSE) { // 未找到订单 switch (OrderInfoModel::$errCode) { case '003' : self::$errCode = 501; break; case '004' : self::$errCode = 503; break; } self::$errMsg = OrderInfoModel::$errMsg; return FALSE; }*/ /*if (C('STATEHASSHIPPED') != $orderinfo['orderStatus']) { //不会已经发货订单 不能补寄 self::$errCode = 504; self::$errMsg = '当前状态不可申请补寄!'; return FALSE; }*/ $updateresult = OrderInfoModel::resendOrder($orderid, $note, $type, $old_ostatus, $old_otype); if (FALSE == $updateresult) { //更新状态失败 self::$errCode = OrderInfoModel::$errCode; self::$errMsg = OrderInfoModel::$errMsg; return FALSE; } self::$errCode = OrderInfoModel::$errCode; self::$errMsg = OrderInfoModel::$errMsg; return TRUE; }
public function act_amazonInStockExport() { date_default_timezone_set("Asia/Chongqing"); error_reporting(0); $currenctyList = CurrencyModel::getCurrencyList('currency,rates', 'where 1=1'); foreach ($currenctyList as $value) { $currenctys[$value['currency']] = $value['rates']; //汇率数组 } $packinglists = GoodsModel::getMaterInfo(); //获取全部包材记录 foreach ($packinglists as $packinglist) { $packings[$packinglist['id']]['pmName'] = $packinglist['pmName']; $packings[$packinglist['id']]['pmCost'] = $packinglist['pmCost']; } unset($packinglists); $carrierLists = CommonModel::getCarrierList(); //获取全部运输方式 foreach ($carrierLists as $carrierList) { $carriers[$carrierList['id']] = $carrierList['carrierNameCn']; } unset($carrierLists); $channelLists = CommonModel::getAllChannelList(); //获取全部运输方式下的渠道记录 foreach ($channelLists as $channelList) { $channels[$channelList['id']] = $channelList['channelName']; } unset($channelLists); $staffInfoLists = CommonModel::getStaffInfoList(); //获取全部人员 foreach ($staffInfoLists as $staffInfoList) { $staffLists[$staffInfoList['global_user_id']] = $staffInfoList['global_user_name']; } unset($staffInfoLists); //print_r($packings); // exit; $accountLists = omAccountModel::accountAllList(); //获取全部账号信息 foreach ($accountLists as $value) { $accounts[$value['id']] = $value['account']; //账号id对应名称 } unset($accountLists); $time1 = time(); $start = strtotime($_REQUEST['start']); $end = strtotime($_REQUEST['end']); $account = $_REQUEST['account']; //$account = '336';//zyp,测试 $accountStr = ''; if ($account != '') { //组合成sql 中accountId In() 语句 $account = explode("#", $account); foreach ($account as $value) { if ($value != '') { $accountStr .= " accountId='" . $value . "' or "; } } } $accountStr = substr($accountStr, 0, strlen($accountStr) - 3); if (empty($accountStr)) { $accountStr = ' 1=1'; } //$shipOrderList = OrderInfoModel :: getShipOrderList($start, $end, $accountStr); $tNameUnShipped = 'om_shipped_order'; //已發貨订单表 //$tNameUnShipped = 'om_unshipped_order'; //未發貨订单表 $tNameOrderIdList = OrderInfoModel::getTNameOrderIdByTSA($tNameUnShipped, $start, $end, $accountStr); $orderIdArr = array(); foreach ($tNameOrderIdList as $value) { $orderIdArr[] = $value['id']; } $orderIdStr = implode(',', $orderIdArr); if (empty($orderIdStr)) { $orderIdStr = 0; } $where = "WHERE id in({$orderIdStr})"; // $where = " WHERE `paymentTime` > $start AND `paymentTime` < $end AND `accountId` = '".$account."' LIMIT 1,100"; $shipOrderList = OrderindexModel::showOrderList($tNameUnShipped, $where); $fileName = "AmazonInStock_" . date('Y-m-d', $end) . ".xls"; $excel = new ExportDataExcel('browser', $fileName); $excel->initialize(); $excel->addRow(array('日期', '店铺', '交易号', '客户ID', '料号', '数量', '国家', '包裹总价值', '币种', '重量', '邮费', '运输方式', '订单编号')); foreach ($shipOrderList as $key => $value) { //key代表最外层的维数 /*$value分别有7个对应的键,分别为 orderData,//订单表头数据记录 orderExtenData,//订单表扩展数据记录 orderUserInfoData,//订单表中客户的数据记录 orderWhInfoData,//物料对订单进行操作的数据记录 orderNote,//订单的备注(销售人员添加)记录 orderTracknumber,//订单的追踪号记录 orderAudit,//订单明细审核记录 orderDetail //订单明细记录 */ $orderData = $value['orderData']; //订单表头数据记录,为一维数组 $orderExtenData = $value['orderExtenData']; //扩展表头数据记录,为一维数组 $orderUserInfoData = $value['orderUserInfoData']; //订单客户数据记录,为一维数组 $orderWhInfoData = $value['orderWhInfoData']; //物料对订单进行操作的数据记录,为一维数组 $orderNote = $value['orderNote']; //订单备注记录,二维数组 $orderTracknumber = $value['orderTracknumber']; //订单跟踪号,二维数组 $orderAudit = $value['orderAudit']; //订单明细审核记录,二维数组 $orderDetail = $value['orderDetail']; //订单明细记录,三维数组 $orderId = $orderData['id']; //****订单编号 $ebay_id $orderPaidtime = @date('Y-m-d', $orderData['paymentTime']); //****订单付款时间 paidtime $orderUserInfoEmail = $orderUserInfoData['email']; //****客户邮箱 emial $platformUsername = $orderExtenData['platformUsername']; //****客户平台登录名称 $ebay_userid,用扩展表中的该字段 ebay_username $username = @html_entity_decode($orderUserInfoData['username'], ENT_QUOTES, 'UTF-8'); //****客户真实名称(收件人) username $orderUserInfoStreet1 = @$orderUserInfoData['street']; //**** 街道地址 street1 $orderUserInfoStreet2 = @$orderUserInfoData['address2']; //*** 街道地址2 steet2(一般订单会有两个街道地址) $orderUserInfoCity = $orderUserInfoData['city']; //**** 市 city $orderUserInfoState = $orderUserInfoData['state']; //**** 州 state $orderUserInfoCountryName = $orderUserInfoData['countryName']; //**** 国家全名 //客服部小霞提出 导出列 国家 显示英文 方便退款处理 //$cnname = $country[$countryname]; $orderUserInfoZip = $orderUserInfoData['zipCode']; //**** 邮编 zipCode $orderUserInfoTel = $orderUserInfoData['landline']; //**** 座机 landline $orderWhInfoActualShipping = $orderWhInfoData['actualShipping']; //****实际运费,warehouse表中,ebay_shipfee $orderExtenFeedback = $orderExtenData['feedback']; //****客户留言 ebay_note $OrderActualTotal = @round($orderData['actualTotal'], 2); //****实际收款总价 $ebay_total $orderTracknumberOne = @$orderTracknumber[0]['tracknumber']; //****追踪号,这里只读取记录数的第一条记录的追踪号 $ebay_tracknumber $accountName = @$accounts[$orderData['accountId']]; //****账号名称 $ebay_account $orderRecordnumber = @$orderData['recordNumber']; //****订单编码(对应平台上的编码) $recordnumber0 //$ebay_carrier = @$shipOrder['transportId'];//transportId ebay_carrier $orderUserInfoPhone = $orderUserInfoData['phone']; //****客户手机号码 $ebay_phone $orderExtenCurrency = $orderExtenData['currency']; //****币种 $ebay_currency $orderWhInfoPackersId = $orderWhInfoData['packersId']; //包装人员Id $packinguser = $staffLists[$orderWhInfoPackersId]; //对应包装人员姓名 //var_dump($packinguser); $OrderChannelId = $orderData['channelId']; //渠道Id $channelId $orderCalcShipping = $orderData['calcShipping']; //估算运费 $ordershipfee $orderExtenPayPalPaymentId = $orderExtenData['PayPalPaymentId']; //Paypal付款ID $ebay_ptid $orderExtenPayPalEmailAddress = $orderExtenData['PayPalEmailAddress']; //PayPal付款邮箱地址 $ebay_pp $isCopy = $orderData['isCopy']; //默认为0为原始订单,1为被复制订单,2为复制订单 $isCopy = $isCopy == '0' ? '' : ($isCopy == '1' ? '被复制订单' : '复制订单'); //$ebay_noteb = $is_main_order==2 ? '复制 订单' : ($is_main_order==1 ? '被复制 订单' : ''); $isBuji = $orderData['isBuji']; //是否补寄订单。默认0正常订单;1为被补寄的订单;2为补寄产生的新订单 $isBuji = $isBuji == '0' ? '' : ($isBuji == '1' ? '被补寄订单' : '补寄产生新订单'); //$isBuji = isset ($sendreplacement[$isBuji]) ? $sendreplacement[$isBuji] : ''; //$is_sendreplacement = $isBuji; $isSplit = $orderData['isSplit']; //默认0正常订单;1为被拆分的订单;2为拆分产生的订单 $isSplit = $isSplit == '0' ? '' : ($isSplit == '1' ? '被拆分订单' : '拆分产生新订单'); //$ebay_splitorder $isCombinePackage = $orderData['combinePackage']; //是否合并包裹。合并包裹状态,0为正常订单;1为合并包裹主订单;2为合并包裹子订单 $isCombinePackage = $isCombinePackage == '0' ? '' : ($isCombinePackage == '1' ? '合并包裹主订单' : '合并包裹子订单'); $OrderTransportId = $orderData['transportId']; //运输方式Id $transportId $carrierName = $carriers[$OrderTransportId]; //运输方式名称 $ebay_carrier $address = $orderUserInfoStreet1 . "\n" . $orderUserInfoStreet2 . "\n" . $orderUserInfoCity . "\n" . $orderUserInfoState . "\n" . $orderUserInfoZip . "\n" . $orderUserInfoCountryName; //字段拼接成地址 $orderWhInfoWeighTime = date('Y-m-d', $orderWhInfoData['weighTime']); //称重时间,亦可以当做发货时间 $scantime $OrderCalcWeight = $orderData['calcWeight']; //估算重量,单位是kg $calculate_weight $orderWhInfoActualWeight = number_format($orderWhInfoData['actualWeight'] / 1000, 3); //实际重量 $orderweight2 $totalweight = $orderWhInfoActualWeight; //总重量 $mailway_c = $channels[$OrderChannelId]; //根据运输管理系统的接口获取 $isContainCombineSku = CommonModel::judge_contain_combinesku($orderId); //$ebay_combineorder 判断订单是否包含组合料号,返回true or false if (count($orderDetail) == 1) { //订单明细中只有一条记录时,订单中只有一种料号 $orderDetailTotalData = array_pop($orderDetail); //取得orderDetail中的这条总记录数据,包括orderDetailData和orderDetailExtenData $orderDetailData = $orderDetailTotalData['orderDetailData']; //明细中的常用数据 $orderDetailExtenData = $orderDetailTotalData['orderDetailExtenData']; //明细中的扩展数据 $orderDetailSku = $orderDetailData['sku']; //该明细下的$sku $orderDetailExtenItemId = $orderDetailExtenData['itemId']; //itemId $ebay_itemid $orderDetailAmount = intval($orderDetailData['amount']); //$amount 该明细下的sku对应的数量 $orderDetailRecordnumber = $orderDetailData['recordNumber']; //该明细对应平台的recordnumber $recordnumber $orderDetailItemPrice = round($orderDetailData['itemPrice'], 2) * $orderDetailAmount; //itemPrice(平台对应的销售单价)*对应数量 $ebay_itemprice $ebay_shipfee = round_num($OrderActualTotal - $orderDetailItemPrice, 2); //订单总价-sku对应的总价得出运费,$ebay_shipfee $skus = GoodsModel::get_realskuinfo($orderDetailSku); //获取该sku下对应的真实料号信息(包括料号转换及组合料号对应真实料号信息) $values_skus = array_values($skus); //得到sku的数量 $goods_location = CommonModel::getPositionBySku($sku); //仓位 $goodsInfo = GoodsModel::getSkuinfo($sku); //获取真实sku的详细信息,包括采购名称和可用库存 $goods_cost = isset($goodsInfo['goodsCost']) ? round($goodsInfo['goodsCost'], 2) : 0; //采购成本 $pmId = isset($goodsInfo['pmId']) ? $goodsInfo['pmId'] : ''; //包材Id $ebay_packingmaterial = $packings[$pmId]['pmName']; //包材名称 $ebay_packingCost = $packings[$pmId]['pmCost']; //包材成本 $purchaseId = isset($goodsInfo['purchaseId']) ? $goodsInfo['purchaseId'] : ''; $cguser = $staffLists[$purchaseId]; //采购名称 $combineSku = GoodsModel::getCombineSkuinfo($sku); //判断该sku是否是组合料号,如果是返回combineSku,sku,count关系记录数据,不是则返回false if ($combineSku !== false) { //为组合订单 $goods_costs = 0; $combine_weight_list = array(); $goods_costs_list = array(); foreach ($skus as $k => $v) { $goodsInfo2 = GoodsModel::getSkuinfo($k); $combine_weight_list[$k] = $orderDetailAmount * $v * $goodsInfo2['goodsWeight']; //组合订单重量数组 $goods_costs_list[$k] = $orderDetailAmount * $v * $goodsInfo2['goodsCost']; //货本数组 $goods_costs += $orderDetailAmount * $v * $goodsInfo2['goodsCost']; } $row = array($orderWhInfoWeighTime, $accountName, $orderRecordnumber, $platformUsername, '', $orderDetailAmount * array_sum($values_skus), $orderUserInfoCountryName, $OrderActualTotal, $orderExtenCurrency, $orderWhInfoActualWeight, $orderCalcShipping, $carrierName, $orderId); $excel->addRow($row); foreach ($skus as $k => $v) { $goodsInfo3 = GoodsModel::getSkuinfo($k); $goods_cost = isset($goodsInfo3['goodsCost']) ? round($goodsInfo3['goodsCost'], 2) : 0; $goods_location2 = CommonModel::getPositionBySku($k); //仓位 $pmId = isset($goodsInfo3['pmId']) ? $goodsInfo3['pmId'] : ''; $ebay_packingmaterial = $packings[$pmId]['pmName']; $ebay_packingCost = $packings[$pmId]['pmCost']; $purchaseId = isset($goodsInfo3[0]['purchaseId']) ? $goodsInfo3[0]['purchaseId'] : ''; $cguser = $staffLists[$purchaseId]; $ishipfee = round_num($goods_costs_list[$k] / array_sum($goods_costs_list) * $ebay_shipfee, 2); //根据货本比ebay运费 $iorderweight2 = round($combine_weight_list[$k] / array_sum($combine_weight_list) * $orderWhInfoActualWeight, 3); $iordershipfee = round_num($combine_weight_list[$k] / array_sum($combine_weight_list) * $orderCalcShipping, 2); $iprice = round_num(($goods_costs_list[$k] + $iordershipfee) / (array_sum($goods_costs_list) + $orderCalcShipping) * $ebay_itemprice, 2); //根据货本比产品价格 last modified by herman.xi @20130916 $row = array('', '', $orderDetailRecordnumber, '', $k, $orderDetailAmount * $v, '', '', '', $iorderweight2, $iordershipfee, '', $orderDetailExtenItemId); $excel->addRow($row); } } else { //非组合订单 $row = array($orderWhInfoWeighTime, $accountName, $orderRecordnumber, $platformUsername, $orderDetailSku, $orderDetailAmount * array_sum($values_skus), $orderUserInfoCountryName, $OrderActualTotal, $orderExtenCurrency, $orderWhInfoActualWeight, $orderCalcShipping, $carrierName, $orderId); $excel->addRow($row); } unset($combine_weight_list); unset($goods_costs_list); } else { //订单详细记录>1 $cctotal = 0; $ebay_itemprice = 0; $goods_costs = 0; $goods_list = array(); $goods_lists = array(); $goods_weight_list = array(); $goods_costs_list = array(); $calculate_weight = 0; foreach ($orderDetail as $orderDetailTotalData) { //$orderDetailTotalData ,包括orderDetailData和orderDetailExtenData $orderDetailData = $orderDetailTotalData['orderDetailData']; //明细中的常用数据 $orderDetailExtenData = $orderDetailTotalData['orderDetailExtenData']; //明细中的扩展数据 $detail_id = $orderDetailData['id']; $sku = $orderDetailData['sku']; $skus = GoodsModel::get_realskuinfo($sku); $_ebay_itemprice = round($orderDetailData['itemPrice'], 2); $ebay_itemprice += $orderDetailData['amount'] * $_ebay_itemprice; foreach ($skus as $k => $v) { $goodsInfo3 = GoodsModel::getSkuinfo($k); $_ebay_amount = intval($orderDetailData['amount'] * $v); $cctotal += $_ebay_amount; $calculate_weight += $_ebay_amount * $goodsInfo3['goodsWeight']; $goods_weight_list[$detail_id . $sku][$k] = $_ebay_amount * $goodsInfo3['goodsWeight']; $goods_costs_list[$detail_id . $sku][$k] = round($goodsInfo3['goodsCost'], 2) * $_ebay_amount; $goods_costs += round($goodsInfo3['goodsCost'], 2) * $_ebay_amount; } } //echo "---------$ebay_itemprice--------"; $ebay_shipfee = round_num($OrderActualTotal - $ebay_itemprice, 2); $row = array($orderWhInfoWeighTime, $accountName, $orderRecordnumber, $platformUsername, '', $cctotal, $orderUserInfoCountryName, $OrderActualTotal, $orderExtenCurrency, $orderWhInfoActualWeight, $orderCalcShipping, $carrierName, $orderId); $excel->addRow($row); foreach ($orderDetail as $orderDetailTotalData) { //$orderDetailTotalData ,包括orderDetailData和orderDetailExtenData $orderDetailData = $orderDetailTotalData['orderDetailData']; //明细中的常用数据 $orderDetailExtenData = $orderDetailTotalData['orderDetailExtenData']; //明细中的扩展数据 $detail_id = $orderDetailData['id']; $skuDe = $orderDetailData['sku']; $recordnumber = $orderDetailData['recordNumber']; $orderDetailExtenItemId = $orderDetailExtenData['itemId']; //itemId $ebay_itemid //$ebay_itemid = $detail_array['ebay_itemid']; $amount = intval($orderDetailData['amount']); $dshipingfee = $orderDetailData['shippingFee']; $debay_itemprice = round($orderDetailData['itemPrice'], 2); $goods_location = CommonModel::getPositionBySku($skuDe); $goodsInfo3 = GoodsModel::getSkuinfo($skuDe); $goods_cost = isset($goodsInfo3['goodsCost']) ? round($goodsInfo3['goodsCost'], 2) : 0; $pmId = isset($goodsInfo3['pmId']) ? $goodsInfo3['pmId'] : 0; $ebay_packingmaterial = $packings[$pmId]['pmName']; $ebay_packingCost = $packings[$pmId]['pmCost']; $purchaseId = isset($goodsInfo3['purchaseId']) ? $goodsInfo3['purchaseId'] : ''; $cguser = $staffLists[$purchaseId]; $dordershipfee = round($orderCalcShipping * (array_sum($goods_weight_list[$detail_id . $skuDe]) / $calculate_weight), 2); $dorderweight2 = round($orderWhInfoActualWeight * (array_sum($goods_weight_list[$detail_id . $skuDe]) / $calculate_weight), 3); $combineSku = GoodsModel::getCombineSkuinfo($skuDe); //$is_combineSku = count($combineSku); if ($combineSku !== false) { //为组合料号 $skus = GoodsModel::get_realskuinfo($skuDe); foreach ($skus as $k => $v) { $goods_location = CommonModel::getPositionBySku($k); $goodsInfo3 = GoodsModel::getSkuinfo($k); $goods_cost = isset($goodsInfo3['goodsCost']) ? round($goodsInfo3['goodsCost'], 2) : 0; $pmId = isset($goodsInfo3['pmId']) ? $goodsInfo3['pmId'] : ''; $ebay_packingmaterial = $packings[$pmId]['pmName']; $ebay_packingCost = $packings[$pmId]['pmCost']; $purchaseId = isset($goodsInfo3['purchaseId']) ? $goodsInfo3['purchaseId'] : ''; $cguser = $staffLists[$purchaseId]; //$iprice = round_num(($goods_costs_list[$detail_id.$k][$k]/array_sum($goods_costs_list[$detail_id.$k])) * $debay_itemprice * $amount,2); //根据货本比产品价格 $ishipfee = round_num($goods_costs_list[$detail_id . $skuDe][$k] / array_sum($goods_costs_list[$detail_id . $skuDe]) * $dshipingfee, 2); //根据货本比ebay运费 $iorderweight2 = round($goods_weight_list[$detail_id . $skuDe][$k] / array_sum($goods_weight_list[$detail_id . $skuDe]) * $dorderweight2, 3); $iordershipfee = round_num($goods_weight_list[$detail_id . $skuDe][$k] / array_sum($goods_weight_list[$detail_id . $skuDe]) * $dordershipfee, 2); $iprice = round_num(($goods_costs_list[$detail_id . $skuDe][$k] + $iordershipfee) / (array_sum($goods_costs_list[$detail_id . $skuDe]) + $dordershipfee) * $debay_itemprice * $amount, 2); //根据货本比产品价格 last modified by herman.xi @20130916 $row = array('', '', $recordnumber, '', $k, $amount * $v, '', '', '', $iorderweight2, $iordershipfee, '', ''); $excel->addRow($row); } } else { $row = array('', '', $recordnumber, '', $skuDe, $amount, '', '', '', $dorderweight2, $dordershipfee, '', ''); $excel->addRow($row); } } unset($goods_weight_list); unset($goods_costs_list); } } $excel->finalize(); exit; }
public function act_getExpressShipOrderInfo() { $recordnumber = !empty($_GET["recordnumber"]) ? addslashes(trim($_GET["recordnumber"])) : ''; $selleraccount = !empty($_GET["selleraccount"]) ? addslashes(trim($_GET["selleraccount"])) : ''; //$selleraccount='sunwebzone'; //$recordnumber='537995'; if (empty($recordnumber)) { $data['errCode'] = '5806'; $data['errMsg'] = 'recordnumber is null.'; exit(json_encode($data)); } if (empty($selleraccount)) { $data['errCode'] = '5806'; $data['errMsg'] = 'selleraccount is null.'; exit(json_encode($data)); } $field = "a.*"; $condition = "ORDER BY a.id DESC LIMIT 50"; $orders = OrderInfoModel::getExpressOrderInfo($selleraccount, $recordnumber, $field, $condition = ''); if (empty($orders)) { $data['errCode'] = '5806'; $data['errMsg'] = 'No data or get a order information error'; exit(json_encode($data)); } foreach ($orders as &$order) { if ($order['orderStatus'] == 2) { $order['catename'] = '已发货'; } else { $select = 'statusName'; $where = " WHERE groupId = '{$order['orderStatus']}' AND statusCode = '{$order['orderType']}' LIMIT 1 "; $cates = StatusMenuModel::getStatusMenuList($select, $where); $order['catename'] = $cates[0]['statusName']; } $order['orderdetail'] = OrderInfoModel::getShipOrderDetailByOrderId($order['id']); } $data['data'] = $orders; exit(json_encode($data)); }
public function view_applyLabel() { $returnData = array('code' => 0, 'msg' => ''); $orderId = isset($_GET['oid']) ? intval($_GET['oid']) : 0; if (!$orderId) { $returnData['msg'] = '未指定订单号'; echo json_encode($returnData); return FALSE; } $orderInfo = OrderInfoModel::getOrderInfo($orderId); if (FALSE === $orderInfo) { //不存在的订单号 $returnData['msg'] = '不存在的订单号!'; echo json_encode($returnData); return FALSE; } if ($orderInfo['orderStatus'] != 911 || $orderInfo['orderType'] != 916) { //订单状态不合法 $returnData['msg'] = '该订单不是海外仓待打印订单!'; echo json_encode($returnData); return FALSE; } if ($orderInfo['transportId'] == 0) { //订单未设置运输方式 $returnData['msg'] = '该订单还未设定运输方式!'; echo json_encode($returnData); return FALSE; } $orderActObj = new OrderindexAct(); $skuList = $orderActObj->act_getRealskulist($orderId); //获得全部的sku列表 if (FALSE == $skuList) { $returnData['msg'] = '获取料号信息出错!'; echo json_encode($returnData); return FALSE; } $owOrderMg = new OwOrderManageModel(); $owShipDes = new OwShippingWayDesisionModel(); $outside = $owShipDes->culPackageLWH($skuList); $buyerInfo = $owOrderMg->getUnshippedOrderBuyerInfo($orderId); //买家信息 if (FALSE === $buyerInfo) { $returnData['msg'] = '获取买家信息失败!'; echo json_encode($returnData); return FALSE; } $zipCode = $buyerInfo['zipCode']; //邮编 $weight = $orderInfo['calcWeight']; //订单重量 if ($weight == 0) { //重量为0 则无法处理 $returnData['msg'] = '订单重量为0,请先确认重量!'; echo json_encode($returnData); return FALSE; } $owOrderMG = new OwOrderManageModel(); $transInfo = $owOrderMG->getShippingInfo($orderId); if (!empty($transInfo) && $transInfo['shippingWay'] == 'USPS' && $transInfo['isCanceled'] == 0) { /* 当之前有申请过usps 并且申请的usps还没有退款的时 则 不予申请*/ $returnData['msg'] = '请先退款已申请的USPS!'; echo json_encode($returnData); return FALSE; } $shipping = new ExpressLabelApplyModel(); $zone = $shipping->getZoneCode($zipCode); $zone = FALSE !== $zone ? $zone : 6; //如果没找到分区则默认为6区 $shippingInfo = $owShipDes->chooseShippingWay($skuList, $weight, $outside, $zone); if ($shippingInfo) { $transId = $shipping->reflectCodeToId($shippingInfo['shippingCode']); } else { $transId = 0; } if ($transId != $orderInfo['transportId']) { //计算出的运输方式和系统的不符合 $returnData['msg'] = "计算的运输方式和初始运输方式不符合! 请重新生成运输方式 ! 计算运输方式为 " . $shippingInfo['shippingCode']; echo json_encode($returnData); return FALSE; } if (0 == $transId) { //没找到正确的运输方式 $returnData['msg'] = OwShippingWayDesisionModel::$errMsg; echo json_encode($returnData); return FALSE; } $data = array(); $data['recipients'] = $buyerInfo['username']; //收件人 $data['re_phone'] = $buyerInfo['landline'] . '/' . $buyerInfo['phone']; //电话 $data['re_address1'] = $buyerInfo['street']; //街道地址一 $data['re_address2'] = $buyerInfo['address2']; //街道地址二 $data['re_city'] = $buyerInfo['city']; //市 $data['re_post_code'] = $zipCode; //邮编 $data['re_country_code'] = 'US'; //国家简称 $data['weight'] = $weight; //重量 $data['orderId'] = $orderId; //订单号 $owSkuMG = new OwSkuInfoManageModel(); //生成料号仓位数据 $skuLocation = $owSkuMG->getAsetOfSkusLocation(array_keys($skuList)); $positionStr = ''; $skuDetailStr = ''; foreach ($skuList as $k => $_num) { $position = $skuLocation[$k]; $positionStr .= " {$k} [{$position}] "; $skuDetailStr .= " {$k} * {$_num} "; } $data['sku_position'] = $positionStr; $data['show_detail'] = $skuDetailStr; $handResult = FALSE; $errMsg = ''; // print_r($shippingInfo['shippingCode']);exit; if ('UPS Ground' == $shippingInfo['shippingCode']) { //申请 UPS Label $upsApplyObj = new ApplyUpsLabelModel(); $data['re_state_code'] = $upsApplyObj->getStateAbbreviationName($buyerInfo['state']); //州简称 if (FALSE == $data['re_state_code']) { //没找到则使用原始值 $data['re_state_code'] = $buyerInfo['state']; } // print_r($data);exit; $applyResult = $upsApplyObj->applyUPSLabel($data); if (FALSE === $applyResult) { //申请标签失败 $errMsg = ApplyUpsLabelModel::$errMsg; } else { $handResult = TRUE; $this->deal_img_ups($applyResult['imagePath'], $applyResult['imagePath']); } } else { if ('USPS' == $shippingInfo['shippingCode']) { //申请usps label $uspsApplyObj = new ApplyUSPSLabelModel(); $data['re_state_code'] = $uspsApplyObj->getStateAbbreviationName($buyerInfo['state']); //州简称 if (FALSE == $data['re_state_code']) { //没找到则使用原始值 $data['re_state_code'] = $buyerInfo['state']; } $mailClass = $shippingInfo['extensionInfo']['mailclass']; //运输类型 $packageType = $shippingInfo['extensionInfo']['packageType']; $typeInfo = array('mailClass' => $mailClass, 'packageType' => $packageType); $applyResult = $uspsApplyObj->aplyUSPSLabel($data, $typeInfo); if (FALSE === $applyResult) { //申请标签失败 $errMsg = ApplyUSPSLabelModel::$errMsg; } else { $handResult = TRUE; if ($packageType == 'Letter' || $packageType == 'Flat') { $this->deal_img_usps($applyResult['imagePath'], $applyResult['imagePath']); //后期处理图片 } } } } if (FALSE == $handResult) { $returnData['msg'] = $errMsg; } else { $returnData['code'] = 1; // array('trackNumber'=>$trackNumber, 'shippFee'=>$totalMoney, 'imagePath'=>$labelSavePath $result = $owOrderMG->insertNewTrackNumber($orderId, $applyResult['trackNumber'], $shippingInfo['shippingCode'], $_SESSION['sysUserId'], 0); //更新跟踪号信息 $result2 = $owOrderMG->changeOrderStatus(911, 910, $orderId); } echo json_encode($returnData); return FALSE; }
public static function getExpressOrderInfo($sellerAccount, $recordnumber, $field, $condition = '') { self::initDB(); $sql = "SELECT {$field}\n\t\t\t\t\t\tFROM om_unshipped_order AS a\n\t\t\t\t\t\tLEFT JOIN om_unshipped_order_userInfo AS b ON a.id = b.omOrderId\n\t\t\t\t\t\tLEFT JOIN om_account AS c ON a.accountId = c.id\n\t\t\t\t\t\tWHERE a.recordNumber = '{$recordnumber}' AND c.account='{$sellerAccount}' " . $condition; //echo $sql; $query = self::$dbConn->query($sql); if ($query) { $ret = self::$dbConn->fetch_array_all($query); return $ret; //成功, 返回列表数据 } else { self::$errCode = "003"; self::$errMsg = "error"; return false; } }