diff --git a/src/main/java/com/glxp/api/dao/auth/InvSpaceDao.java b/src/main/java/com/glxp/api/dao/auth/InvSpaceDao.java index e8ff6ea6d..15c473646 100644 --- a/src/main/java/com/glxp/api/dao/auth/InvSpaceDao.java +++ b/src/main/java/com/glxp/api/dao/auth/InvSpaceDao.java @@ -87,4 +87,20 @@ public interface InvSpaceDao extends BaseMapperPlus selectByInvCode(@Param("invStorageCode") String invStorageCode, @Param("invWarehouseCode") String invWarehouseCode, @Param("invSpaceCode") String invSpaceCode); + + /** + * 查询此仓库下,货位名称是否重复 + * + * @param invSpace + * @return + */ + List selectExistByName(InvSpace invSpace); + + /** + * 查询仓库下最大的货位编码 + * + * @param invCode + * @return + */ + String getMaxSpaceCode(@Param("invCode") String invCode); } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/res/purchase/SupCertRemindMsgResponse.java b/src/main/java/com/glxp/api/res/purchase/SupCertRemindMsgResponse.java index 5e0d5d73d..63cda4bd1 100644 --- a/src/main/java/com/glxp/api/res/purchase/SupCertRemindMsgResponse.java +++ b/src/main/java/com/glxp/api/res/purchase/SupCertRemindMsgResponse.java @@ -93,4 +93,9 @@ public class SupCertRemindMsgResponse { */ private String certName; + /** + * 提醒次数 + */ + private int remindCount; + } diff --git a/src/main/java/com/glxp/api/service/auth/impl/InvSpaceServiceImpl.java b/src/main/java/com/glxp/api/service/auth/impl/InvSpaceServiceImpl.java index 827709062..bb86773b7 100644 --- a/src/main/java/com/glxp/api/service/auth/impl/InvSpaceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/auth/impl/InvSpaceServiceImpl.java @@ -14,6 +14,7 @@ import com.glxp.api.req.auth.FilterInvSpaceRequest; import com.glxp.api.res.auth.InvSpaceResponse; import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.InvSpaceService; +import com.glxp.api.util.IdUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -26,7 +27,7 @@ import java.util.List; @Slf4j @Service @Transactional(rollbackFor = Exception.class) -public class InvSpaceServiceImpl extends ServiceImpl implements InvSpaceService { +public class InvSpaceServiceImpl extends ServiceImpl implements InvSpaceService { @Resource private InvSpaceDao invSpaceDao; @@ -54,6 +55,14 @@ public class InvSpaceServiceImpl extends ServiceImpl imple if (!"success".equals(result)) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, result); } + + //获取当前仓库下的最大货位编码 + String maxSpaceCode = invSpaceDao.getMaxSpaceCode(invSpace.getInvWarehouseCode()); + if (StrUtil.isBlank(maxSpaceCode)) { + maxSpaceCode = "0000"; + } + String spaceCode = IdUtil.getSpaceCode(maxSpaceCode); + invSpace.setCode(spaceCode); Date date = new Date(); AuthAdmin user = customerService.getUserBean(); invSpace.setCreateTime(date); @@ -72,8 +81,8 @@ public class InvSpaceServiceImpl extends ServiceImpl imple */ private static BaseResponse verifySpaceParams(InvSpace invSpace) { //校验参数 - if (StrUtil.isBlank(invSpace.getCode()) || StrUtil.isBlank(invSpace.getName())) { - return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "货位名称和货位号不能为空!"); + if (StrUtil.isBlank(invSpace.getName())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "货位名称不能为空!"); } if (StrUtil.isBlank(invSpace.getInvStorageCode()) || StrUtil.isBlank(invSpace.getInvWarehouseCode())) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "请指定所属仓库和分库!"); @@ -143,22 +152,8 @@ public class InvSpaceServiceImpl extends ServiceImpl imple * @return */ public String verifyExist(InvSpace invSpace) { - //先检查货位号是否重复 - List invSpaces = invSpaceDao.selectByInvCode(invSpace.getInvStorageCode(), invSpace.getInvWarehouseCode(), invSpace.getCode()); - if (CollUtil.isNotEmpty(invSpaces)) { - //判断ID是否为空,如果为空表示数据为新增货位,是重复添加- - if (null == invSpace.getId()) { - return "货位信息已存在"; - } - - //此分库下,货位号重复,判断ID是否与当前货位相同 - for (InvSpace space : invSpaces) { - if (!space.getId().equals(invSpace.getId())) { - return "货位信息已存在"; - } - } - } - List list = invSpaceDao.selectExist(invSpace); + //判断此货位名称是否重复 + List list = invSpaceDao.selectExistByName(invSpace); if (CollUtil.isNotEmpty(list)) { if (null == invSpace.getId()) { return "货位信息已存在"; diff --git a/src/main/java/com/glxp/api/util/IdUtil.java b/src/main/java/com/glxp/api/util/IdUtil.java index 68ccb6916..e00079e10 100644 --- a/src/main/java/com/glxp/api/util/IdUtil.java +++ b/src/main/java/com/glxp/api/util/IdUtil.java @@ -33,4 +33,15 @@ public class IdUtil { return String.valueOf(code); } + /** + * 获取新的货位编码,基于传入的最大编码参数+1,并拼接成4位数返回 + * + * @param maxSpaceCode 当前最大货位编码 + * @return + */ + public static String getSpaceCode(String maxSpaceCode) { + Long l = Long.parseLong(maxSpaceCode) + 1L; + return String.format("%04d", l); + } + } diff --git a/src/main/resources/mybatis/mapper/auth/InvSpaceDao.xml b/src/main/resources/mybatis/mapper/auth/InvSpaceDao.xml index c0872f737..951a85e72 100644 --- a/src/main/resources/mybatis/mapper/auth/InvSpaceDao.xml +++ b/src/main/resources/mybatis/mapper/auth/InvSpaceDao.xml @@ -382,4 +382,30 @@ + + + + \ No newline at end of file