| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- namespace App\Services;
- use App\OracleDOCOrderDetail;
- use App\OracleDOCOrderHeader;
- use App\Owner;
- Class OracleDOCOrderHeaderService
- {
- static $columns =[
- 'orderno','customerid','ordertime','soreference1','consigneeid','c_contact','consigneename','c_address1',
- 'c_city','c_province','userdefine1','addtime','edittime','notes','carrierid','carriername','lastshipmenttime','edisendflag',
- 'c_tel2','transportation','warehouseid'
- ];
- function first(array $params){
- $order = OracleDOCOrderHeader::query();
- foreach ($params as $column => $value){
- $order->where($column, $value);
- }
- return $order->first();
- }
- public function getWmsOrderOnStartDateCreate($startDate){
- /** @var Owner $owners */
- $owners = app(OrderTrackingOwnerService::class)->getTrackingOrderOwner();
- return OracleDOCOrderHeader::query()
- ->with(['oracleDOCOrderDetails', 'actAllocationDetails','oracleBASCode'])
- ->where('addTime','>=',$startDate)
- ->whereIn('customerID',data_get($owners,'*.code'))
- ->get();
- }
- public function getWmsOrderOnStartDateEdit($startDate){
- /** @var Owner $owners */
- $owners = app(OrderTrackingOwnerService::class)->getTrackingOrderOwner();
- return OracleDOCOrderHeader::query()
- ->with(['oracleDOCOrderDetails', 'actAllocationDetails','oracleBASCode'])
- ->where('EditTime','>=',$startDate)
- ->whereColumn('EditTime','<>','addTime')
- ->whereIn('customerID',data_get($owners,'*.code'))
- ->get();
- }
- /**
- * @param OracleDOCOrderHeader $orderHeader
- * @return array|mixed
- */
- public function getLogisticNumbers($orderHeader)
- {
- if(!$orderHeader ?? false){return [];}
- $actAllocationDetails = $orderHeader->actAllocationDetails ?? [];
- return array_diff(data_get($actAllocationDetails,'*.picktotraceid'),['','*',null]) ;
- }
- }
|