Files
OMS/app/console/controller/admin/vopurchase.php
2025-12-28 23:13:25 +08:00

200 lines
6.4 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.
*/
/**
* 唯品会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);
}
}