mirror of
https://gitee.com/ShopeX/OMS
synced 2026-08-11 05:35:33 +08:00
[TBID:opensource]
1、支持天猫加急发货功能 2、支持京东厂直售后 3、优化视频号订单金额 4、优化失败订单恢复逻辑
This commit is contained in:
@@ -15,9 +15,31 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
class ome_ctl_admin_delivery extends desktop_controller{
|
||||
const URGENT_LABEL_CODE = 'SOMS_URGENT_SHIP';
|
||||
var $name = "发货单";
|
||||
var $workground = "console_center";
|
||||
|
||||
function _views(){
|
||||
$mdl_delivery = $this->app->model('delivery');
|
||||
$baseFilter = array(
|
||||
'type' => 'normal',
|
||||
'pause' => 'false',
|
||||
'parent_id' => 0,
|
||||
'disabled' => 'false',
|
||||
'status' => array('ready','progress','succ')
|
||||
);
|
||||
$sub_menu = array(
|
||||
0 => array('label' => app::get('base')->_('全部'), 'filter' => $baseFilter, 'optional' => false),
|
||||
1 => array('label' => app::get('base')->_('加急发货'), 'filter' => array_merge($baseFilter, array('delivery_label_code' => self::URGENT_LABEL_CODE)), 'optional' => false),
|
||||
);
|
||||
foreach ($sub_menu as $k => $v) {
|
||||
$sub_menu[$k]['filter'] = $v['filter'];
|
||||
$sub_menu[$k]['addon'] = $mdl_delivery->count($v['filter']);
|
||||
$sub_menu[$k]['href'] = 'index.php?app=ome&ctl='.$_GET['ctl'].'&act='.$_GET['act'].'&view='.$k;
|
||||
}
|
||||
return $sub_menu;
|
||||
}
|
||||
|
||||
function index(){
|
||||
$filter = array(
|
||||
'type' => 'normal',
|
||||
@@ -50,6 +72,7 @@ class ome_ctl_admin_delivery extends desktop_controller{
|
||||
'use_buildin_export'=>false,
|
||||
'use_buildin_import'=>false,
|
||||
'use_buildin_filter'=>true,
|
||||
'use_view_tab'=>true,
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -116,7 +116,7 @@ class ome_ctl_admin_order_fail extends desktop_controller
|
||||
}
|
||||
|
||||
//修正订单项
|
||||
if (kernel::single("ome_order_fail")->modifyOrderItems($order_id, $oldPbn, $pbn)) {
|
||||
if (kernel::single('ome_order_fail')->modifyOrderItems($order_id, $oldPbn, $pbn)) {
|
||||
$this->splash('success', $url, '订单处理成功');
|
||||
} else {
|
||||
$this->splash('error', $url, '存在异常商品,订单修正失败!');
|
||||
@@ -140,15 +140,25 @@ class ome_ctl_admin_order_fail extends desktop_controller
|
||||
}
|
||||
|
||||
//type
|
||||
$failLib = kernel::single('ome_order_fail');
|
||||
if ($type == 'bn') {
|
||||
$orderData = kernel::single('ome_order_fail')->getFailOrderByBn($oldPbn);
|
||||
$orderData = $failLib->getFailOrderByBn($oldPbn);
|
||||
$totalCount = $failLib->countFailOrderByBn($oldPbn, false);
|
||||
$batchableCount = $failLib->countFailOrderByBn($oldPbn, true);
|
||||
} else {
|
||||
$orderData = kernel::single('ome_order_fail')->getFailOrderByName($oldPbn);
|
||||
$orderData = $failLib->getFailOrderByName($oldPbn);
|
||||
$totalCount = $failLib->countFailOrderByName($oldPbn, false);
|
||||
$batchableCount = $failLib->countFailOrderByName($oldPbn, true);
|
||||
}
|
||||
|
||||
// check
|
||||
if(empty($orderData)){
|
||||
echo "<button id='close_btn'>没有找到匹配的失败订单!</button><script>;if(finderGroup['{$finder_id}']) finderGroup['{$finder_id}'].refresh.delay(100,finderGroup['{$finder_id}']);var oDialog = $('close_btn').getParent('.dialog').retrieve('instance');oDialog.close.delay(2000, oDialog);</script>";
|
||||
if ($totalCount > 0) {
|
||||
$msg = sprintf('存在 %d 条匹配的失败订单,但流程状态不是【未确认】,无法批量修复!', $totalCount);
|
||||
} else {
|
||||
$msg = '没有找到匹配的失败订单!';
|
||||
}
|
||||
echo "<button id='close_btn'>{$msg}</button><script>;if(finderGroup['{$finder_id}']) finderGroup['{$finder_id}'].refresh.delay(100,finderGroup['{$finder_id}']);var oDialog = $('close_btn').getParent('.dialog').retrieve('instance');oDialog.close.delay(2000, oDialog);</script>";
|
||||
exit;
|
||||
}
|
||||
|
||||
@@ -180,6 +190,13 @@ class ome_ctl_admin_order_fail extends desktop_controller
|
||||
}
|
||||
}
|
||||
$GroupList = array_column($orderData, 'order_id');
|
||||
$excludedCount = $totalCount - $batchableCount;
|
||||
if ($excludedCount > 0) {
|
||||
$this->pagedata['batch_exclude_notice'] = sprintf(
|
||||
'另有 %d 条同条件失败订单因流程状态不是【未确认】已排除,不在本次批量范围内。',
|
||||
$excludedCount
|
||||
);
|
||||
}
|
||||
$this->pagedata['oldPbn'] = base64_encode(json_encode($oldPbn));
|
||||
$this->pagedata['pbn'] = base64_encode(json_encode($pbn));
|
||||
$this->pagedata['modifyType'] = $type;
|
||||
|
||||
@@ -404,7 +404,7 @@ class ome_ctl_admin_order_lack extends desktop_controller {
|
||||
|
||||
protected function _getOlistFilter() {
|
||||
$params = array(
|
||||
'assigned' => 'assigned',
|
||||
//'assigned' => 'assigned',
|
||||
'abnormal' => 'false',
|
||||
'is_fail' => 'false',
|
||||
'status' => 'active',
|
||||
@@ -417,7 +417,7 @@ class ome_ctl_admin_order_lack extends desktop_controller {
|
||||
// }
|
||||
if(!kernel::single('desktop_user')->is_super()){
|
||||
$op_id = kernel::single('desktop_user')->get_id();
|
||||
$params['op_id'] = $op_id;
|
||||
$params['op_id'] = array($op_id, 0);
|
||||
}
|
||||
/*$flag = omeauto_auto_const::__STORE_CODE;
|
||||
$params['order_confirm_filter'] = sprintf("(sdb_ome_orders.auto_status & %s = %s)", $flag, $flag); */
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
*/
|
||||
|
||||
class ome_ctl_admin_receipts_print extends desktop_controller {
|
||||
const URGENT_LABEL_CODE = 'SOMS_URGENT_SHIP';
|
||||
|
||||
var $name = "发货中心";
|
||||
var $workground = "delivery_center";
|
||||
@@ -97,9 +98,14 @@ class ome_ctl_admin_receipts_print extends desktop_controller {
|
||||
'filter' => $tmp_filter,
|
||||
'optional' => false
|
||||
);
|
||||
$sub_menu[$c++] = array(
|
||||
'label' => app::get('base')->_('加急发货'),
|
||||
'filter' => array_merge($tmp_filter, array('delivery_label_code' => self::URGENT_LABEL_CODE)),
|
||||
'optional' => false
|
||||
);
|
||||
#第三方发货时,显示已发货、未发货
|
||||
if($_GET['ctl'] == 'admin_receipts_outer') {
|
||||
$c = 3;#物流公司view在未发货之后
|
||||
$c = $c + 2;
|
||||
$outer_filter = $tmp_filter;
|
||||
#让已发货、未发货显示在全部之后
|
||||
$outer = $this->shipStatus();
|
||||
|
||||
@@ -2813,31 +2813,29 @@ class ome_ctl_admin_return_rchange extends desktop_controller
|
||||
}elseif(in_array($reship_detail['shop_type'] ,array( 'luban','meituan4medicine'))){
|
||||
$lubanReutrnInfo = app::get('ome')->model('return_product_luban')->db_dump(array('return_id'=>$reship_detail['return_id']));
|
||||
if(!empty($lubanReutrnInfo)){
|
||||
if ($_FILES['refuse_proof']['size']<=0) {
|
||||
$this->end(false, '请上传凭证图片!');
|
||||
$memo = array(
|
||||
'reject_reason_code' => $_POST['seller_refuse_reason_id'],
|
||||
'remark' => $_POST['refuse_message'],
|
||||
'parse' => 'second',
|
||||
);
|
||||
|
||||
if ($_FILES['refuse_proof']['size'] > 0) {
|
||||
if ($_FILES ['refuse_proof'] ['size'] > 512000) {
|
||||
$this->end(false, '上传文件不能超过500K!');
|
||||
}
|
||||
|
||||
$type = array ('gif','jpg','png');
|
||||
$pathinfo = pathinfo($_FILES ['refuse_proof'] ['name']);
|
||||
if (!in_array($pathinfo['extension'], $type)) {
|
||||
$this->end(false, "您只能上传以下类型文件".implode('、', $type)."!");
|
||||
}
|
||||
|
||||
$storager = kernel::single ( 'base_storager' );
|
||||
$id = $storager->save_upload ( $_FILES ['refuse_proof'], "file", "", $msg ); //返回file_id;
|
||||
$refuse_memo['image'] = $storager->getUrl ( $id, "file" );
|
||||
$memo['refuse_proof'] = $refuse_memo['image'];
|
||||
}
|
||||
|
||||
if ($_FILES ['refuse_proof'] ['size'] > 512000) {
|
||||
$this->end(false, '上传文件不能超过500K!');
|
||||
}
|
||||
|
||||
$type = array ('gif','jpg','png');
|
||||
$pathinfo = pathinfo($_FILES ['refuse_proof'] ['name']);
|
||||
if (!in_array($pathinfo['extension'], $type)) {
|
||||
$this->end(false, "您只能上传以下类型文件".implode('、', $type)."!");
|
||||
}
|
||||
|
||||
$storager = kernel::single ( 'base_storager' );
|
||||
$id = $storager->save_upload ( $_FILES ['refuse_proof'], "file", "", $msg ); //返回file_id;
|
||||
$refuse_memo['image'] = $storager->getUrl ( $id, "file" );
|
||||
$imagebinary = $refuse_memo['image'];
|
||||
|
||||
//memo
|
||||
$memo['refuse_proof'] = $imagebinary;
|
||||
$memo['reject_reason_code'] = $_POST['seller_refuse_reason_id'];
|
||||
$memo['remark'] = $_POST['refuse_message'];
|
||||
$memo['parse'] = 'second';
|
||||
|
||||
|
||||
//request
|
||||
$result = kernel::single('ome_service_aftersale')->update_status($reship_detail['return_id'],'5','sync',$memo);
|
||||
if ($result['rsp'] != 'succ' && !$_POST['forced_cancel']) {
|
||||
|
||||
Reference in New Issue
Block a user