Skip to content

POST /dm-store/transfer/personal/confirm

Content-Type: application/json

触发按钮:无

入参

出参

传递对象:ResultData

前端校验规则

权限校验
└── 确认按钮权限
    └── v-auth: 'personalInventory:transfers:add:new'
条件校验逻辑
└── 确认按钮
    └── disabled:row.orderStatus !== 30 || row.confirmStatus === 1

后端逻辑

业务流程:核对调拨单可确认 -> 更新确认收货状态 -> 查询调拨明细 -> 生成接收人个人库存记录 -> 批量入个人库

├── 查询调拨单
│   └── 查询调拨单:getOne :128-130
├── 校验可确认条件 :134-136
│   ├── 单据状态=个人调拨入库完成
│   └── 确认收货状态=未确认
├── 更新确认收货状态 :139-141
│   └── 更新调拨单:updateById :141
├── 查询调拨明细
│   └── 查询调拨明细:PersonalTransferOrderDetailService.list :144-146
└── 存在调拨明细时转入接收人个人库存 :147-170
    ├── 查询原个人库存:PersonalPartStoreService.getById :150
    ├── 初始化接收人个人库存记录 :154-167
    └── 批量新增个人库存:PersonalPartStoreService.saveBatch :170

后端校验规则

数据存在性校验
├── 校验调拨单是否存在:confirmOrder :128-133
│   └── ExceptionCode.EX100007
└── 校验调拨明细关联的个人库存记录是否存在:confirmOrder :149-153
    └── ExceptionCode.EX500001
状态类校验
└── 校验确认收货前置状态:confirmOrder :134-137
    ├── 生效条件: 已查询到调拨单
    ├── 条件表达式: orderStatus == StockCheckEnum.PERSONAL_DB_STATUS_FINISH.getCode() 且 confirmStatus != 1
    └── ExceptionCode.EX500028

涉及数据库表