1、仓库采购单、采购需求前后端校验
This commit is contained in:
parent
1efab04d66
commit
14163a7341
|
|
@ -1,12 +1,13 @@
|
|||
<template>
|
||||
<el-dialog
|
||||
width="350px"
|
||||
:title="!dataForm.id ? '新增' : '修改'"
|
||||
:close-on-click-modal="false"
|
||||
:visible.sync="visible">
|
||||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()"
|
||||
label-width="120px">
|
||||
label-width="80px">
|
||||
<el-form-item label="优先级" prop="priority">
|
||||
<el-input v-model="dataForm.priority" placeholder="优先级"></el-input>
|
||||
<el-input-number v-model.number="dataForm.priority" :min="0" :max="9999" label="优先级"></el-input-number>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
|
|
|
|||
|
|
@ -3,19 +3,20 @@
|
|||
:title="!dataForm.id ? '新增' : '修改'"
|
||||
:close-on-click-modal="false"
|
||||
:visible.sync="visible"
|
||||
width="500px"
|
||||
>
|
||||
<el-form
|
||||
:model="dataForm"
|
||||
:rules="dataRule"
|
||||
ref="dataForm"
|
||||
@keyup.enter.native="dataFormSubmit()"
|
||||
label-width="120px"
|
||||
label-width="90px"
|
||||
>
|
||||
<el-form-item label="采购商品id" prop="skuId">
|
||||
<el-input v-model="dataForm.skuId" placeholder="采购商品id"></el-input>
|
||||
<el-input v-model="dataForm.skuId" placeholder="采购商品id" maxlength="20"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="采购数量" prop="skuNum">
|
||||
<el-input v-model="dataForm.skuNum" placeholder="采购数量"></el-input>
|
||||
<el-input-number v-model.number="dataForm.skuNum" :min="1" :max="9999999" label="采购数量"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label="仓库" prop="wareId">
|
||||
<el-select v-model="dataForm.wareId" placeholder="请选择仓库" clearable>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
label-width="90px"
|
||||
>
|
||||
<el-form-item label="sku_id" prop="skuId">
|
||||
<el-input v-model="dataForm.skuId" placeholder="请输入商品id"></el-input>
|
||||
<el-input v-model="dataForm.skuId" placeholder="请输入商品id" maxlength="20"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="仓库" prop="wareId">
|
||||
<el-select v-model="dataForm.wareId" placeholder="请选择仓库" clearable>
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
<el-input-number v-model.number="dataForm.stock" :min="0" :max="9999999" label="库存数"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label="sku_name" prop="skuName">
|
||||
<el-input v-model="dataForm.skuName" placeholder="请输入商品名称"></el-input>
|
||||
<el-input v-model="dataForm.skuName" placeholder="请输入商品名称" maxlength="50"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="锁定库存" prop="stockLocked">
|
||||
<el-input-number v-model.number="dataForm.stockLocked" :min="0" :max="9999999" label="锁定库存"></el-input-number>
|
||||
|
|
|
|||
|
|
@ -6,22 +6,24 @@ import com.xjs.mall.ware.entity.PurchaseEntity;
|
|||
import com.xjs.mall.ware.service.PurchaseService;
|
||||
import com.xjs.utils.PageUtils;
|
||||
import com.xjs.mall.other.R;
|
||||
import com.xjs.validation.group.AddGroup;
|
||||
import com.xjs.validation.group.UpdateGroup;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 采购信息
|
||||
*
|
||||
* @author xiejs
|
||||
* @email 1294405880@qq.com
|
||||
* @since 2022-03-15 09:56:19
|
||||
* @since 2022-03-15 09:56:19
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("ware/purchase")
|
||||
|
|
@ -35,7 +37,7 @@ public class PurchaseController {
|
|||
*/
|
||||
@GetMapping("/list")
|
||||
@ApiOperation("列表")
|
||||
public R list(@RequestParam Map<String, Object> params){
|
||||
public R list(@RequestParam Map<String, Object> params) {
|
||||
PageUtils page = purchaseService.queryPage(params);
|
||||
|
||||
return R.ok().put("page", page);
|
||||
|
|
@ -47,8 +49,8 @@ public class PurchaseController {
|
|||
*/
|
||||
@GetMapping("/info/{id}")
|
||||
@ApiOperation("信息")
|
||||
public R info(@PathVariable("id") Long id){
|
||||
PurchaseEntity purchase = purchaseService.getById(id);
|
||||
public R info(@PathVariable("id") Long id) {
|
||||
PurchaseEntity purchase = purchaseService.getById(id);
|
||||
|
||||
return R.ok().put("purchase", purchase);
|
||||
}
|
||||
|
|
@ -59,8 +61,8 @@ public class PurchaseController {
|
|||
@PostMapping("/save")
|
||||
@ApiOperation("保存")
|
||||
@Log(title = "采购单", businessType = BusinessType.INSERT)
|
||||
public R save(@RequestBody PurchaseEntity purchase){
|
||||
purchaseService.save(purchase);
|
||||
public R save(@Validated(AddGroup.class) @RequestBody PurchaseEntity purchase) {
|
||||
purchaseService.save(purchase);
|
||||
|
||||
return R.ok();
|
||||
}
|
||||
|
|
@ -71,8 +73,8 @@ public class PurchaseController {
|
|||
@PutMapping("/update")
|
||||
@ApiOperation("修改")
|
||||
@Log(title = "采购单", businessType = BusinessType.UPDATE)
|
||||
public R update(@RequestBody PurchaseEntity purchase){
|
||||
purchaseService.updateById(purchase);
|
||||
public R update(@Validated(UpdateGroup.class) @RequestBody PurchaseEntity purchase) {
|
||||
purchaseService.updateById(purchase);
|
||||
|
||||
return R.ok();
|
||||
}
|
||||
|
|
@ -83,8 +85,8 @@ public class PurchaseController {
|
|||
@DeleteMapping("/delete")
|
||||
@ApiOperation("删除")
|
||||
@Log(title = "采购单", businessType = BusinessType.DELETE)
|
||||
public R delete(@RequestBody Long[] ids){
|
||||
purchaseService.removeByIds(Arrays.asList(ids));
|
||||
public R delete(@RequestBody Long[] ids) {
|
||||
purchaseService.removeByIds(Arrays.asList(ids));
|
||||
|
||||
return R.ok();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,9 +6,12 @@ import com.xjs.mall.ware.entity.PurchaseDetailEntity;
|
|||
import com.xjs.mall.ware.service.PurchaseDetailService;
|
||||
import com.xjs.utils.PageUtils;
|
||||
import com.xjs.mall.other.R;
|
||||
import com.xjs.validation.group.AddGroup;
|
||||
import com.xjs.validation.group.UpdateGroup;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
|
@ -58,7 +61,7 @@ public class PurchaseDetailController {
|
|||
@PostMapping("/save")
|
||||
@ApiOperation("保存")
|
||||
@Log(title = "采购需求", businessType = BusinessType.INSERT)
|
||||
public R save(@RequestBody PurchaseDetailEntity purchaseDetail) {
|
||||
public R save(@Validated(AddGroup.class) @RequestBody PurchaseDetailEntity purchaseDetail) {
|
||||
purchaseDetailService.save(purchaseDetail);
|
||||
|
||||
return R.ok();
|
||||
|
|
@ -70,7 +73,7 @@ public class PurchaseDetailController {
|
|||
@PutMapping("/update")
|
||||
@ApiOperation("修改")
|
||||
@Log(title = "采购需求", businessType = BusinessType.UPDATE)
|
||||
public R update(@RequestBody PurchaseDetailEntity purchaseDetail) {
|
||||
public R update(@Validated(UpdateGroup.class) @RequestBody PurchaseDetailEntity purchaseDetail) {
|
||||
purchaseDetailService.updateById(purchaseDetail);
|
||||
|
||||
return R.ok();
|
||||
|
|
|
|||
|
|
@ -2,14 +2,19 @@ package com.xjs.mall.ware.entity;
|
|||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.xjs.validation.group.AddGroup;
|
||||
import com.xjs.validation.group.UpdateGroup;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.Max;
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* @author xiejs
|
||||
* @email 1294405880@qq.com
|
||||
* @date 2022-03-15 09:56:19
|
||||
|
|
@ -20,7 +25,7 @@ public class PurchaseDetailEntity implements Serializable {
|
|||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
|
|
@ -31,10 +36,14 @@ public class PurchaseDetailEntity implements Serializable {
|
|||
/**
|
||||
* 采购商品id
|
||||
*/
|
||||
@NotNull(message = "采购商品id不能为空",groups = {AddGroup.class, UpdateGroup.class})
|
||||
private Long skuId;
|
||||
/**
|
||||
* 采购数量
|
||||
*/
|
||||
@NotNull(message = "采购数量不能为空",groups = {AddGroup.class, UpdateGroup.class})
|
||||
@Max(value = 999999,message = "采购最大数999999",groups = {AddGroup.class, UpdateGroup.class})
|
||||
@Min(value = 1,message = "采购最小数1",groups = {AddGroup.class, UpdateGroup.class})
|
||||
private Integer skuNum;
|
||||
/**
|
||||
* 采购金额
|
||||
|
|
@ -43,6 +52,7 @@ public class PurchaseDetailEntity implements Serializable {
|
|||
/**
|
||||
* 仓库id
|
||||
*/
|
||||
@NotNull(message = "仓库id不能为空",groups = {AddGroup.class, UpdateGroup.class})
|
||||
private Long wareId;
|
||||
/**
|
||||
* 状态[0新建,1已分配,2正在采购,3已完成,4采购失败]
|
||||
|
|
|
|||
|
|
@ -2,15 +2,20 @@ package com.xjs.mall.ware.entity;
|
|||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import com.xjs.validation.group.AddGroup;
|
||||
import com.xjs.validation.group.UpdateGroup;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.Max;
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 采购信息
|
||||
*
|
||||
*
|
||||
* @author xiejs
|
||||
* @email 1294405880@qq.com
|
||||
* @date 2022-03-15 09:56:19
|
||||
|
|
@ -21,44 +26,48 @@ public class PurchaseEntity implements Serializable {
|
|||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
private Long assigneeId;
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
private String assigneeName;
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
*
|
||||
* 优先级
|
||||
*/
|
||||
@NotNull(message = "优先级不能为空",groups = {AddGroup.class, UpdateGroup.class})
|
||||
@Min(value = 0,message = "优先级最小为0",groups = {AddGroup.class, UpdateGroup.class})
|
||||
@Max(value = 9999,message = "优先级最大为9999",groups = {AddGroup.class, UpdateGroup.class})
|
||||
private Integer priority;
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
private Integer status;
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
private Long wareId;
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
private BigDecimal amount;
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
private Date createTime;
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,10 +6,7 @@ import com.xjs.validation.group.AddGroup;
|
|||
import com.xjs.validation.group.UpdateGroup;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.Max;
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.*;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
|
|
@ -50,6 +47,7 @@ public class WareSkuEntity implements Serializable {
|
|||
* sku_name
|
||||
*/
|
||||
@NotBlank(message = "sku_name不能为空", groups = {AddGroup.class, UpdateGroup.class})
|
||||
@Size(min = 0, max = 50, message = "商品名称不能超过 50 字符", groups = {AddGroup.class, UpdateGroup.class})
|
||||
private String skuName;
|
||||
/**
|
||||
* 锁定库存
|
||||
|
|
|
|||
Loading…
Reference in New Issue