| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- <?php
- namespace App;
- use Carbon\Carbon;
- use Illuminate\Database\Eloquent\Model;
- use Illuminate\Support\Facades\DB;
- class OracleDocOrderPackingSummary extends Model
- {
- protected $connection="oracle";
- protected $primaryKey="traceid";
- protected $table = 'doc_order_packing_summary';
- protected $fillable = ['traceid','orderno','grossweight','addwho','addtime','editwho','edittime'];
- public $timestamps=false;
- public function getIncrementing(){ return false;}
- static public function saveOrUpdateWeightByBatch($batchNumber,$weight){
- $numbersesOfBatch=OracleDOCWaveDetails::select('picktotraceid as logistic_number','act_allocation_details.orderno')->where('doc_wave_details.waveno',$batchNumber)
- ->leftJoin('act_allocation_details','doc_wave_details.orderno','act_allocation_details.orderno')->get();
- $oneIdxAsrsReceive=OracleDocOrderPackingSummary::where('traceid',$numbersesOfBatch[0]['logistic_number'])->first();
- if(!$oneIdxAsrsReceive){
- $inserts='';
- $values=[];
- foreach($numbersesOfBatch as $numbers){
- $inserts .= " into doc_order_packing_summary (traceid,orderno,grossweight,addwho,addtime,editwho,edittime)values(?,?,?,?,?,?,?) ";
- $values[] = $numbers['logistic_number']??'';
- $values[] = $numbers['orderno']??'';
- $values[] = $weight;
- $values[] = 'WAS';
- $values[] = Carbon::now();
- $values[] = 'WAS';
- $values[] = Carbon::now();
- }
- DB::connection('oracle')->insert("insert all {$inserts} select * from dual",$values);
- }else{
- $logisticNumbers=$numbersesOfBatch->map(function($numbers){return $numbers['logistic_number'];});
- OracleDocOrderPackingSummary::whereIn('traceid',$logisticNumbers)->update(['grossweight'=>$weight]);
- }
- }
- }
|