request->get(); $where = []; $where['mainId'] = $this->mainId; if (isset($get['status']) && is_numeric($get['status'])) { $status = $get['status']; $where['status'] = $status; } $list = WorkClass::getWorkList($where); util::success(['list' => $list]); } //锁定用材 ssh 20220320 public function actionLock() { $get = Yii::$app->request->get(); $id = $get['id'] ?? 0; $work = WorkClass::getById($id, true); WorkClass::valid($work, $this->mainId); WorkItemClass::lock($work); util::complete(); } //新建工单 shish 20220319 public function actionCreate() { $post = Yii::$app->request->post(); $post['mainId'] = $this->mainId ?? 0; $post['sjId'] = $this->sjId ?? 0; $post['shopId'] = $this->shopId ?? 0; $orderSn = orderSn::getWorkSn(); $post['workSn'] = $orderSn; $connection = Yii::$app->db; $transaction = $connection->beginTransaction(); try { $product = $post['product'] ?? ''; $post['product'] = []; if (!empty($product)) { $arr = json_decode($product, true); if (!empty($arr)) { $post['product'] = $arr; } } WorkService::createFinish($post); $transaction->commit(); util::complete(); } catch (\Exception $e) { $transaction->rollBack(); Yii::error("失败原因:" . $e->getMessage()); util::fail('操作失败'); } } //成品新建制作 ssh 20220320 public function actionGoodsCreate() { $post = Yii::$app->request->post(); $post['mainId'] = $this->mainId ?? 0; $post['sjId'] = $this->sjId ?? 0; $post['shopId'] = $this->shopId ?? 0; $connection = Yii::$app->db; $transaction = $connection->beginTransaction(); try { WorkService::GoodsCreateFinish($post); $transaction->commit(); util::complete(); } catch (\Exception $e) { $transaction->rollBack(); Yii::error("失败原因:" . $e->getMessage()); util::fail('操作失败'); } } //包括工单和用材信息 shish 20220319 public function actionFullInfo() { $get = Yii::$app->request->get(); $id = $get['id'] ?? 0; $work = WorkClass::getById($id, true); WorkClass::valid($work, $this->mainId); $workItem = WorkItemClass::getWorkAllItem($work); util::success(['info' => $work, 'item' => $workItem]); } //取消 ssh 20220320 public function actionCancel() { $get = Yii::$app->request->get(); $id = $get['id'] ?? 0; $work = WorkClass::getById($id, true); WorkClass::valid($work, $this->mainId); WorkClass::cancel($work); util::complete(); } //完成工单 shish 20220319 public function actionFinish() { $post = Yii::$app->request->post(); $workId = $post['id'] ?? 0; $wastage = $post['wastage'] ?? ''; $connection = Yii::$app->db;//事务处理 $transaction = $connection->beginTransaction(); try { $work = WorkClass::getById($workId, true); WorkClass::valid($work, $this->mainId); if ($work->status == 1) { util::fail('工单已完成'); } if ($work->status == 2) { util::fail('工单已取消'); } //花材未锁定,需要锁定并扣库存 if ($work->hasLock == 0) { WorkItemClass::lock($work); $work->hasLock = 1; $work->save(); } //有报损,库存也需要扣除 if (!empty($wastage)) { $wastage = json_decode($wastage, true); if (!empty($wastage)) { } } WorkClass::finish($work); $transaction->commit(); util::complete(); } catch (\Exception $e) { $transaction->rollBack(); Yii::error("失败原因:" . $e->getMessage()); util::fail('操作失败'); } } //打印 public function actionPrint() { util::complete(); } }