mirror of
https://gitee.com/ShopeX/OMS
synced 2026-03-22 18:35:35 +08:00
200 lines
6.4 KiB
PHP
200 lines
6.4 KiB
PHP
<?php
|
||
/**
|
||
* Copyright © ShopeX (http://www.shopex.cn). All rights reserved.
|
||
* See LICENSE file for license details.
|
||
*/
|
||
/**
|
||
* 唯品会JIT采购单管理
|
||
*
|
||
* @access public
|
||
* @author wangbiao<wangbiao@shopex.cn>
|
||
* @version 1.0 vopurchase.php 2017-02-23
|
||
*/
|
||
class console_ctl_admin_vopurchase extends desktop_controller{
|
||
|
||
var $workground = "console_purchasecenter";
|
||
|
||
function _views()
|
||
{
|
||
$purchaseObj = app::get('console')->model('order');
|
||
|
||
$base_filter = array();
|
||
$dateline = time();
|
||
$sub_menu = array(
|
||
0 => array('label'=>__('全部'),'filter'=>$base_filter),
|
||
1 => array('label'=>__('进行中'),'filter'=>array('sell_et_time|than'=>$dateline), 'optional'=>false),
|
||
2 => array('label'=>__('档期已结束'),'filter'=>array('sell_et_time|lthan'=>$dateline), 'optional'=>false),
|
||
);
|
||
|
||
foreach($sub_menu as $k => $v)
|
||
{
|
||
$sub_menu[$k]['filter'] = $v['filter'] ? $v['filter'] : null;
|
||
$sub_menu[$k]['addon'] = $purchaseObj->viewcount($v['filter']);
|
||
$sub_menu[$k]['href'] = 'index.php?app=console&ctl=admin_vopurchase&act=index&view='. $k;
|
||
}
|
||
|
||
return $sub_menu;
|
||
}
|
||
|
||
function index()
|
||
{
|
||
$this->title = '采购单列表';
|
||
|
||
$params = array(
|
||
'title'=>$this->title,
|
||
'use_buildin_set_tag'=>false,
|
||
'use_buildin_filter'=>true,
|
||
'use_buildin_export'=>false,
|
||
'use_buildin_import'=>false,
|
||
'use_buildin_recycle'=>false,
|
||
'actions'=>array(
|
||
array(
|
||
'label' => '获取采购单',
|
||
'href' => 'index.php?app=console&ctl=admin_vopurchase&act=get_po_page',
|
||
'target' => 'dialog::{width:600,height:300,title:\'获取采购单\'}'
|
||
),
|
||
),
|
||
);
|
||
|
||
$this->finder('console_mdl_order', $params);
|
||
}
|
||
|
||
/**
|
||
* 人工点击生成拣货单
|
||
*/
|
||
|
||
function createPick()
|
||
{
|
||
@set_time_limit(0);
|
||
@ini_set('memory_limit','128M');
|
||
|
||
$rsp = array('rsp'=>'fail', 'error_msg'=>'');
|
||
|
||
$po_id = $_POST['po_id'];
|
||
if(empty($po_id))
|
||
{
|
||
$rsp['error_msg'] = '无效操作';
|
||
echo json_encode($rsp, true);
|
||
exit;
|
||
}
|
||
|
||
$pickLib = kernel::single('purchase_purchase_pick');
|
||
$purchaseObj = app::get('purchase')->model('order');
|
||
$poInfo = $purchaseObj->dump(array('po_id'=>$po_id), 'po_bn, shop_id, unpick_num');
|
||
|
||
$po_no = $poInfo['po_bn'];
|
||
$shop_id = $poInfo['shop_id'];
|
||
list($rs, $msg) = kernel::single('vop_purchase_pick')->createPick($po_no, $shop_id);
|
||
|
||
$this->splash($rs ? 'success' : 'error', null, $msg);
|
||
}
|
||
|
||
/**
|
||
* [创建拣货单]弹窗页
|
||
*/
|
||
function confirm($po_id)
|
||
{
|
||
$purchaseObj = app::get('purchase')->model('order');
|
||
$poInfo = $purchaseObj->dump(array('po_id'=>$po_id), 'po_id, po_bn, shop_id, unpick_num');
|
||
|
||
$finder_id = $_GET['finder_id'];
|
||
|
||
$this->pagedata['finder_id'] = $finder_id;
|
||
$this->pagedata['data'] = $poInfo;
|
||
$this->pagedata['single'] = 1;
|
||
$this->display("admin/vop/order_alert.html");
|
||
}
|
||
|
||
/**
|
||
* [获取采购单]弹窗页
|
||
*/
|
||
function get_po_page()
|
||
{
|
||
$purchaseLib = kernel::single('purchase_purchase_order');
|
||
$purchaseObj = app::get('purchase')->model('order');
|
||
|
||
//唯品会JIT店铺
|
||
$shopList = $purchaseLib->get_vop_shop_list();
|
||
$this->pagedata['shop_list'] = $shopList;
|
||
|
||
$this->display('admin/vop/order_po.html');
|
||
}
|
||
|
||
function get_order()
|
||
{
|
||
|
||
@set_time_limit(0);
|
||
@ini_set('memory_limit','128M');
|
||
|
||
$po_no = trim($_POST['purchase_bn']);
|
||
$pick_no = trim($_POST['pick_no']);
|
||
$shop_id = $_POST['shop_id'];
|
||
$st_sell_st_time = $_POST['st_sell_st_time'];
|
||
$et_sell_st_time = $_POST['et_sell_st_time'];
|
||
$st_po_start_time = $_POST['st_po_start_time'];
|
||
$et_po_start_time = $_POST['et_po_start_time'];
|
||
|
||
if(empty($shop_id)){
|
||
$this->splash('error', null, '请选择店铺!');
|
||
}
|
||
|
||
$pickLib = kernel::single('purchase_purchase_pick');
|
||
|
||
//唯品会店铺
|
||
$purchaseLib = kernel::single(class_name: 'purchase_purchase_order');
|
||
$shopInfo = $purchaseLib->get_vop_shop_list($shop_id);
|
||
$shopInfo = $shopInfo[0];
|
||
|
||
if(empty($shopInfo['node_id'])) {
|
||
$this->splash('error', null, '店铺未绑定!');
|
||
}
|
||
|
||
$params = [];
|
||
|
||
if ($po_no) {
|
||
$params['po_no'] = $po_no;
|
||
}
|
||
|
||
if ($st_sell_st_time) {
|
||
$params['st_sell_st_time'] = date('Y-m-d H:i:s', strtotime($st_sell_st_time));
|
||
}
|
||
if ($et_sell_st_time) {
|
||
$params['et_sell_st_time'] = date('Y-m-d H:i:s', strtotime($et_sell_st_time));
|
||
}
|
||
if ($st_po_start_time) {
|
||
$params['st_po_start_time'] = date('Y-m-d H:i:s', strtotime($st_po_start_time));
|
||
}
|
||
if ($et_po_start_time) {
|
||
$params['et_po_start_time'] = date('Y-m-d H:i:s', strtotime($et_po_start_time));
|
||
}
|
||
|
||
if ($pick_no) {
|
||
list($result, $msg) = kernel::single('vop_purchase_pick')->getPullList(null, $shop_id, $pick_no);
|
||
} elseif ($po_no) {
|
||
list($result, $msg) = kernel::single('vop_purchase_order')->getPullList(['po_no' => $po_no], $shop_id);
|
||
} else {
|
||
list($result, $msg) = kernel::single('vop_purchase_order')->getPullList($params, $shop_id);
|
||
}
|
||
|
||
$this->splash($result ? 'success' : 'error', null, $msg);
|
||
}
|
||
|
||
function getPicks($po_id)
|
||
{
|
||
|
||
@set_time_limit(0);
|
||
@ini_set('memory_limit','128M');
|
||
|
||
$po = app::get('purchase')->model('order')->dump($po_id, 'po_bn,shop_id');
|
||
|
||
if (!$po) {
|
||
$this->splash('error', null, '采购单不存在');
|
||
}
|
||
|
||
|
||
list($result, $msg) = kernel::single('vop_purchase_pick')->getPullList($po['po_bn'], $po['shop_id']);
|
||
|
||
|
||
$this->splash($result ? 'success' : 'error', null, $msg);
|
||
}
|
||
} |