| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- <?php
- namespace ghs\controllers;
- use bizGhs\part\classes\PartClass;
- use bizGhs\part\classes\PartItemClass;
- use bizGhs\product\classes\ProductClass;
- use common\components\dict;
- use common\components\imgUtil;
- use common\components\util;
- use Yii;
- class PartController extends BaseController
- {
- public $guestAccess = [];
- public function actionGetFullInfo()
- {
- $orderSn = Yii::$app->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 && $smallNum <= 0) {
- util::fail('数量不能为0');
- }
- $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', 'ghs');
- $return = PartClass::addOrder($post);
- $transaction->commit();
- util::success($return, '拆散成功');
- } catch (\Exception $e) {
- $transaction->rollBack();
- Yii::info("拆散失败原因:" . $e->getMessage());
- util::fail('拆散保存失败');
- }
- }
- }
|