瀏覽代碼

传递u9香港仓相关的东西

lvhao 5 月之前
父節點
當前提交
f0e03e0589

+ 36 - 2
core/CoreApp/controllers/Queueu9.php

@@ -10,6 +10,7 @@ class Queueu9 extends Start_Controller {
 		$this->load->_model("Model_zzquque_u9",'zzquque_u9');
         $this->load->_model("Model_aaconf","aaconf");
         $this->load->_model("Model_logic_u9xg",'logic_u9xg');
+        $this->load->_model("Model_logic_order","logic_order");
 	}
     
     //定义方法的调用规则 获取URI第二段值
@@ -37,10 +38,43 @@ class Queueu9 extends Start_Controller {
         }
     }
     public function _index(){
-        $this->logic_u9xg->xdlsBeforeCreate([]);
-       
+        //执行第一步的参数
+        // $list = $this->zzquque_u9->find_all();
+        // $do_list = [];
+        // foreach($list as $k=>$v){
+        //     $tmp_info = $this->logic_order->getInfoByType($v['platform'],$v['order_no']);
+        //     $tmp_info['zq_u9_id'] = $v['id'];
+        //     $do_list[] = $tmp_info;
+        // }
+        // $this->logic_u9xg->xdlsOneStep($do_list);
+    
+        //执行第二步的参数
+        // $list = $this->zzquque_u9->find_all("dc_status = 1 and xs_status = 1 and cg_status = 1 and type = 10 and update_time <=".(time() - 300));
+      
+        // $this->logic_u9xg->xdlsTwoStep($list);
+        //执行第三部参数
+        // $list = $this->zzquque_u9->find_all();
+        // $this->logic_u9xg->xdlsThreeStep($list);
+        //执行第四部的参数  生成销售单
+        // $list = $this->zzquque_u9->find_all();
+
+        // $do_list = [];
+        // foreach($list as $k=>$v){
+        //     $tmp_info = $this->logic_order->getInfoByType($v['platform'],$v['order_no']);
+        //     $tmp_info['zq_u9_id'] = $v['id'];
+        //     $do_list[] = $tmp_info;
+        // }
+        // $this->logic_u9xg->xdlsFourStep($do_list);
+
+        //执行第五步骤 审核销售单 并同时生成标准出货单
+        // $list = $this->zzquque_u9->find_all();
+        // $this->logic_u9xg->xdlsFivestep($list);
+        $list = $this->zzquque_u9->find_all("bzch_status = 1");
+
+        $this->logic_u9xg->xdlsSixStep($list);
         exit('No direct script access allowed index'."<br/>");
     }
