| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- <?php
- namespace bizHd\work\classes;
- use bizHd\goods\classes\GoodsClass;
- use bizHd\order\classes\OrderGoodsClass;
- use common\components\imgUtil;
- use common\components\util;
- use bizHd\base\classes\BaseClass;
- class WorkClass extends BaseClass
- {
- public static $baseFile = '\bizHd\work\models\Work';
- const STATUS_UN_COMPLETE = 0;
- const STATUS_COMPLETE = 1;
- const STATUS_CANCEL = 2;
- //锁定工单 ssh 20220320
- public static function lock($work)
- {
- $work->stockLock = 1;
- $work->save();
- WorkItemClass::lock($work);
- }
- //取消工单
- public static function cancel($work)
- {
- if ($work->status == self::STATUS_COMPLETE) {
- util::fail('订单已完成');
- }
- if ($work->status == self::STATUS_CANCEL) {
- util::fail('订单已取消');
- }
- if (isset($work->orderSn) && !empty($work->orderSn)) {
- util::fail('此工单有订单,请通过订单取消');
- }
- //取消锁定,释放库存
- WorkItemClass::cancelLock($work);
- $work->status = self::STATUS_CANCEL;
- $work->save();
- }
- //完成工单 ssh 20220320
- public static function finish($work)
- {
- $work->status = self::STATUS_COMPLETE;
- $work->save();
- WorkItemClass::wastage($work);
- $num = $work->num ?? 0;
- $mainId = $work->mainId ?? 0;
- $workSn = $work->workSn ?? '';
- $workId = $work->id ?? 0;
- $sjId = $work->sjId ?? 0;
- $shopId = $work->shopId ?? 0;
- $goodsId = $work->goodsId ?? 0;
- $bigNum = $work->bigNum ?? 0;
- $smallNum = $work->smallNum ?? 0;
- //没有商品生成商品
- if (empty($goodsId)) {
- $name = $work->name ?? '';
- $catId = $work->catId ?? 0;
- $date = date("Y-m-d H:i:s");
- $goodsData = [
- 'mainId' => $mainId,
- 'name' => $name,
- 'content' => '',
- 'createTime' => $date,
- 'sjId' => $sjId,
- 'mainId' => $mainId,
- 'shopId' => $shopId,
- 'bigNum' => $bigNum,
- 'smallNum' => $smallNum,
- 'workId' => $workId,
- 'workSn' => $workSn,
- 'flower' => 1,
- ];
- if (!empty($catId)) {
- $goodsData['catIds'] = [$catId];
- }
- $goods = GoodsClass::addGoods($goodsData, $work);
- $goodsId = $goods->id ?? 0;
- }
- //库存增加
- OrderGoodsClass::addGoodsStockByMakeGoods($workSn, $sjId, $shopId, $mainId, $goodsId, $num);
- }
- //验证工单 ssh 20220319
- public static function valid($work, $mainId)
- {
- if (empty($work)) {
- util::fail('没有找到工单');
- }
- if (isset($work->mainId) == false || $work->mainId != $mainId) {
- util::fail('没有权限');
- }
- return true;
- }
- public static function getWorkList($where)
- {
- $data = self::getList('*', $where);
- $list = isset($data['list']) && !empty($data['list']) ? $data['list'] : [];
- if (empty($list)) {
- return $data;
- }
- $data['list'] = self::groupBaseInfo($list);
- return $data;
- }
- public static function groupBaseInfo($list)
- {
- if (empty($list)) {
- return $list;
- }
- foreach ($list as $key => $val) {
- $shortCover = $val['cover'] ?? '';
- $cover = imgUtil::getPrefix() . 'hhb_small.png';
- $bigCover = imgUtil::getPrefix() . 'hhb_small.png';
- if (!empty($shortCover)) {
- $parse = parse_url(self::groupImg($shortCover));
- if (empty($parse['query'])) {
- $cover = self::groupImg($shortCover) . "?x-oss-process=image/resize,m_fill,h_110,w_110";
- } else {
- $cover = self::groupImg($shortCover);
- }
- $bigCover = imgUtil::groupImg($shortCover) . "?x-oss-process=image/resize,m_fill,h_700,w_700";
- }
- $list[$key]['cover'] = $cover;
- $list[$key]['bigCover'] = $bigCover;
- $list[$key]['shortCover'] = $shortCover;
- }
- return $list;
- }
- }
|