コード例 #1
0
 /**
  * 
  * @param \biz\base\Event $event
  * @param \biz\models\TransferHdr $model
  */
 public function receiveReceiveEnd($event, $model)
 {
     $noticeDtls = [];
     foreach ($model->transferDtls as $detail) {
         if ($detail->transfer_qty_send != $detail->transfer_qty_receive) {
             $noticeDtl = new TransferNoticeDtl();
             $noticeDtl->id_product = $detail->id_product;
             $noticeDtl->qty_selisih = $detail->transfer_qty_receive - $detail->transfer_qty_send;
             $noticeDtl->id_uom = $detail->id_uom;
             $noticeDtls[] = $noticeDtl;
         }
     }
     if (count($noticeDtls)) {
         $notice = new TransferNotice();
         $notice->description = 'Qty kirim tidak sama dengan qty terima';
         $notice->notice_date = date('Y-m-d');
         $notice->status = TransferNotice::STATUS_CREATE;
         $notice->id_transfer = $model->id_transfer;
         if (!$notice->save()) {
             throw new \Exception(implode("\n", $notice->firstErrors));
         }
         Yii::$app->trigger(Hooks::E_TNCRE_21, new Event([$notice]));
         foreach ($noticeDtls as $noticeDtl) {
             $noticeDtl->id_transfer = $notice->id_transfer;
             if (!$noticeDtl->save()) {
                 throw new \Exception(implode("\n", $noticeDtl->firstErrors));
             }
             Yii::$app->trigger(Hooks::E_TNCRE_22, new Event([$notice, $noticeDtl]));
         }
         Yii::$app->trigger(Hooks::E_TNCRE_23, new Event([$notice]));
     }
 }
コード例 #2
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getTransferNoticeDtls()
 {
     return $this->hasMany(TransferNoticeDtl::className(), ['id_transfer' => 'id_transfer'])->viaTable('transfer_notice', ['id_transfer' => 'id_transfer']);
 }
コード例 #3
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getTransferNoticeDtl()
 {
     return $this->hasOne(TransferNoticeDtl::className(), ['id_transfer' => 'id_transfer', 'id_product' => 'id_product']);
 }