+
      //执行小单的流转到临时仓的队列  计划10分钟一次
     public function xdls(){
         $mh = curl_multi_init();

+ 216 - 0
core/CoreApp/controllers/Zzququeu9.php

@@ -0,0 +1,216 @@
+<?php 
+defined('BASEPATH') OR exit('No direct script access allowed');
+class Zzququeu9 extends Start_Controller {
+    public function __construct(){
+        parent::__construct();
+        $this->load->library('session');
+        $this->load->_model('Model_zzquque_u9','zzquque_u9');
+    }
+    public function _remap($arg,$arg_array)
+    {
+		if($arg == 'dc')//调出单
+        {
+             $this->_dc($arg_array);
+        }
+        elseif($arg == 'cg')//采购
+        {
+             $this->_cg($arg_array);
+        }
+        elseif($arg == 'xs')//销售单
+        {
+             $this->_xs($arg_array);
+        }
+        elseif($arg == 'bzch')//标准出货
+        {
+             $this->_bzch($arg_array);
+        }
+        elseif($arg == 'bzsh')//标准收货
+        {
+             $this->_bzsh($arg_array);
+        }
+        elseif($arg == 'dr')//调入单
+        {
+             $this->_dr($arg_array);
+        }
+        elseif($arg == 'xs_two')//调入单
+        {
+             $this->_xs_two($arg_array);
+        }
+		else
+		{
+			 $this->_index();
+		}
+	}
+    public function _index(){
+
+        $post = $this->input->post(NULL, TRUE);
+
+		if(isset($post['page']))
+		{
+			$where='1=1';
+			$page = $this->input->post('page',true);
+			$perpage = $this->input->post('perpage',true);
+			
+			$timetk = $this->input->post('timetk',true);//订单开始时间
+			$timetj = $this->input->post('timetj',true);//订单结束时间
+			$timetk = strtotime($timetk);
+			$timetj = strtotime($timetj);
+
+			
+			
+			if(empty($page))
+               {
+                    $start = 0;
+                    $perpage = 1;
+               }
+               else
+               {
+                    $start = ($page - 1)*$perpage;
+               }
+			
+               $info_list = $this->zzquque_u9->find_all($where,'*','id desc',$start,$perpage);
+               $type_list = $this->zzquque_u9->getType();
+               $list = [];
+               foreach($info_list as $k=>$v){
+                    $dc_no = empty($v['dc_no'])?"":$v['dc_no'];
+                    if($v['dc_status'] == 0){
+                         $dc_no .= "<br>"."<span  data-action='dc' data-process='1' data-id='".$v['id']."' onclick='doAction(this)'>创建调出单</span>";
+                    }elseif($v['dc_status'] == 1){
+                         $dc_no .= "<br>"."<span data-action='dc' data-process='2' data-id='".$v['id']."' onclick='doAction(this)'>提交调出单</span>";
+                    }elseif($v['dc_status'] == -1){
+                         $dc_no .= "<br>"."<span data-action='dc' data-process='1' data-id='".$v['id']."' onclick='doAction(this)'>创建调出单</span>";
+                    }elseif($v['dc_status'] == 2){
+                         $dc_no .= "<br>"."<span data-action='dc' data-process='3' data-id='".$v['id']."' onclick='doAction(this)'>审核调出单</span>";
+                    }elseif($v['dc_status'] == -2){
+                         $dc_no .= "<br>"."<span data-action='dc' data-process='2' data-id='".$v['id']."' onclick='doAction(this)'>提交调出单</span>";
+                    }elseif($v['dc_status'] == -3){
+                         $dc_no .= "<br>"."<span data-action='dc' data-process='3' data-id='".$v['id']."' onclick='doAction(this)'>审核调出单</span>";
+                    }
+                    $cg_no = empty($v['cg_no'])?"":$v['cg_no'];
+                    if($v['cg_status'] == 0){
+                         $cg_no .= "<br>"."<span  data-action='cg' data-process='1' data-id='".$v['id']."' onclick='doAction(this)'>创建采购单</span>";
+                    }elseif($v['cg_status'] == 1){
+                         $cg_no .= "<br>"."<span data-action='cg' data-process='2' data-id='".$v['id']."' onclick='doAction(this)'>提交采购单</span>";
+                    }elseif($v['cg_status'] == -1){
+                         $cg_no .= "<br>"."<span data-action='cg' data-process='1' data-id='".$v['id']."' onclick='doAction(this)'>创建采购单</span>";
+                    }elseif($v['cg_status'] == 2){
+                         $cg_no .= "<br>"."<span data-action='cg' data-process='3' data-id='".$v['id']."' onclick='doAction(this)'>审核采购单</span>";
+                    }elseif($v['cg_status'] == -2){
+                         $cg_no .= "<br>"."<span data-action='cg' data-process='2' data-id='".$v['id']."' onclick='doAction(this)'>提交采购单</span>";
+                    }elseif($v['cg_status'] == -3){
+                         $cg_no .= "<br>"."<span data-action='cg' data-process='3' data-id='".$v['id']."' onclick='doAction(this)'>审核采购单</span>";
+                    }
+
+                    $xs_no = empty($v['xs_no'])?"":$v['xs_no'];
+                    if($v['xs_status'] == 0){
+                         $xs_no .= "<br>"."<span  data-action='xs' data-process='1' data-id='".$v['id']."' onclick='doAction(this)'>创建销售单</span>";
+                    }elseif($v['xs_status'] == 1){
+                         $xs_no .= "<br>"."<span data-action='xs' data-process='2' data-id='".$v['id']."' onclick='doAction(this)'>提交销售单</span>";
+                    }elseif($v['xs_status'] == -1){
+                         $xs_no .= "<br>"."<span data-action='xs' data-process='1' data-id='".$v['id']."' onclick='doAction(this)'>创建销售单</span>";
+                    }elseif($v['xs_status'] == 2){
+                         $xs_no .= "<br>"."<span data-action='xs' data-process='3' data-id='".$v['id']."' onclick='doAction(this)'>审核销售单</span>";
+                    }elseif($v['xs_status'] == -2){
+                         $xs_no .= "<br>"."<span data-action='xs' data-process='2' data-id='".$v['id']."' onclick='doAction(this)'>提交销售单</span>";
+                    }elseif($v['xs_status'] == -3){
+                         $xs_no .= "<br>"."<span data-action='xs' data-process='3' data-id='".$v['id']."' onclick='doAction(this)'>审核销售单</span>";
+                    }
+                    $xs_two_no = empty($v['xs_two_no'])?"":$v['xs_two_no'];
+                    if($v['xs_two_status'] == 0){
+                         $xs_two_no .= "<br>"."<span  data-action='xs_two' data-process='1' data-id='".$v['id']."' onclick='doAction(this)'>创建销售单</span>";
+                    }elseif($v['xs_two_status'] == 1){
+                         $xs_two_no .= "<br>"."<span data-action='xs_two' data-process='2' data-id='".$v['id']."' onclick='doAction(this)'>提交销售单</span>";
+                    }elseif($v['xs_two_status'] == -1){
+                         $xs_two_no .= "<br>"."<span data-action='xs_two' data-process='1' data-id='".$v['id']."' onclick='doAction(this)'>创建销售单</span>";
+                    }elseif($v['xs_two_status'] == 2){
+                         $xs_two_no .= "<br>"."<span data-action='xs_two' data-process='3' data-id='".$v['id']."' onclick='doAction(this)'>审核销售单</span>";
+                    }elseif($v['xs_two_status'] == -2){
+                         $xs_two_no .= "<br>"."<span data-action='xs_two' data-process='2' data-id='".$v['id']."' onclick='doAction(this)'>提交销售单</span>";
+                    }elseif($v['xs_two_status'] == -3){
+                         $xs_two_no  .= "<br>"."<span data-action='xs_two' data-process='3' data-id='".$v['id']."' onclick='doAction(this)'>审核销售单</span>";
+                    }
+                    $bzch_no =empty($v['bzch_no'])?"":$v['bzch_no'];
+                    if($v['bzch_status'] == 0){
+                         $bzch_no  .= "<br>"."<span  data-action='bzch' data-process='1' data-id='".$v['id']."' onclick='doAction(this)'>创建标准出货单</span>";
+                    }elseif($v['bzch_status'] == 1){
+                         $bzch_no .= "<br>"."<span data-action='bzch' data-process='2' data-id='".$v['id']."' onclick='doAction(this)'>提交标准出货单</span>";
+                    }elseif($v['bzch_status'] == -1){
+                         $bzch_no .= "<br>"."<span data-action='bzch' data-process='1' data-id='".$v['id']."' onclick='doAction(this)'>创建标准出货单</span>";
+                    }elseif($v['bzch_status'] == 2){
+                         $bzch_no .= "<br>"."<span data-action='bzch' data-process='3' data-id='".$v['id']."' onclick='doAction(this)'>审核标准出货单</span>";
+                    }elseif($v['bzch_status'] == -2){
+                         $bzch_no .= "<br>"."<span data-action='bzch' data-process='2' data-id='".$v['id']."' onclick='doAction(this)'>提交标准出货单</span>";
+                    }elseif($v['bzch_status'] == -3){
+                         $xs_no .= "<br>"."<span data-action='bzch' data-process='3' data-id='".$v['id']."' onclick='doAction(this)'>审核标准出货单</span>";
+                    }
+                    $bzsh_no =empty($v['bzsh_no'])?"":$v['bzsh_no'];
+
+
+                    $dr_no = empty($v['dr_no'])?"":$v['dr_no'];
+                    if($v['bzch_status'] == 0){
+                         $xs_two_no .= "<br>"."<span  data-action='bzch' data-process='1' data-id='".$v['id']."' onclick='doAction(this)'>创建标准出货单</span>";
+                    }elseif($v['bzch_status'] == 1){
+                         $bzch_no .= "<br>"."<span data-action='bzch' data-process='2' data-id='".$v['id']."' onclick='doAction(this)'>提交标准出货单</span>";
+                    }elseif($v['bzch_status'] == -1){
+                         $bzch_no .= "<br>"."<span data-action='bzch' data-process='1' data-id='".$v['id']."' onclick='doAction(this)'>创建标准出货单</span>";
+                    }elseif($v['bzch_status'] == 2){
+                         $bzch_no .= "<br>"."<span data-action='bzch' data-process='3' data-id='".$v['id']."' onclick='doAction(this)'>审核标准出货单</span>";
+                    }elseif($v['bzch_status'] == -2){
+                         $bzch_no .= "<br>"."<span data-action='bzch' data-process='2' data-id='".$v['id']."' onclick='doAction(this)'>提交标准出货单</span>";
+                    }elseif($v['bzch_status'] == -3){
+                         $xs_no .= "<br>"."<span data-action='bzch' data-process='3' data-id='".$v['id']."' onclick='doAction(this)'>审核标准出货单</span>";
+                    }
+
+                    $list[] = [
+                         'id'=>$v['id'],
+                         'order_no'=>$v['order_no'],
+                         'type'=>isset($type_list[$v['type']])?$type_list[$v['type']]:"异常",
+                         'dc_no'=> $dc_no,
+                         'cg_no'=>$cg_no,
+                         'xs_no'=>$xs_no,
+                         'xs_two_no'=>$xs_two_no,
+                         'bzch_no'=>$bzch_no,
+                         'bzsh_no'=>$bzsh_no,
+                         'dr_no'=>$dr_no,
+                         'create_time'=>date("Y-m-d H:i:s",$v['create_time']),
+                         'update_time'=>date("Y-m-d H:i:s",$v['update_time'])
+                    ];
+               }
+
+             
+			
+			$total = $this->zzquque_u9->find_count($where);
+			$pagenum = ceil($total/$perpage);
+			$over = $total-($start+$perpage);
+			$rows = array('total'=>$total,'over'=>$over,'pagenum'=>$pagenum,'rows'=>($list));
+			echo json_encode($rows);exit;
+
+			
+		}
+
+		$this->_Template('zzququeu9',$this->data);
+    }
+    public function _dc($arg_array){
+
+    }
+    public function _cg($arg_array){
+
+    }
+    public function _xs($arg_array){
+
+    }
+    public function _bzch($arg_array){
+
+    }
+    public function _bzsh($arg_array){
+
+    }
+
+    public function _dr($arg_array){
+
+    }
+
+    public function _xs_two($arg_array){
+
+    }
+}

+ 284 - 57
core/CoreApp/models/Model_apiyyv1.php

@@ -5,7 +5,7 @@
 class Model_apiyyv1 extends Lin_Model 
 {
 
-	public $base_url = "http://172.31.105.167";
+	public $base_url = "http://139.129.33.38";
 	function __construct(){
 		parent::__construct();
 		$this->load->database();
@@ -17,12 +17,11 @@ class Model_apiyyv1 extends Lin_Model
 	 */
 	public function dcdCrate($params,$token){
 		$list = $this->dcDataTrans($params);
-		$list = json_encode($list);
 		$url = '/U9C/webapi/TransferOut/Create';
 		$url = $this->base_url.$url;
 		$header[] = "Content-Type: application/json";
         $header[] = "Token: ".$token;
-		$res = $this->sendReq($url,$header,$list);
+		$res = $this->sendReq($url,$header,json_encode($list));
 		return array($res,$list);
 	}
 	/**
@@ -38,7 +37,7 @@ class Model_apiyyv1 extends Lin_Model
 		$url = $this->base_url.$url;
 		$header[] = "Content-Type: application/json";
         $header[] = "Token: ".$token;
-		$res = $this->sendReq($url,$header,$list);
+		$res = $this->sendReq($url,$header,json_encode($list));
 		return array($res,$list);
 	}
 	/**
@@ -54,7 +53,7 @@ class Model_apiyyv1 extends Lin_Model
 		$url = $this->base_url.$url;
 		$header[] = "Content-Type: application/json";
         $header[] = "Token: ".$token;
-		$res = $this->sendReq($url,$header,$list);
+		$res = $this->sendReq($url,$header,json_encode($list));
 		return array($res,$list);
 	}
 	/**
@@ -63,12 +62,11 @@ class Model_apiyyv1 extends Lin_Model
 	 */
 	public function xsdCreate($params,$token){
 		$list = $this->xsdDataTrans($params);
-		$list = json_encode($list);
 		$url = '/U9C/webapi/SO/Create';
 		$url = $this->base_url.$url;
 		$header[] = "Content-Type: application/json";
         $header[] = "Token: ".$token;
-		$res = $this->sendReq($url,$header,$list);
+		$res = $this->sendReq($url,$header,json_encode($list));
 		return array($res,$list);
 	}
 	/**
@@ -84,7 +82,7 @@ class Model_apiyyv1 extends Lin_Model
 		$url = $this->base_url.$url;
 		$header[] = "Content-Type: application/json";
         $header[] = "Token: ".$token;
-		$res = $this->sendReq($url,$header,$list);
+		$res = $this->sendReq($url,$header,json_encode($list));
 		return array($res,$list);
 	}
 	 /**
@@ -100,7 +98,71 @@ class Model_apiyyv1 extends Lin_Model
 		$url = $this->base_url.$url;
 		$header[] = "Content-Type: application/json";
         $header[] = "Token: ".$token;
-		$res = $this->sendReq($url,$header,$list);
+		$res = $this->sendReq($url,$header,json_encode($list));
+		return array($res,$list);
+	}
+	/**
+	 * 根据调出单的单号做关联查询 然后匹配存储调入单的审核
+	 */
+	public function drdcxBydcd($dcd_no,$token){
+		$list["SqlString"] = "select DescFlexField_PubDescSeg4 ,DocNo from InvDoc_TransferIn  where  DescFlexField_PubDescSeg4  =  '".$dcd_no."'";
+		$url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
+		$url = $this->base_url.$url;
+		$header[] = "Content-Type: application/json";
+        $header[] = "Token: ".$token;
+		$res = $this->sendReq($url,$header,json_encode($list));
+		return array($res,$list);
+	}
+
+	public function xscsByordernos($xs_no_list,$token){
+		$str = '';
+		foreach($xs_no_list as $k=>$v){
+			if($k==0){
+				$str .="'".$v."'";
+			}else{
+				$str .=",'".$v."'";
+			}
+			
+		}
+		$list['SqlString'] = "select * from SM_SO where DocNo in  (".$str.")   order by CreatedOn desc ";
+		$url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
+		$url = $this->base_url.$url;
+		$header[] = "Content-Type: application/json";
+        $header[] = "Token: ".$token;
+		$res = $this->sendReq($url,$header,json_encode($list));
+		return array($res,$list);
+
+	}
+	/**
+	 * 调入单提交
+	 */
+	public function drdSubmit($params,$token){
+		$list  = [
+			[
+				'Code'=>$params['number'] //单号
+			]
+		];
+		$url = '/U9C/webapi/TransferIn/Submit';
+		$url = $this->base_url.$url;
+		$header[] = "Content-Type: application/json";
+        $header[] = "Token: ".$token;
+		$res = $this->sendReq($url,$header,json_encode($list));
+		return array($res,$list);
+	}
+	/**
+	 * 调入单审核
+	 */
+	public function drdApprove($params,$token){
+		$list  = [
+			[
+				'Code'=>$params['number'] //单号
+			]
+		];
+		$url = '/U9C/webapi/TransferIn/Approve';
+		$url = $this->base_url.$url;
+		$header[] = "Content-Type: application/json";
+        $header[] = "Token: ".$token;
+		$res = $this->sendReq($url,$header,json_encode($list));
 		return array($res,$list);
 	}
 	/**
@@ -110,12 +172,11 @@ class Model_apiyyv1 extends Lin_Model
 	 */
 	public function cgdCreate($params,$token){
 		$list = $this->cgdDataTrans($params);
-		$list = json_encode($list);
 		$url = '/U9C/webapi/PurchaseOrder/Create';
 		$url = $this->base_url.$url;
 		$header[] = "Content-Type: application/json";
         $header[] = "Token: ".$token;
-		$res = $this->sendReq($url,$header,$list);
+		$res = $this->sendReq($url,$header,json_encode($list));
 		return array($res,$list);
 	}
 	/**
@@ -131,7 +192,7 @@ class Model_apiyyv1 extends Lin_Model
 		$url = $this->base_url.$url;
 		$header[] = "Content-Type: application/json";
         $header[] = "Token: ".$token;
-		$res = $this->sendReq($url,$header,$list);
+		$res = $this->sendReq($url,$header,json_encode($list));
 		return array($res,$list);
 	}
 	 /**
@@ -143,11 +204,11 @@ class Model_apiyyv1 extends Lin_Model
 				'Code'=>$params['number'] //单号
 			]
 		];
-		$url = '/U9C/PurchaseOrder/Approve';
+		$url = '/U9C/webapi/PurchaseOrder/Approve';
 		$url = $this->base_url.$url;
 		$header[] = "Content-Type: application/json";
         $header[] = "Token: ".$token;
-		$res = $this->sendReq($url,$header,$list);
+		$res = $this->sendReq($url,$header,json_encode($list));
 		return array($res,$list);
 	}
 	/**
@@ -157,15 +218,15 @@ class Model_apiyyv1 extends Lin_Model
 	 */
 	public function bzchCreate($params,$token){
 		$list = $this->yybzchDataTrans($params);
-		$list = json_encode($list);
 		$url = '/U9C/webapi/Ship/CreateBySrcDoc';
 		$url = $this->base_url.$url;
 		$header[] = "Content-Type: application/json";
         $header[] = "Token: ".$token;
-		$res = $this->sendReq($url,$header,$list);
+		$res = $this->sendReq($url,$header,json_encode($list));
 		return array($res,$list);
 
 	}
+	
 
 	/**
 	 * 标准出货单提交并审核
@@ -180,7 +241,7 @@ class Model_apiyyv1 extends Lin_Model
 		$url = $this->base_url.$url;
 		$header[] = "Content-Type: application/json";
         $header[] = "Token: ".$token;
-		$res = $this->sendReq($url,$header,$list);
+		$res = $this->sendReq($url,$header,json_encode($list));
 		return array($res,$list);
 	}
 	/**
@@ -191,6 +252,78 @@ class Model_apiyyv1 extends Lin_Model
 	public function bzshCreate($params,$token){
 
 	}
+	//根据erp的单号查询调出单是够存在
+	public function xcDcdByOtherId($dcd_no,$token){
+		$list["SqlString"] = "select DescFlexField_PubDescSeg4,DocNo from InvDoc_TransferOut  where  DescFlexField_PubDescSeg4 =  '".$dcd_no."'";
+		$url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
+		$url = $this->base_url.$url;
+		$header[] = "Content-Type: application/json";
+        $header[] = "Token: ".$token;
+		$res = $this->sendReq($url,$header,json_encode($list));
+		return array($res,$list);
+
+	}
+	
+	/**
+	 * 查询料品
+	 */
+	public function cxLp($params,$token){
+		$list  = [];
+		foreach($params as $k=>$v){
+			$list[] =[
+				"ItemMaster"=>[
+					"Code"=>$v['jm']
+				]
+			];
+		}
+		$url = '/U9C/webapi/ItemMaster/Query';
+		$url = $this->base_url.$url;
+		$header[] = "Content-Type: application/json";
+        $header[] = "Token: ".$token;
+		$res = $this->sendReq($url,$header,json_encode($list));
+		return array($res,$list);
+	}
+
+	/**
+	 * 创建料品
+	 */
+	public function cjLp($params,$token){
+		$list  = $this->cjlpDataTrans($params);
+		$url = '/U9C/webapi/ItemMaster/Create';
+		$url = $this->base_url.$url;
+		$header[] = "Content-Type: application/json";
+        $header[] = "Token: ".$token;
+		$res = $this->sendReq($url,$header,json_encode($list));
+		return array($res,$list);
+	}
+
+	/**
+	 * 同步通知
+	 */
+	public function tbLp($params,$token){
+		$list  = [];
+		foreach($params['list'] as $k=>$v){
+			$list[] = [
+				"EntityFullName"=>'UFIDA.U9.CBO.SCM.Item.ItemMaster',//实体全名
+				"EntityCode"=>$v['jm'],
+				"FromOrgCode"=>$params['owner_code'],//创建组织编码
+				"ToOrgCodeList"=>$params['tb_org_arr'],//要同步的组织
+				"OtherID"=>'',
+				"ContextDTO"=>[
+					"EntCode"=>$params['ztcode'],//企业编码
+					"OrgCode"=>$params['owner_code'],//组织编码
+					"UserCode"=>'xk',//用户编码
+					"UserPwd"=>'',//用户密码
+				]
+			];
+		}
+		$url = '/U9C/webapi/ControlObjSend/ControlObjSend';
+		$url = $this->base_url.$url;
+		$header[] = "Content-Type: application/json";
+        $header[] = "Token: ".$token;
+		$res = $this->sendReq($url,$header,json_encode($list));
+		return array($res,$list);
+	}
 
 
 
@@ -217,23 +350,18 @@ class Model_apiyyv1 extends Lin_Model
 				"ItemInfo" =>[
 					"ItemCode"=>$v['jm'],//用友的简码
 				],
-				"TransOutWh_Code"=>$v['dcckbm'],//调出仓库编码
+				"TransOutWh_Code"=>$params['dcckbm'],//调出仓库编码
 				"StoreUOM_Code"=>"条",//调出库存单位Code  如条
 				"StoreUOMQty"=>$v['dcsl'],//调出数量
 				"StorageType"=>4,//存储类型:待检;1:在检;2:不合格;3:报废;4:可用;5:冻结;6:退回;7:待返工
 				"LotInfo_Code"=>"",//批号Code   不知道有啥用 暂时留空吧
 				"TransOutOwnerOrg_Code"=>$params['owner_code'],//货主组织Code
-				"DescFlexField"=>[
-					"PubDescSeg2"=>$params['yyid'],//来源店铺  这种需要在店铺表中有
-					"PubDescSeg4"=>$params['number'],//订单编码
-					"PubDescSeg5"=>$params['shipremarks'],//订单的备注
-				],
 				"TransOutSubLines"=>[
 					[
-						'TransInWh_Code'=>$params['dczzbm'],//调入仓库编码
+						'TransInWh_Code'=>$params['drckbm']."",//调入仓库编码
 						'StorageType'=>4,//存储类型:待检;1:在检;2:不合格;3:报废;4:可用;5:冻结;6:退回;7:待返工
-						'TransInOrg_Code'=>$params['drzz_code'],//调入组织Code
-						'TransOutOwnerOrg_Code'=>$params['owner_code'],//货主组织Code
+						'TransInOrg_Code'=>$params['drzz_code']."",//调入组织Code
+						'TransOutOwnerOrg_Code'=>$params['owner_code']."",//货主组织Code
 						'StoreUOMQty'=>$v['dcsl'],
 					]
 				],
@@ -253,7 +381,13 @@ class Model_apiyyv1 extends Lin_Model
 			"BusinessDate"=>date("Y-m-d",$params['time']),//日期
 			"TransferDirection"=>$params['TransferDirection'],//调拨方向 0:普通;1:退货
 			"TransOutLines"=>$trans_out_lines,
+			"DescFlexField"=>[
+				"PubDescSeg2"=>$params['yyid'],//来源店铺  这种需要在店铺表中有
+				"PubDescSeg4"=>$params['number'],//订单编码
+				"PubDescSeg5"=>$params['shipremarks'],//订单的备注
+			],
 		];
+
 		return $data;
 	}
 	//销售单的数据转化
@@ -263,7 +397,7 @@ class Model_apiyyv1 extends Lin_Model
 			
 			$so_lines[] = [
 				'TU'=>"条",//销售单位编码
-				'ItemCode'=>"",//用友的编码
+				'ItemCode'=>$v['jm'],//用友的编码
 				'PU'=>'条',//计价单位编码
 				"ShipTogetherFlag"=>-1,//成套收发货标志
 				'DocLineNo'=>$k+1,
@@ -275,11 +409,11 @@ class Model_apiyyv1 extends Lin_Model
 					[
 						'IsMRPRequire',  //MRP需求
 						'DemandType',//需求分类
-						'RequireDate'=>date('m/d/Y H:i:s',$v['dtime']),
+						'RequireDate'=>date('m/d/Y H:i:s',$params['time']),
 					]
 				],
 				'RecTerm'=>'',//目前找不到了
-				'FreeType'=>'',//免费品类型 (无默认值请传-1;赠品请传0;备损品请传1)   徐凯设定的是  如果钱小于0.01  那么就传0 其他的传递-1
+				'FreeType'=>-1,//免费品类型 (无默认值请传-1;赠品请传0;备损品请传1)   徐凯设定的是  如果钱小于0.01  那么就传0 其他的传递-1
 				'UsableQtyOfInv'=>0,//文档中未查询到
 				'PubDescSeg3'=>'',
 				'PubDescSeg4'=>'',
@@ -289,8 +423,8 @@ class Model_apiyyv1 extends Lin_Model
 				'DescFlexField'=>[
 					'PubDescSeg3'=>'',
 				],
-				'OrderByQtyTU'=>'',//销售数量 (该属性可为空,且无默认值)
-				'OrderByQtyPU'=>'',//计价数量 (该属性可为空,且无默认值)
+				'OrderByQtyTU'=>$v['dcsl'],//销售数量 (该属性可为空,且无默认值)
+				'OrderByQtyPU'=>$v['dcsl'],//计价数量 (该属性可为空,且无默认值)
 				'OrderPriceTC'=>'',//定价 (该属性可为空,且无默认值)
 				'Memo'=>'',//备注
 			];
