if (!$shiftTransfer) {
$shiftTransfer = new ShiftTransfer;
}
-
- $loadDataShiftRemains = null;
-
- if ($shiftTransfer->load(Yii::$app->request->post())) {
+ if ($shiftTransfer->load(Yii::$app->request->post()) && $shiftTransfer->validate()) {
+ $shiftTransfer->save();
+ ShiftRemains::deleteAll(['shift_transfer_id' => $shiftTransfer->id]);
+ $modelsShiftRemains = MultipleModel::createMultipleModel(ShiftRemains::class,
+ 'ShiftTransfer', 'shiftRemains');
$postShiftTransfer = Yii::$app->request->post('ShiftTransfer');
- $loadDataShiftRemains = ArrayHelper::getValue($postShiftTransfer, 'shiftRemainsCopy');
-
- if ($shiftTransfer->id || ($shiftTransfer->validate() && $shiftTransfer->save())) {
- ShiftRemains::deleteAll(['shift_transfer_id' => $shiftTransfer->id]);
- $modelsShiftRemains = MultipleModel::createMultipleModel(ShiftRemains::class,
- 'ShiftTransfer', 'shiftRemainsCopy');
- if (!empty($loadDataShiftRemains)) {
- MultipleModel::loadMultipleFromArray($modelsShiftRemains, $loadDataShiftRemains, '', []);
- }
-
- foreach ($modelsShiftRemains as $modelsShiftRemain) {
- $modelsShiftRemain->shift_transfer_id = $shiftTransfer->id;
- if ($modelsShiftRemain->validate()) {
- $modelsShiftRemain->save();
- } else {
- var_dump($modelsShiftRemain->getErrors());
- die;
- }
- }
-
- if ($shiftTransfer->validate()) {
- $shiftTransfer->goods_transfer_summ = array_sum(ArrayHelper::getColumn($shiftTransfer->shiftRemains, 'remains_summ'));
- $shiftTransfer->goods_transfer_count = array_sum(ArrayHelper::getColumn($shiftTransfer->shiftRemains, 'remains_count'));
- $shiftTransfer->discrepancy_pieces = array_sum(ArrayHelper::getColumn($shiftTransfer->shiftRemains, 'fact_and_1c_diff'));
- $shiftTransfer->discrepancy_rubles = array_sum(ArrayHelper::getColumn($shiftTransfer->shiftRemains, 'remains_1c'));
- $shiftTransfer->save();
-
- return $this->redirect(['/shift-transfer/view', 'id' => $shiftTransfer->id]);
+ $loadDataShiftRemains = ArrayHelper::getValue($postShiftTransfer, 'shiftRemains');
+ if (!empty($loadDataShiftRemains)) {
- MultipleModel::loadMultipleFromArray($modelsShiftRemains, $loadDataShiftRemains, '', []);
++ MultipleModel::loadMultipleFromArray($modelsShiftRemains, $loadDataShiftRemains , '',[]);
+ }
+ foreach ($modelsShiftRemains as $modelsShiftRemain) {
+ $modelsShiftRemain->shift_transfer_id = $shiftTransfer->id;
+ if ($modelsShiftRemain->validate()) {
+ $modelsShiftRemain->save();
+ } else {
+ var_dump($modelsShiftRemain->getErrors()); die;
}
}
+ return $this->redirect(['/shift-transfer/view', 'id' => $shiftTransfer->id]);
}
$isCreate = false;