request->get('orderSn', ''); $info = PartClass::getByCondition(['orderSn' => $orderSn], true); if ($info->mainId != $this->mainId) { util::fail('没有权限'); } $orderSn = $info->orderSn ?? ''; $orderInfo = PartItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*'); $itemData = []; if (!empty($orderInfo)) { foreach ($orderInfo as $v) { $shortCover = $v['cover'] ?? ''; $v['cover'] = imgUtil::groupImg($shortCover); $itemData[] = $v; } } util::success(['info' => $info, 'itemList' => $itemData]); } //列表 public function actionList() { $where = []; $where['mainId'] = $this->mainId; $list = PartClass::getPartList($where); util::success($list); } //拆散花材 ssh 20230208 public function actionPartItem() { $post = Yii::$app->request->post(); $post['shopId'] = $this->shopId; $post['sjId'] = $this->sjId; $post['mainId'] = $this->mainId; $post['shopAdminId'] = $this->shopAdminId; $shopAdmin = $this->shopAdmin; $adminName = $shopAdmin['name'] ?? ''; $post['shopAdminName'] = $adminName; $productJson = $post['product'] ?? ''; if (empty($productJson)) { util::fail('请选择花材'); } $productList = json_decode($productJson, true); if (empty($productList)) { util::fail('请选择花材'); } //有unitType数据,说明是收银台传过来的数据,转换成和手机端结构一致 $hasUnitType = array_column($productList, 'unitType'); if (!empty($hasUnitType)) { $newProductList = []; foreach ($productList as $key => $val) { $unitType = $val['unitType'] ?? 0; $bigNum = 0; $smallNum = 0; $num = $val['num'] ?? 0; $id = $val['productId'] ?? 0; if ($unitType == dict::getDict('unitType', 'big')) { $bigNum = $num; } else { $smallNum = $num; util::fail('小单位不能拆散'); } $newProductList[] = ['productId' => $id, 'bigNum' => $bigNum, 'smallNum' => $smallNum, 'classId' => 0, 'itemId' => 0]; } $productList = $newProductList; } foreach ($productList as $v) { $bigNum = $v['bigNum'] ?? 0; $smallNum = $v['smallNum'] ?? 0; if ($bigNum <= 0) { util::fail('数量不能为0'); } if ($smallNum > 0) { util::fail('仅支持整扎的拆散'); } $property = $v['property'] ?? 1; if ($property == 0) { util::fail('暂不支持成品的拆散'); } } $connection = Yii::$app->db; $transaction = $connection->beginTransaction(); try { ProductClass::valid($productList, $this->mainId); $post['product'] = $productList; $post['ptStyle'] = dict::getDict('ptStyle', 'hd'); $return = PartClass::addOrder($post); $transaction->commit(); util::success($return); } catch (\Exception $e) { $transaction->rollBack(); Yii::info("拆散失败原因:" . $e->getMessage()); util::fail('拆散保存失败'); } } }