コード例 #1
0
ファイル: SalesDtl.php プロジェクト: jimminababan/sangkilbiz3
 public function convertRelease($attribute)
 {
     if ($this->id_uom_release === null || $this->id_uom == $this->id_uom_release) {
         $this->sales_qty_release += $this->qty_release;
     } else {
         $uoms = ProductUom::find()->where(['id_product' => $this->id_product])->indexBy('id_uom')->all();
         $this->sales_qty_release += $this->qty_release * $uoms[$this->id_uom_release]->isi / $uoms[$this->id_uom]->isi;
     }
     if ($this->sales_qty_release > $this->sales_qty) {
         $this->addError($attribute, 'Total qty release large than purch qty');
     }
 }
コード例 #2
0
 private function renderLinesPrintNew($preparedLines)
 {
     $res = [];
     // var_dump($preparedLines);
     $no = 0;
     foreach ($preparedLines as $k => $l) {
         $res[$no] = ['qty' => '<div style="float:left;width:10mm;">' . ($l['no'] ? $l['no'] : '&nbsp;') . '</div>
                 <div>' . floatval($l['qty']) . ' ' . $l['uom'] . '</div><div style="clear:both;"></div>', 'part_no' => $l['part_no']];
         // var_dump($l);
         if (isset($l['name2'])) {
             if (array_key_exists('set', $l) && count($l['set']) && isset($l['name'])) {
                 $res[$no]['name'] = $l['name'];
             } else {
                 $res[$no]['name'] = $l['name2'];
             }
         } else {
             $prod = ProductProduct::findOne($l['product_id']);
             $res[$no]['name'] = '[' . $prod['default_code'] . '] ' . $prod['name_template'] . '<br/>' . $l['name'];
         }
         if (isset($l['note_line_material'])) {
             if (count($l['note_line_material']) == 1) {
                 foreach ($l['note_line_material'] as $line_material) {
                     if ($l['product_id'] != $line_material['product_id']) {
                         $modelprod = ProductProduct::findOne($line_material['product_id']);
                         $uom = ProductUom::findOne($line_material['product_uom']);
                         $res[$no]['name'] .= '<br/>Consist Of : <ul style="margin:0;">';
                         $printSp_note = '';
                         foreach ($modelprod->superNoteProductRels as $spnotes) {
                             $superNotes = SuperNotes::findOne($spnotes['super_note_id']);
                             $printSp_note .= '<br/>' . $superNotes['template_note'];
                         }
                         $res[$no]['name'] .= '<li>[' . $modelprod['default_code'] . '] ' . $modelprod['name_template'] . ' <strong>(' . $line_material['qty'] . ' ' . $uom['name'] . '</strong>)<br/>' . $line_material['desc'] . $printSp_note . '</li>';
                     }
                 }
             } else {
                 if (count($l['note_line_material']) > 1) {
                     $res[$no]['name'] .= '<br/>Consist Of : <ul style="margin:0;">';
                     $batch = "";
                     foreach ($l['note_line_material'] as $line_material) {
                         if ($line_material['prodlot_id']) {
                             $prodlot = StockProductionLot::findOne($line_material['prodlot_id']);
                             $batch = '<strong>SN:</strong> ' . $prodlot['name'] . ' ' . $line_material['desc'];
                         }
                         $modelprod = ProductProduct::findOne($line_material['product_id']);
                         $uom = ProductUom::findOne($line_material['product_uom']);
                         $printSp_note = '';
                         foreach ($modelprod->superNoteProductRels as $spnotes) {
                             $superNotes = SuperNotes::findOne($spnotes['super_note_id']);
                             $printSp_note .= $superNotes['template_note'];
                         }
                         $res[$no]['name'] .= '<li>[' . $modelprod['default_code'] . '] ' . $modelprod['name_template'] . ' <strong>(' . $line_material['qty'] . ' ' . $uom['name'] . '</strong>) <br/>' . $line_material['desc'] . $batch . $printSp_note . '</li>';
                     }
                 }
             }
         }
         // if PRODUCT IS SET TYPE
         if (array_key_exists('set', $l)) {
             $res[$no]['name'] .= '<br/>Consist Of : <ul style="margin:0;">';
             foreach ($l['set'] as $set) {
                 $res[$no]['name'] .= '<li>' . $set['name'] . '</li>';
             }
             $res[$no]['name'] .= '</ul>';
         }
         if (array_key_exists('batches', $l) && count($l['batches']) >= 1) {
             $res[$no]['name'] .= '<br/>' . $this->prepareBathesRender($l);
         }
         $no++;
     }
     /*echo '----------';
       var_dump($res);*/
     return $res;
 }