diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java index 9dc4e9681..5b25c49fe 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java @@ -167,4 +167,19 @@ public interface ErrorCodeConstants { ErrorCode INFORMATION_NOT_EXISTS = new ErrorCode(1_002_029_001, "设备信息不存在"); ErrorCode INFORMATION_MAC_EXIST = new ErrorCode(1_002_029_002, "此Mac地址已经存在"); ErrorCode INFORMATION_MAC_INPUT = new ErrorCode(1_002_029_003, "请输入Mac地址"); + + // ========== 线库/巷道 1-002-030-000 ========== + ErrorCode HOUSE_LANE_NOT_EXISTS = new ErrorCode(1-002-030-001, "线库不存在"); + + // ========== 库区 1-002-031-000 ========== + ErrorCode HOUSE_AREA_NOT_EXISTS = new ErrorCode(1-002-031-001, "库区不存在"); + + // ========== 库位 1-002-032-000 ========== + ErrorCode HOUSE_LOCATION_NOT_EXISTS = new ErrorCode(1-002-032-001, "库位不存在"); + + // ========== 车辆类型 1-002-033-000========== + ErrorCode MODEL_NOT_EXISTS = new ErrorCode(1-002-033-001, "车辆类型不存在"); + + // ========== 车辆信息 1-002-034-000 ========== + ErrorCode ROBOT_INFORMATION_NOT_EXISTS = new ErrorCode(1-002-034-001, "车辆信息不存在"); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/housearea/HouseAreaController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/housearea/HouseAreaController.java new file mode 100644 index 000000000..24d14ef94 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/housearea/HouseAreaController.java @@ -0,0 +1,97 @@ +package cn.iocoder.yudao.module.system.controller.admin.housearea; + +import cn.iocoder.yudao.module.system.controller.admin.housearea.vo.HouseAreaPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.housearea.vo.HouseAreaRespVO; +import cn.iocoder.yudao.module.system.controller.admin.housearea.vo.HouseAreaSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.housearea.HouseAreaDO; +import cn.iocoder.yudao.module.system.service.housearea.HouseAreaService; +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 javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +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.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 = "管理后台 - 库区") +@RestController +@RequestMapping("/system/ware/house-area") +@Validated +public class HouseAreaController { + + @Resource + private HouseAreaService houseAreaService; + + @PostMapping("/create") + @Operation(summary = "创建库区") + @PreAuthorize("@ss.hasPermission('ware:house-area:create')") + public CommonResult createHouseArea(@Valid @RequestBody HouseAreaSaveReqVO createReqVO) { + return success(houseAreaService.createHouseArea(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新库区") + @PreAuthorize("@ss.hasPermission('ware:house-area:update')") + public CommonResult updateHouseArea(@Valid @RequestBody HouseAreaSaveReqVO updateReqVO) { + houseAreaService.updateHouseArea(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除库区") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('ware:house-area:delete')") + public CommonResult deleteHouseArea(@RequestParam("id") Long id) { + houseAreaService.deleteHouseArea(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得库区") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('ware:house-area:query')") + public CommonResult getHouseArea(@RequestParam("id") Long id) { + HouseAreaDO houseArea = houseAreaService.getHouseArea(id); + return success(BeanUtils.toBean(houseArea, HouseAreaRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得库区分页") + @PreAuthorize("@ss.hasPermission('ware:house-area:query')") + public CommonResult> getHouseAreaPage(@Valid HouseAreaPageReqVO pageReqVO) { + PageResult pageResult = houseAreaService.getHouseAreaPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, HouseAreaRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出库区 Excel") + @PreAuthorize("@ss.hasPermission('ware:house-area:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportHouseAreaExcel(@Valid HouseAreaPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = houseAreaService.getHouseAreaPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "库区.xls", "数据", HouseAreaRespVO.class, + BeanUtils.toBean(list, HouseAreaRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/housearea/vo/HouseAreaPageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/housearea/vo/HouseAreaPageReqVO.java new file mode 100644 index 000000000..09b9db0c9 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/housearea/vo/HouseAreaPageReqVO.java @@ -0,0 +1,31 @@ +package cn.iocoder.yudao.module.system.controller.admin.housearea.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 库区分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class HouseAreaPageReqVO extends PageParam { + + @Schema(description = "库区id(自定义)", example = "24710") + private Long areaId; + + @Schema(description = "库区名称", example = "李四") + private String areaName; + + @Schema(description = "库区说明") + private String areaMsg; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/housearea/vo/HouseAreaRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/housearea/vo/HouseAreaRespVO.java new file mode 100644 index 000000000..36cbd0505 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/housearea/vo/HouseAreaRespVO.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.system.controller.admin.housearea.vo; + +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 HouseAreaRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2922") + @ExcelProperty("主键ID") + private Long id; + + @Schema(description = "库区id(自定义)", requiredMode = Schema.RequiredMode.REQUIRED, example = "24710") + @ExcelProperty("库区id(自定义)") + private Long areaId; + + @Schema(description = "库区名称", example = "李四") + @ExcelProperty("库区名称") + private String areaName; + + @Schema(description = "库区说明") + @ExcelProperty("库区说明") + private String areaMsg; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/housearea/vo/HouseAreaSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/housearea/vo/HouseAreaSaveReqVO.java new file mode 100644 index 000000000..87008baa9 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/housearea/vo/HouseAreaSaveReqVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.system.controller.admin.housearea.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 库区新增/修改 Request VO") +@Data +public class HouseAreaSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2922") + private Long id; + + @Schema(description = "库区id(自定义)", requiredMode = Schema.RequiredMode.REQUIRED, example = "24710") + @NotNull(message = "库区id(自定义)不能为空") + private Long areaId; + + @Schema(description = "库区名称", example = "李四") + private String areaName; + + @Schema(description = "库区说明") + private String areaMsg; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/WareHouseLaneController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/WareHouseLaneController.java new file mode 100644 index 000000000..5969444d4 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/WareHouseLaneController.java @@ -0,0 +1,97 @@ +package cn.iocoder.yudao.module.system.controller.admin.houselane; + +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 javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +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.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 = "管理后台 - 线库/巷道") +@RestController +@RequestMapping("/system/ware/house-lane") +@Validated +public class WareHouseLaneController { + + @Resource + private WareHouseLaneService houseLaneService; + + @PostMapping("/create") + @Operation(summary = "创建线库/巷道") + @PreAuthorize("@ss.hasPermission('ware:house-lane:create')") + public CommonResult createHouseLane(@Valid @RequestBody WareHouseLaneSaveReqVO createReqVO) { + return success(houseLaneService.createHouseLane(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新线库/巷道") + @PreAuthorize("@ss.hasPermission('ware:house-lane:update')") + public CommonResult 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 deleteHouseLane(@RequestParam("id") Long id) { + houseLaneService.deleteHouseLane(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得线库/巷道") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('ware:house-lane:query')") + public CommonResult getHouseLane(@RequestParam("id") Long id) { + WareHouseLaneDO houseLane = houseLaneService.getHouseLane(id); + return success(BeanUtils.toBean(houseLane, WareHouseLaneRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得线库/巷道分页") + @PreAuthorize("@ss.hasPermission('ware:house-lane:query')") + public CommonResult> getHouseLanePage(@Valid WareHouseLanePageReqVO pageReqVO) { + PageResult pageResult = houseLaneService.getHouseLanePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, WareHouseLaneRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出线库/巷道 Excel") + @PreAuthorize("@ss.hasPermission('ware:house-lane:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportHouseLaneExcel(@Valid WareHouseLanePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = houseLaneService.getHouseLanePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "线库/巷道.xls", "数据", WareHouseLaneRespVO.class, + BeanUtils.toBean(list, WareHouseLaneRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/vo/WareHouseLanePageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/vo/WareHouseLanePageReqVO.java new file mode 100644 index 000000000..665d18615 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/vo/WareHouseLanePageReqVO.java @@ -0,0 +1,31 @@ +package cn.iocoder.yudao.module.system.controller.admin.houselane.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 线库/巷道分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class WareHouseLanePageReqVO extends PageParam { + + @Schema(description = "巷道id(自定义)", example = "276") + private Long laneId; + + @Schema(description = "巷道名称", example = "芋艿") + private String laneName; + + @Schema(description = "巷道说明(可以拓展为区域说明)") + private String laneMsg; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/vo/WareHouseLaneRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/vo/WareHouseLaneRespVO.java new file mode 100644 index 000000000..4b705b302 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/vo/WareHouseLaneRespVO.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.system.controller.admin.houselane.vo; + +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 WareHouseLaneRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4293") + @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; + + @Schema(description = "巷道说明(可以拓展为区域说明)") + @ExcelProperty("巷道说明(可以拓展为区域说明)") + private String laneMsg; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/vo/WareHouseLaneSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/vo/WareHouseLaneSaveReqVO.java new file mode 100644 index 000000000..00c82b979 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/vo/WareHouseLaneSaveReqVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.system.controller.admin.houselane.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +@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 = "芋艿") + private String laneName; + + @Schema(description = "巷道说明(可以拓展为区域说明)") + private String laneMsg; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselocation/HouseLocationController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselocation/HouseLocationController.java new file mode 100644 index 000000000..2d238462a --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselocation/HouseLocationController.java @@ -0,0 +1,97 @@ +package cn.iocoder.yudao.module.system.controller.admin.houselocation; + +import cn.iocoder.yudao.module.system.controller.admin.houselocation.vo.HouseLocationPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.houselocation.vo.HouseLocationRespVO; +import cn.iocoder.yudao.module.system.controller.admin.houselocation.vo.HouseLocationSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.houselocation.HouseLocationDO; +import cn.iocoder.yudao.module.system.service.houselocation.HouseLocationService; +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 javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +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.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 = "管理后台 - 库位") +@RestController +@RequestMapping("/system/ware/house-location") +@Validated +public class HouseLocationController { + + @Resource + private HouseLocationService houseLocationService; + + @PostMapping("/create") + @Operation(summary = "创建库位") + @PreAuthorize("@ss.hasPermission('ware:house-location:create')") + public CommonResult createHouseLocation(@Valid @RequestBody HouseLocationSaveReqVO createReqVO) { + return success(houseLocationService.createHouseLocation(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新库位") + @PreAuthorize("@ss.hasPermission('ware:house-location:update')") + public CommonResult updateHouseLocation(@Valid @RequestBody HouseLocationSaveReqVO updateReqVO) { + houseLocationService.updateHouseLocation(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除库位") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('ware:house-location:delete')") + public CommonResult deleteHouseLocation(@RequestParam("id") Long id) { + houseLocationService.deleteHouseLocation(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得库位") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('ware:house-location:query')") + public CommonResult getHouseLocation(@RequestParam("id") Long id) { + HouseLocationDO houseLocation = houseLocationService.getHouseLocation(id); + return success(BeanUtils.toBean(houseLocation, HouseLocationRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得库位分页") + @PreAuthorize("@ss.hasPermission('ware:house-location:query')") + public CommonResult> getHouseLocationPage(@Valid HouseLocationPageReqVO pageReqVO) { + PageResult pageResult = houseLocationService.getHouseLocationPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, HouseLocationRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出库位 Excel") + @PreAuthorize("@ss.hasPermission('ware:house-location:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportHouseLocationExcel(@Valid HouseLocationPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = houseLocationService.getHouseLocationPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "库位.xls", "数据", HouseLocationRespVO.class, + BeanUtils.toBean(list, HouseLocationRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselocation/vo/HouseLocationPageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselocation/vo/HouseLocationPageReqVO.java new file mode 100644 index 000000000..221031fd0 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselocation/vo/HouseLocationPageReqVO.java @@ -0,0 +1,86 @@ +package cn.iocoder.yudao.module.system.controller.admin.houselocation.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 库位分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class HouseLocationPageReqVO extends PageParam { + + @Schema(description = "巷道/线库id", example = "12101") + private Long laneId; + + @Schema(description = "巷道/线库名称", example = "张三") + private String laneName; + + @Schema(description = "库区id(自定义)", example = "10751") + private Long areaId; + + @Schema(description = "库区名称", example = "芋艿") + private String areaName; + + @Schema(description = "库位编号") + private String locationNo; + + @Schema(description = "弧度") + private String locationYaw; + + @Schema(description = "分组名称", example = "李四") + private String groupName; + + @Schema(description = "物料消息") + private String skuInfo; + + @Schema(description = "启用/禁用(0:禁用、1:启用)") + private Integer locationEnable; + + @Schema(description = "锁定/正常(0:锁定、1:正常)") + private Integer locationLock; + + @Schema(description = "状态(0:空闲、1:占用)", example = "2") + private Integer locationUseStatus; + + @Schema(description = "库位坐标x轴") + private BigDecimal locationX; + + @Schema(description = "库位坐标y轴") + private BigDecimal locationY; + + @Schema(description = "宽(库位上目前所放物品的宽)") + private BigDecimal locationWide; + + @Schema(description = "深(库位上目前所放物品的深)") + private BigDecimal locationDeep; + + @Schema(description = "高(库位上目前所放物品的高)") + private BigDecimal locationHeight; + + @Schema(description = "库位默认高度(现场有水泥高出地面的高度)") + private BigDecimal locationDefaultHeight; + + @Schema(description = "机车上报的高度/总高(如果两个箱子叠加,就是叠加后的总高度)") + private BigDecimal locationTotalHeight; + + @Schema(description = "机车上报的托盘高度") + private BigDecimal locationTrayHeight; + + @Schema(description = "层数") + private Integer locationStorey; + + @Schema(description = "点位类型(0:库位、1:等待点、2:输送线取托盘点、3:出库放托盘点)", example = "2") + private Integer locationType; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselocation/vo/HouseLocationRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselocation/vo/HouseLocationRespVO.java new file mode 100644 index 000000000..7b23c4314 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselocation/vo/HouseLocationRespVO.java @@ -0,0 +1,107 @@ +package cn.iocoder.yudao.module.system.controller.admin.houselocation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 库位 Response VO") +@Data +@ExcelIgnoreUnannotated +public class HouseLocationRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31832") + @ExcelProperty("主键ID") + private Long id; + + @Schema(description = "巷道/线库id", example = "12101") + @ExcelProperty("巷道/线库id") + private Long laneId; + + @Schema(description = "巷道/线库名称", example = "张三") + @ExcelProperty("巷道/线库名称") + private String laneName; + + @Schema(description = "库区id(自定义)", example = "10751") + @ExcelProperty("库区id(自定义)") + private Long areaId; + + @Schema(description = "库区名称", example = "芋艿") + @ExcelProperty("库区名称") + private String areaName; + + @Schema(description = "库位编号", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("库位编号") + private String locationNo; + + @Schema(description = "弧度") + private String locationYaw; + + @Schema(description = "分组名称", example = "李四") + @ExcelProperty("分组名称") + private String groupName; + + @Schema(description = "物料消息") + @ExcelProperty("物料消息") + private String skuInfo; + + @Schema(description = "启用/禁用(0:禁用、1:启用)") + @ExcelProperty("启用/禁用(0:禁用、1:启用)") + private Integer locationEnable; + + @Schema(description = "锁定/正常(0:锁定、1:正常)") + @ExcelProperty("锁定/正常(0:锁定、1:正常)") + private Integer locationLock; + + @Schema(description = "状态(0:空闲、1:占用)", example = "2") + @ExcelProperty("状态(0:空闲、1:占用)") + private Integer locationUseStatus; + + @Schema(description = "库位坐标x轴") + @ExcelProperty("库位坐标x轴") + private BigDecimal locationX; + + @Schema(description = "库位坐标y轴") + @ExcelProperty("库位坐标y轴") + private BigDecimal locationY; + + @Schema(description = "宽(库位上目前所放物品的宽)") + @ExcelProperty("宽(库位上目前所放物品的宽)") + private BigDecimal locationWide; + + @Schema(description = "深(库位上目前所放物品的深)") + @ExcelProperty("深(库位上目前所放物品的深)") + private BigDecimal locationDeep; + + @Schema(description = "高(库位上目前所放物品的高)") + @ExcelProperty("高(库位上目前所放物品的高)") + private BigDecimal locationHeight; + + @Schema(description = "库位默认高度(现场有水泥高出地面的高度)") + @ExcelProperty("库位默认高度(现场有水泥高出地面的高度)") + private BigDecimal locationDefaultHeight; + + @Schema(description = "机车上报的高度/总高(如果两个箱子叠加,就是叠加后的总高度)") + @ExcelProperty("机车上报的高度/总高(如果两个箱子叠加,就是叠加后的总高度)") + private BigDecimal locationTotalHeight; + + @Schema(description = "机车上报的托盘高度") + @ExcelProperty("机车上报的托盘高度") + private BigDecimal locationTrayHeight; + + @Schema(description = "层数") + @ExcelProperty("层数") + private Integer locationStorey; + + @Schema(description = "点位类型(0:库位、1:等待点、2:输送线取托盘点、3:出库放托盘点)", example = "2") + @ExcelProperty("点位类型(0:库位、1:等待点、2:输送线取托盘点、3:出库放托盘点)") + private Integer locationType; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselocation/vo/HouseLocationSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselocation/vo/HouseLocationSaveReqVO.java new file mode 100644 index 000000000..ff1e47654 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselocation/vo/HouseLocationSaveReqVO.java @@ -0,0 +1,80 @@ +package cn.iocoder.yudao.module.system.controller.admin.houselocation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 库位新增/修改 Request VO") +@Data +public class HouseLocationSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31832") + private Long id; + + @Schema(description = "巷道/线库id", example = "12101") + private Long laneId; + + @Schema(description = "巷道/线库名称", example = "张三") + private String laneName; + + @Schema(description = "库区id(自定义)", example = "10751") + private Long areaId; + + @Schema(description = "库区名称", example = "芋艿") + private String areaName; + + @Schema(description = "库位编号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "库位编号不能为空") + private String locationNo; + + @Schema(description = "弧度") + private String locationYaw; + + @Schema(description = "分组名称", example = "李四") + private String groupName; + + @Schema(description = "物料消息") + private String skuInfo; + + @Schema(description = "启用/禁用(0:禁用、1:启用)") + private Integer locationEnable; + + @Schema(description = "锁定/正常(0:锁定、1:正常)") + private Integer locationLock; + + @Schema(description = "状态(0:空闲、1:占用)", example = "2") + private Integer locationUseStatus; + + @Schema(description = "库位坐标x轴") + private BigDecimal locationX; + + @Schema(description = "库位坐标y轴") + private BigDecimal locationY; + + @Schema(description = "宽(库位上目前所放物品的宽)") + private BigDecimal locationWide; + + @Schema(description = "深(库位上目前所放物品的深)") + private BigDecimal locationDeep; + + @Schema(description = "高(库位上目前所放物品的高)") + private BigDecimal locationHeight; + + @Schema(description = "库位默认高度(现场有水泥高出地面的高度)") + private BigDecimal locationDefaultHeight; + + @Schema(description = "机车上报的高度/总高(如果两个箱子叠加,就是叠加后的总高度)") + private BigDecimal locationTotalHeight; + + @Schema(description = "机车上报的托盘高度") + private BigDecimal locationTrayHeight; + + @Schema(description = "层数") + private Integer locationStorey; + + @Schema(description = "点位类型(0:库位、1:等待点、2:输送线取托盘点、3:出库放托盘点)", example = "2") + private Integer locationType; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/RobotInformationController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/RobotInformationController.java new file mode 100644 index 000000000..3378213db --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/RobotInformationController.java @@ -0,0 +1,96 @@ +package cn.iocoder.yudao.module.system.controller.admin.robot; + +import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotInformationPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotInformationRespVO; +import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotInformationSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotInformationDO; +import cn.iocoder.yudao.module.system.service.robot.RobotInformationService; +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 javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +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.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 = "管理后台 - 车辆信息") +@RestController +@RequestMapping("/system/robot/information") +@Validated +public class RobotInformationController { + + @Resource + private RobotInformationService informationService; + + @PostMapping("/create") + @Operation(summary = "创建车辆信息") + @PreAuthorize("@ss.hasPermission('robot:information:create')") + public CommonResult createInformation(@Valid @RequestBody RobotInformationSaveReqVO createReqVO) { + return success(informationService.createInformation(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新车辆信息") + @PreAuthorize("@ss.hasPermission('robot:information:update')") + public CommonResult updateInformation(@Valid @RequestBody RobotInformationSaveReqVO updateReqVO) { + informationService.updateInformation(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除车辆信息") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('robot:information:delete')") + public CommonResult deleteInformation(@RequestParam("id") Long id) { + informationService.deleteInformation(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得车辆信息") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('robot:information:query')") + public CommonResult getInformation(@RequestParam("id") Long id) { + RobotInformationDO information = informationService.getInformation(id); + return success(BeanUtils.toBean(information, RobotInformationRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得车辆信息分页") + @PreAuthorize("@ss.hasPermission('robot:information:query')") + public CommonResult> getInformationPage(@Valid RobotInformationPageReqVO pageReqVO) { + PageResult pageResult = informationService.getInformationPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, RobotInformationRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出车辆信息 Excel") + @PreAuthorize("@ss.hasPermission('robot:information:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportInformationExcel(@Valid RobotInformationPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = informationService.getInformationPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "车辆信息.xls", "数据", RobotInformationRespVO.class, + BeanUtils.toBean(list, RobotInformationRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/RobotModelController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/RobotModelController.java new file mode 100644 index 000000000..bc81bb078 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/RobotModelController.java @@ -0,0 +1,94 @@ +package cn.iocoder.yudao.module.system.controller.admin.robot; + +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.robot.vo.RobotModelPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotModelRespVO; +import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotModelSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotModelDO; +import cn.iocoder.yudao.module.system.service.robot.RobotModelService; +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.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + + +@Tag(name = "管理后台 - 车辆类型") +@RestController +@RequestMapping("/system/robot/model") +@Validated +public class RobotModelController { + + @Resource + private RobotModelService modelService; + + @PostMapping("/create") + @Operation(summary = "创建车辆类型") + @PreAuthorize("@ss.hasPermission('robot:model:create')") + public CommonResult createModel(@Valid @RequestBody RobotModelSaveReqVO createReqVO) { + return success(modelService.createModel(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新车辆类型") + @PreAuthorize("@ss.hasPermission('robot:model:update')") + public CommonResult updateModel(@Valid @RequestBody RobotModelSaveReqVO updateReqVO) { + modelService.updateModel(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除车辆类型") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('robot:model:delete')") + public CommonResult deleteModel(@RequestParam("id") Long id) { + modelService.deleteModel(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得车辆类型") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('robot:model:query')") + public CommonResult getModel(@RequestParam("id") Long id) { + RobotModelDO model = modelService.getModel(id); + return success(BeanUtils.toBean(model, RobotModelRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得车辆类型分页") + @PreAuthorize("@ss.hasPermission('robot:model:query')") + public CommonResult> getModelPage(@Valid RobotModelPageReqVO pageReqVO) { + PageResult pageResult = modelService.getModelPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, RobotModelRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出车辆类型 Excel") + @PreAuthorize("@ss.hasPermission('robot:model:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportModelExcel(@Valid RobotModelPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = modelService.getModelPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "车辆类型.xls", "数据", RobotModelRespVO.class, + BeanUtils.toBean(list, RobotModelRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationPageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationPageReqVO.java new file mode 100644 index 000000000..a62f69a83 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationPageReqVO.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.system.controller.admin.robot.vo; + +import lombok.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 车辆信息分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class RobotInformationPageReqVO extends PageParam { + + @Schema(description = "车辆类型表id", example = "26319") + private Long robotModelId; + + @Schema(description = "车辆类型") + private String robotModelNumber; + + @Schema(description = "AGV编号") + private String robotNo; + + @Schema(description = "任务模式(0:拒收任务、1:正常)") + private Integer robotTaskModel; + + @Schema(description = "mac地址") + private String macAddress; + + @Schema(description = "上传图片附件", example = "https://www.iocoder.cn") + private String url; + + @Schema(description = "AGV状态(0:暂停且无任务、1:暂停(有处理中的任务)、2:任务中、3:待命)", example = "1") + private Integer robotStatus; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationRespVO.java new file mode 100644 index 000000000..c5d2ab1c4 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationRespVO.java @@ -0,0 +1,50 @@ +package cn.iocoder.yudao.module.system.controller.admin.robot.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 车辆信息 Response VO") +@Data +@ExcelIgnoreUnannotated +public class RobotInformationRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24068") + @ExcelProperty("主键ID") + private Long id; + + @Schema(description = "车辆类型表id", example = "26319") + @ExcelProperty("车辆类型表id") + private Long robotModelId; + + @Schema(description = "车辆类型") + @ExcelProperty("车辆类型") + private String robotModelNumber; + + @Schema(description = "AGV编号") + @ExcelProperty("AGV编号") + private String robotNo; + + @Schema(description = "任务模式(0:拒收任务、1:正常)", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("任务模式(0:拒收任务、1:正常)") + private Integer robotTaskModel; + + @Schema(description = "mac地址") + @ExcelProperty("mac地址") + private String macAddress; + + @Schema(description = "上传图片附件", example = "https://www.iocoder.cn") + @ExcelProperty("上传图片附件") + private String url; + + @Schema(description = "AGV状态(0:暂停且无任务、1:暂停(有处理中的任务)、2:任务中、3:待命)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("AGV状态(0:暂停且无任务、1:暂停(有处理中的任务)、2:任务中、3:待命)") + private Integer robotStatus; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationSaveReqVO.java new file mode 100644 index 000000000..da55f1153 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationSaveReqVO.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.system.controller.admin.robot.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 车辆信息新增/修改 Request VO") +@Data +public class RobotInformationSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24068") + private Long id; + + @Schema(description = "车辆类型表id", example = "26319") + private Long robotModelId; + + @Schema(description = "车辆类型") + private String robotModelNumber; + + @Schema(description = "AGV编号") + private String robotNo; + + @Schema(description = "任务模式(0:拒收任务、1:正常)", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer robotTaskModel; + + @Schema(description = "mac地址") + private String macAddress; + + @Schema(description = "上传图片附件", example = "https://www.iocoder.cn") + private String url; + + @Schema(description = "AGV状态(0:暂停且无任务、1:暂停(有处理中的任务)、2:任务中、3:待命)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer robotStatus; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotModelPageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotModelPageReqVO.java new file mode 100644 index 000000000..de401b4a7 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotModelPageReqVO.java @@ -0,0 +1,27 @@ +package cn.iocoder.yudao.module.system.controller.admin.robot.vo; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 车辆类型分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class RobotModelPageReqVO extends PageParam { + + @Schema(description = "车辆类型") + private String robotModelNumber; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotModelRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotModelRespVO.java new file mode 100644 index 000000000..f0bc6610b --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotModelRespVO.java @@ -0,0 +1,27 @@ +package cn.iocoder.yudao.module.system.controller.admin.robot.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 车辆类型 Response VO") +@Data +@ExcelIgnoreUnannotated +public class RobotModelRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15571") + @ExcelProperty("主键ID") + private Long id; + + @Schema(description = "车辆类型", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("车辆类型") + private String robotModelNumber; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotModelSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotModelSaveReqVO.java new file mode 100644 index 000000000..e4578cf1f --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotModelSaveReqVO.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.system.controller.admin.robot.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +@Schema(description = "管理后台 - 车辆类型新增/修改 Request VO") +@Data +public class RobotModelSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15571") + private Long id; + + @Schema(description = "车辆类型", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "车辆类型不能为空") + private String robotModelNumber; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/housearea/HouseAreaDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/housearea/HouseAreaDO.java new file mode 100644 index 000000000..cda6de4a7 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/housearea/HouseAreaDO.java @@ -0,0 +1,40 @@ +package cn.iocoder.yudao.module.system.dal.dataobject.housearea; + +import lombok.*; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 库区 DO + * + * @author 陈宾顺 + */ +@TableName("ware_house_area") +@KeySequence("ware_house_area_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class HouseAreaDO extends BaseDO { + + /** + * 主键ID + */ + @TableId + private Long id; + /** + * 库区id(自定义) + */ + private Long areaId; + /** + * 库区名称 + */ + private String areaName; + /** + * 库区说明 + */ + private String areaMsg; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/houselane/WareHouseLaneDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/houselane/WareHouseLaneDO.java new file mode 100644 index 000000000..b6a4435a5 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/houselane/WareHouseLaneDO.java @@ -0,0 +1,43 @@ +package cn.iocoder.yudao.module.system.dal.dataobject.houselane; + +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 陈宾顺 + */ +@TableName("ware_house_lane") +@KeySequence("ware_house_lane_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WareHouseLaneDO extends BaseDO { + + /** + * 主键ID + */ + @TableId + private Long id; + /** + * 巷道id(自定义) + */ + private Long laneId; + /** + * 巷道名称 + */ + private String laneName; + /** + * 巷道说明(可以拓展为区域说明) + */ + private String laneMsg; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/houselocation/HouseLocationDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/houselocation/HouseLocationDO.java new file mode 100644 index 000000000..f278914cb --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/houselocation/HouseLocationDO.java @@ -0,0 +1,124 @@ +package cn.iocoder.yudao.module.system.dal.dataobject.houselocation; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 库位 DO + * + * @author 陈宾顺 + */ +@TableName("ware_house_location") +@KeySequence("ware_house_location_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class HouseLocationDO extends BaseDO { + + /** + * 主键ID + */ + @TableId + private Long id; + /** + * 巷道/线库id + */ + private Long laneId; + /** + * 巷道/线库名称 + */ + private String laneName; + /** + * 库区id(自定义) + */ + private Long areaId; + /** + * 库区名称 + */ + private String areaName; + /** + * 库位编号 + */ + private String locationNo; + /** + * 弧度 + */ + private String locationYaw; + /** + * 分组名称 + */ + private String groupName; + /** + * 物料消息 + */ + private String skuInfo; + /** + * 启用/禁用(0:禁用、1:启用) + */ + private Integer locationEnable; + /** + * 锁定/正常(0:锁定、1:正常) + */ + private Integer locationLock; + /** + * 状态(0:空闲、1:占用) + */ + private Integer locationUseStatus; + /** + * 库位坐标x轴 + */ + private BigDecimal locationX; + /** + * 库位坐标y轴 + */ + private BigDecimal locationY; + /** + * 宽(库位上目前所放物品的宽) + */ + private BigDecimal locationWide; + /** + * 深(库位上目前所放物品的深) + */ + private BigDecimal locationDeep; + /** + * 高(库位上目前所放物品的高) + */ + private BigDecimal locationHeight; + /** + * 库位默认高度(现场有水泥高出地面的高度) + */ + private BigDecimal locationDefaultHeight; + /** + * 机车上报的高度/总高(如果两个箱子叠加,就是叠加后的总高度) + */ + private BigDecimal locationTotalHeight; + /** + * 机车上报的托盘高度 + */ + private BigDecimal locationTrayHeight; + /** + * 层数 + */ + private Integer locationStorey; + /** + * 点位类型(0:库位、1:等待点、2:输送线取托盘点、3:出库放托盘点) + */ + private Integer locationType; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/robot/RobotInformationDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/robot/RobotInformationDO.java new file mode 100644 index 000000000..45eb9dbe6 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/robot/RobotInformationDO.java @@ -0,0 +1,59 @@ +package cn.iocoder.yudao.module.system.dal.dataobject.robot; + +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 陈宾顺 + */ +@TableName("robot_information") +@KeySequence("robot_information_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class RobotInformationDO extends BaseDO { + + /** + * 主键ID + */ + @TableId + private Long id; + /** + * 车辆类型表id + */ + private Long robotModelId; + /** + * 车辆类型 + */ + private String robotModelNumber; + /** + * AGV编号 + */ + private String robotNo; + /** + * 任务模式(0:拒收任务、1:正常) + */ + private Integer robotTaskModel; + /** + * mac地址 + */ + private String macAddress; + /** + * 上传图片附件 + */ + private String url; + /** + * AGV状态(0:暂停且无任务、1:暂停(有处理中的任务)、2:任务中、3:待命) + */ + private Integer robotStatus; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/robot/RobotModelDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/robot/RobotModelDO.java new file mode 100644 index 000000000..84bca77af --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/robot/RobotModelDO.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.system.dal.dataobject.robot; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +/** + * 车辆类型 DO + * + * @author 陈宾顺 + */ +@TableName("robot_model") +@KeySequence("robot_model_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class RobotModelDO extends BaseDO { + + /** + * 主键ID + */ + @TableId + private Long id; + /** + * 车辆类型 + */ + private String robotModelNumber; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/housearea/HouseAreaMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/housearea/HouseAreaMapper.java new file mode 100644 index 000000000..863948f36 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/housearea/HouseAreaMapper.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.system.dal.mysql.housearea; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.system.controller.admin.housearea.vo.HouseAreaPageReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.housearea.HouseAreaDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 库区 Mapper + * + * @author 陈宾顺 + */ +@Mapper +public interface HouseAreaMapper extends BaseMapperX { + + default PageResult selectPage(HouseAreaPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(HouseAreaDO::getAreaId, reqVO.getAreaId()) + .likeIfPresent(HouseAreaDO::getAreaName, reqVO.getAreaName()) + .eqIfPresent(HouseAreaDO::getAreaMsg, reqVO.getAreaMsg()) + .betweenIfPresent(HouseAreaDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(HouseAreaDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/houselane/WareHouseLaneMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/houselane/WareHouseLaneMapper.java new file mode 100644 index 000000000..92a5e5a69 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/houselane/WareHouseLaneMapper.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.system.dal.mysql.houselane; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.system.controller.admin.houselane.vo.WareHouseLanePageReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.houselane.WareHouseLaneDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 线库/巷道 Mapper + * + * @author 陈宾顺 + */ +@Mapper +public interface WareHouseLaneMapper extends BaseMapperX { + + default PageResult selectPage(WareHouseLanePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(WareHouseLaneDO::getLaneId, reqVO.getLaneId()) + .likeIfPresent(WareHouseLaneDO::getLaneName, reqVO.getLaneName()) + .eqIfPresent(WareHouseLaneDO::getLaneMsg, reqVO.getLaneMsg()) + .betweenIfPresent(WareHouseLaneDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(WareHouseLaneDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/houselocation/HouseLocationMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/houselocation/HouseLocationMapper.java new file mode 100644 index 000000000..17ec5dd5b --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/houselocation/HouseLocationMapper.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.module.system.dal.mysql.houselocation; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.system.controller.admin.houselocation.vo.HouseLocationPageReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.houselocation.HouseLocationDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 库位 Mapper + * + * @author 陈宾顺 + */ +@Mapper +public interface HouseLocationMapper extends BaseMapperX { + + default PageResult selectPage(HouseLocationPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(HouseLocationDO::getLaneId, reqVO.getLaneId()) + .likeIfPresent(HouseLocationDO::getLaneName, reqVO.getLaneName()) + .eqIfPresent(HouseLocationDO::getAreaId, reqVO.getAreaId()) + .likeIfPresent(HouseLocationDO::getAreaName, reqVO.getAreaName()) + .eqIfPresent(HouseLocationDO::getLocationNo, reqVO.getLocationNo()) + .eqIfPresent(HouseLocationDO::getLocationYaw, reqVO.getLocationYaw()) + .likeIfPresent(HouseLocationDO::getGroupName, reqVO.getGroupName()) + .eqIfPresent(HouseLocationDO::getSkuInfo, reqVO.getSkuInfo()) + .eqIfPresent(HouseLocationDO::getLocationEnable, reqVO.getLocationEnable()) + .eqIfPresent(HouseLocationDO::getLocationLock, reqVO.getLocationLock()) + .eqIfPresent(HouseLocationDO::getLocationUseStatus, reqVO.getLocationUseStatus()) + .eqIfPresent(HouseLocationDO::getLocationX, reqVO.getLocationX()) + .eqIfPresent(HouseLocationDO::getLocationY, reqVO.getLocationY()) + .eqIfPresent(HouseLocationDO::getLocationWide, reqVO.getLocationWide()) + .eqIfPresent(HouseLocationDO::getLocationDeep, reqVO.getLocationDeep()) + .eqIfPresent(HouseLocationDO::getLocationHeight, reqVO.getLocationHeight()) + .eqIfPresent(HouseLocationDO::getLocationDefaultHeight, reqVO.getLocationDefaultHeight()) + .eqIfPresent(HouseLocationDO::getLocationTotalHeight, reqVO.getLocationTotalHeight()) + .eqIfPresent(HouseLocationDO::getLocationTrayHeight, reqVO.getLocationTrayHeight()) + .eqIfPresent(HouseLocationDO::getLocationStorey, reqVO.getLocationStorey()) + .eqIfPresent(HouseLocationDO::getLocationType, reqVO.getLocationType()) + .betweenIfPresent(HouseLocationDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(HouseLocationDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/robot/RobotInformationMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/robot/RobotInformationMapper.java new file mode 100644 index 000000000..fc07893c4 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/robot/RobotInformationMapper.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.system.dal.mysql.robot; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotInformationPageReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotInformationDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 车辆信息 Mapper + * + * @author 陈宾顺 + */ +@Mapper +public interface RobotInformationMapper extends BaseMapperX { + + default PageResult selectPage(RobotInformationPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(RobotInformationDO::getRobotModelId, reqVO.getRobotModelId()) + .eqIfPresent(RobotInformationDO::getRobotModelNumber, reqVO.getRobotModelNumber()) + .eqIfPresent(RobotInformationDO::getRobotNo, reqVO.getRobotNo()) + .eqIfPresent(RobotInformationDO::getRobotTaskModel, reqVO.getRobotTaskModel()) + .eqIfPresent(RobotInformationDO::getMacAddress, reqVO.getMacAddress()) + .eqIfPresent(RobotInformationDO::getUrl, reqVO.getUrl()) + .eqIfPresent(RobotInformationDO::getRobotStatus, reqVO.getRobotStatus()) + .betweenIfPresent(RobotInformationDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(RobotInformationDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/robot/RobotModelMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/robot/RobotModelMapper.java new file mode 100644 index 000000000..18187ba49 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/robot/RobotModelMapper.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.system.dal.mysql.robot; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotModelPageReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotModelDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 车辆类型 Mapper + * + * @author 陈宾顺 + */ +@Mapper +public interface RobotModelMapper extends BaseMapperX { + + default PageResult selectPage(RobotModelPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(RobotModelDO::getRobotModelNumber, reqVO.getRobotModelNumber()) + .betweenIfPresent(RobotModelDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(RobotModelDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/housearea/HouseAreaService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/housearea/HouseAreaService.java new file mode 100644 index 000000000..cbed238d0 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/housearea/HouseAreaService.java @@ -0,0 +1,54 @@ +package cn.iocoder.yudao.module.system.service.housearea; + +import javax.validation.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.system.controller.admin.housearea.vo.HouseAreaPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.housearea.vo.HouseAreaSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.housearea.HouseAreaDO; + +/** + * 库区 Service 接口 + * + * @author 陈宾顺 + */ +public interface HouseAreaService { + + /** + * 创建库区 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createHouseArea(@Valid HouseAreaSaveReqVO createReqVO); + + /** + * 更新库区 + * + * @param updateReqVO 更新信息 + */ + void updateHouseArea(@Valid HouseAreaSaveReqVO updateReqVO); + + /** + * 删除库区 + * + * @param id 编号 + */ + void deleteHouseArea(Long id); + + /** + * 获得库区 + * + * @param id 编号 + * @return 库区 + */ + HouseAreaDO getHouseArea(Long id); + + /** + * 获得库区分页 + * + * @param pageReqVO 分页查询 + * @return 库区分页 + */ + PageResult getHouseAreaPage(HouseAreaPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/housearea/HouseAreaServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/housearea/HouseAreaServiceImpl.java new file mode 100644 index 000000000..4a08872bc --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/housearea/HouseAreaServiceImpl.java @@ -0,0 +1,72 @@ +package cn.iocoder.yudao.module.system.service.housearea; + +import cn.iocoder.yudao.module.system.controller.admin.housearea.vo.HouseAreaPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.housearea.vo.HouseAreaSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.housearea.HouseAreaDO; +import cn.iocoder.yudao.module.system.dal.mysql.housearea.HouseAreaMapper; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.HOUSE_AREA_NOT_EXISTS; + +/** + * 库区 Service 实现类 + * + * @author 陈宾顺 + */ +@Service +@Validated +public class HouseAreaServiceImpl implements HouseAreaService { + + @Resource + private HouseAreaMapper houseAreaMapper; + + @Override + public Long createHouseArea(HouseAreaSaveReqVO createReqVO) { + // 插入 + HouseAreaDO houseArea = BeanUtils.toBean(createReqVO, HouseAreaDO.class); + houseAreaMapper.insert(houseArea); + // 返回 + return houseArea.getId(); + } + + @Override + public void updateHouseArea(HouseAreaSaveReqVO updateReqVO) { + // 校验存在 + validateHouseAreaExists(updateReqVO.getId()); + // 更新 + HouseAreaDO updateObj = BeanUtils.toBean(updateReqVO, HouseAreaDO.class); + houseAreaMapper.updateById(updateObj); + } + + @Override + public void deleteHouseArea(Long id) { + // 校验存在 + validateHouseAreaExists(id); + // 删除 + houseAreaMapper.deleteById(id); + } + + private void validateHouseAreaExists(Long id) { + if (houseAreaMapper.selectById(id) == null) { + throw exception(HOUSE_AREA_NOT_EXISTS); + } + } + + @Override + public HouseAreaDO getHouseArea(Long id) { + return houseAreaMapper.selectById(id); + } + + @Override + public PageResult getHouseAreaPage(HouseAreaPageReqVO pageReqVO) { + return houseAreaMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselane/WareHouseLaneService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselane/WareHouseLaneService.java new file mode 100644 index 000000000..f1ce77fd3 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselane/WareHouseLaneService.java @@ -0,0 +1,56 @@ +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; + +/** + * 线库/巷道 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 线库/巷道 + */ + WareHouseLaneDO getHouseLane(Long id); + + /** + * 获得线库/巷道分页 + * + * @param pageReqVO 分页查询 + * @return 线库/巷道分页 + */ + PageResult getHouseLanePage(WareHouseLanePageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselane/WareHouseLaneServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselane/WareHouseLaneServiceImpl.java new file mode 100644 index 000000000..5599851b4 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselane/WareHouseLaneServiceImpl.java @@ -0,0 +1,73 @@ +package cn.iocoder.yudao.module.system.service.houselane; + +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 cn.iocoder.yudao.module.system.dal.mysql.houselane.WareHouseLaneMapper; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.HOUSE_LANE_NOT_EXISTS; + + +/** + * 线库/巷道 Service 实现类 + * + * @author 陈宾顺 + */ +@Service +@Validated +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); + } + } + + @Override + public WareHouseLaneDO getHouseLane(Long id) { + return houseLaneMapper.selectById(id); + } + + @Override + public PageResult getHouseLanePage(WareHouseLanePageReqVO pageReqVO) { + return houseLaneMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselocation/HouseLocationService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselocation/HouseLocationService.java new file mode 100644 index 000000000..373116661 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselocation/HouseLocationService.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.system.service.houselocation; + +import java.util.*; +import javax.validation.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.system.controller.admin.houselocation.vo.HouseLocationPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.houselocation.vo.HouseLocationSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.houselocation.HouseLocationDO; + +/** + * 库位 Service 接口 + * + * @author 陈宾顺 + */ +public interface HouseLocationService { + + /** + * 创建库位 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createHouseLocation(@Valid HouseLocationSaveReqVO createReqVO); + + /** + * 更新库位 + * + * @param updateReqVO 更新信息 + */ + void updateHouseLocation(@Valid HouseLocationSaveReqVO updateReqVO); + + /** + * 删除库位 + * + * @param id 编号 + */ + void deleteHouseLocation(Long id); + + /** + * 获得库位 + * + * @param id 编号 + * @return 库位 + */ + HouseLocationDO getHouseLocation(Long id); + + /** + * 获得库位分页 + * + * @param pageReqVO 分页查询 + * @return 库位分页 + */ + PageResult getHouseLocationPage(HouseLocationPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselocation/HouseLocationServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselocation/HouseLocationServiceImpl.java new file mode 100644 index 000000000..53e5c00ec --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselocation/HouseLocationServiceImpl.java @@ -0,0 +1,73 @@ +package cn.iocoder.yudao.module.system.service.houselocation; + +import cn.iocoder.yudao.module.system.controller.admin.houselocation.vo.HouseLocationPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.houselocation.vo.HouseLocationSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.houselocation.HouseLocationDO; +import cn.iocoder.yudao.module.system.dal.mysql.houselocation.HouseLocationMapper; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.HOUSE_LOCATION_NOT_EXISTS; + +/** + * 库位 Service 实现类 + * + * @author 陈宾顺 + */ +@Service +@Validated +public class HouseLocationServiceImpl implements HouseLocationService { + + @Resource + private HouseLocationMapper houseLocationMapper; + + @Override + public Long createHouseLocation(HouseLocationSaveReqVO createReqVO) { + // 插入 + HouseLocationDO houseLocation = BeanUtils.toBean(createReqVO, HouseLocationDO.class); + houseLocationMapper.insert(houseLocation); + // 返回 + return houseLocation.getId(); + } + + @Override + public void updateHouseLocation(HouseLocationSaveReqVO updateReqVO) { + // 校验存在 + validateHouseLocationExists(updateReqVO.getId()); + // 更新 + HouseLocationDO updateObj = BeanUtils.toBean(updateReqVO, HouseLocationDO.class); + houseLocationMapper.updateById(updateObj); + } + + @Override + public void deleteHouseLocation(Long id) { + // 校验存在 + validateHouseLocationExists(id); + // 删除 + houseLocationMapper.deleteById(id); + } + + private void validateHouseLocationExists(Long id) { + if (houseLocationMapper.selectById(id) == null) { + throw exception(HOUSE_LOCATION_NOT_EXISTS); + } + } + + @Override + public HouseLocationDO getHouseLocation(Long id) { + return houseLocationMapper.selectById(id); + } + + @Override + public PageResult getHouseLocationPage(HouseLocationPageReqVO pageReqVO) { + return houseLocationMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/information/DeviceInformationServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/information/DeviceInformationServiceImpl.java index 13a889b7b..9d7a40583 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/information/DeviceInformationServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/information/DeviceInformationServiceImpl.java @@ -51,8 +51,7 @@ public class DeviceInformationServiceImpl implements DeviceInformationService { throw exception(INFORMATION_MAC_INPUT); } if(DeviceInformationType.PALLETIZER.getType().equals(createReqVO.getDeviceType())){ - String jiCheResponse = grpcServiceApi.onVehiclePoseUpdated(); - log.info("调用GRPC查询机车信息返回 :{}",jiCheResponse); +// String jiCheResponse = grpcServiceApi.robotExecption(); } // 插入 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationService.java new file mode 100644 index 000000000..a1a63e318 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationService.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.module.system.service.robot; + +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.robot.vo.RobotInformationPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotInformationSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotInformationDO; + +/** + * 车辆信息 Service 接口 + * + * @author 陈宾顺 + */ +public interface RobotInformationService { + + /** + * 创建车辆信息 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createInformation(@Valid RobotInformationSaveReqVO createReqVO); + + /** + * 更新车辆信息 + * + * @param updateReqVO 更新信息 + */ + void updateInformation(@Valid RobotInformationSaveReqVO updateReqVO); + + /** + * 删除车辆信息 + * + * @param id 编号 + */ + void deleteInformation(Long id); + + /** + * 获得车辆信息 + * + * @param id 编号 + * @return 车辆信息 + */ + RobotInformationDO getInformation(Long id); + + /** + * 获得车辆信息分页 + * + * @param pageReqVO 分页查询 + * @return 车辆信息分页 + */ + PageResult getInformationPage(RobotInformationPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationServiceImpl.java new file mode 100644 index 000000000..0015b5865 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationServiceImpl.java @@ -0,0 +1,73 @@ +package cn.iocoder.yudao.module.system.service.robot; + +import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotInformationPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotInformationSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotInformationDO; +import cn.iocoder.yudao.module.system.dal.mysql.robot.RobotInformationMapper; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.ROBOT_INFORMATION_NOT_EXISTS; + +/** + * 车辆信息 Service 实现类 + * + * @author 陈宾顺 + */ +@Service +@Validated +public class RobotInformationServiceImpl implements RobotInformationService { + + @Resource + private RobotInformationMapper informationMapper; + + @Override + public Long createInformation(RobotInformationSaveReqVO createReqVO) { + // 插入 + RobotInformationDO information = BeanUtils.toBean(createReqVO, RobotInformationDO.class); + informationMapper.insert(information); + // 返回 + return information.getId(); + } + + @Override + public void updateInformation(RobotInformationSaveReqVO updateReqVO) { + // 校验存在 + validateInformationExists(updateReqVO.getId()); + // 更新 + RobotInformationDO updateObj = BeanUtils.toBean(updateReqVO, RobotInformationDO.class); + informationMapper.updateById(updateObj); + } + + @Override + public void deleteInformation(Long id) { + // 校验存在 + validateInformationExists(id); + // 删除 + informationMapper.deleteById(id); + } + + private void validateInformationExists(Long id) { + if (informationMapper.selectById(id) == null) { + throw exception(ROBOT_INFORMATION_NOT_EXISTS); + } + } + + @Override + public RobotInformationDO getInformation(Long id) { + return informationMapper.selectById(id); + } + + @Override + public PageResult getInformationPage(RobotInformationPageReqVO pageReqVO) { + return informationMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotModelService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotModelService.java new file mode 100644 index 000000000..54e0d237c --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotModelService.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.system.service.robot; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotModelPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotModelSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotModelDO; + +import javax.validation.Valid; + +/** + * 车辆类型 Service 接口 + * + * @author 陈宾顺 + */ +public interface RobotModelService { + + /** + * 创建车辆类型 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createModel(@Valid RobotModelSaveReqVO createReqVO); + + /** + * 更新车辆类型 + * + * @param updateReqVO 更新信息 + */ + void updateModel(@Valid RobotModelSaveReqVO updateReqVO); + + /** + * 删除车辆类型 + * + * @param id 编号 + */ + void deleteModel(Long id); + + /** + * 获得车辆类型 + * + * @param id 编号 + * @return 车辆类型 + */ + RobotModelDO getModel(Long id); + + /** + * 获得车辆类型分页 + * + * @param pageReqVO 分页查询 + * @return 车辆类型分页 + */ + PageResult getModelPage(RobotModelPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotModelServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotModelServiceImpl.java new file mode 100644 index 000000000..1f0ea64c0 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotModelServiceImpl.java @@ -0,0 +1,73 @@ +package cn.iocoder.yudao.module.system.service.robot; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotModelPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.robot.vo.RobotModelSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotModelDO; +import cn.iocoder.yudao.module.system.dal.mysql.robot.RobotModelMapper; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.MODEL_NOT_EXISTS; + +/** + * 车辆类型 Service 实现类 + * + * @author 陈宾顺 + */ +@Service +@Validated +public class RobotModelServiceImpl implements RobotModelService { + + @Resource + private RobotModelMapper modelMapper; + + @Override + public Long createModel(RobotModelSaveReqVO createReqVO) { + //todo 判断是否存在 +// modelMapper.selectPage(pageReqVO); + // 插入 + RobotModelDO model = BeanUtils.toBean(createReqVO, RobotModelDO.class); + modelMapper.insert(model); + // 返回 + return model.getId(); + } + + @Override + public void updateModel(RobotModelSaveReqVO updateReqVO) { + // 校验存在 + validateModelExists(updateReqVO.getId()); + // 更新 + RobotModelDO updateObj = BeanUtils.toBean(updateReqVO, RobotModelDO.class); + modelMapper.updateById(updateObj); + } + + @Override + public void deleteModel(Long id) { + // 校验存在 + validateModelExists(id); + // 删除 + modelMapper.deleteById(id); + } + + private void validateModelExists(Long id) { + if (modelMapper.selectById(id) == null) { + throw exception(MODEL_NOT_EXISTS); + } + } + + @Override + public RobotModelDO getModel(Long id) { + return modelMapper.selectById(id); + } + + @Override + public PageResult getModelPage(RobotModelPageReqVO pageReqVO) { + return modelMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/housearea/HouseAreaMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/housearea/HouseAreaMapper.xml new file mode 100644 index 000000000..bcdc2bfb3 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/housearea/HouseAreaMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/houselane/WareHouseLaneMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/houselane/WareHouseLaneMapper.xml new file mode 100644 index 000000000..8622cc356 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/houselane/WareHouseLaneMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/houselocation/HouseLocationMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/houselocation/HouseLocationMapper.xml new file mode 100644 index 000000000..461db0fe4 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/houselocation/HouseLocationMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/robot/RobotInformationMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/robot/RobotInformationMapper.xml new file mode 100644 index 000000000..8422415b6 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/robot/RobotInformationMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/robot/RobotModelMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/robot/RobotModelMapper.xml new file mode 100644 index 000000000..02e852237 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/robot/RobotModelMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file