zoukankan      html  css  js  c++  java
  • php 访问用友u8数据

    <?php
    namespace appapicontroller;
    use thinkController;
    use thinkDb;
    use thinkLog;
    
    /**
     * 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 	hink
    esponseJson
         * @throws 	hinkdbexceptionDataNotFoundException
         * @throws 	hinkdbexceptionModelNotFoundException
         * @throws 	hinkexceptionDbException
         */
        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 	hink
    esponseJson
         * @throws 	hinkdbexceptionDataNotFoundException
         * @throws 	hinkdbexceptionModelNotFoundException
         * @throws 	hinkexceptionDbException
         */
        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);
        }
    
    
    
    
    
    
    }
  • 相关阅读:
    清除右键图形属性--图形选项
    Hibernate整合Struts2时报错
    shell基础篇(十)shell脚本的包含
    shell基础篇(九)函数
    浅谈sql的字符分割
    shell基础(八)-循环语句
    shell基础(七)-条件语句
    vue ---- Object的一些常用的方法
    vuex的应用和解决的实际问题
    webpack2代码分割
  • 原文地址:https://www.cnblogs.com/houdj/p/8781068.html
Copyright © 2011-2022 走看看