
tomi amar akhane order module and customer and stock module create korba and full order system ta build korba and after order jodi customer product return kore seta o stock a korba
 -> must any kind of type error resolve korba 
 -> must well swagger documentation likhba every field er
 -> and akta stock report api banaba 
 stock report requirement:
Generate a monthly stock management report in JSON format suitable for rendering directly in an Ant Design Table (Next.js frontend).  

Follow these exact rules:

1. The report must include both `columns` and `dataSource` objects.
2. Each row in `dataSource` represents one shoe item and must include:
   - `sl`: serial number  
   - `item`: item name or code (e.g., "Flat Loafer / Loafer-002")
   - `image`: URL of the shoe image  
   - `size`: numeric size  
   - `opening`: opening stock quantity for the month  
   - `days`:  
     - `raw`: object with daily details (for each day 1–31) having `n`, `r`, `s` (new, return, sold)  
     - `display`: human-readable representation (e.g., "N", "R", "3", "N/R")  
   - `closing`: final closing stock quantity
3. Include one total row with `"isSummary": true` containing total opening and closing.
4. `columns` should include:
   - Basic columns: SL, Item, Image, Size, Opening
   - A grouped column `"Days"` with child columns from 1–31 (each `dataIndex: ["days","display","<day>"]`)
   - Closing column at the end
5. The JSON must be valid and directly usable as `<Table columns={columns} dataSource={dataSource} />` in Next.js + AntD.
6. Include `uiType: "image"` for image column so frontend can render it with `<img />`.
7. All strings and keys must be in English and follow camelCase naming.
8. Example logic for closing:  
   `closing = opening + total(n) + total(r) - total(s)`  
9. Use realistic values for demonstration (N = new stock, R = returned stock, numbers = sold quantity).

Output must look like:
```json
{
  "title": "Stock Report - July 2025",
  "rowKey": "key",
  "columns": [...],
  "dataSource": [...]
}



example_full_json ={
  "title": "TLZ Shoe Stock - July 2025",
  "rowKey": "key",
  "meta": {
    "month": "2025-07",
    "daysInMonth": 31
  },
  "columns": [
    { "title": "SL", "dataIndex": "sl", "key": "sl", "width": 60, "align": "center" },
    { "title": "Item", "dataIndex": "item", "key": "item", "width": 160 },
    { "title": "Image", "dataIndex": "image", "key": "image", "width": 70, "uiType": "image" },
    { "title": "Size", "dataIndex": "size", "key": "size", "width": 70, "align": "center" },
    { "title": "Opening", "dataIndex": "opening", "key": "opening", "width": 90, "align": "right" },

    {
      "title": "Days",
      "key": "days",
      "children": [
        { "title": "1",  "dataIndex": ["days", "display", "1"],  "key": "d1",  "align": "center" },
        { "title": "2",  "dataIndex": ["days", "display", "2"],  "key": "d2",  "align": "center" },
        { "title": "3",  "dataIndex": ["days", "display", "3"],  "key": "d3",  "align": "center" },
        { "title": "4",  "dataIndex": ["days", "display", "4"],  "key": "d4",  "align": "center" },
        { "title": "5",  "dataIndex": ["days", "display", "5"],  "key": "d5",  "align": "center" },
        { "title": "6",  "dataIndex": ["days", "display", "6"],  "key": "d6",  "align": "center" },
        { "title": "7",  "dataIndex": ["days", "display", "7"],  "key": "d7",  "align": "center" },
        { "title": "8",  "dataIndex": ["days", "display", "8"],  "key": "d8",  "align": "center" },
        { "title": "9",  "dataIndex": ["days", "display", "9"],  "key": "d9",  "align": "center" },
        { "title": "10", "dataIndex": ["days", "display", "10"], "key": "d10", "align": "center" },
        { "title": "11", "dataIndex": ["days", "display", "11"], "key": "d11", "align": "center" },
        { "title": "12", "dataIndex": ["days", "display", "12"], "key": "d12", "align": "center" },
        { "title": "13", "dataIndex": ["days", "display", "13"], "key": "d13", "align": "center" },
        { "title": "14", "dataIndex": ["days", "display", "14"], "key": "d14", "align": "center" },
        { "title": "15", "dataIndex": ["days", "display", "15"], "key": "d15", "align": "center" },
        { "title": "16", "dataIndex": ["days", "display", "16"], "key": "d16", "align": "center" },
        { "title": "17", "dataIndex": ["days", "display", "17"], "key": "d17", "align": "center" },
        { "title": "18", "dataIndex": ["days", "display", "18"], "key": "d18", "align": "center" },
        { "title": "19", "dataIndex": ["days", "display", "19"], "key": "d19", "align": "center" },
        { "title": "20", "dataIndex": ["days", "display", "20"], "key": "d20", "align": "center" },
        { "title": "21", "dataIndex": ["days", "display", "21"], "key": "d21", "align": "center" },
        { "title": "22", "dataIndex": ["days", "display", "22"], "key": "d22", "align": "center" },
        { "title": "23", "dataIndex": ["days", "display", "23"], "key": "d23", "align": "center" },
        { "title": "24", "dataIndex": ["days", "display", "24"], "key": "d24", "align": "center" },
        { "title": "25", "dataIndex": ["days", "display", "25"], "key": "d25", "align": "center" },
        { "title": "26", "dataIndex": ["days", "display", "26"], "key": "d26", "align": "center" },
        { "title": "27", "dataIndex": ["days", "display", "27"], "key": "d27", "align": "center" },
        { "title": "28", "dataIndex": ["days", "display", "28"], "key": "d28", "align": "center" },
        { "title": "29", "dataIndex": ["days", "display", "29"], "key": "d29", "align": "center" },
        { "title": "30", "dataIndex": ["days", "display", "30"], "key": "d30", "align": "center" },
        { "title": "31", "dataIndex": ["days", "display", "31"], "key": "d31", "align": "center" }
      ]
    },

    { "title": "Closing", "dataIndex": "closing", "key": "closing", "width": 90, "align": "right" }
  ],

  "dataSource": [
    {
      "key": "row-1",
      "sl": 1,
      "item": "Flat Loafer / Loafer-002",
      "image": "https://example.com/img/loafer-39.jpg",
      "size": 39,
      "opening": 30,

      "days": {
        "raw": {
          "1":  { "n": 0, "r": 0, "s": 2 },
          "2":  { "n": 0, "r": 0, "s": 0 },
          "3":  { "n": 0, "r": 1, "s": 0 },
          "4":  { "n": 1, "r": 0, "s": 0 }
          /* ... up to 31 */
        },
        "display": {
          "1": "2",
          "2": "",
          "3": "R",
          "4": "N"
          /* ... up to 31 */
        }
      },

      "closing": 62
    },

    {
      "key": "row-2",
      "sl": 2,
      "item": "Flat Loafer / Loafer-002",
      "image": "https://example.com/img/loafer-40.jpg",
      "size": 40,
      "opening": 6,
      "days": {
        "raw": {
          "1": { "n": 0, "r": 0, "s": 0 },
          "2": { "n": 0, "r": 0, "s": 1 },
          "3": { "n": 0, "r": 0, "s": 0 }
        },
        "display": {
          "1": "",
          "2": "1",
          "3": ""
        }
      },
      "closing": 35
    },

    {
      "key": "total",
      "isSummary": true,
      "item": "Total",
      "opening": 75,
      "closing": 275
    }
  ]
}
