代码更新:
1. 增加文件上传的防呆 2. 工单上传逻辑修正
This commit is contained in:
parent
0cc57c91b8
commit
4f7c0732e3
|
|
@ -71,6 +71,8 @@ public class ExcelController {
|
||||||
private final GoodsService goodsService;// 物料服务
|
private final GoodsService goodsService;// 物料服务
|
||||||
private final WorkStationConfigService workStationConfigService;// 工站配置服务
|
private final WorkStationConfigService workStationConfigService;// 工站配置服务
|
||||||
|
|
||||||
|
private final List<String> uploadFileHashStringList = new ArrayList<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询上传记录
|
* 查询上传记录
|
||||||
* @param uploadRecordQuery 查询参数
|
* @param uploadRecordQuery 查询参数
|
||||||
|
|
@ -118,10 +120,18 @@ public class ExcelController {
|
||||||
logger.info("导入库存,请求ip:{},文件详情:{}", getIpAddr(servletRequest), convertJsonString(fileVo));
|
logger.info("导入库存,请求ip:{},文件详情:{}", getIpAddr(servletRequest), convertJsonString(fileVo));
|
||||||
ResponseEntity response = new ResponseEntity();
|
ResponseEntity response = new ResponseEntity();
|
||||||
try {
|
try {
|
||||||
|
// 判断是否重复导入
|
||||||
|
if (uploadFileHashStringList.contains(fileVo.getHash())) {
|
||||||
|
response.setCode(ResponseCode.ERROR.getCode());
|
||||||
|
response.setMessage("请勿导入相同文件。");
|
||||||
|
return convertJsonString(response);
|
||||||
|
}
|
||||||
|
uploadFileHashStringList.add(fileVo.getHash());
|
||||||
// 导入excel
|
// 导入excel
|
||||||
EasyExcel.read(file.getInputStream(), StockExcelVo.class, new UploadStocksListener(stockService)).sheet().doRead();
|
EasyExcel.read(file.getInputStream(), StockExcelVo.class, new UploadStocksListener(stockService)).sheet().doRead();
|
||||||
// 添加导入记录
|
// 添加导入记录
|
||||||
uploadRecordService.save(UploadRecord.ofFileVo(fileVo, "库存"));
|
uploadRecordService.save(UploadRecord.ofFileVo(fileVo, "库存"));
|
||||||
|
uploadFileHashStringList.remove(fileVo.getHash());
|
||||||
response.setCode(ResponseCode.OK.getCode());
|
response.setCode(ResponseCode.OK.getCode());
|
||||||
response.setMessage("导入库存成功。");
|
response.setMessage("导入库存成功。");
|
||||||
return convertJsonString(response);
|
return convertJsonString(response);
|
||||||
|
|
@ -129,6 +139,7 @@ public class ExcelController {
|
||||||
logger.error("导入库存异常:{}", convertJsonString(e));
|
logger.error("导入库存异常:{}", convertJsonString(e));
|
||||||
// 回滚事务
|
// 回滚事务
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
uploadFileHashStringList.remove(fileVo.getHash());
|
||||||
response.setCode(ResponseCode.ERROR.getCode());
|
response.setCode(ResponseCode.ERROR.getCode());
|
||||||
response.setMessage("导入库存异常。");
|
response.setMessage("导入库存异常。");
|
||||||
return convertJsonString(response);
|
return convertJsonString(response);
|
||||||
|
|
@ -148,6 +159,13 @@ public class ExcelController {
|
||||||
logger.info("导入DBS,请求ip:{},文件详情:{}", getIpAddr(servletRequest), convertJsonString(fileVo));
|
logger.info("导入DBS,请求ip:{},文件详情:{}", getIpAddr(servletRequest), convertJsonString(fileVo));
|
||||||
ResponseEntity response = new ResponseEntity();
|
ResponseEntity response = new ResponseEntity();
|
||||||
try {
|
try {
|
||||||
|
// 判断是否重复导入
|
||||||
|
if (uploadFileHashStringList.contains(fileVo.getHash())) {
|
||||||
|
response.setCode(ResponseCode.ERROR.getCode());
|
||||||
|
response.setMessage("请勿导入相同文件。");
|
||||||
|
return convertJsonString(response);
|
||||||
|
}
|
||||||
|
uploadFileHashStringList.add(fileVo.getHash());
|
||||||
// 先移除之前last表中的内容
|
// 先移除之前last表中的内容
|
||||||
kateDbsLastService.remove(new LambdaQueryWrapper<>());
|
kateDbsLastService.remove(new LambdaQueryWrapper<>());
|
||||||
// 将当前Dbs表的数据存进Last表
|
// 将当前Dbs表的数据存进Last表
|
||||||
|
|
@ -158,6 +176,7 @@ public class ExcelController {
|
||||||
EasyExcel.read(file.getInputStream(), KateDbsExcelVo.class, new UploadDbsListener(kateDbsService, kateDbsLastService, fileVo.getUserName())).sheet().headRowNumber(8).doRead();
|
EasyExcel.read(file.getInputStream(), KateDbsExcelVo.class, new UploadDbsListener(kateDbsService, kateDbsLastService, fileVo.getUserName())).sheet().headRowNumber(8).doRead();
|
||||||
// 添加导入记录
|
// 添加导入记录
|
||||||
uploadRecordService.save(UploadRecord.ofFileVo(fileVo, "DBS"));
|
uploadRecordService.save(UploadRecord.ofFileVo(fileVo, "DBS"));
|
||||||
|
uploadFileHashStringList.remove(fileVo.getHash());
|
||||||
response.setCode(ResponseCode.OK.getCode());
|
response.setCode(ResponseCode.OK.getCode());
|
||||||
response.setMessage("导入DBS成功。");
|
response.setMessage("导入DBS成功。");
|
||||||
return convertJsonString(response);
|
return convertJsonString(response);
|
||||||
|
|
@ -165,6 +184,7 @@ public class ExcelController {
|
||||||
logger.error("导入DBS异常:{}", convertJsonString(e));
|
logger.error("导入DBS异常:{}", convertJsonString(e));
|
||||||
// 回滚事务
|
// 回滚事务
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
uploadFileHashStringList.remove(fileVo.getHash());
|
||||||
response.setCode(ResponseCode.ERROR.getCode());
|
response.setCode(ResponseCode.ERROR.getCode());
|
||||||
response.setMessage("导入DBS异常。");
|
response.setMessage("导入DBS异常。");
|
||||||
return convertJsonString(response);
|
return convertJsonString(response);
|
||||||
|
|
@ -184,10 +204,24 @@ public class ExcelController {
|
||||||
logger.info("导入工单,请求ip:{},文件详情:{}", getIpAddr(servletRequest), convertJsonString(fileVo));
|
logger.info("导入工单,请求ip:{},文件详情:{}", getIpAddr(servletRequest), convertJsonString(fileVo));
|
||||||
ResponseEntity response = new ResponseEntity();
|
ResponseEntity response = new ResponseEntity();
|
||||||
try {
|
try {
|
||||||
|
// 判断是否重复导入
|
||||||
|
if (uploadFileHashStringList.contains(fileVo.getHash())) {
|
||||||
|
response.setCode(ResponseCode.ERROR.getCode());
|
||||||
|
response.setMessage("请勿导入相同文件。");
|
||||||
|
return convertJsonString(response);
|
||||||
|
}
|
||||||
|
uploadFileHashStringList.add(fileVo.getHash());
|
||||||
|
// 先移除之前last表中的内容
|
||||||
|
kateOrdersLastService.remove(new LambdaQueryWrapper<>());
|
||||||
|
// 将当前工单表的数据存进Last表
|
||||||
|
kateOrdersLastService.saveBatch(BeanUtil.copyToList(kateOrdersService.list(), KateOrdersLast.class));
|
||||||
|
// 移库工单表中的内容
|
||||||
|
kateOrdersService.remove(new LambdaQueryWrapper<>());
|
||||||
// 导入excel
|
// 导入excel
|
||||||
EasyExcel.read(file.getInputStream(), KateOrdersExcelVo.class, new UploadKateOrdersListener(kateOrdersService, kateOrdersLastService, fileVo.getUserName())).sheet().doRead();
|
EasyExcel.read(file.getInputStream(), KateOrdersExcelVo.class, new UploadKateOrdersListener(kateOrdersService, kateOrdersLastService, fileVo.getUserName())).sheet().doRead();
|
||||||
// 添加导入记录
|
// 添加导入记录
|
||||||
uploadRecordService.save(UploadRecord.ofFileVo(fileVo, "ORDERS"));
|
uploadRecordService.save(UploadRecord.ofFileVo(fileVo, "ORDERS"));
|
||||||
|
uploadFileHashStringList.remove(fileVo.getHash());
|
||||||
response.setCode(ResponseCode.OK.getCode());
|
response.setCode(ResponseCode.OK.getCode());
|
||||||
response.setMessage("导入工单成功。");
|
response.setMessage("导入工单成功。");
|
||||||
return convertJsonString(response);
|
return convertJsonString(response);
|
||||||
|
|
@ -195,6 +229,7 @@ public class ExcelController {
|
||||||
logger.error("导入工单异常:{}", convertJsonString(e));
|
logger.error("导入工单异常:{}", convertJsonString(e));
|
||||||
// 回滚事务
|
// 回滚事务
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
uploadFileHashStringList.remove(fileVo.getHash());
|
||||||
response.setCode(ResponseCode.ERROR.getCode());
|
response.setCode(ResponseCode.ERROR.getCode());
|
||||||
response.setMessage("导入工单异常。");
|
response.setMessage("导入工单异常。");
|
||||||
return convertJsonString(response);
|
return convertJsonString(response);
|
||||||
|
|
@ -214,10 +249,18 @@ public class ExcelController {
|
||||||
logger.info("导入物料,请求ip:{},文件详情:{}", getIpAddr(servletRequest), convertJsonString(fileVo));
|
logger.info("导入物料,请求ip:{},文件详情:{}", getIpAddr(servletRequest), convertJsonString(fileVo));
|
||||||
ResponseEntity response = new ResponseEntity();
|
ResponseEntity response = new ResponseEntity();
|
||||||
try {
|
try {
|
||||||
|
// 判断是否重复导入
|
||||||
|
if (uploadFileHashStringList.contains(fileVo.getHash())) {
|
||||||
|
response.setCode(ResponseCode.ERROR.getCode());
|
||||||
|
response.setMessage("请勿导入相同文件。");
|
||||||
|
return convertJsonString(response);
|
||||||
|
}
|
||||||
|
uploadFileHashStringList.add(fileVo.getHash());
|
||||||
// 导入excel
|
// 导入excel
|
||||||
EasyExcel.read(file.getInputStream(), GoodsExcelVo.class, new UploadGoodsListener(goodsService, fileVo.getUserName())).sheet("基本信息").doRead();
|
EasyExcel.read(file.getInputStream(), GoodsExcelVo.class, new UploadGoodsListener(goodsService, fileVo.getUserName())).sheet("基本信息").doRead();
|
||||||
// 添加导入记录
|
// 添加导入记录
|
||||||
uploadRecordService.save(UploadRecord.ofFileVo(fileVo, "GOODS"));
|
uploadRecordService.save(UploadRecord.ofFileVo(fileVo, "GOODS"));
|
||||||
|
uploadFileHashStringList.remove(fileVo.getHash());
|
||||||
response.setCode(ResponseCode.OK.getCode());
|
response.setCode(ResponseCode.OK.getCode());
|
||||||
response.setMessage("导入物料成功。");
|
response.setMessage("导入物料成功。");
|
||||||
return convertJsonString(response);
|
return convertJsonString(response);
|
||||||
|
|
@ -225,6 +268,7 @@ public class ExcelController {
|
||||||
logger.error("导入物料异常:{}", convertJsonString(e));
|
logger.error("导入物料异常:{}", convertJsonString(e));
|
||||||
// 回滚事务
|
// 回滚事务
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
uploadFileHashStringList.remove(fileVo.getHash());
|
||||||
response.setCode(ResponseCode.ERROR.getCode());
|
response.setCode(ResponseCode.ERROR.getCode());
|
||||||
response.setMessage("导入物料异常。");
|
response.setMessage("导入物料异常。");
|
||||||
return convertJsonString(response);
|
return convertJsonString(response);
|
||||||
|
|
@ -244,10 +288,18 @@ public class ExcelController {
|
||||||
logger.info("导入工站配置,请求ip:{},文件详情:{}", getIpAddr(servletRequest), convertJsonString(fileVo));
|
logger.info("导入工站配置,请求ip:{},文件详情:{}", getIpAddr(servletRequest), convertJsonString(fileVo));
|
||||||
ResponseEntity response = new ResponseEntity();
|
ResponseEntity response = new ResponseEntity();
|
||||||
try {
|
try {
|
||||||
|
// 判断是否重复导入
|
||||||
|
if (uploadFileHashStringList.contains(fileVo.getHash())) {
|
||||||
|
response.setCode(ResponseCode.ERROR.getCode());
|
||||||
|
response.setMessage("请勿导入相同文件。");
|
||||||
|
return convertJsonString(response);
|
||||||
|
}
|
||||||
|
uploadFileHashStringList.add(fileVo.getHash());
|
||||||
// 导入excel
|
// 导入excel
|
||||||
EasyExcel.read(file.getInputStream(), StationConfigExcelVo.class, new UploadStationConfigListener(workStationConfigService, fileVo.getUserName())).sheet("工站配置").doRead();
|
EasyExcel.read(file.getInputStream(), StationConfigExcelVo.class, new UploadStationConfigListener(workStationConfigService, fileVo.getUserName())).sheet("工站配置").doRead();
|
||||||
// 添加导入记录
|
// 添加导入记录
|
||||||
uploadRecordService.save(UploadRecord.ofFileVo(fileVo, "STATION-CONFIG_"));
|
uploadRecordService.save(UploadRecord.ofFileVo(fileVo, "STATION-CONFIG_"));
|
||||||
|
uploadFileHashStringList.remove(fileVo.getHash());
|
||||||
response.setCode(ResponseCode.OK.getCode());
|
response.setCode(ResponseCode.OK.getCode());
|
||||||
response.setMessage("导入工站配置。");
|
response.setMessage("导入工站配置。");
|
||||||
return convertJsonString(response);
|
return convertJsonString(response);
|
||||||
|
|
@ -255,6 +307,7 @@ public class ExcelController {
|
||||||
logger.error("导入工站配置异常:{}", convertJsonString(e));
|
logger.error("导入工站配置异常:{}", convertJsonString(e));
|
||||||
// 回滚事务
|
// 回滚事务
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
uploadFileHashStringList.remove(fileVo.getHash());
|
||||||
response.setCode(ResponseCode.ERROR.getCode());
|
response.setCode(ResponseCode.ERROR.getCode());
|
||||||
response.setMessage("导入工站配置异常。");
|
response.setMessage("导入工站配置异常。");
|
||||||
return convertJsonString(response);
|
return convertJsonString(response);
|
||||||
|
|
|
||||||
|
|
@ -804,11 +804,12 @@ public class TaskController {
|
||||||
.set(Stand::getPickVehicle, boxArriveRequest.getVehicleNo())
|
.set(Stand::getPickVehicle, boxArriveRequest.getVehicleNo())
|
||||||
.eq(Stand::getStandId, pickTask.getStandId()));
|
.eq(Stand::getStandId, pickTask.getStandId()));
|
||||||
// 重置当前站台非当前箱子的已完成拣选任务
|
// 重置当前站台非当前箱子的已完成拣选任务
|
||||||
pickTaskService.update(new LambdaUpdateWrapper<PickTask>()
|
List<PickTask> otherPickTasks = pickTaskService.list(new LambdaQueryWrapper<PickTask>()
|
||||||
.set(PickTask::getPickStatus, PickTaskStatusEnum.NEW.getCode())
|
|
||||||
.ne(PickTask::getVehicleId, boxArriveRequest.getVehicleNo())
|
.ne(PickTask::getVehicleId, boxArriveRequest.getVehicleNo())
|
||||||
.eq(PickTask::getStandId, boxArriveRequest.getLocation())
|
.eq(PickTask::getStandId, boxArriveRequest.getLocation())
|
||||||
.eq(PickTask::getPickStatus, PickTaskStatusEnum.FINISH.getCode()));
|
.eq(PickTask::getPickStatus, PickTaskStatusEnum.FINISH.getCode()));
|
||||||
|
otherPickTasks.forEach(otherPickTask -> otherPickTask.setPickStatus(PickTaskStatusEnum.NEW.getCode()));
|
||||||
|
pickTaskService.updateBatchById(otherPickTasks);
|
||||||
|
|
||||||
response.setCode(ResponseCode.OK.getCode());
|
response.setCode(ResponseCode.OK.getCode());
|
||||||
response.setMessage("上报成功");
|
response.setMessage("上报成功");
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,8 @@ public class FileVo {
|
||||||
private String type;
|
private String type;
|
||||||
@JsonProperty("size")
|
@JsonProperty("size")
|
||||||
private String size;
|
private String size;
|
||||||
|
@JsonProperty("hash")
|
||||||
|
private String hash;
|
||||||
@JsonProperty("userName")
|
@JsonProperty("userName")
|
||||||
private String userName;
|
private String userName;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,11 @@ public class UploadRecord {
|
||||||
*/
|
*/
|
||||||
@TableField("file_id")
|
@TableField("file_id")
|
||||||
private String fileId;
|
private String fileId;
|
||||||
|
/**
|
||||||
|
* 文件哈希值
|
||||||
|
*/
|
||||||
|
@TableField("file_hash")
|
||||||
|
private String hash;
|
||||||
/**
|
/**
|
||||||
* 文件名
|
* 文件名
|
||||||
*/
|
*/
|
||||||
|
|
@ -63,6 +68,7 @@ public class UploadRecord {
|
||||||
UploadRecord uploadRecord = new UploadRecord();
|
UploadRecord uploadRecord = new UploadRecord();
|
||||||
uploadRecord.setUploadId(generateId("UPLOAD_"));
|
uploadRecord.setUploadId(generateId("UPLOAD_"));
|
||||||
uploadRecord.setFileId(fileVo.getFileId());
|
uploadRecord.setFileId(fileVo.getFileId());
|
||||||
|
uploadRecord.setHash(fileVo.getHash());
|
||||||
uploadRecord.setFileType(fileVo.getType());
|
uploadRecord.setFileType(fileVo.getType());
|
||||||
uploadRecord.setFileName(fileVo.getName());
|
uploadRecord.setFileName(fileVo.getName());
|
||||||
uploadRecord.setUploadTime(LocalDateTime.now());
|
uploadRecord.setUploadTime(LocalDateTime.now());
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ package com.wms.service.business.serviceImplements;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.wms.constants.enums.ConfigMapKeyEnum;
|
import com.wms.constants.enums.ConfigMapKeyEnum;
|
||||||
import com.wms.constants.enums.StockStatus;
|
|
||||||
import com.wms.entity.app.dto.WorkCenterAndOrderDto;
|
import com.wms.entity.app.dto.WorkCenterAndOrderDto;
|
||||||
import com.wms.entity.table.*;
|
import com.wms.entity.table.*;
|
||||||
import com.wms.service.*;
|
import com.wms.service.*;
|
||||||
|
|
@ -38,7 +37,6 @@ public class WorkServiceImplements implements IWorkService {
|
||||||
private final ETagLocationService eTagLocationService;// 电子标签服务
|
private final ETagLocationService eTagLocationService;// 电子标签服务
|
||||||
private final ELocationConfigService eLocationConfigService;// 电子标签配置服务
|
private final ELocationConfigService eLocationConfigService;// 电子标签配置服务
|
||||||
private final GoodsToStationService goodsToStationService;// 站台要料服务
|
private final GoodsToStationService goodsToStationService;// 站台要料服务
|
||||||
private final OutsideVehiclesService outsideVehiclesService;// 流转中的箱子服务
|
|
||||||
private final WorkSummaryService workSummaryService;// 工作总结服务
|
private final WorkSummaryService workSummaryService;// 工作总结服务
|
||||||
private final ELocationConfigLastService eLocationConfigLastService;// 上一次标签配置的服务
|
private final ELocationConfigLastService eLocationConfigLastService;// 上一次标签配置的服务
|
||||||
private final StockService stockService;// 库存服务
|
private final StockService stockService;// 库存服务
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user