|
@@ -0,0 +1,117 @@
|
|
|
|
+<?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;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+}
|