Appearance
GET /dm-store/personalPartReturnOrders/cancel
触发按钮:无
入参
无
出参
传递对象:ResultData
无
前端校验规则
权限校验
└── 取消按钮权限
└── v-auth: 'personalInventory:giveBack:cancel:popup'
按钮权限控制
└── cancel
└── disabled: row.orderStatus != 1
提交拦截校验
└── cancel
└── 二次确认弹窗通过后才允许取消;取消确认时中断提交后端逻辑
业务流程:查询退库单与关联入库单 -> 校验单据处于可撤销状态 -> 同步作废退库单和入库单
├── 查询退库单
│ ├── 查询退库单:getOne :387-388
│ └── 条件
│ ├── returnOrderNo
│ └── isDelete=0
├── 查询关联入库单
│ ├── 查询入库单:getOne :395-396
│ └── 条件
│ ├── returnOrderNo
│ └── isDelete=0
├── 校验可撤销状态
│ ├── 退库单状态必须为 1 :392-394
│ └── 入库单状态必须为 1 :400-401
└── 同步作废单据
├── 更新退库单状态为 99
│ └── updateById :403-407
└── 更新入库单状态为 99
└── StoreInOrdersService.updateById :404-408后端校验规则
数据存在性校验
├── 校验归还单是否存在:按 returnOrderNo=orderNo 且 isDelete=false 查询为空则拦截 :387-391
│ └── ExceptionCode.EX100007
└── 校验关联入库单是否存在:按 returnOrderNo=orderNo 且 isDelete=false 查询为空则拦截 :395-399
└── ExceptionCode.EX100007
状态类校验
├── 校验归还单可取消状态:当 one.orderStatus != 1 时不允许取消 :392-394
│ └── ExceptionCode.EX500028
└── 校验关联入库单可取消状态:当 inOrder.storeInStatus != 1 时不允许取消 :400-402
└── ExceptionCode.EX500028涉及数据库表
| 库名.表名 | mapper.statement | 描述 |
|---|---|---|
| store.store_in_orders | storeInOrdersService.updateById | storeInOrdersService |