|
|
@@ -10,6 +10,8 @@ use bizHd\goods\classes\GoodsClass;
|
|
|
use bizHd\goods\classes\GoodsItemClass;
|
|
|
use bizHd\order\classes\OrderClass;
|
|
|
use bizHd\order\classes\OrderGoodsClass;
|
|
|
+use bizHd\shop\classes\ShopClass;
|
|
|
+use common\components\dict;
|
|
|
use common\components\imgUtil;
|
|
|
use common\components\orderSn;
|
|
|
use common\components\printUtil;
|
|
|
@@ -82,6 +84,7 @@ class WorkClass extends BaseClass
|
|
|
$goodsId = $val['productId'] ?? 0;
|
|
|
$name = $info[$goodsId]['name'] ?? '';
|
|
|
$goodsSn = $info[$goodsId]['sn'] ?? '';
|
|
|
+ $setItemNum = $info[$goodsId]['setItemNum'] ?? 0;
|
|
|
$workNum = $val['num'] ?? 0;
|
|
|
$cover = isset($info[$goodsId]['cover']) && !empty($info[$goodsId]['cover']) ? $info[$goodsId]['cover'] : 'hhb_small.png';
|
|
|
$product = [];
|
|
|
@@ -129,6 +132,7 @@ class WorkClass extends BaseClass
|
|
|
'hasReachTime' => $hasReachTime,
|
|
|
'reachDate' => $reachDate,
|
|
|
'reachPeriod' => $reachPeriod,
|
|
|
+ 'setItemNum' => $setItemNum,
|
|
|
];
|
|
|
self::createFinish($current, $main);
|
|
|
}
|
|
|
@@ -136,18 +140,31 @@ class WorkClass extends BaseClass
|
|
|
|
|
|
public static function createFinish($data, $main)
|
|
|
{
|
|
|
+ $setItemNum = $data['setItemNum'] ?? 0;
|
|
|
+ unset($data['setItemNum']);
|
|
|
$data['flowerNum'] = isset($data['flowerNum']) && is_numeric($data['flowerNum']) ? $data['flowerNum'] : 0;
|
|
|
$data['sn'] = date("j") . StatWorkCountClass::addOrder($main);
|
|
|
$work = WorkClass::add($data, true);
|
|
|
$product = $data['product'] ?? [];
|
|
|
if (!empty($product)) {
|
|
|
- //修改用材
|
|
|
- WorkItemClass::modifyItem($work, $product);
|
|
|
- //锁定库存
|
|
|
- WorkItemClass::lock($work);
|
|
|
+ $mainId = $main->id ?? 0;
|
|
|
+ $hd = dict::getDict('ptStyle', 'hd');
|
|
|
+ $shop = ShopClass::getByCondition(['mainId' => $mainId, 'ptStyle' => $hd], true);
|
|
|
+ $stockModel = $shop->stockModel ?? 0;
|
|
|
+ //库存管理管到支 并且 商品的花材数量设置ok,则制作单自动锁定并扣库存
|
|
|
+ if ($stockModel == 1 && $setItemNum == 1) {
|
|
|
+ //修改用材
|
|
|
+ WorkItemClass::modifyItem($work, $product);
|
|
|
+ //锁定库存
|
|
|
+ WorkItemClass::lock($work);
|
|
|
+ } else {
|
|
|
+ //库存管理,管到扎,不再自动扣库存,并且清空花材
|
|
|
+ $workSn = $work->workSn ?? '';
|
|
|
+ WorkItemClass::deleteByCondition(['workSn' => $workSn]);
|
|
|
+ }
|
|
|
}
|
|
|
$complete = $data['complete'] ?? 0;
|
|
|
- if ($complete == 1) {
|
|
|
+ if ($complete == 1 && !empty($product)) {
|
|
|
//直接完成
|
|
|
WorkClass::finish($work);
|
|
|
}
|