whereDay('create_time')->find(); if($find){ throw new BusinessException('今日数据已生成'); } $arr=WarehouseProductStorege::where('warehouse_id',1)->field('product_id,nums,warehouse_id')->select()->toArray(); (new InventoryWarehouse())->saveAll($arr); Db::commit(); return true; } catch (\Throwable $e) { Db::rollback(); throw new BusinessException($e->getMessage()); } } /** * @notes 编辑仓库盘存 * @param array $params * @return bool * @author admin * @date 2025/02/14 17:24 */ public static function edit(array $params): bool { Db::startTrans(); try { InventoryWarehouse::where('id', $params['id'])->update([ 'admin_id'=>$params['admin_id']??0, 'enter_nums'=>$params['nums'] ]); Db::commit(); return true; } catch (\Throwable $e) { Db::rollback(); throw new BusinessException($e->getMessage()); } } /** * @notes 删除仓库盘存 * @param array $params * @return bool * @author admin * @date 2025/02/14 17:24 */ public static function delete(array $params): bool { return InventoryWarehouse::destroy($params['id']); } public static function enterNums(array $params): bool { Db::startTrans(); try { InventoryWarehouse::where('warehouse_id', $params['warehouse_id'])->whereDay('create_time',$params['create_time'])->update([ 'status'=>2 ]); $arr=InventoryWarehouse::where('warehouse_id', $params['warehouse_id'])->where('nums','<>',new Raw('enter_nums'))->whereDay('create_time',$params['create_time'])->select(); foreach ($arr as $k=>$v){ WarehouseProductStorege::where('product_id',$v['product_id'])->where('warehouse_id',$v['warehouse_id'])->update([ 'nums'=>$v['enter_nums'] ]); } Db::commit(); return true; } catch (\Throwable $e) { Db::rollback(); throw new BusinessException($e->getMessage()); } } }