| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272 | 
							- <?php
 
- /**
 
-  * 系统自动处理在途库存的香港问题
 
-  */
 
- class Model_logic_u9action 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_order","logic_order");
 
-         $this->load->_model("Model_logic_ding","logic_ding");
 
-         $this->load->_model("Model_zzquque_u9","zzquque_u9");
 
-         $this->load->_model("Model_systemtransfer","systemtransfer");
 
-         $this->load->_model("Model_shop","shop");
 
-         $this->load->_model("Model_zzququeu9_logs","zzququeu9_logs");
 
-         $this->load->_model('Model_logic_tools','logic_tools');
 
-     }
 
-     public function getToken($type){
 
-         $name = "get_yytoken_".$type;
 
-         $token = $this->settingtest->$name();
 
-         return $token;
 
-     }
 
-    
 
-     /**
 
-      * 工厂加工生产外销的订单
 
-      */
 
-     public function waixiao(){
 
-         //入库单这里用字段标准收货单进行了 处理  主要是不想动u9队列的字段了   所以这里用收货单的字段
 
-         $list = $this->zzquque_u9->find_all("type = 20 and bzsh_status= 0 and xs_status = 0");
 
-         if(!empty($list)){
 
-             foreach($list as $k=>$v){
 
-                 $this->doRkd($v);
 
-             }
 
-         }
 
-         sleep(3);
 
-         //审核的不需要再等待了
 
-         $list = $this->zzquque_u9->find_all("type = 20 and bzsh_status= 1 and xs_status = 0 and bzch_status = 0");
 
-         if(!empty($list)){
 
-             foreach($list as $k=>$v){
 
-                 $this->checkRkd($v);
 
-             }
 
-         }
 
-         $list = $this->zzquque_u9->find_all("type = 20 and bzsh_status= 3 and xs_status = 0 and bzch_status = 0");
 
-         if(!empty($list)){
 
-             foreach($list as $k=>$v){
 
-                 $this->createXsd($v);
 
-             }
 
-         }
 
-         sleep(3);
 
-         $list = $this->zzquque_u9->find_all("type = 20 and bzsh_status= 3 and xs_status = 1 and bzch_status = 0");
 
-         if(!empty($list)){
 
-             foreach($list as $k=>$v){
 
-                 $this->xcXsAndCreateScd($v);
 
-             }
 
-         }
 
-         sleep(3);
 
-         //审核标准出货单
 
-         $list = $this->zzquque_u9->find_all("type = 20 and bzsh_status= 3 and xs_status = 3 and bzch_status = 1");
 
-         if(!empty($list)){
 
-             foreach($list as $k=>$v){
 
-                 $this->checkBzch($v);
 
-             }
 
-         }
 
-        
 
-     }
 
-     //进行入库单操作
 
-     public function doRkd($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->systemtransfer->read($data['child_order_no']);
 
-         $order_info = $this->logic_order->getInfo("number = '".$info['number']."'","number,shop");
 
-         $shop_info = $this->shop->read($order_info['shop']);
 
-         if(empty($shop_info)){
 
-             $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,"没有找到子订单号");
 
-         }
 
-         $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'],
 
-             'yyid'=>$shop_info['yyid'],
 
-             '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 checkRkd($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 createXsd($info){
 
-             $order_info = $this->logic_order->getInfo('number = "'.$info['order_no'].'"',"number,shop,shouldmoney");
 
-             if(empty($order_info)){
 
-                 return [];
 
-             }
 
-             $shop = $this->shop->read($order_info['shop']);
 
-             $tren_info = $this->systemtransfer->read($info['child_order_no']);
 
-             $token = $this->getToken('120');
 
-             $params = [
 
-                 'yyid'=>$shop['yyid'],
 
-                 'number'=>$info['order_no'],
 
-                 'time'=>time(),
 
-                 'list'=>[
 
-                     [
 
-                         'jm'=>$tren_info['jm'],
 
-                         'dcsl'=>1,
 
-                         'final_price'=>1,
 
-                     ]
 
-                 ]
 
-             ];
 
-             //由于工厂自己的销售单 比外贸的多一些设置 所以又启用了一些新的方法
 
-             $res = $this->apiyyv1->gcxsdWaiXiaoCreate($params,$token);
 
