def add_stock_movement(db, data: dict) -> None:
    db.execute(
        "INSERT INTO stok_hareketleri "
        "(urun_id,urun_ad,hareket_turu,miktar,birim_maliyet,aciklama) "
        "VALUES (?,?,?,?,?,?)",
        (
            data.get('urun_id'),
            data.get('urun_ad'),
            data.get('hareket_turu'),
            data.get('miktar', 0),
            data.get('birim_maliyet', 0),
            data.get('aciklama', ''),
        )
    )
    if data.get('urun_id'):
        hareket = data.get('hareket_turu')
        if hareket == 'Stok Girisi':
            db.execute(
                "UPDATE urunler SET stok = stok + ? WHERE id = ?",
                (data['miktar'], data['urun_id'])
            )
        elif hareket == 'Stok Cikisi':
            db.execute(
                "UPDATE urunler SET stok = MAX(0, stok - ?) WHERE id = ?",
                (data['miktar'], data['urun_id'])
            )
        elif hareket == 'Sayim Duzeltme':
            db.execute(
                "UPDATE urunler SET stok = ? WHERE id = ?",
                (data['miktar'], data['urun_id'])
            )
    db.commit()
