|
|
@@ -8,6 +8,7 @@ use bizGhs\stock\classes\StockRecordClass;
|
|
|
use bizGhs\stock\services\StockRecordService;
|
|
|
use bizHd\goods\classes\GoodsClass;
|
|
|
use common\components\business;
|
|
|
+use common\components\util;
|
|
|
use Yii;
|
|
|
use bizHd\base\classes\BaseClass;
|
|
|
|
|
|
@@ -97,6 +98,177 @@ class OrderGoodsClass extends BaseClass
|
|
|
return $data;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ //制作工单完成,新增成品库存
|
|
|
+ public static function addGoodsStockByMakeGoods($orderSn,$sjId,$shopId,$mainId,$goodsId,$goodsNum)
|
|
|
+ {
|
|
|
+ //加成品库存
|
|
|
+ GoodsClass::addStock($goodsId,$mainId,$goodsNum);
|
|
|
+ //成品流水记录
|
|
|
+ $data = [];
|
|
|
+ $data['sjId'] = $sjId;
|
|
|
+ $data['shopId'] = $shopId;
|
|
|
+ $data['mainId'] = $mainId;
|
|
|
+ $data['orderSn'] = $orderSn;
|
|
|
+ $data['goodsId'] = $goodsId;
|
|
|
+ $data['goodsNum'] = $goodsNum;
|
|
|
+ GoodsStockRecordClass::addMakeGoods($data);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ //制作工单消耗花材
|
|
|
+ //消耗花材信息:$consumeItemInfo = [{"id":12233,"num":1,"unitType":0}]
|
|
|
+ public static function consumeItemByMakeGoods($orderSn,$sjId,$shopId,$consumeItemInfo)
|
|
|
+ {
|
|
|
+ if(empty($consumeItemInfo)){
|
|
|
+ util::fail("参数错误");
|
|
|
+ }
|
|
|
+ //花材消耗
|
|
|
+ foreach ($consumeItemInfo as $v){
|
|
|
+ //库存减少
|
|
|
+ $bigNum = 0;
|
|
|
+ $smallNum = 0;
|
|
|
+ $productId = $v['id'];
|
|
|
+ if($v['unitType']==0){
|
|
|
+ //大单位
|
|
|
+ $bigNum = $v['num'];
|
|
|
+ }else{
|
|
|
+ //小单位
|
|
|
+ $smallNum = $v['num'];
|
|
|
+ }
|
|
|
+ //扣库存
|
|
|
+ $stockInfo = ProductClass::decreaseStock($productId, $bigNum, $smallNum, true);
|
|
|
+ //记录流流水
|
|
|
+ $productData = ProductClass::getById($productId);
|
|
|
+ $record = [];
|
|
|
+ $record['sjId'] = $sjId;
|
|
|
+ $record['shopId'] = $shopId;
|
|
|
+ $record['mainId'] = $productData['mainId'];
|
|
|
+ $record['orderSn'] = $orderSn;
|
|
|
+ $record['itemId'] = $productData['itemId'];
|
|
|
+ $record['productId'] = $productId;
|
|
|
+ $record['itemNum'] = $stockInfo['itemNum'];
|
|
|
+ $record['oldStock'] = $stockInfo['oldStock'];
|
|
|
+ $record['newStock'] =$stockInfo['newStock']; //
|
|
|
+ StockRecordClass::makeGoodsConsume($record);
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ //制作工单 花材损耗
|
|
|
+ //损耗花材信息:$wastageItemInfo = [{"id":12233,"num":1,"unitType":0}]
|
|
|
+ public static function wastageItemByMakeGoods($orderSn,$sjId,$shopId,$wastageItemInfo)
|
|
|
+ {
|
|
|
+ //花材损耗
|
|
|
+ if(empty($wastageItemInfo)){
|
|
|
+ util::fail("参数错误");
|
|
|
+ }
|
|
|
+ foreach ($wastageItemInfo as $v){
|
|
|
+ //库存减少
|
|
|
+ $bigNum = 0;
|
|
|
+ $smallNum = 0;
|
|
|
+ $productId = $v['id'];
|
|
|
+ if($v['unitType']==0){
|
|
|
+ //大单位
|
|
|
+ $bigNum = $v['num'];
|
|
|
+ }else{
|
|
|
+ //小单位
|
|
|
+ $smallNum = $v['num'];
|
|
|
+ }
|
|
|
+ //扣库存
|
|
|
+ $stockInfo = ProductClass::decreaseStock($productId, $bigNum, $smallNum, true);
|
|
|
+ //记录流流水
|
|
|
+ $productData = ProductClass::getById($productId);
|
|
|
+ $record = [];
|
|
|
+ $record['sjId'] = $sjId;
|
|
|
+ $record['shopId'] = $shopId;
|
|
|
+ $record['mainId'] = $productData['mainId'];
|
|
|
+ $record['orderSn'] = $orderSn;
|
|
|
+ $record['itemId'] = $productData['itemId'];
|
|
|
+ $record['productId'] = $productId;
|
|
|
+ $record['itemNum'] = $stockInfo['itemNum'];
|
|
|
+ $record['oldStock'] = $stockInfo['oldStock'];
|
|
|
+ $record['newStock'] =$stockInfo['newStock']; //
|
|
|
+ StockRecordClass::makeGoodsWastage($record);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //销售成品库存变更方法(减库存)
|
|
|
+ public static function changeStockBySellGoods($orderSn,$sjId,$shopId,$mainId,$goodsId,$goodsNum)
|
|
|
+ {
|
|
|
+ //减成品库存
|
|
|
+ GoodsClass::decreaseStock($goodsId,$mainId,$goodsNum);
|
|
|
+ //成品流水记录
|
|
|
+ $data = [];
|
|
|
+ $data['sjId'] = $sjId;
|
|
|
+ $data['shopId'] = $shopId;
|
|
|
+ $data['mainId'] = $mainId;
|
|
|
+ $data['orderSn'] = $orderSn;
|
|
|
+ $data['goodsId'] = $goodsId;
|
|
|
+ $data['goodsNum'] = $goodsNum;
|
|
|
+ GoodsStockRecordClass::sellGoods($data);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ //制作单取消
|
|
|
+ //退回花材损耗,退回花材消耗,退回成品库存
|
|
|
+ public static function cancelMakeGoods($orderSn)
|
|
|
+ {
|
|
|
+ //是否有损耗
|
|
|
+ $whereWastage = [];
|
|
|
+ $whereWastage['orderSn'] = $orderSn;
|
|
|
+ $whereWastage['recordType'] = StockRecordClass::STOCK_RECORD_TYPE_GOODS_WASTAGE;
|
|
|
+ $wastageDatas = StockRecordClass::getAllByCondition($whereWastage,null,"*");
|
|
|
+ if($wastageDatas){
|
|
|
+ foreach ($wastageDatas as $v){
|
|
|
+ //加库存
|
|
|
+ $stockInfo = ProductClass::addStockByItemNum($v['productId'],$v['itemNum']);
|
|
|
+ //加流水记录
|
|
|
+ $record = $v;
|
|
|
+ $record['oldStock'] = $stockInfo['oldStock'];
|
|
|
+ $record['newStock'] = $stockInfo['newStock'];
|
|
|
+ unset($record['id']);
|
|
|
+ StockRecordClass::cancelMakeGoodsWastage($record);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //是否有消耗
|
|
|
+ $whereConsume = [];
|
|
|
+ $whereConsume['orderSn'] = $orderSn;
|
|
|
+ $whereConsume['recordType'] = StockRecordClass::STOCK_RECORD_TYPE_GOODS_CONSUME;
|
|
|
+ $consumeDatas = StockRecordClass::getAllByCondition($whereConsume,null,"*");
|
|
|
+ if($consumeDatas){
|
|
|
+ foreach ($consumeDatas as $v){
|
|
|
+ //加库存
|
|
|
+ $stockInfo = ProductClass::addStockByItemNum($v['productId'],$v['itemNum']);
|
|
|
+ //加流水记录
|
|
|
+ $record = $v;
|
|
|
+ $record['oldStock'] = $stockInfo['oldStock'];
|
|
|
+ $record['newStock'] = $stockInfo['newStock'];
|
|
|
+ unset($record['id']);
|
|
|
+ StockRecordClass::cancelMakeGoodsConsume($record);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //是否有成品
|
|
|
+ $whereGoods = [];
|
|
|
+ $whereGoods['orderSn'] = $orderSn;
|
|
|
+ $whereGoods['recordType'] = GoodsStockRecordClass::STOCK_RECORD_TYPE_PURCHASE;
|
|
|
+ $goodsData = GoodsStockRecordClass::getByCondition($whereGoods,null,"*");
|
|
|
+ if($goodsData){
|
|
|
+ //减库存
|
|
|
+ GoodsClass::decreaseStock($goodsData['goodsId'],$goodsData['mainId'],$goodsData['goodsNum']);
|
|
|
+ //流水记录
|
|
|
+ unset($goodsData['id']);
|
|
|
+ GoodsStockRecordClass::cancelMakeGoods($goodsData);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ //该方法已经拆开来了(弃用)
|
|
|
//制作成品库存变更方法(加成品库存,减花材库存(消耗、损耗))
|
|
|
//消耗花材信息:$consumeItemInfo = [{"id":12233,"num":1,"unitType":0}]
|
|
|
//损耗花材信息:$wastageItemInfo = [{"id":12233,"num":1,"unitType":0}]
|
|
|
@@ -179,21 +351,4 @@ class OrderGoodsClass extends BaseClass
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- //销售成品库存变更方法(减库存)
|
|
|
- public static function changeStockBySellGoods($orderSn,$sjId,$shopId,$mainId,$goodsId,$goodsNum)
|
|
|
- {
|
|
|
- //加成品库存
|
|
|
- GoodsClass::decreaseStock($goodsId,$mainId,$goodsNum);
|
|
|
- //成品流水记录
|
|
|
- $data = [];
|
|
|
- $data['sjId'] = $sjId;
|
|
|
- $data['shopId'] = $shopId;
|
|
|
- $data['mainId'] = $mainId;
|
|
|
- $data['orderSn'] = $orderSn;
|
|
|
- $data['goodsId'] = $goodsId;
|
|
|
- $data['goodsNum'] = $goodsNum;
|
|
|
- GoodsStockRecordClass::sellGoods($data);
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
}
|