From 0863752ec6654712ee6e341b656ae3ec61c9fb1f Mon Sep 17 00:00:00 2001 From: liangzhou <594755172@qq.com> Date: Sat, 13 Jul 2024 16:58:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/wms/controller/ExcelController.java | 34 +++++++++- .../wms/controller/LocationController.java | 4 +- .../com/wms/controller/TaskController.java | 2 - .../wms/entity/app/request/TaskInRequest.java | 20 +++++- .../java/com/wms/entity/app/vo/StockVo.java | 65 +++++++++++++++++++ src/main/resources/application.yml | 12 ++-- 6 files changed, 124 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/wms/controller/ExcelController.java b/src/main/java/com/wms/controller/ExcelController.java index 6eb4bde..4661d78 100644 --- a/src/main/java/com/wms/controller/ExcelController.java +++ b/src/main/java/com/wms/controller/ExcelController.java @@ -1,13 +1,20 @@ package com.wms.controller; +import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson2.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.wms.constants.enums.*; import com.wms.entity.app.ResponseEntity; import com.wms.entity.app.dto.StockDto; +import com.wms.entity.app.dto.TaskDto; import com.wms.entity.app.dto.TaskRecordDto; +import com.wms.entity.app.dto.VehicleDto; import com.wms.entity.app.request.StockQuery; import com.wms.entity.app.request.TaskRecordQuery; +import com.wms.entity.app.request.VehicleQuery; +import com.wms.entity.table.Vehicle; import com.wms.service.*; +import com.wms.utils.StringUtils; import com.wms.utils.excel.ExcelUtils; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; @@ -23,6 +30,9 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; import java.util.List; import static com.wms.utils.HttpUtils.getIpAddr; @@ -36,10 +46,11 @@ import static com.wms.utils.StringUtils.convertJsonString; @RequiredArgsConstructor(onConstructor = @__(@Autowired)) @RequestMapping(value = "/wms/excel") public class ExcelController { - private final Logger logger = LoggerFactory.getLogger(this.getClass()); + private final Logger logger = LoggerFactory.getLogger(this.getClass());// 日志 private final StockService stockService;// 库存服务 private final HttpServletRequest servletRequest;// 请求服务 private final TaskRecordService taskRecordService;// 任务记录服务 + private final VehicleService vehicleService;// 载具服务 /** * 导入库存信息 @@ -118,4 +129,25 @@ public class ExcelController { List inventoryRecord = taskRecordService.selectInventoryTaskRecord(query.toTaskRecordPO()); ExcelUtils.export(response, "盘点记录报表", inventoryRecord, TaskRecordDto.class); } + + /** + * 导出入库记录 + * + * @param response 请求 + */ + @GetMapping("/downloadVehicleExcel") + @ResponseBody + public void downloadVehicleExcel(@RequestParam("vehicleQuery") VehicleQuery vehicleQuery, HttpServletResponse response) { + logger.info("导出载具记录,查询参数:{},请求ip:{}",convertJsonString(vehicleQuery), getIpAddr(servletRequest)); + List vehicles = vehicleService.list(new LambdaQueryWrapper() + .like(StringUtils.isNotEmpty(vehicleQuery.getVehicleId()), Vehicle::getVehicleId, vehicleQuery.getVehicleId()) + .like(StringUtils.isNotEmpty(vehicleQuery.getCurrentLocation()), Vehicle::getCurrentLocation, vehicleQuery.getCurrentLocation()) + .eq(vehicleQuery.getIsEmpty() != null, Vehicle::getIsEmpty, vehicleQuery.getIsEmpty()) + .eq(vehicleQuery.getVehicleStatus() != null, Vehicle::getVehicleStatus, vehicleQuery.getVehicleStatus())); + if (vehicles == null || vehicles.isEmpty()) { + ExcelUtils.export(response, "载具报表", Collections.emptyList(), VehicleDto.class); + } else { + ExcelUtils.export(response, "载具报表", BeanUtil.copyToList(vehicles, VehicleDto.class), VehicleDto.class); + } + } } \ No newline at end of file diff --git a/src/main/java/com/wms/controller/LocationController.java b/src/main/java/com/wms/controller/LocationController.java index 3f65506..59179a0 100644 --- a/src/main/java/com/wms/controller/LocationController.java +++ b/src/main/java/com/wms/controller/LocationController.java @@ -188,8 +188,8 @@ public class LocationController { Page page = vehicleQuery.toMpPage(); Page vehiclePage = vehicleService.page(page, new LambdaQueryWrapper() .like(StringUtils.isNotEmpty(vehicleQuery.getVehicleId()), Vehicle::getVehicleId, vehicleQuery.getVehicleId()) - .eq(vehicleQuery.getVehicleStatus() == null, Vehicle::getVehicleStatus, vehicleQuery.getVehicleStatus()) - .eq(vehicleQuery.getIsEmpty() == null, Vehicle::getIsEmpty, vehicleQuery.getIsEmpty())); + .eq(vehicleQuery.getVehicleStatus() != null, Vehicle::getVehicleStatus, vehicleQuery.getVehicleStatus()) + .eq(vehicleQuery.getIsEmpty() != null, Vehicle::getIsEmpty, vehicleQuery.getIsEmpty())); PageDto pageDto = PageDto.of(vehiclePage, vehicle -> BeanUtil.copyProperties(vehicle, VehicleVO.class)); response.setCode(ResponseCode.OK.getCode()); diff --git a/src/main/java/com/wms/controller/TaskController.java b/src/main/java/com/wms/controller/TaskController.java index 973f1d6..900b8c1 100644 --- a/src/main/java/com/wms/controller/TaskController.java +++ b/src/main/java/com/wms/controller/TaskController.java @@ -13,7 +13,6 @@ import com.wms.entity.app.dto.TaskDto; import com.wms.entity.app.dto.extend.StockDetailInfo; import com.wms.entity.app.dto.extend.TaskDetailInfo; import com.wms.entity.app.request.*; -import com.wms.entity.app.vo.TaskRecordVO; import com.wms.entity.app.vo.TaskVO; import com.wms.entity.table.*; import com.wms.service.*; @@ -21,7 +20,6 @@ import com.wms.utils.HttpUtils; import com.wms.utils.StringUtils; import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/com/wms/entity/app/request/TaskInRequest.java b/src/main/java/com/wms/entity/app/request/TaskInRequest.java index 52bcab9..a4c84ce 100644 --- a/src/main/java/com/wms/entity/app/request/TaskInRequest.java +++ b/src/main/java/com/wms/entity/app/request/TaskInRequest.java @@ -1,23 +1,39 @@ package com.wms.entity.app.request; import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.List; +/** + * 入库请求 + */ @Data public class TaskInRequest { + /** + * 载具号 + */ @JsonProperty("vehicleId") private String vehicleId; + /** + * 起点 + */ @JsonProperty("originPoint") private String originPoint; + /** + * 总重量 + */ @JsonProperty("totalWeight") private BigDecimal totalWeight; + /** + * 用户名 + */ @JsonProperty("userName") private String userName; + /** + * 物料列表 + */ @JsonProperty("goodsList") private List goodsList; } diff --git a/src/main/java/com/wms/entity/app/vo/StockVo.java b/src/main/java/com/wms/entity/app/vo/StockVo.java index 3789d88..27aba4d 100644 --- a/src/main/java/com/wms/entity/app/vo/StockVo.java +++ b/src/main/java/com/wms/entity/app/vo/StockVo.java @@ -1,14 +1,79 @@ package com.wms.entity.app.vo; import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.wms.entity.app.dto.extend.StockDetailInfo; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; +import java.math.BigDecimal; import java.time.LocalDateTime; @Data public class StockVo { + /** + * 库存编号 + */ + @JsonProperty("stockId") + private String stockId; + /** + * 库位ID + */ + @JsonProperty("locationId") + private String locationId; + /** + * 托盘号 + */ + @JsonProperty("vehicleId") + private String vehicleId; + /** + * 重量 + */ + @JsonProperty("weight") + private BigDecimal weight; + /** + * 库存状态 + * 正常、出库中、锁定 等 + */ + @JsonProperty("stockStatus") + private Integer stockStatus; + /** + * 创建时间 + */ + @JsonProperty("createTime") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; + /** + * 最后更新时间 + */ + @JsonProperty("lastUpdateTime") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime lastUpdateTime; + /** + * 最后更新用户 + */ + @JsonProperty("lastUpdateUser") + private String lastUpdateUser; + /** + * 是否盘点 + */ + @JsonProperty("isInventory") + private Integer isInventory; + /** + * 盘点任务号 盘点出库和盘点入库同样 + */ + @JsonProperty("inventoryTaskId") + private String inventoryTaskId; + /** + * 呆滞天数 + */ + @JsonProperty("noUseDays") + private Integer noUseDays; + /** + * 物料相关信息 + */ + @JsonProperty("goodsRelated") + private StockDetailInfo goodsRelated; } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index eaeab68..2d58f90 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -13,15 +13,15 @@ spring: # password: coder # driver-class-name: com.mysql.cj.jdbc.Driver # 宝开服务器--内网 -# url: jdbc:mysql://192.168.3.254:3306/wms_miniload_bk7?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true -# username: coder -# password: coder -# driver-class-name: com.mysql.cj.jdbc.Driver - # 上线环境 - url: jdbc:mysql://192.168.3.254:3306/wms_miniload_bk7_test?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true + url: jdbc:mysql://192.168.3.254:3306/wms_miniload_bk7?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true username: coder password: coder driver-class-name: com.mysql.cj.jdbc.Driver + # 测试环境 +# url: jdbc:mysql://192.168.3.254:3306/wms_miniload_bk7_test?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true +# username: coder +# password: coder +# driver-class-name: com.mysql.cj.jdbc.Driver # 从库 # slave_1: # url: jdbc:mysql://localhost:3306/wms_miniload_bk7?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true