mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
添加自定义板编号,28日版xml导入
This commit is contained in:
+1
@@ -40,6 +40,7 @@ public class ErrorCodeConstants {
|
|||||||
// ========== 生产单 TODO 补充编号 ==========
|
// ========== 生产单 TODO 补充编号 ==========
|
||||||
public static final ErrorCode PHONE_NOT_LAWFUL = new ErrorCode(1_001_116_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 CUSTOM_ORDER_EXISTS = new ErrorCode(1_001_117_000, "自定义生产单号存在");
|
||||||
|
public static final ErrorCode ORDER_EXISTS = new ErrorCode(1_001_117_000, "api导入生产单已存在");
|
||||||
public static final ErrorCode ORDER_PROCESS_NOT_EXISTS = new ErrorCode(1_001_119_001, "工序组不存在");
|
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 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 PROCESS_GROUP_NOT_EXISTS = new ErrorCode(1_002_029_003, "工序组不存在");
|
||||||
|
|||||||
+41
-40
@@ -50,6 +50,7 @@ import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper;
|
|||||||
import com.cf.imes.module.executor.dal.mysql.rawgoods.RawGoodsMapper;
|
import com.cf.imes.module.executor.dal.mysql.rawgoods.RawGoodsMapper;
|
||||||
import com.cf.imes.module.executor.enums.OrderDeletedEnum;
|
import com.cf.imes.module.executor.enums.OrderDeletedEnum;
|
||||||
import com.cf.imes.module.executor.enums.OrderStatusEnum;
|
import com.cf.imes.module.executor.enums.OrderStatusEnum;
|
||||||
|
import com.cf.imes.module.executor.service.customplateno.CustomPlateNoGenerateService;
|
||||||
import com.cf.imes.module.executor.service.plan.PlanService;
|
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;
|
||||||
@@ -135,6 +136,9 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
@Resource
|
@Resource
|
||||||
private PartsMapper partsMapper;
|
private PartsMapper partsMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CustomPlateNoGenerateService customPlateNoGenerateService;
|
||||||
|
|
||||||
|
|
||||||
private static final String SUBMIT_STATE = "1"; // 空订单 原生产系统
|
private static final String SUBMIT_STATE = "1"; // 空订单 原生产系统
|
||||||
|
|
||||||
@@ -148,10 +152,6 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
@Resource
|
@Resource
|
||||||
private PlanService planService;
|
private PlanService planService;
|
||||||
|
|
||||||
// 重复使用的常量
|
|
||||||
private static final String PLATE_GOODS_LIST_KEY = "plateGoodDOLists";
|
|
||||||
private static final String GOODSDO_KEY = "goodsDO";
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateOrder(OrderSaveReqVO updateReqVO) {
|
public void updateOrder(OrderSaveReqVO updateReqVO) {
|
||||||
// 校验存在, 生产单未删除
|
// 校验存在, 生产单未删除
|
||||||
@@ -383,8 +383,13 @@ 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(Map<String, Object> listMap) {
|
||||||
OrderDO order = (OrderDO) listMap.get("orderDO");
|
OrderDO order = (OrderDO) listMap.get(FieldConstants.ORDER);
|
||||||
if (order != null) {
|
if (order != null) {
|
||||||
|
//判断是否已经导入
|
||||||
|
// if (!validateOrderNoExists(order.getApiOrderId(), OrganContextHolder.getOrganId())) {
|
||||||
|
// throw exception(ORDER_EXISTS);
|
||||||
|
// }
|
||||||
|
|
||||||
validateCustomOrderNoExists(order.getCustomOrderNo());
|
validateCustomOrderNoExists(order.getCustomOrderNo());
|
||||||
String nickName = SecurityFrameworkUtils.getLoginUser().getNickname();
|
String nickName = SecurityFrameworkUtils.getLoginUser().getNickname();
|
||||||
if (order.getSalesman() == null || order.getSalesman().equals("")) {
|
if (order.getSalesman() == null || order.getSalesman().equals("")) {
|
||||||
@@ -393,25 +398,25 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
if (order.getSplitter() == null || order.getSplitter().equals("")) {
|
if (order.getSplitter() == null || order.getSplitter().equals("")) {
|
||||||
order.setSplitter(nickName);
|
order.setSplitter(nickName);
|
||||||
}
|
}
|
||||||
orderMapper.insert(order);
|
|
||||||
}
|
}
|
||||||
List<GoodsDO> goodsDO = (List<GoodsDO>) listMap.get(GOODSDO_KEY);
|
List<GoodsDO> goodsDO = (List<GoodsDO>) listMap.get(FieldConstants.GOODS);
|
||||||
List<RawGoodsDO> rawGoodsDO = (List<RawGoodsDO>) listMap.get("rawGoodsDO");
|
List<RawGoodsDO> rawGoodsDO = (List<RawGoodsDO>) listMap.get(FieldConstants.RAW_GOODS);
|
||||||
List<OrderBodyDO> bodyDO = (List<OrderBodyDO>) listMap.get("bodyDO");
|
List<OrderBodyDO> bodyDO = (List<OrderBodyDO>) listMap.get(FieldConstants.BODY);
|
||||||
List<OrderGroupDO> groupDO = (List<OrderGroupDO>) listMap.get("groupDO");
|
List<OrderGroupDO> groupDO = (List<OrderGroupDO>) listMap.get(FieldConstants.GROUP);
|
||||||
List<OrderPartsDO> partsDO = (List<OrderPartsDO>) listMap.get("partsDO");
|
List<OrderPartsDO> partsDO = (List<OrderPartsDO>) listMap.get(FieldConstants.PARTS);
|
||||||
List<PlateDO> plateDO = (List<PlateDO>) listMap.get(FieldConstants.PLATE);
|
List<PlateDO> plateDO = (List<PlateDO>) listMap.get(FieldConstants.PLATE);
|
||||||
List<PlateDetail> plateDetail = (List<PlateDetail>) listMap.get("plateDetail");
|
List<PlateDetail> plateDetail = (List<PlateDetail>) listMap.get(FieldConstants.PLATE_DETAIL);
|
||||||
List<OrderItemDO> itemDO = (List<OrderItemDO>) listMap.get("itemDO");
|
List<OrderItemDO> itemDO = (List<OrderItemDO>) listMap.get(FieldConstants.ITEM);
|
||||||
List<OrderPartsRemark> partsRemark = (List<OrderPartsRemark>) listMap.get("partsRemark");
|
List<OrderPartsRemark> partsRemark = (List<OrderPartsRemark>) listMap.get(FieldConstants.PARTS_REMARK);
|
||||||
|
|
||||||
Map<String, List<?>> map = getPlateGoods(goodsDO);// 检验商品板材信息是否存在
|
Map<String, List<?>> map = getPlateGoods(goodsDO);// 检验商品板材信息是否存在
|
||||||
goodsDO = (List<GoodsDO>) map.get(GOODSDO_KEY);
|
goodsDO = (List<GoodsDO>) map.get(FieldConstants.GOODS);
|
||||||
List<PlateGoodDO> plateGoodDOS = (List<PlateGoodDO>) map.get(PLATE_GOODS_LIST_KEY);
|
List<PlateGoodDO> plateGoodDOS = (List<PlateGoodDO>) map.get(FieldConstants.PLATE_GOODS_LIST_KEY);
|
||||||
// 配件信息
|
// 配件信息
|
||||||
List<PartsDO> partsDOS = getPartsGoods(partsDO);
|
List<PartsDO> partsDOS = getPartsGoods(partsDO);
|
||||||
|
|
||||||
|
customPlateNoGenerateService.generateCustomPlateNo(order, plateDO);
|
||||||
|
orderMapper.insert(order);
|
||||||
orderInputProcessor.batchInsert(rawGoodsDO, bodyDO, groupDO, partsDO, plateDO, itemDO, goodsDO, plateGoodDOS, partsDOS);
|
orderInputProcessor.batchInsert(rawGoodsDO, bodyDO, groupDO, partsDO, plateDO, itemDO, goodsDO, plateGoodDOS, partsDOS);
|
||||||
List<OrderModelDO> orderModelDOs = BeanUtils.toBean(plateDetail, OrderModelDO.class);
|
List<OrderModelDO> orderModelDOs = BeanUtils.toBean(plateDetail, OrderModelDO.class);
|
||||||
|
|
||||||
@@ -443,28 +448,27 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void importExcelData(OrderDO orderDO, Integer index, Map<String, Object> listMap) {
|
public void importExcelData(OrderDO orderDO, Integer index, Map<String, Object> listMap) {
|
||||||
insertOrder(orderDO, index);
|
|
||||||
|
|
||||||
if (!Objects.equals(orderDO.getStatus(), OrderStatusEnum.NEW_ORDER.getStatus())) {
|
if (!Objects.equals(orderDO.getStatus(), OrderStatusEnum.NEW_ORDER.getStatus())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
List<RawGoodsDO> rawGoodsDO = (List<RawGoodsDO>) listMap.get("rawGoodsDOS");
|
List<RawGoodsDO> rawGoodsDO = (List<RawGoodsDO>) listMap.get(FieldConstants.RAW_GOODS);
|
||||||
List<GoodsDO> goodsDO = (List<GoodsDO>) listMap.get("goodsDOS");
|
List<GoodsDO> goodsDO = (List<GoodsDO>) listMap.get(FieldConstants.GOODS);
|
||||||
|
|
||||||
List<OrderBodyDO> bodyDO = (List<OrderBodyDO>) listMap.get("orderBodyDOS");
|
List<OrderBodyDO> bodyDO = (List<OrderBodyDO>) listMap.get(FieldConstants.BODY);
|
||||||
List<OrderGroupDO> groupDO = (List<OrderGroupDO>) listMap.get("orderGroupDOS");
|
List<OrderGroupDO> groupDO = (List<OrderGroupDO>) listMap.get(FieldConstants.GROUP);
|
||||||
List<PlateDO> plateDO = (List<PlateDO>) listMap.get("plateDOS");
|
List<PlateDO> plateDO = (List<PlateDO>) listMap.get(FieldConstants.PLATE);
|
||||||
List<OrderPartsDO> partsDO = (List<OrderPartsDO>) listMap.get("orderPartsDOS");
|
List<OrderPartsDO> partsDO = (List<OrderPartsDO>) listMap.get(FieldConstants.PARTS);
|
||||||
List<OrderItemDO> itemDO = (List<OrderItemDO>) listMap.get("orderItemDOS");
|
List<OrderItemDO> itemDO = (List<OrderItemDO>) listMap.get(FieldConstants.ITEM);
|
||||||
// List<OrderModelDO> orderModelDOS = (List<OrderModelDO>) listMap.get("orderModelDOS");
|
List<OrderPartsRemark> orderPartsRemarks = (List<OrderPartsRemark>) listMap.get(FieldConstants.PARTS_REMARK);
|
||||||
List<OrderPartsRemark> orderPartsRemarks = (List<OrderPartsRemark>) listMap.get("orderPartsRemarks");
|
List<PlateDetail> plateDetail = (List<PlateDetail>) listMap.get(FieldConstants.PLATE_DETAIL);
|
||||||
List<PlateDetail> plateDetail = (List<PlateDetail>) listMap.get("plateDetail");
|
|
||||||
// 板材库匹配
|
// 板材库匹配
|
||||||
Map<String, List<?>> map = getPlateGoods(goodsDO);// 检验商品板材信息是否存在 excel
|
Map<String, List<?>> map = getPlateGoods(goodsDO);// 检验商品板材信息是否存在 excel
|
||||||
goodsDO = (List<GoodsDO>) map.get(GOODSDO_KEY);
|
goodsDO = (List<GoodsDO>) map.get(FieldConstants.GOODS);
|
||||||
List<PlateGoodDO> plateGoodDOS = (List<PlateGoodDO>) map.get(PLATE_GOODS_LIST_KEY);
|
List<PlateGoodDO> plateGoodDOS = (List<PlateGoodDO>) map.get(FieldConstants.PLATE_GOODS_LIST_KEY);
|
||||||
// 配件库匹配
|
// 配件库匹配
|
||||||
List<PartsDO> partsDOList = getPartsGoods(partsDO);
|
List<PartsDO> partsDOList = getPartsGoods(partsDO);
|
||||||
|
|
||||||
@@ -483,17 +487,14 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
updateOrder(BeanUtils.toBean(orderDO, OrderSaveReqVO.class));
|
updateOrder(BeanUtils.toBean(orderDO, OrderSaveReqVO.class));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
customPlateNoGenerateService.generateCustomPlateNo(orderDO, plateDO);
|
||||||
|
insertOrder(orderDO, index);
|
||||||
orderInputProcessor.batchInsert(rawGoodsDO, bodyDO, groupDO, partsDO, plateDO, itemDO, goodsDO, plateGoodDOS, partsDOList);
|
orderInputProcessor.batchInsert(rawGoodsDO, bodyDO, groupDO, partsDO, plateDO, itemDO, goodsDO, plateGoodDOS, partsDOList);
|
||||||
// if (orderModelDOS != null && !orderModelDOS.isEmpty()) {
|
|
||||||
// orderInputProcessor.batchSaveModel(orderModelDOS);
|
|
||||||
// }
|
|
||||||
if (plateDetail != null && !plateDetail.isEmpty()){
|
if (plateDetail != null && !plateDetail.isEmpty()){
|
||||||
List<OrderModelDO> orderModelDOs = BeanUtils.toBean(plateDetail, OrderModelDO.class);
|
List<OrderModelDO> orderModelDOs = BeanUtils.toBean(plateDetail, OrderModelDO.class);
|
||||||
// if (!orderModelDOs.isEmpty()) {
|
|
||||||
// orderModelDOs.forEach(orderModelDO -> orderModelDO.setOrderId(orderDO.getId()));
|
|
||||||
// System.out.println("----" + orderModelDOs);
|
|
||||||
orderInputProcessor.batchSaveModel(orderModelDOs);
|
orderInputProcessor.batchSaveModel(orderModelDOs);
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
if (orderPartsRemarks != null && !orderPartsRemarks.isEmpty()) {
|
if (orderPartsRemarks != null && !orderPartsRemarks.isEmpty()) {
|
||||||
orderInputProcessor.batchSaveOrderPartsModel(orderPartsRemarks);
|
orderInputProcessor.batchSaveOrderPartsModel(orderPartsRemarks);
|
||||||
@@ -782,8 +783,8 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
map.put(GOODSDO_KEY, goodsLists);
|
map.put(FieldConstants.GOODS, goodsLists);
|
||||||
map.put(PLATE_GOODS_LIST_KEY, plateGoodLists);
|
map.put(FieldConstants.PLATE_GOODS_LIST_KEY, plateGoodLists);
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -867,7 +868,7 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 判断是否已经导入
|
// 判断是否已经导入
|
||||||
private Boolean validateOrderNoExists(String orderNo, Long organId) {
|
private boolean validateOrderNoExists(String orderNo, Long organId) {
|
||||||
if (orderMapper.selectCount(new LambdaQueryWrapper<OrderDO>()
|
if (orderMapper.selectCount(new LambdaQueryWrapper<OrderDO>()
|
||||||
.eq(OrderDO::getApiOrderId, orderNo)
|
.eq(OrderDO::getApiOrderId, orderNo)
|
||||||
.eq(OrderDO::getDeleted, false)
|
.eq(OrderDO::getDeleted, false)
|
||||||
|
|||||||
+1
@@ -16,5 +16,6 @@ public class FieldConstants {
|
|||||||
public static final String PLATE_DETAIL = "plateDetail";
|
public static final String PLATE_DETAIL = "plateDetail";
|
||||||
|
|
||||||
public static final String PARTS_REMARK = "partsRemark";
|
public static final String PARTS_REMARK = "partsRemark";
|
||||||
|
public static final String PLATE_GOODS_LIST_KEY = "plateGoodDOLists";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-8
@@ -14,12 +14,10 @@ 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.PlateDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.rawgoods.RawGoodsDO;
|
import com.cf.imes.module.executor.dal.dataobject.rawgoods.RawGoodsDO;
|
||||||
import com.cf.imes.module.executor.enums.*;
|
import com.cf.imes.module.executor.enums.*;
|
||||||
import com.cf.imes.module.executor.service.customplateno.CustomPlateNoGenerateService;
|
|
||||||
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.deviseData.structure.*;
|
import com.cf.imes.module.executor.util.deviseData.structure.*;
|
||||||
import com.cf.imes.module.system.api.dict.DictDataApi;
|
import com.cf.imes.module.system.api.dict.DictDataApi;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.security.core.parameters.P;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@@ -50,8 +48,6 @@ public class ApiTypeRealize {
|
|||||||
@Resource
|
@Resource
|
||||||
private ApiDataAchieve apiDataAchieve;
|
private ApiDataAchieve apiDataAchieve;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private CustomPlateNoGenerateService customPlateNoGenerateService;
|
|
||||||
|
|
||||||
private static final Integer X = 0;
|
private static final Integer X = 0;
|
||||||
private static final Integer Y = 1;
|
private static final Integer Y = 1;
|
||||||
@@ -144,7 +140,7 @@ public class ApiTypeRealize {
|
|||||||
Map<Long, PlateDO> orderPlatesDO = (Map<Long, PlateDO>) platesDO.get("platesInfos");
|
Map<Long, PlateDO> orderPlatesDO = (Map<Long, PlateDO>) platesDO.get("platesInfos");
|
||||||
if (orderPlatesDO != null) {
|
if (orderPlatesDO != null) {
|
||||||
// 需要添加自定义板编号
|
// 需要添加自定义板编号
|
||||||
plateAddGroupName(orderGroupDO, groupLists, orderPlatesDO);
|
// plateAddGroupName(orderGroupDO, groupLists, orderPlatesDO);
|
||||||
map.put(FieldConstants.PLATE, new ArrayList<>(orderPlatesDO.values()));
|
map.put(FieldConstants.PLATE, new ArrayList<>(orderPlatesDO.values()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -782,8 +778,9 @@ public class ApiTypeRealize {
|
|||||||
.filterType("")
|
.filterType("")
|
||||||
.remark(remark)
|
.remark(remark)
|
||||||
.organId(organId)
|
.organId(organId)
|
||||||
// .roomName(bodyInfos.get(plate.getLong(ProduceApiConstants.BD_BOX_ID)).getRoomName())
|
.roomName(bodyInfos.get(plate.getLong(ProduceApiConstants.BD_BOX_ID)).getRoomName())
|
||||||
// .bodyName(bodyInfos.get(plate.getLong(ProduceApiConstants.BD_BOX_ID)).getName())
|
.bodyName(bodyInfos.get(plate.getLong(ProduceApiConstants.BD_BOX_ID)).getName())
|
||||||
|
.customPlateNo(new StringBuilder())
|
||||||
.build();
|
.build();
|
||||||
// item 明细
|
// item 明细
|
||||||
OrderItemDO itemPlate = OrderItemDO.builder()
|
OrderItemDO itemPlate = OrderItemDO.builder()
|
||||||
@@ -913,7 +910,7 @@ public class ApiTypeRealize {
|
|||||||
map.put(Long.valueOf(blockNo), block);
|
map.put(Long.valueOf(blockNo), block);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.out.println("map 板材 " + map);
|
// System.out.println("map 板材 " + map);
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+19
-40
@@ -17,6 +17,7 @@ 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.dal.dataobject.rawgoods.RawGoodsDO;
|
||||||
import com.cf.imes.module.executor.enums.OrderItemTypeEnum;
|
import com.cf.imes.module.executor.enums.OrderItemTypeEnum;
|
||||||
import com.cf.imes.module.executor.service.customplateno.CustomPlateNoGenerateService;
|
import com.cf.imes.module.executor.service.customplateno.CustomPlateNoGenerateService;
|
||||||
|
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.system.api.dict.DictDataApi;
|
import com.cf.imes.module.system.api.dict.DictDataApi;
|
||||||
@@ -49,8 +50,6 @@ public class ExcelTypeRealize {
|
|||||||
@Resource
|
@Resource
|
||||||
private DictDataApi dictDataApi;
|
private DictDataApi dictDataApi;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private CustomPlateNoGenerateService customPlateNoGenerateService;
|
|
||||||
|
|
||||||
final String NOT_ASSIGNED = "未命名";
|
final String NOT_ASSIGNED = "未命名";
|
||||||
final String PLATE = "plate";
|
final String PLATE = "plate";
|
||||||
@@ -63,19 +62,18 @@ public class ExcelTypeRealize {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// List<OrderPlateImportExcelVO> excelVOS = (List<OrderPlateImportExcelVO>) list;
|
long startTime = System.currentTimeMillis();
|
||||||
|
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
|
||||||
Long organId = OrganContextHolder.getOrganId();
|
Long organId = OrganContextHolder.getOrganId();
|
||||||
ArrayList<RawGoodsDO> rawGoodsDOS = new ArrayList<>();
|
ArrayList<RawGoodsDO> rawGoodsDOS = new ArrayList<>();
|
||||||
ArrayList<GoodsDO> goodsDOS = new ArrayList<>();
|
ArrayList<GoodsDO> goodsDOS = new ArrayList<>();
|
||||||
ArrayList<PlateGoodDO> plateGoodDOS = new ArrayList<>();
|
|
||||||
ArrayList<OrderBodyDO> orderBodyDOS = new ArrayList<>();
|
ArrayList<OrderBodyDO> orderBodyDOS = new ArrayList<>();
|
||||||
ArrayList<OrderGroupDO> orderGroupDOS = new ArrayList<>();
|
ArrayList<OrderGroupDO> orderGroupDOS = new ArrayList<>();
|
||||||
ArrayList<PlateDO> plateDOS = new ArrayList<>();
|
ArrayList<PlateDO> plateDOS = new ArrayList<>();
|
||||||
ArrayList<OrderPartsDO> orderPartsDOS = new ArrayList<>();
|
ArrayList<OrderPartsDO> orderPartsDOS = new ArrayList<>();
|
||||||
ArrayList<OrderItemDO> orderItemDOS = new ArrayList<>();
|
ArrayList<OrderItemDO> orderItemDOS = new ArrayList<>();
|
||||||
ArrayList<OrderModuleExtraDO> orderModuleExtraDOS = new ArrayList<>();
|
|
||||||
ArrayList<PlateDetail> plateDetail = new ArrayList<>();
|
ArrayList<PlateDetail> plateDetail = new ArrayList<>();
|
||||||
ArrayList<OrderPartsRemark> orderPartsRemarks = new ArrayList<>();
|
ArrayList<OrderPartsRemark> orderPartsRemarks = new ArrayList<>();
|
||||||
|
|
||||||
@@ -316,9 +314,9 @@ public class ExcelTypeRealize {
|
|||||||
.isSpecialShaped(false)
|
.isSpecialShaped(false)
|
||||||
.isSculpt(false)
|
.isSculpt(false)
|
||||||
.remark(remarkExtract(combination.remarkJSON()))
|
.remark(remarkExtract(combination.remarkJSON()))
|
||||||
// .roomName(roomName)
|
.roomName(roomName)
|
||||||
// .bodyName(bodyName)
|
.bodyName(bodyName)
|
||||||
// .processGroupName(combinationName)
|
.customPlateNo(new StringBuilder())
|
||||||
.build();
|
.build();
|
||||||
plateDOS.add(plateDO);
|
plateDOS.add(plateDO);
|
||||||
|
|
||||||
@@ -334,22 +332,6 @@ public class ExcelTypeRealize {
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
//配件
|
//配件
|
||||||
|
|
||||||
// Long partsId = (Long) snowFlakeGenerator.nextId(null);
|
|
||||||
// OrderPartsDO orderPartsDO = OrderPartsDO.builder().id(partsId).orderId(orderId).goodsId(combination.getGoodsId())
|
|
||||||
// .color(combination.getColor()).category(combination.getCategory()).type(combination.getType())
|
|
||||||
// .length(Double.valueOf(StringUtils.isEmpty(combination.getGoodsHeight()) ? "0" : combination.getGoodsHeight()))
|
|
||||||
// .width(Double.valueOf(StringUtils.isEmpty(combination.getGoodsWidth()) ? "0" : combination.getGoodsWidth()))
|
|
||||||
// .thickness(Double.valueOf(StringUtils.isEmpty(combination.getGoodsThickness()) ? "0" : combination.getGoodsThickness()))
|
|
||||||
// .isComposite(Boolean.valueOf(combination.getIsComposite()))
|
|
||||||
// .name(combination.getGoodsName()).material(combination.getMaterial()).type(combination.getGoodType())
|
|
||||||
// .model(combination.getModel()).spec(combination.getSpec()).brand(combination.getBrand()).factory(combination.getFactory())
|
|
||||||
// .unit(combination.getUnit()).price(0.0).isComposite(false).remark(remarkExtract(combination.remarkJSON())).isComposite(false).build();
|
|
||||||
// orderPartsDOS.add(orderPartsDO);
|
|
||||||
// // 配件备注信息存储
|
|
||||||
// OrderPartsRemark orderPartsRemark = OrderPartsRemark.builder().partsId(partsId).orderId(orderId)
|
|
||||||
// .remark(remarkExtract(combination.remarkJSON())).build();
|
|
||||||
// orderPartsRemarks.add(orderPartsRemark);
|
|
||||||
OrderItemDO orderItemDO = OrderItemDO.builder().orderId(orderId).type(OrderItemTypeEnum.PARTS_ITEM.getStatus())
|
OrderItemDO orderItemDO = OrderItemDO.builder().orderId(orderId).type(OrderItemTypeEnum.PARTS_ITEM.getStatus())
|
||||||
.roomId(roomName != " " ? roomId : null).bodyId(bodyName != " " ? bodyId : null).partsId(combination.getGoodId()).groupId(synthesisTypeName != " " ? groupId : null)
|
.roomId(roomName != " " ? roomId : null).bodyId(bodyName != " " ? bodyId : null).partsId(combination.getGoodId()).groupId(synthesisTypeName != " " ? groupId : null)
|
||||||
.num(Double.valueOf(combination.getGoodsNumber())).build();
|
.num(Double.valueOf(combination.getGoodsNumber())).build();
|
||||||
@@ -365,26 +347,23 @@ public class ExcelTypeRealize {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
orderBodyDO.setPlateNum(Integer.valueOf(plateCountByCabinetName[0].intValue()));
|
orderBodyDO.setPlateNum(Integer.valueOf(plateCountByCabinetName[0].intValue()));
|
||||||
// if (orderBodyDO.getName() != null && !orderBodyDO.getName().trim().isEmpty()) {
|
|
||||||
orderBodyDOS.add(orderBodyDO);
|
orderBodyDOS.add(orderBodyDO);
|
||||||
// }
|
|
||||||
// System.out.println(" ban-num " + plateCountByCabinetName[0]);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// 添加板材自定义板编号
|
map.put(FieldConstants.RAW_GOODS, rawGoodsDOS);
|
||||||
// customPlateNoGenerateService.generateCustomPlateNo(plateDOS);
|
map.put(FieldConstants.GOODS, goodsDOS);
|
||||||
map.put("rawGoodsDOS", rawGoodsDOS);
|
map.put(FieldConstants.BODY, orderBodyDOS);
|
||||||
map.put("goodsDOS", goodsDOS);
|
map.put(FieldConstants.GROUP, orderGroupDOS);
|
||||||
map.put("plateGoodDOS", plateGoodDOS);
|
map.put(FieldConstants.PLATE, plateDOS);
|
||||||
map.put("orderBodyDOS", orderBodyDOS);
|
map.put(FieldConstants.PARTS, orderPartsDOS);
|
||||||
map.put("orderGroupDOS", orderGroupDOS);
|
map.put(FieldConstants.ITEM, orderItemDOS);
|
||||||
map.put("plateDOS", plateDOS);
|
map.put(FieldConstants.PLATE_DETAIL, plateDetail);
|
||||||
map.put("orderPartsDOS", orderPartsDOS);
|
map.put(FieldConstants.PARTS_REMARK, orderPartsRemarks);
|
||||||
map.put("orderItemDOS", orderItemDOS);
|
long endTime = System.currentTimeMillis();
|
||||||
map.put("orderModuleExtraDOS", orderModuleExtraDOS);
|
long duration = endTime - startTime;
|
||||||
map.put("plateDetail", plateDetail);
|
|
||||||
map.put("orderPartsRemarks", orderPartsRemarks);
|
System.out.println("方法运行耗时 excel 转换: " + duration + " 毫秒");
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -136,8 +136,8 @@ public class BlockXmlVO implements Serializable {
|
|||||||
private String boxCode;
|
private String boxCode;
|
||||||
|
|
||||||
// 加工组号
|
// 加工组号
|
||||||
@XmlAttribute(name = "groupCode")
|
@XmlAttribute(name = "groupCodes")
|
||||||
private String groupCode;
|
private String groupCodes;
|
||||||
|
|
||||||
// 柜体名称
|
// 柜体名称
|
||||||
@XmlAttribute(name = "groupName")
|
@XmlAttribute(name = "groupName")
|
||||||
|
|||||||
+120
-54
@@ -25,6 +25,8 @@ import java.time.temporal.ChronoUnit;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
import java.util.concurrent.ExecutionException;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
@@ -72,9 +74,8 @@ public class XMLUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// XML转为JAVA对象
|
// XML转为JAVA对象
|
||||||
Object odfBody = XmlBuilder.xmlStrToOject(clazz, builder.toString());
|
|
||||||
|
|
||||||
return odfBody;
|
return XmlBuilder.xmlStrToOject(clazz, builder.toString());
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.error("Error reading the file: " + file.getOriginalFilename(), e);
|
log.error("Error reading the file: " + file.getOriginalFilename(), e);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -186,53 +187,131 @@ public class XMLUtil {
|
|||||||
long startTime = System.currentTimeMillis();
|
long startTime = System.currentTimeMillis();
|
||||||
AtomicBoolean error = new AtomicBoolean(true);
|
AtomicBoolean error = new AtomicBoolean(true);
|
||||||
|
|
||||||
RoomXmlVOS roomXmlVOS = orderXmlVO.getRoomXmlVOS();
|
// 创建一个 CompletableFuture 来表示所有任务的组合
|
||||||
if (roomXmlVOS != null) {
|
CompletableFuture<Void> allTasks = CompletableFuture.allOf(
|
||||||
checkRoom(roomXmlVOS, error);
|
checkRoomAsync(orderXmlVO.getRoomXmlVOS(), error),
|
||||||
}
|
checkModulesAsync(orderXmlVO.getModuleXmlVOS(), error),
|
||||||
|
checkGroupsAsync(orderXmlVO.getGroupXmlVOS(), error),
|
||||||
|
checkMaterialsAsync(orderXmlVO.getMaterialXmlVO(), error)
|
||||||
|
);
|
||||||
|
|
||||||
ModuleXmlVOS moduleXmlVOS = orderXmlVO.getModuleXmlVOS();
|
try {
|
||||||
if (moduleXmlVOS != null) {
|
// 等待所有任务完成
|
||||||
checkModules(moduleXmlVOS, error);
|
allTasks.get();
|
||||||
}
|
} catch (InterruptedException | ExecutionException e) {
|
||||||
|
e.printStackTrace();
|
||||||
GroupXmlVOS grooveXmlVOS = orderXmlVO.getGroupXmlVOS();
|
return false; // 如果有异常发生,返回 false
|
||||||
if (grooveXmlVOS != null) {
|
|
||||||
checkGroups(grooveXmlVOS, error);
|
|
||||||
}
|
|
||||||
|
|
||||||
MaterialXmlVO materialXmlVO = orderXmlVO.getMaterialXmlVO();
|
|
||||||
if (materialXmlVO != null) {
|
|
||||||
PlateXmlVOS plateXmlVOS = materialXmlVO.getPlateXmlVOS();
|
|
||||||
|
|
||||||
Map<String, Object> map = extractPlateDate(plateXmlVOS);
|
|
||||||
if (map != null) {
|
|
||||||
// 判断板块和归属code是否相匹配
|
|
||||||
}
|
|
||||||
|
|
||||||
if (plateXmlVOS != null && plateXmlVOS.getPlateXmlVOList().size() > 0) {
|
|
||||||
checkPlates(plateXmlVOS.getPlateXmlVOList(), error);
|
|
||||||
}
|
|
||||||
|
|
||||||
AccessoryXmlVO accessoryXmlVO = materialXmlVO.getAccessoryXmlVO(); //配件
|
|
||||||
if (accessoryXmlVO != null) {
|
|
||||||
checkEdgings(accessoryXmlVO.getEdgingXmlVOS(), error);
|
|
||||||
checkHardwares(accessoryXmlVO.getHardwareXmlVOS(), error);
|
|
||||||
}
|
|
||||||
|
|
||||||
AssemblieXmlVOS assemblieXmlVOS = materialXmlVO.getAssemblieXmlVOS(); // 组件
|
|
||||||
if (assemblieXmlVOS != null && assemblieXmlVOS.getAssemblyXmlVOList() != null && assemblieXmlVOS.getAssemblyXmlVOList().size() > 0) {
|
|
||||||
checkAssemblies(assemblieXmlVOS, error);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
long endTime = System.currentTimeMillis();
|
long endTime = System.currentTimeMillis();
|
||||||
long duration = endTime - startTime;
|
long duration = endTime - startTime;
|
||||||
|
|
||||||
System.out.println("方法运行耗时: " + duration + " 毫秒");
|
System.out.println("方法运行耗时 xml: " + duration + " 毫秒");
|
||||||
return error.get();
|
return error.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private CompletableFuture<Void> checkRoomAsync(RoomXmlVOS roomXmlVOS, AtomicBoolean error) {
|
||||||
|
return CompletableFuture.runAsync(() -> {
|
||||||
|
if (roomXmlVOS != null) {
|
||||||
|
checkRoom(roomXmlVOS, error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private CompletableFuture<Void> checkModulesAsync(ModuleXmlVOS moduleXmlVOS, AtomicBoolean error) {
|
||||||
|
return CompletableFuture.runAsync(() -> {
|
||||||
|
if (moduleXmlVOS != null) {
|
||||||
|
checkModules(moduleXmlVOS, error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private CompletableFuture<Void> checkGroupsAsync(GroupXmlVOS groupXmlVOS, AtomicBoolean error) {
|
||||||
|
return CompletableFuture.runAsync(() -> {
|
||||||
|
if (groupXmlVOS != null) {
|
||||||
|
checkGroups(groupXmlVOS, error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private CompletableFuture<Void> checkMaterialsAsync(MaterialXmlVO materialXmlVO, AtomicBoolean error) {
|
||||||
|
return CompletableFuture.runAsync(() -> {
|
||||||
|
if (materialXmlVO != null) {
|
||||||
|
PlateXmlVOS plateXmlVOS = materialXmlVO.getPlateXmlVOS();
|
||||||
|
|
||||||
|
Map<String, Object> map = extractPlateDate(plateXmlVOS);
|
||||||
|
if (map != null) {
|
||||||
|
// 判断板块和归属code是否相匹配
|
||||||
|
}
|
||||||
|
|
||||||
|
if (plateXmlVOS != null && !plateXmlVOS.getPlateXmlVOList().isEmpty()) {
|
||||||
|
checkPlates(plateXmlVOS.getPlateXmlVOList(), error);
|
||||||
|
}
|
||||||
|
|
||||||
|
AccessoryXmlVO accessoryXmlVO = materialXmlVO.getAccessoryXmlVO(); // 配件
|
||||||
|
if (accessoryXmlVO != null) {
|
||||||
|
checkEdgings(accessoryXmlVO.getEdgingXmlVOS(), error);
|
||||||
|
checkHardwares(accessoryXmlVO.getHardwareXmlVOS(), error);
|
||||||
|
}
|
||||||
|
|
||||||
|
AssemblieXmlVOS assemblieXmlVOS = materialXmlVO.getAssemblieXmlVOS(); // 组件
|
||||||
|
if (assemblieXmlVOS != null && assemblieXmlVOS.getAssemblyXmlVOList() != null && !assemblieXmlVOS.getAssemblyXmlVOList().isEmpty()) {
|
||||||
|
checkAssemblies(assemblieXmlVOS, error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// public Boolean checkVO(OrderXmlVO orderXmlVO) {
|
||||||
|
// long startTime = System.currentTimeMillis();
|
||||||
|
// AtomicBoolean error = new AtomicBoolean(true);
|
||||||
|
//
|
||||||
|
// RoomXmlVOS roomXmlVOS = orderXmlVO.getRoomXmlVOS();
|
||||||
|
// if (roomXmlVOS != null) {
|
||||||
|
// checkRoom(roomXmlVOS, error);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// ModuleXmlVOS moduleXmlVOS = orderXmlVO.getModuleXmlVOS();
|
||||||
|
// if (moduleXmlVOS != null) {
|
||||||
|
// checkModules(moduleXmlVOS, error);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// GroupXmlVOS grooveXmlVOS = orderXmlVO.getGroupXmlVOS();
|
||||||
|
// if (grooveXmlVOS != null) {
|
||||||
|
// checkGroups(grooveXmlVOS, error);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// MaterialXmlVO materialXmlVO = orderXmlVO.getMaterialXmlVO();
|
||||||
|
// if (materialXmlVO != null) {
|
||||||
|
// PlateXmlVOS plateXmlVOS = materialXmlVO.getPlateXmlVOS();
|
||||||
|
//
|
||||||
|
// Map<String, Object> map = extractPlateDate(plateXmlVOS);
|
||||||
|
// if (map != null) {
|
||||||
|
// // 判断板块和归属code是否相匹配
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// if (plateXmlVOS != null && !plateXmlVOS.getPlateXmlVOList().isEmpty()) {
|
||||||
|
// checkPlates(plateXmlVOS.getPlateXmlVOList(), error);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// AccessoryXmlVO accessoryXmlVO = materialXmlVO.getAccessoryXmlVO(); //配件
|
||||||
|
// if (accessoryXmlVO != null) {
|
||||||
|
// checkEdgings(accessoryXmlVO.getEdgingXmlVOS(), error);
|
||||||
|
// checkHardwares(accessoryXmlVO.getHardwareXmlVOS(), error);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// AssemblieXmlVOS assemblieXmlVOS = materialXmlVO.getAssemblieXmlVOS(); // 组件
|
||||||
|
// if (assemblieXmlVOS != null && assemblieXmlVOS.getAssemblyXmlVOList() != null && !assemblieXmlVOS.getAssemblyXmlVOList().isEmpty()) {
|
||||||
|
// checkAssemblies(assemblieXmlVOS, error);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// long endTime = System.currentTimeMillis();
|
||||||
|
// long duration = endTime - startTime;
|
||||||
|
//
|
||||||
|
// System.out.println("方法运行耗时 xml: " + duration + " 毫秒");
|
||||||
|
// return error.get();
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -1139,19 +1218,6 @@ public class XMLUtil {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 数据格式+数据正数判断
|
|
||||||
private Boolean checkNumber(String numberStr, Class<?> targetType) {
|
|
||||||
boolean error = true;
|
|
||||||
if (ToolUtil.convertToType(numberStr, targetType)) {
|
|
||||||
if (!ToolUtil.checkNumber(numberStr)) {
|
|
||||||
error = false;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
error = false;
|
|
||||||
}
|
|
||||||
return error;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// point 验证
|
// point 验证
|
||||||
private void checkPointRemoveZ(PointXmlVO pointXmlVO, AtomicBoolean flag, String name) {
|
private void checkPointRemoveZ(PointXmlVO pointXmlVO, AtomicBoolean flag, String name) {
|
||||||
@@ -1186,7 +1252,7 @@ public class XMLUtil {
|
|||||||
code.put(ROOM_CODE, blockXmlVO.getRoomCode());
|
code.put(ROOM_CODE, blockXmlVO.getRoomCode());
|
||||||
code.put(BODY_CODE, blockXmlVO.getBoxCode());
|
code.put(BODY_CODE, blockXmlVO.getBoxCode());
|
||||||
code.put(MODULE_CODE, blockXmlVO.getModuleCode());
|
code.put(MODULE_CODE, blockXmlVO.getModuleCode());
|
||||||
code.put(GROUP_CODE, blockXmlVO.getGroupCode());
|
code.put(GROUP_CODE, blockXmlVO.getGroupCodes());
|
||||||
map.put(blockXmlVO.getProductionCode(), code); // 生产编号
|
map.put(blockXmlVO.getProductionCode(), code); // 生产编号
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+35
-30
@@ -410,19 +410,28 @@ public class XmlTypeRealize {
|
|||||||
List<Object> partDOList = new ArrayList<>(partsDOInfos.values());
|
List<Object> partDOList = new ArrayList<>(partsDOInfos.values());
|
||||||
List<Object> partRemarks = new ArrayList<>(orderPartsRemarks.values());
|
List<Object> partRemarks = new ArrayList<>(orderPartsRemarks.values());
|
||||||
|
|
||||||
map.put("rawGoodsDOS", rawGoodsDOs);
|
map.put(FieldConstants.RAW_GOODS, rawGoodsDOs);
|
||||||
map.put("goodsDOS", goodsDOs);
|
map.put(FieldConstants.GOODS, goodsDOs);
|
||||||
map.put("orderBodyDOS", orderBodyDOList);
|
map.put(FieldConstants.BODY, orderBodyDOList);
|
||||||
map.put("orderGroupDOS", groupDOList);
|
map.put(FieldConstants.GROUP, groupDOList);
|
||||||
map.put("plateDOS", plateDOs);
|
map.put(FieldConstants.PLATE, plateDOs);
|
||||||
map.put("orderPartsDOS", partDOList);
|
map.put(FieldConstants.PARTS, partDOList);
|
||||||
map.put("orderItemDOS", itemDOList);
|
map.put(FieldConstants.ITEM, itemDOList);
|
||||||
map.put("plateDetail", plateDetail);
|
map.put(FieldConstants.PLATE_DETAIL, plateDetail);
|
||||||
map.put("orderPartsRemarks", partRemarks);
|
map.put(FieldConstants.PARTS_REMARK, partRemarks);
|
||||||
|
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// groupCodes提取code
|
||||||
|
private String[] getGroupCode(String groupCode) {
|
||||||
|
if (groupCode == null) {
|
||||||
|
return new String[]{};
|
||||||
|
}
|
||||||
|
groupCode = groupCode.replaceAll("\\[|\\]", "");
|
||||||
|
return groupCode.split(",");
|
||||||
|
}
|
||||||
|
|
||||||
// id得到
|
// id得到
|
||||||
private Map<String, Long> getId(PositionVO positionVO, Map<String, Map<String, OrderBodyDO>> roomInfos, Map<String, OrderGroupDO> groupInfos,
|
private Map<String, Long> getId(PositionVO positionVO, Map<String, Map<String, OrderBodyDO>> roomInfos, Map<String, OrderGroupDO> groupInfos,
|
||||||
Double plateNum, Double unregularNum, Long orderId, Long organId) {
|
Double plateNum, Double unregularNum, Long orderId, Long organId) {
|
||||||
@@ -766,10 +775,18 @@ public class XmlTypeRealize {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public List<Object> plateInfoChange(List<Object> plateDetails, Long organId, Long orderId, Long goodsId, BlockXmlVOS blockXmlVOS,
|
public List<Object> plateInfoChange(List<Object> plateDetails,
|
||||||
List<Object> plateDOs, Map<String, Object> orderItemMap, Map<String, Object> partsDO,
|
Long organId,
|
||||||
Map<String, Map<String, OrderBodyDO>> roomInfos, Map<String, OrderGroupDO> groupInfos,
|
Long orderId,
|
||||||
Map<String, Map<String, BasePosition>> boxBasePositionMap, Map<String, BasePosition> roomBasePositions) {
|
Long goodsId,
|
||||||
|
BlockXmlVOS blockXmlVOS,
|
||||||
|
List<Object> plateDOs,
|
||||||
|
Map<String, Object> orderItemMap,
|
||||||
|
Map<String, Object> partsDO,
|
||||||
|
Map<String, Map<String, OrderBodyDO>> roomInfos,
|
||||||
|
Map<String, OrderGroupDO> groupInfos,
|
||||||
|
Map<String, Map<String, BasePosition>> boxBasePositionMap,
|
||||||
|
Map<String, BasePosition> roomBasePositions) {
|
||||||
|
|
||||||
if (blockXmlVOS != null && blockXmlVOS.getBlockXmlVOList() == null || blockXmlVOS.getBlockXmlVOList().isEmpty()) {
|
if (blockXmlVOS != null && blockXmlVOS.getBlockXmlVOList() == null || blockXmlVOS.getBlockXmlVOList().isEmpty()) {
|
||||||
|
|
||||||
@@ -808,7 +825,7 @@ public class XmlTypeRealize {
|
|||||||
.boxName(blockXmlVO.getBoxName())
|
.boxName(blockXmlVO.getBoxName())
|
||||||
.boxCode(blockXmlVO.getBoxCode())
|
.boxCode(blockXmlVO.getBoxCode())
|
||||||
.groupName(blockXmlVO.getGroupName())
|
.groupName(blockXmlVO.getGroupName())
|
||||||
.groupCode(blockXmlVO.getGroupCode())
|
.groupCode(blockXmlVO.getGroupCodes())
|
||||||
.moduleName(blockXmlVO.getModuleName())
|
.moduleName(blockXmlVO.getModuleName())
|
||||||
.moduleCode(blockXmlVO.getModuleCode())
|
.moduleCode(blockXmlVO.getModuleCode())
|
||||||
.build();
|
.build();
|
||||||
@@ -850,6 +867,9 @@ public class XmlTypeRealize {
|
|||||||
.isDoor(doorType != 0)
|
.isDoor(doorType != 0)
|
||||||
.openDoorType(doorType)
|
.openDoorType(doorType)
|
||||||
.isSpecialShaped(convertToBoolean(blockXmlVO.getUnregular()))
|
.isSpecialShaped(convertToBoolean(blockXmlVO.getUnregular()))
|
||||||
|
.roomName(positionVO.getRoomName())
|
||||||
|
.bodyName(positionVO.getBoxName())
|
||||||
|
.customPlateNo(new StringBuilder())
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
orderItemMap.put(blockXmlVO.getProductionCode(), OrderItemDO.builder()
|
orderItemMap.put(blockXmlVO.getProductionCode(), OrderItemDO.builder()
|
||||||
@@ -886,7 +906,7 @@ public class XmlTypeRealize {
|
|||||||
.roomsName(blockXmlVO.getRoomName())
|
.roomsName(blockXmlVO.getRoomName())
|
||||||
.bodyNo(blockXmlVO.getBoxCode())
|
.bodyNo(blockXmlVO.getBoxCode())
|
||||||
.bodyName(blockXmlVO.getBoxName())
|
.bodyName(blockXmlVO.getBoxName())
|
||||||
.groupNo(blockXmlVO.getGroupCode())
|
.groupNo(blockXmlVO.getGroupCodes())
|
||||||
.groupName(blockXmlVO.getGroupName())
|
.groupName(blockXmlVO.getGroupName())
|
||||||
.has2DModel(false)
|
.has2DModel(false)
|
||||||
.has3DModel(false)
|
.has3DModel(false)
|
||||||
@@ -942,21 +962,6 @@ public class XmlTypeRealize {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// private void addIslandDetail(PlateDetail plateDetail, IsletXmlVOS isletXmlVOS) {
|
|
||||||
// if (isletXmlVOS != null && ObjectUtils.allNull(isletXmlVOS)) {
|
|
||||||
// if (isletXmlVOS.getIsletXmlVOList() != null && !isletXmlVOS.getIsletXmlVOList().isEmpty()) {
|
|
||||||
// for (IsletXmlVO isletXmlVO : isletXmlVOS.getIsletXmlVOList()) {
|
|
||||||
// ModelDetail modelDetail = ModelDetail.builder()
|
|
||||||
// .id(Integer.valueOf(isletXmlVO.getId()))
|
|
||||||
//// .parentId(Integer.valueOf(isletXmlVO.getSubIDs()))
|
|
||||||
// .pointList(addPointDetail(isletXmlVO.getPointXmlVOS())).build();
|
|
||||||
// plateDetail.getContourDetail().add(modelDetail);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// 小板关联配件添加
|
// 小板关联配件添加
|
||||||
private void addParts(PlateDetail plateDetail, CorrelationXmlVOS correlationXmlVOS, Map<String, Object> partsDOMap) {
|
private void addParts(PlateDetail plateDetail, CorrelationXmlVOS correlationXmlVOS, Map<String, Object> partsDOMap) {
|
||||||
List<PartsInfo> partsInfos = new ArrayList<>();
|
List<PartsInfo> partsInfos = new ArrayList<>();
|
||||||
|
|||||||
Reference in New Issue
Block a user