-             if($res[0]['Data'][0]['m_isSucess'] != 1){
 
-                 $this->editData($info['id'],['xs_status'=>-1,'update_time'=>time()],$info['order_no'],2,1,'xs',$res[1],$res[0]);
 
-                 return $this->logic_tools->ret_arr(1,"销售单创建成功");
 
-             }else{
 
-                 $this->editData($info['id'],['xs_no'=>$res[0]['Data'][0]['m_code'],'xs_status'=>1,'update_time'=>time()],$info['order_no'],2,1,'xs',$res[1],$res[0]);
 
-                 return $this->logic_tools->ret_arr(-1,"销售单创建失败");
 
-             }
 
-     }
 
-     //
 
-     public function checkXsd($info){
 
-     }
 
-     //对销售单进行检查 并创建标准出货单
 
-     public function xcXsAndCreateScd($info){
 
-         $token = $this->getToken(120);
 
-         $res = $this->apiyyv1->xsdCxByNo($info['xs_no'],$token);
 
-         //如果没审核 那么就不管
 
-         if(empty($res[0]['Data'])){
 
-             return ;
 
-         }
 
-         // 审核了 
 
-         $list = $res[0]['Data'];
 
-        
 
-         if($list[0]['status'] < 3){
 
-             return ;
 
-         }
 
-         foreach($list as $k=>$v){
 
-             $list[$k]['dcsl'] = 1;
 
-         }
 
-         $tran_info = $this->systemtransfer->read($info['child_order_no']);
 
-         $drckbm = '';
 
-         if(stripos($tran_info['features'],'-126-') !== false)
 
- 		{
 
-             $drckbm = '12003';//进入发条库
 
- 		}
 
- 		else if(stripos($tran_info['features'],'-127-') !== false)
 
- 		{
 
-             $drckbm = '12004';//进入发块库
 
- 		}
 
- 		else
 
- 		{
 
-             $drckbm = '12006';//其它进入完成库
 
- 		}
 
-         if(empty($drckbm)){
 
-             $this->editData($info['id'],['bzch_status'=>-1,'update_time'=>time()],$info['order_no'],5,1,'bzch',[],[
 
-                 'code'=>-1,
 
-                 'msg'=>'标准出库的信息异常,请查看'
 
-             ]);
 
-             return $this->logic_tools->ret_arr(-1,"标准出库的信息异常,请查看");
 
-         }
 
-         $tmp_info = [
 
-             'zq_u9_id'=>$info['id'],
 
-             'drckbm'=> $drckbm,
 
-             'number'=>$info['order_no'],
 
-             'order_no'=>$info['order_no'],
 
-             'xs_no'=>$info['xs_no'],
 
-             'xs_two_no'=>$info['xs_no'],
 
-             'list'=>$list
 
-         ];
 
-         $res = $this->apiyyv1->bzchCreate($tmp_info,$token);
 
-         if($res[0]['Data'][0]['m_isSucess'] != 1){
 
-             $this->editData($info['id'],['bzch_status'=>-1,'update_time'=>time()],$info['order_no'],5,1,'bzch',$res[1],$res[0]);
 
-             return $this->logic_tools->ret_arr(-1,"标准出库的信息异常,请查看");
 
-         }else{
 
-             $this->editData($info['id'],['bzch_no'=>$res[0]['Data'][0]['m_code'],'bzch_status'=>1,'xs_status'=>3,'update_time'=>time()],$info['order_no'],5,1,'bzch',$res[1],$res[0]);
 
-             return $this->logic_tools->ret_arr(1,"标准出库创建成功");
 
-         }
 
-     }
 
-     //对标准出货单进行审核
 
-     public function checkBzch($info){
 
-         $res = $this->apiyyv1->bzchSubmitAndApprove(['number'=>$info['bzch_no']],$this->getToken(120));
 
-         // print_r($res[0]);
 
-         // print_r($res[1]);
 
-         if($res[0]['Data'][0]['m_isSucess'] != 1){
 
-             $this->editData($info['id'],['bzch_status'=>-2,'update_time'=>time()],$info['order_no'],5,2,'bzch_sh',$res[1],$res[0]);
 
-         }else{
 
-             $this->editData($info['id'],['bzch_no'=>$res[0]['Data'][0]['m_code'],'bzch_status'=>3,'update_time'=>time()],$info['order_no'],5,2,'bzch_sh',$res[1],$res[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")
 
-         ]);
 
-     }
 
- }
 
-  
 
 
  |