request->get(); $where = []; $where['mainId'] = $this->mainId; if (isset($get['status']) && $get['status'] >= 0) { $status = $get['status']; $where['status'] = $status; } $list = WorkClass::getWorkList($where); util::success($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(); } //新建工单 ssh 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; $post['staffId'] = $this->shopAdminId; $post['staffName'] = $this->shopAdmin->name; $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('操作失败'); } } //包括工单和用材信息 ssh 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); $goods = []; $goodsId = $work->goodsId ?? 0; if (!empty($goodsId)) { $goods = GoodsClass::getGoodsInfo($goodsId); } $work = $work->attributes; $shortCover = $work['cover'] ?? ''; $work['shortCover'] = $shortCover; $work['cover'] = imgUtil::groupImg($shortCover); util::success(['info' => $work, 'item' => $workItem, 'goods' => $goods]); } //取消 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(); } //完成工单 ssh 20220319 public function actionFinish() { $post = Yii::$app->request->post(); $workId = $post['id'] ?? 0; $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->stockLock == 0) { WorkClass::lock($work); } WorkClass::finish($work); $transaction->commit(); util::complete(); } catch (\Exception $e) { $transaction->rollBack(); Yii::error("失败原因:" . $e->getMessage()); util::fail('操作失败'); } } //打印 public function actionPrint() { util::complete(); } }