123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- <?php
- namespace App\Http\Controllers\Api;
- use App\Service\EmployeeService;
- use App\Service\SysMenuService;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Redis;
- class DwyController extends BaseController
- {
- public function openCommand(Request $request){
- $data = $request->all();
- $device_id = $data['device_code'];
- $box_code = $data['box_code'];
- $key = $device_id.'_'.$box_code;
- Redis::set($key,1);
- return ['status'=>200];
- }
- public function getOpenCommand(Request $request){
- $data = $request->all();
- $device_id = $data['device_code'];
- $box_code = explode(',',$data['box_code']);
- $key = $device_id.'_'.$box_code[0];
- $return = 201;
- $status = Redis::get($key);
- if($status) {
- $return = 200;
- Redis::del($key);
- }
- return ['status'=>$return];
- }
- public function setLb(Request $request){
- $param = $request->all();
- // $param = [
- // 'token'=>'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNzM2OTUyNTA3NTI5NTQzNzMiLCJhdXRoIjoiUk9MRV9JTk5FUl9VU0VSLFJPTEVfQlJBTkRfQVJSRVNULFJPTEVfQURNSU4iLCJ0b2tlbklkIjoiOTUwIiwiZXhwIjoxNzA3OTcxMTcxfQ.2VQ9Wqmk4rvKAcTsQPw59llBbeXjalKDGIZA4kesnuOJ0POmPVOVlRLbTtUDxl0XiFdPDUrKzuEFl2DXSgQdJg',
- // 'list'=>[
- // [
- // 'title'=>'优选A7家具板ENF小标',
- // 'num'=>'20',
- // ],[
- // 'title'=>'植萃除醛圆标',
- // 'num'=>'10',
- // ],
- // ],
- // ];
- // dd(json_encode($param));
- $token = $param['token'];
- $list = $param['list'];
- $url = 'http://121.36.131.68:7774/jbl/api/module-data/brand_in_stock/brand_in_stock/diy/box_inventory';
- $header = [
- 'Content-Type:application/json',
- 'Authorization:'.$token,
- ];
- $data = $this->post_helper($url,'{"device_code":"DV00001"}',$header);
- // var_dump($data);
- $data = json_decode($data,true);
- $a = 4;
- foreach ($data as $k=>&$v){
- if($v['box_code_show'] == '设备仓') {
- unset($data[$k]);
- continue;
- }
- if($v['qty'] <= 0) {
- unset($data[$k]);
- continue;
- }
- if(!isset($v['send_qty'])) $v['send_qty'] = 0;
- foreach ($list as $kk=>$vv ){
- if($vv['num'] == 0) continue;
- if($v['material_code_show'] === $vv['title']){
- if(($v['qty']-$v['send_qty'])>$vv['num']) {
- $list[$kk]['num'] -= $vv['num'];
- $v['send_qty'] += $vv['num'];
- } else{
- $list[$kk]['num'] -= ($v['qty']-$v['send_qty']);
- $v['send_qty'] += ($v['qty']-$v['send_qty']);
- }
- }
- }
- //测试用
- if($v['box_code'] == 'CK00012'){
- $v['send_qty'] = $a;
- }
- $a++;
- }
- sort($data);
- return ['status'=>200,'data'=>$data];
- }
- public function post_helper($url, $data,$header){
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($ch, CURLOPT_TIMEOUT, 30);
- if(!is_null($data)) curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
- $r = curl_exec($ch);
- curl_close($ch);
- return $r;
- }
- }
|