mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
api导入改善
This commit is contained in:
+4
@@ -47,6 +47,7 @@ public class ErrorCodeConstants {
|
|||||||
public static final ErrorCode ORDER_BODY_NOT_EXISTS = new ErrorCode(1_002_029_004, "当前柜体不存在");
|
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 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 APP_TOKEN_ERROR = new ErrorCode(1_002_029_007, "token获取失败");
|
||||||
|
public static final ErrorCode ORDER_NOT_FOUND = new ErrorCode(1_002_029_006, "生产单不存在");
|
||||||
public static final ErrorCode PLATE_PLAN_DATA_ERROR = new ErrorCode(1_002_029_008, "板材生产数据获取错误或此单不存在");
|
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 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 PARTS_DATA_ERROR = new ErrorCode(1_002_029_009, "配件数据获取错误");
|
||||||
@@ -56,10 +57,13 @@ public class ErrorCodeConstants {
|
|||||||
public static final ErrorCode ORDER_STATUS_CONFLICT = new ErrorCode(1_002_029_006, "生产单状态冲突,禁止投入生产");
|
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_READ_ERR = new ErrorCode(1_002_029_006, "订单列表获取失败,请刷新重试");
|
||||||
public static final ErrorCode ORDER_DATE_ERR = new ErrorCode(1_002_029_006, "获取订单列表,时间超出范围,请在30天范围内选择");
|
public static final ErrorCode ORDER_DATE_ERR = new ErrorCode(1_002_029_006, "获取订单列表,时间超出范围,请在30天范围内选择");
|
||||||
|
public static final ErrorCode ORDER_DETAIL_DATE_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 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_DELETED_ERR = new ErrorCode(1_002_029_006, "生产单删除失败");
|
||||||
public static final ErrorCode ORDER_RESTORE_ERR = new ErrorCode(1_002_029_006, "生产单还原失败");
|
public static final ErrorCode ORDER_RESTORE_ERR = new ErrorCode(1_002_029_006, "生产单还原失败");
|
||||||
|
public static final ErrorCode DATA_ERR = new ErrorCode(1_002_030_000, "当前正在导入,请稍后");
|
||||||
|
public static final ErrorCode LOCK_ERR = new ErrorCode(1_002_030_001, "当前存在导入情况,请稍后");
|
||||||
|
|
||||||
// ========== 自定义板编号生成 ==========
|
// ========== 自定义板编号生成 ==========
|
||||||
public static final ErrorCode CUSTOM_PLATENO_GENERATE_ORDERNO_RULE_NOT_SUPPORT_RESETMODE = new ErrorCode(1_002_030_001, "自定义版编号生产单序号规则中存在不支持的复位类型:{}");
|
public static final ErrorCode CUSTOM_PLATENO_GENERATE_ORDERNO_RULE_NOT_SUPPORT_RESETMODE = new ErrorCode(1_002_030_001, "自定义版编号生产单序号规则中存在不支持的复位类型:{}");
|
||||||
|
|||||||
+6
-34
@@ -217,48 +217,20 @@ public class OrderController {
|
|||||||
try {
|
try {
|
||||||
orderId = (Long) identifierGenerator.nextId(null);
|
orderId = (Long) identifierGenerator.nextId(null);
|
||||||
Long organId = getUserOrganId();
|
Long organId = getUserOrganId();
|
||||||
JSONObject oauth = apiDataAchieve.getApiToken(organId).get();
|
|
||||||
String token = oauth.getJSONObject("info").getString("access_token");
|
Long id = orderService.importApiData(apiTypeRealize.apiDataChange(orderNo, orderId, organId));
|
||||||
String shopId = oauth.getJSONObject("info").getString("shop_id");
|
|
||||||
JSONObject order = apiDataAchieve.getApiOrder(token, shopId, orderNo).get();
|
|
||||||
if (!order.getString("err_code").equals("0")) {
|
|
||||||
throw exception(PLATE_PLAN_DATA_ERROR);
|
|
||||||
}
|
|
||||||
if (order.getJSONArray("data") == null) {
|
|
||||||
throw exception(PLATE_PLAN_DATA_NULL);
|
|
||||||
}
|
|
||||||
JSONObject dataPlates = apiDataAchieve.getApiPlateProData(token, orderNo).get();
|
|
||||||
JSONObject dataParts = apiDataAchieve.getApiPartsMessage(token, orderNo).get();
|
|
||||||
JSONObject dataBody = apiDataAchieve.getApiBodyMessage(token, orderNo).get();
|
|
||||||
JSONObject dataGoods = apiDataAchieve.getApiGoodsMessage(token, orderNo).get();
|
|
||||||
JSONObject plate = apiDataAchieve.getApiPlateDetailMessage(token, orderNo).get();
|
|
||||||
JSONObject dataModule = apiDataAchieve.getApiGroupMessage(token, orderNo).get();
|
|
||||||
JSONObject block = apiDataAchieve.getApiBlocksMessage(token, orderNo).get();
|
|
||||||
Map<String, Object> listMap = apiTypeRealize.apiPlateDataChange(
|
|
||||||
token,
|
|
||||||
order,
|
|
||||||
dataPlates,//板件生产信息
|
|
||||||
dataParts,// 配件信息
|
|
||||||
dataBody, // 柜体信息
|
|
||||||
dataGoods, // 商品信息
|
|
||||||
plate, // 板件明细
|
|
||||||
dataModule,// 加工组信息
|
|
||||||
block,// 板材数据
|
|
||||||
orderNo,// 原始生产单号
|
|
||||||
orderId,// 生成生产单号
|
|
||||||
organId);
|
|
||||||
Long id = orderService.importApiData(listMap);
|
|
||||||
return success(String.valueOf(id));
|
return success(String.valueOf(id));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(errKey, e);
|
|
||||||
return success(e.getMessage());
|
|
||||||
} finally {
|
|
||||||
// 进行判断,为空,写入时出现了错误,数据库数据回滚,此时删除 ES 里的数据
|
// 进行判断,为空,写入时出现了错误,数据库数据回滚,此时删除 ES 里的数据
|
||||||
OrderDO orderDO = orderMapper.selectById(orderId);
|
OrderDO orderDO = orderMapper.selectById(orderId);
|
||||||
if (orderDO == null) {
|
if (orderDO == null) {
|
||||||
orderInputProcessor.deleteByOrderId(orderId, ORDER_PLATE_MODEL);
|
orderInputProcessor.deleteByOrderId(orderId, ORDER_PLATE_MODEL);
|
||||||
orderInputProcessor.deleteByOrderId(orderId, ORDER_PLATE_MODEL_COMPRESS);
|
orderInputProcessor.deleteByOrderId(orderId, ORDER_PLATE_MODEL_COMPRESS);
|
||||||
}
|
}
|
||||||
|
log.error(errKey, e);
|
||||||
|
return success(e.getMessage());
|
||||||
|
} finally {
|
||||||
redisLockUtil.unlock(lockKey);
|
redisLockUtil.unlock(lockKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-2
@@ -8,6 +8,7 @@ import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderBodyRe
|
|||||||
import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderRoomBodyRespVO;
|
import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderRoomBodyRespVO;
|
||||||
import com.cf.imes.module.executor.controller.admin.orderParts.vo.OrderPartsRespVO;
|
import com.cf.imes.module.executor.controller.admin.orderParts.vo.OrderPartsRespVO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
||||||
|
import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiDataTypeVo;
|
||||||
import org.springframework.boot.system.ApplicationHome;
|
import org.springframework.boot.system.ApplicationHome;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
@@ -102,10 +103,10 @@ public interface OrderService {
|
|||||||
void updateRestoreBody(Long orderId , Set<Long> roomId, Long bodyId, Integer status);
|
void updateRestoreBody(Long orderId , Set<Long> roomId, Long bodyId, Integer status);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param listMap:生产单号
|
* @param apiDataTypeVo:生产单号
|
||||||
* @return Boolean
|
* @return Boolean
|
||||||
*/
|
*/
|
||||||
Long importApiData(Map<String, Object> listMap);
|
Long importApiData(ApiDataTypeVo apiDataTypeVo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 文件数据导入
|
* 文件数据导入
|
||||||
|
|||||||
+13
-12
@@ -59,6 +59,7 @@ import com.cf.imes.module.executor.service.plan.PlanService;
|
|||||||
import com.cf.imes.module.executor.util.deviseData.structure.FieldConstants;
|
import com.cf.imes.module.executor.util.deviseData.structure.FieldConstants;
|
||||||
import com.cf.imes.module.executor.util.deviseData.structure.PlateDetail;
|
import com.cf.imes.module.executor.util.deviseData.structure.PlateDetail;
|
||||||
import com.cf.imes.module.executor.util.fileConversion.admin.SnowflakeIdWorker3rd;
|
import com.cf.imes.module.executor.util.fileConversion.admin.SnowflakeIdWorker3rd;
|
||||||
|
import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiDataTypeVo;
|
||||||
import org.springframework.aop.framework.AopContext;
|
import org.springframework.aop.framework.AopContext;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@@ -398,8 +399,8 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Long importApiData(Map<String, Object> listMap) {
|
public Long importApiData(ApiDataTypeVo apiDataTypeVo) {
|
||||||
OrderDO order = (OrderDO) listMap.get(FieldConstants.ORDER);
|
OrderDO order = apiDataTypeVo.getOrderDO();
|
||||||
if (order != null) {
|
if (order != null) {
|
||||||
//判断是否已经导入
|
//判断是否已经导入
|
||||||
// if (!validateOrderNoExists(order.getApiOrderId(), OrganContextHolder.getOrganId())) {
|
// if (!validateOrderNoExists(order.getApiOrderId(), OrganContextHolder.getOrganId())) {
|
||||||
@@ -415,15 +416,15 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
order.setSplitter(nickName);
|
order.setSplitter(nickName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
List<GoodsDO> goodsDO = (List<GoodsDO>) listMap.get(FieldConstants.GOODS);
|
List<GoodsDO> goodsDO = new ArrayList<>(apiDataTypeVo.getMapGoodsDO().values());
|
||||||
List<RawGoodsDO> rawGoodsDO = (List<RawGoodsDO>) listMap.get(FieldConstants.RAW_GOODS);
|
List<RawGoodsDO> rawGoodsDO = new ArrayList<>(apiDataTypeVo.getMapRawGoodsDO().values());
|
||||||
List<OrderBodyDO> bodyDO = (List<OrderBodyDO>) listMap.get(FieldConstants.BODY);
|
List<OrderBodyDO> bodyDO = new ArrayList<>(apiDataTypeVo.getMapOrderBodyDO().values());
|
||||||
List<OrderGroupDO> groupDO = (List<OrderGroupDO>) listMap.get(FieldConstants.GROUP);
|
List<OrderGroupDO> groupDO = new ArrayList<>(apiDataTypeVo.getMapOrderGroupDO().values());
|
||||||
List<OrderPartsDO> partsDO = (List<OrderPartsDO>) listMap.get(FieldConstants.PARTS);
|
List<OrderPartsDO> partsDO = new ArrayList<>(apiDataTypeVo.getMapPartsInfos().values());
|
||||||
List<PlateDO> plateDO = (List<PlateDO>) listMap.get(FieldConstants.PLATE);
|
List<PlateDO> plateDO = new ArrayList<>(apiDataTypeVo.getMapPlatesInfos().values());
|
||||||
List<PlateDetail> plateDetail = (List<PlateDetail>) listMap.get(FieldConstants.PLATE_DETAIL);
|
List<PlateDetail> plateDetail = new ArrayList<>(apiDataTypeVo.getMapPlateDetails().values());
|
||||||
List<OrderItemDO> itemDO = (List<OrderItemDO>) listMap.get(FieldConstants.ITEM);
|
List<OrderItemDO> itemDO = apiDataTypeVo.getMapItem();
|
||||||
List<OrderPartsRemark> partsRemark = (List<OrderPartsRemark>) listMap.get(FieldConstants.PARTS_REMARK);
|
List<OrderPartsRemark> partsRemark = new ArrayList<>(apiDataTypeVo.getMapPartRemarks().values());
|
||||||
|
|
||||||
Map<String, List<?>> map = getPlateGoods(goodsDO);// 检验商品板材信息是否存在
|
Map<String, List<?>> map = getPlateGoods(goodsDO);// 检验商品板材信息是否存在
|
||||||
goodsDO = (List<GoodsDO>) map.get(FieldConstants.GOODS);
|
goodsDO = (List<GoodsDO>) map.get(FieldConstants.GOODS);
|
||||||
@@ -448,7 +449,7 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
// 保存压缩的数据
|
// 保存压缩的数据
|
||||||
orderInputProcessor.batchSaveCompressModel(Collections.singletonList(orderModelCompressDO));
|
orderInputProcessor.batchSaveCompressModel(Collections.singletonList(orderModelCompressDO));
|
||||||
}
|
}
|
||||||
if (partsRemark != null && !partsRemark.isEmpty()) {
|
if (!partsRemark.isEmpty()) {
|
||||||
orderInputProcessor.batchSaveOrderPartsModel(partsRemark);
|
orderInputProcessor.batchSaveOrderPartsModel(partsRemark);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -26,9 +26,9 @@ public class PlateDetail{
|
|||||||
private String name;
|
private String name;
|
||||||
// 板id
|
// 板id
|
||||||
private Long plateId;
|
private Long plateId;
|
||||||
// 板编号
|
// 设计板编号
|
||||||
private String plateNo;
|
private String plateNo;
|
||||||
// 自定义板号
|
// 设计板编号
|
||||||
private String customPlateNo;
|
private String customPlateNo;
|
||||||
|
|
||||||
private Integer texture; //纹路 纹路(0正纹1可翻转2反纹)
|
private Integer texture; //纹路 纹路(0正纹1可翻转2反纹)
|
||||||
|
|||||||
+41
-52
@@ -2,7 +2,6 @@ package com.cf.imes.module.executor.util.fileConversion.admin.api.webcad;
|
|||||||
|
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
|
||||||
import com.cf.imes.module.system.api.application.ApplicationApi;
|
import com.cf.imes.module.system.api.application.ApplicationApi;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
@@ -10,15 +9,19 @@ import org.springframework.scheduling.annotation.AsyncResult;
|
|||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.List;
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
import java.util.concurrent.ExecutionException;
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
|
import java.util.function.BiFunction;
|
||||||
|
|
||||||
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.*;
|
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.*;
|
||||||
|
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.ORDER_NOT_FOUND;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -39,9 +42,9 @@ public class ApiDataAchieve {
|
|||||||
// 重复使用的常量
|
// 重复使用的常量
|
||||||
private static final String ORDER_NO_KEY = "order_no";
|
private static final String ORDER_NO_KEY = "order_no";
|
||||||
private static final String CURR_PAGE_KEY = "curr_page";
|
private static final String CURR_PAGE_KEY = "curr_page";
|
||||||
private static final String PAGE_COUNT_KEY = "page_count";
|
private static final String PAGE_COUNT_KEY = "page_count"; //请求
|
||||||
private static final String ERR_CODE_KEY = "err_code";
|
private static final String ERR_CODE_KEY = "err_code";
|
||||||
private static final String PAGECOUNT_KEY = "PageCount";
|
private static final String ALL_PAGE_COUNT_KEY = "PageCount"; // 页数
|
||||||
private static final String VALUE_KEY = "value";
|
private static final String VALUE_KEY = "value";
|
||||||
private static final String GOODS_ID = "goods_id";
|
private static final String GOODS_ID = "goods_id";
|
||||||
|
|
||||||
@@ -56,45 +59,35 @@ public class ApiDataAchieve {
|
|||||||
if (!json.getString("err_msg").equals("success")) {
|
if (!json.getString("err_msg").equals("success")) {
|
||||||
throw exception(APP_TOKEN_ERROR);
|
throw exception(APP_TOKEN_ERROR);
|
||||||
}
|
}
|
||||||
// String token = json.getJSONObject("info").getString("access_token");
|
|
||||||
return new AsyncResult<>(json);
|
return new AsyncResult<>(json);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取板件生产数据信息
|
// 获取板件生产数据信息
|
||||||
@Async
|
public JSONObject getApiPlateProData(String token, String orderNo) {
|
||||||
public Future<JSONObject> getApiPlateProData(String token, String orderNo) {
|
|
||||||
JSONObject jsonPlatesData = new JSONObject();
|
JSONObject jsonPlatesData = new JSONObject();
|
||||||
jsonPlatesData.put(ORDER_NO_KEY, "N" + orderNo);//生产单号需要传入赋值
|
jsonPlatesData.put(ORDER_NO_KEY, "N" + orderNo);//生产单号需要传入赋值
|
||||||
jsonPlatesData.put("format", "json");
|
jsonPlatesData.put("format", "json");
|
||||||
jsonPlatesData.put("version", "3");
|
jsonPlatesData.put("version", "3");
|
||||||
JSONObject dataPlates = apiDataProduction.getApiOrderMessage(token, jsonPlatesData);
|
JSONObject dataPlates = apiDataProduction.getApiOrderMessage(token, jsonPlatesData);
|
||||||
return new AsyncResult<>(dataPlates);
|
return dataPlates;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取配件信息 分页获取
|
// 获取配件信息 分页获取
|
||||||
@Async
|
public JSONObject getApiPartsMessage(String token, String orderNo, JSONObject jsonParts) {
|
||||||
public Future<JSONObject> getApiPartsMessage(String token, String orderNo) {
|
|
||||||
JSONObject jsonParts = new JSONObject();
|
|
||||||
jsonParts.put(CURR_PAGE_KEY, 1);
|
|
||||||
jsonParts.put(PAGE_COUNT_KEY, PARTS_PAGE_MAX);
|
|
||||||
jsonParts.put(ORDER_NO_KEY, "N" + orderNo);
|
|
||||||
JSONObject parts = apiDataProduction.getApiOrderPartsMessage(token, jsonParts);
|
JSONObject parts = apiDataProduction.getApiOrderPartsMessage(token, jsonParts);
|
||||||
if (!parts.getString(ERR_CODE_KEY).equals("0")) {
|
if (!parts.getString(ERR_CODE_KEY).equals("0")) {
|
||||||
log.error("配件数据获取错误" + "N" + orderNo);
|
log.error("配件数据获取错误" + "N" + orderNo);
|
||||||
throw exception(PARTS_DATA_ERROR);
|
throw exception(PARTS_DATA_ERROR);
|
||||||
}
|
}
|
||||||
JSONObject dataParts = new JSONObject();
|
if (parts.getJSONObject(VALUE_KEY).getJSONArray("List") == null || parts.getJSONObject(VALUE_KEY).getJSONArray("List").isEmpty()) {
|
||||||
for (int i = 1; i <= parts.getJSONObject(VALUE_KEY).getInteger(PAGECOUNT_KEY); i++) {
|
return null;
|
||||||
jsonParts.put(CURR_PAGE_KEY, i);
|
|
||||||
JSONObject value = apiDataProduction.getApiOrderPartsMessage(token, jsonParts);
|
|
||||||
dataParts = mergeJSONObjects(dataParts, value);
|
|
||||||
}
|
}
|
||||||
return new AsyncResult<>(dataParts);
|
return parts;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 柜体信息转换
|
// 柜体信息转换
|
||||||
@Async
|
public JSONObject getApiBodyMessage(String token, String orderNo) {
|
||||||
public Future<JSONObject> getApiBodyMessage(String token, String orderNo) {
|
|
||||||
JSONObject jsonBody = new JSONObject();
|
JSONObject jsonBody = new JSONObject();
|
||||||
jsonBody.put(CURR_PAGE_KEY, 1);
|
jsonBody.put(CURR_PAGE_KEY, 1);
|
||||||
jsonBody.put(PAGE_COUNT_KEY, PARTS_PAGE_MAX);
|
jsonBody.put(PAGE_COUNT_KEY, PARTS_PAGE_MAX);
|
||||||
@@ -105,17 +98,17 @@ public class ApiDataAchieve {
|
|||||||
throw exception(BODY_DATA_ERROR);
|
throw exception(BODY_DATA_ERROR);
|
||||||
}
|
}
|
||||||
JSONObject dataBody = new JSONObject();
|
JSONObject dataBody = new JSONObject();
|
||||||
for (int i = 1; i <= body.getJSONObject(VALUE_KEY).getInteger(PAGECOUNT_KEY); i++) {
|
for (int i = 1; i <= body.getJSONObject(VALUE_KEY).getInteger(ALL_PAGE_COUNT_KEY); i++) {
|
||||||
jsonBody.put(CURR_PAGE_KEY, i);
|
jsonBody.put(CURR_PAGE_KEY, i);
|
||||||
JSONObject value = apiDataProduction.getApiOrderBodyMessage(token, jsonBody);
|
JSONObject value = apiDataProduction.getApiOrderBodyMessage(token, jsonBody);
|
||||||
dataBody = mergeJSONObjects(dataBody, value);
|
dataBody = mergeJSONObjects(dataBody, value);
|
||||||
}
|
}
|
||||||
return new AsyncResult<>(dataBody);
|
return dataBody;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 商品信息转换
|
// 商品信息转换
|
||||||
@Async
|
public JSONObject getApiGoodsMessage(String token, String orderNo) {
|
||||||
public Future<JSONObject> getApiGoodsMessage(String token, String orderNo) {
|
|
||||||
JSONObject jsonGoods = new JSONObject();
|
JSONObject jsonGoods = new JSONObject();
|
||||||
jsonGoods.put(CURR_PAGE_KEY, 1);
|
jsonGoods.put(CURR_PAGE_KEY, 1);
|
||||||
jsonGoods.put(PAGE_COUNT_KEY, PARTS_PAGE_MAX);
|
jsonGoods.put(PAGE_COUNT_KEY, PARTS_PAGE_MAX);
|
||||||
@@ -126,47 +119,38 @@ public class ApiDataAchieve {
|
|||||||
throw exception(GOODS_DATA_ERROR);
|
throw exception(GOODS_DATA_ERROR);
|
||||||
}
|
}
|
||||||
JSONObject dataGoods = new JSONObject();
|
JSONObject dataGoods = new JSONObject();
|
||||||
for (int i = 1; i <= goods.getJSONObject(VALUE_KEY).getInteger(PAGECOUNT_KEY); i++) {
|
for (int i = 1; i <= goods.getJSONObject(VALUE_KEY).getInteger(ALL_PAGE_COUNT_KEY); i++) {
|
||||||
jsonGoods.put(CURR_PAGE_KEY, i);
|
jsonGoods.put(CURR_PAGE_KEY, i);
|
||||||
JSONObject value = apiDataProduction.getApiOrderGoodsMessage(token, jsonGoods);
|
JSONObject value = apiDataProduction.getApiOrderGoodsMessage(token, jsonGoods);
|
||||||
dataGoods = mergeJSONObjects(dataGoods, value);
|
dataGoods = mergeJSONObjects(dataGoods, value);
|
||||||
}
|
}
|
||||||
return new AsyncResult<>(dataGoods);
|
|
||||||
|
return dataGoods;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 板材明细信息转换
|
// 板材明细信息转换
|
||||||
@Async
|
public JSONObject getApiPlateDetailMessage(String token, String orderNo, JSONObject jsonPlates) {
|
||||||
public Future<JSONObject> getApiPlateDetailMessage(String token, String orderNo) {
|
|
||||||
JSONObject jsonPlates = new JSONObject();
|
|
||||||
jsonPlates.put(CURR_PAGE_KEY, 1);
|
|
||||||
jsonPlates.put(PAGE_COUNT_KEY, PARTS_PAGE_MAX);
|
|
||||||
jsonPlates.put(ORDER_NO_KEY, "N" + orderNo);
|
|
||||||
JSONObject plates = apiDataProduction.getApiBlocksDataMessage(token, jsonPlates);
|
JSONObject plates = apiDataProduction.getApiBlocksDataMessage(token, jsonPlates);
|
||||||
if (!plates.getString(ERR_CODE_KEY).equals("0")) {
|
if (!plates.getString(ERR_CODE_KEY).equals("0")) {
|
||||||
log.error("板材明细获取错误" + "N" + orderNo);
|
log.error("板材明细获取错误" + "N" + orderNo);
|
||||||
throw exception(PLATE_DATA_ERROR);
|
throw exception(PLATE_DATA_ERROR);
|
||||||
}
|
}
|
||||||
JSONObject plate = new JSONObject();
|
if (plates.getJSONObject(VALUE_KEY).getJSONArray("List") == null || plates.getJSONObject(VALUE_KEY).getJSONArray("List").isEmpty()) {
|
||||||
for (int i = 1; i <= plates.getJSONObject(VALUE_KEY).getInteger(PAGECOUNT_KEY); i++) {
|
return null;
|
||||||
jsonPlates.put(CURR_PAGE_KEY, i);
|
|
||||||
JSONObject value = apiDataProduction.getApiBlocksDataMessage(token, jsonPlates);
|
|
||||||
plate = mergeJSONObjects(plate, value);
|
|
||||||
}
|
}
|
||||||
return new AsyncResult<>(plate);
|
return plates;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 加工组信息转换
|
// 加工组信息转换
|
||||||
@Async
|
public JSONObject getApiGroupMessage(String token, String orderNo) {
|
||||||
public Future<JSONObject> getApiGroupMessage(String token, String orderNo) {
|
|
||||||
JSONObject jsonModule = new JSONObject();
|
JSONObject jsonModule = new JSONObject();
|
||||||
jsonModule.put(ORDER_NO_KEY, "N" + orderNo);
|
jsonModule.put(ORDER_NO_KEY, "N" + orderNo);
|
||||||
JSONObject dataModule = apiDataProduction.getApiModuleTypeDataMessage(token, jsonModule);
|
JSONObject dataModule = apiDataProduction.getApiModuleTypeDataMessage(token, jsonModule);
|
||||||
return new AsyncResult<>(dataModule);
|
return dataModule;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 板材数据信息转换
|
// 板材数据信息转换
|
||||||
@Async
|
public JSONObject getApiBlocksMessage(String token, String orderNo) {
|
||||||
public Future<JSONObject> getApiBlocksMessage(String token, String orderNo) {
|
|
||||||
JSONObject jsonBlocks = new JSONObject();
|
JSONObject jsonBlocks = new JSONObject();
|
||||||
jsonBlocks.put(CURR_PAGE_KEY, 1);
|
jsonBlocks.put(CURR_PAGE_KEY, 1);
|
||||||
jsonBlocks.put(PAGE_COUNT_KEY, PARTS_PAGE_MAX);
|
jsonBlocks.put(PAGE_COUNT_KEY, PARTS_PAGE_MAX);
|
||||||
@@ -176,12 +160,12 @@ public class ApiDataAchieve {
|
|||||||
log.error("板材数据获取错误" + "N" + orderNo);
|
log.error("板材数据获取错误" + "N" + orderNo);
|
||||||
}
|
}
|
||||||
JSONObject block = new JSONObject();
|
JSONObject block = new JSONObject();
|
||||||
for (int i = 1; i <= blocks.getJSONObject(VALUE_KEY).getInteger(PAGECOUNT_KEY); i++) {
|
for (int i = 1; i <= blocks.getJSONObject(VALUE_KEY).getInteger(ALL_PAGE_COUNT_KEY); i++) {
|
||||||
jsonBlocks.put(CURR_PAGE_KEY, i);
|
jsonBlocks.put(CURR_PAGE_KEY, i);
|
||||||
JSONObject value = apiDataProduction.getApiBlocksMessage(token, jsonBlocks);
|
JSONObject value = apiDataProduction.getApiBlocksMessage(token, jsonBlocks);
|
||||||
block = mergeJSONObjects(block, value);
|
block = mergeJSONObjects(block, value);
|
||||||
}
|
}
|
||||||
return new AsyncResult<>(block);
|
return block;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 商品列表信息转换
|
// 商品列表信息转换
|
||||||
@@ -197,14 +181,21 @@ public class ApiDataAchieve {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 订单获取
|
// 订单获取
|
||||||
public Future<JSONObject> getApiOrder(String token, String shopId, String orderNo) {
|
public JSONObject getApiOrder(String token, String orderNo) {
|
||||||
JSONObject jsonOrders = new JSONObject();
|
JSONObject jsonOrders = new JSONObject();
|
||||||
orderNo = "N" +orderNo;
|
orderNo = "N" +orderNo;
|
||||||
JSONArray orderList = new JSONArray();
|
JSONArray orderList = new JSONArray();
|
||||||
orderList.add(orderNo.replace(" ", ""));
|
orderList.add(orderNo.replace(" ", ""));
|
||||||
jsonOrders.put(ORDER_NO_KEY, orderList);
|
jsonOrders.put(ORDER_NO_KEY, orderList);
|
||||||
JSONObject order = apiDataProduction.getApiOrderList(token, jsonOrders);
|
JSONObject order = apiDataProduction.getApiOrderList(token, jsonOrders);
|
||||||
return new AsyncResult<>(order);
|
|
||||||
|
if (!order.getString(ProduceApiConstants.CODE).equals("0") ||
|
||||||
|
order.getJSONArray(ProduceApiConstants.DATA) == null ||
|
||||||
|
order.getJSONArray(ProduceApiConstants.DATA).isEmpty()) {
|
||||||
|
throw exception(ORDER_NOT_FOUND);
|
||||||
|
}
|
||||||
|
|
||||||
|
return order;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 订单列表
|
// 订单列表
|
||||||
@@ -281,7 +272,6 @@ public class ApiDataAchieve {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mergedObj.put("List", mergedList);
|
mergedObj.put("List", mergedList);
|
||||||
// System.out.println(mergedObj);
|
|
||||||
return mergedObj;
|
return mergedObj;
|
||||||
|
|
||||||
|
|
||||||
@@ -328,7 +318,6 @@ public class ApiDataAchieve {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mergedObj.put("data", mergedList);
|
mergedObj.put("data", mergedList);
|
||||||
// System.out.println(mergedObj);
|
|
||||||
return mergedObj;
|
return mergedObj;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+59
@@ -0,0 +1,59 @@
|
|||||||
|
package com.cf.imes.module.executor.util.fileConversion.admin.api.webcad;
|
||||||
|
|
||||||
|
import com.cf.imes.module.executor.controller.admin.orderParts.vo.OrderPartsRemark;
|
||||||
|
import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO;
|
||||||
|
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
||||||
|
import com.cf.imes.module.executor.dal.dataobject.orderBody.OrderBodyDO;
|
||||||
|
import com.cf.imes.module.executor.dal.dataobject.orderGroup.OrderGroupDO;
|
||||||
|
import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO;
|
||||||
|
import com.cf.imes.module.executor.dal.dataobject.orderParts.OrderPartsDO;
|
||||||
|
import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO;
|
||||||
|
import com.cf.imes.module.executor.dal.dataobject.plate.PlateGoodDO;
|
||||||
|
import com.cf.imes.module.executor.dal.dataobject.rawgoods.RawGoodsDO;
|
||||||
|
import com.cf.imes.module.executor.util.deviseData.structure.PlateDetail;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* api数据转换中可能用到的数据结构
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class ApiDataTypeVo {
|
||||||
|
|
||||||
|
|
||||||
|
public OrderDO orderDO;
|
||||||
|
|
||||||
|
public Map<String, RawGoodsDO> mapRawGoodsDO;
|
||||||
|
public Map<String, GoodsDO> mapGoodsDO;
|
||||||
|
|
||||||
|
public Map<String, OrderBodyDO> mapOrderBodyDO;
|
||||||
|
|
||||||
|
public Map<String, OrderGroupDO> mapOrderGroupDO; // 加工组id 和 加工组信息
|
||||||
|
public Map<String, List<String>> mapGroupLists;// 加工组id 和 小板配件itemId
|
||||||
|
|
||||||
|
public Map<String, List<OrderItemDO>> mapItemByGroup;
|
||||||
|
public List<OrderItemDO> mapItem;
|
||||||
|
|
||||||
|
public Map<String, OrderPartsDO> mapPartsInfos;
|
||||||
|
public Map<String, OrderPartsRemark> mapPartRemarks;
|
||||||
|
|
||||||
|
public Map<String, PlateDetail> mapPlateDetails; // 造型数据
|
||||||
|
|
||||||
|
public Map<String, PlateDO> mapPlatesInfos; // 小板数据
|
||||||
|
// 柜体板块片数,柜体异形板片数
|
||||||
|
public Map<String, Integer> totalPlateCountMapToBody;
|
||||||
|
public Map<String, Integer> irregularPlateCountMapToBody;
|
||||||
|
|
||||||
|
// 加工组板块片数,加工组异形板片数
|
||||||
|
public Map<String, Integer> totalPlateCountMapToGroup;
|
||||||
|
public Map<String, Integer> irregularPlateCountMapToGroup;
|
||||||
|
}
|
||||||
|
|
||||||
+920
-772
File diff suppressed because it is too large
Load Diff
+7
-1
@@ -11,6 +11,12 @@ public class ProduceApiConstants {
|
|||||||
public static final String CODE = "err_code";
|
public static final String CODE = "err_code";
|
||||||
public static final String ZERO = "0";
|
public static final String ZERO = "0";
|
||||||
public static final String ONE = "1";
|
public static final String ONE = "1";
|
||||||
|
public static final String PAGE_COUNT = "PageCount";
|
||||||
|
|
||||||
|
// 请求发送
|
||||||
|
public static final String ORDER_NO_KEY = "order_no";
|
||||||
|
public static final String CURR_PAGE_KEY = "curr_page";
|
||||||
|
public static final String PAGE_COUNT_KEY = "page_count"; //请求
|
||||||
|
|
||||||
// ========== getApiOrderPartsMessage partsList 配件明细模块 ==========
|
// ========== getApiOrderPartsMessage partsList 配件明细模块 ==========
|
||||||
public static final String GD_GOODS_SN = "goods_sn"; // 用户自定义配件编号
|
public static final String GD_GOODS_SN = "goods_sn"; // 用户自定义配件编号
|
||||||
@@ -156,7 +162,7 @@ public class ProduceApiConstants {
|
|||||||
public static final String BG_THICKNESS = "Thickness"; // 厚
|
public static final String BG_THICKNESS = "Thickness"; // 厚
|
||||||
public static final String BG_AREA = "Area"; // 面积
|
public static final String BG_AREA = "Area"; // 面积
|
||||||
public static final String BG_WAVE = "Wave"; // 纹路(正纹 = 0, 可翻转 = 1, 反纹 = 2 )
|
public static final String BG_WAVE = "Wave"; // 纹路(正纹 = 0, 可翻转 = 1, 反纹 = 2 )
|
||||||
public static final String BG_SEAL = "Seal"; // 封边信息(格式:左封边,右封边,上封边,下封边)
|
public static final String BG_SEAL = "Seal"; // 封边信息(格式:左封边,右封边,上封边,下封边) 信息不可以用,信息不全
|
||||||
public static final String BG_IS_UN_REGULAR = "IsUnRegular"; // 是否异形
|
public static final String BG_IS_UN_REGULAR = "IsUnRegular"; // 是否异形
|
||||||
public static final String BG_IS_MODEL = "IsModel"; // 是否造型
|
public static final String BG_IS_MODEL = "IsModel"; // 是否造型
|
||||||
public static final String BG_IS_HOLE = "IsHole"; // 是否有孔
|
public static final String BG_IS_HOLE = "IsHole"; // 是否有孔
|
||||||
|
|||||||
Reference in New Issue
Block a user