-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dev_wms_serve/src/main/java/com/wms_main/controller/wms/ExcelController.java b/dev_wms_serve/src/main/java/com/wms_main/controller/wms/ExcelController.java
index fcc86d8..00d096c 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/controller/wms/ExcelController.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/controller/wms/ExcelController.java
@@ -162,7 +162,7 @@ public class ExcelController {
*/
@PostMapping("/exportWorkSummaryExcel")
public void exportWorkSummaryExcel(@RequestBody WorkSummaryQuery workSummaryQuery, HttpServletResponse response) throws IOException {
- exportExcelEasyPoi.exportWorkSummaryExcel(workSummaryQuery, response);
+ exportExcelEasyPoi.doExportWorkSummaryExcel(workSummaryQuery, response);
}
/**
@@ -171,15 +171,24 @@ public class ExcelController {
*/
@PostMapping("/exportKanbanExcel")
public void exportKanbanExcel(@RequestBody KanbanQuery kanbanQuery, HttpServletResponse response) throws IOException {
- exportExcelEasyPoi.exportKanbanExcel(kanbanQuery, response);
+ exportExcelEasyPoi.doExportKanbanExcel(kanbanQuery, response);
}
/**
- * 导出看板需求
- * @param kanbanQuery 请求
+ * 导出入库记录
+ * @param wmsTaskQuery 请求
*/
@PostMapping("/exportInTaskRecordExcel")
public void exportInTaskRecordExcel(@RequestBody WmsTaskQuery wmsTaskQuery, HttpServletResponse response) throws IOException {
- exportExcelEasyPoi.exportKanbanExcel(kanbanQuery, response);
+ exportExcelEasyPoi.doExportInTaskRecords(wmsTaskQuery, response);
+ }
+
+ /**
+ * 导出出库记录
+ * @param wmsTaskQuery 请求
+ */
+ @PostMapping("/exportOutTaskRecordExcel")
+ public void exportOutTaskRecordExcel(@RequestBody WmsTaskQuery wmsTaskQuery, HttpServletResponse response) throws IOException {
+ exportExcelEasyPoi.doExportOutTaskRecords(wmsTaskQuery, response);
}
}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/excel/easypoi/excelTemplate/TaskRecordExcelTemplate.java b/dev_wms_serve/src/main/java/com/wms_main/excel/easypoi/excelTemplate/TaskRecordExcelTemplate.java
new file mode 100644
index 0000000..56cb48f
--- /dev/null
+++ b/dev_wms_serve/src/main/java/com/wms_main/excel/easypoi/excelTemplate/TaskRecordExcelTemplate.java
@@ -0,0 +1,102 @@
+package com.wms_main.excel.easypoi.excelTemplate;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+/**
+ * 任务记录模版
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class TaskRecordExcelTemplate {
+ /**
+ * 任务ID
+ */
+ @Excel(name = "任务Id")
+ private String taskId;
+ /**
+ * 任务类型
+ */
+ @Excel(name = "任务类型")
+ private Integer taskType;
+ /**
+ * 任务状态
+ */
+ @Excel(name = "任务状态")
+ private Integer taskStatus;
+ /**
+ * 任务优先级
+ */
+ @Excel(name = "任务优先级")
+ private Integer taskPriority;
+ /**
+ * 载具号
+ */
+ @Excel(name = "载具号")
+ private String vehicleId;
+ /**
+ * 起点
+ */
+ @Excel(name = "起点")
+ private String origin;
+ /**
+ * 终点
+ */
+ @Excel(name = "终点")
+ private String destination;
+ /**
+ * wcs任务id
+ */
+ @Excel(name = "wcs任务Id")
+ private String wcsTaskId;
+ /**
+ * 创建时间
+ */
+ @Excel(name = "创建时间", format = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+ /**
+ * 完成时间
+ */
+ @Excel(name = "完成时间", format = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime finishTime;
+ /**
+ * 料号
+ */
+ @Excel(name = "料号")
+ private String goodsId;
+ /**
+ * 操作数量
+ */
+ @Excel(name = "操作数量")
+ private Integer opNum;
+ /**
+ * 库存数量
+ */
+ @Excel(name = "库存数量")
+ private Integer stockNum;
+ /**
+ * 操纵用户
+ */
+ @Excel(name = "操作用户")
+ private String opUser;
+ /**
+ * 备注
+ */
+ @Excel(name = "备注")
+ private String remark;
+ /**
+ * 申请出库的站台
+ */
+ @Excel(name = "申请站台")
+ private String callStand;
+ /**
+ * 物料描述
+ */
+ @Excel(name = "物料描述")
+ private String goodsDesc;
+}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/excel/easypoi/service/IExportExcelEasyPoi.java b/dev_wms_serve/src/main/java/com/wms_main/excel/easypoi/service/IExportExcelEasyPoi.java
index ba1b98c..5684094 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/excel/easypoi/service/IExportExcelEasyPoi.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/excel/easypoi/service/IExportExcelEasyPoi.java
@@ -33,11 +33,11 @@ public interface IExportExcelEasyPoi extends IBaseExportExcelEasyPoi {
* 导出工作详情
* @param workSummaryQuery 查询条件
*/
- void exportWorkSummaryExcel(@RequestBody WorkSummaryQuery workSummaryQuery, HttpServletResponse response) throws IOException;
+ void doExportWorkSummaryExcel(@RequestBody WorkSummaryQuery workSummaryQuery, HttpServletResponse response) throws IOException;
/**
* 导出看板需求
* @param kanbanQuery 查询条件
*/
- void exportKanbanExcel(@RequestBody KanbanQuery kanbanQuery, HttpServletResponse response) throws IOException;
+ void doExportKanbanExcel(@RequestBody KanbanQuery kanbanQuery, HttpServletResponse response) throws IOException;
}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/excel/easypoi/service/base/IBaseExportExcelEasyPoi.java b/dev_wms_serve/src/main/java/com/wms_main/excel/easypoi/service/base/IBaseExportExcelEasyPoi.java
index f402675..2df661b 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/excel/easypoi/service/base/IBaseExportExcelEasyPoi.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/excel/easypoi/service/base/IBaseExportExcelEasyPoi.java
@@ -3,6 +3,7 @@ package com.wms_main.excel.easypoi.service.base;
import com.wms_main.model.dto.query.GoodsQuery;
import com.wms_main.model.dto.query.StockQuery;
import com.wms_main.model.dto.query.StockUpdateQuery;
+import com.wms_main.model.dto.query.WmsTaskQuery;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.RequestBody;
@@ -25,8 +26,20 @@ public interface IBaseExportExcelEasyPoi {
void doExportStockUpdate(@RequestBody StockUpdateQuery stockUpdateQuery, HttpServletResponse response) throws IOException;
/**
- * 到处物料信息
+ * 导出物料信息
* @param goodsQuery 查询
*/
void doExportGoods(@RequestBody GoodsQuery goodsQuery, HttpServletResponse response) throws IOException;
+
+ /**
+ * 导出入库记录
+ * @param wmsTaskQuery 查询
+ */
+ void doExportInTaskRecords(@RequestBody WmsTaskQuery wmsTaskQuery, HttpServletResponse response) throws IOException;
+
+ /**
+ * 导出出库记录
+ * @param wmsTaskQuery 查询
+ */
+ void doExportOutTaskRecords(@RequestBody WmsTaskQuery wmsTaskQuery, HttpServletResponse response) throws IOException;
}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/excel/easypoi/service/base/impl/BaseExportExcelEasyPoi.java b/dev_wms_serve/src/main/java/com/wms_main/excel/easypoi/service/base/impl/BaseExportExcelEasyPoi.java
index 4e86a15..7d81c17 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/excel/easypoi/service/base/impl/BaseExportExcelEasyPoi.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/excel/easypoi/service/base/impl/BaseExportExcelEasyPoi.java
@@ -4,19 +4,24 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.wms_main.constant.enums.wms.WmsTaskTypeEnums;
import com.wms_main.dao.ITAppGoodsService;
import com.wms_main.dao.ITAppStockService;
import com.wms_main.dao.ITAppStockUpdateService;
+import com.wms_main.dao.ITAppTaskBakService;
import com.wms_main.excel.easypoi.excelTemplate.GoodsExcelTemplate;
import com.wms_main.excel.easypoi.excelTemplate.StockExcelTemplate;
import com.wms_main.excel.easypoi.excelTemplate.StockUpdateExcelTemplate;
+import com.wms_main.excel.easypoi.excelTemplate.TaskRecordExcelTemplate;
import com.wms_main.excel.easypoi.service.base.IBaseExportExcelEasyPoi;
import com.wms_main.model.dto.query.GoodsQuery;
import com.wms_main.model.dto.query.StockQuery;
import com.wms_main.model.dto.query.StockUpdateQuery;
+import com.wms_main.model.dto.query.WmsTaskQuery;
import com.wms_main.model.po.TAppGoods;
import com.wms_main.model.po.TAppStock;
import com.wms_main.model.po.TAppStockUpdate;
+import com.wms_main.model.po.TAppTaskBak;
import com.wms_main.repository.utils.StringUtils;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
@@ -40,6 +45,8 @@ public class BaseExportExcelEasyPoi implements IBaseExportExcelEasyPoi {
protected ITAppStockUpdateService appStockUpdateService;// 库存更新服务
@Autowired
protected ITAppGoodsService appGoodsService;// 物料服务
+ @Autowired
+ protected ITAppTaskBakService appTaskBakService;// 任务记录服务
public BaseExportExcelEasyPoi() {
@@ -111,10 +118,22 @@ public class BaseExportExcelEasyPoi implements IBaseExportExcelEasyPoi {
if (stockUpdateQuery == null) {
throw new IOException("查询参数不能为NULL");
}
+ // 查询参数
+ if (stockUpdateQuery.getFromTime() != null && stockUpdateQuery.getToTime() != null) {
+ if (stockUpdateQuery.getFromTime().isAfter(stockUpdateQuery.getToTime())) {
+ throw new IOException("from时间不能晚于to时间");
+ }
+ }
// 库存更新记录查询参数
LambdaQueryWrapper
lambdaQueryWrapper = new LambdaQueryWrapper()
.like(StringUtils.isNotEmpty(stockUpdateQuery.getGoodsId()), TAppStockUpdate::getGoodsId, stockUpdateQuery.getGoodsId())
.like(StringUtils.isNotEmpty(stockUpdateQuery.getVehicleId()), TAppStockUpdate::getVehicleId, stockUpdateQuery.getVehicleId());
+ if (stockUpdateQuery.getFromTime() != null) {
+ lambdaQueryWrapper.ge(TAppStockUpdate::getUpdateTime, stockUpdateQuery.getFromTime());
+ }
+ if (stockUpdateQuery.getToTime() != null) {
+ lambdaQueryWrapper.le(TAppStockUpdate::getUpdateTime, stockUpdateQuery.getToTime());
+ }
List stockUpdateList = appStockUpdateService.list(lambdaQueryWrapper);
// excel模版列表
List resultList = new ArrayList<>();
@@ -147,7 +166,7 @@ public class BaseExportExcelEasyPoi implements IBaseExportExcelEasyPoi {
if (goodsQuery == null) {
throw new IOException("查询参数不能为NULL");
}
- // 库存更新记录查询参数
+ // 查询参数
LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper()
.like(StringUtils.isNotEmpty(goodsQuery.getGoodsId()), TAppGoods::getGoodsId, goodsQuery.getGoodsId())
.like(StringUtils.isNotEmpty(goodsQuery.getGoodsDesc()), TAppGoods::getGoodsDescription, goodsQuery.getGoodsDesc());
@@ -176,6 +195,124 @@ public class BaseExportExcelEasyPoi implements IBaseExportExcelEasyPoi {
doWriteExcel("物料基础信息", response, resultList, GoodsExcelTemplate.class);
}
+ /**
+ * 导出入库记录
+ * @param wmsTaskQuery 查询
+ * @param response 响应
+ * @throws IOException 异常
+ */
+ @Override
+ public void doExportInTaskRecords(WmsTaskQuery wmsTaskQuery, HttpServletResponse response) throws IOException {
+ if (wmsTaskQuery == null) {
+ throw new IOException("查询参数不能为NULL");
+ }
+ // 查询参数
+ if (wmsTaskQuery.getFromTime() != null && wmsTaskQuery.getToTime() != null) {
+ if (wmsTaskQuery.getFromTime().isAfter(wmsTaskQuery.getToTime())) {
+ throw new IOException("from时间不能晚于to时间");
+ }
+ }
+ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper()
+ .like(StringUtils.isNotEmpty(wmsTaskQuery.getTaskId()), TAppTaskBak::getTaskId, wmsTaskQuery.getTaskId())
+ .like(StringUtils.isNotEmpty(wmsTaskQuery.getGoodsId()), TAppTaskBak::getGoodsId, wmsTaskQuery.getGoodsId())
+ .like(StringUtils.isNotEmpty(wmsTaskQuery.getVehicleId()), TAppTaskBak::getVehicleId, wmsTaskQuery.getVehicleId())
+ .eq(TAppTaskBak::getTaskType, WmsTaskTypeEnums.IN.getCode());
+ if (wmsTaskQuery.getFromTime() != null) {
+ lambdaQueryWrapper.ge(TAppTaskBak::getCreateTime, wmsTaskQuery.getFromTime());
+ }
+ if (wmsTaskQuery.getToTime() != null) {
+ lambdaQueryWrapper.le(TAppTaskBak::getCreateTime, wmsTaskQuery.getToTime());
+ }
+ List inTaskRecordList = appTaskBakService.list(lambdaQueryWrapper);
+ // excel模版列表
+ List resultList = new ArrayList<>();
+ if (!inTaskRecordList.isEmpty()) {
+ for (TAppTaskBak poData : inTaskRecordList) {
+ resultList.add(new TaskRecordExcelTemplate(
+ poData.getTaskId(),
+ poData.getTaskType(),
+ poData.getTaskStatus(),
+ poData.getTaskPriority(),
+ poData.getVehicleId(),
+ poData.getOrigin(),
+ poData.getDestination(),
+ poData.getWcsTaskId(),
+ poData.getCreateTime(),
+ poData.getFinishTime(),
+ poData.getGoodsId(),
+ poData.getOpNum(),
+ poData.getStockNum(),
+ poData.getOpUser(),
+ poData.getRemark(),
+ poData.getCallStand(),
+ poData.getGoodsDesc()
+ ));
+ }
+ } else {
+ resultList.add(new TaskRecordExcelTemplate());
+ }
+ doWriteExcel("入库记录", response, resultList, TaskRecordExcelTemplate.class);
+ }
+
+ /**
+ * 导出出库任务记录--实现
+ * @param wmsTaskQuery 查询
+ * @param response 响应
+ * @throws IOException 异常
+ */
+ @Override
+ public void doExportOutTaskRecords(WmsTaskQuery wmsTaskQuery, HttpServletResponse response) throws IOException {
+ if (wmsTaskQuery == null) {
+ throw new IOException("查询参数不能为NULL");
+ }
+ // 查询参数
+ if (wmsTaskQuery.getFromTime() != null && wmsTaskQuery.getToTime() != null) {
+ if (wmsTaskQuery.getFromTime().isAfter(wmsTaskQuery.getToTime())) {
+ throw new IOException("from时间不能晚于to时间");
+ }
+ }
+ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper()
+ .like(StringUtils.isNotEmpty(wmsTaskQuery.getTaskId()), TAppTaskBak::getTaskId, wmsTaskQuery.getTaskId())
+ .like(StringUtils.isNotEmpty(wmsTaskQuery.getGoodsId()), TAppTaskBak::getGoodsId, wmsTaskQuery.getGoodsId())
+ .like(StringUtils.isNotEmpty(wmsTaskQuery.getVehicleId()), TAppTaskBak::getVehicleId, wmsTaskQuery.getVehicleId())
+ .eq(TAppTaskBak::getTaskType, WmsTaskTypeEnums.OUT.getCode());
+ if (wmsTaskQuery.getFromTime() != null) {
+ lambdaQueryWrapper.ge(TAppTaskBak::getCreateTime, wmsTaskQuery.getFromTime());
+ }
+ if (wmsTaskQuery.getToTime() != null) {
+ lambdaQueryWrapper.le(TAppTaskBak::getCreateTime, wmsTaskQuery.getToTime());
+ }
+ List outTaskRecordList = appTaskBakService.list(lambdaQueryWrapper);
+ // excel模版列表
+ List resultList = new ArrayList<>();
+ if (!outTaskRecordList.isEmpty()) {
+ for (TAppTaskBak poData : outTaskRecordList) {
+ resultList.add(new TaskRecordExcelTemplate(
+ poData.getTaskId(),
+ poData.getTaskType(),
+ poData.getTaskStatus(),
+ poData.getTaskPriority(),
+ poData.getVehicleId(),
+ poData.getOrigin(),
+ poData.getDestination(),
+ poData.getWcsTaskId(),
+ poData.getCreateTime(),
+ poData.getFinishTime(),
+ poData.getGoodsId(),
+ poData.getOpNum(),
+ poData.getStockNum(),
+ poData.getOpUser(),
+ poData.getRemark(),
+ poData.getCallStand(),
+ poData.getGoodsDesc()
+ ));
+ }
+ } else {
+ resultList.add(new TaskRecordExcelTemplate());
+ }
+ doWriteExcel("出库记录", response, resultList, TaskRecordExcelTemplate.class);
+ }
+
/**
* 写入excel
* @param fileDesc 文件描述
diff --git a/dev_wms_serve/src/main/java/com/wms_main/excel/easypoi/service/serviceImpl/ExportExcelEasyPoi.java b/dev_wms_serve/src/main/java/com/wms_main/excel/easypoi/service/serviceImpl/ExportExcelEasyPoi.java
index 7d87cb5..6d1d960 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/excel/easypoi/service/serviceImpl/ExportExcelEasyPoi.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/excel/easypoi/service/serviceImpl/ExportExcelEasyPoi.java
@@ -172,7 +172,7 @@ public class ExportExcelEasyPoi extends BaseExportExcelEasyPoi implements IExpor
* @throws IOException 异常
*/
@Override
- public void exportWorkSummaryExcel(WorkSummaryQuery workSummaryQuery, HttpServletResponse response) throws IOException {
+ public void doExportWorkSummaryExcel(WorkSummaryQuery workSummaryQuery, HttpServletResponse response) throws IOException {
if (workSummaryQuery == null || workSummaryQuery.getSummaryType() == null) {
throw new IOException("查询参数为空,数据类型必须。");
}
@@ -258,7 +258,7 @@ public class ExportExcelEasyPoi extends BaseExportExcelEasyPoi implements IExpor
* @throws IOException 异常
*/
@Override
- public void exportKanbanExcel(KanbanQuery kanbanQuery, HttpServletResponse response) throws IOException {
+ public void doExportKanbanExcel(KanbanQuery kanbanQuery, HttpServletResponse response) throws IOException {
if (kanbanQuery == null) {
throw new IOException("参数不能为空");
}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/StockUpdateQuery.java b/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/StockUpdateQuery.java
index 88261ce..68ad080 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/StockUpdateQuery.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/model/dto/query/StockUpdateQuery.java
@@ -1,10 +1,14 @@
package com.wms_main.model.dto.query;
+import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
/**
* 库存更新查询
@@ -24,4 +28,18 @@ public class StockUpdateQuery extends PageQuery {
*/
@JsonProperty("vehicleId")
private String vehicleId;
+ /**
+ * 筛选时间从
+ */
+ @JsonProperty("fromTime")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime fromTime;
+ /**
+ * 筛选时间-至
+ */
+ @JsonProperty("toTime")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime toTime;
}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/StockControllerServiceImpl.java b/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/StockControllerServiceImpl.java
index d7d9a37..a86b054 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/StockControllerServiceImpl.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/StockControllerServiceImpl.java
@@ -67,12 +67,24 @@ public class StockControllerServiceImpl implements IStockControllerService {
if (stockUpdateQuery == null) {
return WmsApiResponse.error("查询参数不能为NULL", null);
}
+ if (stockUpdateQuery.getFromTime() != null && stockUpdateQuery.getToTime() != null) {
+ if (stockUpdateQuery.getFromTime().isAfter(stockUpdateQuery.getToTime())) {
+ return WmsApiResponse.error("from时间不能晚于to时间。", null);
+ }
+ }
Page page = stockUpdateQuery.toMpPage();
LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper()
.like(StringUtils.isNotEmpty(stockUpdateQuery.getGoodsId()), TAppStockUpdate::getGoodsId, stockUpdateQuery.getGoodsId())
.like(StringUtils.isNotEmpty(stockUpdateQuery.getVehicleId()), TAppStockUpdate::getVehicleId, stockUpdateQuery.getVehicleId());
+ // 时间范围查询
+ if (stockUpdateQuery.getFromTime() != null) {
+ lambdaQueryWrapper.ge(TAppStockUpdate::getUpdateTime, stockUpdateQuery.getFromTime());
+ }
+ if (stockUpdateQuery.getToTime() != null) {
+ lambdaQueryWrapper.le(TAppStockUpdate::getUpdateTime, stockUpdateQuery.getToTime());
+ }
+ // 查询库存更新记录
Page stockUpdatePage = appStockUpdateService.page(page, lambdaQueryWrapper);
-
PageVo pageVo = PageVo.of(stockUpdatePage, StockUpdateVo::of);
return WmsApiResponse.success("查询库存更新记录成功", pageVo);
}
diff --git a/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/TaskControllerServiceImpl.java b/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/TaskControllerServiceImpl.java
index dd95d79..d579f97 100644
--- a/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/TaskControllerServiceImpl.java
+++ b/dev_wms_serve/src/main/java/com/wms_main/service/controller/serviceImpl/TaskControllerServiceImpl.java
@@ -99,10 +99,19 @@ public class TaskControllerServiceImpl implements ITaskControllerService {
if (stockInRequest.isEmptyTask() && stockInRequest.getGoodsInfo() != null && !stockInRequest.getGoodsInfo().isEmpty()) {
stockInRequest.setEmptyTask(false);
}
- // 查询当前载具的库存信息
- List thisVehicleStocks = appStockService.list(
- new LambdaQueryWrapper()
- .eq(TAppStock::getVehicleId, stockInRequest.getVehicleId()));
+ // 判断是否同种类料入库
+ String thisTimeInGoodsId = "";// 本次入库物料
+ if (stockInRequest.getGoodsInfo() != null && !stockInRequest.getGoodsInfo().isEmpty()) {
+ for (GoodsInfoForTask goodsInfoForTask : stockInRequest.getGoodsInfo()) {
+ if (StringUtils.isEmpty(thisTimeInGoodsId)) {
+ thisTimeInGoodsId = goodsInfoForTask.getGoodsId();
+ } else {
+ if (!thisTimeInGoodsId.equals(goodsInfoForTask.getGoodsId())) {
+ return BaseWmsApiResponse.error("一个载具中只能入一种料。");
+ }
+ }
+ }
+ }
if (stockInRequest.isEmptyTask()) {
// 创建空载具入库任务
TAppTask task = new TAppTask(
@@ -131,6 +140,18 @@ public class TaskControllerServiceImpl implements ITaskControllerService {
return BaseWmsApiResponse.error("创建空载具入库任务失败。");
}
} else {
+ // 查询当前载具的库存信息
+ List thisVehicleStocks = appStockService.list(
+ new LambdaQueryWrapper()
+ .eq(TAppStock::getVehicleId, stockInRequest.getVehicleId()));
+ // 判断入库物料是否在库存中
+ if (StringUtils.isNotEmpty(thisTimeInGoodsId) && thisVehicleStocks != null && !thisVehicleStocks.isEmpty()) {
+ for (TAppStock stock : thisVehicleStocks) {
+ if (!Objects.equals(stock.getGoodsId(), thisTimeInGoodsId)) {
+ return BaseWmsApiResponse.error("当前载具已经绑定其他种类物料。");
+ }
+ }
+ }
Map goodsIdTaskMap = new HashMap<>();
Map goodsMap = new HashMap<>();
// 循环物料生成入库任务