Skip to content

POST /dm-store/safeStock/add

Content-Type: application/json

触发按钮:partMainAdd

入参

传递对象:SafeStockVo

字段类型必填多选校验规则说明
storeNoString-仓库代号
storeCodeString-仓库编码
storeNameString-仓库名称
partNoString-物料代号
partCodeString-物料编码
partNameString-物料名称
uomString-单位
maxStockLong-最高库存
minStockLong-最低库存
safeStockLong-安全库存

出参

传递对象:ResultData

前端校验规则

权限校验
├── 新增按钮权限
│   └── v-auth: 'inventory:safety:add:popup'
├── 表单校验
│   ├── storeCode(仓库编码)
│   │   └── required: true, trigger: blur
│   ├── storeName(仓库名称)
│   │   └── required: true, trigger: blur
│   ├── partCode(物料编码)
│   │   └── required: true, trigger: blur
│   ├── partName(物料名称)
│   │   └── required: true, trigger: blur
│   ├── uom(单位)
│   │   └── required: true, trigger: blur
│   ├── maxStock(最高库存)
│   │   ├── 使用 el-input-number
│   │   └── 最小值:1
│   ├── minStock(最低库存)
│   │   ├── 使用 el-input-number
│   │   └── 最小值:1
│   └── safeStock(安全库存)
│       ├── 使用 el-input-number
│       └── 最小值:1
└── 提交拦截校验
    └── approvalAction
        └── this.$refs.form.validate 通过后才允许提交

后端逻辑

业务流程:校验库存阈值关系 -> 校验仓库与物料组合唯一性 -> 新增安全库存记录
├── 校验库存阈值关系:SafeStockServiceImpl.save :109-119
│   └── 条件
│       └── maxStock > safeStock > minStock
├── 校验仓库与物料组合唯一性
│   ├── 组装唯一条件:SafeStockServiceImpl.findSafeStockCondition :146-156
│   │   └── 条件
│   │       ├── partNo
│   │       ├── storeNo
│   │       └── isDelete=0
│   ├── 查询重复配置:getOne :125
│   └── 已存在相同仓库+物料配置时终止新增
└── 新增安全库存记录:save :134

后端校验规则

业务约束校验
├── 校验最大库存必须大于最小库存:save :112-114
│   └── ExceptionCode.EX90029
├── 校验最大库存必须大于安全库存:save :115-117
│   └── ExceptionCode.EX90030
└── 校验安全库存必须大于最小库存:save :118-120
    └── ExceptionCode.EX90031
业务唯一性校验
└── 校验安全库存记录唯一(生效条件:新增时执行;条件表达式:partNo=入参partNo 且 storeNo=入参storeNo 且 isDelete=0):save/findSafeStockCondition :122-157
    └── ExceptionCode.EX90032

涉及数据库表

库名.表名mapper.statement描述
store.safe_stockSafeStockMapper.insert新增safety数据