库存修改

This commit is contained in:
2026-02-25 13:13:36 +08:00
parent 1251f78c6b
commit 1d88ef932a
4 changed files with 27 additions and 1 deletions
@@ -94,6 +94,7 @@ class InvRequisitionService
//$appro = new \app\common\utils\approval\service\ApprovalFlowService();
$appro = new \app\common\service\InvRequisitionApproveService();
//requisition_id:申请id
//approve_id:审核步骤id
//action:审批动作:1通过 2驳回
//comment:审批意见
return $appro->approve($param['requisition_id'], $param['approve_id'], $request->user->uid, $param['action'], $param['comment'], $attachment);
+2
View File
@@ -168,6 +168,7 @@ class InvItemService
* @param int $changeQty 变动数量:>0 入库,<0 出库
* @param bool $allowNegative 是否允许库存变成负数,默认不允许
* @param array $options 额外选项(用于记录日志)
* - change_type: 变动类型
* - biz_type: 业务类型
* - biz_no: 单据号
* - operator_id: 操作人ID
@@ -223,6 +224,7 @@ class InvItemService
'change_qty' => $changeQty,
'before_qty' => $beforeQty,
'after_qty' => $item->stock_qty,
'change_type' => $options['change_type'] ?? null,
'biz_type' => $options['biz_type'] ?? null,
'biz_no' => $options['biz_no'] ?? null,
'operator_id' => $options['operator_id'] ?? null,
@@ -2,6 +2,7 @@
namespace app\common\service;
use app\common\model\InvItem;
use app\common\model\User;
use app\common\validate\InvRequisitionApproveValidate;
use app\common\traits\crud\CrudServiceTrait;
@@ -169,6 +170,7 @@ class InvRequisitionApproveService
->count();
if($action == 1){
if(count($steps) == $pass){
//判断是否都是消耗品,是否需要归还
$requisitionItem = Db::table('inv_requisition_item')
->where('requisition_id', $requisition->id)
->where('is_consumable_snap', 0)
@@ -179,6 +181,15 @@ class InvRequisitionApproveService
Db::table('inv_requisition')->where('id', $requisition->id)->update(['status'=>19]);
}
//更改库存
$requisitionItem = Db::table('inv_requisition_item')
->where('requisition_id', $requisition->id)
->get();
foreach ($requisitionItem as $item) {
//$invItem = InvItem::where('id', $item->item_id)->first();
(new InvItemService())->stockOut($item->item_id,$item->approved_qty);
}
// $requisition->status = 12;
// $requisition->save();
return ['status' => 'complete', 'msg' => '已通过'];
@@ -200,7 +211,7 @@ class InvRequisitionApproveService
}
// 4) 通过 => 进入下一步或结束
// 4) 通过 => 进入下一步
Db::table('inv_requisition')->where('id', $requisitionId)->update(['status'=>11]);
$requisitionItem = Db::table('inv_requisition_item')->where('requisition_id', $requisitionId)->first();
$item_id = Db::table('inv_item')->where('id', $requisitionItem->item_id)->first();
@@ -6,6 +6,7 @@ use app\common\model\InvItem;
use app\common\model\InvRequisition;
use app\common\model\InvRequisitionItem;
use app\common\model\InvRequisitionReturn;
use app\common\model\InvStockLog;
use app\common\model\User;
use app\common\service\UserService;
use app\common\validate\InvRequisitionItemReturnValidate;
@@ -591,6 +592,17 @@ class InvRequisitionItemReturnService
}
$return->status = $status;
$return->save();
if($status == 1){
//更改库存
$returnItem = Db::table('inv_requisition_item_return')
->where('requisition_id', $return->id)
->get();
foreach ($returnItem as $item) {
//$invItem = InvItem::where('id', $item->item_id)->first();
(new InvItemService())->stockIn($item->item_id,$item->return_qty,['change_type'=>InvStockLog::CHANGE_TYPE_IN_RETURN,
'biz_type'=>InvStockLog::BIZ_TYPE_RETURN,]);
}
}
// 保存归还审核附件
foreach ($attachment as $attac) {