仓库管理
This commit is contained in:
parent
f433aff58f
commit
0c53f3161c
@ -4,6 +4,8 @@ import cn.iocoder.yudao.framework.common.exception.ErrorCode;
|
||||
|
||||
public interface ErrorCodeConstants {
|
||||
ErrorCode BASE_TYPE_NOT_EXISTS = new ErrorCode(500, "配置类型不存在");
|
||||
ErrorCode BASE_TYPE_EXITS_CHILDREN = new ErrorCode(500, "存在存在子配置类型,无法删除");
|
||||
ErrorCode BASE_TYPE_EXITS_CHILDREN = new ErrorCode(500, "存在子配置类型,无法删除");
|
||||
ErrorCode BASE_WAREHOUSE_EXITS_CHILDREN = new ErrorCode(500, "存在子配置类型,无法删除");
|
||||
ErrorCode BASE_TYPE_NAME_DUPLICATE = new ErrorCode(500, "同父级下配置类型名称或编码重复");
|
||||
ErrorCode BASE_WAREHOUSE_NAME_DUPLICATE = new ErrorCode(500, "同父级下仓库区域名称或编码重复");
|
||||
}
|
||||
|
@ -0,0 +1,105 @@
|
||||
package cn.iocoder.yudao.module.conf.controller.admin;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.conf.service.BaseWarehouseService;
|
||||
import cn.iocoder.yudao.module.conf.vo.BaseWarehouseListReqVO;
|
||||
import cn.iocoder.yudao.module.conf.vo.BaseWarehouseRespVO;
|
||||
import cn.iocoder.yudao.module.conf.vo.BaseWarehouseSaveReqVO;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - 仓库管理")
|
||||
@RestController
|
||||
@RequestMapping("/conf/baseWarehouse")
|
||||
@Validated
|
||||
public class BaseWarehouseController {
|
||||
|
||||
@Resource
|
||||
private BaseWarehouseService baseWarehouseService;
|
||||
|
||||
/**
|
||||
* 新增账目配置类型
|
||||
*
|
||||
* @param createReqVO BaseTypeSaveReqVO实体
|
||||
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<java.lang.String>
|
||||
* @author PQZ
|
||||
* @date 11:21 2024/9/10
|
||||
**/
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建配置类型")
|
||||
public CommonResult<Boolean> createBaseType(@Valid @RequestBody BaseWarehouseSaveReqVO createReqVO) {
|
||||
baseWarehouseService.saveBaseWarehouse(createReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑账目配置类型
|
||||
*
|
||||
* @param updateReqVO BaseTypeSaveReqVO实体
|
||||
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<java.lang.Boolean>
|
||||
* @author PQZ
|
||||
* @date 14:25 2024/9/10
|
||||
**/
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新配置类型")
|
||||
public CommonResult<Boolean> updateBaseType(@Valid @RequestBody BaseWarehouseSaveReqVO updateReqVO) {
|
||||
baseWarehouseService.saveBaseWarehouse(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除配置类型
|
||||
*
|
||||
* @param id 类型id
|
||||
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<java.lang.Boolean>
|
||||
* @author PQZ
|
||||
* @date 14:25 2024/9/10
|
||||
**/
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除配置类型")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
public CommonResult<Boolean> deleteBaseType(@RequestParam("id") String id) {
|
||||
baseWarehouseService.deleteBaseWarehouse(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id获取配置类型
|
||||
*
|
||||
* @param id 配置类型id
|
||||
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<cn.iocoder.yudao.module.conf.vo.BaseTypeRespVO>
|
||||
* @author PQZ
|
||||
* @date 14:26 2024/9/10
|
||||
**/
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得配置类型")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
public CommonResult<BaseWarehouseRespVO> getBaseType(@RequestParam("id") String id) {
|
||||
return success(baseWarehouseService.getBaseWarehouse(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置类型列表
|
||||
*
|
||||
* @param listReqVO BaseTypeListReqVO 实体
|
||||
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<java.util.List < cn.iocoder.yudao.module.conf.vo.BaseTypeRespVO>>
|
||||
* @author PQZ
|
||||
* @date 14:26 2024/9/10
|
||||
**/
|
||||
@GetMapping("/list")
|
||||
@Operation(summary = "获得配置类型列表")
|
||||
public CommonResult<List<BaseWarehouseRespVO>> getBaseTypeList(@Valid BaseWarehouseListReqVO listReqVO) {
|
||||
return success(baseWarehouseService.getBaseWarehouseList(listReqVO));
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -20,8 +20,6 @@ import lombok.*;
|
||||
@AllArgsConstructor
|
||||
public class BaseType extends TenantBaseDO {
|
||||
|
||||
public static final Long PARENT_ID_ROOT = 0L;
|
||||
|
||||
/**
|
||||
* 主键标识
|
||||
*/
|
||||
|
@ -0,0 +1,57 @@
|
||||
package cn.iocoder.yudao.module.conf.entity;
|
||||
|
||||
import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
|
||||
/**
|
||||
* 仓库 DO
|
||||
*
|
||||
* @author pqz
|
||||
*/
|
||||
@TableName("dl_base_warehouse")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class BaseWarehouse extends TenantBaseDO {
|
||||
|
||||
/**
|
||||
* 主键标识
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_UUID)
|
||||
private String id;
|
||||
/**
|
||||
* 父id
|
||||
*/
|
||||
private String parentId;
|
||||
/**
|
||||
* 仓库/货架名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 仓库/货架编码
|
||||
*/
|
||||
private String code;
|
||||
/**
|
||||
* 状态(01启用,02禁用)
|
||||
*/
|
||||
private String status;
|
||||
/**排序*/
|
||||
private double sort;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 所属子公司
|
||||
*/
|
||||
private String corpId;
|
||||
|
||||
}
|
@ -1,6 +1,5 @@
|
||||
package cn.iocoder.yudao.module.conf.mapper;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.conf.entity.BaseType;
|
||||
import cn.iocoder.yudao.module.conf.vo.BaseTypeListReqVO;
|
||||
import cn.iocoder.yudao.module.conf.vo.BaseTypeRespVO;
|
||||
|
@ -0,0 +1,27 @@
|
||||
package cn.iocoder.yudao.module.conf.mapper;
|
||||
|
||||
import cn.iocoder.yudao.module.conf.entity.BaseWarehouse;
|
||||
import cn.iocoder.yudao.module.conf.vo.BaseWarehouseListReqVO;
|
||||
import cn.iocoder.yudao.module.conf.vo.BaseWarehouseRespVO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 仓库 Mapper
|
||||
*
|
||||
* @author pqz
|
||||
*/
|
||||
@Mapper
|
||||
public interface BaseWarehouseMapper extends BaseMapper<BaseWarehouse> {
|
||||
/**
|
||||
* 查询仓库列表
|
||||
* @author PQZ
|
||||
* @date 18:24 2024/9/10
|
||||
* @param entity BaseWarehouseListReqVO实体
|
||||
* @return java.util.List<cn.iocoder.yudao.module.conf.vo.BaseWarehouseRespVO>
|
||||
**/
|
||||
List<BaseWarehouseRespVO> queryList(@Param("entity")BaseWarehouseListReqVO entity);
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
package cn.iocoder.yudao.module.conf.service;
|
||||
|
||||
import cn.iocoder.yudao.module.conf.entity.BaseWarehouse;
|
||||
import cn.iocoder.yudao.module.conf.vo.*;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 仓库 Service 接口
|
||||
*
|
||||
* @author pqz
|
||||
*/
|
||||
public interface BaseWarehouseService extends IService<BaseWarehouse> {
|
||||
|
||||
/**
|
||||
* 新增仓库
|
||||
*
|
||||
* @param saveReqVO BaseWarehouseSaveReqVO实体
|
||||
* @return void
|
||||
* @author PQZ
|
||||
* @date 18:28 2024/9/10
|
||||
**/
|
||||
void saveBaseWarehouse(BaseWarehouseSaveReqVO saveReqVO);
|
||||
|
||||
/**
|
||||
* 删除仓库
|
||||
*
|
||||
* @param id 仓库id
|
||||
* @author PQZ
|
||||
* @date 18:29 2024/9/10
|
||||
**/
|
||||
void deleteBaseWarehouse(String id);
|
||||
|
||||
/**
|
||||
* 根据仓库id查询仓库
|
||||
*
|
||||
* @param id 仓库id
|
||||
* @return cn.iocoder.yudao.module.conf.vo.BaseTypeRespVO
|
||||
* @author PQZ
|
||||
* @date 18:30 2024/9/10
|
||||
**/
|
||||
BaseWarehouseRespVO getBaseWarehouse(String id);
|
||||
|
||||
/**
|
||||
* 获取仓库列表
|
||||
*
|
||||
* @param listReqVO BaseWarehouseListReqVO实体
|
||||
* @return java.util.List<cn.iocoder.yudao.module.conf.vo.BaseWarehouseRespVO>
|
||||
* @author PQZ
|
||||
* @date 18:31 2024/9/10
|
||||
**/
|
||||
List<BaseWarehouseRespVO> getBaseWarehouseList(BaseWarehouseListReqVO listReqVO);
|
||||
|
||||
}
|
@ -17,7 +17,6 @@ import org.springframework.validation.annotation.Validated;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import static cn.iocoder.yudao.common.ErrorCodeConstants.*;
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
@ -45,7 +44,7 @@ public class BaseTypeServiceImpl extends ServiceImpl<BaseTypeMapper, BaseType> i
|
||||
public void saveBaseType(BaseTypeSaveReqVO saveReqVO) {
|
||||
/*1、数据校验*/
|
||||
//同级别下校验名称是否重复
|
||||
validateBaseTypeNameUnique(saveReqVO.getId(),saveReqVO.getParentId(),saveReqVO.getType(),saveReqVO.getName(),saveReqVO.getCode());
|
||||
validateBaseTypeNameUnique(saveReqVO.getId(), saveReqVO.getParentId(), saveReqVO.getType(), saveReqVO.getName(), saveReqVO.getCode());
|
||||
/*2、数据保存*/
|
||||
//类型转换
|
||||
BaseType baseType = BeanUtils.toBean(saveReqVO, BaseType.class);
|
||||
@ -55,9 +54,10 @@ public class BaseTypeServiceImpl extends ServiceImpl<BaseTypeMapper, BaseType> i
|
||||
|
||||
/**
|
||||
* 删除配置类型
|
||||
*
|
||||
* @param id 配置类型id
|
||||
* @author PQZ
|
||||
* @date 17:07 2024/9/10
|
||||
* @param id 配置类型id
|
||||
**/
|
||||
@Override
|
||||
public void deleteBaseType(String id) {
|
||||
@ -84,7 +84,7 @@ public class BaseTypeServiceImpl extends ServiceImpl<BaseTypeMapper, BaseType> i
|
||||
* @author PQZ
|
||||
* @date 11:34 2024/9/10
|
||||
**/
|
||||
private void validateBaseTypeNameUnique(String id, String parentId, String type, String name,String code) {
|
||||
private void validateBaseTypeNameUnique(String id, String parentId, String type, String name, String code) {
|
||||
//配置类型不能为空
|
||||
if (StringUtils.isBlank(type)) {
|
||||
throw exception(BASE_TYPE_NOT_EXISTS);
|
||||
@ -93,7 +93,7 @@ public class BaseTypeServiceImpl extends ServiceImpl<BaseTypeMapper, BaseType> i
|
||||
lambdaQueryWrapper.eq(BaseDO::getDeleted, 0)
|
||||
.eq(BaseType::getType, type)
|
||||
.eq(BaseType::getName, name)
|
||||
.eq(BaseType::getName, code)
|
||||
.eq(BaseType::getCode, code)
|
||||
.eq(BaseType::getParentId, parentId);
|
||||
//id存在为编辑情况,排除自身
|
||||
if (null != id) {
|
||||
@ -108,17 +108,18 @@ public class BaseTypeServiceImpl extends ServiceImpl<BaseTypeMapper, BaseType> i
|
||||
|
||||
/**
|
||||
* 根据类型id查询配置类型
|
||||
* @author PQZ
|
||||
* @date 14:40 2024/9/10
|
||||
*
|
||||
* @param id 类型id
|
||||
* @return cn.iocoder.yudao.module.conf.entity.BaseType
|
||||
* @author PQZ
|
||||
* @date 14:40 2024/9/10
|
||||
**/
|
||||
@Override
|
||||
public BaseTypeRespVO getBaseType(String id) {
|
||||
BaseType baseType = getById(id);
|
||||
BaseTypeRespVO result = BeanUtils.toBean(baseType, BaseTypeRespVO.class);
|
||||
//关联子公司转换
|
||||
if (StringUtils.isNotBlank(result.getCorpId())){
|
||||
if (StringUtils.isNotBlank(result.getCorpId())) {
|
||||
result.setCorpIds(Arrays.asList(result.getCorpId().split(",")));
|
||||
}
|
||||
return result;
|
||||
@ -126,10 +127,11 @@ public class BaseTypeServiceImpl extends ServiceImpl<BaseTypeMapper, BaseType> i
|
||||
|
||||
/**
|
||||
* 获取配置类型列表
|
||||
* @author PQZ
|
||||
* @date 14:27 2024/9/10
|
||||
*
|
||||
* @param listReqVO BaseTypeListReqVO
|
||||
* @return java.util.List<cn.iocoder.yudao.module.conf.entity.BaseType>
|
||||
* @author PQZ
|
||||
* @date 14:27 2024/9/10
|
||||
**/
|
||||
@Override
|
||||
public List<BaseTypeRespVO> getBaseTypeList(BaseTypeListReqVO listReqVO) {
|
||||
|
@ -0,0 +1,134 @@
|
||||
package cn.iocoder.yudao.module.conf.service.impl;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import cn.iocoder.yudao.module.conf.entity.BaseWarehouse;
|
||||
import cn.iocoder.yudao.module.conf.mapper.BaseWarehouseMapper;
|
||||
import cn.iocoder.yudao.module.conf.service.BaseWarehouseService;
|
||||
import cn.iocoder.yudao.module.conf.vo.BaseWarehouseListReqVO;
|
||||
import cn.iocoder.yudao.module.conf.vo.BaseWarehouseRespVO;
|
||||
import cn.iocoder.yudao.module.conf.vo.BaseWarehouseSaveReqVO;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.common.ErrorCodeConstants.BASE_WAREHOUSE_EXITS_CHILDREN;
|
||||
import static cn.iocoder.yudao.common.ErrorCodeConstants.BASE_WAREHOUSE_NAME_DUPLICATE;
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
|
||||
/**
|
||||
* 配置类型 Service 实现类
|
||||
*
|
||||
* @author pqz
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class BaseWarehouseServiceImpl extends ServiceImpl<BaseWarehouseMapper, BaseWarehouse> implements BaseWarehouseService {
|
||||
@Resource
|
||||
private BaseWarehouseMapper baseWarehouseMapper;
|
||||
|
||||
/**
|
||||
* 新增仓库
|
||||
*
|
||||
* @param saveReqVO BaseWarehouseSaveReqVO实体
|
||||
* @return void
|
||||
* @author PQZ
|
||||
* @date 18:28 2024/9/10
|
||||
**/
|
||||
@Override
|
||||
public void saveBaseWarehouse(BaseWarehouseSaveReqVO saveReqVO) {
|
||||
/*1、数据校验*/
|
||||
//同级别下校验名称是否重复
|
||||
validateWarehouseUnique(saveReqVO.getId(), saveReqVO.getParentId(), saveReqVO.getName(), saveReqVO.getCode());
|
||||
/*2、数据保存*/
|
||||
//类型转换
|
||||
BaseWarehouse baseWarehouse = BeanUtils.toBean(saveReqVO, BaseWarehouse.class);
|
||||
//数据保存
|
||||
saveOrUpdate(baseWarehouse);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除仓库
|
||||
*
|
||||
* @param id 仓库id
|
||||
* @author PQZ
|
||||
* @date 18:29 2024/9/10
|
||||
**/
|
||||
@Override
|
||||
public void deleteBaseWarehouse(String id) {
|
||||
// 校验是否有子配置类型
|
||||
LambdaQueryWrapper<BaseWarehouse> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(BaseWarehouse::getParentId, id);
|
||||
List<BaseWarehouse> list = list(lambdaQueryWrapper);
|
||||
if (list.size() > 0) {
|
||||
throw exception(BASE_WAREHOUSE_EXITS_CHILDREN);
|
||||
}
|
||||
// 删除
|
||||
baseWarehouseMapper.deleteById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据仓库id查询仓库
|
||||
*
|
||||
* @param id 仓库id
|
||||
* @return cn.iocoder.yudao.module.conf.vo.BaseTypeRespVO
|
||||
* @author PQZ
|
||||
* @date 18:30 2024/9/10
|
||||
**/
|
||||
@Override
|
||||
public BaseWarehouseRespVO getBaseWarehouse(String id) {
|
||||
BaseWarehouse baseWarehouse = getById(id);
|
||||
BaseWarehouseRespVO result = BeanUtils.toBean(baseWarehouse, BaseWarehouseRespVO.class);
|
||||
//关联子公司转换
|
||||
if (StringUtils.isNotBlank(result.getCorpId())) {
|
||||
result.setCorpIds(Arrays.asList(result.getCorpId().split(",")));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取仓库列表
|
||||
*
|
||||
* @param listReqVO BaseWarehouseListReqVO实体
|
||||
* @return java.util.List<cn.iocoder.yudao.module.conf.vo.BaseWarehouseRespVO>
|
||||
* @author PQZ
|
||||
* @date 18:31 2024/9/10
|
||||
**/
|
||||
@Override
|
||||
public List<BaseWarehouseRespVO> getBaseWarehouseList(BaseWarehouseListReqVO listReqVO) {
|
||||
return baseWarehouseMapper.queryList(listReqVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 同类型,同级别下校验名称及编码唯一性
|
||||
*
|
||||
* @param id id
|
||||
* @param parentId 父类id
|
||||
* @param name 名称
|
||||
* @param code 编码
|
||||
* @author PQZ
|
||||
* @date 11:34 2024/9/10
|
||||
**/
|
||||
private void validateWarehouseUnique(String id, String parentId, String name, String code) {
|
||||
LambdaQueryWrapper<BaseWarehouse> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(BaseDO::getDeleted, 0)
|
||||
.eq(BaseWarehouse::getName, name)
|
||||
.eq(BaseWarehouse::getCode, code)
|
||||
.eq(BaseWarehouse::getParentId, parentId);
|
||||
//id存在为编辑情况,排除自身
|
||||
if (null != id) {
|
||||
lambdaQueryWrapper.ne(BaseWarehouse::getId, id);
|
||||
}
|
||||
//查询list,校验唯一性
|
||||
List<BaseWarehouse> list = list(lambdaQueryWrapper);
|
||||
if (list.size() > 0) {
|
||||
throw exception(BASE_WAREHOUSE_NAME_DUPLICATE);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package cn.iocoder.yudao.module.conf.vo;
|
||||
|
||||
import cn.iocoder.yudao.module.conf.entity.BaseWarehouse;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import java.time.LocalDateTime;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 仓库列表 Request VO")
|
||||
@Data
|
||||
public class BaseWarehouseListReqVO extends BaseWarehouse {
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package cn.iocoder.yudao.module.conf.vo;
|
||||
|
||||
import cn.iocoder.yudao.module.conf.entity.BaseWarehouse;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.excel.annotation.*;
|
||||
|
||||
@Schema(description = "管理后台 - 仓库 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class BaseWarehouseRespVO extends BaseWarehouse {
|
||||
/**关联子公司*/
|
||||
List<String> corpIds = new ArrayList<>();
|
||||
/**子公司名称字符串*/
|
||||
String corpNames;
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package cn.iocoder.yudao.module.conf.vo;
|
||||
|
||||
import cn.iocoder.yudao.module.conf.entity.BaseWarehouse;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
@Schema(description = "管理后台 - 仓库新增/修改 Request VO")
|
||||
@Data
|
||||
public class BaseWarehouseSaveReqVO extends BaseWarehouse {
|
||||
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.yudao.module.conf.mapper.BaseWarehouseMapper">
|
||||
|
||||
<!--
|
||||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
<select id="queryList" resultType="cn.iocoder.yudao.module.conf.vo.BaseWarehouseRespVO">
|
||||
SELECT
|
||||
dbw.*,
|
||||
GROUP_CONCAT(bc.corp_name) AS corpNames
|
||||
FROM
|
||||
dl_base_warehouse dbw
|
||||
LEFT JOIN base_company bc ON FIND_IN_SET(bc.id, dbw.corp_id) > 0
|
||||
<where>
|
||||
dbw.deleted = 0
|
||||
<if test="entity.status != null and entity.status != ''">
|
||||
and dbw.status = #{entity.status}
|
||||
</if>
|
||||
<if test="entity.corpId != null and entity.corpId != ''">
|
||||
and dbw.corp_id like concat('%', #{entity.corpId}, '%')
|
||||
</if>
|
||||
<if test="entity.name != null and entity.name != ''">
|
||||
and dbw.name like concat('%', #{entity.name}, '%')
|
||||
</if>
|
||||
<if test="entity.code != null and entity.code != ''">
|
||||
and dbw.code like concat('%', #{entity.code}, '%')
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY
|
||||
dbw.id
|
||||
order by dbw.sort asc
|
||||
</select>
|
||||
</mapper>
|
Loading…
Reference in New Issue
Block a user