跟单统计

123


/**
* 返回跟单信息
*
* @return array 返回跟单相关信息
* @author ZP 2013-12-17 11:55:16
* @modify YLP 2014-5-13 17:30:29 未采购和未到货不需要同时显示明细
*/
function get_order_trail_info(){
//获取已审核过并未占用库存的订单商品的供应商ID和联系人
$supplier_list = $GLOBALS[‘db‘]->getAll(‘select distinct supplier_id, supplier_linkman from ‘ . $GLOBALS[‘site‘]->table ( ‘order_goods‘ ) .‘ where supplier_id > 0 and (status in (11,19) or (status = 13 and inventory_id = 0))‘);
//有跟单权限的用户
  $gendan_admin_user = $GLOBALS[‘db‘]->getAll ( " select user_id,user_name,supplier_list from " . $GLOBALS[‘site‘]->table ( ‘admin_user‘ ) . " where supplier_list != ‘‘ " );

$total_un_purchase = 0;
$total_un_receive = 0;
$date_info = array();//按天记录未采购和未到货的信息
if(empty($_REQUEST [‘status‘])){
$status = 1;
}else{
$status = $_REQUEST [‘status‘];
}
$date_un_receive = array();//未到货
$date_un_purchase = array();//未采购
if($status == 1){
$query_un_purchase = $GLOBALS[‘db‘]->query ( " select count(b.id) as num, FROM_UNIXTIME( b.handle_time, ‘%Y-%m-%d‘ ) as handle_time from " . $GLOBALS[‘site‘]->table ( ‘order_goods‘ ) . " as b inner join " . $GLOBALS [‘site‘]->table ( ‘order‘ ) . " as a on a.order_id = b.order_id and a.status =1 and a.is_delete = 0 where b.status in (11, 19) group by FROM_UNIXTIME( b.handle_time, ‘%Y-%m-%d‘ ) " );
while($row = $GLOBALS[‘db‘]->fetchRow($query_un_purchase)){
$date_un_purchase[$row[‘handle_time‘]] = $row[‘num‘];
}

$query_date_order = $GLOBALS[‘db‘]->getCol ( " select FROM_UNIXTIME( b.handle_time, ‘%Y-%m-%d‘ ) as handle_time from " . $GLOBALS[‘site‘]->table ( ‘order_goods‘ ) . " as b inner join " . $GLOBALS [‘site‘]->table ( ‘order‘ ) . " as a on a.order_id = b.order_id and a.status =1 and a.is_delete = 0 where b.status in (11, 19) group by FROM_UNIXTIME( b.handle_time, ‘%Y-%m-%d‘ ) order by b.handle_time desc" );

foreach($query_date_order as $k=>$v){
$date_info[] = array(
‘handle_time‘ => $v,
‘un_purchase‘ => intval($date_un_purchase[$v]),
);
$total_un_purchase += intval($date_un_purchase[$v]);
}
$beihuo_un_purchase = $GLOBALS [‘db‘]->getOne ("SELECT sum(quantity) as total FROM " . $GLOBALS [‘site‘]->table ( ‘beihuo‘ ) . " where quantity !=0");
}elseif($status == 2){
$query_un_receive = $GLOBALS[‘db‘]->query ( " select count(b.inventory_id) as num, DATE_FORMAT( b.add_time, ‘%Y-%m-%d‘ ) as handle_time from " . $GLOBALS[‘site‘]->table ( ‘inventory‘ ) . " as b where b.inventory_status = 0 and b.inventory_type in (0, 1) and b.is_delete = 0 group by DATE_FORMAT( b.add_time, ‘%Y-%m-%d‘ ) " );
while($row = $GLOBALS[‘db‘]->fetchRow($query_un_receive) ){
$date_un_receive[$row[‘handle_time‘]] = $row[‘num‘];
}

$query_date_inventory = $GLOBALS[‘db‘]->getCol ( " select DATE_FORMAT( b.add_time, ‘%Y-%m-%d‘ ) as handle_time from " . $GLOBALS[‘site‘]->table ( ‘inventory‘ ) . " as b where b.inventory_status = 0 and b.inventory_type in (0, 1) and b.is_delete = 0 group by DATE_FORMAT( b.add_time, ‘%Y-%m-%d‘ ) order by DATE_FORMAT( b.add_time, ‘%Y-%m-%d‘ ) desc " );
foreach($query_date_inventory as $k=>$v){
$date_info[] = array(
‘handle_time‘ => $v,
‘un_receive‘ => intval($date_un_receive[$v])
);
$total_un_receive += intval($date_un_receive[$v]);
}
}

if(intval ( $_REQUEST [‘status‘] == 2)){
$order_goods_info = gendan_inventory_list();
}elseif(intval ( $_REQUEST [‘status‘] == 1)){
$order_goods_info = order_goods_batch_buy_list();
}
return array(‘date_info‘ => $date_info, ‘status‘=>$status, ‘supplier_list‘ => $supplier_list, ‘gendan_admin_user‘ => $gendan_admin_user, ‘total_un_purchase‘ => $total_un_purchase, ‘total_un_receive‘ => $total_un_receive,‘beihuo_un_purchase‘ => $beihuo_un_purchase, ‘order_goods_info‘ => $order_goods_info);
}

