fix:存放位置编码重复校验
This commit is contained in:
@@ -87,7 +87,7 @@ public interface ErrorCodeConstants {
|
|||||||
ErrorCode CONFIG_PERMISSION_NOT_EXISTS = new ErrorCode(1_032_050_000, "权限配置不存在");
|
ErrorCode CONFIG_PERMISSION_NOT_EXISTS = new ErrorCode(1_032_050_000, "权限配置不存在");
|
||||||
ErrorCode CONFIG_PERMISSION_DUPLICATE = new ErrorCode(1_032_050_000, "权限配置数据有误");
|
ErrorCode CONFIG_PERMISSION_DUPLICATE = new ErrorCode(1_032_050_000, "权限配置数据有误");
|
||||||
ErrorCode CONFIG_WAREHOUSE_LOCATION_NOT_EXISTS = new ErrorCode(1_032_050_000, "存放位置不存在");
|
ErrorCode CONFIG_WAREHOUSE_LOCATION_NOT_EXISTS = new ErrorCode(1_032_050_000, "存放位置不存在");
|
||||||
ErrorCode CONFIG_WAREHOUSE_LOCATION_CODE_DUPLICATE = new ErrorCode(1_032_050_000, "库位编码重复,请检查库位数据,或联系管理员处理!");
|
ErrorCode CONFIG_WAREHOUSE_LOCATION_CODE_DUPLICATE = new ErrorCode(1_032_050_000, "库位编码重复,请检查!");
|
||||||
|
|
||||||
/*=================================bus 检验业务 1_032_100_000 ~ 1_032_149_999==================================*/
|
/*=================================bus 检验业务 1_032_100_000 ~ 1_032_149_999==================================*/
|
||||||
ErrorCode BUSINESS_SAMPLE_ENTRUST_REGISTRATION_NOT_EXISTS = new ErrorCode(1_032_100_000, "委检登记业务不存在");
|
ErrorCode BUSINESS_SAMPLE_ENTRUST_REGISTRATION_NOT_EXISTS = new ErrorCode(1_032_100_000, "委检登记业务不存在");
|
||||||
|
|||||||
@@ -17,6 +17,10 @@ import com.zt.plat.framework.common.pojo.PageResult;
|
|||||||
public interface ConfigWarehouseLocationService {
|
public interface ConfigWarehouseLocationService {
|
||||||
|
|
||||||
ConfigWarehouseLocationDO getLocationByCode(String code, String warehouseType);
|
ConfigWarehouseLocationDO getLocationByCode(String code, String warehouseType);
|
||||||
|
ConfigWarehouseLocationDO getByCode(String code);
|
||||||
|
|
||||||
|
void checkCodeUnique(ConfigWarehouseLocationSaveReqVO reqVo);
|
||||||
|
void checkCodeUniqueWithoutId(ConfigWarehouseLocationSaveReqVO reqVo);
|
||||||
|
|
||||||
//保存数据
|
//保存数据
|
||||||
ConfigWarehouseLocationRespVO save(@Valid ConfigWarehouseLocationSaveReqVO reqVO);
|
ConfigWarehouseLocationRespVO save(@Valid ConfigWarehouseLocationSaveReqVO reqVO);
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import com.zt.plat.module.qms.enums.QmsPermissionConstant;
|
|||||||
import com.zt.plat.module.qms.enums.QmsWarehouseLocationConstant;
|
import com.zt.plat.module.qms.enums.QmsWarehouseLocationConstant;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
|
import org.springframework.util.ObjectUtils;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -42,11 +43,15 @@ public class ConfigWarehouseLocationServiceImpl implements ConfigWarehouseLocati
|
|||||||
Long id = reqVo.getId();
|
Long id = reqVo.getId();
|
||||||
//处理权限
|
//处理权限
|
||||||
List<ConfigPermissionSaveReqVO> primissionList = reqVo.getPermissionList();
|
List<ConfigPermissionSaveReqVO> primissionList = reqVo.getPermissionList();
|
||||||
|
ConfigWarehouseLocationDO entity = BeanUtils.toBean(reqVo, ConfigWarehouseLocationDO.class);
|
||||||
if(id == null){
|
if(id == null){
|
||||||
ConfigWarehouseLocationDO entity = BeanUtils.toBean(reqVo, ConfigWarehouseLocationDO.class);
|
checkCodeUniqueWithoutId(reqVo);
|
||||||
configWarehouseLocationMapper.insert(entity);
|
configWarehouseLocationMapper.insert(entity);
|
||||||
id = entity.getId();
|
id = entity.getId();
|
||||||
reqVo.setId( id);
|
reqVo.setId( id);
|
||||||
|
}else {
|
||||||
|
checkCodeUnique(reqVo);
|
||||||
|
configWarehouseLocationMapper.updateById(entity);
|
||||||
}
|
}
|
||||||
for(ConfigPermissionSaveReqVO permission : primissionList){
|
for(ConfigPermissionSaveReqVO permission : primissionList){
|
||||||
permission.setSourceId( id);
|
permission.setSourceId( id);
|
||||||
@@ -60,7 +65,8 @@ public class ConfigWarehouseLocationServiceImpl implements ConfigWarehouseLocati
|
|||||||
public ConfigWarehouseLocationDO getLocationByCode(String code, String warehouseType) {
|
public ConfigWarehouseLocationDO getLocationByCode(String code, String warehouseType) {
|
||||||
LambdaQueryWrapper<ConfigWarehouseLocationDO> query = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<ConfigWarehouseLocationDO> query = new LambdaQueryWrapper<>();
|
||||||
query.eq(ConfigWarehouseLocationDO::getCode, code);
|
query.eq(ConfigWarehouseLocationDO::getCode, code);
|
||||||
query.eq(ConfigWarehouseLocationDO::getWarehouseType, warehouseType);
|
if(!ObjectUtils.isEmpty(warehouseType))
|
||||||
|
query.eq(ConfigWarehouseLocationDO::getWarehouseType, warehouseType);
|
||||||
query.eq(ConfigWarehouseLocationDO::getDataType, QmsWarehouseLocationConstant.DATA_TYPE_LOCATION);
|
query.eq(ConfigWarehouseLocationDO::getDataType, QmsWarehouseLocationConstant.DATA_TYPE_LOCATION);
|
||||||
// query.last("limit 1");
|
// query.last("limit 1");
|
||||||
List<ConfigWarehouseLocationDO> list = configWarehouseLocationMapper.selectList(query);
|
List<ConfigWarehouseLocationDO> list = configWarehouseLocationMapper.selectList(query);
|
||||||
@@ -72,23 +78,63 @@ public class ConfigWarehouseLocationServiceImpl implements ConfigWarehouseLocati
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ConfigWarehouseLocationRespVO createConfigWarehouseLocation(ConfigWarehouseLocationSaveReqVO createReqVO) {
|
public ConfigWarehouseLocationDO getByCode(String code) {
|
||||||
|
LambdaQueryWrapper<ConfigWarehouseLocationDO> query = new LambdaQueryWrapper<>();
|
||||||
|
query.eq(ConfigWarehouseLocationDO::getCode, code);
|
||||||
|
List<ConfigWarehouseLocationDO> list = configWarehouseLocationMapper.selectList(query);
|
||||||
|
if(list.size() > 1)
|
||||||
|
throw exception(CONFIG_WAREHOUSE_LOCATION_CODE_DUPLICATE);
|
||||||
|
if(list.isEmpty())
|
||||||
|
return null;
|
||||||
|
return list.get(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ConfigWarehouseLocationRespVO createConfigWarehouseLocation(ConfigWarehouseLocationSaveReqVO reqVo) {
|
||||||
// 插入
|
// 插入
|
||||||
ConfigWarehouseLocationDO configWarehouseLocation = BeanUtils.toBean(createReqVO, ConfigWarehouseLocationDO.class);
|
checkCodeUniqueWithoutId(reqVo);
|
||||||
|
ConfigWarehouseLocationDO configWarehouseLocation = BeanUtils.toBean(reqVo, ConfigWarehouseLocationDO.class);
|
||||||
configWarehouseLocationMapper.insert(configWarehouseLocation);
|
configWarehouseLocationMapper.insert(configWarehouseLocation);
|
||||||
// 返回
|
// 返回
|
||||||
return BeanUtils.toBean(configWarehouseLocation, ConfigWarehouseLocationRespVO.class);
|
return BeanUtils.toBean(configWarehouseLocation, ConfigWarehouseLocationRespVO.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateConfigWarehouseLocation(ConfigWarehouseLocationSaveReqVO updateReqVO) {
|
public void updateConfigWarehouseLocation(ConfigWarehouseLocationSaveReqVO reqVo) {
|
||||||
// 校验存在
|
// 校验存在
|
||||||
validateConfigWarehouseLocationExists(updateReqVO.getId());
|
validateConfigWarehouseLocationExists(reqVo.getId());
|
||||||
|
checkCodeUnique(reqVo);
|
||||||
// 更新
|
// 更新
|
||||||
ConfigWarehouseLocationDO updateObj = BeanUtils.toBean(updateReqVO, ConfigWarehouseLocationDO.class);
|
ConfigWarehouseLocationDO updateObj = BeanUtils.toBean(reqVo, ConfigWarehouseLocationDO.class);
|
||||||
configWarehouseLocationMapper.updateById(updateObj);
|
configWarehouseLocationMapper.updateById(updateObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void checkCodeUnique(ConfigWarehouseLocationSaveReqVO reqVo) {
|
||||||
|
String code = reqVo.getCode();
|
||||||
|
if(ObjectUtils.isEmpty(code)){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ConfigWarehouseLocationDO dbData1 = getConfigWarehouseLocation(reqVo.getId());
|
||||||
|
if(!code.equals(dbData1.getCode())){
|
||||||
|
ConfigWarehouseLocationDO dbData = getByCode(code);
|
||||||
|
if(dbData != null){
|
||||||
|
throw exception(CONFIG_WAREHOUSE_LOCATION_CODE_DUPLICATE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void checkCodeUniqueWithoutId(ConfigWarehouseLocationSaveReqVO reqVo) {
|
||||||
|
String code = reqVo.getCode();
|
||||||
|
if(ObjectUtils.isEmpty(code))
|
||||||
|
return;
|
||||||
|
ConfigWarehouseLocationDO dbData = getByCode(code);
|
||||||
|
if(dbData != null){
|
||||||
|
throw exception(CONFIG_WAREHOUSE_LOCATION_CODE_DUPLICATE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteConfigWarehouseLocation(Long id) {
|
public void deleteConfigWarehouseLocation(Long id) {
|
||||||
// 校验存在
|
// 校验存在
|
||||||
|
|||||||
Reference in New Issue
Block a user