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

296 lines
10 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 wms_finder_vopstockout{
var $addon_cols ='status,confirm_status,o_status,dly_mode,carrier_code';
var $_status = array();
var $_confirm_status = array();
function __construct()
{
$this->_status = array(1=>'新建', '取消', '完成');
$this->_confirm_status = array(1=>'未审核', '已审核');
}
var $column_status = '单据状态';
var $column_status_width = '100';
var $column_status_order = 12;
function column_status($row)
{
$stockLib = kernel::single('purchase_purchase_stockout');
$status = $row[$this->col_prefix .'status'];
return $stockLib->getBillStatus($status);
}
var $column_confirm_status = '审核状态';
var $column_confirm_status_width = '100';
var $column_confirm_status_order = 11;
function column_confirm_status($row)
{
return $this->_confirm_status[$row[$this->col_prefix .'confirm_status']];
}
var $column_o_status = '出库状态';
var $column_o_status_width = '100';
var $column_o_status_order = 12;
function column_o_status($row)
{
$stockLib = kernel::single('purchase_purchase_stockout');
$o_status = $row[$this->col_prefix .'o_status'];
return $stockLib->getStockoutStatus($o_status);
}
var $column_dly_mode = '配送方式';
var $column_dly_mode_width = '100';
var $column_dly_mode_order = 12;
function column_dly_mode($row)
{
if(empty($row[$this->col_prefix .'dly_mode']))
{
return '';
}
$stockLib = kernel::single('purchase_purchase_stockout');
$dly_mode = $row[$this->col_prefix .'dly_mode'];
return $stockLib->getDlyMode($dly_mode);
}
var $column_carrier_code = '承运商';
var $column_carrier_code_width = '100';
var $column_carrier_code_order = 12;
function column_carrier_code($row)
{
if(empty($row[$this->col_prefix .'carrier_code']))
{
return '';
}
$stockLib = kernel::single('purchase_purchase_stockout');
$carrier_code = $row[$this->col_prefix .'carrier_code'];
return $stockLib->getCarrierCode('', $carrier_code);
}
/***
*
var $column_pick_no = '拣货单号';
var $column_pick_no_width = 130;
var $column_pick_no_order = 5;
function column_pick_no($row)
{
$stockoutObj = app::get('purchase')->model('pick_stockout_bills');
$stockout_id = $row['stockout_id'];
$sql = "SELECT b.pick_no FROM sdb_purchase_pick_stockout AS a LEFT JOIN sdb_purchase_pick_bills AS b
ON a.bill_id=b.bill_id WHERE a.stockout_id=". $stockout_id;
$pickInfo = $stockoutObj->db->selectrow($sql);
return $pickInfo['pick_no'];
}
***/
var $column_branch_bn = '入库仓';
var $column_branch_bn_width = '100';
var $column_branch_bn_order = 21;
function column_branch_bn($row)
{
$stockoutObj = app::get('purchase')->model('pick_stockout_bills');
$stockout_id = $row['stockout_id'];
$sql = "SELECT b.to_branch_bn FROM sdb_purchase_pick_stockout AS a LEFT JOIN sdb_purchase_pick_bills AS b
ON a.bill_id=b.bill_id WHERE a.stockout_id=". $stockout_id;
$pickInfo = $stockoutObj->db->selectrow($sql);
if($pickInfo['to_branch_bn'])
{
$purchaseLib = kernel::single('purchase_purchase_order');
$branchInfo = $purchaseLib->getWarehouse($pickInfo['to_branch_bn']);
$pickInfo['to_branch_bn'] = $branchInfo['branch_name'];
}
return $pickInfo['to_branch_bn'];
}
var $column_edit = '操作';
var $column_edit_order = 2;
var $column_edit_width = 100;
function column_edit($row)
{
$stockout_id = $row['stockout_id'];
$finder_id = $_GET['_finder']['finder_id'];
if($row[$this->col_prefix .'o_status'] != 1)
{
return '';
}
$button = <<<EOF
<a class="lnk" href="index.php?app=wms&ctl=admin_vopstockout&act=confirm&p[0]=$stockout_id&_finder[finder_id]=$finder_id&finder_id=$finder_id" target="_blank">出库确认</a>
EOF;
return '<span class="c-gray">'. $button .'</span>';
}
var $detail_base = '基础信息';
/**
* detail_base
* @param mixed $stockout_id ID
* @return mixed 返回值
*/
public function detail_base($stockout_id)
{
$render = app::get('wms')->render();
$stockLib = kernel::single('purchase_purchase_stockout');
//详情
$stockoutObj = app::get('purchase')->model('pick_stockout_bills');
$row = $stockoutObj->dump(array('stockout_id'=>$stockout_id), '*');
$row['status'] = $stockLib->getBillStatus($row['status']);
$row['create_time'] = date('Y-m-d H:i:s', $row['create_time']);
//出库仓
$branchObj = app::get('ome')->model('branch');
$branchInfo = $branchObj->dump(array('branch_id'=>$row['branch_id']), 'name');
$row['branch_name'] = $branchInfo['name'];
//关联拣货单
$stockoutObj = app::get('purchase')->model('pick_stockout_bills');
$sql = "SELECT b.pick_no, b.to_branch_bn FROM sdb_purchase_pick_stockout AS a LEFT JOIN sdb_purchase_pick_bills AS b
ON a.bill_id=b.bill_id WHERE a.stockout_id=". $stockout_id;
$pickList = $stockoutObj->db->select($sql);
$pickInfo = array();
foreach ($pickList as $key => $val)
{
$pickInfo['pick_no'][] = $val['pick_no'];
$pickInfo['to_branch_bn'] = $val['to_branch_bn'];
}
//格式化入库仓
if($pickInfo['to_branch_bn'])
{
$purchaseLib = kernel::single('purchase_purchase_order');
$branchInfo = $purchaseLib->getWarehouse($pickInfo['to_branch_bn']);
$pickInfo['branch_name'] = $branchInfo['branch_name'];
}
$pickInfo['pick_no'] = implode(',', $pickInfo['pick_no']);
$render->pagedata['pickInfo'] = $pickInfo;
//出库状态
$row['o_status'] = $stockLib->getStockoutStatus($row['o_status']);
//配送方式
if($row['dly_mode'])
{
$row['dly_mode'] = $stockLib->getDlyMode($row['dly_mode']);
}
//承运商
if($row['carrier_code'])
{
$row['carrier_code'] = $stockLib->getCarrierCode('', $row['carrier_code']);
}
$render->pagedata['data'] = $row;
return $render->fetch('admin/vop/stockout_detail.html');
}
var $detail_items = '出库单明细';
/**
* detail_items
* @param mixed $stockout_id ID
* @return mixed 返回值
*/
public function detail_items($stockout_id)
{
$render = app::get('wms')->render();
$pickObj = app::get('purchase')->model('pick_bills');
//详情
$stockoutItemsObj = app::get('purchase')->model('pick_stockout_bill_items');
$dataList = $stockoutItemsObj->getList('*', array('stockout_id'=>$stockout_id, 'is_del'=>'false'));
foreach ($dataList as $key => $val)
{
$bill_id = $val['bill_id'];
$pickInfo = $pickObj->dump(array('bill_id'=>$bill_id), 'pick_no, po_bn');
$val['pick_no'] = $pickInfo['pick_no'];
$val['po_bn'] = $pickInfo['po_bn'];
$dataList[$key] = $val;
}
$render->pagedata['dataList'] = $dataList;
return $render->fetch('admin/vop/stockout_item.html');
}
var $detail_pack = '装箱信息';
/**
* detail_pack
* @param mixed $stockout_id ID
* @return mixed 返回值
*/
public function detail_pack($stockout_id)
{
$render = app::get('wms')->render();
$pickObj = app::get('purchase')->model('pick_bills');
//详情
$stockItemObj = app::get('purchase')->model('pick_stockout_bill_items');
$sql = "SELECT a.stockout_item_id, a.bn, a.barcode, a.product_name, a.bill_id, b.box_id, b.box_no, b.num FROM sdb_purchase_pick_stockout_bill_items AS a
LEFT JOIN sdb_purchase_pick_stockout_bill_item_boxs AS b ON a.stockout_item_id=b.stockout_item_id WHERE a.stockout_id=". $stockout_id;
$dataList = $stockItemObj->db->select($sql);
foreach ($dataList as $key => $val)
{
$bill_id = $val['bill_id'];
$pickInfo = $pickObj->dump(array('bill_id'=>$bill_id), 'pick_no, po_bn');
$val['pick_no'] = $pickInfo['pick_no'];
$val['po_bn'] = $pickInfo['po_bn'];
$dataList[$key] = $val;
}
$render->pagedata['dataList'] = $dataList;
return $render->fetch('admin/vop/stockout_pack.html');
}
var $detail_logs = '操作日志';
/**
* detail_logs
* @param mixed $stockout_id ID
* @return mixed 返回值
*/
public function detail_logs($stockout_id)
{
$render = app::get('wms')->render();
$logObj = app::get('ome')->model('operation_log');
$logs = $logObj->read_log(array('obj_id'=>$stockout_id, 'obj_type'=>'pick_stockout_bills@purchase'), 0, -1);
foreach($logs as $k=>$v)
{
$logs[$k]['operate_time'] = date('Y-m-d H:i:s', $v['operate_time']);
}
$render->pagedata['logs'] = $logs;
return $render->fetch('admin/vop/logs.html');
}
}