@@ -301,7 +435,7 @@ class Model_apiyyv1 extends Lin_Model
 			"OtherID"=>$params['number'],//第三方传入ID
 			"SaleDepartment"=>"",//部门编码  可为空
 			"DocumentType"=>"SO1",//单据类型编码  标准销售单  So1是默认值
-			"DocNo"=>"",//单据类型编码
+			"DocNo"=>'',//单据类型编码
 			"AC"=>"C009",//美金
 			"TC"=>"C009",//美金
 			"ShipToSite"=>"",//收货位置编码
@@ -309,7 +443,7 @@ class Model_apiyyv1 extends Lin_Model
 			"SOSrcType"=>0,
 			"Seller"=>"",//业务员编码  可为空
 			"ConfirmTerm"=>"",//但是现有文档没有
-			"Memo"=>"",//备注
+			"Memo"=>$params['number'],//备注
 			"ShipRule"=>"",//但是现有文档没有
 			"SOLineDTOList"=>$so_lines,
 		];
@@ -322,13 +456,13 @@ class Model_apiyyv1 extends Lin_Model
 			$po_lines[] = [
 				//"POLineID"=>0,//采购订单行ID
 				'ItemInfo'=>[
-					'm_code'=>'',//用友料号
+					'm_code'=>$v['jm'],//用友料号
 				],
-				"ReqQtyTU"=>'',//需求数量
+				"ReqQtyTU"=>$v['dcsl'],//需求数量
 				"ReqQtyTBU"=>0,//确认数量
-				"SupplierConfirmQtyTU"=>'',//确认数量
-				"SupplierConfirmQtyTBU"=>'',//确认数量
-				"FinallyPriceTC"=>'',//最终价格
+				"SupplierConfirmQtyTU"=>$v['dcsl'],//确认数量
+				"SupplierConfirmQtyTBU"=>0,//确认数量
+				"FinallyPriceTC"=>$v['final_price'],//最终价格
 				"IsPresent"=>false,//赠品
 				
 			];
