refactor(ware): 重构线库功能
- 修改 NodeProcessingContext 中的策略判断逻辑 -重命名 NodeTypeEnum 中的字段名称 - 更新 PositionMapItemDO 中的字段注释 - 新增 PositionMapItemService 接口及实现类 - 重构 WareHouseLaneController,改为仅处理线库相关操作 - 更新相关 VO 类,移除巷道相关字段- 重构 WareHouseLaneService接口,新增 createOrEditOrDel 方法 - 实现 WareHouseLaneServiceImpl 中的 createOrEditOrDel 方法
This commit is contained in:
parent
0a7b1b72d0
commit
69c1168dcc
@ -22,11 +22,11 @@ public enum NodeTypeEnum {
|
||||
WAIT(6, "等待点");
|
||||
|
||||
/**
|
||||
* 状态值
|
||||
* 类型
|
||||
*/
|
||||
private final Integer status;
|
||||
private final Integer type;
|
||||
/**
|
||||
* 状态名
|
||||
* 说明
|
||||
*/
|
||||
private final String name;
|
||||
|
||||
|
@ -208,4 +208,5 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode PLEASE_UPLOAD_PNG_AND_YAML_FILES = new ErrorCode(1_002_038_003, "请上传png和yaml两个文件并且文件内容不为空");
|
||||
ErrorCode AGV_MAP_NOT_FOUND = new ErrorCode(1_002_038_004, "找不到AGV地图信息");
|
||||
ErrorCode AGV_IMAGE_CONVERSION_TO_BASE64_FAILED = new ErrorCode(1_002_038_005, "AGV图片转base64失败");
|
||||
ErrorCode THE_LINE_LIBRARY_POINTS_ARE_NOT_LOCATED_IN_THE_SAME_AREA = new ErrorCode(1_002_038_006, "线库点位不在同一区域内");
|
||||
}
|
||||
|
@ -1,37 +1,34 @@
|
||||
package cn.iocoder.yudao.module.system.controller.admin.houselane;
|
||||
|
||||
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.houselane.vo.WareHouseLanePageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.houselane.vo.WareHouseLaneRespVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.houselane.vo.WareHouseLaneSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.houselane.WareHouseLaneDO;
|
||||
import cn.iocoder.yudao.module.system.service.houselane.WareHouseLaneService;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
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.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
||||
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
|
||||
@Tag(name = "管理后台 - 线库/巷道")
|
||||
@Tag(name = "管理后台 - 线库")
|
||||
@RestController
|
||||
@RequestMapping("/system/ware/house-lane")
|
||||
@Validated
|
||||
@ -40,32 +37,16 @@ public class WareHouseLaneController {
|
||||
@Resource
|
||||
private WareHouseLaneService houseLaneService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建线库/巷道")
|
||||
@PostMapping("/createOrEditOrDel")
|
||||
@Operation(summary = "创建修改删除线库")
|
||||
@PreAuthorize("@ss.hasPermission('ware:house-lane:create')")
|
||||
public CommonResult<Long> createHouseLane(@Valid @RequestBody WareHouseLaneSaveReqVO createReqVO) {
|
||||
return success(houseLaneService.createHouseLane(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新线库/巷道")
|
||||
@PreAuthorize("@ss.hasPermission('ware:house-lane:update')")
|
||||
public CommonResult<Boolean> updateHouseLane(@Valid @RequestBody WareHouseLaneSaveReqVO updateReqVO) {
|
||||
houseLaneService.updateHouseLane(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除线库/巷道")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('ware:house-lane:delete')")
|
||||
public CommonResult<Boolean> deleteHouseLane(@RequestParam("id") Long id) {
|
||||
houseLaneService.deleteHouseLane(id);
|
||||
public CommonResult<Boolean> createOrEditOrDel(@Valid @RequestBody WareHouseLaneSaveReqVO createReqVO) {
|
||||
houseLaneService.createOrEditOrDel(createReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得线库/巷道")
|
||||
@Operation(summary = "获得线库")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('ware:house-lane:query')")
|
||||
public CommonResult<WareHouseLaneRespVO> getHouseLane(@RequestParam("id") Long id) {
|
||||
@ -74,7 +55,7 @@ public class WareHouseLaneController {
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得线库/巷道分页")
|
||||
@Operation(summary = "获得线库分页")
|
||||
@PreAuthorize("@ss.hasPermission('ware:house-lane:query')")
|
||||
public CommonResult<PageResult<WareHouseLaneRespVO>> getHouseLanePage(@Valid WareHouseLanePageReqVO pageReqVO) {
|
||||
PageResult<WareHouseLaneDO> pageResult = houseLaneService.getHouseLanePage(pageReqVO);
|
||||
@ -82,16 +63,16 @@ public class WareHouseLaneController {
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出线库/巷道 Excel")
|
||||
@Operation(summary = "导出线库 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('ware:house-lane:export')")
|
||||
@ApiAccessLog(operateType = EXPORT)
|
||||
public void exportHouseLaneExcel(@Valid WareHouseLanePageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<WareHouseLaneDO> list = houseLaneService.getHouseLanePage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "线库/巷道.xls", "数据", WareHouseLaneRespVO.class,
|
||||
BeanUtils.toBean(list, WareHouseLaneRespVO.class));
|
||||
ExcelUtils.write(response, "线库.xls", "数据", WareHouseLaneRespVO.class,
|
||||
BeanUtils.toBean(list, WareHouseLaneRespVO.class));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -15,9 +15,6 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
|
||||
@ToString(callSuper = true)
|
||||
public class WareHouseLanePageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "巷道id(自定义)", example = "276")
|
||||
private Long laneId;
|
||||
|
||||
@Schema(description = "巷道名称", example = "芋艿")
|
||||
private String laneName;
|
||||
|
||||
@ -28,4 +25,4 @@ public class WareHouseLanePageReqVO extends PageParam {
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -16,10 +16,6 @@ public class WareHouseLaneRespVO {
|
||||
@ExcelProperty("主键ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "巷道id(自定义)", requiredMode = Schema.RequiredMode.REQUIRED, example = "276")
|
||||
@ExcelProperty("巷道id(自定义)")
|
||||
private Long laneId;
|
||||
|
||||
@Schema(description = "巷道名称", example = "芋艿")
|
||||
@ExcelProperty("巷道名称")
|
||||
private String laneName;
|
||||
@ -32,4 +28,4 @@ public class WareHouseLaneRespVO {
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -5,21 +5,22 @@ import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
@Schema(description = "管理后台 - 线库/巷道新增/修改 Request VO")
|
||||
@Schema(description = "管理后台 - 线库新增/修改 Request VO")
|
||||
@Data
|
||||
public class WareHouseLaneSaveReqVO {
|
||||
|
||||
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4293")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "巷道id(自定义)", requiredMode = Schema.RequiredMode.REQUIRED, example = "276")
|
||||
@NotNull(message = "巷道id(自定义)不能为空")
|
||||
private Long laneId;
|
||||
|
||||
@Schema(description = "巷道名称", example = "芋艿")
|
||||
@Schema(description = "线库名称", example = "芋艿")
|
||||
private String laneName;
|
||||
|
||||
@Schema(description = "巷道说明(可以拓展为区域说明)")
|
||||
@Schema(description = "线库说明(可以拓展为说明)")
|
||||
private String laneMsg;
|
||||
|
||||
}
|
||||
@Schema(description = "地图id")
|
||||
private Long mapId;
|
||||
|
||||
@Schema(description = "地图库位节点ids")
|
||||
private List<Long> mapItemIds;
|
||||
}
|
||||
|
@ -0,0 +1,27 @@
|
||||
package cn.iocoder.yudao.module.system.controller.admin.positionmap.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "管理后台 - 仓库点位地图查询")
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class PositionMapConditionDTO {
|
||||
@Schema(description = "ids")
|
||||
private List<Long> ids;
|
||||
|
||||
@Schema(description = "仓库点位地图表id")
|
||||
private Long positionMapId;
|
||||
|
||||
@Schema(description = "库区id")
|
||||
private Long areaId;
|
||||
|
||||
@Schema(description = "巷道id")
|
||||
private Long laneId;
|
||||
|
||||
@Schema(description = "类型 1.路径点位 2.库位点 3.充电桩 4.停车点 5.区域变更点 6.等待点 --- 后续补充")
|
||||
private Integer type;
|
||||
}
|
@ -33,11 +33,11 @@ public class PositionMapItemDO extends BaseDO {
|
||||
*/
|
||||
private Long positionMapId;
|
||||
/**
|
||||
* 库区id(自定义)
|
||||
* 库区id
|
||||
*/
|
||||
private Long areaId;
|
||||
/**
|
||||
* 巷道id(自定义)
|
||||
* 线库id
|
||||
*/
|
||||
private Long laneId;
|
||||
/**
|
||||
|
@ -44,7 +44,7 @@ public class NodeProcessingContext {
|
||||
// 节点
|
||||
// strategyMap.put(1, positionMapItemStrategyImpl);
|
||||
// 库位
|
||||
strategyMap.put(NodeTypeEnum.WARE.getStatus(), houseLocationStrategyImpl);
|
||||
strategyMap.put(NodeTypeEnum.WARE.getType(), houseLocationStrategyImpl);
|
||||
// todo 可以继续添加更多的策略
|
||||
}
|
||||
|
||||
@ -57,7 +57,7 @@ public class NodeProcessingContext {
|
||||
}
|
||||
item.setPositionMapId(positionMapId);
|
||||
// -- 如果是库位点 - 可能是一对多情况 - 需要将多个库位点的id set进去
|
||||
if (Objects.equals(item.getType(), NodeTypeEnum.WARE.getStatus())) {
|
||||
if (Objects.equals(item.getType(), NodeTypeEnum.WARE.getType())) {
|
||||
List<WareHouseLocationDO> wareHouseLocationDOS = JSONUtil.toList(item.getDataJson(), WareHouseLocationDO.class);
|
||||
wareHouseLocationDOS.forEach(wareHouseLocationDO -> {
|
||||
wareHouseLocationDO.setLocationX(item.getLocationX());
|
||||
|
@ -1,56 +1,39 @@
|
||||
package cn.iocoder.yudao.module.system.service.houselane;
|
||||
|
||||
import java.util.*;
|
||||
import javax.validation.*;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.houselane.vo.WareHouseLanePageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.houselane.vo.WareHouseLaneSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.houselane.WareHouseLaneDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
/**
|
||||
* 线库/巷道 Service 接口
|
||||
* 线库 Service 接口
|
||||
*
|
||||
* @author 陈宾顺
|
||||
*/
|
||||
public interface WareHouseLaneService {
|
||||
|
||||
/**
|
||||
* 创建线库/巷道
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createHouseLane(@Valid WareHouseLaneSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新线库/巷道
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateHouseLane(@Valid WareHouseLaneSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除线库/巷道
|
||||
* 获得线库
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteHouseLane(Long id);
|
||||
|
||||
/**
|
||||
* 获得线库/巷道
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 线库/巷道
|
||||
* @return 线库
|
||||
*/
|
||||
WareHouseLaneDO getHouseLane(Long id);
|
||||
|
||||
/**
|
||||
* 获得线库/巷道分页
|
||||
* 获得线库分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 线库/巷道分页
|
||||
* @return 线库分页
|
||||
*/
|
||||
PageResult<WareHouseLaneDO> getHouseLanePage(WareHouseLanePageReqVO pageReqVO);
|
||||
|
||||
}
|
||||
/**
|
||||
* 创建修改删除线库
|
||||
*
|
||||
* @param createReqVO
|
||||
*/
|
||||
void createOrEditOrDel(@Valid WareHouseLaneSaveReqVO createReqVO);
|
||||
}
|
||||
|
@ -1,19 +1,26 @@
|
||||
package cn.iocoder.yudao.module.system.service.houselane;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.houselane.vo.WareHouseLanePageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.houselane.vo.WareHouseLaneSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.positionmap.dto.PositionMapConditionDTO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.houselane.WareHouseLaneDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.houselocation.WareHouseLocationDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.positionmap.PositionMapItemDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.houselane.WareHouseLaneMapper;
|
||||
import cn.iocoder.yudao.module.system.service.positionmap.PositionMapItemService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.HOUSE_LANE_NOT_EXISTS;
|
||||
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.THE_LINE_LIBRARY_POINTS_ARE_NOT_LOCATED_IN_THE_SAME_AREA;
|
||||
|
||||
|
||||
/**
|
||||
@ -27,38 +34,8 @@ public class WareHouseLaneServiceImpl implements WareHouseLaneService {
|
||||
|
||||
@Resource
|
||||
private WareHouseLaneMapper houseLaneMapper;
|
||||
|
||||
@Override
|
||||
public Long createHouseLane(WareHouseLaneSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
WareHouseLaneDO houseLane = BeanUtils.toBean(createReqVO, WareHouseLaneDO.class);
|
||||
houseLaneMapper.insert(houseLane);
|
||||
// 返回
|
||||
return houseLane.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateHouseLane(WareHouseLaneSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateHouseLaneExists(updateReqVO.getId());
|
||||
// 更新
|
||||
WareHouseLaneDO updateObj = BeanUtils.toBean(updateReqVO, WareHouseLaneDO.class);
|
||||
houseLaneMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteHouseLane(Long id) {
|
||||
// 校验存在
|
||||
validateHouseLaneExists(id);
|
||||
// 删除
|
||||
houseLaneMapper.deleteById(id);
|
||||
}
|
||||
|
||||
private void validateHouseLaneExists(Long id) {
|
||||
if (houseLaneMapper.selectById(id) == null) {
|
||||
throw exception(HOUSE_LANE_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
@Resource
|
||||
private PositionMapItemService positionMapItemService;
|
||||
|
||||
@Override
|
||||
public WareHouseLaneDO getHouseLane(Long id) {
|
||||
@ -70,4 +47,38 @@ public class WareHouseLaneServiceImpl implements WareHouseLaneService {
|
||||
return houseLaneMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
}
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void createOrEditOrDel(WareHouseLaneSaveReqVO createReqVO) {
|
||||
// // -- 先判定这些点位是否在同一区域内 - 如果不在则提示 哪些点位不在同一区域内
|
||||
// List<PositionMapItemDO> oldList = positionMapItemService.getByCondition(new PositionMapConditionDTO()
|
||||
// .setPositionMapId(createReqVO.getMapId())
|
||||
// .setLaneId(createReqVO.getId()));
|
||||
//
|
||||
//
|
||||
// List<PositionMapItemDO> list = positionMapItemService.getByCondition(new PositionMapConditionDTO()
|
||||
// .setPositionMapId(createReqVO.getMapId())
|
||||
// .setIds(createReqVO.getMapItemIds()));
|
||||
//
|
||||
// if (CollUtil.isNotEmpty(list)) {
|
||||
// // 判定是否都在同一区域内
|
||||
// long count = list.stream().map(PositionMapItemDO::getAreaId).distinct().count();
|
||||
// if (count > 1) {
|
||||
// throw exception(THE_LINE_LIBRARY_POINTS_ARE_NOT_LOCATED_IN_THE_SAME_AREA);
|
||||
// }
|
||||
// }
|
||||
// WareHouseLaneDO houseLane = BeanUtil.copyProperties(createReqVO, WareHouseLaneDO.class);
|
||||
// houseLaneMapper.insertOrUpdate(houseLane);
|
||||
//
|
||||
// list.forEach(item -> {
|
||||
// item.setLaneId(createReqVO.getId());
|
||||
// List<WareHouseLocationDO> wareHouseLocationDOS = JSONUtil.toList(item.getDataJson(), WareHouseLocationDO.class);
|
||||
// wareHouseLocationDOS.forEach(a -> {
|
||||
// a.setLaneId(createReqVO.getId());
|
||||
// a.setLaneName(createReqVO.getLaneName());
|
||||
// });
|
||||
// });
|
||||
// positionMapItemService.update
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,11 @@
|
||||
package cn.iocoder.yudao.module.system.service.positionmap;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.positionmap.dto.PositionMapConditionDTO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.positionmap.vo.PositionMapItemPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.positionmap.vo.PositionMapItemSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.positionmap.PositionMapItemDO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
@ -13,7 +15,7 @@ import java.util.List;
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
public interface PositionMapItemService {
|
||||
public interface PositionMapItemService extends IService<PositionMapItemDO> {
|
||||
|
||||
/**
|
||||
* 创建仓库点位地图子表
|
||||
@ -67,4 +69,12 @@ public interface PositionMapItemService {
|
||||
* @param list
|
||||
*/
|
||||
void batchSaveOrEditOrDel(Long positionMapId, List<List<PositionMapItemDO>> list);
|
||||
|
||||
/**
|
||||
* 根据条件搜索地图点位信息
|
||||
*
|
||||
* @param positionMapConditionDTO
|
||||
* @return
|
||||
*/
|
||||
List<PositionMapItemDO> getByCondition(PositionMapConditionDTO positionMapConditionDTO);
|
||||
}
|
||||
|
@ -1,15 +1,14 @@
|
||||
package cn.iocoder.yudao.module.system.service.positionmap;
|
||||
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.positionmap.dto.PositionMapConditionDTO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.positionmap.vo.PositionMapItemPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.positionmap.vo.PositionMapItemSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.houselocation.WareHouseLocationDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.positionmap.PositionMapItemDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.positionmap.PositionMapItemMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
@ -26,7 +25,7 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class PositionMapItemServiceImpl implements PositionMapItemService {
|
||||
public class PositionMapItemServiceImpl extends ServiceImpl<PositionMapItemMapper, PositionMapItemDO> implements PositionMapItemService {
|
||||
|
||||
@Resource
|
||||
private PositionMapItemMapper positionMapItemMapper;
|
||||
@ -82,4 +81,17 @@ public class PositionMapItemServiceImpl implements PositionMapItemService {
|
||||
positionMapItemMapper.deleteByIds(convertList(list.get(2), PositionMapItemDO::getId));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<PositionMapItemDO> getByCondition(PositionMapConditionDTO dto) {
|
||||
return positionMapItemMapper.selectList(new LambdaQueryWrapperX<PositionMapItemDO>()
|
||||
.eqIfPresent(PositionMapItemDO::getPositionMapId, dto.getPositionMapId())
|
||||
.eqIfPresent(PositionMapItemDO::getType, dto.getType())
|
||||
.inIfPresent(PositionMapItemDO::getId, dto.getIds())
|
||||
.eqIfPresent(PositionMapItemDO::getAreaId, dto.getAreaId())
|
||||
.eqIfPresent(PositionMapItemDO::getLaneId, dto.getLaneId()));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user