|
|
@@ -2,9 +2,13 @@
|
|
|
|
|
|
namespace bizHd\work\classes;
|
|
|
|
|
|
+use bizHd\goods\classes\CategoryClass;
|
|
|
+use bizHd\goods\classes\GoodsCategoryClass;
|
|
|
use bizHd\goods\classes\GoodsClass;
|
|
|
+use bizHd\goods\classes\GoodsItemClass;
|
|
|
use bizHd\order\classes\OrderGoodsClass;
|
|
|
use common\components\imgUtil;
|
|
|
+use common\components\orderSn;
|
|
|
use common\components\util;
|
|
|
use bizHd\base\classes\BaseClass;
|
|
|
|
|
|
@@ -17,6 +21,87 @@ class WorkClass extends BaseClass
|
|
|
const STATUS_COMPLETE = 1;
|
|
|
const STATUS_CANCEL = 2;
|
|
|
|
|
|
+ public static function goodsCreateFinish($data)
|
|
|
+ {
|
|
|
+ $goods = $data['goods'] ?? '';
|
|
|
+ $remark = $data['remark'] ?? '';
|
|
|
+ $sjId = $data['sjId'] ?? 0;
|
|
|
+ $shopId = $data['shopId'] ?? 0;
|
|
|
+ $mainId = $data['mainId'] ?? 0;
|
|
|
+ $ids = array_column($goods, 'productId');
|
|
|
+ $info = GoodsClass::getByIds($ids, null, 'id');
|
|
|
+ foreach ($goods as $key => $val) {
|
|
|
+ $goodsId = $val['productId'] ?? 0;
|
|
|
+ $name = $info[$goodsId]['name'] ?? '';
|
|
|
+ $goodsSn = $info[$goodsId]['sn'] ?? '';
|
|
|
+ $workNum = $val['num'] ?? 0;
|
|
|
+ $cover = isset($info[$goodsId]['cover']) && !empty($info[$goodsId]['cover']) ? $info[$goodsId]['cover'] : 'hhb_small.png';
|
|
|
+ $product = [];
|
|
|
+ $goodsItem = GoodsItemClass::getAllByCondition(['goodsId' => $goodsId], null, '*');
|
|
|
+ if (!empty($goodsItem)) {
|
|
|
+ foreach ($goodsItem as $one) {
|
|
|
+ $itemId = $one['itemId'] ?? 0;
|
|
|
+ $unitType = $one['unitType'] ?? 0;
|
|
|
+ $num = $one['num'] ?? 0;
|
|
|
+ $product[] = [
|
|
|
+ 'productId' => $itemId,
|
|
|
+ 'num' => $num,
|
|
|
+ 'unitType' => $unitType,
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $goodsCat = GoodsCategoryClass::getByCondition(['gId' => $goodsId], true);
|
|
|
+ $catId = $goodsCat->cId ?? 0;
|
|
|
+ $catName = '';
|
|
|
+ if (!empty($catId)) {
|
|
|
+ $cat = CategoryClass::getById($catId, true);
|
|
|
+ $catName = $cat->categoryName ?? '';
|
|
|
+ }
|
|
|
+ $workSn = orderSn::getWorkSn();
|
|
|
+ $flowerNum = $info[$goodsId]['flowerNum'] ?? 0;
|
|
|
+ $orderSn = $data['orderSn'] ?? '';
|
|
|
+ $orderId = $data['orderId'] ?? 0;
|
|
|
+ $current = [
|
|
|
+ 'name' => $name,
|
|
|
+ 'num' => $workNum,
|
|
|
+ 'cover' => $cover,
|
|
|
+ 'remark' => $remark,
|
|
|
+ 'catId' => $catId,
|
|
|
+ 'catName' => $catName,
|
|
|
+ 'product' => $product,
|
|
|
+ 'goodsId' => $goodsId,
|
|
|
+ 'goodsSn' => $goodsSn,
|
|
|
+ 'sjId' => $sjId,
|
|
|
+ 'shopId' => $shopId,
|
|
|
+ 'mainId' => $mainId,
|
|
|
+ 'workSn' => $workSn,
|
|
|
+ 'flowerNum' => $flowerNum,
|
|
|
+ 'orderSn' => $orderSn,
|
|
|
+ 'orderId' => $orderId,
|
|
|
+ ];
|
|
|
+ return self::createFinish($current);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static function createFinish($data)
|
|
|
+ {
|
|
|
+ $data['flowerNum'] = isset($data['flowerNum']) && is_numeric($data['flowerNum']) ? $data['flowerNum'] : 0;
|
|
|
+ $work = WorkClass::add($data, true);
|
|
|
+ $product = $data['product'] ?? [];
|
|
|
+ if (!empty($product)) {
|
|
|
+ //修改用材
|
|
|
+ WorkItemClass::modifyItem($work, $product);
|
|
|
+ //锁定库存
|
|
|
+ WorkItemClass::lock($work);
|
|
|
+ }
|
|
|
+ $complete = $data['complete'] ?? 0;
|
|
|
+ if ($complete == 1) {
|
|
|
+ //直接完成
|
|
|
+ WorkClass::finish($work);
|
|
|
+ }
|
|
|
+ return $work;
|
|
|
+ }
|
|
|
+
|
|
|
//锁定工单 ssh 20220320
|
|
|
public static function lock($work)
|
|
|
{
|