Skip to content

POST /dm-store/safeStock/add

Content-Type: application/json

触发按钮:partMainAdd

入参

传递对象:SafeStockVo

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

实际入参:

json
{
  "storeCode": "STORE-01",
  "storeName": "TOOL ROOM B1",
  "partCode": "R00943",
  "partName": "PINES",
  "uom": "PAQ",
  "maxStock": 15,
  "minStock": 10,
  "safeStock": 14,
  "storeNo": "000073",
  "partNo": "000596"
}

出参

传递对象:ResultData

成功响应

json
{
    "code": 200,
    "msg": "success"
}

失败响应

json
{
    "code": 500,
    "msg": "安全库存低于最低库存"
}

前端校验规则

权限校验
├── 新增按钮权限
│   └── 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数据