mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
xml数据对应修改
This commit is contained in:
+11
-11
@@ -3,24 +3,24 @@ package com.cf.imes.module.executor.enums;
|
||||
/**
|
||||
* executor 字典类型的枚举类
|
||||
*/
|
||||
public interface DictTypeConstants {
|
||||
public class DictTypeConstants {
|
||||
|
||||
String HOLE_FACE = "hole_face";//加工面
|
||||
String HOLE_DIRECTION = "hole_direction";// 方向
|
||||
public static final String HOLE_FACE = "hole_face";//加工面
|
||||
public static final String HOLE_DIRECTION = "hole_direction";// 方向
|
||||
|
||||
// ========== PLATE 模块 ==========
|
||||
String TYPOGRAPHY_TYPE = "typographyType"; // 排版面
|
||||
String GRAIN_TYPE = "grainType";// 小板纹路类型
|
||||
String DOOR_OPENING_DIRECTIONS = "doorOpeningDirections";//开门方向
|
||||
String PLATE_TYPE = "order_plate_type"; // 板类型
|
||||
public static final String TYPOGRAPHY_TYPE = "typographyType"; // 排版面
|
||||
public static final String GRAIN_TYPE = "grainType";// 小板纹路类型
|
||||
public static final String DOOR_OPENING_DIRECTIONS = "doorOpeningDirections";//开门方向
|
||||
public static final String PLATE_TYPE = "order_plate_type"; // 板类型
|
||||
|
||||
|
||||
// ========== HOLE 模块 ==========
|
||||
String HOLE_TYPE = "hole_type";//孔类型
|
||||
public static final String HOLE_TYPE = "hole_type";//孔类型
|
||||
|
||||
|
||||
// ========== 单位 模块 ==========
|
||||
String UNIT_LENGTH = "length_unit"; // 长度单位
|
||||
String UNIT_AREA = "area_unit"; // 面积单位
|
||||
String UNIT_NUMBER = "area_number"; // 个数单位
|
||||
public static final String UNIT_LENGTH = "length_unit"; // 长度单位
|
||||
public static final String UNIT_AREA = "area_unit"; // 面积单位
|
||||
public static final String UNIT_NUMBER = "area_number"; // 个数单位
|
||||
}
|
||||
|
||||
+33
-57
@@ -6,81 +6,57 @@ import com.cf.imes.framework.common.exception.ErrorCode;
|
||||
* @author there
|
||||
* 生产执行服务错误码枚举 使用 1-003-000-000 段
|
||||
*/
|
||||
public interface ErrorCodeConstants {
|
||||
public class ErrorCodeConstants {
|
||||
|
||||
// ========== 生产单开料排单
|
||||
ErrorCode PLAN_NOT_EXISTS = new ErrorCode(1_001_107_000, "生产单开料排单不存在");
|
||||
public static final ErrorCode PLAN_NOT_EXISTS = new ErrorCode(1_001_107_000, "生产单开料排单不存在");
|
||||
|
||||
ErrorCode PLAN_NOT_ALLOW_DELETE = new ErrorCode(1_001_107_001, "排单号:{},已开料不予许删除");
|
||||
public static final ErrorCode PLAN_NOT_ALLOW_DELETE = new ErrorCode(1_001_107_001, "排单号:{},已开料不予许删除");
|
||||
|
||||
ErrorCode PLAN_NOT_ALLOW_CANCEL = new ErrorCode(1_001_107_002, "排单 新单 不予许作废");
|
||||
public static final ErrorCode LIST_CHANGES_ARE_PROHIBITED = new ErrorCode(1_001_107_003, "当前排单有板材已开料,禁止更改");
|
||||
|
||||
ErrorCode LIST_CHANGES_ARE_PROHIBITED = new ErrorCode(1_001_107_003, "当前排单有板材已开料,禁止更改");
|
||||
|
||||
ErrorCode PLAN_ERROR = new ErrorCode(1_001_107_004, "{} 排单数据不存在");
|
||||
|
||||
ErrorCode PLATE_ERROR = new ErrorCode(1_001_107_005, "当前新增的板材非同一类型的板材,禁止更改");
|
||||
public static final ErrorCode PLATE_ERROR = new ErrorCode(1_001_107_005, "当前新增的板材非同一类型的板材,禁止更改");
|
||||
|
||||
|
||||
|
||||
// ========== 生产单商品 TODO 补充编号 ==========
|
||||
ErrorCode GOODS_NOT_EXISTS = new ErrorCode(1_001_108_000, "生产单商品不存在");
|
||||
public static final ErrorCode GOODS_NOT_EXISTS = new ErrorCode(1_001_108_000, "生产单商品不存在");
|
||||
|
||||
// ========== 生产单 TODO 补充编号 ==========
|
||||
ErrorCode ORDER_NOT_EXISTS = new ErrorCode(1_001_109_000, "生产单不存在");
|
||||
ErrorCode ORDER_IS_EMPTY = new ErrorCode(1_001_109_000, "生产单为空单,柜体操作无效");
|
||||
ErrorCode ORDER_NOT_NEW_ORDER = new ErrorCode(1_001_109_000, "生产单不为新单,清空无效");
|
||||
ErrorCode ORDER_NOT_CANCEL = new ErrorCode(1_001_109_000, "生产单已排单,小板操作无效");
|
||||
ErrorCode ORDER_CANCEL = new ErrorCode(1_001_109_000, "生产单未作废,还原无效");
|
||||
ErrorCode ORDER_PLAN_ERROR = new ErrorCode(1_001_109_001, "选中删除对象有已开料板件,请联系管理员修改开料状态后再删除!");
|
||||
ErrorCode ORDER_ERROR = new ErrorCode(1_001_109_002, "当前生产单柜体,房间已全部删除!");
|
||||
public static final ErrorCode ORDER_NOT_EXISTS = new ErrorCode(1_001_109_000, "生产单不存在");
|
||||
public static final ErrorCode ORDER_NOT_CANCEL = new ErrorCode(1_001_109_000, "生产单已排单,小板操作无效");
|
||||
public static final ErrorCode ORDER_PLAN_ERROR = new ErrorCode(1_001_109_001, "选中删除对象有已开料板件,请联系管理员修改开料状态后再删除!");
|
||||
public static final ErrorCode ORDER_ERROR = new ErrorCode(1_001_109_002, "当前生产单柜体,房间已全部删除!");
|
||||
|
||||
// ========== 生产单 TODO 补充编号 ==========
|
||||
ErrorCode MODULE_NOT_EXISTS = new ErrorCode(1_001_110_000, "模块不存在");
|
||||
public static final ErrorCode MODULE_NOT_EXISTS = new ErrorCode(1_001_110_000, "模块不存在");
|
||||
|
||||
// ========== 生产单 TODO 补充编号 ==========
|
||||
ErrorCode MODULE_ITEM_NOT_EXISTS = new ErrorCode(1_001_111_000, "模块详情不存在");
|
||||
public static final ErrorCode PLATE_NOT_EXISTS = new ErrorCode(1_001_113_000, "板材不存在");
|
||||
|
||||
// ========== 生产单 TODO 补充编号 ==========
|
||||
ErrorCode ORDER_ITEM_NOT_EXISTS = new ErrorCode(1_001_112_000, "生产单详情不存在");
|
||||
public static final ErrorCode ORDER_PARTS_NOT_EXISTS = new ErrorCode(1_001_115_000, "生产单配件不存在");
|
||||
|
||||
// ========== 生产单 TODO 补充编号 ==========
|
||||
ErrorCode PLATE_NOT_EXISTS = new ErrorCode(1_001_113_000, "板材不存在");
|
||||
public static final ErrorCode PHONE_NOT_LAWFUL = new ErrorCode(1_001_116_000, "手机号不合法");
|
||||
public static final ErrorCode CUSTOM_ORDER_EXISTS = new ErrorCode(1_001_117_000, "自定义生产单号存在");
|
||||
public static final ErrorCode ORDER_PROCESS_NOT_EXISTS = new ErrorCode(1_001_119_001, "工序组不存在");
|
||||
public static final ErrorCode ORDER_PROCESS_EXISTS = new ErrorCode(1_001_119_002, "该生产单工序组已经存在");
|
||||
public static final ErrorCode PROCESS_GROUP_NOT_EXISTS = new ErrorCode(1_002_029_003, "工序组不存在");
|
||||
public static final ErrorCode ORDER_BODY_NOT_EXISTS = new ErrorCode(1_002_029_004, "当前柜体不存在");
|
||||
public static final ErrorCode RAW_GOODS_NOT_EXISTS = new ErrorCode(1_002_029_005, "生产单中未用到此板材");
|
||||
public static final ErrorCode APP_TOKEN_ERROR = new ErrorCode(1_002_029_007, "token获取失败");
|
||||
public static final ErrorCode PLATE_PLAN_DATA_ERROR = new ErrorCode(1_002_029_008, "板材生产数据获取错误或此单不存在");
|
||||
public static final ErrorCode PLATE_PLAN_DATA_NULL = new ErrorCode(1_002_029_008, "板材生产源数据为空");
|
||||
public static final ErrorCode PARTS_DATA_ERROR = new ErrorCode(1_002_029_009, "配件数据获取错误");
|
||||
public static final ErrorCode BODY_DATA_ERROR = new ErrorCode(1_002_029_010, "柜体数据获取错误");
|
||||
public static final ErrorCode GOODS_DATA_ERROR = new ErrorCode(1_002_029_011, "商品信息获取错误");
|
||||
public static final ErrorCode PLATE_DATA_ERROR = new ErrorCode(1_002_029_012, "板材明细获取错误");
|
||||
public static final ErrorCode ORDER_STATUS_CONFLICT = new ErrorCode(1_002_029_006, "生产单状态冲突,禁止投入生产");
|
||||
public static final ErrorCode ORDER_READ_ERR = new ErrorCode(1_002_029_006, "订单列表获取失败,请刷新重试");
|
||||
public static final ErrorCode ORDER_DATE_ERR = new ErrorCode(1_002_029_006, "获取订单列表,时间超出范围,请在30天范围内选择");
|
||||
|
||||
// ========== 生产单 TODO 补充编号 ==========
|
||||
ErrorCode ORDER_MODULE_EXTRA_NOT_EXISTS = new ErrorCode(1_001_114_000, "生产单模块不存在");
|
||||
|
||||
// ========== 生产单 TODO 补充编号 ==========
|
||||
ErrorCode ORDER_PARTS_NOT_EXISTS = new ErrorCode(1_001_115_000, "生产单配件不存在");
|
||||
|
||||
// ========== 生产单 TODO 补充编号 ==========
|
||||
ErrorCode PHONE_NOT_LAWFUL = new ErrorCode(1_001_116_000, "手机号不合法");
|
||||
ErrorCode CUSTOM_ORDER_EXISTS = new ErrorCode(1_001_117_000, "自定义生产单号存在");
|
||||
ErrorCode SALESMAN_ORDER_NOT_EXISTS = new ErrorCode(1_001_118_000, "业务员不存在");
|
||||
ErrorCode SPLITTER_ORDER_NOT_EXISTS = new ErrorCode(1_001_119_000, "拆单员不存在");
|
||||
ErrorCode ORDER_PROCESS_NOT_EXISTS = new ErrorCode(1_001_119_001, "工序组不存在");
|
||||
ErrorCode ORDER_PROCESS_EXISTS = new ErrorCode(1_001_119_002, "该生产单工序组已经存在");
|
||||
ErrorCode PROCESS_GROUP_NOT_EXISTS = new ErrorCode(1_002_029_003, "工序组不存在");
|
||||
ErrorCode ORDER_BODY_NOT_EXISTS = new ErrorCode(1_002_029_004, "当前柜体不存在");
|
||||
ErrorCode RAW_GOODS_NOT_EXISTS = new ErrorCode(1_002_029_005, "生产单中未用到此板材");
|
||||
ErrorCode ORDER_STATUS_ERROR = new ErrorCode(1_002_029_006, "生产单不允许删除");
|
||||
ErrorCode APP_TOKEN_ERROR = new ErrorCode(1_002_029_007, "token获取失败");
|
||||
ErrorCode PLATE_PLAN_DATA_ERROR = new ErrorCode(1_002_029_008, "板材生产数据获取错误或此单不存在");
|
||||
ErrorCode PLATE_PLAN_DATA_NULL = new ErrorCode(1_002_029_008, "板材生产源数据为空");
|
||||
ErrorCode PARTS_DATA_ERROR = new ErrorCode(1_002_029_009, "配件数据获取错误");
|
||||
ErrorCode BODY_DATA_ERROR = new ErrorCode(1_002_029_010, "柜体数据获取错误");
|
||||
ErrorCode GOODS_DATA_ERROR = new ErrorCode(1_002_029_011, "商品信息获取错误");
|
||||
ErrorCode PLATE_DATA_ERROR = new ErrorCode(1_002_029_012, "板材明细获取错误");
|
||||
ErrorCode FILE_READ_SUCCESS = new ErrorCode(1_002_029_012, "文件读取成功");
|
||||
ErrorCode FILE_READ_ERR = new ErrorCode(1_002_029_012, "文件读取错误");
|
||||
ErrorCode FILE_ADD_ERR = new ErrorCode(1_002_029_012, "文件已经存在是否强制保存");
|
||||
ErrorCode FILE_UPLOAD_ERR = new ErrorCode(1_002_029_012, "文件内容为空");
|
||||
ErrorCode ORDER_STATUS_CONFLICT = new ErrorCode(1_002_029_006, "生产单状态冲突,禁止投入生产");
|
||||
ErrorCode ORDER_READ_ERR = new ErrorCode(1_002_029_006, "订单列表获取失败,请刷新重试");
|
||||
ErrorCode ORDER_DATE_ERR = new ErrorCode(1_002_029_006, "获取订单列表,时间超出范围,请在30天范围内选择");
|
||||
|
||||
ErrorCode SOURCE_NOT_EXITS_ERROR = new ErrorCode(1_002_029_013, "源数据查询失败");
|
||||
ErrorCode ORDER_CAN_NOT_DELETE = new ErrorCode(1_002_029_013, "存在状态不符合强制删除的生产单,禁止删除");
|
||||
ErrorCode ORDER_DELETED_ERR = new ErrorCode(1_002_029_006, "生产单删除失败");
|
||||
ErrorCode ORDER_RESTORE_ERR = new ErrorCode(1_002_029_006, "生产单还原失败");
|
||||
public static final ErrorCode SOURCE_NOT_EXITS_ERROR = new ErrorCode(1_002_029_013, "源数据查询失败");
|
||||
public static final ErrorCode ORDER_DELETED_ERR = new ErrorCode(1_002_029_006, "生产单删除失败");
|
||||
public static final ErrorCode ORDER_RESTORE_ERR = new ErrorCode(1_002_029_006, "生产单还原失败");
|
||||
}
|
||||
|
||||
+4
-4
@@ -1,7 +1,7 @@
|
||||
package com.cf.imes.module.executor.api.plan;
|
||||
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import co.elastic.clients.elasticsearch.ElasticsearchClient;
|
||||
import co.elastic.clients.elasticsearch._types.FieldValue;
|
||||
import co.elastic.clients.elasticsearch.core.SearchRequest;
|
||||
@@ -521,7 +521,7 @@ public class OrderPlanApiImpl implements OrderPlanApi{
|
||||
try {
|
||||
SearchResponse<OrderPartsRemark> search = elasticsearchClient.search(builder.build(), OrderPartsRemark.class);
|
||||
List<Hit<OrderPartsRemark>> hits = search.hits().hits();
|
||||
if (CollectionUtil.isNotEmpty(hits)) {
|
||||
if (CollUtil.isNotEmpty(hits)) {
|
||||
return hits.stream().map(Hit::source).collect(Collectors.toList());
|
||||
}
|
||||
return new ArrayList<>();
|
||||
@@ -543,7 +543,7 @@ public class OrderPlanApiImpl implements OrderPlanApi{
|
||||
try {
|
||||
SearchResponse<OptimizeBoardModelDO> search = elasticsearchClient.search(builder.build(), OptimizeBoardModelDO.class);
|
||||
List<Hit<OptimizeBoardModelDO>> hits = search.hits().hits();
|
||||
if (CollectionUtil.isNotEmpty(hits)) {
|
||||
if (CollUtil.isNotEmpty(hits)) {
|
||||
return hits.stream().map(Hit::source).collect(Collectors.toList());
|
||||
}
|
||||
return new ArrayList<>();
|
||||
@@ -565,7 +565,7 @@ public class OrderPlanApiImpl implements OrderPlanApi{
|
||||
try {
|
||||
SearchResponse<OrderModelDO> search = elasticsearchClient.search(builder.build(), OrderModelDO.class);
|
||||
List<Hit<OrderModelDO>> hits = search.hits().hits();
|
||||
if (CollectionUtil.isNotEmpty(hits)) {
|
||||
if (CollUtil.isNotEmpty(hits)) {
|
||||
return hits.stream().map(Hit::source).collect(Collectors.toList());
|
||||
}
|
||||
return new ArrayList<>();
|
||||
|
||||
+4
-3
@@ -264,6 +264,7 @@ public class OrderController {
|
||||
Map<String, Object> mapOrder = null;
|
||||
|
||||
Boolean flag = true;
|
||||
String customOrderNoKey = "自定义单号";
|
||||
try {
|
||||
if (type == 0) { //excel
|
||||
excelReadUtil.setErr(0);
|
||||
@@ -290,13 +291,13 @@ public class OrderController {
|
||||
|
||||
if (mapOrder == null) {
|
||||
mapOrder = new HashMap<>();
|
||||
mapOrder.put("自定义单号", "生产单内容解析为空");
|
||||
mapOrder.put(customOrderNoKey, "生产单内容解析为空");
|
||||
flag = false;
|
||||
}else if (orderDO == null) {
|
||||
mapOrder.put("自定义单号", "生产单内为空");
|
||||
mapOrder.put(customOrderNoKey, "生产单内为空");
|
||||
flag = false;
|
||||
} else if (orderDO.getCustomOrderNo() != null && !orderService.customOrderNoIsExists(orderDO.getCustomOrderNo())) {
|
||||
mapOrder.put("自定义单号", mapOrder.get("自定义单号") + "自定义单号重复");
|
||||
mapOrder.put(customOrderNoKey, mapOrder.get(customOrderNoKey) + customOrderNoKey + "重复");
|
||||
flag = false;
|
||||
} else if ( excelReadUtil.isErr() > 0 ){
|
||||
flag = false;
|
||||
|
||||
+6
@@ -73,6 +73,9 @@ public interface OrderMapper extends BaseMapperX<OrderDO> {
|
||||
case "orderDate" -> query.orderByAsc(OrderDO::getOrderDate);
|
||||
case "deliveryDate" -> query.orderByAsc(OrderDO::getDeliveryDate);
|
||||
case "apiOrderId" -> query.orderByAsc(OrderDO::getApiOrderId);
|
||||
default -> {
|
||||
// default不排序
|
||||
}
|
||||
}
|
||||
} else if (reqVO.getOrder().equals("descend")) {
|
||||
switch (reqVO.getField()) {
|
||||
@@ -81,6 +84,9 @@ public interface OrderMapper extends BaseMapperX<OrderDO> {
|
||||
case "orderDate" -> query.orderByDesc(OrderDO::getOrderDate);
|
||||
case "deliveryDate" -> query.orderByDesc(OrderDO::getDeliveryDate);
|
||||
case "apiOrderId" -> query.orderByDesc(OrderDO::getApiOrderId);
|
||||
default -> {
|
||||
// default不排序
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+17
-35
@@ -1,6 +1,6 @@
|
||||
package com.cf.imes.module.executor.service.optimizeplan;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.lang.Snowflake;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
@@ -31,9 +31,6 @@ import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO;
|
||||
import com.cf.imes.module.executor.dal.dataobject.remainplaten.RemainPlateDO;
|
||||
import com.cf.imes.module.executor.dal.mysql.goods.GoodsMapper;
|
||||
import com.cf.imes.module.executor.dal.mysql.order.OrderMapper;
|
||||
import com.cf.imes.module.executor.dal.mysql.orderBody.OrderBodyMapper;
|
||||
import com.cf.imes.module.executor.dal.mysql.orderGroup.OrderGroupMapper;
|
||||
import com.cf.imes.module.executor.dal.mysql.orderItem.OrderItemMapper;
|
||||
import com.cf.imes.module.executor.dal.mysql.orderParts.OrderPartsMapper;
|
||||
import com.cf.imes.module.executor.dal.mysql.plan.PlanMapper;
|
||||
import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper;
|
||||
@@ -41,10 +38,8 @@ import com.cf.imes.module.executor.dal.mysql.processStep.ProcessStepMapper;
|
||||
import com.cf.imes.module.executor.dal.mysql.processStepItem.ProcessStepItemMapper;
|
||||
import com.cf.imes.module.executor.dal.mysql.remainplaten.RemainPlateMapper;
|
||||
import com.cf.imes.module.executor.enums.ErrorCodeConstants;
|
||||
import com.cf.imes.module.infra.api.file.FileApi;
|
||||
import com.cf.imes.module.system.api.dataSource.DataSourceApi;
|
||||
import com.cf.imes.module.system.api.machine.MachineApi;
|
||||
import com.cf.imes.module.system.api.process.ProcessApi;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
@@ -79,9 +74,6 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
@Resource
|
||||
private RemainPlateMapper remainPlateMapper;
|
||||
|
||||
@Resource
|
||||
private FileApi fileApi;
|
||||
|
||||
@Resource
|
||||
private PlateMapper plateMapper;
|
||||
|
||||
@@ -102,15 +94,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
@Resource
|
||||
private MachineApi machineApi;
|
||||
|
||||
@Resource
|
||||
private ProcessApi processApi;
|
||||
|
||||
@Resource
|
||||
private ESDocumentService esDocumentService;
|
||||
|
||||
@Resource
|
||||
private OrderItemMapper orderItemMapper;
|
||||
|
||||
@Resource
|
||||
private OrderPartsMapper orderPartsMapper;
|
||||
|
||||
@@ -120,12 +106,8 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
@Resource
|
||||
private ProcessStepItemMapper processStepItemMapper;
|
||||
|
||||
@Resource
|
||||
private OrderBodyMapper orderBodyMapper;
|
||||
|
||||
@Resource
|
||||
private OrderGroupMapper orderGroupMapper;
|
||||
|
||||
private static final String FIELD_ORDER_ID = "orderId";
|
||||
private static final String FIELD_PLAN_ID = "planId";
|
||||
|
||||
@Override
|
||||
public List<PlateOptimize> getPlateListByPlanId(Long planId) {
|
||||
@@ -828,7 +810,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
try {
|
||||
SearchResponse<OrderModelDO> search = elasticsearchClient.search(builder.build(), OrderModelDO.class);
|
||||
List<Hit<OrderModelDO>> hits = search.hits().hits();
|
||||
if (CollectionUtil.isNotEmpty(hits)) {
|
||||
if (CollUtil.isNotEmpty(hits)) {
|
||||
return hits.stream().map(Hit::source).collect(Collectors.toList());
|
||||
}
|
||||
return new ArrayList<>();
|
||||
@@ -842,11 +824,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
SearchRequest.Builder builder = new SearchRequest.Builder();
|
||||
builder.index(OptimizePlanService.ORDER_PLATE_MODEL);
|
||||
builder.size(size);
|
||||
builder.query(q -> q.term(b -> b.field("orderId").value(orderId)));
|
||||
builder.query(q -> q.term(b -> b.field(FIELD_ORDER_ID).value(orderId)));
|
||||
try {
|
||||
SearchResponse<OrderModelDO> search = elasticsearchClient.search(builder.build(), OrderModelDO.class);
|
||||
List<Hit<OrderModelDO>> hits = search.hits().hits();
|
||||
if (CollectionUtil.isNotEmpty(hits)) {
|
||||
if (CollUtil.isNotEmpty(hits)) {
|
||||
return hits.stream().map(Hit::source).collect(Collectors.toList());
|
||||
}
|
||||
return new ArrayList<>();
|
||||
@@ -884,11 +866,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
SearchRequest.Builder builder = new SearchRequest.Builder();
|
||||
builder.index(index);
|
||||
builder.size(size);
|
||||
builder.query(q -> q.term(b -> b.field("orderId").value(orderId)));
|
||||
builder.query(q -> q.term(b -> b.field(FIELD_ORDER_ID).value(orderId)));
|
||||
try {
|
||||
SearchResponse<OptimizeBoardModelDO> search = elasticsearchClient.search(builder.build(), OptimizeBoardModelDO.class);
|
||||
List<Hit<OptimizeBoardModelDO>> hits = search.hits().hits();
|
||||
if (CollectionUtil.isNotEmpty(hits)) {
|
||||
if (CollUtil.isNotEmpty(hits)) {
|
||||
return hits.stream().map(Hit::source).collect(Collectors.toList());
|
||||
}
|
||||
return new ArrayList<>();
|
||||
@@ -903,11 +885,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
SearchRequest.Builder builder = new SearchRequest.Builder();
|
||||
builder.index(index);
|
||||
builder.size(size);
|
||||
builder.query(q -> q.term(b -> b.field("planId").value(planId)));
|
||||
builder.query(q -> q.term(b -> b.field(FIELD_PLAN_ID).value(planId)));
|
||||
try {
|
||||
SearchResponse<OptimizeBoardModelDO> search = elasticsearchClient.search(builder.build(), OptimizeBoardModelDO.class);
|
||||
List<Hit<OptimizeBoardModelDO>> hits = search.hits().hits();
|
||||
if (CollectionUtil.isNotEmpty(hits)) {
|
||||
if (CollUtil.isNotEmpty(hits)) {
|
||||
return hits.stream().map(Hit::source).collect(Collectors.toList());
|
||||
}
|
||||
return new ArrayList<>();
|
||||
@@ -924,11 +906,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
SearchRequest.Builder builder = new SearchRequest.Builder();
|
||||
builder.index(index);
|
||||
builder.size(size);
|
||||
builder.query(q -> q.terms(b -> b.field("orderId").terms(e -> e.value(fieldValues))));
|
||||
builder.query(q -> q.terms(b -> b.field(FIELD_ORDER_ID).terms(e -> e.value(fieldValues))));
|
||||
try {
|
||||
SearchResponse<OptimizeBoardModelDO> search = elasticsearchClient.search(builder.build(), OptimizeBoardModelDO.class);
|
||||
List<Hit<OptimizeBoardModelDO>> hits = search.hits().hits();
|
||||
if (CollectionUtil.isNotEmpty(hits)) {
|
||||
if (CollUtil.isNotEmpty(hits)) {
|
||||
return hits.stream().map(Hit::source).collect(Collectors.toList());
|
||||
}
|
||||
return new ArrayList<>();
|
||||
@@ -944,11 +926,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
SearchRequest.Builder builder = new SearchRequest.Builder();
|
||||
builder.index(index);
|
||||
builder.size(size);
|
||||
builder.query(q -> q.terms(b -> b.field("planId").terms(e -> e.value(fieldValues))));
|
||||
builder.query(q -> q.terms(b -> b.field(FIELD_PLAN_ID).terms(e -> e.value(fieldValues))));
|
||||
try {
|
||||
SearchResponse<OptimizeBoardModelDO> search = elasticsearchClient.search(builder.build(), OptimizeBoardModelDO.class);
|
||||
List<Hit<OptimizeBoardModelDO>> hits = search.hits().hits();
|
||||
if (CollectionUtil.isNotEmpty(hits)) {
|
||||
if (CollUtil.isNotEmpty(hits)) {
|
||||
return hits.stream().map(Hit::source).collect(Collectors.toList());
|
||||
}
|
||||
return new ArrayList<>();
|
||||
@@ -964,11 +946,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
SearchRequest.Builder builder = new SearchRequest.Builder();
|
||||
builder.index(index);
|
||||
builder.size(size);
|
||||
builder.query(q -> q.terms(b -> b.field("orderId").terms(e -> e.value(fieldValues))));
|
||||
builder.query(q -> q.terms(b -> b.field(FIELD_ORDER_ID).terms(e -> e.value(fieldValues))));
|
||||
try {
|
||||
SearchResponse<OrderPartsRemark> search = elasticsearchClient.search(builder.build(), OrderPartsRemark.class);
|
||||
List<Hit<OrderPartsRemark>> hits = search.hits().hits();
|
||||
if (CollectionUtil.isNotEmpty(hits)) {
|
||||
if (CollUtil.isNotEmpty(hits)) {
|
||||
return hits.stream().map(Hit::source).collect(Collectors.toList());
|
||||
}
|
||||
return new ArrayList<>();
|
||||
@@ -989,7 +971,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
||||
DeleteByQueryRequest.Builder builder = new DeleteByQueryRequest.Builder();
|
||||
builder.index(index);
|
||||
|
||||
builder.query(q -> q.terms(b -> b.field("planId").terms(e -> e.value(fieldValues))));
|
||||
builder.query(q -> q.terms(b -> b.field(FIELD_PLAN_ID).terms(e -> e.value(fieldValues))));
|
||||
|
||||
try {
|
||||
DeleteByQueryResponse response = elasticsearchClient.deleteByQuery(builder.build());
|
||||
|
||||
+4
-3
@@ -89,6 +89,7 @@ public class OrderInputProcessor {
|
||||
|
||||
public static final String ORDER_PLATE_MODEL = "imes_order_plate_model";
|
||||
|
||||
private static final String FIELD_ORDER_ID = "orderId";
|
||||
|
||||
public static final String ORDER_PARTS_REMARK_MODEL = "imes_order_parts_remark_model";
|
||||
|
||||
@@ -203,7 +204,7 @@ public class OrderInputProcessor {
|
||||
SearchRequest.Builder builder = new SearchRequest.Builder();
|
||||
builder.index(index);
|
||||
builder.size(size);
|
||||
builder.query(q -> q.term(b -> b.field("orderId").value(orderId)));
|
||||
builder.query(q -> q.term(b -> b.field(FIELD_ORDER_ID).value(orderId)));
|
||||
|
||||
builder.source(s -> s.fetch(false));
|
||||
|
||||
@@ -226,7 +227,7 @@ public class OrderInputProcessor {
|
||||
public void deleteByOrderId(Long orderId, String index) {
|
||||
DeleteByQueryRequest.Builder builder = new DeleteByQueryRequest.Builder();
|
||||
builder.index(index);
|
||||
builder.query(q -> q.term(t -> t.field("orderId").value(orderId)));
|
||||
builder.query(q -> q.term(t -> t.field(FIELD_ORDER_ID).value(orderId)));
|
||||
|
||||
try {
|
||||
DeleteByQueryResponse response = elasticsearchClient.deleteByQuery(builder.build());
|
||||
@@ -246,7 +247,7 @@ public class OrderInputProcessor {
|
||||
DeleteByQueryRequest.Builder builder = new DeleteByQueryRequest.Builder();
|
||||
builder.index(index);
|
||||
|
||||
builder.query(q -> q.terms(b -> b.field("orderId").terms(e -> e.value(fieldValues))));
|
||||
builder.query(q -> q.terms(b -> b.field(FIELD_ORDER_ID).terms(e -> e.value(fieldValues))));
|
||||
|
||||
try {
|
||||
DeleteByQueryResponse response = elasticsearchClient.deleteByQuery(builder.build());
|
||||
|
||||
+9
-9
@@ -1,6 +1,6 @@
|
||||
package com.cf.imes.module.executor.service.plan;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import co.elastic.clients.elasticsearch.ElasticsearchClient;
|
||||
import co.elastic.clients.elasticsearch._types.FieldValue;
|
||||
import co.elastic.clients.elasticsearch.core.DeleteByQueryRequest;
|
||||
@@ -450,7 +450,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
}else {
|
||||
|
||||
planDOPageResult = planMapper.selectPage(pageReqVO);
|
||||
if (CollectionUtil.isEmpty(planDOPageResult.getList())) {
|
||||
if (CollUtil.isEmpty(planDOPageResult.getList())) {
|
||||
return new PageResult<>();
|
||||
}
|
||||
|
||||
@@ -620,7 +620,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
// todo 目前修改一半,速度无法再进行特别的优化,需等后面修改表结构再进行优化
|
||||
IPage<OrderRespVOCopy> orderRespVOCopies = orderMapper.selectOrderPage(page,queryWrapperX);
|
||||
|
||||
if (CollectionUtil.isEmpty(orderRespVOCopies.getRecords())) {
|
||||
if (CollUtil.isEmpty(orderRespVOCopies.getRecords())) {
|
||||
return new PageResult<>();
|
||||
}
|
||||
|
||||
@@ -833,7 +833,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
IPage<OrderGoodsResp> orderGoodsResps = orderMapper.selectOrderIds(page,queryWrapperX);
|
||||
|
||||
|
||||
if (CollectionUtil.isEmpty(orderGoodsResps.getRecords())) {
|
||||
if (CollUtil.isEmpty(orderGoodsResps.getRecords())) {
|
||||
return new PageResult<>();
|
||||
}
|
||||
|
||||
@@ -939,13 +939,13 @@ public class PlanServiceImpl implements PlanService {
|
||||
|
||||
IPage<PlateResList> pageResult = goodsMapper.selectPlanGoodsListByPlanId(page, queryWrapperX);
|
||||
|
||||
if (CollectionUtil.isEmpty(pageResult.getRecords())) {
|
||||
if (CollUtil.isEmpty(pageResult.getRecords())) {
|
||||
return new PageResult<>();
|
||||
}
|
||||
|
||||
Set<Long> bodyIds = pageResult.getRecords().stream().map(PlateResList::getBodyId).collect(Collectors.toSet());
|
||||
|
||||
if (CollectionUtil.isNotEmpty(bodyIds)) {
|
||||
if (CollUtil.isNotEmpty(bodyIds)) {
|
||||
List<OrderBodyDO> orderBodyDOS = orderBodyMapper.selectBatchIds(bodyIds);
|
||||
for (PlateResList resList : pageResult.getRecords()) {
|
||||
resList.setBodyName(orderBodyDOS.stream().filter(e -> Objects.equals(e.getId(), resList.getBodyId())).map(OrderBodyDO::getName).findAny().orElse(null));
|
||||
@@ -969,7 +969,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
|
||||
PageResult<OrderDO> pageResult = orderMapper.selectJoinPage(pageReqVO, OrderDO.class, lambdaWrapperX);
|
||||
|
||||
if (CollectionUtil.isEmpty(pageResult.getList())) {
|
||||
if (CollUtil.isEmpty(pageResult.getList())) {
|
||||
return new PageResult<>();
|
||||
}
|
||||
|
||||
@@ -1079,7 +1079,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
try {
|
||||
SearchResponse<OptimizeBoardModelDO> search = elasticsearchClient.search(builder.build(), OptimizeBoardModelDO.class);
|
||||
List<Hit<OptimizeBoardModelDO>> hits = search.hits().hits();
|
||||
if (CollectionUtil.isNotEmpty(hits)) {
|
||||
if (CollUtil.isNotEmpty(hits)) {
|
||||
return hits.stream().map(Hit::source).collect(Collectors.toList());
|
||||
}
|
||||
return new ArrayList<>();
|
||||
@@ -1098,7 +1098,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
try {
|
||||
SearchResponse<OptimizeBoardModelDO> search = elasticsearchClient.search(builder.build(), OptimizeBoardModelDO.class);
|
||||
List<Hit<OptimizeBoardModelDO>> hits = search.hits().hits();
|
||||
if (CollectionUtil.isNotEmpty(hits)) {
|
||||
if (CollUtil.isNotEmpty(hits)) {
|
||||
return hits.stream().map(Hit::source).collect(Collectors.toList());
|
||||
}
|
||||
return new ArrayList<>();
|
||||
|
||||
+1
-2
@@ -1,7 +1,6 @@
|
||||
package com.cf.imes.module.executor.service.plate;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import co.elastic.clients.elasticsearch.ElasticsearchClient;
|
||||
import co.elastic.clients.elasticsearch._types.FieldValue;
|
||||
import co.elastic.clients.elasticsearch.core.SearchRequest;
|
||||
@@ -338,7 +337,7 @@ public class PlateServiceImpl implements PlateService {
|
||||
try {
|
||||
SearchResponse<OrderModelDO> search = elasticsearchClient.search(builder.build(), OrderModelDO.class);
|
||||
List<Hit<OrderModelDO>> hits = search.hits().hits();
|
||||
if (CollectionUtil.isNotEmpty(hits)) {
|
||||
if (CollUtil.isNotEmpty(hits)) {
|
||||
return hits.stream().map(Hit::source).collect(Collectors.toList());
|
||||
}
|
||||
return new ArrayList<>();
|
||||
|
||||
+35
-135
@@ -1,178 +1,78 @@
|
||||
package com.cf.imes.module.executor.util;
|
||||
|
||||
import com.alibaba.excel.EasyExcel;
|
||||
import com.alibaba.excel.EasyExcelFactory;
|
||||
import com.alibaba.excel.ExcelWriter;
|
||||
import com.alibaba.excel.support.ExcelTypeEnum;
|
||||
import com.alibaba.excel.write.metadata.WriteSheet;
|
||||
import com.alibaba.excel.write.metadata.fill.FillConfig;
|
||||
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
||||
import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.OrderPlateImportExcelVO;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.springframework.util.ResourceUtils;
|
||||
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URLEncoder;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
|
||||
/**
|
||||
* excel 文件写入
|
||||
*/
|
||||
@Slf4j
|
||||
public class ExcelWriterUtil {
|
||||
|
||||
// 写excel
|
||||
public static void write(HttpServletResponse response,
|
||||
Map<String, Object> orderMap,
|
||||
List<OrderPlateImportExcelVO> list,
|
||||
String filePathErr) throws IOException {
|
||||
|
||||
String filePathErr) {
|
||||
ServletOutputStream outputStream = null;
|
||||
ExcelWriter excelWriter = null;
|
||||
//输入流
|
||||
InputStream inputStream = ResourceUtils.getURL(filePathErr).openStream();
|
||||
ServletOutputStream outputStream = response.getOutputStream();
|
||||
try (InputStream inputStream = ResourceUtils.getURL(filePathErr).openStream()){
|
||||
outputStream = response.getOutputStream();
|
||||
|
||||
|
||||
//设置输出流和模板信息
|
||||
ExcelWriter excelWriter = EasyExcel.write(outputStream).withTemplate(inputStream).build();
|
||||
WriteSheet writeSheet = EasyExcel.writerSheet().build();
|
||||
//设置输出流和模板信息
|
||||
excelWriter = EasyExcelFactory.write(outputStream).withTemplate(inputStream).build();
|
||||
WriteSheet writeSheet = EasyExcelFactory.writerSheet().build();
|
||||
|
||||
//开启自动换行,自动换行表示每次写入一条list数据是都会重新生成一行空行,此选项默认是关闭的,需要提前设置为true
|
||||
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
|
||||
//开启自动换行,自动换行表示每次写入一条list数据是都会重新生成一行空行,此选项默认是关闭的,需要提前设置为true
|
||||
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
|
||||
|
||||
//准备单组和数据
|
||||
Map<String, String> map = new HashMap<>();
|
||||
map.put("customOrderNo", (String) orderMap.get("自定义单号"));
|
||||
map.put("customer", (String) orderMap.get("客户"));
|
||||
map.put("address", (String) orderMap.get("客户地址"));
|
||||
map.put("phoneNumber", (String) orderMap.get("客户电话"));
|
||||
map.put("remark", (String) orderMap.get("备注"));
|
||||
map.put("splitter", (String) orderMap.get("拆单员"));
|
||||
map.put("salesman", (String) orderMap.get("业务员"));
|
||||
map.put("dealerPhoneNumber", (String) orderMap.get("经销商电话"));
|
||||
map.put("dealer", (String) orderMap.get("经销商"));
|
||||
map.put("deliveryDate", (String) orderMap.get("出货日期"));
|
||||
//准备单组和数据
|
||||
Map<String, String> map = new HashMap<>();
|
||||
map.put("customOrderNo", (String) orderMap.get("自定义单号"));
|
||||
map.put("customer", (String) orderMap.get("客户"));
|
||||
map.put("address", (String) orderMap.get("客户地址"));
|
||||
map.put("phoneNumber", (String) orderMap.get("客户电话"));
|
||||
map.put("remark", (String) orderMap.get("备注"));
|
||||
map.put("splitter", (String) orderMap.get("拆单员"));
|
||||
map.put("salesman", (String) orderMap.get("业务员"));
|
||||
map.put("dealerPhoneNumber", (String) orderMap.get("经销商电话"));
|
||||
map.put("dealer", (String) orderMap.get("经销商"));
|
||||
map.put("deliveryDate", (String) orderMap.get("出货日期"));
|
||||
|
||||
excelWriter.fill(map, writeSheet);
|
||||
excelWriter.fill(map, writeSheet);
|
||||
|
||||
//列表
|
||||
excelWriter.fill(list, fillConfig, writeSheet);
|
||||
//列表
|
||||
excelWriter.fill(list, fillConfig, writeSheet);
|
||||
|
||||
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
|
||||
//关流
|
||||
excelWriter.finish();
|
||||
inputStream.close();
|
||||
outputStream.close();
|
||||
}
|
||||
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
|
||||
|
||||
// 写excel
|
||||
public static void writeErr(HttpServletResponse response,
|
||||
String err,
|
||||
String filePathErr) throws IOException {
|
||||
//输入流
|
||||
InputStream inputStream = ResourceUtils.getURL(filePathErr).openStream();
|
||||
ServletOutputStream outputStream = response.getOutputStream();
|
||||
|
||||
//设置输出流和模板信息
|
||||
ExcelWriter excelWriter = EasyExcel.write(outputStream).withTemplate(inputStream).build();
|
||||
WriteSheet writeSheet = EasyExcel.writerSheet().build();
|
||||
|
||||
//准备单组和数据
|
||||
Map<String, String> map = new HashMap<>();
|
||||
map.put("err", err);
|
||||
|
||||
excelWriter.fill(map, writeSheet);
|
||||
|
||||
|
||||
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
|
||||
//关流
|
||||
excelWriter.finish();
|
||||
inputStream.close();
|
||||
outputStream.close();
|
||||
}
|
||||
|
||||
public static void exportExcelZip(HttpServletResponse response, Map<OrderDO, Object> map, String filePathErr, String type) throws IOException {
|
||||
ServletOutputStream outputStream = response.getOutputStream();
|
||||
ZipOutputStream zipOutputStream = new ZipOutputStream(outputStream);
|
||||
|
||||
try {
|
||||
for (Map.Entry<OrderDO, Object> entry : map.entrySet()) {
|
||||
OrderDO k = entry.getKey();
|
||||
Object value = entry.getValue();
|
||||
|
||||
// 创建ExcelWriter并填充数据
|
||||
InputStream inputStream = ResourceUtils.getURL(filePathErr).openStream();
|
||||
ExcelWriter excelWriter = EasyExcel.write(outputStream)
|
||||
.withTemplate(inputStream)
|
||||
.excelType(ExcelTypeEnum.XLS)
|
||||
.build();
|
||||
|
||||
WriteSheet writeSheet = EasyExcel.writerSheet().build();
|
||||
// 填充订单数据
|
||||
excelWriter.fill(fillOrderData(k), writeSheet);
|
||||
// 填充列表数据
|
||||
excelWriter.fill(value, fillConfig(), writeSheet);
|
||||
|
||||
// 写入ZipOutputStream
|
||||
ZipEntry zipEntry = new ZipEntry(type + "_" + k.getId() + ".xls");
|
||||
zipOutputStream.putNextEntry(zipEntry);
|
||||
Workbook workbook = excelWriter.writeContext().writeWorkbookHolder().getWorkbook();
|
||||
workbook.write(zipOutputStream);
|
||||
excelWriter.finish(); // 关闭ExcelWriter
|
||||
|
||||
// 关闭输入流
|
||||
inputStream.close();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
log.error("文件【{}】写入异常", filePathErr, e);
|
||||
} finally {
|
||||
// 关闭流
|
||||
zipOutputStream.close();
|
||||
outputStream.close();
|
||||
//关流
|
||||
IOUtils.closeQuietly(excelWriter);
|
||||
IOUtils.closeQuietly(outputStream);
|
||||
}
|
||||
}
|
||||
|
||||
public static void exportExcel(HttpServletResponse response,
|
||||
OrderDO orderDO,
|
||||
List<OrderPlateImportExcelVO> list,
|
||||
String filePathErr,
|
||||
String type) throws IOException {
|
||||
//输入流
|
||||
InputStream inputStream = ResourceUtils.getURL(filePathErr+ File.separator + type).openStream();
|
||||
ServletOutputStream outputStream = response.getOutputStream();
|
||||
|
||||
|
||||
//设置输出流和模板信息
|
||||
ExcelWriter excelWriter = EasyExcel.write(outputStream).withTemplate(inputStream).build();
|
||||
WriteSheet writeSheet = EasyExcel.writerSheet().build();
|
||||
|
||||
//开启自动换行,自动换行表示每次写入一条list数据是都会重新生成一行空行,此选项默认是关闭的,需要提前设置为true
|
||||
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
|
||||
|
||||
//准备单组和数据
|
||||
Map<String, String> mapOrder = fillOrderData(orderDO);
|
||||
|
||||
excelWriter.fill(mapOrder, writeSheet);
|
||||
|
||||
//列表
|
||||
excelWriter.fill(list, fillConfig, writeSheet);
|
||||
|
||||
//设置文件名的编码格式,防止文件名乱码
|
||||
String fileName = URLEncoder.encode(type.replace("模板",String.valueOf(orderDO.getId())), "UTF-8");
|
||||
//固定写法,设置响应头
|
||||
response.setHeader("Content-disposition", "attachment;filename="+ fileName + ".xlsx");
|
||||
|
||||
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
|
||||
//关流
|
||||
excelWriter.finish();
|
||||
inputStream.close();
|
||||
outputStream.close();
|
||||
}
|
||||
|
||||
// 填充订单数据
|
||||
private static Map<String, String> fillOrderData(OrderDO order) {
|
||||
Map<String, String> orderMap = new HashMap<>();
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
package com.cf.imes.module.executor.util;
|
||||
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import cn.hutool.core.text.CharSequenceUtil;
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.cf.imes.framework.common.enums.CommonStatusEnum;
|
||||
import uk.co.jemos.podam.api.PodamFactory;
|
||||
import uk.co.jemos.podam.api.PodamFactoryImpl;
|
||||
@@ -46,7 +46,7 @@ public class RandomUtils {
|
||||
return RandomUtil.randomEle(CommonStatusEnum.values()).getStatus();
|
||||
}
|
||||
// 如果是 type、status 结尾的字段,返回 tinyint 范围
|
||||
if (StrUtil.endWithAnyIgnoreCase(attributeMetadata.getAttributeName(),
|
||||
if (CharSequenceUtil.endWithAnyIgnoreCase(attributeMetadata.getAttributeName(),
|
||||
"type", "status", "category", "scope", "result")) {
|
||||
return RandomUtil.randomInt(0, TINYINT_MAX + 1);
|
||||
}
|
||||
|
||||
-110
@@ -1,110 +0,0 @@
|
||||
package com.cf.imes.module.executor.util;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.zip.Deflater;
|
||||
import java.util.zip.DeflaterOutputStream;
|
||||
import java.util.zip.Inflater;
|
||||
import java.util.zip.InflaterInputStream;
|
||||
|
||||
|
||||
|
||||
//ZLib压缩工具
|
||||
public class ZLibUtils {
|
||||
|
||||
//压缩直接数组
|
||||
public static byte[] compress(byte[] data) {
|
||||
byte[] output = new byte[0];
|
||||
|
||||
Deflater compresser = new Deflater();
|
||||
|
||||
compresser.reset();
|
||||
compresser.setInput(data);
|
||||
compresser.finish();
|
||||
ByteArrayOutputStream bos = new ByteArrayOutputStream(data.length);
|
||||
try {
|
||||
byte[] buf = new byte[1024];
|
||||
while (!compresser.finished()) {
|
||||
int i = compresser.deflate(buf);
|
||||
bos.write(buf, 0, i);
|
||||
}
|
||||
output = bos.toByteArray();
|
||||
} catch (Exception e) {
|
||||
output = data;
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
try {
|
||||
bos.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
compresser.end();
|
||||
return output;
|
||||
}
|
||||
|
||||
//压缩 字节数组到输出流
|
||||
public static void compress(byte[] data, OutputStream os) {
|
||||
DeflaterOutputStream dos = new DeflaterOutputStream(os);
|
||||
|
||||
try {
|
||||
dos.write(data, 0, data.length);
|
||||
|
||||
dos.finish();
|
||||
|
||||
dos.flush();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
//解压缩 字节数组
|
||||
public static byte[] decompress(byte[] data) {
|
||||
byte[] output = new byte[0];
|
||||
|
||||
Inflater decompresser = new Inflater();
|
||||
decompresser.reset();
|
||||
decompresser.setInput(data);
|
||||
|
||||
ByteArrayOutputStream o = new ByteArrayOutputStream(data.length);
|
||||
try {
|
||||
byte[] buf = new byte[1024];
|
||||
while (!decompresser.finished()) {
|
||||
int i = decompresser.inflate(buf);
|
||||
o.write(buf, 0, i);
|
||||
}
|
||||
output = o.toByteArray();
|
||||
} catch (Exception e) {
|
||||
output = data;
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
try {
|
||||
o.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
decompresser.end();
|
||||
return output;
|
||||
}
|
||||
|
||||
//解压缩 输入流 到字节数组
|
||||
public static byte[] decompress(InputStream is) {
|
||||
InflaterInputStream iis = new InflaterInputStream(is);
|
||||
ByteArrayOutputStream o = new ByteArrayOutputStream(1024);
|
||||
try {
|
||||
int i = 1024;
|
||||
byte[] buf = new byte[i];
|
||||
|
||||
while ((i = iis.read(buf, 0, i)) > 0) {
|
||||
o.write(buf, 0, i);
|
||||
}
|
||||
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return o.toByteArray();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
@@ -42,6 +42,7 @@ public class SnowflakeIdWorker3rd {
|
||||
// ==============================Constructors=====================================
|
||||
|
||||
public SnowflakeIdWorker3rd() {
|
||||
// No Args Constructors
|
||||
}
|
||||
|
||||
// ==============================Test=============================================
|
||||
|
||||
+3
-4
@@ -1,7 +1,6 @@
|
||||
package com.cf.imes.module.executor.util.fileConversion.admin.files.excel;
|
||||
|
||||
import com.alibaba.excel.EasyExcel;
|
||||
|
||||
import com.alibaba.excel.EasyExcelFactory;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.nacos.common.utils.StringUtils;
|
||||
@@ -41,7 +40,7 @@ public class ExcelReadUtil { // 文件读取
|
||||
ExcelListener excelListener = new ExcelListener();
|
||||
|
||||
// 读文件
|
||||
EasyExcel.read(file.getInputStream(), excelListener).headRowNumber(-1).sheet().doRead();
|
||||
EasyExcelFactory.read(file.getInputStream(), excelListener).headRowNumber(-1).sheet().doRead();
|
||||
|
||||
Map<String, Object> orderMap = new HashMap<>();// order
|
||||
List<Map<Integer, String>> dataLists = excelListener.getDataLists();// 读取的内容
|
||||
@@ -586,7 +585,7 @@ public class ExcelReadUtil { // 文件读取
|
||||
if (!flag) {
|
||||
isErr.getAndIncrement();
|
||||
}
|
||||
JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(errList));// 错误列表
|
||||
JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(errList));// 错误列表
|
||||
vo.setResult(String.valueOf(jsonArray));
|
||||
return flag;
|
||||
}
|
||||
|
||||
+1
@@ -1,5 +1,6 @@
|
||||
package com.cf.imes.module.executor.util.fileConversion.admin.files.xml;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.alibaba.nacos.common.utils.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
|
||||
|
||||
Reference in New Issue
Block a user