mirror of
https://github.com/zccbbg/wms-ruoyi.git
synced 2024-09-20 11:05:54 +08:00
refactor: 库存不足提示优化
This commit is contained in:
parent
c2b34bd747
commit
fc3d85a08e
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.common.core.constant.HttpStatus;
|
||||
import com.ruoyi.common.core.exception.ServiceException;
|
||||
import com.ruoyi.common.core.utils.MapstructUtils;
|
||||
import com.ruoyi.common.core.utils.ValidatorUtils;
|
||||
|
@ -134,9 +135,14 @@ public class InventoryService extends ServiceImpl<InventoryMapper, Inventory> {
|
|||
wrapper.eq(Inventory::getWarehouseId, inventoryBo.getWarehouseId());
|
||||
wrapper.eq(Inventory::getSkuId, inventoryBo.getSkuId());
|
||||
Inventory result = inventoryMapper.selectOne(wrapper);
|
||||
if(result==null){
|
||||
ItemSkuVo itemSkuVo = itemSkuService.queryById(inventoryBo.getSkuId());
|
||||
throw new ServiceException("库存不足", HttpStatus.NOT_ACCEPTABLE,itemSkuVo.getItem().getItemName()+"("+itemSkuVo.getSkuName()+")库存不足,当前库存:0");
|
||||
}
|
||||
BigDecimal quantity = result.getQuantity().subtract(inventoryBo.getQuantity());
|
||||
if(quantity.signum() == -1){
|
||||
throw new ServiceException("库存不足");
|
||||
ItemSkuVo itemSkuVo = itemSkuService.queryById(inventoryBo.getSkuId());
|
||||
throw new ServiceException("库存不足", HttpStatus.NOT_ACCEPTABLE,itemSkuVo.getItem().getItemName()+"("+itemSkuVo.getSkuName()+")库存不足,当前库存:"+result.getQuantity());
|
||||
}
|
||||
result.setQuantity(quantity);
|
||||
updateList.add(result);
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package com.ruoyi.wms.service;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
|
@ -12,6 +11,10 @@ import com.ruoyi.common.core.exception.base.BaseException;
|
|||
import com.ruoyi.common.core.utils.MapstructUtils;
|
||||
import com.ruoyi.common.mybatis.core.page.PageQuery;
|
||||
import com.ruoyi.common.mybatis.core.page.TableDataInfo;
|
||||
import com.ruoyi.wms.domain.bo.ItemSkuBo;
|
||||
import com.ruoyi.wms.domain.entity.ItemSku;
|
||||
import com.ruoyi.wms.domain.vo.ItemSkuVo;
|
||||
import com.ruoyi.wms.domain.vo.ItemVo;
|
||||
import com.ruoyi.wms.mapper.ItemMapper;
|
||||
import com.ruoyi.wms.mapper.ItemSkuMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
@ -20,11 +23,6 @@ import org.springframework.context.annotation.Lazy;
|
|||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import com.ruoyi.wms.domain.bo.ItemSkuBo;
|
||||
import com.ruoyi.wms.domain.entity.ItemSku;
|
||||
import com.ruoyi.wms.domain.vo.ItemSkuVo;
|
||||
import com.ruoyi.wms.domain.vo.ItemVo;
|
||||
import com.ruoyi.wms.mapper.ItemCategoryMapper;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
|
@ -37,8 +35,6 @@ public class ItemSkuService extends ServiceImpl<ItemSkuMapper, ItemSku> {
|
|||
|
||||
|
||||
private final ItemSkuMapper itemSkuMapper;
|
||||
private final ItemService itemService;
|
||||
private final ItemCategoryMapper itemCategoryMapper;
|
||||
private final InventoryService inventoryService;
|
||||
private final ItemMapper itemMapper;
|
||||
|
||||
|
@ -47,7 +43,12 @@ public class ItemSkuService extends ServiceImpl<ItemSkuMapper, ItemSku> {
|
|||
*/
|
||||
|
||||
public ItemSkuVo queryById(Long id) {
|
||||
return itemSkuMapper.selectVoById(id);
|
||||
ItemSkuVo itemSkuVo = itemSkuMapper.selectVoById(id);
|
||||
if(itemSkuVo!=null){
|
||||
ItemVo itemVo = itemMapper.selectVoById(itemSkuVo.getItemId());
|
||||
itemSkuVo.setItem(itemVo);
|
||||
}
|
||||
return itemSkuVo;
|
||||
}
|
||||
|
||||
|
||||
|
@ -142,18 +143,6 @@ public class ItemSkuService extends ServiceImpl<ItemSkuMapper, ItemSku> {
|
|||
saveOrUpdateBatch(itemSkuList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 填充sku的编码
|
||||
* @param itemSkuList
|
||||
*/
|
||||
public void setOutSkuId(List<ItemSkuBo> itemSkuList) {
|
||||
for (ItemSkuBo itemSkuBo : itemSkuList) {
|
||||
if (StrUtil.isBlank(itemSkuBo.getBarcode())) {
|
||||
itemSkuBo.setBarcode(RandomUtil.randomNumbers(8));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setItemId(List<ItemSkuBo> itemSkuList,Long itemId) {
|
||||
for (ItemSkuBo itemSkuBo : itemSkuList) {
|
||||
if (StrUtil.isBlank(itemSkuBo.getBarcode())) {
|
||||
|
|
|
@ -71,6 +71,11 @@ public interface HttpStatus {
|
|||
*/
|
||||
int CONFLICT = 409;
|
||||
|
||||
/**
|
||||
* 资源不被允许访问
|
||||
*/
|
||||
int NOT_ACCEPTABLE = 406;
|
||||
|
||||
/**
|
||||
* 不支持的数据,媒体类型
|
||||
*/
|
||||
|
|
|
@ -30,6 +30,8 @@ public class R<T> implements Serializable {
|
|||
|
||||
private String msg;
|
||||
|
||||
private String detailMessage;
|
||||
|
||||
private T data;
|
||||
|
||||
public static <T> R<T> ok() {
|
||||
|
@ -68,6 +70,10 @@ public class R<T> implements Serializable {
|
|||
return restResult(null, code, msg);
|
||||
}
|
||||
|
||||
public static <T> R<T> fail(int code, String msg,String detailMessage) {
|
||||
return restResult(null, code, msg,detailMessage);
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回警告消息
|
||||
*
|
||||
|
@ -97,6 +103,15 @@ public class R<T> implements Serializable {
|
|||
return r;
|
||||
}
|
||||
|
||||
private static <T> R<T> restResult(T data, int code, String msg,String detailMessage) {
|
||||
R<T> r = new R<>();
|
||||
r.setCode(code);
|
||||
r.setData(data);
|
||||
r.setMsg(msg);
|
||||
r.setDetailMessage(detailMessage);
|
||||
return r;
|
||||
}
|
||||
|
||||
public static <T> Boolean isError(R<T> ret) {
|
||||
return !isSuccess(ret);
|
||||
}
|
||||
|
|
|
@ -40,6 +40,12 @@ public final class ServiceException extends RuntimeException {
|
|||
this.code = code;
|
||||
}
|
||||
|
||||
public ServiceException(String message, Integer code,String detailMessage) {
|
||||
this.message = message;
|
||||
this.code = code;
|
||||
this.detailMessage = detailMessage;
|
||||
}
|
||||
|
||||
public String getDetailMessage() {
|
||||
return detailMessage;
|
||||
}
|
||||
|
|
|
@ -62,7 +62,7 @@ public class GlobalExceptionHandler {
|
|||
public R<Void> handleServiceException(ServiceException e, HttpServletRequest request) {
|
||||
log.error(e.getMessage());
|
||||
Integer code = e.getCode();
|
||||
return ObjectUtil.isNotNull(code) ? R.fail(code, e.getMessage()) : R.fail(e.getMessage());
|
||||
return ObjectUtil.isNotNull(code) ? R.fail(code, e.getMessage(),e.getDetailMessage()) : R.fail(e.getMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue