php 访问用友u8数据
<?php
namespace app\api\controller;
use think\Controller;
use think\Db;
use think\Log; /**
* desc:仓库扫码入库API
*/
class Storage extends Base
{
protected static $erp;
public function __construct()
{
parent::__construct();
$dbhost =config('erp.dbhost');
$dbuser = config('erp.dbuser'); //你的mssql用户名
$dbpass = config('erp.dbpass'); //你的mssql密码
$dbname = config('erp.dbname'); //你的mssql库名
try{
self::$erp=odbc_connect("Driver={SQL Server};Server=$dbhost;Database=$dbname","$dbuser","$dbpass");
}catch (\Exception $e){
echo 'ERP数据库连接错误,请检查数据连接';
die();
}
} /*----------------------------入库扫码模块开始-------------------------------------*/
/**
* 列出5天内的入库单
* @return \think\response\Json
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public function scan_receipt_list(){
$timestart = input('param.start');
$timeend = input('param.end');
$day=config('erp.getnum');
$search_time_start = $timestart ? $timestart : date("Y-m-d",strtotime("-$day day"));//当天日期
$search_time_end = $timeend ? $timeend : date("Y-m-d");//当天最晚日期
//$map['insert_time'] = array('between', [strtotime($search_time_start), strtotime($search_time_end)]);
//按日期读取erp采购入库单列表
$sql="select cCode from dbo.RdRecord01 where dDate>='$search_time_start' and dDate<='$search_time_end'";
$exec=odbc_exec(self::$erp,$sql);
$list=[];
while ($row = odbc_fetch_array($exec)){
$list[]=$row['cCode'];
}
// $list = Db::name('Test')->where($map)->field('receipt')->group('receipt')->select();
if (count($list)) {
$data['code'] = 1;
$data['datas'] = $list;
$data['msg'] = '获取成功';
}else{
$data['code'] = 0;
$data['datas'] = "";
$data['msg'] = '最近'.$day.'日暂无入库单';
}
return json($data);
} /**
* 仓管扫描入库单,列出入库产品数量
* @return \think\response\Json
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public function scan_receipt_info(){
$receipt=input("param.receipt");
if ($receipt != '') {
//$list = Db::name('Test')->where('receipt', $receipt)->select();
//根据采购入库单号 获取入库单详细
$sql="select dDate,cCode as receipt,cinvname as p_name,iQuantity as p_num,cInvCode as p_code,cBatch as batch_number,dMadeDate as brithday,iMassDate as validity,dVDate as expiration from dbo.zpurrkdlist where cCode='$receipt'";
$exec=odbc_exec(self::$erp,$sql);
$list=[];
$i=0;
while ($row = odbc_fetch_array($exec)){
$list[$i]=$row;
$list[$i]['p_num']=(int)$row['p_num'];
$list[$i]['p_name']=iconv('gbk','utf-8',$row['p_name']);
$i++;
}
foreach ($list as $key=>$val){
$tracking_code=Db::name('Products')->where('p_code',$val['p_code'])->value('tracking_code');
$count=Db::name('GoodsStockInfo')->where(['delivery_number'=>$val['receipt'],'p_code'=>$val['p_code']])->count();
$needscan=intval($val['p_num'])-intval($count);
if($count>=$val['p_num']){
$list[$key]['flag']=1;
$list[$key]['brithday']=$val['brithday'];
$list[$key]['expiration']=$val['expiration'];
$list[$key]['tracking_code']=$tracking_code;
$list[$key]['needscan_num']=$needscan;
}else{
$list[$key]['flag']=0;
$list[$key]['brithday']=$val['brithday'];
$list[$key]['expiration']=$val['expiration'];
$list[$key]['tracking_code']=$tracking_code;
$list[$key]['needscan_num']=$needscan;
}
}
$data['code'] = 1;
$data['datas'] = $list;
$data['msg'] = '获取成功';
}else{
$data['code'] = 0;
$data['datas'] = "";
$data['msg'] = '入库单号不能为空';
}
// return json($data);
print_r($data);
} }
php 访问用友u8数据的更多相关文章
- 某企业用友U8+中勒索病毒后数据修复及重新实施过程记录
近期某客户中了勒索病毒,虽然前期多次提醒客户注意异地备份,但始终未执行,导致悲剧. 经过几天的努力,该客户信息系统已基本恢复正常运行,现将相关过程记录如下,作为警示. 方案抉择 交赎金解密:风险过高, ...
- 用友U8合同执行单保存报错,提示“语法错误或违反访问规则”
问题描述 用户参照合同录入第一阶段的执行单,保存时提示“语法错误或违反访问规则”,其他合同均正常,只有这张合同出现这个问题. 解决过程 语法错误或违反访问规则是SQL Server常见的报错,但其他合 ...
- 万物皆可集成系列:低代码释放用友U8+深度价值(2)—数据拓展应用
在上一篇内容我们介绍了如何利用低代码开发套件实现低代码应用与U8+系统的对接集成,本次给大家带来的是如何将用友U8+系统中的数据进行价值扩展和实际应用. 我们以生产物料齐套分析为例来说明如何利用低代码 ...
- 用友U8.70安装说明
用友U8.70安装说明 U8.70安装说明一.安装前注意事项:1. 在安装U870之前,我们推荐您确保当前计算机操作系统是“干净”的,即计算机在安装过操作系统和更新过必要的系统补丁后没有安 ...
- 用友U8客户端连接不上服务器全攻略
用友U8客户端连接不上服务器全攻略 http://www.enet.com.cn2009年09月23日09:26 来自论坛 [导读]:如果网络不通,就让用户查找网络原因 检查步骤: 1.网络是否通? ...
- 用友U8将存货核算期初单价金额回写到库存管理期初单价金额
在用友U8及相关产品中,库存管理期初要求必须录入数量,但单价和金额并不是必输的.从本人过去实施经验来看,为了保证ERP产品的快速上线,有不少企业只能先提供库存管理期初数量,而单价金额需要后续才能确定. ...
- 主管发话:一周搞不定用友U8 ERP跨业务数据分析,明天就可以“毕业”了
随着月末来临,又到了汇报总结的时刻. (图片来自网络) 到了这个特殊时期,你的老板就一定想要查看企业整体的运转情况.销售业绩.客户实况分析.客户活跃度.Top10 sales. 产品情况.订单处理情况 ...
- [Asp.net MVC]Asp.net MVC5系列——从控制器访问模型中的数据
目录 概述 从控制器访问模型中的数据 强类型模型与@model关键字 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net M ...
- ASP.NET MVC3快速入门——第五节、从控制器访问模型中的数据
5.1 从控制器访问模型中的数据在本节中,我们将创建一个新的MoviesController类,并且书写代码来获取数据库中的数据,并通过视图模板来显示在浏览器中.鼠标右击Controller文件夹,点 ...
随机推荐
- 使用Visual Studio Code打开浏览器查看HTML文件
FROM: http://www.cnblogs.com/undefined000/p/5466626.html 针对Version 1.8.0的更新 最近升级到1.8.0,发现上面的操作失效了,于 ...
- Web验证方式(4)--JWT
OAuth协议中说到的AccessToken可以是以下两种: 1.任意只起到标识作用的字符串:这种情况下Resource Server处理请求时需要去找Authorization Server获取用户 ...
- 安装memcached服务 和 php 安装memcache扩展
这是所有的命令,至于哪个命令是干嘛的自己悟去吧 ,顺便穿插一些知识点 安装libevent cd /home/ wget http://www.monkey.org/~provos/libeven ...
- 复制mysql数据库的步骤
Navicat 转存sql文件 然后命令 mysql -uroot -p123456 dbname < e:/backup/20141014.sql
- CSS: body{font-size: 62.5%;}设置原因
参考博客:http://www.cnblogs.com/daxiong/articles/2772276.html 在网页设计中我们经常看见body{font-size: 62.5%;}这样的设置,为 ...
- Bootstrap-Plugin:弹出框(Popover)插件
ylbtech-Bootstrap-Plugin:弹出框(Popover)插件 1.返回顶部 1. Bootstrap 弹出框(Popover)插件 弹出框(Popover)与工具提示(Tooltip ...
- django内置html模板的extends和include,模板标签{{ ex }}
base.html内容 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- leetcode103
class Solution { public: vector<vector<int>> zigzagLevelOrder(TreeNode* root) { vector&l ...
- javascript 特定字符分隔字符串函数
function fn(num,div,token){//num需要分割的数字,div多少位分割 token分割字符 num=num+'',div=div||3,token=token||',' re ...
- 用WINSOCK API实现同步非阻塞方式的网络通讯
Option Base 0Option Explicit '* ************************************************** *'* 模块名称:Winsock ...