Appearance
POST /dm-store/stockMain/page
Content-Type: application/json
触发按钮:pageAjax
入参
传递对象:StockMainQueryVo
| 字段 | 类型 | 必填 | 多选 | 说明 |
|---|---|---|---|---|
| storeNames | List<String> | 否 | 是 | 仓库名称 |
| partCode | String | 否 | 否 | 物料编码 |
| partName | String | 否 | 否 | 物料名称 |
| controlType | Integer | 否 | 否 | 控制类型 |
| bigCategory | String | 否 | 否 | 大类 |
| smallCategory | String | 否 | 否 | 小类 |
| sonCategory | String | 否 | 否 | 子类 |
| preciousType | Integer | 否 | 否 | ABC 分类 |
| smallNumber | Long | 否 | 否 | 库存数量(最小值) |
| largeNumber | Long | 否 | 否 | 库存数量(最大值) |
| colorFlag | Integer | 否 | 否 | 颜色筛选 |
实际入参:
json
{
"pageSize": 10,
"pageNum": 1,
"storeCodes": [
"STORE-01"
],
"storeNames": [
"TOOL ROOM B1"
],
"partCode": "222",
"partName": "22",
"controlType": 2,
"bigCategory": "22",
"smallCategory": "22",
"sonCategory": "222",
"preciousType": 1,
"colorFlag": 1,
"smallNumber": 3,
"largeNumber": 4
}出参
传递对象:ResultData,前端实际消费的是 data 中的 rows / total。<rows + total>
json
{
"code": 200,
"msg": "success",
"data": {
"rows": [
{
"id": null,
"createTime": null,
"createUser": null,
"updateTime": null,
"updateUser": null,
"factoryNo": null,
"isDelete": null,
"mainId": null,
"detailId": null,
"storeNo": "000073",
"partNo": "002123",
"productLineNo": "000214",
"storeAreaNo": null,
"storeBinNo": null,
"mainNo": null,
"storeCode": "STORE-01",
"storeName": "TOOL ROOM B1",
"partCode": "R00946",
"partName": "BROCHE PARA GAFET (PIEZA)",
"spec": "TOOL ROOM",
"bigCategory": null,
"smallCategory": null,
"sonCategory": null,
"preciousType": null,
"controlType": 1,
"stockNumber": 2,
"inStockNumber": 2,
"inStockNumberMain": null,
"inStockNumberGood": 2,
"inStockNumberBad": 0,
"stockOtherNumber": null,
"uom": "PAQ",
"storeAreaCode": null,
"storeAreaName": null,
"storeBinCode": null,
"storeBinName": null,
"productLineCode": null,
"productLineName": null,
"seriesNumber": null,
"caseNumber": null,
"packageNumber": null,
"unitPrice": null,
"usefulLife": null,
"lifeTimeCount": null,
"usefulLifeCount": null,
"storeInTime": null,
"blockedNumber": null,
"colorFlag": 1,
"lineNumber": "MTY-IDG,2",
"map": {
"MTY-IDG在线库存": 0,
"在线总库存": 0,
"MTY-IDG库存": 2
},
"isStore": null,
"onLineCounts": null,
"maxStock": null,
"onLineStock": null,
"inStockCountGood": null,
"inStockCountBad": null,
"safeStock": null
}
],
"total": 1
}
}前端校验规则
前端校验
├── 表单校验
│ ├── smallNumber(库存数量最小值)
│ │ └── 最小值:0(el-input-number)
│ └── largeNumber(库存数量最大值)
│ └── 最小值:0(el-input-number)
└── 提交拦截校验
└── stockMain/page
└── largeNumber < smallNumber 时提示错误并拦截查询后端逻辑
业务流程:补齐仓库权限范围 -> 分页查询库存台账 -> 拆分良品与坏品库存 -> 计算产线在线量与账面库存 -> 按安全库存标记库存状态
├── 按用户补齐仓库权限范围
│ └── StorePermissionMapper.searchList :140
├── 查询库存台账分页数据
│ └── StockMainMapper.search :145
├── 加载安全库存阈值
│ ├── SafeStockService.queryByParams :146
│ └── SafeStockServiceImpl.list :77
├── 拆分良品与坏品库存
│ └── StoreBinMapper.searchBadList :157
├── 计算产线在线量与账面库存
│ ├── ProductLineService.findAllProductLineList :170
│ ├── 查询产线间领用数量:StockMainMapper.queryDraw :225
│ ├── 查询被其他产线领用数量:StockMainMapper.queryDrawed :227
│ ├── 查询产线间借用数量:StockMainMapper.queryBorrow :229
│ └── 查询被其他产线借用数量:StockMainMapper.queryBorrowed :231
└── 按安全库存标记库存状态后端校验规则
无涉及数据库表
| 库名.表名 | mapper.statement | 描述 |
|---|---|---|
| store.stock_main | StockMainMapper.selectPage | 按筛选条件分页查询stockMain数据 |
| store_permission_mapper | storePermissionMapper.searchList | storePermissionMapper |
| stock_main_mapper | stockMainMapper.search | stockMainMapper |
| store.safe_stock | safeStockService.queryByParams | safeStockService |
| store_bin_mapper | storeBinMapper.searchBadList | storeBinMapper |
| store.product_line | productLineService.findAllProductLineList | productLineService |
| stock_main_mapper | stockMainMapper.queryDraw | stockMainMapper |
| stock_main_mapper | stockMainMapper.queryDrawed | stockMainMapper |
| stock_main_mapper | stockMainMapper.queryBorrow | stockMainMapper |
| stock_main_mapper | stockMainMapper.queryBorrowed | stockMainMapper |
| personal_part_store_mapper | personalPartStoreMapper.queryList | personalPartStoreMapper |