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文件夹,点 ...
随机推荐
- dell R730 安装windwos 2008 R2在windows loading files...完成后屏幕无信号(iDrac绿屏)
dell R730 安装windwos 2008 R2在windows loading files...完成后,Starting Windows时屏幕无信号(iDrac绿屏) 解决方法: F2 进行 ...
- Ubuntu14.04下Sublime Text 3解决无法输入中文
在Ubuntu 14.04中安装了SublimeText 3之后发现既然不支持输入中文,于是在网上搜罗一下,发现很多人遇到了同样的问题,但是解决办法大该就只有一个.下面根据自身的安装及解决办法总结如下 ...
- 黄聪:VS2010编辑C#未启动,打开设计视图时报"未将对象引用设置到对象的实例"
通常情况下,若是你将用户控件写好了放入窗体中,若是有不合理的代码,则会弹出错误提示框,不让你放.若是你之前只是随便加了一个用户控件,并且没有什么问题,但后来你又把控件改坏掉了,那么你打开就会报错(在窗 ...
- Envoy 源码分析--程序启动过程
目录 Envoy 源码分析--程序启动过程 初始化 main 入口 MainCommon 初始化 服务 InstanceImpl 初始化 启动 main 启动入口 服务启动流程 LDS 服务启动流程 ...
- sqlite性能优化
1.数据库性能上 1.1 批量事务插入,提升数据插入的性能 由于sqlite默认每次插入都是事务,需要对文件进行读写,那么减少事务次数就能简书磁盘读写次数从而获得性能提升. 1.2 单条sql优于多条 ...
- MapBuilder,操作集合工具类
public class MapBuilder { /** * Creates an instance of {@code HashMap} */ public static <K, V> ...
- python笔记--2018-2019
一:读取json文件的方法 import json json.loads(open('./users.dev.json', 'r').read()) #获取文件的类容,并且序列化把看似列表的字 ...
- mac电脑安装selenium 记录
1.使用终端去命令安装 sudo easy_install selenium 参考:https://www.cnblogs.com/nichoc/p/5543654.html 2.听说驱动放在 /us ...
- Ubuntu中将网卡名称eno16777736改回eth0
一.前言 今天在Vmware Workstation中安装了Ubuntu Server 15.10,然后发现网卡名称出现了问题,主网卡竟然不叫“eth0”,而是叫一个奇怪的名字“eno16777736 ...
- HyberLedger Fabric学习(4)-chaincode学习(操作人员)
参考:http://hyperledger-fabric.readthedocs.io/en/latest/chaincode4noah.html chaincode也能被称作“智能合约”,一般情况下 ...