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

318 lines
12 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 console_finder_stockdump{
function __construct($app)
{
$this->app = $app;
if($_GET['app']!='console'){
unset($this->column_operation);
}
}
var $detail_basic = "详情";
function detail_item($appr_id)
{
$basicMaterialObj = app::get('material')->model('basic_material');
$basicMaterialLib = kernel::single('material_basic_material');
$branchObj = app::get('ome')->model('branch');
$render = app::get('console')->render();
$appObj = app::get('console')->model('stockdump');
$itemObj = app::get('console')->model('stockdump_items');
$items = $itemObj->getList('*',array('stockdump_id'=>$appr_id),0,100);
if ($items)
foreach ($items as $key => $item)
{
//将商品的显示名称改为后台的显示名称
$bm_ids = $basicMaterialObj->dump(array('material_bn'=>$items[$key]['bn']), 'bm_id');
$product_name = $basicMaterialLib->getBasicMaterialExt($bm_ids['bm_id']);
$items[$key]['product_name'] = $product_name['material_name'];
$items[$key]['spec_info'] = $product_name['spec_info'];
$items[$key]['unit'] = $product_name['unit'];
}
//采购价选择判断展示
$showPurchasePrice = true;
if (!kernel::single('desktop_user')->has_permission('purchase_price')) {
$showPurchasePrice = false;
}
$render->pagedata['show_purchase_price'] = $showPurchasePrice;
$finder_id = $_GET['_finder']['finder_id'];
$render->pagedata['items'] = $items;
$render->pagedata['finder_id'] = $finder_id;
$render->pagedata['appr_id'] = $appr_id;
return $render->fetch('admin/stockdump/stockdump_detail_item.html');
}
var $column_operation = '操作';
var $column_operation_width = 90;
/**
* column_operation
* @param mixed $row row
* @return mixed 返回值
*/
public function column_operation($row){
$return = '';
$stockdump_id = $row['stockdump_id'];
$appObj = app::get('console')->model('stockdump');
$info = $appObj->dump(array('stockdump_id'=>$stockdump_id),'stockdump_bn,in_status,self_status,confirm_type');
if($info['in_status'] == 0 && $info['self_status'] == 1 && $info['confirm_type']!='2'){
$return = sprintf('<a href="index.php?app=console&ctl=admin_stockdump&act=cancel&p[0]=%s&p[1]=%s&p[2]=stockdump" target="dialog::{width:500,height:200,title:\'转储单\'}">取消</a>',$stockdump_id,$info['stockdump_bn']);
}elseif($info['self_status'] == 1 && $info['in_status'] == 1 && $info['confirm_type'] == 1){
//确认
$return = sprintf('<a href="javascript:if (confirm(\'入库数量有差异,是否按实际数量确认转储单?\')){W.page(\'index.php?app=console&ctl=admin_stockdump&act=do_save_confirm_type&stockdump_bn=%s&finder_id=%s\', $extend({method: \'get\'}, JSON.decode({})), this);}void(0);" target="">确认</a>',$info['stockdump_bn'],$_GET['_finder']['finder_id']);
$items = $appObj->db->select("SELECT * from sdb_console_stockdump_items where stockdump_id=".intval($stockdump_id)." and (`in_nums`!=`num` or `defective_num`!=0)");
if($items)$return.=" <a target='_blank' href='index.php?app=console&ctl=admin_stockdump&act=difference&p[0]={$stockdump_id}'>查看差异</a>";
}
elseif($info['self_status'] == 1 && $info['in_status'] == 1){
$items = $appObj->db->select("SELECT * from sdb_console_stockdump_items where stockdump_id=".intval($stockdump_id)." and (`in_nums`!=`num` or `defective_num`!=0)");
if($items)$return.=" <a target='_blank' href='index.php?app=console&ctl=admin_stockdump&act=difference&p[0]={$stockdump_id}'>查看差异</a>";
}
return $return;
}
var $column_confirm_type = '确认状态';
var $column_confirm_type_width = 80;
/**
* column_confirm_type
* @param mixed $row row
* @return mixed 返回值
*/
public function column_confirm_type($row){
$return = '';
$stockdump_id = $row['stockdump_id'];
$appObj = app::get('console')->model('stockdump');
$info = $appObj->dump(array('stockdump_id'=>$stockdump_id),'stockdump_bn,in_status,self_status,confirm_type');
if($info['confirm_type'] == 1 ){
$return = '未确认';
}elseif($info['confirm_type'] == 2){
$return = '已确认';
}else{
$return = '无需确认';
}
return $return;
}
var $column_confirm_name = '确认人';
var $column_confirm_name_width = 80;
/**
* column_confirm_name
* @param mixed $row row
* @return mixed 返回值
*/
public function column_confirm_name($row){
$return = '';
$stockdump_id = $row['stockdump_id'];
$appObj = app::get('console')->model('stockdump');
$info = $appObj->dump(array('stockdump_id'=>$stockdump_id),'confirm_name');
$return = $info['confirm_name'];
return $return;
}
var $column_confirm_time = '确认日期';
var $column_confirm_time_width = 140;
/**
* column_confirm_time
* @param mixed $row row
* @return mixed 返回值
*/
public function column_confirm_time($row){
$return = '';
$stockdump_id = $row['stockdump_id'];
$appObj = app::get('console')->model('stockdump');
$info = $appObj->dump(array('stockdump_id'=>$stockdump_id),'confirm_time');
if( empty($info['confirm_time']) ){
$return = '';
}else{
$return = date('Y-m-d H:i:s',$info['confirm_time']);
}
return $return;
}
var $column_op_time = ' 处理时长';
var $column_op_time_width = 80;
/**
* column_op_time
* @param mixed $row row
* @return mixed 返回值
*/
public function column_op_time($row){
$stockdump_id = $row['stockdump_id'];
$appObj = app::get('console')->model('stockdump');
$approData = $appObj->getList("in_status,self_status,create_time,response_time",array('stockdump_id'=>$stockdump_id));
$ome_func = kernel::single("ome_func");
//如果单据是全部入库 or 接单失败 or 取消 or 关闭 时间计算停止
if($approData[0]['in_status'] ==9 || $approData[0]['in_status'] ==10 || $approData[0]['in_status'] ==11 || $approData[0]['self_status'] ==0 || $approData[0]['self_status'] ==2){
if($approData[0]['response_time']){
$end_time = $approData[0]['response_time'];
$timeData = $ome_func->toTimeDiff($end_time,$approData[0]['create_time']);
return $timeData['d']."".$timeData['h']."小时".$timeData['m']."";
}
}else{
$end_time = time();
$timeData = $ome_func->toTimeDiff($end_time,$approData[0]['create_time']);
return $timeData['d']."".$timeData['h']."小时".$timeData['m']."";
}
}
var $column_time_remind = ' 超时提醒';
var $column_time_remind_width = 80;
/**
* column_time_remind
* @param mixed $row row
* @return mixed 返回值
*/
public function column_time_remind($row){
$stockdump_remind_setting_days = app::get("omestorage")->getConf("stockdump_remind_setting_days");
if($stockdump_remind_setting_days == 'nosetting')
return ;
elseif(empty($stockdump_remind_setting_days))
$stockdump_remind_setting_days = 3;
$stockdump_id = $row['stockdump_id'];
$appObj = app::get('console')->model('stockdump');
$approData = $appObj->getList("in_status,self_status,create_time,response_time",array('stockdump_id'=>$stockdump_id));
$ome_func = kernel::single("ome_func");
//如果单据不是已入库 or 接单失败 or 取消 or 关闭 判断是否超时
if($approData[0]['in_status'] !=9 && $approData[0]['in_status'] !=10 && $approData[0]['in_status'] !=11 && $approData[0]['self_status'] !=0 && $approData[0]['self_status'] !=2){
if(time()-$approData[0]['create_time']>$stockdump_remind_setting_days*24*3600) return '<img src="'.app::get("ome")->res_url.'/warn.png" class="x-barcode" width="20pt" height="20px" />';
}
}
var $column_sync_status = ' 同步状态';
var $column_sync_status_width = 80;
/**
* column_sync_status
* @param mixed $row row
* @return mixed 返回值
*/
public function column_sync_status($row){
$stockdump_id = $row['stockdump_id'];
$appObj = app::get('console')->model('stockdump');
$approData = $appObj->getList("sync_status",array('stockdump_id'=>$stockdump_id));
switch($approData[0]['sync_status']){
case "nosync":
return "-";
break;
case "running":
return '运行中';
break;
case "fail":
return '失败';
break;
case "success":
return "<font style='color:green'>成功</font>";
break;
}
}
var $column_type = '单据状态';
var $column_type_width = 80;
/**
* column_type
* @param mixed $row row
* @return mixed 返回值
*/
public function column_type($row){
$return = '';
$stockdump_id = $row['stockdump_id'];
$in_status = array (
0 => '未入库',
1 => '已入库',
2 => '失败',
);
$appObj = app::get('console')->model('stockdump');
$info = $appObj->dump(array('stockdump_id'=>$stockdump_id),'in_status,self_status');
if($info['self_status'] == 0){
$return = '已取消';
}elseif($info['self_status'] == 2){
$return = '已关闭';
}else{
$return = $in_status[$info['in_status']];
}
return $return;
}
var $column_to_branch_id = '调入仓库';
var $column_to_branch_id_width = 120;
/**
* column_to_branch_id
* @param mixed $row row
* @return mixed 返回值
*/
public function column_to_branch_id($row){
$return = '';
$stockdump_id = $row['stockdump_id'];
$appObj = app::get('console')->model('stockdump');
$branchObj = app::get('ome')->model('branch');
$appro_data = $appObj->dump(array('stockdump_id'=>$stockdump_id),'stockdump_bn,to_branch_id');
$branch_data = $branchObj->dump(array('branch_id'=>$appro_data['to_branch_id']),'name');
$return = $branch_data['name'];
return $return;
}
var $column_from_branch_name = '调出仓库';
var $column_from_branch_name_width = 120;
/**
* column_from_branch_name
* @param mixed $row row
* @return mixed 返回值
*/
public function column_from_branch_name($row){
$return = '';
$stockdump_id = $row['stockdump_id'];
$appObj = app::get('console')->model('stockdump');
$branchObj = app::get('ome')->model('branch');
$appro_data = $appObj->dump(array('stockdump_id'=>$stockdump_id),'stockdump_bn,from_branch_id');
$branch_data = $branchObj->dump(array('branch_id'=>$appro_data['from_branch_id']),'name');
$return = $branch_data['name'];
return $return;
}
var $column_memo = '备注';
var $column_memo_width = 200;
/**
* column_memo
* @param mixed $row row
* @return mixed 返回值
*/
public function column_memo($row){
$return = '';
$stockdump_id = $row['stockdump_id'];
$appObj = app::get('console')->model('stockdump');
$appro_data = $appObj->dump(array('stockdump_id'=>$stockdump_id),'memo');
$return = $appro_data['memo'];
return $return;
}
}
?>