@@ -340,38 +474,131 @@ class Model_apiyyv1 extends Lin_Model
 			"DocumentType"=>'PO01',//PO01  标准采购默认值
 			'BizType'=>0,//业务类型:AR_Invoice 销售发票 0 (默认值),PM005 标准采购 316 ,PM055 全程委外采购 326 ,PM050 工序外协采购 325
 			"BusinessDate"=>date("Y-m-d H:i:s"),
-			'OtherID'=>"",
-			'DescFlexField'=>[],
+			'OtherID'=>$params['number'],
+			'DescFlexField'=>(object)[
+			],
+			"Memo"=>$params['number'],
 			'Supplier'=>[
-				'Code'=>'',//供应商编码  到时间找下
+				'Code'=>$params['gys'],//供应商编码  到时间找下
 			],
 			'IsPriceIncludeTax'=>false,
 			"POLineDTOList"=>$po_lines
 		];
+		
 		return $data;
 	}
 
 	public function yybzchDataTrans($params){
 		$data = [];
 		foreach($params['list'] as $k=>$v ){
-			$data[] = [
-				"SrcDocType"=>1,//售订单 Value:1 出货计划 Value:2 销售合同 Value:3 预出货单 Value:4
-				"SrcDocNo"=>'',//来源单号
-				//"SrcDocLineNo"=>,
-				//"SrcDocSubLineNo",
-				"WH"=>'',//存储地点ID
-				"CurShipQty1"=>'',//本次出货量
-				"SOIsConsign"=>false,//	是否补货
-				"OptionalSplitTerm"=>[],
-				"DescFlexField"=>[],
-				"LineDescFlexField"=>[],
-				//"ShipDate",//出货单日期(该属性可为空,且无默认值)
-				//"ShipConfirmDate"//出货确认日期(该属性可为空,且无默认值)
-				"DocStatus"=>0,//单据状态:0开立;1审核中;2已审核,可用值:0,1,2,3
-
-			];
+			if($k >0){
+				$data[] = [
+					"SrcDocType"=>1,//售订单 Value:1 出货计划 Value:2 销售合同 Value:3 预出货单 Value:4
+					"SrcDocNo"=>$params['xs_no'],//来源单号
+					"SrcDocLineNo"=>($k+1),
+					"SrcDocSubLineNo"=>($k+1)*10,
+					//"WH"=>'',//存储地点ID   找不到id  那就找个WHcode
+					'WHCode'=>$params['drckbm'],//存储地点code   这里的参数为啥这么诡异 是因为 不想在很设置参数了 都按照调出的写法组件数据了
+					"CurShipQty1"=>$v['dcsl'],//本次出货量
+					"SOIsConsign"=>false,//	是否补货
+					"OptionalSplitTerm"=>[],
+					"DescFlexField"=>(object)[],
+					"LineDescFlexField"=>(object)[],
+					//"ShipDate",//出货单日期(该属性可为空,且无默认值)
+					//"ShipConfirmDate"//出货确认日期(该属性可为空,且无默认值)
+					"DocStatus"=>0,//单据状态:0开立;1审核中;2已审核,可用值:0,1,2,3
+	
+				];
+			}else{
+				$data[] = [
+					"SrcDocType"=>1,//售订单 Value:1 出货计划 Value:2 销售合同 Value:3 预出货单 Value:4
+					"SrcDocNo"=>$params['xs_no'],//来源单号
+					"SrcDocLineNo"=>($k+1),
+					"SrcDocSubLineNo"=>($k+1)*10,
+					//"WH"=>'',//存储地点ID   找不到id  那就找个WHcode
+					'WHCode'=>$params['drckbm'],//存储地点code   这里的参数为啥这么诡异 是因为 不想在很设置参数了 都按照调出的写法组件数据了
+					"CurShipQty1"=>$v['dcsl'],//本次出货量
+					"SOIsConsign"=>false,//	是否补货
+					"OptionalSplitTerm"=>[],
+					"DescFlexField"=>(object)[],
+					"LineDescFlexField"=>(object)[],
+					//"ShipDate",//出货单日期(该属性可为空,且无默认值)
+					//"ShipConfirmDate"//出货确认日期(该属性可为空,且无默认值)
+					"DocStatus"=>0,//单据状态:0开立;1审核中;2已审核,可用值:0,1,2,3
+	
+				];
+			}
+			
 		}
 		return $data;
 	}
 	
+	//销售单的数据转化
+	public function cjlpDataTrans($params){
+		$list = [];
+		foreach($params as $k=>$v){
+			$list[] = [
+				"Code"=>$v['jm'],//料号
+				"Code1"=>"",//参考料号1
+				"Name"=>$v['zh'],//品名
+				"MainItemCategory"=>[
+					"Code"=>$v['bm']
+				],
+				"Org"=>[
+					"Code"=>$params['ztcode']
+				],
+				"OtherID"=>1,
+				"PurchaseInfo"=>[
+					"BudgetControlType"=>-1,//预算控制方式
+					"PriceSource"=>2,//取价来源
+					"InquireRule"=>-1,//询价策略
+					'InquireFixedPeriod'=>0,//间隔期
+					"StatisticPeriod"=>-1,//配额统计期间
+					"IsPUTradePathModify"=>true,//采购贸易路径可改
+					"IsPURtnTradePathModify"=>true,//采购退货贸易路径可改
+				],
+				"InventoryUOM"=>[
+					"Code"=>'条'
+				],
+				"InventorySecondUOM"=>[
+					"Code"=>''
+				],
+				"IsDualUOM"=>false,
+				"InventoryInfo"=>[
+					"InventoryPlanningMethod"=>4,//规划方法
+					"InventoryPlanTime"=>-1,//
+					"TurnOverRate"=>1,//
+					"ReserveMode"=>-1,//
+					"SupplyMethod"=>-1,//
+				],
+				"DescFlexField"=>[
+					"PrivateDescSeg1"=>"01",
+					"PubDescSeg5"=>"01"
+				],
+				"Description"=>$v['title'],
+				"ItemForm"=>2001,//料品形态
+				"ItemFormAttribute"=>10,//料品形态属性
+				"IsInventoryEnable"=>true,//可库存交易
+				"IsPurchaseEnable"=>true,//可采购
+				"IsSalesEnable"=>true,//可采购
+				"IsBuildEnable"=>true,//可生产
+				"IsOutsideOperationEnable"=>true,//可委外
+				"IsMRPEnable"=>true,//可MRP
+				"IsBOMEnable"=>true,//可BOM
+				"IsCostCalByGrade"=>false,//等级影响成本
+				"IsCostCalByPotency"=>false,//成分影响成本
+				"IsGradeControl"=>false,//等级控制
+				"StandardGrade"=>-1,//标准等级
+				"StartGrade"=>-1,//起始等级
+				"EndGrade"=>-1,//结束等级
+				"IsPotencyControl"=>false,//成分控制
+				"StandardPotency"=>-1,//标准成分
+				"StartPotency"=>-1,//起始成分
+				"EndPotency"=>-1,//	结束成分
+			];
+			
+		}
+		return $list;
+	}
+	
 }

+ 8 - 0
core/CoreApp/models/Model_logic_tools.php

@@ -23,6 +23,14 @@ class Model_logic_tools extends Lin_Model {
            'data'=>$data
         ],JSON_UNESCAPED_UNICODE);
    }
