| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 | 
							- <?php
 
- /**
 
-  * 系统自动处理在途库存的香港问题
 
-  */
 
- class Model_logic_u9bh extends Lin_Model {
 
-    
 
-     //切记要修改token_120的token真正的token!!!!
 
-     function __construct(){
 
-         parent::__construct();
 
-         $this->load->_model('Model_settingtest','settingtest');
 
-         $this->load->_model("Model_apiyyv1","apiyyv1");
 
-         $this->load->_model("Model_logic_ding","logic_ding");
 
-         $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_whlabel_bh_transfer','whlabel_bh_transfer');
 
-     }
 
-     public function getToken($type){
 
-         $name = "get_yytoken_".$type;
 
-         $token = $this->settingtest->$name();
 
-         return $token;
 
-     }
 
-     public function doAction(){
 
-         $list = $this->zzquque_u9->find_all("type = 21 and bzsh_status= 0 and dc_status = 0 and dr_status = 0");
 
-         foreach ($list as $key => $value) {
 
-             $this->dpCprk($value);
 
-         }
 
-         sleep(3);
 
-         $list = $this->zzquque_u9->find_all("type = 21 and bzsh_status= 1 and dc_status = 0 and dr_status = 0");
 
-         foreach ($list as $key => $value) {
 
-             $this->checkCprk($value);
 
-         }
 
-         $list =  $this->zzquque_u9->find_all("type = 21 and bzsh_status= 3 and dc_status = 0 and dr_status = 0");
 
-         foreach ($list as $key => $value) {
 
-             $this->doDcd($value);
 
-         }
 
-         $list =  $this->zzquque_u9->find_all("type = 21 and bzsh_status= 3 and dc_status = 1 and dr_status = 0");
 
-         foreach ($list as $key => $value) {
 
-             $this->cxDrd($value);
 
-         }
 
-         $list =  $this->zzquque_u9->find_all("type = 21 and bzsh_status= 3 and dc_status = 3 and dr_status = 0");
 
-         foreach ($list as $key => $value) {
 
-             $this->checkDrd($value);
 
-         }
 
-     }
 
-     public function dpCprk($data){
 
-         $token = $this->getToken(120);
 
-         if(empty($data['child_order_no'])){
 
-             $this->editData($data['id'],['bzsh_status'=>-1,'update_time'=>time()],$data['order_no'],20,1,'scrk_cj',$data,[
 
-                 'code'=>-1,
 
-                 'msg'=>'没有找到子订单号'
 
-             ]);
 
-             return $this->logic_tools->ret_arr(-1,"没有找到子订单号");
 
-         }
 
-         $info = $this->whlabel_bh_transfer->read($data['child_order_no']);
 
-         $sc = explode('~',$info['scid']);
 
-         $info['rkid'] = $sc[0];//配货的生产id
 
-         $info['rkcode'] = $sc[1];//配货的生产单号
 
-         $params = [
 
-             'org_code'=>'120',
 
-             "org_wh_code"=>'02',
 
-             'rec_code'=>'120',
 
-             'rev_wh_code'=>'02',
 
-             'rkid'=>$info['rkid'],
 
-             'rkcode'=>$info['rkcode'],
 
-             'number'=>$info['number'],
 
-             'shipremarks'=>$info['shipremarks'],
 
-             'list'=>[
 
-                 [
 
-                     'sl'=>1,
 
-                     'jm'=>$info['jm'],
 
-                 ]
 
-                
 
-             ]
 
-         ];
 
-         $res = $this->apiyyv1->cprkCreate($params,$token);
 
-         if(isset($res[0]['Data'][0]['m_isSucess'])&& $res[0]['Data'][0]['m_isSucess'] == 1){
 
-             $this->editData($data['id'],['bzsh_no'=>$res[0]['Data'][0]['m_code'],'bzsh_status'=>1,'update_time'=>time()],$info['number'],20,1,'scrk_cj',$res[1],$res[0]);
 
-             return $this->logic_tools->ret_arr(1,"成品入库单创建成功");
 
-         }else{
 
-             $this->editData($data['id'],['bzsh_status'=>-1,'update_time'=>time()],$info['number'],20,1,'scrk_cj',$res[1],$res[0]);
 
-             return $this->logic_tools->ret_arr(-1,"成品入库单创建失败");
 
-         }
 
-         
 
-     }
 
-     public function checkCprk($info){
 
-         $token = $this->getToken(120);
 
-         $params = [
 
-             [
 
-                 "DocNo"=>$info['bzsh_no']
 
-             ]
 
-         ];
 
-         $res = $this->apiyyv1->cprkApprove($params,$token);
 
-       
 
-         //如果入库审核失败 先查询 如果不存在就标记 存在就再次审核
 
-         if(!(isset($res[0]['Data'][0]['m_isSucess']) && $res[0]['Data'][0]['m_isSucess'] == 1)){
 
-             //查询单子是否存在
 
-             sleep(1);
 
-             $res = $this->apiyyv1->cprkCx($params,$token);
 
-             if(!(isset($res[0]['Data'][0]['m_isSucess']) && $res[0]['Data'][0]['m_isSucess'] == 1)){
 
-                 //查询失败  这里不做状态变更  只是做记录
 
-                 $this->editData($info['id'],['update_time'=>time()],$info['order_no'],20,2,'scrk_ck',$res[1],$res[0]);
 
-                 return $this->logic_tools->ret_arr(-1,"成品入库单还未审核,请稍后审核");
 
-             }
 
-             $res = $this->apiyyv1->cprkApprove($params,$token);
 
-         }
 
-         //如果再错误就 没办法了
 
-         if(isset($res[0]['Data'][0]['m_isSucess']) && $res[0]['Data'][0]['m_isSucess'] == 1){
 
-             $this->editData($info['id'],['bzsh_status'=>3,'update_time'=>time()],$info['order_no'],20,3,'scrk_sh',$res[1],$res[0]);
 
-             return $this->logic_tools->ret_arr(-1,"成品入库单还未审核,请联系到u9核对成品入库单的状态");
 
-         }
 
-     }
 
-     public function doDcd($data){
 
-         $info = $this->whlabel_bh_transfer->read($data['child_order_no']);
 
-         $time = time();
 
-         $list = [
 
-             [
 
-                 'jm'=>$info['jm'],
 
-                 'bm'=>$info['bm'],
 
-                 'zh'=>$info['pm'],
 
-                 'final_price'=>1,//目前先不设置 等后期财务说了再说
 
-                 'title'=>$info['title'],
 
-                 'dcsl'=>1,
 
-                 'is_register'=>0,//商品是否被注册  先都当没注册  后面会先确认下
 
-             ]
 
-            
 
-         ];
 
-         $sc = explode('~',$info['scid']);
 
-         $info['rkid'] = $sc[0];//配货的生产id
 
-         $info['rkcode'] = $sc[1];//配货的生产单号
 
-         $dcck = $sc[2];
 
-         $dc_params = [
 
-             'gys'=>'98001',//供应商  龙盈
 
-             'number'=>$info['orderinfo'],//erp订单编码
 
-             "TransOutDocType_Code"=>"TransOut001",//组织间调拨
 
-             "time"=>$time,
 
-             'TransferDirection'=>0,//普通
 
-             'yyid'=>'98001',//备货都是卖给了龙熠
 
-             'shipremarks'=>$info['shipremarks'],//订单的备注
 
-             'dcckbm'=>$dcck,//调出仓库编码     完成库
 
-             'drckbm'=>"13001",//调入仓库编码     成品库
 
-             'drzz_code'=>"130",//调入组织Code   
 
-             'owner_code'=>"120",//货主组织Code
 
-             //'ztcode'=>$this->ztcode,//账套
 
-             //'tb_org_arr'=>$this->tb_org_arr,//要同步的组织列表
 
-             'list'=>$list
 
-        ];
 
-        //创建调出单
 
-        $dcd_res = $this->apiyyv1->dcdCrate($dc_params,$this->getToken(120));
 
-        if(empty($dcd_res[0]['Data'][0]["Code"])){
 
-               $this->editData($data['id'],['dc_status'=>-1,'update_time'=>time()],$info['orderinfo'],1,1,'dc',$dcd_res[1],$dcd_res[0]);
 
-               return ;
 
-        }
 
-        //更新
 
-        $dcd_no =  $dcd_res[0]['Data'][0]["Code"];
 
-        $this->editData($data['id'],['dc_no'=>$dcd_no,'dc_status'=>1,'update_time'=>time()],$info['orderinfo'],1,1,'dc',$dcd_res[1],$dcd_res[0]);
 
-     }
 
-    
 
-     public function cxDrd($info){
 
-         $r = $this->apiyyv1->xdlsCxDcd($info['dc_no'],$this->getToken(130));
 
-         if(empty($r[0]['Data'])){
 
-             return ;
 
-         }
 
-         //更新销售单数据
 
-         //$xs_no = json_encode($r[0]['Data']);
 
-         $this->editData($info['id'],['dc_status'=>3,'update_time'=>time()],$info['order_no'],8,1,'dc_xc',$r[1],$r[0]);
 
-     }
 
-     
 
-     public function checkDrd($info){
 
-         $r = $this->apiyyv1->drdcxBydcd($info['dc_no'],$this->getToken(130));
 
-         
 
-         //如果获取对应调入单没有成功 
 
-         if(empty($r[0]['Data'][0]['docno'])){
 
-             $this->editData($info['id'],['dr_status'=>-1,'update_time'=>time()],$info['order_no'],6,1,'dr',$r[1],$r[0]);
 
-             return ;
 
-         }
 
-         $dr_no = $r[0]['Data'][0]["docno"];
 
-        
 
-         $this->editData($info['id'],['dr_no'=>$dr_no,'dr_status'=>1,'update_time'=>time()],$info['order_no'],6,1,'dr',$r[1],$r[0]);
 
-         
 
-         //提交调入单 
 
-         $rr = $this->apiyyv1->drdSubmit(['number'=>$dr_no],$this->getToken(130));
 
-         if(!$rr[0]['Data'][0]['IsSucess']){
 
-             $this->editData($info['id'],['dr_status'=>-2,'update_time'=>time()],$info['order_no'],6,2,'dr',$rr[1],$rr[0]);
 
-             return;
 
-         }
 
-         $this->editData($info['id'],['dr_status'=>2,'update_time'=>time()],$info['order_no'],6,2,'dr',$rr[1],$rr[0]);
 
-         //审核调入单
 
-         $rrr = $this->apiyyv1->drdApprove(['number'=>$dr_no],$this->getToken(130));
 
-         if(!$rrr[0]['Data'][0]['IsSucess']){
 
-             $this->editData($info['id'],['dr_status'=>-3,'update_time'=>time()],$info['order_no'],6,3,'dr',$rrr[1],$rrr[0]);
 
-             return;
 
-         }
 
-         $this->editData($info['id'],['dr_status'=>3,'update_time'=>time()],$info['order_no'],6,3,'dr',$rrr[1],$rrr[0]);
 
-     }
 
-     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")
 
-         ]);
 
-     }
 
- }
 
 
  |