|
@@ -10,6 +10,7 @@ namespace App\Service;
|
|
class DwyService extends Service
|
|
class DwyService extends Service
|
|
{
|
|
{
|
|
private $url = 'https://tm.dwycloud.com';
|
|
private $url = 'https://tm.dwycloud.com';
|
|
|
|
+ private $url1 = 'https://tm.dwycloud.com';
|
|
|
|
|
|
protected $num = 0;
|
|
protected $num = 0;
|
|
|
|
|
|
@@ -84,6 +85,67 @@ class DwyService extends Service
|
|
return [$lind_bind,$lead_out];
|
|
return [$lind_bind,$lead_out];
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+ public function setBoxData1($token,$dv,$data,$box_list,$old_data){
|
|
|
|
+ //
|
|
|
|
+ $this->num = 0;
|
|
|
|
+
|
|
|
|
+// 测试
|
|
|
|
+// $token = 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI1ODg5MzM1OTMwMTE3MjAxOTIiLCJhdXRoIjoiUk9MRV9JTlRFUkZBQ0UsUk9MRV9TRU5EX0JSQU5EX1NVUFBMSUVSLFJPTEVfQlJBTkRfU1VQUExJRVIsUk9MRV9VU0VfQlJBTkRfU1VQUExJRVIsUk9MRV9PVVRFUl9VU0VSLFJPTEVfSU5ORVJfVVNFUiIsInRva2VuSWQiOiIyIiwiZXhwIjoxNzIxMDExNjcwfQ.T8M-h2_EbBLU9xxMUP52c4B_OtzIRLWdLOYru8qE0Zi0k9PfIfYff8TxaQ9Kux8j6_2zJW1asSODjK3slNsNYQ';
|
|
|
|
+// $dv = 'cff4dc68c73115b';/**/
|
|
|
|
+// $box_list = [
|
|
|
|
+// 'CK00009',
|
|
|
|
+// 'CK00018',
|
|
|
|
+// ];
|
|
|
|
+//
|
|
|
|
+// $old_data = json_decode(file_get_contents('38929.txt'),true);
|
|
|
|
+// var_dump($old_data);die;
|
|
|
|
+// 处理数据
|
|
|
|
+// list ($data,$box_list) = $this->clearData($old_data);
|
|
|
|
+// var_dump($data);die;
|
|
|
|
+// var_dump($box_list);die;
|
|
|
|
+// dd($old_data);die;
|
|
|
|
+ //请求获取仓位卷码信息
|
|
|
|
+ $box_roll_list = $this->getBoxData1($dv,$token,$box_list);
|
|
|
|
+// var_dump($box_roll_list);die;
|
|
|
|
+ $new_data = [];
|
|
|
|
+ foreach ($data as $k=>$box_detail){
|
|
|
|
+ foreach ($box_detail['detail'] as $v){
|
|
|
|
+
|
|
|
|
+ foreach ($box_roll_list as $roll_number=>$roll_detail){
|
|
|
|
+
|
|
|
|
+ if(in_array($v,$roll_detail['detail'])){
|
|
|
|
+ if(!isset($new_data[$roll_detail['box_code']])) $new_data[$roll_detail['box_code']] = [
|
|
|
|
+ 'detail' => [],
|
|
|
|
+ 'fake_qty' => $data[$roll_detail['box_code']]['fake_qty'],
|
|
|
|
+ 'material_code' => $roll_detail['material_code'],
|
|
|
|
+ 'roll_number' => $roll_number
|
|
|
|
+ ];
|
|
|
|
+ $new_data[$roll_detail['box_code']]['detail'][] = $v;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //补全数据
|
|
|
|
+ if($dv === 'a6a672c3e458bed2'&&false){
|
|
|
|
+ $new_data = $this->setBoxFake($new_data);
|
|
|
|
+ list($lind_bind,$lead_out) = $this->setNewData1($old_data,$new_data);
|
|
|
|
+ }else{
|
|
|
|
+ list($lind_bind,$lead_out) = $this->setNewData2($old_data,$new_data);
|
|
|
|
+ }
|
|
|
|
+//
|
|
|
|
+ //把数据拼回去
|
|
|
|
+// var_dump($data);die;
|
|
|
|
+// var_dump($old_data);die;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+// var_dump($lind_bind);
|
|
|
|
+// var_dump($lead_out);die;
|
|
|
|
+// die('ddd');
|
|
|
|
+ return [$lind_bind,$lead_out];
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
|
|
public function clearData($data){
|
|
public function clearData($data){
|
|
$return = [];
|
|
$return = [];
|
|
@@ -163,6 +225,56 @@ class DwyService extends Service
|
|
// var_dump($lead_out);die;
|
|
// var_dump($lead_out);die;
|
|
return [$lind_bind,['brand_out_stock_list'=>$lead_out]];
|
|
return [$lind_bind,['brand_out_stock_list'=>$lead_out]];
|
|
}
|
|
}
|
|
|
|
+ private function setNewData2($old_data,$data){
|
|
|
|
+// var_dump($old_data);
|
|
|
|
+ $code_key_data = [];
|
|
|
|
+ foreach ($data as $v){
|
|
|
|
+ if(!isset($code_key_data[$v['material_code']])) $code_key_data[$v['material_code']] = [];
|
|
|
|
+ $code_key_data[$v['material_code']] = array_merge($code_key_data[$v['material_code']],$v['detail']);
|
|
|
|
+ }
|
|
|
|
+ $lind_bind = $old_data['lead_bind'];
|
|
|
|
+ $lind_bind_key_list = [];
|
|
|
|
+ foreach ($lind_bind['material_list'] as &$l){
|
|
|
|
+// unset($l['brand_qr_code_list']);
|
|
|
|
+// $l['qty'] = $l['fake_qty'];
|
|
|
|
+// $l['brand_qr_code_list'] = $this->getValues( $code_key_data[$l['material_code']],$l['qty']);
|
|
|
|
+ $lind_bind_key_list[$l['order_item_id']] = [
|
|
|
|
+ 'product_code' => $l['product_code'],
|
|
|
|
+ 'product_code_show' => $l['product_code_show'],
|
|
|
|
+ 'process_title' => $l['process_title']??'',
|
|
|
|
+ 'color' => $l['color']??'',
|
|
|
|
+ 'process_title_two' => $l['process_title_two']??'',
|
|
|
|
+ 'color_two' => $l['color_two']??'',
|
|
|
|
+ 'mat_material_a' => $l['mat_material_a']
|
|
|
|
+ ];
|
|
|
|
+ unset($l['fake_qty']);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $lead_out = $old_data['lead_out']['brand_out_stock_list'];
|
|
|
|
+ foreach ($lead_out as &$ll){
|
|
|
|
+ foreach ($ll['brand_out_stock_dtl'] as &$lll){
|
|
|
|
+// unset($lll['brand_qr_code_list']);
|
|
|
|
+// $lll['qty'] = $ll['brand_out_stock_dtl'][0]['fake_qty'];
|
|
|
|
+// $lll['qty'] = $lll['fake_qty'];
|
|
|
|
+// unset($lll['fake_qty']);
|
|
|
|
+
|
|
|
|
+// var_dump($data[$ll['send_box_code']]);
|
|
|
|
+// $lll['brand_qr_code_list'] = implode(',',$data[$ll['send_box_code']]['detail']);
|
|
|
|
+// $lll['brand_qr_code_list'] = implode(',',$this->getValues( $data[$ll['send_box_code']]['detail'],$lll['qty']));;
|
|
|
|
+ $lll['product_code'] = $lind_bind_key_list[$lll['bus_no']]['product_code'] ?? '';
|
|
|
|
+ $lll['product_code_show'] = $lind_bind_key_list[$lll['bus_no']]['product_code_show'] ?? '';
|
|
|
|
+ $lll['process_title'] = $lind_bind_key_list[$lll['bus_no']]['process_title'] ?? '';
|
|
|
|
+ $lll['color'] = $lind_bind_key_list[$lll['bus_no']]['color'] ?? '';
|
|
|
|
+ $lll['process_title_two'] = $lind_bind_key_list[$lll['bus_no']]['process_title_two'] ?? '';
|
|
|
|
+ $lll['color_two'] = $lind_bind_key_list[$lll['bus_no']]['color_two'] ?? '';
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ file_put_contents('1.txt',json_encode(['lind_bind'=>$lind_bind,'lead_out'=>['brand_out_stock_list'=>$lead_out]]));
|
|
|
|
+// var_dump($lind_bind);
|
|
|
|
+// var_dump($lead_out);die;
|
|
|
|
+ return [$lind_bind,['brand_out_stock_list'=>$lead_out]];
|
|
|
|
+ }
|
|
private function setNewData1($old_data,$data){
|
|
private function setNewData1($old_data,$data){
|
|
// var_dump($old_data);
|
|
// var_dump($old_data);
|
|
$code_key_data = [];
|
|
$code_key_data = [];
|
|
@@ -274,6 +386,44 @@ class DwyService extends Service
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+ private function getBoxData1($dv,$token,$box_list){
|
|
|
|
+
|
|
|
|
+ //为了取商标卷码
|
|
|
|
+ $res = $this->post_helper($this->url1.'/jbl/api/module-data/device/device/diy/device_code',['device_code'=>$dv],$token);
|
|
|
|
+ $res = json_decode($res,true);
|
|
|
|
+ $detail = [];
|
|
|
|
+ $qr_codes = [];
|
|
|
|
+ if(isset($res['data'])){
|
|
|
|
+ foreach ($res['data'] as $v){
|
|
|
|
+ if(in_array($v['box_code'],$box_list)){
|
|
|
|
+ $detail[$v['roll_qr_code']] = $v['box_code'];
|
|
|
|
+ $qr_codes[] = $v['roll_qr_code'];
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }else{
|
|
|
|
+ return [false,''];
|
|
|
|
+ }
|
|
|
|
+ //为了取仓对应卷码进行获取
|
|
|
|
+ $res = $this->post_helper($this->url1.'/jbl/api/module-data/brand_sale_order/brand_sale_order/diy/find_roll_qr_code_list',['roll_qr_code_list'=>$qr_codes],$token);
|
|
|
|
+ $res = json_decode($res,true);
|
|
|
|
+ $qr_roll_list = [];
|
|
|
|
+ if(isset($res['data'])){
|
|
|
|
+ foreach ($res['data'] as $v){
|
|
|
|
+// if(!empty($v['out_brand_qr_code'])) continue;
|
|
|
|
+ if(!isset($qr_roll_list[$v['roll_qr_code']]['material_code'])) {
|
|
|
|
+ $qr_roll_list[$v['roll_qr_code']]['material_code'] = $v['material_code'];
|
|
|
|
+ $qr_roll_list[$v['roll_qr_code']]['box_code'] = $detail[$v['roll_qr_code']];
|
|
|
|
+ }
|
|
|
|
+ $qr_roll_list[$v['roll_qr_code']]['detail'][] = $v['brand_qr_code'];
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ return $qr_roll_list;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
|
|
//限制领标
|
|
//限制领标
|
|
public function setLimitForBoxOut($data){
|
|
public function setLimitForBoxOut($data){
|