+
+   function ret_arr($code,$msg,$data = []){
+        return [
+            'code'=>$code,
+            'msg'=>$msg,
+            'data'=>$data
+        ];
+   }
    //根据shop 来判断是那个店铺 到时间直接选中表就好
    function getshopname($shop){
         $arr =  [

+ 1 - 1
core/CoreApp/models/Model_logic_u9tools.php

@@ -18,7 +18,7 @@ class Model_logic_u9tools extends Lin_Model {
         $tcall = $this->typeclass->find_all();
         foreach ($tcall as $v)
         {
-            $tcjm[$v['id']] = array($v['jm'],$v['classid']);
+            //$tcjm[$v['id']] = array($v['jm'],$v['classid']);
             $typeclass[$v['id']] = array('zh'=>$v['zh'],'classid'=>$v['classid'],'bm'=>$v['bm'],'title'=>$v['title'],'jm'=>$v['jm']);
         }
         foreach($list as $k=>$v){

+ 471 - 11
core/CoreApp/models/Model_logic_u9xg.php

@@ -3,35 +3,495 @@
  * 此模型是为了支持从许昌销售公司调出库存到香港公司仓库的功能支持
  */
 class Model_logic_u9xg extends Lin_Model {
-    public $xdcp_code = '';//许昌成品库的编码  测试的时候就用龙盈工厂的仓库
-    public $xdxgls_code = '';//香港临时库的编码   测试的时候用销售公司成品库的编码
+    public $xdzzcode = '120';//许昌销售公司编码
+    public $xdcp_code = '12006';//许昌成品库的编码  测试的时候就用龙盈工厂的仓库
+    public $xdxgzzcode = '130';//香港组织公司编码
+    public $xdxgls_code = '13001';//香港临时库的编码   测试的时候用销售公司成品库的编码
+    public $ztcode = '9988';//账套的code;
+    public $tb_org_arr =[101,110,130];//同步组织
+    public $gys = "98001";//供应商  98001  龙盈  98002  龙熠
+    //切记要修改token_120的token真正的token!!!!
     function __construct(){
         parent::__construct();
         $this->load->_model('Model_settingtest','settingtest');
+        $this->load->_model("Model_apiyyv1",'apiyyv1');
+        $this->load->_model('Model_classid','classid');
+        $this->load->_model('Model_typeclass','typeclass');
+        $this->load->_model('Model_shop','shop');
+        $this->load->_model('Model_zzquque_u9','zzquque_u9');
+        $this->load->_model('Model_zzququeu9_logs','zzququeu9_logs');
+        $this->load->_model('Model_logic_tools','logic_tools');
+        $this->load->_model('Model_logic_u9tools','logic_u9tools');
     }
     public function getToken($type){
         $name = "get_yytoken_".$type;
         $token = $this->settingtest->$name();
         return $token;
     }
+    //转码准备数据
+    public function transPrepare(){
+        $classid = $this->classid->sku();
+        $tcall = $this->typeclass->find_all();
+        foreach ($tcall as $v)
+        {
+            $tcjm[$v['id']] = array($v['jm'],$v['classid']);
+            $typeclass[$v['id']] = array('zh'=>$v['zh'],'classid'=>$v['classid'],'bm'=>$v['bm'],'title'=>$v['title'],'jm'=>$v['jm']);
+        }
+        return [
+            'classid'=>$classid,
+            'typeclass'=>$typeclass,
+        ];
+    }
+    //必须先建立许昌成品仓的销售单和调出单  香港仓的采购单  一次执行5单
+    //循环执行许昌成品仓的销售单 调出单和香港仓的采购单
+    public function  xdlsOneStep($list){
+       
+        $pre_data = $this->transPrepare();
+        foreach($list as $k=>$v){
+            $this->xdlsBeforeCreate($v,$pre_data['typeclass'],$pre_data['classid']);
+        }
+    }
+    //循环执行许昌仓的销售单 调出单和香港仓的采购单  提交  顺带的也执行审核
+    public function xdlsTwoStep($list){
+        foreach($list as $k=>$v){
+            $r1 = $this->dcSubAndCheck($v);
+            if(!$r1){
+                continue;
+            }
+            
+            $r2 = $this->cgSubAndCheck($v);
+            if(!$r2){
+                continue;
+            }
+
+           $this->xsSubAndCheck($v);
+        }
+    }
+    //查询调出单生成的调入单是否生成 如果生成了就审核 如果没生成 说明异常了 这种都是按步骤走的
+    public function xdlsThreeStep($list){
+        $token_140 = $this->getToken(130);
+        foreach($list as $k=>$v){
+            $r = $this->apiyyv1->drdcxBydcd($v['order_no'],$token_140);
+            //如果获取对应调入单没有成功 
+            if(empty($r[0]['Data'][0]['docno'])){
+                $this->editData($v['id'],['dr_status'=>-1,'update_time'=>time()],$v['order_no'],6,1,'dr',$r[1],$r[0]);
+                continue;
+            }
+            if(count($r[0]['Data'])>1){
+                foreach($r[0]['Data'] as $item){
+                    if($item['descflexfield_pubdescseg4'] == $v['order_no']){
+                        $dr_no = $item['docno'];
+                    }
+                }
+            }else{
+                $dr_no = $r[0]['Data'][0]['docno'];
+            }
+            $this->editData($v['id'],['dr_no'=>$r[0]['Data'][0]['docno'],'dr_status'=>1,'update_time'=>time()],$v['order_no'],6,1,'dr',$r[1],$r[0]);
+            
+            //提交调入单 
+            $rr = $this->apiyyv1->drdSubmit(['number'=>$dr_no],$token_140);
+            if(!$rr[0]['Data'][0]['IsSucess']){
+                $this->editData($v['id'],['dr_status'=>-2,'update_time'=>time()],$v['order_no'],6,2,'dr',$rr[1],$rr[0]);
+                continue;
+            }
+            $this->editData($v['id'],['dr_status'=>2,'update_time'=>time()],$v['order_no'],6,2,'dr',$rr[1],$rr[0]);
+
+            //审核调入单
+            $rrr = $this->apiyyv1->drdApprove(['number'=>$dr_no],$token_140);
+            if(!$rrr[0]['Data'][0]['IsSucess']){
+                $this->editData($v['id'],['dr_status'=>-3,'update_time'=>time()],$v['order_no'],6,3,'dr',$rrr[1],$rrr[0]);
+                continue;
+            }
+            $this->editData($v['id'],['dr_status'=>3,'update_time'=>time()],$v['order_no'],6,3,'dr',$rrr[1],$rrr[0]);
+        }
+
+    }
+    //建立香港的销售单 标准出库单有源的需要先审核
+    public function xdlsFourStep($list){
+        $pre_data = $this->transPrepare();
+        foreach($list as $k=>$v){
+            $this->xdlsAfterDetail($v,$pre_data['typeclass'],$pre_data['classid']);
+        }
+    }
+    //审核香港销售单 同时生成标准出库单 
+    public function xdlsFiveStep($list){
+        $token_140 = $this->getToken(130);
+        // $xs_no_list = array_column($list,'xs_two_no');
+        echo "<pre>";
+        // $r = $this->apiyyv1->xscsByordernos($xs_no_list,$token_140);
+        // var_dump($r);
+
+        
+       
+            
+            //创建标准出库单
+            $v = [
+                'xs_no'=>'SO2502280046',
+                'drckbm'=>$this->xdxgls_code,
+                'list'=>[
+                    [
+                        'dcsl'=>1,
+                    ]
+                   
+                ]
+            ];
+            $bzch_res = $this->apiyyv1->bzchCreate($v,$token_140);
+            var_dump($bzch_res);
+            die;
+    
+            if(empty($bzch_res[0]['Data'][0]['m_code'])){
+                $this->editData($info['zq_u9_id'],['bzch_status'=>-1,'update_time'=>time()],$info['number'],4,1,'bzch',$bzch_res[1],$bzch_res[0]);
+                return ;
+           }
+           //更新销售单数据
+           $bzch_no = $bzch_res[0]['Data'][0]["m_code"];
+           $this->editData($info['zq_u9_id'],['bzch_no'=>$bzch_no,'bzch_status'=>1,'update_time'=>time()],$info['number'],4,1,'bzch',$bzch_res[1],$bzch_res[0]);
+        
+    }
+    //审核香港标准出库单
+    public function xdlsSixStep($list){
+        $token_140 = $this->getToken(130);
+        foreach($list as $k =>$v){
+            $bzch_res = $this->apiyyv1->bzchSubmitAndApprove(['number'=>$v['bzch_no']],$token_140);
+            var_dump($bzch_res);
+            if(empty($bzch_res[0]['Data'][0]['m_code'])){
+                $this->editData($v['id'],['bzch_status'=>-1,'update_time'=>time()],$v['order_no'],4,3,'bzch',$bzch_res[1],$bzch_res[0]);
+                return ;
+           }
+           //更新销售单数据
+           $bzch_no = $bzch_res[0]['Data'][0]["m_code"];
+           $this->editData($v['id'],['bzch_no'=>$bzch_no,'bzch_status'=>1,'update_time'=>time()],$v['order_no'],4,3,'bzch',$bzch_res[1],$bzch_res[0]);
+        }
+
+    }
+
     //由于调出单生成可能不会申请后实时出现 需要差几分钟再去申请,避免这种错误
     //从许昌成品库调出库存到香港临时仓
     //创建 调出单 销售单 采购单
-    public function xdlsBeforeCreate($info){
-       $token_120 =  $this->getToken(120);
-    }
-    // 提交调出单 销售单 采购单
-    public function xdlsBeforeSub($info){
+    //必须先建立许昌成品仓的销售单和调出单  香港仓的采购单  因为u9生成需要时间  然后在进行 审核 
+    public function xdlsBeforeCreate($info,$typeclass,$classid){
+       $time = time();
+       $token_130 =  $this->getToken(120);
+       $list = [];
+       $fpdata = $info['fpdata'];
+       $fpdata_list = explode(';',trim( $fpdata,';'));
+       $whlabel_list = explode("|",trim($info['whlabel'],"|"));
+    
+       $total_goods_num = 0;//订单产品总数量
+       foreach($whlabel_list as $k=>$v){
+            $tmp_data = explode("-",trim($v,'-'));
+            if(isset($tmp_data[1])){
+                $total_goods_num += $tmp_data[1];
+            }
+       }
+       $avg_price = floor(($info['skje']*1000)/$total_goods_num)/1000;
+       foreach($fpdata_list as $k=>$v){
+            $tmp_str = str_replace(array('-163-','-164-','-165-','-166-'),'-',$v);
+            $tmp_arr = explode('|',trim($tmp_str,'|'));
+            if(stripos($tmp_arr[0],',') !== false){
+                $ft = explode(',',$tmp_arr[0]);
+                $features = explode('-',trim($ft[1],'-'));
+                $features[] = $ft[0];
+            }else{
+                $features = explode('-',trim($tmp_arr[0],'-'));
+            }
+            $sku = implode("-",$features);
+            $tmp_ret = $this->logic_u9tools->getOneU9bm($sku,$classid,$typeclass);
+            $list[] = [
+                'jm'=>$tmp_ret['jm'],
+                'bm'=>$tmp_ret['bm'],
+                'zh'=>$tmp_ret['zh'],
+                'final_price'=>$avg_price,//目前先不设置 等后期财务说了再说
+                'title'=>isset($tmp_arr[1])?$tmp_arr[1]:'无',
+                'dcsl'=>$tmp_arr[2],
+                'is_register'=>0,//商品是否被注册  先都当没注册  后面会先确认下
+            ];
+       }
+       $shop = $this->shop->read($info['shop']);
+       if(empty($shop['yyid'])){
+            //如果没有在u9上设置店铺的组织 那么需要设置
+            $this->editData($info['zq_u9_id'],['dc_status'=>-1,'update_time'=>time()],$info['number'],1,1,'',[],$this->logic_tools->ret_arr(-1,'店铺没有在u9平台设置参数'));
+            return ;
+       }
 
+       $dc_params = [
+            'gys'=>$this->gys,//供应商
+            'number'=>$info['number'],//erp订单编码
+            "TransOutDocType_Code"=>"TransOut001",//组织间调拨
+            "time"=>$time,
+            'TransferDirection'=>0,//普通
+            'yyid'=>$shop['yyid'],//来源店铺  这种需要在店铺表中有
+            'shipremarks'=>$info['shipremarks'],//订单的备注
+            'dcckbm'=>$this->xdcp_code,//调出仓库编码
+            'drckbm'=>$this->xdxgls_code,//调入仓库编码
+            'drzz_code'=>$this->xdxgzzcode,//调入组织Code
+            'owner_code'=>$this->xdzzcode,//货主组织Code
+            'ztcode'=>$this->ztcode,//账套
+            'tb_org_arr'=>$this->tb_org_arr,//要同步的组织列表
+            'list'=>$list
+       ];
+       //调出单检测是否存在
+       $cxdcd_r = $this->apiyyv1->xcDcdByOtherId($dc_params['number'],$token_130);
+       $ret_data = $cxdcd_r[0]['Data'];
+       if(isset($ret_data[0])){
+            $descflexfield_pubdescseg4 = $ret_data[0]['descflexfield_pubdescseg4'];
+            if($dc_params['number'] == $descflexfield_pubdescseg4){
+                return ;
+            }
+       }
+
+
+
+       //检测料品是否在u9被添加
+       $r = $this->checkLp($dc_params,$token_130);
+       
+       if($r['code'] !=1){
+            $this->editData($info['zq_u9_id'],['dc_status'=>-1,'update_time'=>time()],$info['number'],1,1,'lpck',$r[1],$r[0]);
+            return ;
+       }
+      
+       //创建调出单
+       $dcd_res = $this->apiyyv1->dcdCrate($dc_params,$token_130);
+    
+       if(empty($dcd_res[0]['Data'][0]["Code"])){
+            $this->editData($info['zq_u9_id'],['dc_status'=>-1,'update_time'=>time()],$info['number'],1,1,'dc',$dcd_res[1],$dcd_res[0]);
+            return ;
+       }
+        //更新
+       $dcd_no =  $dcd_res[0]['Data'][0]["Code"];
+       $this->editData($info['zq_u9_id'],['dc_no'=>$dcd_no,'dc_status'=>1,'update_time'=>time()],$info['number'],1,1,'dc',$dcd_res[1],$dcd_res[0]);
+
+        //创建许昌成品库的销售单
+        $xsd_res = $this->apiyyv1->xsdCreate($dc_params,$token_130);
+        if(empty($xsd_res[0]['Data']['m_code'])){
+            $this->editData($info['zq_u9_id'],['xc_status'=>-1,'update_time'=>time()],$info['number'],2,1,'xs',$xsd_res[1],$xsd_res[0]);
+            return ;
+        }
+        //更新销售单数据
+       $xs_no = $xsd_res[0]['Data'][0]["m_code"];
+       $this->editData($info['zq_u9_id'],['xs_no'=>$xs_no,'xc_status'=>1,'update_time'=>time()],$info['number'],2,1,'xs',$xsd_res[1],$xsd_res[0]);
+
+        //创建香港公司的采购单
+        $token_140 = $this->getToken(120);
+        $cgd_res = $this->apiyyv1->cgdCreate($dc_params,$token_140);
+        if(empty($cgd_res[0]['Data'][0]["Code"])){
+            $this->editData($info['zq_u9_id'],['cg_status'=>-1,'update_time'=>time()],$info['number'],3,1,'cg',$cgd_res[1],$cgd_res[0]);
+            return ;
+        }
+
+        $this->editData($info['zq_u9_id'],['cg_no'=>$xs_no,'cg_status'=>1,'update_time'=>time()],$info['number'],3,1,'cg',$cgd_res[1],$cgd_res[0]);
+        return ;
+    }
+    
+    // 提交审核调出单调出单 
+    public function dcSubAndCheck($info){
+        $token_130 = $this->getToken(120);
+        $r = $this->apiyyv1->dcdSubmit([
+            'number'=>$info['dc_no']
+        ],$token_130);
+        if(!$r[0]['Data'][0]['IsSucess']){
+            $this->editData($info['id'],['dc_status'=>-2,'update_time'=>time()],$info['order_no'],1,2,'dc',$r[1],$r[0]);
+            return false;
+        }
+        //更新调出单
+        $this->editData($info['id'],['dc_status'=>2,'update_time'=>time()],$info['order_no'],1,2,'dc',$r[1],$r[0]);
+        $rr = $this->apiyyv1->dcdApprove([
+            'number'=>$info['dc_no']
+        ],$token_130);
+        if(!$rr[0]['Data'][0]['IsSucess']){
+            $this->editData($info['id'],['dc_status'=>-3,'update_time'=>time()],$info['order_no'],1,3,'dc',$rr[1],$rr[0]);
+            return false;
+        }
+        $this->editData($info['id'],['dc_status'=>3,'update_time'=>time()],$info['order_no'],1,3,'dc',$rr[1],$rr[0]);
+        return true;
     }
-    //审核调出单  销售单 采购单
-    public function xdlsBeforecheck($info){
+    //提交审核采购单
+    public function cgSubAndCheck($info){
+        $token_140 = $this->getToken(120);
+        $r = $this->apiyyv1->cgdSubmit([
+            'number'=>$info['cg_no']
+        ],$token_140);
+       
+        if(!$r[0]['Data'][0]['IsSucess']){
+            $this->editData($info['id'],['cg_status'=>-2,'update_time'=>time()],$info['order_no'],3,2,'cg',$r[1],$r[0]);
+            return false;
+        }
+        //更新采购单
+        $this->editData($info['id'],['cg_status'=>2,'update_time'=>time()],$info['order_no'],3,2,'cg',$r[1],$r[0]);
+        $rr = $this->apiyyv1->cgdApprove([
+            'number'=>$info['cg_no']
+        ],$token_140);    
+        if(!$rr[0]['Data'][0]['IsSucess']){
+            $this->editData($info['id'],['cg_status'=>-3,'update_time'=>time()],$info['order_no'],3,3,'cg',$rr[1],$rr[0]);
+            return false;
+        }   
+        $this->editData($info['id'],['cg_status'=>3,'update_time'=>time()],$info['order_no'],3,3,'cg',$rr[1],$rr[0]);
+        return true;
 
     }
+    //提交审核销售单
+    public function xsSubAndCheck($info){
+        $token_130 = $this->getToken(120);
+        $r = $this->apiyyv1->xsdSubmit([
+            'number'=>$info['xs_no']
+        ],$token_130);
+    
+        if(!$r[0]['Data'][0]['m_isSucess']){
+            $this->editData($info['id'],['xs_status'=>-2,'update_time'=>time()],$info['order_no'],2,2,'xs',$r[1],$r[0]);
+            return false;
+        }
+        $this->editData($info['id'],['xs_status'=>2,'update_time'=>time()],$info['order_no'],2,2,'xs',$r[1],$r[0]);
+        $rr = $this->apiyyv1->xsdApprove([
+            'number'=>$info['xs_no']
+        ],$token_130);
+        if(!$rr[0]['Data'][0]['m_isSucess']){
+            $this->editData($info['id'],['xs_status'=>-3,'update_time'=>time()],$info['order_no'],2,3,'xs',$rr[1],$rr[0]);
+            return false;
+        }   
+        $this->editData($info['id'],['xs_status'=>3,'update_time'=>time()],$info['order_no'],2,3,'xs',$rr[1],$rr[0]);
+        return true;
+    }
+
+    //建立销售单 和出货单
+    public function xdlsAfterDetail($info,$typeclass,$classid){
+       
+       $time = time();
+       $token_140 = $this->getToken(130);
+       $list = [];
+       $fpdata = $info['fpdata'];
+       $fpdata_list = explode(';',trim( $fpdata,';'));
+       $whlabel_list = explode("|",trim($info['whlabel'],"|"));
+    
+       $total_goods_num = 0;//订单产品总数量
+       foreach($whlabel_list as $k=>$v){
+            $tmp_data = explode("-",trim($v,'-'));
+            if(isset($tmp_data[1])){
+                $total_goods_num += $tmp_data[1];
+            }
+       }
+       $avg_price = floor(($info['skje']*1000)/$total_goods_num)/1000;
+       foreach($fpdata_list as $k=>$v){
+            $tmp_str = str_replace(array('-163-','-164-','-165-','-166-'),'-',$v);
+            $tmp_arr = explode('|',trim($tmp_str,'|'));
+            if(stripos($tmp_arr[0],',') !== false){
+                $ft = explode(',',$tmp_arr[0]);
+                $features = explode('-',trim($ft[1],'-'));
+                $features[] = $ft[0];
+            }else{
+                $features = explode('-',trim($tmp_arr[0],'-'));
+            }
+            $sku = implode("-",$features);
+            $tmp_ret = $this->logic_u9tools->getOneU9bm($sku,$classid,$typeclass);
+            $list[] = [
+                'jm'=>$tmp_ret['jm'],
+                'bm'=>$tmp_ret['bm'],
+                'zh'=>$tmp_ret['zh'],
+                'final_price'=>$avg_price,//目前先不设置 等后期财务说了再说
+                'title'=>isset($tmp_arr[1])?$tmp_arr[1]:'无',
+                'dcsl'=>$tmp_arr[2],
+                'is_register'=>0,//商品是否被注册  先都当没注册  后面会先确认下
+            ];
+       }
+       $shop = $this->shop->read($info['shop']);
+       if(empty($shop['yyid'])){
+            //如果没有在u9上设置店铺的组织 那么需要设置
+            $this->editData($info['zq_u9_id'],['dc_status'=>-1,'update_time'=>time()],$info['number'],1,1,'',[],$this->logic_tools->ret_arr(-1,'店铺没有在u9平台设置参数'));
+            return ;
+       }
 
-    //系统审核许昌成品库调出库存到香港临时仓的调出单 同时建立销售单 和出货单
-    public function xdlsAfterDetail($info){
+       $dc_params = [
+            'gys'=>$this->gys,//供应商
+            'number'=>$info['number'],//erp订单编码
+            "TransOutDocType_Code"=>"TransOut001",//组织间调拨
+            "time"=>$time,
+            'TransferDirection'=>0,//普通
+            'yyid'=>$shop['yyid'],//来源店铺  这种需要在店铺表中有
+            'shipremarks'=>$info['shipremarks'],//订单的备注
+            'dcckbm'=>$this->xdcp_code,//调出仓库编码
+            'drckbm'=>$this->xdxgls_code,//调入仓库编码
+            'drzz_code'=>$this->xdxgzzcode,//调入组织Code
+            'owner_code'=>$this->xdzzcode,//货主组织Code
+            'ztcode'=>$this->ztcode,//账套
+            'tb_org_arr'=>$this->tb_org_arr,//要同步的组织列表
+            'list'=>$list
+       ];
+      
 
+       //创建许昌成品库的销售单
+       $xsd_res = $this->apiyyv1->xsdCreate($dc_params,$token_140);
+
+       if(empty($xsd_res[0]['Data'][0]['m_code'])){
+             $this->editData($info['zq_u9_id'],['xs_two_status'=>-1,'update_time'=>time()],$info['number'],7,1,'xs_two',$xsd_res[1],$xsd_res[0]);
+             return ;
+        }
+        //更新销售单数据
+        $xs_no = $xsd_res[0]['Data'][0]["m_code"];
+        $this->editData($info['zq_u9_id'],['xs_two_no'=>$xs_no,'xs_two_status'=>1,'update_time'=>time()],$info['number'],7,1,'xs_two',$xsd_res[1],$xsd_res[0]);
+       
     }
    
+    //检查u9编码是否存在  如果不存在 请先添加并
+    protected function checkLp($info,$token){
+        
+        //未注册的货品的列表
+        $unregister_goods = [];
+        // $info['list'][1]['jm'] ="9A-#NB-STW-20-FP-5*5C-C-180%-ww2";
+        // $info['list'][1]['zh'] ="测试数据请删除2--".$info['list'][1]['zh'];
+        // $info['list'][0]['jm'] ="9A-#NB-STW-22-ww2";
+        // $info['list'][0]['zh'] ="测试数据请删除2--".$info['list'][0]['zh'];
+        $r = $this->apiyyv1->cxLp($info['list'],$token);
+       
+        if(!$r[0]['Success']){
+            return $this->logic_tools->ret_arr(-1,'查询商品信息异常'.json_encode($r,JSON_UNESCAPED_UNICODE));
+        }
+        foreach($r[0]['Data'] as $k=>$v)
+        {
+            foreach($info['list'] as $kk => $vv){
+                if($v['m_code'] == $vv['jm']){
+                    $info['list'][$kk]['is_register'] = 1;
+                }
+            }
+        }
+        foreach($info['list'] as $k => $v){
+            if($v['is_register'] == 0){
+                $unregister_goods[] = $v;
+            }
+        }
+        if(empty($unregister_goods)){
+            return $this->logic_tools->ret_arr(1,"料品无异常");
+        }
+        $tb_info =  $info;
+        $tb_info['list'] = $unregister_goods;
+        return $this->tjLpAndTb($tb_info,$token);
+    }
+    //添加料品并且下发
+    public function tjLpAndTb($tb_info,$token){
+        $r = $this->apiyyv1->cjLp($tb_info['list'],$token);
+        if($r[0]["Success"]){
+            $rr = $this->apiyyv1->tbLp($tb_info,$token);
+            if($rr[0]['Success']){
+                return $this->logic_tools->ret_arr(1,$rr);
+            }else{
+                return $this->logic_tools->ret_arr(-1,$rr);
+            }
+        }else{
+            return $this->logic_tools->ret_arr(-1,$r);
+        }
+    }
+
+    //根据返回的状态修改对应的值
+    protected function editData($zq_u9_id,$z_qu_arr,$number,$one_type,$two_type,$apply_api,$apply_data,$ret_data){
+        $this->zzquque_u9->save($z_qu_arr,$zq_u9_id);
+        $this->zzququeu9_logs->insert([
+            'oid'=>$zq_u9_id,
+            'number'=>$number,
+            'one_type'=>$one_type,
+            'two_type'=>$two_type,
+            'apply_api'=>$apply_api,
+            'apply_data'=>json_encode($apply_data,JSON_UNESCAPED_UNICODE),
+            'ret_data'=>json_encode($ret_data,JSON_UNESCAPED_UNICODE),
+            'create_time'=>time(),
+            'read_time'=>date("Y-m-d H:i:s")
+        ]);
+    }
 }

+ 117 - 48
core/CoreApp/models/Model_setting.php

@@ -72,29 +72,52 @@ class Model_setting extends Lin_Model
 	{
 		$setting = $this->setting->get_data();
 		$time = time();
-		$yytoken = $setting['yytoken']['svalue']; 
-		$yytokentime = $setting['yytoken']['time'];
-		//if(($yytokentime - $time) < 0)
-		//{
+		if(isset($setting['yytoken'])){
+			$yytoken = $setting['yytoken']['svalue']; 
+			$yytokentime = $setting['yytoken']['time'];
+			if(($yytokentime - $time) < 0)
+			{
+				/** 获取Token **/
+				$url = 'http://139.129.33.38:80/U9C/webapi/OAuth2/AuthLogin?clientid=test&entCode=001&orgCode=101&clientsecret='.$setting['yy-clientsecret']['svalue'].'&userCode='.$setting['yy-usercode']['svalue'];
+				$ch = curl_init();
+				curl_setopt($ch, CURLOPT_URL, $url);
+				curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+				//curl_setopt($ch, CURLOPT_HTTPHEADER, $headerA);
+				curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+				curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
+				$res = curl_exec($ch);
+				$headerA = curl_getinfo($ch);
+				$a = json_decode($res,true);
+				$this->setting->save(array('svalue'=>$a['Data'],'expiretime'=>$time+14000),'yytoken');
+				return $a['Data'];
+				/** 获取Token **/
+			}
+			else
+			{
+				 $yytoken;  
+			}
+		}else{
 			/** 获取Token **/
 			$url = 'http://139.129.33.38:80/U9C/webapi/OAuth2/AuthLogin?clientid=test&entCode=001&orgCode=101&clientsecret='.$setting['yy-clientsecret']['svalue'].'&userCode='.$setting['yy-usercode']['svalue'];
 			$ch = curl_init();
-        	curl_setopt($ch, CURLOPT_URL, $url);
-        	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
-        	//curl_setopt($ch, CURLOPT_HTTPHEADER, $headerA);
-        	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
-        	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
-        	$res = curl_exec($ch);
+			curl_setopt($ch, CURLOPT_URL, $url);
+			curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+			//curl_setopt($ch, CURLOPT_HTTPHEADER, $headerA);
+			curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+			curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
+			$res = curl_exec($ch);
 			$headerA = curl_getinfo($ch);
 			$a = json_decode($res,true);
-			$this->setting->save(array('svalue'=>$a['Data'],'expiretime'=>$time+14000),'yytoken');
+			$this->setting->insert([
+				'skey'=>'yytoken',
+				'svalue'=>$a['Data'],
+				'expiretime'=>$time+14000
+			]);
+			//$this->setting->save(array('svalue'=>$a['Data'],'expiretime'=>$time+14000),'yytoken');
 			return $a['Data'];
 			/** 获取Token **/
-		//}
-		//else
-		//{
-		//	return $yytoken;  
-		//}
+		}
+		
 		exit;
 		/** 刷新Token **/
 			$url = 'http://139.129.33.38:80/U9C/webapi/OAuth2/RefreshToken?token='.$token;
@@ -115,29 +138,52 @@ class Model_setting extends Lin_Model
 	{
 		$setting = $this->setting->get_data();
 		$time = time();
-		$yytoken = $setting['yytoken_gc']['svalue']; 
-		$yytokentime = $setting['yytoken_gc']['time'];
-		//if(($yytokentime - $time) < 0)
-		//{
+		if(isset($setting['yytoken_gc'])){
+			$yytoken = $setting['yytoken_gc']['svalue']; 
+			$yytokentime = $setting['yytoken_gc']['time'];
+			if(($yytokentime - $time) < 0)
+			{
+				/** 获取Token **/
+				$url = 'http://139.129.33.38:80/U9C/webapi/OAuth2/AuthLogin?clientid=test&entCode=001&orgCode=120&clientsecret='.$setting['yy-clientsecret']['svalue'].'&userCode='.$setting['yy-usercode']['svalue'];
+				$ch = curl_init();
+				curl_setopt($ch, CURLOPT_URL, $url);
+				curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+				//curl_setopt($ch, CURLOPT_HTTPHEADER, $headerA);
+				curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+				curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
+				$res = curl_exec($ch);
+				$headerA = curl_getinfo($ch);
+				$a = json_decode($res,true);
+				$this->setting->save(array('svalue'=>$a['Data'],'expiretime'=>$time+14000),'yytoken_gc');
+				return $a['Data'];
+				/** 获取Token **/
+			}
+			else
+			{
+				return $yytoken;  
+			}
+		}else{
 			/** 获取Token **/
 			$url = 'http://139.129.33.38:80/U9C/webapi/OAuth2/AuthLogin?clientid=test&entCode=001&orgCode=120&clientsecret='.$setting['yy-clientsecret']['svalue'].'&userCode='.$setting['yy-usercode']['svalue'];
 			$ch = curl_init();
-        	curl_setopt($ch, CURLOPT_URL, $url);
-        	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
-        	//curl_setopt($ch, CURLOPT_HTTPHEADER, $headerA);
-        	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
-        	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
-        	$res = curl_exec($ch);
+			curl_setopt($ch, CURLOPT_URL, $url);
+			curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+			//curl_setopt($ch, CURLOPT_HTTPHEADER, $headerA);
+			curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+			curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
+			$res = curl_exec($ch);
 			$headerA = curl_getinfo($ch);
 			$a = json_decode($res,true);
-			$this->setting->save(array('svalue'=>$a['Data'],'expiretime'=>$time+14000),'yytoken_gc');
+			$this->setting->insert([
+				'skey'=>'yytoken_gc',
+				'svalue'=>$a['Data'],
+				'expiretime'=>$time+14000
+			]);
+			//$this->setting->save(array('svalue'=>$a['Data'],'expiretime'=>$time+14000),'yytoken_gc');
 			return $a['Data'];
 			/** 获取Token **/
-		//}
-		//else
-		//{
-		//	return $yytoken;  
-		//}
+		}
+		
 		exit;
 		/** 刷新Token **/
 			$url = 'http://139.129.33.38:80/U9C/webapi/OAuth2/RefreshToken?token='.$token;
@@ -159,29 +205,52 @@ class Model_setting extends Lin_Model
 	{
 		$setting = $this->setting->get_data();
 		$time = time();
-		$yytoken = $setting['yytoken_xs']['svalue']; 
-		$yytokentime = $setting['yytoken_xs']['time'];
-		//if(($yytokentime - $time) < 0)
-		//{
+		if(isset($setting['yytoken_xs'])){
+			$yytoken = $setting['yytoken_xs']['svalue']; 
+			$yytokentime = $setting['yytoken_xs']['time'];
+			if(($yytokentime - $time) < 0)
+			{
+				/** 获取Token **/
+				$url = 'http://139.129.33.38:80/U9C/webapi/OAuth2/AuthLogin?clientid=test&entCode=001&orgCode=130&clientsecret='.$setting['yy-clientsecret']['svalue'].'&userCode='.$setting['yy-usercode']['svalue'];
+				$ch = curl_init();
+				curl_setopt($ch, CURLOPT_URL, $url);
+				curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+				//curl_setopt($ch, CURLOPT_HTTPHEADER, $headerA);
+				curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+				curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
+				$res = curl_exec($ch);
+				$headerA = curl_getinfo($ch);
+				$a = json_decode($res,true);
+				$this->setting->save(array('svalue'=>$a['Data'],'expiretime'=>$time+14000),'yytoken_xs');
+				return $a['Data'];
+				/** 获取Token **/
+			}
+			else
+		    {
+				return $yytoken;  
+			}
+		}else{
 			/** 获取Token **/
 			$url = 'http://139.129.33.38:80/U9C/webapi/OAuth2/AuthLogin?clientid=test&entCode=001&orgCode=130&clientsecret='.$setting['yy-clientsecret']['svalue'].'&userCode='.$setting['yy-usercode']['svalue'];
 			$ch = curl_init();
-        	curl_setopt($ch, CURLOPT_URL, $url);
-        	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
-        	//curl_setopt($ch, CURLOPT_HTTPHEADER, $headerA);
-        	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
-        	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
-        	$res = curl_exec($ch);
+			curl_setopt($ch, CURLOPT_URL, $url);
+			curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+			//curl_setopt($ch, CURLOPT_HTTPHEADER, $headerA);
+			curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+			curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
+			$res = curl_exec($ch);
 			$headerA = curl_getinfo($ch);
 			$a = json_decode($res,true);
-			$this->setting->save(array('svalue'=>$a['Data'],'expiretime'=>$time+14000),'yytoken_xs');
+			//$this->setting->save(array('svalue'=>$a['Data'],'expiretime'=>$time+14000),'yytoken_xs');
+			$this->setting->insert([
+				'skey'=>'yytoken_xs',
+				'svalue'=>$a['Data'],
+				'expiretime'=>$time+14000
+			]);
 			return $a['Data'];
 			/** 获取Token **/
-		//}
-		//else
-		//{
-		//	return $yytoken;  
-		//}
+		}
+		
 		exit;
 		/** 刷新Token **/
 			$url = 'http://139.129.33.38:80/U9C/webapi/OAuth2/RefreshToken?token='.$token;

+ 1 - 0
core/CoreApp/models/Model_zzquque_u9.php

@@ -14,6 +14,7 @@ class Model_zzquque_u9 extends Lin_Model
 			1=>"备货流转-在途",//实际就是在途库存的在途过程 需要在香港组织留痕
 			2=>"备货流转-美仓",//实际就是在途库存的完成过程 需要在香港组织留痕
 			10=>"小单临时",//实际就是小单从许昌仓发出后 需要在香港组织留痕
+			11=>"小单美仓",//实际就是香港仓出货了
 		];
 	}
 }  

+ 29 - 0
core/CoreApp/models/Model_zzququeu9_logs.php

@@ -0,0 +1,29 @@
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 
+class Model_zzququeu9_logs extends Lin_Model 
+{
+	function __construct(){
+		parent::__construct();
+		$this->load->database();
+		$this->table = 'zzququeu9_logs';
+		$this->load_table('zzququeu9_logs');
+
+	}
+	
+	public function getOneType(){
+		return [
+			1=>"调出单",
+			2=>"销售单",
+			3=>"采购单",
+			4=>'标准出货',
+			5=>'标准收货'
+		];
+	}
+
+	public function getTwoType(){
+		return [
+			1=>'创建',
+			2=>'提交',
+			3=>'审核'
+		];
+	}
+}  

+ 104 - 0
template/erp/zzququeu9.html

@@ -0,0 +1,104 @@
+{Template header}
+<script src="{$theme}js/system.js"></script>
+<script type="text/javascript" src="{$theme}js/layer/layer.js"></script>
+<style>
+    .layui-layer-page .layui-layer-content {
+        overflow: none;
+    }
+    
+    .layui-layer-content ul {
+        padding: 0 8px;
+    }
+    
+    .layui-layer-content ul li {
+        margin: 8px 0;
+    }
+    
+    #layui-layer1 {
+        overflow: auto;
+    }
+    
+    .layui-form-checked {
+        margin-left: 10px;
+        display: inline-block;
+    }
+    .shou_btn{
+        width: 70px;
+        height: 30px;
+        line-height: 30px;
+        background: #2ca8a1;
+        text-align: center;
+        color: #fff;
+        border-radius: 5px;
+        display: inline-block;
+        margin-left: 20px;
+        cursor: pointer;
+    }
+</style>
+
+<body>
+    <div class="warp">
+        <div class="fixed">
+            <ul class="search">
+                <li>
+                    <li>编号:<input value="" name="order_no" type="text"></li>
+                    <li>出库时间<input id="timetk" value="{date('Y-m-d',time()-29*24*3600)} 0:00" name="timetk" type="text" onClick="laydate({istime: true,format:'YYYY-MM-DD hh:mm'})"> 至&nbsp;&nbsp;&nbsp;&nbsp; <input id="timetj" value="{date('Y-m-d',time()+24*3600)} 0:00"
+                            name="timetj" type="text" onClick="laydate({istime: true,format:'YYYY-MM-DD hh:mm'})"></li>
+                    <li><span>确 定</span></li>
+            </ul>
+
+            
+            <table class="datatitle data" border="0" style="border-collapse:collapse;">
+                <tr>
+                    <td><label onClick=""><input name="checkbox" type="checkbox" class="regular-checkbox"></label></td>
+                    <td>编号</td>
+                    <td>类型</td>
+                    <td>调出单</td>
+                    <td>采购单</td>
+                    <td>销售单</td>
+                    <td>销售单(关联标准出货)</td>
+                    <td>标准出货单</td>
+                    <td>标准收货单</td>
+                    <td>调入单</td>
+                    <td>添加时间</td>
+                    <td>最后更新时间</td>
+                </tr>
+            </table>
+        </div>
+        <table class="datatext data" border="0" style="border-collapse:collapse;">
+        </table>
+        <div class="lbwlxq"></div>
+        <div class="bomf"></div>
+    </div>
+    
+    
+    <script>
+       
+        customon = 1;
+        var dataurl = "/zzququeu9";
+        function custom() {
+            $(".data tr").each(function() {
+                $(this).find('td:eq(0)').css("width", "1%");
+                $(this).find('td:eq(1)').css("width", "8%");
+                $(this).find('td:eq(2)').css("width", "8%");
+                $(this).find('td:eq(3)').css("width", "8%");
+                $(this).find('td:eq(5)').css("width", "8%");
+                $(this).find('td:eq(6)').css("width", "8%");
+                $(this).find('td:eq(7)').css("width", "8%");
+                $(this).find('td:eq(8)').css("width", "8%");
+                $(this).find('td:eq(9)').css("width", "8%");
+                $(this).find('td:eq(10)').css("width", "8%");
+                $(this).find('td:eq(11)').css("width", "8%");
+            });
+        }
+
+        function doAction(that){
+            alert(1)
+        }
+        
+    </script>
+    <script type="text/javascript" src="{$theme}js/laydate.js"></script>
+    <script type="text/javascript" src="{$theme}js/print.js?v=202007160001"></script>
+
+
+    {Template footer}