跟单统计

时间: 2024-08-14 10:39:00

跟单统计的相关文章

易网通物流平台报表功能模块是怎样的?

目前,很多物流平台都能够直观的展示物流公司各个物流环节的处理结果和进度,对于异常情况能够及时呈现预警结果.但是,现有物流系统各物流环节之间状态参数并不能实时.方便传递.如第三方货代庄家.物流公司之间,各自建立自己的数据库,没有进行很好的集成,同时物流行业舱位价格等实时变化过快,无法提供移动终端的方式以方便物流角色进行业务操作,及保证客户所查看数据实时更新. 此外,货主.物流公司.第三方货代.船东等角色之间仍然停留在依靠传统纷繁的电话.邮件联系和查询,人力交流成本随着接单数量增加而成倍增加. 在物

python 发送html格式邮件到qq

# -*- coding: utf-8 -*- __author__ = 'Alon' __date__ = '2017/8/14 18:38' import sys reload(sys) sys.setdefaultencoding('utf8') import smtplib import time from datetime import datetime from email.mime.text import MIMEText from email.mime.multipart imp

【Oracle】Oracle中的常用操作

一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup SVRMGR>quit b.关闭ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>shutdown SVRMGR>quit 启动

Oracle 学习用

最近在学习Oracle数据库 ,公司用这个,学习到现在,唉!苦逼的程序员呀! 也只能在这里发发牢骚了,这个是转载的 ,发完睡觉! oracle sql语句 一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup SVRMGR>quit b.关闭ORACLE系统 ora

哈希表的应用

哈希表又叫做散列表,是一种高效的数据结构,其高效主要体现在把数据的存储和查找时间大大降低,几乎可以看成是常数时间,而代价是消耗比较多的内存,然而在硬件技术越来越发达的今天,用空间换时间的做法在某种意义上是值得的.另外,编码比较容易也是它的特点之一. 什么时候适合应用哈希表呢?综合国内外实际应用情况,可以概括为:高效的数据存储和查找均可以用哈希表. 下面就目前有关哈希表流行的应用做一些初步的探讨. 1.对等网络(P2P)中的应用 a) 基于分布式哈希表的系统 对于对等计算系统而言,能够适应的网络规

Oracle数据库常用Sql语句大全

一,数据控制语句 (DML) 部分 1.INSERT  (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, --) VALUES ( 值1, 值2, --); INSERT INTO 表名(字段名1, 字段名2, --)  SELECT (字段名1, 字段名2, --) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: 'GOOD DAY' 如果字段值里包含单引号' 需要进行字符串转换, 我们把它替换成两个单引号''. 字符串类型的字段值超过

oracle常用SQL语句(汇总版)

Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象 一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……); INSERT INTO 表名(字段名1, 字段名2, ……) SELECT (字段名1, 字段名2, ……) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: ’GOOD DAY’ 如果字段值里包含单引号’ 需要

Yii实现分页的两种方法

一. DAO实现分页. [Controller层] public function actionReport()     {         $sql = "select remitdate, sum(rate) sumrate from td_delivery              group by remitdate              order by remitdate desc";         $criteria=new CDbCriteria();      

十款好用的进销存软件永久免费版推荐

进销存是一款很实用的仓库管理软件,有着采购.采购退货.采购付款.销售.销售退货.销售付款.退货情况.盘库.仓库调拨.借入.借出.借入还出.借出还入等强大的功能,如果你也是一位生意者绝对少不了这些进销存管理系统的.心愿下载整理了本站下载最高的进销存软件永久免费版推荐给大家,需要的朋友的选择一款吧. 十款好用的进销存软件永久免费版推荐 第1款: 管家通v9.8 普及版 管家通进销存普及版是一款专业的销售管理软件,其中包含商品销售管理系统 ,库存管理系统(仓库管理系统),财务和报表系统等子模块.软件界