Files
OMS/app/dealer/lib/finder/reship.php
2025-12-28 23:13:25 +08:00

198 lines
8.0 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
/**
* Copyright © ShopeX http://www.shopex.cn. All rights reserved.
* See LICENSE file for license details.
*/
class dealer_finder_reship {
var $addon_cols = 'reship_id,is_check,source,order_id,changebranch_id,return_id,return_type,change_order_id,shop_type,shop_id,reship_bn';
var $column_edit = "操作";
var $column_edit_width = "200";
function column_edit($row){
$is_check = $row[$this->col_prefix.'is_check'];
$reship_bn = $row[$this->col_prefix.'reship_bn'];
if($is_check==0){
$cols = '<a class="lnk" href="javascript:if(confirm(\'确认审核退货单:'.$reship_bn.'?\')) {W.page(\'index.php?app=dealer&ctl=admin_reship&act=confirm&p[0]='.$row['reship_id'].'&finder_id='.$_GET['_finder']['finder_id'].'&finder_vid='.$_GET['finder_vid'].'\');};">
审核</a>';
}
return $cols ? $cols : '';
}
var $detail_basic = "退货单详情";
function detail_basic($reship_id)
{
$basicMaterialExtObj = app::get('material')->model('basic_material_ext');
$render = app::get('ome')->render();
$oReship = app::get('ome')->model('reship');
$corpObj = app::get('ome')->model('dly_corp');
$branchLib = kernel::single('ome_branch');
$reshipLib = kernel::single('ome_reship');
$keplerLib = kernel::single('ome_reship_kepler');
//退货单信息
$detail = $oReship->getCheckinfo($reship_id);
$oDesktop = app::get('desktop')->model('users');
$desktop_detail = $oDesktop->dump(array('user_id'=>$detail['op_id']), 'name');
$detail['op_name'] = $desktop_detail['name'];
if($detail['is_check'] == '3') $detail['is_check'] = '1';
$cols = $oReship->_columns();
$detail['is_check'] = $cols['is_check']['type'][$detail['is_check']];
$reason = unserialize($detail['reason']);
$detail['check_memo'] = $reason['check'];
# 售后问题类型
if ($detail['problem_id']) {
$detail['problem_name'] = app::get('ome')->model('return_product_problem')->getCatName($detail['problem_id']);
}
//退回物流信息
$return_id = $detail['return_id'];
if($return_id && empty($detail['return_logi_id']))
{
$reProductObj = app::get('ome')->model('return_product');
$product_detail = $reProductObj->dump(array('return_id'=>$return_id), 'process_data');
$process_data = ($product_detail['process_data'] ? unserialize($product_detail['process_data']) : '');
if($process_data)
{
$corpinfo = $corpObj->dump(array('name'=>$process_data['shipcompany']), 'corp_id');
$detail['return_logi_no'] = $process_data['logino'];
}
}
if($return_id) {
$render->pagedata['return_freight_data'] = app::get('ome')->model('return_freight')->db_dump(['return_id'=>$return_id]);
}
if(is_numeric($detail['return_logi_name'])){
$corpinfo = $corpObj->dump($detail['return_logi_name'], 'name');
$detail['return_logi_name']=$corpinfo['name'];
}
$render->pagedata['detail'] = $detail;
//[换货]关联的销售物料的类型
if($detail['return_type'] == 'change'){
$reshipObjects = app::get('ome')->model('reship_objects');
$temp_data = $reshipObjects->getList('obj_id, obj_type', array('reship_id'=>$reship_id));
$reship_objects = array();
if($temp_data){
foreach ($temp_data as $key => $val){
$reship_objects[$val['obj_id']] = $val['obj_type'];
}
}
unset($temp_data);
}
$branchlib = kernel::single('ome_branch');
//退换货明细
$reship_item = $oReship->getItemList($reship_id);
foreach ($reship_item as $key => $value){
$spec_info = $basicMaterialExtObj->dump(array('bm_id'=>$value['product_id']), '*');
$reship_item[$key]['spec_info'] = $spec_info['specifications'];
$reship_item[$key]['specifications'] = $spec_info['specifications'];
#换货的销售物料类型
if($value['obj_id']){
$reship_item[$key]['item_type'] = $reship_objects[$value['obj_id']];
}
if ($value['return_type'] == 'change' && $value['changebranch_id']){
$branch_detail = $branchlib->getBranchInfo($value['changebranch_id'],'name');
$reship_item[$key]['branch_name'] = $branch_detail['name'];
}
$recover[$value['return_type']][] = $reship_item[$key];
}
$is_hqepay_on = app::get('ome')->getConf('ome.delivery.hqepay');
if($is_hqepay_on == 'false'){
$is_hqepay_on = false;
}else{
$is_hqepay_on = true;
}
//[京东一件代发]
$wms_type = $branchLib->getNodetypBybranchId($detail['branch_id']);
if($wms_type == 'yjdf'){
//物流公司列表
$corpList = $corpObj->getList('corp_id,type,name', array('disabled'=>'false'));
$render->pagedata['corpList'] = $corpList;
//获取退货包裹明细
$delivery_ids = array();
$error_msg = '';
$packageList = $reshipLib->get_reship_package($reship_id, $error_msg);
if($packageList){
foreach ($packageList as $key => $val)
{
$delivery_id = $val['delivery_id'];
$delivery_ids[$delivery_id] = $delivery_id;
}
//京东包裹配送状态
$deliveryLib = kernel::single('console_delivery');
$shipStatusList = $deliveryLib->getShippingStatus();
//发货包裹
$packageObj = app::get('ome')->model('delivery_package');
$tempList = $packageObj->getList('*', array('delivery_id'=>$delivery_ids));
$dlyPackageList = array();
foreach ($tempList as $key => $val)
{
$package_bn = $val['package_bn'];
$dlyPackageList[$package_bn] = $val;
}
//京东包裹配送状态
foreach ($packageList as $key => $val)
{
$package_bn = $val['package_bn'];
$shipping_status = $dlyPackageList[$package_bn]['shipping_status'];
$packageList[$key]['shipping_status'] = $shipping_status;
$packageList[$key]['ship_status_name'] = $shipStatusList[$shipping_status];
}
}
$render->pagedata['packageList'] = $packageList;
//获取售后服务单
$error_msg = '';
$serviceList = $keplerLib->get_reship_services($reship_id, true, $error_msg);
$render->pagedata['serviceList'] = $serviceList;
//寄件地址列表
$addressList = $keplerLib->getReturnAddressList($reship_id);
$render->pagedata['addressList'] = $addressList;
}
if($detail['return_id']) {
$render->pagedata['exchangeAddress'] = app::get('ome')->model('return_exchange_receiver')->db_dump(['return_id'=>$detail['return_id']]);
}
$render->pagedata['finder_id'] = ($_GET['_finder']['finder_id'] ? $_GET['_finder']['finder_id'] : $_GET['finder_id']);
$render->pagedata['is_hqepay_on'] = $is_hqepay_on;
$render->pagedata['items'] = $recover;
return $render->fetch('admin/reship/detail.html');
}
var $detail_log = "操作日志";
function detail_log($reship_id){
$render = app::get('ome')->render();
$oOperation_log = app::get('ome')->model('operation_log');
$render->pagedata['log'] = $oOperation_log->read_log(array('obj_type'=>'reship@ome','obj_id'=>$reship_id),0,20,'log_id desc');
return $render->fetch('admin/reship/detail_log.html');
}
}