Compare commits
2 Commits
9baf971e3d
...
05a37219c2
| Author | SHA1 | Date | |
|---|---|---|---|
| 05a37219c2 | |||
| c14bab0c1d |
|
|
@ -1,6 +1,9 @@
|
||||||
package com.wms.service.business.serviceImplements;
|
package com.wms.service.business.serviceImplements;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.alibaba.excel.EasyExcel;
|
||||||
|
import com.alibaba.excel.support.ExcelTypeEnum;
|
||||||
|
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
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;
|
||||||
|
|
@ -14,6 +17,8 @@ import com.wms.service.business.IWmsJobService;
|
||||||
import com.wms.utils.HttpUtils;
|
import com.wms.utils.HttpUtils;
|
||||||
import com.wms.utils.StringUtils;
|
import com.wms.utils.StringUtils;
|
||||||
import com.wms.utils.WmsUtils;
|
import com.wms.utils.WmsUtils;
|
||||||
|
import com.wms.utils.excel.style.ExcelContentStyle;
|
||||||
|
import com.wms.utils.excel.vo.*;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
@ -24,7 +29,11 @@ import org.springframework.transaction.annotation.Propagation;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
import static com.wms.config.InitLocalConfig.configMap;
|
import static com.wms.config.InitLocalConfig.configMap;
|
||||||
|
|
@ -38,6 +47,8 @@ import static com.wms.utils.StringUtils.convertJsonString;
|
||||||
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
|
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
|
||||||
public class WmsJobServiceImplements implements IWmsJobService {
|
public class WmsJobServiceImplements implements IWmsJobService {
|
||||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());// 日志
|
private final Logger logger = LoggerFactory.getLogger(this.getClass());// 日志
|
||||||
|
private final String ROOT_PATH = "./file";
|
||||||
|
|
||||||
private final LogService logService;// 日志服务
|
private final LogService logService;// 日志服务
|
||||||
private final TaskService taskService;// 任务服务
|
private final TaskService taskService;// 任务服务
|
||||||
private final PickTaskService pickTaskService;// 拣选任务服务
|
private final PickTaskService pickTaskService;// 拣选任务服务
|
||||||
|
|
@ -45,6 +56,15 @@ public class WmsJobServiceImplements implements IWmsJobService {
|
||||||
private final StandService standService;// 站台服务
|
private final StandService standService;// 站台服务
|
||||||
private final StandStackerTaskService standStackerTaskService;// 特殊服务
|
private final StandStackerTaskService standStackerTaskService;// 特殊服务
|
||||||
private final StandStackerTaskBakService standStackerTaskBakService;// 特殊记录服务
|
private final StandStackerTaskBakService standStackerTaskBakService;// 特殊记录服务
|
||||||
|
private final KateOrdersService kateOrdersService;// 工单服务
|
||||||
|
private final KateDBSService kateDBSService;// dbs服务
|
||||||
|
private final WorkSummaryService workSummaryService;// 工作总结服务
|
||||||
|
private final TaskRecordService taskRecordService;// 任务记录服务
|
||||||
|
private final PickTaskRecordService pickTaskRecordService;// 拣选任务记录服务
|
||||||
|
private final NoPlanRecordService noPlanRecordService;// 非计划领料记录服务
|
||||||
|
private final IStockUpdateRecordService iStockUpdateRecordService;// 库存更新记录服务
|
||||||
|
private final UploadRecordService uploadRecordService;// 文件上传记录服务
|
||||||
|
private final InventoryHistoryService inventoryHistoryService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发送正常的任务
|
* 发送正常的任务
|
||||||
|
|
@ -664,9 +684,15 @@ public class WmsJobServiceImplements implements IWmsJobService {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("获取日志清理天数错误,使用默认值30天");
|
logger.error("获取日志清理天数错误,使用默认值30天");
|
||||||
}
|
}
|
||||||
LambdaQueryWrapper<WmsLog> lambdaQueryWrapper = new LambdaQueryWrapper<WmsLog>()
|
// 获取日志删除时间
|
||||||
.apply("log_time <= date_add(curdate(),INTERVAL -{0} DAY)", interval);
|
LocalDateTime deleteLogTime = LocalDateTime.now().minusDays(interval);
|
||||||
logService.remove(lambdaQueryWrapper);
|
List<WmsLog> expireLogs = logService.list(new LambdaQueryWrapper<WmsLog>()
|
||||||
|
.lt(WmsLog::getLogTime, deleteLogTime));
|
||||||
|
if (expireLogs != null && !expireLogs.isEmpty()) {
|
||||||
|
// 日志文件不需要缓存
|
||||||
|
logService.removeBatchByIds(expireLogs.stream().map(WmsLog::getLogId).distinct().toList());
|
||||||
|
logger.info("定期清理过期日志数据成功。");
|
||||||
|
}
|
||||||
} catch (Exception exception) {
|
} catch (Exception exception) {
|
||||||
// 回滚事务
|
// 回滚事务
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
|
@ -693,13 +719,271 @@ public class WmsJobServiceImplements implements IWmsJobService {
|
||||||
logger.error("获取重要记录清理天数错误,使用默认值365天");
|
logger.error("获取重要记录清理天数错误,使用默认值365天");
|
||||||
}
|
}
|
||||||
// 普通记录---入出库记录、拣选任务记录
|
// 普通记录---入出库记录、拣选任务记录
|
||||||
|
// 获取删除时间
|
||||||
|
LocalDateTime deleteTime = LocalDateTime.now().minusDays(interval);
|
||||||
|
// 查询过期任务记录
|
||||||
|
List<TaskRecord> expireTaskRecords = taskRecordService.list(new LambdaQueryWrapper<TaskRecord>()
|
||||||
|
.lt(TaskRecord::getCreateTime, deleteTime));
|
||||||
|
if (expireTaskRecords != null && !expireTaskRecords.isEmpty()) {
|
||||||
|
List<String> needRemoveIds = new ArrayList<>();
|
||||||
|
List<DbOfTaskRecord> finishedExcelTemp = new ArrayList<>();
|
||||||
|
for (TaskRecord tempDbData : expireTaskRecords) {
|
||||||
|
DbOfTaskRecord tempDbExcel = new DbOfTaskRecord();
|
||||||
|
BeanUtil.copyProperties(tempDbData, tempDbExcel);
|
||||||
|
// 工单excel模版
|
||||||
|
finishedExcelTemp.add(tempDbExcel);
|
||||||
|
// 需要删除的工单主键
|
||||||
|
needRemoveIds.add(tempDbData.getTaskId());
|
||||||
|
}
|
||||||
|
doWriteExcel("tbl_app_task_bak_" + getSuffixFromDate(deleteTime, interval), ROOT_PATH + "/tbl_app_task_bak", "tbl_app_task_bak", finishedExcelTemp, DbOfTaskRecord.class);
|
||||||
|
// 移除已经缓存的工作总结
|
||||||
|
taskRecordService.removeBatchByIds(needRemoveIds);
|
||||||
|
logger.info("清理过期任务记录数据成功。");
|
||||||
|
}
|
||||||
|
// 查询过期拣选记录
|
||||||
|
List<PickTaskRecord> expirePickTaskRecords = pickTaskRecordService.list(new LambdaQueryWrapper<PickTaskRecord>()
|
||||||
|
.lt(PickTaskRecord::getArriveTime, deleteTime));
|
||||||
|
if (expirePickTaskRecords != null && !expirePickTaskRecords.isEmpty()) {
|
||||||
|
List<String> needRemoveIds = new ArrayList<>();
|
||||||
|
List<DbOfPickTaskRecord> finishedExcelTemp = new ArrayList<>();
|
||||||
|
for (PickTaskRecord tempDbData : expirePickTaskRecords) {
|
||||||
|
DbOfPickTaskRecord tempDbExcel = new DbOfPickTaskRecord();
|
||||||
|
BeanUtil.copyProperties(tempDbData, tempDbExcel);
|
||||||
|
// 工单excel模版
|
||||||
|
finishedExcelTemp.add(tempDbExcel);
|
||||||
|
// 需要删除的工单主键
|
||||||
|
needRemoveIds.add(tempDbData.getPickTaskId());
|
||||||
|
}
|
||||||
|
doWriteExcel("tbl_app_pick_task_bak_" + getSuffixFromDate(deleteTime, interval), ROOT_PATH + "/tbl_app_pick_task_bak", "tbl_app_pick_task_bak", finishedExcelTemp, DbOfPickTaskRecord.class);
|
||||||
|
// 移除已经缓存的工作总结
|
||||||
|
pickTaskRecordService.removeBatchByIds(needRemoveIds);
|
||||||
|
logger.info("清理过期拣选任务记录数据成功。");
|
||||||
|
}
|
||||||
|
// 获取过期的standStackerTask记录
|
||||||
|
List<StandStackerTaskBak> expireStandStackerTaskRecords = standStackerTaskBakService.list(new LambdaQueryWrapper<StandStackerTaskBak>()
|
||||||
|
.lt(StandStackerTaskBak::getFinishTime, deleteTime));
|
||||||
|
if (expireStandStackerTaskRecords != null && !expireStandStackerTaskRecords.isEmpty()) {
|
||||||
|
List<String> needRemoveIds = new ArrayList<>();
|
||||||
|
List<DbOfStandStackerTaskBak> finishedExcelTemp = new ArrayList<>();
|
||||||
|
for (StandStackerTaskBak tempDbData : expireStandStackerTaskRecords) {
|
||||||
|
DbOfStandStackerTaskBak tempDbExcel = new DbOfStandStackerTaskBak();
|
||||||
|
BeanUtil.copyProperties(tempDbData, tempDbExcel);
|
||||||
|
// 工单excel模版
|
||||||
|
finishedExcelTemp.add(tempDbExcel);
|
||||||
|
// 需要删除的工单主键
|
||||||
|
needRemoveIds.add(tempDbData.getRecordId());
|
||||||
|
}
|
||||||
|
doWriteExcel("tbl_app_stand_stacker_task_bak_" + getSuffixFromDate(deleteTime, interval), ROOT_PATH + "/tbl_app_stand_stacker_task_bak", "tbl_app_stand_stacker_task_bak", finishedExcelTemp, DbOfStandStackerTaskBak.class);
|
||||||
|
// 移除已经缓存的工作总结
|
||||||
|
standStackerTaskBakService.removeBatchByIds(needRemoveIds);
|
||||||
|
logger.info("清理过期站台堆垛机任务记录数据成功。");
|
||||||
|
}
|
||||||
// 重要记录---盘点记录、工作总结、库存更新记录、非计划领料记录、上传文件记录
|
// 重要记录---盘点记录、工作总结、库存更新记录、非计划领料记录、上传文件记录
|
||||||
|
// 获取删除时间
|
||||||
|
LocalDateTime deleteImportantTime = LocalDateTime.now().minusDays(importantInterval);
|
||||||
|
// 查询过期工作总结
|
||||||
|
List<WorkSummary> expireWorkSummaryRecords = workSummaryService.list(new LambdaQueryWrapper<WorkSummary>()
|
||||||
|
.lt(WorkSummary::getFinishTime, deleteImportantTime));
|
||||||
|
if (expireWorkSummaryRecords != null && !expireWorkSummaryRecords.isEmpty()) {
|
||||||
|
List<String> needRemoveSummaryIds = new ArrayList<>();
|
||||||
|
List<DbOfWorkSummary> finishedWorkSummaryExcelTemp = new ArrayList<>();
|
||||||
|
for (WorkSummary expireWorkSummary : expireWorkSummaryRecords) {
|
||||||
|
DbOfWorkSummary tempDbOfSummary = new DbOfWorkSummary();
|
||||||
|
BeanUtil.copyProperties(expireWorkSummary, tempDbOfSummary);
|
||||||
|
// 工单excel模版
|
||||||
|
finishedWorkSummaryExcelTemp.add(tempDbOfSummary);
|
||||||
|
// 需要删除的工单主键
|
||||||
|
needRemoveSummaryIds.add(expireWorkSummary.getWorkFlowId());
|
||||||
|
}
|
||||||
|
doWriteExcel("tbl_app_work_summary_" + getSuffixFromDate(deleteImportantTime, importantInterval), ROOT_PATH + "/tbl_app_work_summary", "tbl_app_work_summary", finishedWorkSummaryExcelTemp, DbOfWorkSummary.class);
|
||||||
|
// 移除已经缓存的工作总结
|
||||||
|
workSummaryService.removeBatchByIds(needRemoveSummaryIds);
|
||||||
|
logger.info("清理过期工作总结数据成功。");
|
||||||
|
}
|
||||||
|
// 查询过期的盘点记录
|
||||||
|
List<InventoryHistory> expireInventoryRecords = inventoryHistoryService.list(new LambdaQueryWrapper<InventoryHistory>()
|
||||||
|
.lt(InventoryHistory::getInventoryDate, deleteImportantTime));
|
||||||
|
if (expireInventoryRecords != null && !expireInventoryRecords.isEmpty()) {
|
||||||
|
List<String> needRemoveIds = new ArrayList<>();
|
||||||
|
List<DbOfInventoryHistory> finishedExcelTemp = new ArrayList<>();
|
||||||
|
for (InventoryHistory tempDbData : expireInventoryRecords) {
|
||||||
|
DbOfInventoryHistory tempDbExcel = new DbOfInventoryHistory();
|
||||||
|
BeanUtil.copyProperties(tempDbData, tempDbExcel);
|
||||||
|
// 工单excel模版
|
||||||
|
finishedExcelTemp.add(tempDbExcel);
|
||||||
|
// 需要删除的工单主键
|
||||||
|
needRemoveIds.add(tempDbData.getInventoryId());
|
||||||
|
}
|
||||||
|
doWriteExcel("tbl_app_inventory_history_" + getSuffixFromDate(deleteImportantTime, importantInterval), ROOT_PATH + "/tbl_app_inventory_history", "tbl_app_inventory_history", finishedExcelTemp, DbOfInventoryHistory.class);
|
||||||
|
// 移除已经缓存的工作总结
|
||||||
|
inventoryHistoryService.removeBatchByIds(needRemoveIds);
|
||||||
|
logger.info("清理过期盘点记录数据成功。");
|
||||||
|
}
|
||||||
|
// 获取过时的非计划领料记录
|
||||||
|
List<NoPlanRecord> expireNoPlanRecords = noPlanRecordService.list(new LambdaQueryWrapper<NoPlanRecord>()
|
||||||
|
.lt(NoPlanRecord::getCallTime, deleteImportantTime));
|
||||||
|
if (expireNoPlanRecords != null && !expireNoPlanRecords.isEmpty()) {
|
||||||
|
List<String> needRemoveIds = new ArrayList<>();
|
||||||
|
List<DbOfNoPlan> finishedExcelTemp = new ArrayList<>();
|
||||||
|
for (NoPlanRecord tempDbData : expireNoPlanRecords) {
|
||||||
|
DbOfNoPlan tempDbExcel = new DbOfNoPlan();
|
||||||
|
BeanUtil.copyProperties(tempDbData, tempDbExcel);
|
||||||
|
// 工单excel模版
|
||||||
|
finishedExcelTemp.add(tempDbExcel);
|
||||||
|
// 需要删除的工单主键
|
||||||
|
needRemoveIds.add(tempDbData.getRecordId());
|
||||||
|
}
|
||||||
|
doWriteExcel("tbl_app_no_plan_" + getSuffixFromDate(deleteImportantTime, importantInterval), ROOT_PATH + "/tbl_app_no_plan", "tbl_app_no_plan", finishedExcelTemp, DbOfNoPlan.class);
|
||||||
|
// 移除已经缓存的工作总结
|
||||||
|
noPlanRecordService.removeBatchByIds(needRemoveIds);
|
||||||
|
logger.info("清理过期非计划领料记录数据成功。");
|
||||||
|
}
|
||||||
|
// 查询过期库存更新记录
|
||||||
|
List<StockUpdateRecord> expireStockUpdateRecords = iStockUpdateRecordService.list(new LambdaQueryWrapper<StockUpdateRecord>()
|
||||||
|
.lt(StockUpdateRecord::getUpdateTime, deleteImportantTime));
|
||||||
|
if (expireStockUpdateRecords != null && !expireStockUpdateRecords.isEmpty()) {
|
||||||
|
List<String> needRemoveIds = new ArrayList<>();
|
||||||
|
List<DbOfStockUpdateRecord> finishedExcelTemp = new ArrayList<>();
|
||||||
|
for (StockUpdateRecord tempDbData : expireStockUpdateRecords) {
|
||||||
|
DbOfStockUpdateRecord tempDbExcel = new DbOfStockUpdateRecord();
|
||||||
|
BeanUtil.copyProperties(tempDbData, tempDbExcel);
|
||||||
|
// 工单excel模版
|
||||||
|
finishedExcelTemp.add(tempDbExcel);
|
||||||
|
// 需要删除的工单主键
|
||||||
|
needRemoveIds.add(tempDbData.getRecordId());
|
||||||
|
}
|
||||||
|
doWriteExcel("tbl_app_stock_update_record_" + getSuffixFromDate(deleteImportantTime, importantInterval), ROOT_PATH + "/tbl_app_stock_update_record", "tbl_app_stock_update_record", finishedExcelTemp, DbOfStockUpdateRecord.class);
|
||||||
|
iStockUpdateRecordService.removeBatchByIds(needRemoveIds);
|
||||||
|
logger.info("清理过期库存更新记录数据成功。");
|
||||||
|
}
|
||||||
|
// 查询过期的上传文件记录
|
||||||
|
List<UploadRecord> expireUploadFileRecords = uploadRecordService.list(new LambdaQueryWrapper<UploadRecord>()
|
||||||
|
.lt(UploadRecord::getUploadTime, deleteImportantTime));
|
||||||
|
if (expireUploadFileRecords != null && !expireUploadFileRecords.isEmpty()) {
|
||||||
|
List<String> needRemoveIds = new ArrayList<>();
|
||||||
|
List<DbOfUploadRecord> finishedExcelTemp = new ArrayList<>();
|
||||||
|
for (UploadRecord tempDbData : expireUploadFileRecords) {
|
||||||
|
DbOfUploadRecord tempDbExcel = new DbOfUploadRecord();
|
||||||
|
BeanUtil.copyProperties(tempDbData, tempDbExcel);
|
||||||
|
// 工单excel模版
|
||||||
|
finishedExcelTemp.add(tempDbExcel);
|
||||||
|
// 需要删除的工单主键
|
||||||
|
needRemoveIds.add(tempDbData.getUploadId());
|
||||||
|
}
|
||||||
|
doWriteExcel("tbl_app_upload_record_" + getSuffixFromDate(deleteImportantTime, importantInterval), ROOT_PATH + "/tbl_app_upload_record", "tbl_app_upload_record", finishedExcelTemp, DbOfUploadRecord.class);
|
||||||
|
uploadRecordService.removeBatchByIds(needRemoveIds);
|
||||||
|
logger.info("清理过期上传文件记录数据成功。");
|
||||||
|
}
|
||||||
|
// 工单和dbs单独处理
|
||||||
|
// 查询已经完成的工单
|
||||||
|
List<KateOrders> finishedWorkOrders = kateOrdersService.list(new LambdaQueryWrapper<KateOrders>()
|
||||||
|
.eq(KateOrders::getOrderStatus, 4));
|
||||||
|
if (finishedWorkOrders != null && !finishedWorkOrders.isEmpty()) {
|
||||||
|
List<String> needRemoveOrderIds = new ArrayList<>();
|
||||||
|
List<DbOfKateOrders> finishedWorkOrdersExcelTemp = new ArrayList<>();
|
||||||
|
for (KateOrders finishedWorkOrder : finishedWorkOrders) {
|
||||||
|
DbOfKateOrders tempDbOfOrder = new DbOfKateOrders();
|
||||||
|
BeanUtil.copyProperties(finishedWorkOrder, tempDbOfOrder);
|
||||||
|
// 工单excel模版
|
||||||
|
finishedWorkOrdersExcelTemp.add(tempDbOfOrder);
|
||||||
|
// 需要删除的工单主键
|
||||||
|
needRemoveOrderIds.add(finishedWorkOrder.getOrderId());
|
||||||
|
}
|
||||||
|
doWriteExcel("tbl_app_kate_orders_" + getSuffixFromDate(LocalDateTime.now().minusDays(1), 1), ROOT_PATH + "/tbl_app_kate_orders", "tbl_app_kate_orders", finishedWorkOrdersExcelTemp, DbOfKateOrders.class);
|
||||||
|
// 移除已经缓存的工单
|
||||||
|
kateOrdersService.removeBatchByIds(needRemoveOrderIds);
|
||||||
|
logger.info("定期清理工单完成数据成功。");
|
||||||
|
}
|
||||||
|
// 查询已经完成的dbs
|
||||||
|
List<KateDBS> finishedDBS = kateDBSService.list(new LambdaQueryWrapper<KateDBS>()
|
||||||
|
.eq(KateDBS::getDbsStatus, 2));
|
||||||
|
if (finishedDBS != null && !finishedDBS.isEmpty()) {
|
||||||
|
List<String> needRemoveDbsIds = new ArrayList<>();
|
||||||
|
List<DbOfDbs> finishedDbsExcelTemp = new ArrayList<>();
|
||||||
|
for (KateDBS finishedDbsTemp : finishedDBS) {
|
||||||
|
DbOfDbs tempDbOfDbs = new DbOfDbs();
|
||||||
|
BeanUtil.copyProperties(finishedDbsTemp, tempDbOfDbs);
|
||||||
|
// 工单excel模版
|
||||||
|
finishedDbsExcelTemp.add(tempDbOfDbs);
|
||||||
|
// 需要删除的工单主键
|
||||||
|
needRemoveDbsIds.add(finishedDbsTemp.getDbsId());
|
||||||
|
}
|
||||||
|
doWriteExcel("tbl_app_kate_dbs_" + getSuffixFromDate(LocalDateTime.now().minusDays(1), 1), ROOT_PATH + "/tbl_app_kate_dbs", "tbl_app_kate_dbs", finishedDbsExcelTemp, DbOfDbs.class);
|
||||||
|
// 移除已经缓存的dbs
|
||||||
|
kateDBSService.removeBatchByIds(needRemoveDbsIds);
|
||||||
|
logger.info("定期清理DBS完成数据成功。");
|
||||||
|
}
|
||||||
} catch (Exception exception) {
|
} catch (Exception exception) {
|
||||||
// 回滚事务
|
// 回滚事务
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 写入excel
|
||||||
|
*
|
||||||
|
* @param fileDesc 文件描述,不需要文件类型的后缀
|
||||||
|
* @param filePath 文件路径,最后一位不需要添加文件分割符
|
||||||
|
* @param sheetName 页名
|
||||||
|
* @param list 数据列表
|
||||||
|
* @param clazz 泛型类
|
||||||
|
* @param <T> 泛型
|
||||||
|
* @throws IOException 异常
|
||||||
|
*/
|
||||||
|
public <T> void doWriteExcel(String fileDesc, String filePath, String sheetName, List<T> list, Class<T> clazz) throws IOException {
|
||||||
|
// 内容样式
|
||||||
|
HorizontalCellStyleStrategy horizontalCellStyleStrategy = ExcelContentStyle.getContentStyle();
|
||||||
|
File file = new File(filePath + File.separator + fileDesc + ".xlsx");
|
||||||
|
createFile(file);// 新建文件
|
||||||
|
FileOutputStream fos = new FileOutputStream(file);
|
||||||
|
EasyExcel.write(fos, clazz)
|
||||||
|
.excelType(ExcelTypeEnum.XLSX)
|
||||||
|
.registerWriteHandler(horizontalCellStyleStrategy)
|
||||||
|
.sheet("库存")
|
||||||
|
.doWrite(list);
|
||||||
|
logger.info("保存文件成功:{}。", fileDesc);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建文件
|
||||||
|
*
|
||||||
|
* @param file 目标文件
|
||||||
|
*/
|
||||||
|
public void createFile(File file) {
|
||||||
|
if (!file.exists()) {
|
||||||
|
// 文件不存在
|
||||||
|
if (!file.getParentFile().exists()) {
|
||||||
|
// 目录不存在,创建上级目录
|
||||||
|
boolean createDirectSuccessFlag = file.getParentFile().mkdirs();
|
||||||
|
if (!createDirectSuccessFlag) {
|
||||||
|
logger.error("创建目录失败。");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
// 在上级目录里创建文件
|
||||||
|
boolean createFileSuccessFlag = file.createNewFile();
|
||||||
|
if (!createFileSuccessFlag) {
|
||||||
|
logger.error("创建文件失败。");
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
logger.error("创建文件异常。{}", JSON.toJSONString(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取到文件的时间后缀
|
||||||
|
* @param deleteTime 删除临界时间
|
||||||
|
* @return 后缀字符串
|
||||||
|
*/
|
||||||
|
private String getSuffixFromDate(LocalDateTime deleteTime, int clearInterval) {
|
||||||
|
DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyyMMdd");
|
||||||
|
String fromDateStr = dateFormat.format(deleteTime.minusDays(clearInterval));
|
||||||
|
String toDateStr = dateFormat.format(deleteTime);
|
||||||
|
return fromDateStr + "~" + toDateStr;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发送PickOut任务
|
* 发送PickOut任务
|
||||||
* @throws Exception 异常
|
* @throws Exception 异常
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,7 @@ public class JobServiceImpl implements IJobService {
|
||||||
jobBeans.add(new JobBean("PickOutTaskSender", PickOutTaskSender.class, "0/2 * * * * ?", 2000, JobTimerTypeEnums.SIMPLE.getType(), 1));
|
jobBeans.add(new JobBean("PickOutTaskSender", PickOutTaskSender.class, "0/2 * * * * ?", 2000, JobTimerTypeEnums.SIMPLE.getType(), 1));
|
||||||
// jobBeans.add(new JobBean("KateWorkExecutor", KateWorkExecutor.class, "0/20 * * * * ?", 20000, JobTimerTypeEnums.SIMPLE.getType(), 1));
|
// jobBeans.add(new JobBean("KateWorkExecutor", KateWorkExecutor.class, "0/20 * * * * ?", 20000, JobTimerTypeEnums.SIMPLE.getType(), 1));
|
||||||
jobBeans.add(new JobBean("KateWorkExecutor", KateWorkExecutor.class, "0 0 * * * ?", 20000, JobTimerTypeEnums.SIMPLE.getType(), 1));
|
jobBeans.add(new JobBean("KateWorkExecutor", KateWorkExecutor.class, "0 0 * * * ?", 20000, JobTimerTypeEnums.SIMPLE.getType(), 1));
|
||||||
jobBeans.add(new JobBean("DataClearExecutor", DataClearExecutor.class, "0 0 22 * * ?", null, JobTimerTypeEnums.CRON.getType(), 1));
|
jobBeans.add(new JobBean("DataClearExecutor", DataClearExecutor.class, "0 0 22 * * ?", 2000, JobTimerTypeEnums.SIMPLE.getType(), 1));
|
||||||
for (JobBean jobBean : jobBeans) {
|
for (JobBean jobBean : jobBeans) {
|
||||||
createJob(jobBean);
|
createJob(jobBean);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
59
src/main/java/com/wms/utils/excel/vo/DbOfDbs.java
Normal file
59
src/main/java/com/wms/utils/excel/vo/DbOfDbs.java
Normal file
|
|
@ -0,0 +1,59 @@
|
||||||
|
package com.wms.utils.excel.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.alibaba.excel.annotation.format.DateTimeFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* dbs数据保存模版
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DbOfDbs {
|
||||||
|
/**
|
||||||
|
* DBS计划Id
|
||||||
|
*/
|
||||||
|
@ExcelProperty("dbs_id")
|
||||||
|
private String dbsId;
|
||||||
|
/**
|
||||||
|
* 顺序号
|
||||||
|
*/
|
||||||
|
@ExcelProperty("work_sequence")
|
||||||
|
private Integer workSequence;
|
||||||
|
/**
|
||||||
|
* 机器序列号
|
||||||
|
*/
|
||||||
|
@ExcelProperty("machine_no")
|
||||||
|
private String machineNo;
|
||||||
|
/**
|
||||||
|
* 工单
|
||||||
|
*/
|
||||||
|
@ExcelProperty("work_order")
|
||||||
|
private String workOrder;
|
||||||
|
/**
|
||||||
|
* 计划开工日期
|
||||||
|
*/
|
||||||
|
@ExcelProperty("plan_start_date")
|
||||||
|
@DateTimeFormat("yyyy-MM-dd")
|
||||||
|
private LocalDateTime planStartDate;
|
||||||
|
/**
|
||||||
|
* dbs的状态
|
||||||
|
* 0:未开始
|
||||||
|
* 1:已开始未完成
|
||||||
|
* 2:已完成
|
||||||
|
*/
|
||||||
|
@ExcelProperty("dbs_status")
|
||||||
|
private Integer dbsStatus;
|
||||||
|
/**
|
||||||
|
* 最近更新时间
|
||||||
|
*/
|
||||||
|
@ExcelProperty("last_update_time")
|
||||||
|
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime lastUpdateTime;
|
||||||
|
/**
|
||||||
|
* 最近更新用户
|
||||||
|
*/
|
||||||
|
@ExcelProperty("last_update_user")
|
||||||
|
private String lastUpdateUser;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,58 @@
|
||||||
|
package com.wms.utils.excel.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.alibaba.excel.annotation.format.DateTimeFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class DbOfInventoryHistory {
|
||||||
|
/**
|
||||||
|
* 盘点id
|
||||||
|
*/
|
||||||
|
@ExcelProperty("inventory_id")
|
||||||
|
private String inventoryId;
|
||||||
|
/**
|
||||||
|
* 料号
|
||||||
|
*/
|
||||||
|
@ExcelProperty("goods_id")
|
||||||
|
private String goodsId;
|
||||||
|
/**
|
||||||
|
* 库存数量
|
||||||
|
*/
|
||||||
|
@ExcelProperty("stock_num")
|
||||||
|
private BigDecimal stockNum;
|
||||||
|
/**
|
||||||
|
* 实际数量
|
||||||
|
*/
|
||||||
|
@ExcelProperty("real_num")
|
||||||
|
private BigDecimal realNum;
|
||||||
|
/**
|
||||||
|
* 盘点状态
|
||||||
|
*/
|
||||||
|
@ExcelProperty("inventory_status")
|
||||||
|
private Integer inventoryStatus;
|
||||||
|
/**
|
||||||
|
* 盘点用户
|
||||||
|
*/
|
||||||
|
@ExcelProperty("inventory_user")
|
||||||
|
private String inventoryUser;
|
||||||
|
/**
|
||||||
|
* 盘点日期
|
||||||
|
*/
|
||||||
|
@ExcelProperty("inventory_date")
|
||||||
|
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime inventoryDate;
|
||||||
|
/**
|
||||||
|
* 箱号
|
||||||
|
*/
|
||||||
|
@ExcelProperty("vehicle_id")
|
||||||
|
private String vehicleId;
|
||||||
|
/**
|
||||||
|
* 盘点结果
|
||||||
|
*/
|
||||||
|
@ExcelProperty("inventory_result")
|
||||||
|
private Integer inventoryResult;
|
||||||
|
}
|
||||||
113
src/main/java/com/wms/utils/excel/vo/DbOfKateOrders.java
Normal file
113
src/main/java/com/wms/utils/excel/vo/DbOfKateOrders.java
Normal file
|
|
@ -0,0 +1,113 @@
|
||||||
|
package com.wms.utils.excel.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.alibaba.excel.annotation.format.DateTimeFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工单数据保存模版
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DbOfKateOrders {
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
@ExcelProperty("order_id")
|
||||||
|
private String orderId;
|
||||||
|
/**
|
||||||
|
* Order
|
||||||
|
*/
|
||||||
|
@ExcelProperty("work_order")
|
||||||
|
private String workOrder;
|
||||||
|
/**
|
||||||
|
* Material
|
||||||
|
*/
|
||||||
|
@ExcelProperty("goods_id")
|
||||||
|
private String goodsId;
|
||||||
|
/**
|
||||||
|
* Item
|
||||||
|
*/
|
||||||
|
@ExcelProperty("item")
|
||||||
|
private String item;
|
||||||
|
/**
|
||||||
|
* Description
|
||||||
|
*/
|
||||||
|
@ExcelProperty("description")
|
||||||
|
private String description;
|
||||||
|
/**
|
||||||
|
* SLoc
|
||||||
|
*/
|
||||||
|
@ExcelProperty("s_loc")
|
||||||
|
private String sLoc;
|
||||||
|
/**
|
||||||
|
* Type
|
||||||
|
*/
|
||||||
|
@ExcelProperty("type")
|
||||||
|
private String type;
|
||||||
|
/**
|
||||||
|
* Status
|
||||||
|
*/
|
||||||
|
@ExcelProperty("origin_status")
|
||||||
|
private String originStatus;
|
||||||
|
/**
|
||||||
|
* SupplyArea
|
||||||
|
*/
|
||||||
|
@ExcelProperty("supply_area")
|
||||||
|
private String supplyArea;
|
||||||
|
/**
|
||||||
|
* SortStrng
|
||||||
|
*/
|
||||||
|
@ExcelProperty("sort_string")
|
||||||
|
private String sortString;
|
||||||
|
/**
|
||||||
|
* Requirement Qty
|
||||||
|
*/
|
||||||
|
@ExcelProperty("requirement_quantity")
|
||||||
|
private BigDecimal requirementQuantity;
|
||||||
|
/**
|
||||||
|
* BUn
|
||||||
|
*/
|
||||||
|
@ExcelProperty("goods_unit")
|
||||||
|
private String goodsUnit;
|
||||||
|
/**
|
||||||
|
* 工单状态
|
||||||
|
* 0:未开始
|
||||||
|
* 1:已生成任务
|
||||||
|
* 2:已呼叫料箱
|
||||||
|
* 3:正在拣选
|
||||||
|
* 4:拣选完成
|
||||||
|
*/
|
||||||
|
@ExcelProperty("order_status")
|
||||||
|
private Integer orderStatus;
|
||||||
|
/**
|
||||||
|
* 缺少数量
|
||||||
|
*/
|
||||||
|
@ExcelProperty("lack_quantity")
|
||||||
|
private BigDecimal lackQuantity;
|
||||||
|
/**
|
||||||
|
* 实际拣选数量
|
||||||
|
*/
|
||||||
|
@ExcelProperty("picked_quantity")
|
||||||
|
private BigDecimal pickedQuantity;
|
||||||
|
/**
|
||||||
|
* 操作人员
|
||||||
|
*/
|
||||||
|
@ExcelProperty("user_name")
|
||||||
|
private String userName;
|
||||||
|
/**
|
||||||
|
* 完成时间
|
||||||
|
*/
|
||||||
|
@ExcelProperty("finish_time")
|
||||||
|
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime finishTime;
|
||||||
|
/**
|
||||||
|
* 计划开工时间
|
||||||
|
*/
|
||||||
|
@ExcelProperty("plan_start_date")
|
||||||
|
@DateTimeFormat("yyyy-MM-dd")
|
||||||
|
private LocalDate planStartDate;
|
||||||
|
}
|
||||||
86
src/main/java/com/wms/utils/excel/vo/DbOfNoPlan.java
Normal file
86
src/main/java/com/wms/utils/excel/vo/DbOfNoPlan.java
Normal file
|
|
@ -0,0 +1,86 @@
|
||||||
|
package com.wms.utils.excel.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.alibaba.excel.annotation.format.DateTimeFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 非计划记录数据
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DbOfNoPlan {
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
@ExcelProperty("record_id")
|
||||||
|
private String recordId;
|
||||||
|
/**
|
||||||
|
* 领料类别:1、直接物料,2、间接物料
|
||||||
|
*/
|
||||||
|
@ExcelProperty("call_type")
|
||||||
|
private Integer callType;
|
||||||
|
/**
|
||||||
|
* 料号
|
||||||
|
*/
|
||||||
|
@ExcelProperty("goods_id")
|
||||||
|
private String goodsId;
|
||||||
|
/**
|
||||||
|
* 库存数量
|
||||||
|
*/
|
||||||
|
@ExcelProperty("stock_num")
|
||||||
|
private BigDecimal stockNum;
|
||||||
|
/**
|
||||||
|
* 需要数量
|
||||||
|
*/
|
||||||
|
@ExcelProperty("need_num")
|
||||||
|
private BigDecimal needNum;
|
||||||
|
/**
|
||||||
|
* 工单---直接物料
|
||||||
|
*/
|
||||||
|
@ExcelProperty("work_order")
|
||||||
|
private String workOrder;
|
||||||
|
/**
|
||||||
|
* 小车号---直接物料
|
||||||
|
*/
|
||||||
|
@ExcelProperty("small_vehicle_no")
|
||||||
|
private String smallVehicleNo;
|
||||||
|
/**
|
||||||
|
* 领料原因---直接物料
|
||||||
|
*/
|
||||||
|
@ExcelProperty("call_reason")
|
||||||
|
private String callReason;
|
||||||
|
/**
|
||||||
|
* 轻流流水号
|
||||||
|
*/
|
||||||
|
@ExcelProperty("flow_no")
|
||||||
|
private String flowNo;
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
@ExcelProperty("remark")
|
||||||
|
private String remark;
|
||||||
|
/**
|
||||||
|
* 领料时间
|
||||||
|
*/
|
||||||
|
@ExcelProperty("call_time")
|
||||||
|
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime callTime;
|
||||||
|
/**
|
||||||
|
* 领料人
|
||||||
|
*/
|
||||||
|
@ExcelProperty("call_user")
|
||||||
|
private String callUser;
|
||||||
|
/**
|
||||||
|
* 已拣选数量
|
||||||
|
*/
|
||||||
|
@ExcelProperty("picked_num")
|
||||||
|
private BigDecimal pickedNum;
|
||||||
|
/**
|
||||||
|
* 状态
|
||||||
|
*/
|
||||||
|
@ExcelProperty("pick_status")
|
||||||
|
private Integer pickStatus;
|
||||||
|
}
|
||||||
50
src/main/java/com/wms/utils/excel/vo/DbOfPickTaskRecord.java
Normal file
50
src/main/java/com/wms/utils/excel/vo/DbOfPickTaskRecord.java
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
package com.wms.utils.excel.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.alibaba.excel.annotation.format.DateTimeFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拣选任务数据缓存
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DbOfPickTaskRecord {
|
||||||
|
/**
|
||||||
|
* 拣选任务号
|
||||||
|
*/
|
||||||
|
@ExcelProperty("pick_task_id")
|
||||||
|
private String pickTaskId;
|
||||||
|
/**
|
||||||
|
* 载具号
|
||||||
|
*/
|
||||||
|
@ExcelProperty("vehicle_id")
|
||||||
|
private String vehicleId;
|
||||||
|
/**
|
||||||
|
* 站台号
|
||||||
|
*/
|
||||||
|
@ExcelProperty("stand_id")
|
||||||
|
private String standId;
|
||||||
|
/**
|
||||||
|
* 拣选任务状态
|
||||||
|
* -1:暂时不可发送
|
||||||
|
* 0:初始化
|
||||||
|
* 1:已发送
|
||||||
|
* 2:已完成
|
||||||
|
*/
|
||||||
|
@ExcelProperty("pick_status")
|
||||||
|
private Integer pickStatus;
|
||||||
|
/**
|
||||||
|
* 最近更新时间
|
||||||
|
*/
|
||||||
|
@ExcelProperty("last_update_time")
|
||||||
|
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime lastUpdateTime;
|
||||||
|
/**
|
||||||
|
* 到达时间
|
||||||
|
*/
|
||||||
|
@ExcelProperty("arrive_time")
|
||||||
|
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime arriveTime;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,64 @@
|
||||||
|
package com.wms.utils.excel.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.alibaba.excel.annotation.format.DateTimeFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class DbOfStandStackerTaskBak {
|
||||||
|
/**
|
||||||
|
* 主键
|
||||||
|
*/
|
||||||
|
@ExcelProperty("record_id")
|
||||||
|
private String recordId;
|
||||||
|
/**
|
||||||
|
* 料箱号
|
||||||
|
*/
|
||||||
|
@ExcelProperty("vehicle_id")
|
||||||
|
private String vehicleId;
|
||||||
|
/**
|
||||||
|
* 堆垛机号
|
||||||
|
*/
|
||||||
|
@ExcelProperty("stacker_id")
|
||||||
|
private Integer stackerId;
|
||||||
|
/**
|
||||||
|
* 站台号
|
||||||
|
*/
|
||||||
|
@ExcelProperty("stand_id")
|
||||||
|
private String standId;
|
||||||
|
/**
|
||||||
|
* 任务类型
|
||||||
|
* 1:定额
|
||||||
|
* 2:超额
|
||||||
|
*/
|
||||||
|
@ExcelProperty("task_type")
|
||||||
|
private Integer taskType;
|
||||||
|
/**
|
||||||
|
* 上次数量类型
|
||||||
|
* 1:去站台最少
|
||||||
|
* 2:去站台最多
|
||||||
|
*/
|
||||||
|
@ExcelProperty("last_qty_type")
|
||||||
|
private Integer lastQtyType;
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
@ExcelProperty("create_time")
|
||||||
|
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
/**
|
||||||
|
* 任务状态
|
||||||
|
* 0:初始
|
||||||
|
* 1:完成
|
||||||
|
*/
|
||||||
|
@ExcelProperty("task_status")
|
||||||
|
private Integer taskStatus;
|
||||||
|
/**
|
||||||
|
* 完成时间
|
||||||
|
*/
|
||||||
|
@ExcelProperty("finish_time")
|
||||||
|
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime finishTime;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
package com.wms.utils.excel.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.alibaba.excel.annotation.format.DateTimeFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 库存更新记录数据
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DbOfStockUpdateRecord {
|
||||||
|
/**
|
||||||
|
* 记录id
|
||||||
|
*/
|
||||||
|
@ExcelProperty("record_id")
|
||||||
|
private String recordId;
|
||||||
|
/**
|
||||||
|
* 库存id
|
||||||
|
*/
|
||||||
|
@ExcelProperty("stock_id")
|
||||||
|
private String stockId;
|
||||||
|
/**
|
||||||
|
* 料箱号
|
||||||
|
*/
|
||||||
|
@ExcelProperty("vehicle_id")
|
||||||
|
private String vehicleId;
|
||||||
|
/**
|
||||||
|
* 料号
|
||||||
|
*/
|
||||||
|
@ExcelProperty("goods_id")
|
||||||
|
private String goodsId;
|
||||||
|
/**
|
||||||
|
* 物料名称
|
||||||
|
*/
|
||||||
|
@ExcelProperty("goods_name")
|
||||||
|
private String goodsName;
|
||||||
|
/**
|
||||||
|
* 更新前库位
|
||||||
|
*/
|
||||||
|
@ExcelProperty("location_before")
|
||||||
|
private String locationBefore;
|
||||||
|
/**
|
||||||
|
* 更新后库位
|
||||||
|
*/
|
||||||
|
@ExcelProperty("location_after")
|
||||||
|
private String locationAfter;
|
||||||
|
/**
|
||||||
|
* 更新前数量
|
||||||
|
*/
|
||||||
|
@ExcelProperty("quantity_before")
|
||||||
|
private BigDecimal quantityBefore;
|
||||||
|
/**
|
||||||
|
* 更新后数量
|
||||||
|
*/
|
||||||
|
@ExcelProperty("quantity_after")
|
||||||
|
private BigDecimal quantityAfter;
|
||||||
|
/**
|
||||||
|
* 更新原因
|
||||||
|
*/
|
||||||
|
@ExcelProperty("reason")
|
||||||
|
private String reason;
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
@ExcelProperty("update_time")
|
||||||
|
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
/**
|
||||||
|
* 更新用户
|
||||||
|
*/
|
||||||
|
@ExcelProperty("update_user")
|
||||||
|
private String updateUser;
|
||||||
|
}
|
||||||
102
src/main/java/com/wms/utils/excel/vo/DbOfTaskRecord.java
Normal file
102
src/main/java/com/wms/utils/excel/vo/DbOfTaskRecord.java
Normal file
|
|
@ -0,0 +1,102 @@
|
||||||
|
package com.wms.utils.excel.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.alibaba.excel.annotation.format.DateTimeFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务记录数据缓存
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DbOfTaskRecord {
|
||||||
|
/**
|
||||||
|
* 任务号
|
||||||
|
*/
|
||||||
|
@ExcelProperty("task_id")
|
||||||
|
private String taskId;
|
||||||
|
/**
|
||||||
|
* 任务类型
|
||||||
|
*/
|
||||||
|
@ExcelProperty("task_type")
|
||||||
|
private Integer taskType;
|
||||||
|
/**
|
||||||
|
* 任务状态
|
||||||
|
*/
|
||||||
|
@ExcelProperty("task_status")
|
||||||
|
private Integer taskStatus;
|
||||||
|
/**
|
||||||
|
* 起点
|
||||||
|
*/
|
||||||
|
@ExcelProperty("origin")
|
||||||
|
private String origin;
|
||||||
|
/**
|
||||||
|
* 终点
|
||||||
|
*/
|
||||||
|
@ExcelProperty("destination")
|
||||||
|
private String destination;
|
||||||
|
/**
|
||||||
|
* 任务优先级
|
||||||
|
*/
|
||||||
|
@ExcelProperty("task_priority")
|
||||||
|
private Integer taskPriority;
|
||||||
|
/**
|
||||||
|
* 任务组
|
||||||
|
*/
|
||||||
|
@ExcelProperty("task_group")
|
||||||
|
private String taskGroup;
|
||||||
|
/**
|
||||||
|
* 载具号
|
||||||
|
*/
|
||||||
|
@ExcelProperty("vehicle_id")
|
||||||
|
private String vehicleId;
|
||||||
|
/**
|
||||||
|
* 重量
|
||||||
|
*/
|
||||||
|
@ExcelProperty("weight")
|
||||||
|
private BigDecimal weight;
|
||||||
|
/**
|
||||||
|
* 载具尺寸
|
||||||
|
*/
|
||||||
|
@ExcelProperty("vehicle_size")
|
||||||
|
private Integer vehicleSize;
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
@ExcelProperty("create_time")
|
||||||
|
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
/**
|
||||||
|
* 完成时间
|
||||||
|
*/
|
||||||
|
@ExcelProperty("finish_time")
|
||||||
|
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime finishTime;
|
||||||
|
/**
|
||||||
|
* 用户名
|
||||||
|
*/
|
||||||
|
@ExcelProperty("user_name")
|
||||||
|
private String userName;
|
||||||
|
/**
|
||||||
|
* 物料相关的详细信息
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "goods_related")
|
||||||
|
private String goodsRelated;
|
||||||
|
/**
|
||||||
|
* 前置任务
|
||||||
|
*/
|
||||||
|
@ExcelProperty("pre_task")
|
||||||
|
private String preTask;
|
||||||
|
/**
|
||||||
|
* 是否拣选
|
||||||
|
*/
|
||||||
|
@ExcelProperty("is_picking")
|
||||||
|
private Integer isPicking;
|
||||||
|
/**
|
||||||
|
* 拣选站台
|
||||||
|
*/
|
||||||
|
@ExcelProperty("pick_stand")
|
||||||
|
private String pickStand;
|
||||||
|
}
|
||||||
52
src/main/java/com/wms/utils/excel/vo/DbOfUploadRecord.java
Normal file
52
src/main/java/com/wms/utils/excel/vo/DbOfUploadRecord.java
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
package com.wms.utils.excel.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.alibaba.excel.annotation.format.DateTimeFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class DbOfUploadRecord {
|
||||||
|
/**
|
||||||
|
* 上传id
|
||||||
|
*/
|
||||||
|
@ExcelProperty("upload_id")
|
||||||
|
private String uploadId;
|
||||||
|
/**
|
||||||
|
* 文件id
|
||||||
|
*/
|
||||||
|
@ExcelProperty("file_id")
|
||||||
|
private String fileId;
|
||||||
|
/**
|
||||||
|
* 文件哈希值
|
||||||
|
*/
|
||||||
|
@ExcelProperty("file_hash")
|
||||||
|
private String hash;
|
||||||
|
/**
|
||||||
|
* 文件名
|
||||||
|
*/
|
||||||
|
@ExcelProperty("file_name")
|
||||||
|
private String fileName;
|
||||||
|
/**
|
||||||
|
* 文件描述
|
||||||
|
*/
|
||||||
|
@ExcelProperty("file_description")
|
||||||
|
private String fileDescription;
|
||||||
|
/**
|
||||||
|
* 文件类型
|
||||||
|
*/
|
||||||
|
@ExcelProperty("file_type")
|
||||||
|
private String fileType;
|
||||||
|
/**
|
||||||
|
* 上传时间
|
||||||
|
*/
|
||||||
|
@ExcelProperty("upload_time")
|
||||||
|
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime uploadTime;
|
||||||
|
/**
|
||||||
|
* 上传人员
|
||||||
|
*/
|
||||||
|
@ExcelProperty("upload_user")
|
||||||
|
private String uploadUser;
|
||||||
|
}
|
||||||
103
src/main/java/com/wms/utils/excel/vo/DbOfWorkSummary.java
Normal file
103
src/main/java/com/wms/utils/excel/vo/DbOfWorkSummary.java
Normal file
|
|
@ -0,0 +1,103 @@
|
||||||
|
package com.wms.utils.excel.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.alibaba.excel.annotation.format.DateTimeFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工作总结数据模版
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DbOfWorkSummary {
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
@ExcelProperty("work_flow_id")
|
||||||
|
private String workFlowId;
|
||||||
|
/**
|
||||||
|
* 工作站台
|
||||||
|
*/
|
||||||
|
@ExcelProperty("work_station")
|
||||||
|
private String workStation;
|
||||||
|
/**
|
||||||
|
* 工单
|
||||||
|
*/
|
||||||
|
@ExcelProperty("work_order")
|
||||||
|
private String workOrder;
|
||||||
|
/**
|
||||||
|
* 工位
|
||||||
|
*/
|
||||||
|
@ExcelProperty("work_center")
|
||||||
|
private String workCenter;
|
||||||
|
/**
|
||||||
|
* 物料编号
|
||||||
|
*/
|
||||||
|
@ExcelProperty("goods_id")
|
||||||
|
private String goodsId;
|
||||||
|
/**
|
||||||
|
* 已拣货数量
|
||||||
|
*/
|
||||||
|
@ExcelProperty("picked_num")
|
||||||
|
private BigDecimal pickedNum;
|
||||||
|
/**
|
||||||
|
* 需求数量
|
||||||
|
*/
|
||||||
|
@ExcelProperty("need_num")
|
||||||
|
private BigDecimal needNum;
|
||||||
|
/**
|
||||||
|
* 缺件数量
|
||||||
|
*/
|
||||||
|
@ExcelProperty("lack_num")
|
||||||
|
private BigDecimal lackNum;
|
||||||
|
/**
|
||||||
|
* 工作日期
|
||||||
|
*/
|
||||||
|
@ExcelProperty("work_date")
|
||||||
|
private LocalDateTime workDate;
|
||||||
|
/**
|
||||||
|
* 工作状态
|
||||||
|
* 0:未开始
|
||||||
|
* 1:正在做
|
||||||
|
* 2:已完成
|
||||||
|
*/
|
||||||
|
@ExcelProperty("work_status")
|
||||||
|
private Integer workStatus;
|
||||||
|
/**
|
||||||
|
* 缺件状态
|
||||||
|
* 0:不缺件
|
||||||
|
* 1:缺件
|
||||||
|
*/
|
||||||
|
@ExcelProperty("lack_status")
|
||||||
|
private Integer lackStatus;
|
||||||
|
/**
|
||||||
|
* 完成时间
|
||||||
|
*/
|
||||||
|
@ExcelProperty("finish_time")
|
||||||
|
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime finishTime;
|
||||||
|
/**
|
||||||
|
* 操作人员
|
||||||
|
*/
|
||||||
|
@ExcelProperty("op_user")
|
||||||
|
private String opUser;
|
||||||
|
/**
|
||||||
|
* 电子标签位
|
||||||
|
*/
|
||||||
|
@ExcelProperty("e_location_id")
|
||||||
|
private String eLocationId;
|
||||||
|
/**
|
||||||
|
* 机器类型
|
||||||
|
*/
|
||||||
|
@ExcelProperty("machine_type")
|
||||||
|
private Integer machineType;
|
||||||
|
/**
|
||||||
|
* 计划日期
|
||||||
|
*/
|
||||||
|
@ExcelProperty("plan_date")
|
||||||
|
@DateTimeFormat("yyyy-MM-dd")
|
||||||
|
private LocalDate planDate;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user