|
@@ -18,7 +18,7 @@ class InvoiceOrderService extends Service
|
|
|
try{
|
|
|
DB::beginTransaction();
|
|
|
$material_model = InvoiceOrder::where('order_number',$data['order_number'])->first();
|
|
|
- $material_model->contact_order_number = $data['contact_order_number'];
|
|
|
+ $material_model->sales_order_id = $data['sales_order_id'];
|
|
|
$material_model->send = $data['send'];
|
|
|
$material_model->send_time = $data['send_time'];
|
|
|
$material_model->take = $data['take'];
|
|
@@ -42,6 +42,11 @@ class InvoiceOrderService extends Service
|
|
|
'product_id' => $value['product_id'],
|
|
|
'number' => $value['number'],
|
|
|
'mark' => $value['mark'] ?? '',
|
|
|
+ 'title' => $value['title'] ?? '',
|
|
|
+ 'code' => $value['code'] ?? '',
|
|
|
+ 'size' => $value['size'] ?? '',
|
|
|
+ 'unit' => $value['unit'] ?? 0,
|
|
|
+ 'bar_code' => $value['bar_code'] ?? '',
|
|
|
];
|
|
|
}
|
|
|
InvoiceOrderInfo::insert($sub);
|
|
@@ -67,7 +72,7 @@ class InvoiceOrderService extends Service
|
|
|
DB::beginTransaction();
|
|
|
$material_model = new InvoiceOrder();
|
|
|
$material_model->order_number = $data['order_number'];
|
|
|
- $material_model->contact_order_number = $data['contact_order_number'];
|
|
|
+ $material_model->sales_order_id = $data['sales_order_id'];
|
|
|
$material_model->send = $data['send'];
|
|
|
$material_model->send_time = $data['send_time'];
|
|
|
$material_model->take = $data['take'];
|
|
@@ -89,6 +94,11 @@ class InvoiceOrderService extends Service
|
|
|
'product_id' => $value['product_id'],
|
|
|
'number' => $value['number'],
|
|
|
'mark' => $value['mark'] ?? '',
|
|
|
+ 'title' => $value['title'] ?? '',
|
|
|
+ 'code' => $value['code'] ?? '',
|
|
|
+ 'size' => $value['size'] ?? '',
|
|
|
+ 'unit' => $value['unit'] ?? 0,
|
|
|
+ 'bar_code' => $value['bar_code'] ?? '',
|
|
|
];
|
|
|
}
|
|
|
InvoiceOrderInfo::insert($sub);
|
|
@@ -111,15 +121,25 @@ class InvoiceOrderService extends Service
|
|
|
|
|
|
$order = InvoiceOrder::where('order_number',$data['order_number'])
|
|
|
->where('del_time',0)
|
|
|
- ->select('id','order_number','contact_order_number','depart_id','send','send_time','take','take_address','take_phone','logistics_company','logistics_number','crt_id','mark','state')
|
|
|
+ ->select('id','order_number','sales_order_id','send','send_time','take','take_address','take_phone','logistics_company','logistics_number','crt_id','mark','state')
|
|
|
->first();
|
|
|
if(empty($order)) return [false, '发货订单不存在或已被删除'];
|
|
|
+ $order = $order->toArray();
|
|
|
+ $order['state_title'] = InvoiceOrder::$name[$order['state']] ?? '';
|
|
|
+ $sales = SalesOrder::where('id',$order['sales_order_id'])->value('order_number');
|
|
|
+ $order['sales_order_number'] = $sales;
|
|
|
|
|
|
+ $emp_map = Employee::whereIn('id',array_unique(array_merge_recursive([$order['crt_id'],[$order['send']]])))
|
|
|
+ ->pluck('emp_name','id')
|
|
|
+ ->toArray();
|
|
|
$info = InvoiceOrderInfo::where('del_time',0)
|
|
|
->where('order_number',$data['order_number'])
|
|
|
- ->select('id','order_number','depart_id','product_id','number','mark')
|
|
|
+ ->select('id','order_number','depart_id','product_id','number','mark','title','code','size','unit','bar_code')
|
|
|
->get()->toArray();
|
|
|
$order['product'] = $info;
|
|
|
+ $order['send_name'] = $emp_map[$order['send']] ?? '';
|
|
|
+ $order['crt_name'] = $emp_map[$order['crt_id']] ?? '';
|
|
|
+ $order['crt_time'] = $order['crt_time'] ? date("Y-m-d H:i:s",$order['crt_time']): '';
|
|
|
|
|
|
return [true, $order];
|
|
|
}
|
|
@@ -154,10 +174,9 @@ class InvoiceOrderService extends Service
|
|
|
|
|
|
public function getList($data,$user){
|
|
|
$model = InvoiceOrder::where('del_time',0)
|
|
|
- ->select('id','order_number','contact_order_number','depart_id','send','send_time','take','take_address','take_phone','logistics_company','logistics_number','crt_id','mark','state')
|
|
|
+ ->select('id','order_number','sales_order_id','depart_id','send','send_time','take','take_address','take_phone','logistics_company','logistics_number','crt_id','mark','state')
|
|
|
->orderby('id', 'desc');
|
|
|
if(! empty($data['order_number'])) $model->where('order_number', 'LIKE', '%'.$data['order_number'].'%');
|
|
|
- if(! empty($data['contact_order_number'])) $model->where('contact_order_number', 'LIKE', '%'.$data['contact_order_number'].'%');
|
|
|
if(! empty($data['depart_id'])) $model->where('depart_id', $data['depart_id']);
|
|
|
if(isset($data['state'])) $model->where('state',$data['state']);
|
|
|
if(! empty($data['crt_time'][0]) && ! empty($data['crt_time'][1])) {
|
|
@@ -184,12 +203,14 @@ class InvoiceOrderService extends Service
|
|
|
->pluck('emp_name','id')
|
|
|
->toArray();
|
|
|
|
|
|
+ $sales = SalesOrder::whereIn('id',array_unique(array_column($data['data'],'sales_order_id')))->pluck('order_number','id')->toArray();
|
|
|
foreach ($data['data'] as $key => $value){
|
|
|
$data['data'][$key]['crt_time'] = $value['crt_time'] ? date("Y-m-d H:i:s",$value['crt_time']) : '';
|
|
|
$data['data'][$key]['depart_name'] = $depart_map[$value['depart_id']] ?? '';
|
|
|
$data['data'][$key]['crt_name'] = $emp_map[$value['crt_id']] ?? '';
|
|
|
$data['data'][$key]['send_name'] = $emp_map[$value['send']] ?? '';
|
|
|
$data['data'][$key]['state_name'] = InvoiceOrder::$name[$value['state']] ?? '';
|
|
|
+ $data['data'][$key]['sales_order_number'] = $sales[$value['sales_order_id']] ?? '';
|
|
|
}
|
|
|
|
|
|
return $data;
|
|
@@ -199,9 +220,9 @@ class InvoiceOrderService extends Service
|
|
|
if($this->isEmpty($data,'send')) return [false,'发货人不能为空!'];
|
|
|
if($this->isEmpty($data,'product')) return [false,'产品不能为空!'];
|
|
|
if(! empty($data['send_time'])) $data['send_time'] = $this->changeDateToDateMin($data['send_time']);
|
|
|
- if(! empty($data['contact_order_number'])) {
|
|
|
+ if(! empty($data['sales_order_id'])) {
|
|
|
$sales = SalesOrder::where('del_time',0)
|
|
|
- ->where('order_number',$data['contact_order_number'])
|
|
|
+ ->where('id',$data['sales_order_id'])
|
|
|
->first();
|
|
|
if(empty($sales)) return [false,'合同不存在或已被删除'];
|
|
|
if($sales['sales_order_type'] != SalesOrder::Order_type_two) return [false,'非快递件合同'];
|