xml导入

This commit is contained in:
lym
2024-09-10 15:47:46 +08:00
parent a38c2ece52
commit b7acf4d436
41 changed files with 586 additions and 267 deletions
@@ -0,0 +1,19 @@
package com.cf.imes.module.executor.enums;
/**
* executor 字典类型的枚举类
*/
public interface DictTypeConstants {
// ========== PLATE 模块 ==========
String TYPOGRAPHY_TYPE = "typographyType"; // 排版面
String GRAIN_TYPE = "grainType";// 小板纹路类型
String DOOR_OPENING_DIRECTIONS = "doorOpeningDirections";//开门方向
String PLATE_TYPE = "order_plate_type"; // 板类型
// ========== HOLE 模块 ==========
String HOLE_FACE = "hole_face";//孔加工面
String HOLE_DIR = "hole_direction";// 孔方向
String HOLE_TYPE = "hole_type";//孔类型
}
@@ -21,6 +21,7 @@ import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.ExcelRe
import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.OrderPlateImportExcelVO; import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.OrderPlateImportExcelVO;
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO.OrderXmlVO; import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO.OrderXmlVO;
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.XMLReadUtil; import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.XMLReadUtil;
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.XmlTypeRealize;
import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.Parameters;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springdoc.webmvc.core.RequestService; import org.springdoc.webmvc.core.RequestService;
@@ -92,7 +93,7 @@ public class OrderController {
private IdentifierGenerator identifierGenerator; private IdentifierGenerator identifierGenerator;
@Resource @Resource
private ThreadPoolTaskExecutor asyncExecutor; private XmlTypeRealize xmlTypeRealize;
@PutMapping("/update") @PutMapping("/update")
@@ -295,6 +296,10 @@ public class OrderController {
try { try {
List<?> list = null; List<?> list = null;
OrderDO orderDO = new OrderDO(); OrderDO orderDO = new OrderDO();
OrderXmlVO orderXmlVO = null;
Map<String, Object> mapOrder = null;
String err = "";
if (type == 0) { //excel if (type == 0) { //excel
excelReadUtil.setErr(0); excelReadUtil.setErr(0);
@@ -305,42 +310,51 @@ public class OrderController {
return; return;
} else { } else {
list = (List<?>) map.get("plate"); list = (List<?>) map.get("plate");
mapOrder = (Map<String, Object>) map.get("order");
if (index == null || index == 0) { // 整单导入 if (list.size() == 0) {
Map<String, Object> mapOrder = (Map<String, Object>) map.get("order"); orderDO.setStatus(OrderStatusEnum.EMPTY.getStatus());
} else {
orderDO = ((OrderDO) mapOrder.get("order")).setOrderType(OrderTypeEnum.MAIN_ORDER.getStatus()); orderDO.setStatus(OrderStatusEnum.NEW_ORDER.getStatus());
String err = ((String) mapOrder.get("error"));
if (!orderService.customOrderNoIsExists(orderDO.getCustomOrderNo())) {
err += orderDO.getCustomOrderNo() + "-自定义生产单号已存在;";
}
if (!err.equals("")) {
ExcelWriterUtil.writeErr(response, err, orderService.getSavePath() + File.separator + "order_err.xlsx");
return;
}
if (list.size() == 0) {
orderDO.setStatus(OrderStatusEnum.EMPTY.getStatus());
} else {
orderDO.setStatus(OrderStatusEnum.NEW_ORDER.getStatus());
}
} else { // 板材导入
orderDO = orderService.getOrder(orderId);
} }
} }
} else if (type == 1) { // json } else if (type == 1) { // json
} else if (type == 2) { // xml } else if (type == 2) { // xml
orderXmlVO = (OrderXmlVO) XMLReadUtil.read(file, OrderXmlVO.class);
OrderXmlVO orderXmlVO = (OrderXmlVO) XMLReadUtil.read(file, OrderXmlVO.class); // 数据内容正确判断
// if(){
System.out.println("orderXmlVO = " + orderXmlVO); //
// }
assert orderXmlVO != null;
mapOrder = xmlTypeRealize.changeOrder(orderXmlVO, getUserOrganId());
if (orderXmlVO.getMaterialXmlVO().getPlateXmlVOS().getPlateXmlVOList().size() == 0) {
orderDO.setStatus(OrderStatusEnum.EMPTY.getStatus());
} else {
orderDO.setStatus(OrderStatusEnum.NEW_ORDER.getStatus());
}
} }
orderService.importExcelData(orderDO, list, index);
if (index == null || index == 0) { // 整单导入
assert mapOrder != null;
orderDO = (OrderDO) mapOrder.get("order");
err = ((String) mapOrder.get("error"));
orderDO.setOrderType(OrderTypeEnum.MAIN_ORDER.getStatus());
if (!orderService.customOrderNoIsExists(orderDO.getCustomOrderNo())) {
err += orderDO.getCustomOrderNo() + "-自定义生产单号已存在;";
}
if (!err.equals("")) {
ExcelWriterUtil.writeErr(response, err, orderService.getSavePath() + File.separator + "order_err.xlsx");
return;
}
} else { // 板材导入
orderDO = orderService.getOrder(orderId);
}
orderService.importExcelData(orderDO, list, index, orderXmlVO);
} catch (Exception e) { } catch (Exception e) {
ExcelWriterUtil.writeErr(response, "系统出现未知错误,请下载模板,按照模板重新上传文件", orderService.getSavePath() + File.separator + "order_err.xlsx"); ExcelWriterUtil.writeErr(response, "系统出现未知错误,请下载模板,按照模板重新上传文件,注意编码格式", orderService.getSavePath() + File.separator + "order_err.xlsx");
log.error("导入文件出现异常", e); log.error("导入文件出现异常", e);
} }
} }
@@ -1,11 +1,10 @@
package com.cf.imes.module.executor.dal.dataobject.ordermodel; package com.cf.imes.module.executor.dal.dataobject.ordermodel;
import com.alibaba.fastjson.JSONObject;
import com.cf.imes.framework.common.util.json.JsonUtils;
import com.cf.imes.framework.es.core.dal.ESDocument; import com.cf.imes.framework.es.core.dal.ESDocument;
import com.cf.imes.module.executor.util.deviseData.dataTwo.HoleDetail; import com.cf.imes.module.executor.util.deviseData.structure.BasePosition;
import com.cf.imes.module.executor.util.deviseData.dataTwo.ModelDetail; import com.cf.imes.module.executor.util.deviseData.structure.HoleDetail;
import com.cf.imes.module.executor.util.deviseData.dataTwo.PointDetail; import com.cf.imes.module.executor.util.deviseData.structure.ModelDetail;
import com.cf.imes.module.executor.util.deviseData.structure.PointDetail;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
@@ -32,6 +31,11 @@ public class OrderModelDO extends ESDocument {
@Schema(description = "小板id") @Schema(description = "小板id")
private Long plateId; private Long plateId;
@Schema(description = "柜体的基点坐标")
private BasePosition bodyBasePosition; // 板件基准点坐标
@Schema(description = "板件的基点坐标")
private BasePosition plateBasePosition; // 板件基准点坐标
@Schema(description = "纹路 纹路(0正纹1可翻转2反纹)") @Schema(description = "纹路 纹路(0正纹1可翻转2反纹)")
private Integer texture; private Integer texture;
@Schema(description = "排版面 排钻类型(0正面1反面2随意面)") @Schema(description = "排版面 排钻类型(0正面1反面2随意面)")
@@ -9,21 +9,15 @@ import com.cf.imes.module.executor.controller.admin.order.vo.order.*;
import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderBodyRespVO; import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderBodyRespVO;
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.goods.GoodsDO;
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.module.executor.dal.dataobject.orderBody.OrderBodyDO; import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO.OrderXmlVO;
import org.springframework.boot.system.ApplicationHome; import org.springframework.boot.system.ApplicationHome;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.multipart.MultipartFile;
import java.io.File; import java.io.File;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutionException;
/** /**
* 生产单表 order_{N} Service 接口 * 生产单表 order_{N} Service 接口
@@ -113,7 +107,7 @@ public interface OrderService {
/** /**
* 文件数据导入 * 文件数据导入
*/ */
void importExcelData(OrderDO orderDO, List<?> list, Integer index); void importExcelData(OrderDO orderDO, List<?> list, Integer index, OrderXmlVO orderXmlVO);
/** /**
* 生产导入文件模板下载 * 生产导入文件模板下载
@@ -1,7 +1,5 @@
package com.cf.imes.module.executor.service.order; package com.cf.imes.module.executor.service.order;
import cn.smallbun.screw.core.util.CollectionUtils;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
@@ -13,7 +11,6 @@ import com.cf.imes.framework.common.pojo.PageParam;
import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator; import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.framework.organ.core.context.OrganContextHolder; import com.cf.imes.framework.organ.core.context.OrganContextHolder;
import com.cf.imes.framework.web.core.util.WebFrameworkUtils;
import com.cf.imes.module.executor.controller.admin.order.vo.order.*; import com.cf.imes.module.executor.controller.admin.order.vo.order.*;
import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderBodyRespVO; import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderBodyRespVO;
import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderRoomBodyRespVO; import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderRoomBodyRespVO;
@@ -43,11 +40,12 @@ 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.framework.common.enums.OrderPackageStatusEnum; import com.cf.imes.framework.common.enums.OrderPackageStatusEnum;
import com.cf.imes.module.executor.util.deviseData.dataTwo.PlateDetail; import com.cf.imes.module.executor.util.deviseData.structure.PlateDetail;
import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiDataAchieve; import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiDataAchieve;
import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiTypeRealize; import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiTypeRealize;
import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.ExcelTypeRealize; import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.ExcelTypeRealize;
import org.springframework.scheduling.annotation.Async; import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO.OrderXmlVO;
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.XmlTypeRealize;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@@ -68,7 +66,6 @@ import java.time.*;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.*; import java.util.*;
import java.util.concurrent.ExecutionException;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -78,8 +75,6 @@ import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.ge
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.*; import static com.cf.imes.module.executor.enums.ErrorCodeConstants.*;
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils; import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
/** /**
* 生产单表 order_{N} Service 实现类 * 生产单表 order_{N} Service 实现类
@@ -144,6 +139,9 @@ public class OrderServiceImpl implements OrderService {
public static final String ORDER_PARTS_REMARK_MODEL = "imes_order_parts_remark_model"; public static final String ORDER_PARTS_REMARK_MODEL = "imes_order_parts_remark_model";
@Resource
private XmlTypeRealize xmlTypeRealize;
@Override @Override
public void updateOrder(OrderSaveReqVO updateReqVO) { public void updateOrder(OrderSaveReqVO updateReqVO) {
// 校验存在, 生产单未删除 // 校验存在, 生产单未删除
@@ -425,14 +423,18 @@ public class OrderServiceImpl implements OrderService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void importExcelData(OrderDO orderDO, List<?> list, Integer index) { public void importExcelData(OrderDO orderDO, List<?> list, Integer index, OrderXmlVO orderXmlVO) {
if (index == null || index == 0) { if (index == null || index == 0) {
orderDO.setId((Long) snowFlakeGenerator.nextId(null)); orderDO.setId((Long) snowFlakeGenerator.nextId(null));
orderMapper.insert(orderDO); orderMapper.insert(orderDO);
} }
Map<String, List<?>> listMap = null;
if (list.size() > 0) { if (list != null && list.size() > 0) {
Map<String, List<?>> listMap = excelTypeRealize.changeDate(list, orderDO.getId()); listMap = excelTypeRealize.changeDate(list, orderDO.getId());
} else if (orderXmlVO != null) {
listMap = xmlTypeRealize.goodsInfoChange(orderXmlVO, orderDO.getId(), getUserOrganId());
}
List<RawGoodsDO> rawGoodsDO = (List<RawGoodsDO>) listMap.get("rawGoodsDOS"); List<RawGoodsDO> rawGoodsDO = (List<RawGoodsDO>) listMap.get("rawGoodsDOS");
List<GoodsDO> goodsDO = (List<GoodsDO>) listMap.get("goodsDOS"); List<GoodsDO> goodsDO = (List<GoodsDO>) listMap.get("goodsDOS");
@@ -443,6 +445,7 @@ public class OrderServiceImpl implements OrderService {
List<OrderItemDO> itemDO = (List<OrderItemDO>) listMap.get("orderItemDOS"); List<OrderItemDO> itemDO = (List<OrderItemDO>) listMap.get("orderItemDOS");
List<OrderModelDO> orderModelDOS = (List<OrderModelDO>) listMap.get("orderModelDOS"); List<OrderModelDO> orderModelDOS = (List<OrderModelDO>) listMap.get("orderModelDOS");
List<OrderPartsRemark> orderPartsRemarks = (List<OrderPartsRemark>) listMap.get("orderPartsRemarks"); List<OrderPartsRemark> orderPartsRemarks = (List<OrderPartsRemark>) listMap.get("orderPartsRemarks");
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"); goodsDO = (List<GoodsDO>) map.get("goodsDO");
@@ -465,13 +468,20 @@ public class OrderServiceImpl implements OrderService {
} }
} }
orderInputProcessor.batchInsert(rawGoodsDO, bodyDO, groupDO, partsDO, plateDO, itemDO, goodsDO, plateGoodDOS); orderInputProcessor.batchInsert(rawGoodsDO, bodyDO, groupDO, partsDO, plateDO, itemDO, goodsDO, plateGoodDOS);
if (orderModelDOS.size() > 0) { if (orderModelDOS != null && orderModelDOS.size() > 0) {
orderInputProcessor.batchSaveModel(orderModelDOS); orderInputProcessor.batchSaveModel(orderModelDOS);
} }
if (orderPartsRemarks.size() > 0) { if (plateDetail != null){
List<OrderModelDO> orderModelDOs = BeanUtils.toBean(plateDetail, OrderModelDO.class);
if (orderModelDOs.size() > 0) {
orderModelDOs.forEach(orderModelDO -> orderModelDO.setOrderId(orderDO.getId()));
orderInputProcessor.batchSaveModel(orderModelDOs);
}
}
if (orderPartsRemarks != null && orderPartsRemarks.size() > 0) {
orderInputProcessor.batchSaveOrderPartsModel(orderPartsRemarks); orderInputProcessor.batchSaveOrderPartsModel(orderPartsRemarks);
} }
}
} }
@Override @Override
@@ -1,4 +1,4 @@
package com.cf.imes.module.executor.util.deviseData.dataTwo; package com.cf.imes.module.executor.util.deviseData.structure;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
@@ -21,4 +21,10 @@ public class BasePosition {
private String basePointZ;// 基准点Z坐标 private String basePointZ;// 基准点Z坐标
private String axisXrotate;// 绕X轴旋转角度
private String axisYrotate;// 绕Y轴旋转角度
private String axisZrotate;// 绕Z轴旋转角度
} }
@@ -1,4 +1,4 @@
package com.cf.imes.module.executor.util.deviseData.dataTwo; package com.cf.imes.module.executor.util.deviseData.structure;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
@@ -1,4 +1,4 @@
package com.cf.imes.module.executor.util.deviseData.dataTwo; package com.cf.imes.module.executor.util.deviseData.structure;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
@@ -1,4 +1,4 @@
package com.cf.imes.module.executor.util.deviseData.dataTwo; package com.cf.imes.module.executor.util.deviseData.structure;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
@@ -1,4 +1,4 @@
package com.cf.imes.module.executor.util.deviseData.dataTwo; package com.cf.imes.module.executor.util.deviseData.structure;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
@@ -1,4 +1,4 @@
package com.cf.imes.module.executor.util.deviseData.dataTwo; package com.cf.imes.module.executor.util.deviseData.structure;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@@ -1,4 +1,4 @@
package com.cf.imes.module.executor.util.deviseData.dataTwo; package com.cf.imes.module.executor.util.deviseData.structure;
import com.cf.imes.module.executor.controller.admin.plan.dto.Point; import com.cf.imes.module.executor.controller.admin.plan.dto.Point;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
@@ -1,4 +1,4 @@
package com.cf.imes.module.executor.util.deviseData.dataTwo; package com.cf.imes.module.executor.util.deviseData.structure;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@@ -1,11 +1,10 @@
package com.cf.imes.module.executor.util.deviseData.dataTwo; package com.cf.imes.module.executor.util.deviseData.structure;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.util.List; import java.util.List;
@@ -1,4 +1,4 @@
package com.cf.imes.module.executor.util.deviseData.dataTwo; package com.cf.imes.module.executor.util.deviseData.structure;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@@ -1,4 +1,4 @@
package com.cf.imes.module.executor.util.deviseData.dataTwo; package com.cf.imes.module.executor.util.deviseData.structure;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
@@ -1,7 +1,5 @@
package com.cf.imes.module.executor.util.deviseData.dataTwo; package com.cf.imes.module.executor.util.deviseData.structure;
import com.alibaba.fastjson.JSONObject;
import com.cf.imes.framework.es.core.dal.ESDocument;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
@@ -90,7 +88,8 @@ public class PlateDetail{
private Boolean has3DModel; // 是否有三维刀路 private Boolean has3DModel; // 是否有三维刀路
// 轮廓数据造型数据 // 轮廓数据造型数据
private BasePosition bodyBasePosition; // 柜体基准点坐标
private BasePosition plateBasePosition; // 板件基准点坐标
private List<PointDetail> pointDetail ; //点明细表示小板外围轮廓的几个转折点不含封边 private List<PointDetail> pointDetail ; //点明细表示小板外围轮廓的几个转折点不含封边
private List<PointDetail> rawPointDetail ; //原始点明细含封边 private List<PointDetail> rawPointDetail ; //原始点明细含封边
@@ -1,4 +1,4 @@
package com.cf.imes.module.executor.util.deviseData.dataTwo; package com.cf.imes.module.executor.util.deviseData.structure;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@@ -1,4 +1,4 @@
package com.cf.imes.module.executor.util.deviseData.dataTwo; package com.cf.imes.module.executor.util.deviseData.structure;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@@ -1,6 +1,5 @@
package com.cf.imes.module.executor.util.fileConversion.admin.api.webcad; package com.cf.imes.module.executor.util.fileConversion.admin.api.webcad;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
@@ -15,7 +14,7 @@ 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.util.fileConversion.admin.SnowflakeIdWorker3rd; import com.cf.imes.module.executor.util.fileConversion.admin.SnowflakeIdWorker3rd;
import com.cf.imes.module.executor.util.deviseData.dataTwo.*; 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.stereotype.Component; import org.springframework.stereotype.Component;
@@ -24,7 +23,6 @@ import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
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.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -560,7 +558,7 @@ public class ApiTypeRealize {
JSONObject plate = plateLists.getJSONObject(i); JSONObject plate = plateLists.getJSONObject(i);
Integer type = Integer.valueOf(dictDataApi.parseDictData("order_plate_type", Integer type = Integer.valueOf(dictDataApi.parseDictData(DictTypeConstants.PLATE_TYPE,
plate.getString("BoardType")) plate.getString("BoardType"))
.getData().getValue()); .getData().getValue());
Long plateId = (Long) identifierGenerator.nextId(null); Long plateId = (Long) identifierGenerator.nextId(null);
@@ -7,10 +7,11 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.nacos.common.utils.StringUtils; import com.alibaba.nacos.common.utils.StringUtils;
import com.cf.imes.framework.organ.core.context.OrganContextHolder; import com.cf.imes.framework.organ.core.context.OrganContextHolder;
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.enums.DataTypeEnum;
import com.cf.imes.module.executor.util.fileConversion.admin.ToolUtil; import com.cf.imes.module.executor.util.fileConversion.admin.ToolUtil;
import com.cf.imes.module.system.api.dict.DictDataApi; import com.cf.imes.module.system.api.dict.DictDataApi;
import com.cf.imes.module.system.api.dict.dto.DictDataRespDTO; import com.cf.imes.module.system.api.dict.dto.DictDataRespDTO;
import com.cf.imes.module.system.enums.DictTypeConstants; import com.cf.imes.module.executor.enums.DictTypeConstants;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@@ -111,7 +112,7 @@ public class ExcelReadUtil { // 文件读取
} }
OrderDO orderDO = OrderDO.builder() OrderDO orderDO = OrderDO.builder()
.organId(OrganContextHolder.getOrganId()) .organId(OrganContextHolder.getOrganId())
.dataType(0) .dataType(DataTypeEnum.FILE_IMPORT.getStatus())
.orderDate(LocalDateTime.now()) .orderDate(LocalDateTime.now())
.customer((String) orderMap.get("客户")) // .customer((String) orderMap.get("客户")) //
.customOrderNo((String) orderMap.get("自定义单号")) .customOrderNo((String) orderMap.get("自定义单号"))
@@ -19,8 +19,7 @@ import com.cf.imes.module.executor.enums.OrderItemTypeEnum;
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;
import com.cf.imes.module.system.api.dict.dto.DictDataRespDTO; import com.cf.imes.module.system.api.dict.dto.DictDataRespDTO;
import com.cf.imes.module.system.enums.DictTypeConstants; import com.cf.imes.module.executor.enums.DictTypeConstants;
import io.swagger.v3.oas.models.security.SecurityScheme;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -4,10 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable; import java.io.Serializable;
@Data @Data
@@ -74,6 +71,10 @@ public class AssemblyXmlVO implements Serializable {
@XmlAttribute(name = "unit") @XmlAttribute(name = "unit")
private String unit; private String unit;
// 数量单位
@XmlAttribute(name = "unitCount")
private String unitCount;
// 仓库 // 仓库
@XmlAttribute(name = "warehouse") @XmlAttribute(name = "warehouse")
private String warehouse; private String warehouse;
@@ -97,4 +98,12 @@ public class AssemblyXmlVO implements Serializable {
// 模块ID // 模块ID
@XmlAttribute(name = "moduleId") @XmlAttribute(name = "moduleId")
private String moduleId; private String moduleId;
// 父ID
@XmlAttribute(name = "parentId")
private String parentId;
// 备注
@XmlElement(name = "Remarks")
private RemarkXmlVOS remarkXmlVOS;
} }
@@ -127,6 +127,30 @@ public class BlockXmlVO implements Serializable {
@XmlAttribute(name = "moduleId") @XmlAttribute(name = "moduleId")
private String moduleId; private String moduleId;
// 基点X坐标
@XmlAttribute(name = "basePointX")
private String basePointX;
// 基点Y坐标
@XmlAttribute(name = "basePointY")
private String basePointY;
// 基点Z坐标
@XmlAttribute(name = "basePointZ")
private String basePointZ;
// 绕X轴旋转角度
@XmlAttribute(name = "axisXrotate")
private String axisXrotate;
// 绕Y轴旋转角度
@XmlAttribute(name = "axisYrotate")
private String axisYrotate;
// 绕Z轴旋转角度
@XmlAttribute(name = "axisZrotate")
private String axisZrotate;
// 成品(设计成型/已封边/贴皮或涂装的板件)轮廓信息 // 成品(设计成型/已封边/贴皮或涂装的板件)轮廓信息
@XmlElement(name = "Outline") @XmlElement(name = "Outline")
private OutlineXmlVO outlineXmlVO ; private OutlineXmlVO outlineXmlVO ;
@@ -41,4 +41,28 @@ public class BoxXmlVO implements Serializable {
@XmlAttribute(name = "length") @XmlAttribute(name = "length")
private String length; private String length;
// 基点X坐标
@XmlAttribute(name = "basePointX")
private String basePointX;
// 基点Y坐标
@XmlAttribute(name = "basePointY")
private String basePointY;
// 基点Z坐标
@XmlAttribute(name = "basePointZ")
private String basePointZ;
// 绕X轴旋转角度
@XmlAttribute(name = "axisXrotate")
private String axisXrotate;
// 绕Y轴旋转角度
@XmlAttribute(name = "axisYrotate")
private String axisYrotate;
// 绕Z轴旋转角度
@XmlAttribute(name = "axisZrotate")
private String axisZrotate;
} }
@@ -4,10 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable; import java.io.Serializable;
@Data @Data
@@ -78,6 +75,10 @@ public class EdgingXmlVO implements Serializable {
@XmlAttribute(name = "count") @XmlAttribute(name = "count")
private String count; private String count;
// 数量单位(默认m米)
@XmlAttribute(name = "unitCount")
private String unitCount;
// 房间ID // 房间ID
@XmlAttribute(name = "roomId") @XmlAttribute(name = "roomId")
private String roomId; private String roomId;
@@ -93,4 +94,12 @@ public class EdgingXmlVO implements Serializable {
// 模块ID // 模块ID
@XmlAttribute(name = "moduleId") @XmlAttribute(name = "moduleId")
private String moduleId; private String moduleId;
// 父ID
@XmlAttribute(name = "parentId")
private String parentId;
// 备注
@XmlElement(name = "Remarks")
private RemarkXmlVOS remarkXmlVOS;
} }
@@ -13,7 +13,7 @@ import java.io.Serializable;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@XmlRootElement(name = "Box") @XmlRootElement(name = "Group")
@XmlAccessorType(XmlAccessType.FIELD) @XmlAccessorType(XmlAccessType.FIELD)
public class GroupXmlVO implements Serializable { public class GroupXmlVO implements Serializable {
@@ -41,7 +41,4 @@ public class GroupXmlVO implements Serializable {
@XmlAttribute(name = "length") @XmlAttribute(name = "length")
private String length; private String length;
// 加工组数量
@XmlAttribute(name = "count")
private String count;
} }
@@ -21,6 +21,6 @@ public class GroupXmlVOS implements Serializable {
private String count; private String count;
// 房间 // 房间
@XmlElement(name = "Room") @XmlElement(name = "Group")
private List<GroupXmlVO> groupXmlVOList; private List<GroupXmlVO> groupXmlVOList;
} }
@@ -4,10 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable; import java.io.Serializable;
@Data @Data
@@ -74,6 +71,10 @@ public class HardwareXmlVO implements Serializable {
@XmlAttribute(name = "unit") @XmlAttribute(name = "unit")
private String unit; private String unit;
// 数量单位
@XmlAttribute(name = "unitCount")
private String unitCount;
// 仓库 // 仓库
@XmlAttribute(name = "warehouse") @XmlAttribute(name = "warehouse")
private String warehouse; private String warehouse;
@@ -98,4 +99,11 @@ public class HardwareXmlVO implements Serializable {
@XmlAttribute(name = "moduleId") @XmlAttribute(name = "moduleId")
private String moduleId; private String moduleId;
// 父ID
@XmlAttribute(name = "parentId")
private String parentId;
// 备注
@XmlElement(name = "Remarks")
private RemarkXmlVOS remarkXmlVOS;
} }
@@ -30,7 +30,7 @@ public class HoleXmlVO implements Serializable {
@XmlAttribute(name = "face") @XmlAttribute(name = "face")
private String face; private String face;
// 方向——向后Z-、向前Z+、向右X+、向左X-、向下Y-、向上Y+、斜O // 方向——向后Z-、向前Z+、向右X+、向左X-、向下Y-、向上Y+、斜O 孔加工面
@XmlAttribute(name = "direction") @XmlAttribute(name = "direction")
private String direction; private String direction;
@@ -14,32 +14,28 @@ import java.io.Serializable;
@XmlAccessorType(XmlAccessType.FIELD) @XmlAccessorType(XmlAccessType.FIELD)
public class ModuleXmlVO implements Serializable { public class ModuleXmlVO implements Serializable {
// 房间ID // 模块ID
@XmlAttribute(name = "id") @XmlAttribute(name = "id")
private String id; private String id;
// 房间名称 // 模块名称
@XmlAttribute(name = "name") @XmlAttribute(name = "name")
private String name; private String name;
// 房间编号 // 模块编号
@XmlAttribute(name = "code") @XmlAttribute(name = "code")
private String code; private String code;
// 房间高度 // 模块高度
@XmlAttribute(name = "height") @XmlAttribute(name = "height")
private String height; private String height;
// 房间宽度 // 模块宽度
@XmlAttribute(name = "width") @XmlAttribute(name = "width")
private String width; private String width;
// 房间长度 // 模块长度
@XmlAttribute(name = "length") @XmlAttribute(name = "length")
private String length; private String length;
// 房间数量
@XmlAttribute(name = "count")
private String count;
} }
@@ -20,6 +20,6 @@ public class ModuleXmlVOS implements Serializable {
private String count; private String count;
// 房间 // 房间
@XmlElement(name = "Room") @XmlElement(name = "Module")
private List<ModuleXmlVO> moduleXmlVOList; private List<ModuleXmlVO> moduleXmlVOList;
} }
@@ -1,6 +1,8 @@
package com.cf.imes.module.executor.util.fileConversion.admin.files.xml; package com.cf.imes.module.executor.util.fileConversion.admin.files.xml;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.cf.imes.module.executor.util.fileConversion.admin.ToolUtil;
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@@ -11,6 +13,9 @@ import java.nio.charset.StandardCharsets;
@Slf4j @Slf4j
@Component @Component
public class XMLReadUtil { public class XMLReadUtil {
final String TYPE_ERR = "数据类型错误";
public static Object read(MultipartFile file, Class<?> clazz) throws IOException { public static Object read(MultipartFile file, Class<?> clazz) throws IOException {
@@ -33,7 +38,6 @@ public class XMLReadUtil {
// XML转为JAVA对象 // XML转为JAVA对象
Object odfBody = XmlBuilder.xmlStrToOject(clazz, builder.toString()); Object odfBody = XmlBuilder.xmlStrToOject(clazz, builder.toString());
System.out.println(" odfBody " + JSON.toJSONString(odfBody));
return odfBody; return odfBody;
} catch (IOException e) { } catch (IOException e) {
@@ -44,4 +48,82 @@ public class XMLReadUtil {
return null; return null;
} }
// 数据格式转换
public Boolean checkVO(OrderXmlVO orderXmlVO) {
Boolean flag = true;
RoomXmlVOS roomXmlVOS = orderXmlVO.getRoomXmlVOS();
if ( roomXmlVOS != null ) {
for ( RoomXmlVO room : roomXmlVOS.getRoomXmlVOList() ) {
if (room != null){
if (!ToolUtil.convertToType(room.getHeight(), Double.class)){
room.setHeight(room.getHeight() + "-" + TYPE_ERR);
}
if (!ToolUtil.convertToType(room.getLength(), Double.class)){
room.setLength(room.getLength() + "-" + TYPE_ERR);
}
if (!ToolUtil.convertToType(room.getWidth(), Double.class)){
room.setWidth(room.getWidth() + "-" + TYPE_ERR);
}
if (!ToolUtil.convertToType(room.getCount(), Integer.class)){
room.setCount(room.getCount() + "-" + TYPE_ERR);
}
if (room.getBoxXmlVOList() != null){
for (BoxXmlVO box : room.getBoxXmlVOList()) {
if (box != null){
if (!ToolUtil.convertToType(box.getHeight(), Double.class)){
box.setHeight(box.getHeight() + "-" + TYPE_ERR);
}
if (!ToolUtil.convertToType(box.getLength(), Double.class)){
box.setLength(box.getLength() + "-" + TYPE_ERR);
}
if (!ToolUtil.convertToType(box.getWidth(), Double.class)){
box.setWidth(box.getWidth() + "-" + TYPE_ERR);
}
}
}
}
}
}
}
ModuleXmlVOS moduleXmlVOS = orderXmlVO.getModuleXmlVOS();
if ( moduleXmlVOS != null ) {
for ( ModuleXmlVO module : moduleXmlVOS.getModuleXmlVOList() ) {
if (module != null){
if (!ToolUtil.convertToType(module.getHeight(), Double.class)){
module.setHeight(module.getHeight() + "-" + TYPE_ERR);
}
if (!ToolUtil.convertToType(module.getLength(), Double.class)){
module.setLength(module.getLength() + "-" + TYPE_ERR);
}
if (!ToolUtil.convertToType(module.getWidth(), Double.class)){
module.setWidth(module.getWidth() + "-" + TYPE_ERR);
}
}
}
}
GroupXmlVOS grooveXmlVOS = orderXmlVO.getGroupXmlVOS();
if ( grooveXmlVOS != null ) {
for ( GroupXmlVO groove : grooveXmlVOS.getGroupXmlVOList() ) {
if (groove != null){
if (!ToolUtil.convertToType(groove.getHeight(), Double.class)){
groove.setHeight(groove.getHeight() + "-" + TYPE_ERR);
}
if (!ToolUtil.convertToType(groove.getLength(), Double.class)){
groove.setLength(groove.getLength() + "-"+ TYPE_ERR);
}
if (!ToolUtil.convertToType(groove.getWidth(), Double.class)){
groove.setWidth(groove.getWidth() + "-" + TYPE_ERR);
}
}
}
}
return flag;
}
} }
@@ -3,7 +3,7 @@ package com.cf.imes.module.executor.util.fileConversion.admin.files.xml;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator; import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator;
import com.cf.imes.framework.organ.core.context.OrganContextHolder; 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.goods.GoodsDO;
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.dal.dataobject.orderBody.OrderBodyDO; import com.cf.imes.module.executor.dal.dataobject.orderBody.OrderBodyDO;
@@ -12,27 +12,28 @@ 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.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.util.deviseData.dataTwo.*; import com.cf.imes.module.executor.enums.DataTypeEnum;
import com.cf.imes.module.executor.util.deviseData.structure.*;
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.ToolUtil; import com.cf.imes.module.executor.util.fileConversion.admin.ToolUtil;
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO.*; import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO.*;
import com.cf.imes.module.system.api.dict.DictDataApi; import com.cf.imes.module.system.api.dict.DictDataApi;
import com.cf.imes.module.system.api.dict.dto.DictDataRespDTO;
import com.cf.imes.module.executor.enums.DictTypeConstants;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList; import java.util.ArrayList;
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.stream.Collectors;
import static com.cf.imes.module.system.enums.DictTypeConstants.*;
/** /**
* 实现数据格式转换 * 实现数据格式转换
@@ -42,9 +43,6 @@ import static com.cf.imes.module.system.enums.DictTypeConstants.*;
@Component @Component
public class XmlTypeRealize { public class XmlTypeRealize {
@Resource
private SnowFlakeGenerator snowFlakeGenerator;
@Resource @Resource
SnowflakeIdWorker3rd idWorker; SnowflakeIdWorker3rd idWorker;
@@ -53,10 +51,6 @@ public class XmlTypeRealize {
final String NOT_ASSIGNED = "未命名"; final String NOT_ASSIGNED = "未命名";
final String NOT_ROOM = "无房间";
final String NOT_BODY = "无柜体";
@Resource @Resource
private IdentifierGenerator identifierGenerator; private IdentifierGenerator identifierGenerator;
@@ -72,7 +66,7 @@ public class XmlTypeRealize {
} }
// 生产单转换 // 生产单转换
public Map<String, Object> changeOrder(OrderXmlVO orderXmlVO, Long orderId, Long organId) { public Map<String, Object> changeOrder(OrderXmlVO orderXmlVO, Long organId) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
String error = ""; String error = "";
@@ -98,15 +92,14 @@ public class XmlTypeRealize {
} }
} }
OrderDO orderDO = OrderDO.builder() OrderDO orderDO = OrderDO.builder()
.id(orderId)
.organId(organId) .organId(organId)
.dataType(0) .dataType(DataTypeEnum.FILE_IMPORT.getStatus())
.customer(orderXmlVO.getCustomer()) // .customer(orderXmlVO.getCustomer())
.customOrderNo(orderXmlVO.getCustomOrderNo()) .customOrderNo(orderXmlVO.getCustomOrderNo())
.dealer(orderXmlVO.getDealer()) // .dealer(orderXmlVO.getDealer())
.dealerPhoneNumber(orderXmlVO.getDealerPhone()) .dealerPhoneNumber(orderXmlVO.getDealerPhone())
.address(orderXmlVO.getCustomerAddress()) // .address(orderXmlVO.getCustomerAddress())
.phoneNumber(orderXmlVO.getCustomerPhone()) // .phoneNumber(orderXmlVO.getCustomerPhone())
.salesman(orderXmlVO.getSeller()) .salesman(orderXmlVO.getSeller())
.splitter(orderXmlVO.getAnalyst()) .splitter(orderXmlVO.getAnalyst())
.remark(orderXmlVO.getMemo()) .remark(orderXmlVO.getMemo())
@@ -143,11 +136,12 @@ public class XmlTypeRealize {
Map<String, Map<String, OrderBodyDO>> roomInfos = new HashMap<>(); Map<String, Map<String, OrderBodyDO>> roomInfos = new HashMap<>();
if (roomXmlVOS != null && roomXmlVOS.getRoomXmlVOList() != null && roomXmlVOS.getRoomXmlVOList().size() > 0) { if (roomXmlVOS != null && roomXmlVOS.getRoomXmlVOList() != null && roomXmlVOS.getRoomXmlVOList().size() > 0) {
Map<String, OrderBodyDO> bodyInfos = new HashMap<>();
for (RoomXmlVO roomXmlVO : roomXmlVOS.getRoomXmlVOList()) { for (RoomXmlVO roomXmlVO : roomXmlVOS.getRoomXmlVOList()) {
Map<String, OrderBodyDO> bodyInfos = new HashMap<>();
Long roomId = Long.valueOf(roomXmlVO.getId()); Long roomId = Long.valueOf(roomXmlVO.getId());
for (BoxXmlVO boxXmlVO : roomXmlVO.getBoxXmlVOList()) { for (BoxXmlVO boxXmlVO : roomXmlVO.getBoxXmlVOList()) {
bodyInfos.put(boxXmlVO.getId(), OrderBodyDO.builder() OrderBodyDO orderBodyDO = OrderBodyDO.builder()
.id((Long) identifierGenerator.nextId(null)) .id((Long) identifierGenerator.nextId(null))
.organId(organId) .organId(organId)
.orderId(orderId) .orderId(orderId)
@@ -157,7 +151,10 @@ public class XmlTypeRealize {
.width(Double.parseDouble(boxXmlVO.getWidth())) .width(Double.parseDouble(boxXmlVO.getWidth()))
.height(Double.parseDouble(boxXmlVO.getHeight())) .height(Double.parseDouble(boxXmlVO.getHeight()))
.depth(Double.parseDouble(boxXmlVO.getLength())) .depth(Double.parseDouble(boxXmlVO.getLength()))
.build()); .plateNum(0)
.unregularNum(0)
.build();
bodyInfos.put(boxXmlVO.getId(), orderBodyDO);
} }
roomInfos.put(roomXmlVO.getId(), bodyInfos); roomInfos.put(roomXmlVO.getId(), bodyInfos);
} }
@@ -165,44 +162,75 @@ public class XmlTypeRealize {
return roomInfos; return roomInfos;
} }
// 柜体基点坐标转换
public Map<String, Map<String, BasePosition>> basePositionChange(RoomXmlVOS roomXmlVOS) {
Map<String, Map<String, BasePosition>> roomInfos = new HashMap<>();
if (roomXmlVOS != null && roomXmlVOS.getRoomXmlVOList() != null && roomXmlVOS.getRoomXmlVOList().size() > 0) {
Map<String, BasePosition> basePositions = new HashMap<>();
for (RoomXmlVO roomXmlVO : roomXmlVOS.getRoomXmlVOList()) {
for (BoxXmlVO boxXmlVO : roomXmlVO.getBoxXmlVOList()) {
BasePosition basePosition = BasePosition.builder()
.basePointX(boxXmlVO.getBasePointX())
.basePointY(boxXmlVO.getBasePointY())
.basePointZ(boxXmlVO.getBasePointZ())
.axisXrotate(boxXmlVO.getAxisXrotate())
.axisYrotate(boxXmlVO.getAxisYrotate())
.axisZrotate(boxXmlVO.getAxisZrotate())
.build();
basePositions.put(boxXmlVO.getId(), basePosition);
}
roomInfos.put(roomXmlVO.getId(), basePositions);
}
}
return roomInfos;
}
// 加工组信息转换 // 加工组信息转换
public Map<String, OrderGroupDO> groupInfoChange(GroupXmlVOS groupXmlVOS, Long orderId, Long organId) { public Map<String, OrderGroupDO> groupInfoChange(GroupXmlVOS groupXmlVOS, Long orderId, Long organId) {
Map<String, OrderGroupDO> groupInfos = new HashMap<>(); Map<String, OrderGroupDO> groupInfos = new HashMap<>();
if (groupXmlVOS != null && groupXmlVOS.getGroupXmlVOList() != null && groupXmlVOS.getGroupXmlVOList().size() > 0) { if (groupXmlVOS != null && groupXmlVOS.getGroupXmlVOList() != null && groupXmlVOS.getGroupXmlVOList().size() > 0) {
for (GroupXmlVO groupXmlVO : groupXmlVOS.getGroupXmlVOList()) { for (GroupXmlVO groupXmlVO : groupXmlVOS.getGroupXmlVOList()) {
groupInfos.put(groupXmlVO.getId(), OrderGroupDO.builder() OrderGroupDO groupDO = OrderGroupDO.builder()
.id((Long) identifierGenerator.nextId(null)) .id((Long) identifierGenerator.nextId(null))
.organId(organId) .organId(organId)
.orderId(orderId) .orderId(orderId)
.bodyId(0L)
.groupTypeId(0L)
.name(groupXmlVO.getName()) .name(groupXmlVO.getName())
.height(Double.parseDouble(groupXmlVO.getHeight())) .height(Double.parseDouble(groupXmlVO.getHeight()))
.width(Double.parseDouble(groupXmlVO.getWidth())) .width(Double.parseDouble(groupXmlVO.getWidth()))
.depth(Double.parseDouble(groupXmlVO.getLength())) .depth(Double.parseDouble(groupXmlVO.getLength()))
.build()); .plateNum(0)
.unregularNum(0)
.build();
groupInfos.put(groupXmlVO.getId(), groupDO);
} }
} }
return groupInfos; return groupInfos;
} }
// 板材信息转换 // 板材信息转换
public Map<String, List<Object>> goodsInfoChange(OrderXmlVO orderXmlVO, Long orderId, Long organId) { public Map<String, List<?>> goodsInfoChange(OrderXmlVO orderXmlVO, Long orderId, Long organId) {
Map<String, List<Object>> map = new HashMap<>(); Map<String, List<?>> map = new HashMap<>();
List<RawGoodsDO> rawGoodsDOs = new ArrayList<>(); List<Object> rawGoodsDOs = new ArrayList<>();
List<GoodsDO> goodsDOs = new ArrayList<>(); List<Object> goodsDOs = new ArrayList<>();
List<OrderBodyDO> bodyBOs = new ArrayList<>();
List<OrderGroupDO> groupDOs = new ArrayList<>();
List<PlateDO> plateDOs = new ArrayList<>();
List<OrderItemDO> itemDOs = new ArrayList<>();
List<OrderPartsDO> partsDOs = new ArrayList<>();
Map<String, OrderGroupDO> groupInfos = groupInfoChange(orderXmlVO.getGroupXmlVOS(), orderId, organId); // 加工组
Map<String, Object> itemInfos = new HashMap<>();
Map<String, Object> partsInfos = new HashMap<>();
List<Object> plateDOs = new ArrayList<>();
List<Object> plateDetail = null;
// 房间柜体 // 房间柜体
Map<String, Map<String, OrderBodyDO>> roomInfos = bodyInfoChange(orderXmlVO.getRoomXmlVOS(), orderId, organId); Map<String, Map<String, OrderBodyDO>> roomInfos = bodyInfoChange(orderXmlVO.getRoomXmlVOS(), orderId, organId); // roomInfos 这个在跟着一起变
// 房间柜体基点
Map<String, Map<String, BasePosition>> boxBasePositions = basePositionChange(orderXmlVO.getRoomXmlVOS());
// 加工组
Map<String, OrderGroupDO> groupInfos = groupInfoChange(orderXmlVO.getGroupXmlVOS(), orderId, organId); // groupInfos 这个在跟着一起变
Map<String, Object> itemInfos = new HashMap<>();
Map<String, Object> partsInfos = new HashMap<>();
Map<String, Object> orderPartsRemarks = new HashMap<>();
Map<String, Object> partsDOInfos = new HashMap<>();
if (orderXmlVO.getMaterialXmlVO() != null ){ if (orderXmlVO.getMaterialXmlVO() != null ){
MaterialXmlVO materialXmlVO = orderXmlVO.getMaterialXmlVO(); MaterialXmlVO materialXmlVO = orderXmlVO.getMaterialXmlVO();
@@ -214,6 +242,8 @@ public class XmlTypeRealize {
Map<String, Map<String, Object>> partAllInfo = goodsInfoChange(accessoryXmlVO, assemblieXmlVOS, orderId, organId, roomInfos, groupInfos); Map<String, Map<String, Object>> partAllInfo = goodsInfoChange(accessoryXmlVO, assemblieXmlVOS, orderId, organId, roomInfos, groupInfos);
itemInfos.putAll(partAllInfo.get("orderItemMap")); itemInfos.putAll(partAllInfo.get("orderItemMap"));
partsInfos.putAll(partAllInfo.get("orderPartsMap")); partsInfos.putAll(partAllInfo.get("orderPartsMap"));
orderPartsRemarks.putAll(partAllInfo.get("orderPartsRemarks"));
partsDOInfos.putAll(partAllInfo.get("orderPartsDOMap"));
// 板材 小板 // 板材 小板
if (plateXmlVOS.getPlateXmlVOList() != null && plateXmlVOS.getPlateXmlVOList().size() > 0) { if (plateXmlVOS.getPlateXmlVOList() != null && plateXmlVOS.getPlateXmlVOList().size() > 0) {
@@ -256,25 +286,52 @@ public class XmlTypeRealize {
goodsDOs.add(goodsDO); goodsDOs.add(goodsDO);
// 小板信息 // 小板信息
plateInfoChange(plateXmlVO.getBlockXmlVOS(), orderId, goodsDO.getId(), organId, roomInfos, groupInfos, partsInfos, itemInfos, plateDOs); plateDetail = plateInfoChange(plateXmlVO.getBlockXmlVOS(), orderId, goodsDO.getId(), organId, roomInfos, groupInfos, partsInfos, itemInfos, plateDOs, boxBasePositions);
} }
} }
} }
} }
// 取map中的值
System.out.println(" roomInfos " + roomInfos);
List<Object> orderBodyDOList = roomInfos.values().stream()
.flatMap(innerMap -> innerMap.values().stream())
.collect(Collectors.toList());
List<Object> groupDOList = new ArrayList<>(groupInfos.values());
List<Object> itemDOList = new ArrayList<>(itemInfos.values());
List<Object> partDOList = new ArrayList<>(partsDOInfos.values());
List<Object> partRemarks = new ArrayList<>(orderPartsRemarks.values());
map.put("rawGoodsDOS", rawGoodsDOs);
map.put("goodsDOS", goodsDOs);
map.put("orderBodyDOS", orderBodyDOList);
map.put("orderGroupDOS", groupDOList);
map.put("plateDOS", plateDOs);
map.put("orderPartsDOS", partDOList);
map.put("orderItemDOS", itemDOList);
map.put("plateDetail", plateDetail);
map.put("orderPartsRemarks", partRemarks);
return map; return map;
} }
// id得到 // id得到
private Map<String,Long> getId(String roomNo, String BoxNo, Map<String, Map<String, OrderBodyDO>> roomInfos, private Map<String,Long> getId(String roomNo, String BoxNo, Map<String, Map<String, OrderBodyDO>> roomInfos,
String groupNo, Map<String, OrderGroupDO> groupInfos, String groupNo, Map<String, OrderGroupDO> groupInfos, Double plateNum,
Long orderId, Long organId) { Double unregularNum, Long orderId, Long organId) {
Map<String,Long> map = new HashMap<>(); Map<String,Long> map = new HashMap<>();
Map<String, OrderBodyDO> bodyMap = roomInfos.get(roomNo); Map<String, OrderBodyDO> bodyMap = roomInfos.get(roomNo);
OrderBodyDO bodyDO; OrderBodyDO bodyDO;
if (bodyMap.containsKey(BoxNo)) { if (bodyMap == null){
bodyDO = (OrderBodyDO) bodyMap.get(BoxNo); bodyMap = new HashMap<>();
roomInfos.put(roomNo, bodyMap);
}
if ( bodyMap.containsKey(BoxNo)) {
bodyDO = bodyMap.get(BoxNo);
bodyDO.setPlateNum((int) (bodyDO.getPlateNum() + plateNum + unregularNum))
.setUnregularNum((int) (bodyDO.getUnregularNum() + unregularNum));
} else { } else {
Long roomId = (Long) identifierGenerator.nextId(null); Long roomId = (Long) identifierGenerator.nextId(null);
bodyDO = OrderBodyDO.builder() bodyDO = OrderBodyDO.builder()
@@ -287,9 +344,10 @@ public class XmlTypeRealize {
.width(0.0) .width(0.0)
.height(0.0) .height(0.0)
.depth(0.0) .depth(0.0)
.plateNum((int) Math.round(plateNum))
.unregularNum((int) Math.round(unregularNum))
.build(); .build();
bodyMap.put(NOT_ASSIGNED, bodyDO); bodyMap.put(BoxNo, bodyDO);
roomInfos.put(NOT_ASSIGNED, bodyMap);
} }
Long roomId = bodyDO.getRoomId(); Long roomId = bodyDO.getRoomId();
@@ -299,6 +357,8 @@ public class XmlTypeRealize {
Long groupId = 0L; Long groupId = 0L;
if (orderGroupDO != null) { if (orderGroupDO != null) {
groupId = orderGroupDO.getId(); groupId = orderGroupDO.getId();
orderGroupDO.setBodyId(bodyId).setPlateNum((int) (orderGroupDO.getPlateNum() + plateNum))
.setUnregularNum((int) (orderGroupDO.getUnregularNum() + unregularNum));
} }
map.put("roomId", roomId); map.put("roomId", roomId);
map.put("bodyId", bodyId); map.put("bodyId", bodyId);
@@ -311,13 +371,15 @@ public class XmlTypeRealize {
Map<String, Map<String, Object>> map = new HashMap<>(); Map<String, Map<String, Object>> map = new HashMap<>();
Map<String, Object> orderPartsMap = new HashMap<>(); Map<String, Object> orderPartsMap = new HashMap<>();
Map<String, Object> orderItemMap = new HashMap<>(); Map<String, Object> orderItemMap = new HashMap<>();
Map<String, Object> orderPartsDOMap = new HashMap<>();
Map<String, Object> orderPartsRemarks = new HashMap<>();
if (accessoryXmlVO != null) { if (accessoryXmlVO != null) {
if (accessoryXmlVO.getEdgingXmlVOS() != null && accessoryXmlVO.getEdgingXmlVOS().getEdgingXmlVOList() != null && accessoryXmlVO.getEdgingXmlVOS().getEdgingXmlVOList().size() > 0) { if (accessoryXmlVO.getEdgingXmlVOS() != null && accessoryXmlVO.getEdgingXmlVOS().getEdgingXmlVOList() != null && accessoryXmlVO.getEdgingXmlVOS().getEdgingXmlVOList().size() > 0) {
EdgingXmlVOS edgingXmlVOS = accessoryXmlVO.getEdgingXmlVOS(); EdgingXmlVOS edgingXmlVOS = accessoryXmlVO.getEdgingXmlVOS();
for (EdgingXmlVO edgingXmlVO : edgingXmlVOS.getEdgingXmlVOList()) { for (EdgingXmlVO edgingXmlVO : edgingXmlVOS.getEdgingXmlVOList()) {
Map<String,Long> idMap = getId(edgingXmlVO.getRoomId(), edgingXmlVO.getBoxId(), roomInfos, edgingXmlVO.getGroupId(), groupInfos, orderId, organId); Map<String,Long> idMap = getId(edgingXmlVO.getRoomId(), edgingXmlVO.getBoxId(), roomInfos, edgingXmlVO.getGroupId(), groupInfos, 0.0, 0.0, orderId, organId);
Long partsId = (Long) identifierGenerator.nextId(null); Long partsId = (Long) identifierGenerator.nextId(null);
orderPartsMap.put(edgingXmlVO.getId(), OrderPartsAddVO.builder() orderPartsMap.put(edgingXmlVO.getId(), OrderPartsAddVO.builder()
@@ -352,13 +414,33 @@ public class XmlTypeRealize {
.bodyId(idMap.get("bodyId")) .bodyId(idMap.get("bodyId"))
.num(Double.valueOf(edgingXmlVO.getCount())) .num(Double.valueOf(edgingXmlVO.getCount()))
.build()); .build());
orderPartsDOMap.put(edgingXmlVO.getId(), OrderPartsDO.builder()
.id(partsId)
.organId(organId)
.orderId(orderId)
.name(edgingXmlVO.getName())
.material(edgingXmlVO.getMaterial())
.type("封边条")
.brand(edgingXmlVO.getBrand())
.spec(edgingXmlVO.getSpecs())
.unit(edgingXmlVO.getUnit())
.isComposite(false)
.build());
if (edgingXmlVO.getRemarkXmlVOS() != null && edgingXmlVO.getRemarkXmlVOS().getRemarkXmlVOList() != null && edgingXmlVO.getRemarkXmlVOS().getRemarkXmlVOList().size() > 0) {
orderPartsRemarks.put(edgingXmlVO.getId(), OrderPartsRemark.builder()
.partsId(partsId)
.orderId(orderId)
.remark(edgingXmlVO.getRemarkXmlVOS().toString())
.build());
}
} }
} }
if (accessoryXmlVO.getHardwareXmlVOS() != null && accessoryXmlVO.getHardwareXmlVOS().getHardwareXmlVOList() != null && accessoryXmlVO.getHardwareXmlVOS().getHardwareXmlVOList().size() > 0) { if (accessoryXmlVO.getHardwareXmlVOS() != null && accessoryXmlVO.getHardwareXmlVOS().getHardwareXmlVOList() != null && accessoryXmlVO.getHardwareXmlVOS().getHardwareXmlVOList().size() > 0) {
HardwareXmlVOS hardwareXmlVOS = accessoryXmlVO.getHardwareXmlVOS(); HardwareXmlVOS hardwareXmlVOS = accessoryXmlVO.getHardwareXmlVOS();
for (HardwareXmlVO hardwareXmlVO : hardwareXmlVOS.getHardwareXmlVOList()) { for (HardwareXmlVO hardwareXmlVO : hardwareXmlVOS.getHardwareXmlVOList()) {
Map<String,Long> idMap = getId(hardwareXmlVO.getRoomId(), hardwareXmlVO.getBoxId(), roomInfos, hardwareXmlVO.getGroupId(), groupInfos, orderId, organId); Map<String,Long> idMap = getId(hardwareXmlVO.getRoomId(), hardwareXmlVO.getBoxId(), roomInfos, hardwareXmlVO.getGroupId(), groupInfos, 0.0, 0.0,orderId, organId);
Long partsId = (Long) identifierGenerator.nextId(null); Long partsId = (Long) identifierGenerator.nextId(null);
orderPartsMap.put(hardwareXmlVO.getId(), OrderPartsAddVO.builder() orderPartsMap.put(hardwareXmlVO.getId(), OrderPartsAddVO.builder()
@@ -395,6 +477,25 @@ public class XmlTypeRealize {
.bodyId(idMap.get("bodyId")) .bodyId(idMap.get("bodyId"))
.num(Double.valueOf(hardwareXmlVO.getCount())) .num(Double.valueOf(hardwareXmlVO.getCount()))
.build()); .build());
orderPartsDOMap.put(hardwareXmlVO.getId(), OrderPartsDO.builder()
.id(partsId)
.organId(organId)
.orderId(orderId)
.name(hardwareXmlVO.getName())
.material(hardwareXmlVO.getMaterial())
.type(hardwareXmlVO.getType())
.brand(hardwareXmlVO.getBrand())
.spec(hardwareXmlVO.getSpecs())
.unit(hardwareXmlVO.getUnit())
.isComposite(false)
.build());
if (hardwareXmlVO.getRemarkXmlVOS() != null && hardwareXmlVO.getRemarkXmlVOS().getRemarkXmlVOList() != null && hardwareXmlVO.getRemarkXmlVOS().getRemarkXmlVOList().size() > 0) {
orderPartsRemarks.put(hardwareXmlVO.getId(), OrderPartsRemark.builder()
.partsId(partsId)
.orderId(orderId)
.remark(hardwareXmlVO.getRemarkXmlVOS().toString())
.build());
}
} }
} }
} }
@@ -402,73 +503,101 @@ public class XmlTypeRealize {
if (assemblieXmlVOS != null && assemblieXmlVOS.getAssemblyXmlVOList() != null && assemblieXmlVOS.getAssemblyXmlVOList().size() > 0) { if (assemblieXmlVOS != null && assemblieXmlVOS.getAssemblyXmlVOList() != null && assemblieXmlVOS.getAssemblyXmlVOList().size() > 0) {
for (AssemblyXmlVO assemblyXmlVO : assemblieXmlVOS.getAssemblyXmlVOList()) { for (AssemblyXmlVO assemblyXmlVO : assemblieXmlVOS.getAssemblyXmlVOList()) {
Map<String,Long> idMap = getId(assemblyXmlVO.getRoomId(), assemblyXmlVO.getBoxId(), roomInfos, assemblyXmlVO.getGroupId(), groupInfos, orderId, organId); if (assemblyXmlVO != null && assemblyXmlVO.toString().length() > 0) {
Map<String,Long> idMap = getId(assemblyXmlVO.getRoomId(), assemblyXmlVO.getBoxId(), roomInfos, assemblyXmlVO.getGroupId(), groupInfos, 0.0, 0.0, orderId, organId);
Long partsId = (Long) identifierGenerator.nextId(null); Long partsId = (Long) identifierGenerator.nextId(null);
orderPartsMap.put(assemblyXmlVO.getId(), OrderPartsAddVO.builder() orderPartsMap.put(assemblyXmlVO.getId(), OrderPartsAddVO.builder()
.id(partsId) .id(partsId)
.organId(organId) .organId(organId)
.orderId(orderId) .orderId(orderId)
.type(assemblyXmlVO.getType()) .type(assemblyXmlVO.getType())
.goodsId(assemblyXmlVO.getItemNo()) .goodsId(assemblyXmlVO.getItemNo())
.factory(assemblyXmlVO.getManufacturer()) .factory(assemblyXmlVO.getManufacturer())
.brand(assemblyXmlVO.getBrand()) .brand(assemblyXmlVO.getBrand())
.name(assemblyXmlVO.getName()) .name(assemblyXmlVO.getName())
.material(assemblyXmlVO.getMaterial()) .material(assemblyXmlVO.getMaterial())
.spec(assemblyXmlVO.getSpecs()) .spec(assemblyXmlVO.getSpecs())
.color(assemblyXmlVO.getColor()) .color(assemblyXmlVO.getColor())
.length(BigDecimal.valueOf(Double.parseDouble(assemblyXmlVO.getLength()))) .length(BigDecimal.valueOf(Double.parseDouble(assemblyXmlVO.getLength())))
.width(BigDecimal.valueOf(Double.parseDouble(assemblyXmlVO.getWidth()))) .width(BigDecimal.valueOf(Double.parseDouble(assemblyXmlVO.getWidth())))
.thickness(BigDecimal.valueOf(Double.parseDouble(assemblyXmlVO.getHeight()))) .thickness(BigDecimal.valueOf(Double.parseDouble(assemblyXmlVO.getHeight())))
.num(Double.valueOf(assemblyXmlVO.getCount())) .num(Double.valueOf(assemblyXmlVO.getCount()))
.unit((assemblyXmlVO.getUnit())) .unit((assemblyXmlVO.getUnit()))
.warehouse(assemblyXmlVO.getWarehouse()) .warehouse(assemblyXmlVO.getWarehouse())
.shelf(assemblyXmlVO.getShelf()) .shelf(assemblyXmlVO.getShelf())
.roomId(assemblyXmlVO.getRoomId()) .roomId(assemblyXmlVO.getRoomId())
.bodyId(assemblyXmlVO.getBoxId()) .bodyId(assemblyXmlVO.getBoxId())
.isComposite(true) .isComposite(true)
.build()); .build());
orderItemMap.put(assemblyXmlVO.getId(), OrderItemDO.builder() orderItemMap.put(assemblyXmlVO.getId(), OrderItemDO.builder()
.id((Long) identifierGenerator.nextId(null)) .id((Long) identifierGenerator.nextId(null))
.organId(organId) .organId(organId)
.orderId(orderId) .orderId(orderId)
.type(2) .type(2)
.partsId(partsId) .partsId(partsId)
.groupId(idMap.get("groupId")) .groupId(idMap.get("groupId"))
.roomId(idMap.get("roomId")) .roomId(idMap.get("roomId"))
.bodyId(idMap.get("bodyId")) .bodyId(idMap.get("bodyId"))
.num(Double.valueOf(assemblyXmlVO.getCount())) .num(Double.valueOf(assemblyXmlVO.getCount()))
.build()); .build());
orderPartsDOMap.put(assemblyXmlVO.getId(), OrderPartsDO.builder()
.id(partsId)
.organId(organId)
.orderId(orderId)
.name(assemblyXmlVO.getName())
.material(assemblyXmlVO.getMaterial())
.type(assemblyXmlVO.getType())
.brand(assemblyXmlVO.getBrand())
.spec(assemblyXmlVO.getSpecs())
.unit(assemblyXmlVO.getUnit())
.isComposite(true)
.build());
if (assemblyXmlVO.getRemarkXmlVOS() != null && assemblyXmlVO.getRemarkXmlVOS().getRemarkXmlVOList() != null && assemblyXmlVO.getRemarkXmlVOS().getRemarkXmlVOList().size() > 0) {
orderPartsRemarks.put(assemblyXmlVO.getId(), OrderPartsRemark.builder()
.partsId(partsId)
.orderId(orderId)
.remark(assemblyXmlVO.getRemarkXmlVOS().toString())
.build());
}
}
} }
} }
map.put("orderItemMap", orderItemMap); map.put("orderItemMap", orderItemMap);
map.put("orderPartsMap", orderPartsMap); map.put("orderPartsMap", orderPartsMap);
map.put("orderPartsDOMap", orderPartsDOMap);
map.put("orderPartsRemarks", orderPartsRemarks);
return map; return map;
} }
public List<PlateDetail> plateInfoChange(BlockXmlVOS blockXmlVOS, Long orderId, Long goodsId, Long organId, public List<Object> plateInfoChange(BlockXmlVOS blockXmlVOS, Long orderId, Long goodsId, Long organId,
Map<String, Map<String, OrderBodyDO>> roomInfos, Map<String, OrderGroupDO> groupInfos, Map<String, Map<String, OrderBodyDO>> roomInfos, Map<String, OrderGroupDO> groupInfos,
Map<String, Object> partsMap, Map<String, Object> orderItemMap, List<PlateDO> plateDOs) { Map<String, Object> partsMap, Map<String, Object> orderItemMap, List<Object> plateDOs,
List<PlateDetail> plateDetails = new ArrayList<>(); Map<String, Map<String, BasePosition>> boxBasePositionMap) {
List<Object> plateDetails = new ArrayList<>();
if (blockXmlVOS != null && blockXmlVOS.getBlockXmlVOList() != null && blockXmlVOS.getBlockXmlVOList().size() > 0) { if (blockXmlVOS != null && blockXmlVOS.getBlockXmlVOList() != null && blockXmlVOS.getBlockXmlVOList().size() > 0) {
for (BlockXmlVO blockXmlVO : blockXmlVOS.getBlockXmlVOList()) { for (BlockXmlVO blockXmlVO : blockXmlVOS.getBlockXmlVOList()) {
String roomId = blockXmlVO.getRoomId();
String bodyId = blockXmlVO.getBoxId();
String groupId = blockXmlVO.getGroupId();
long plateNo = idWorker.nextId(); long plateNo = idWorker.nextId();
long obtainingTime = idWorker.obtainingTime(); long obtainingTime = idWorker.obtainingTime();
Long plateId = (Long) identifierGenerator.nextId(null); Long plateId = (Long) identifierGenerator.nextId(null);
BigDecimal area = BigDecimal.valueOf(Double.parseDouble(blockXmlVO.getWidth()) * Double.parseDouble(blockXmlVO.getLength())); BigDecimal area = BigDecimal.valueOf((Double.parseDouble(blockXmlVO.getWidth()) / 1000) * (Double.parseDouble(blockXmlVO.getLength())) );
// 开料面积 // 开料面积
BigDecimal sealAcreage = BigDecimal.valueOf(Double.parseDouble(blockXmlVO.getCuttingWidth()) * Double.parseDouble(blockXmlVO.getCuttingLength())); BigDecimal sealAcreage = BigDecimal.valueOf( (Double.parseDouble(blockXmlVO.getCuttingWidth()) / 1000) * ( Double.parseDouble(blockXmlVO.getCuttingLength()) / 1000));
// 开门类型获取 // 开门类型获取
Integer doorType = Integer.valueOf(dictDataApi.parseDictData(DOOR_OPEN_DIR, blockXmlVO.getOpenDirection()).getData().getValue()); Integer doorType = Integer.valueOf(dictDataApi.parseDictData(DictTypeConstants.DOOR_OPENING_DIRECTIONS, blockXmlVO.getOpenDirection()).getData().getValue());
// 板材获取 // 板材获取
Double plateNum = 0.0;
Map<String,Long> idMap = getId(blockXmlVO.getRoomId(), blockXmlVO.getBoxId(), roomInfos, blockXmlVO.getGroupId(), groupInfos, orderId, organId); Double unregularNum = 0.0;
if (convertToBoolean(blockXmlVO.getUnregular())){
unregularNum = 1.0;
}else {
plateNum = 1.0;
}
Map<String,Long> idMap = getId(blockXmlVO.getRoomId(), blockXmlVO.getBoxId(), roomInfos, blockXmlVO.getGroupId(), groupInfos, plateNum, unregularNum, orderId, organId);
BasePosition boxBasePoint = boxBasePositionMap.get(blockXmlVO.getRoomId()).get(blockXmlVO.getBoxId()).setBasePoint(String.valueOf(idMap.get("bodyId")));
PlateDO plateDO = PlateDO.builder() PlateDO plateDO = PlateDO.builder()
.id(plateId) .id(plateId)
@@ -476,7 +605,8 @@ public class XmlTypeRealize {
.orderId(orderId) .orderId(orderId)
.name(blockXmlVO.getName()) .name(blockXmlVO.getName())
.plateNo((obtainingTime) + Long.toString(plateNo).substring(2)) .plateNo((obtainingTime) + Long.toString(plateNo).substring(2))
.type(Integer.valueOf(blockXmlVO.getType())) .type(dictDataApi.parseDictData(DictTypeConstants.PLATE_TYPE,
blockXmlVO.getType()).getData() == null ? 2 : Integer.valueOf(dictDataApi.parseDictData(DictTypeConstants.PLATE_TYPE, blockXmlVO.getType()).getData().getValue()))
.goodsId(goodsId) .goodsId(goodsId)
.width(BigDecimal.valueOf(Double.parseDouble(blockXmlVO.getWidth()))) .width(BigDecimal.valueOf(Double.parseDouble(blockXmlVO.getWidth())))
.height(BigDecimal.valueOf(Double.parseDouble(blockXmlVO.getLength()))) .height(BigDecimal.valueOf(Double.parseDouble(blockXmlVO.getLength())))
@@ -485,8 +615,8 @@ public class XmlTypeRealize {
.splitThickness(BigDecimal.valueOf(Double.parseDouble(blockXmlVO.getThickness()))) .splitThickness(BigDecimal.valueOf(Double.parseDouble(blockXmlVO.getThickness())))
.splitWidth(BigDecimal.valueOf(Double.parseDouble(blockXmlVO.getWidth()))) .splitWidth(BigDecimal.valueOf(Double.parseDouble(blockXmlVO.getWidth())))
.area(area) .area(area)
.texture(Integer.valueOf(blockXmlVO.getTexture())) .texture(Integer.valueOf(dictDataApi.parseDictData(DictTypeConstants.GRAIN_TYPE, blockXmlVO.getTexture()).getData().getValue()))
.holeFace(Integer.valueOf(blockXmlVO.getLayoutFace())) .holeFace(Integer.valueOf(dictDataApi.parseDictData(DictTypeConstants.TYPOGRAPHY_TYPE, blockXmlVO.getLayoutFace()).getData().getValue()))
.isDoor(doorType == 0) .isDoor(doorType == 0)
.openDoorType(doorType) .openDoorType(doorType)
.isSpecialShaped(convertToBoolean(blockXmlVO.getUnregular())) .isSpecialShaped(convertToBoolean(blockXmlVO.getUnregular()))
@@ -504,6 +634,16 @@ public class XmlTypeRealize {
.num(1.0) .num(1.0)
.build()); .build());
// 基点坐标获取
BasePosition plateBasePosition = BasePosition.builder()
.basePoint(blockXmlVO.getId())
.basePointX(blockXmlVO.getBasePointX())
.basePointY(blockXmlVO.getBasePointY())
.basePointZ(blockXmlVO.getBasePointZ())
.axisXrotate(blockXmlVO.getAxisXrotate())
.axisYrotate(blockXmlVO.getAxisYrotate())
.axisZrotate(blockXmlVO.getAxisZrotate())
.build();
PlateDetail plateDetail = PlateDetail.builder() PlateDetail plateDetail = PlateDetail.builder()
.plateId(plateId) .plateId(plateId)
.plateNo(plateDO.getPlateNo()) .plateNo(plateDO.getPlateNo())
@@ -517,9 +657,18 @@ public class XmlTypeRealize {
.plateWidth(plateDO.getWidth()) .plateWidth(plateDO.getWidth())
.plateLength(plateDO.getHeight()) .plateLength(plateDO.getHeight())
.acreage(plateDO.getArea()) .acreage(plateDO.getArea())
.bodyBasePosition(boxBasePoint)
.plateBasePosition(plateBasePosition)
.splitLength(BigDecimal.valueOf(Long.parseLong(blockXmlVO.getCuttingLength()))) .splitLength(BigDecimal.valueOf(Long.parseLong(blockXmlVO.getCuttingLength())))
.splitWidth(BigDecimal.valueOf(Long.parseLong(blockXmlVO.getCuttingWidth()))) .splitWidth(BigDecimal.valueOf(Long.parseLong(blockXmlVO.getCuttingWidth())))
.sealAcreage(sealAcreage) .sealAcreage(sealAcreage)
.pointDetail(new ArrayList<>())
.rawPointDetail(new ArrayList<>())
.holeDetail(new ArrayList<>())
.contourDetail(new ArrayList<>())
.sideHoleDetail(new ArrayList<>())
.remark(new HashMap<>())
.sideRemark(new HashMap<>())
.isUnRegular(plateDO.getIsSpecialShaped()) .isUnRegular(plateDO.getIsSpecialShaped())
.build(); .build();
// 小板、es 封边值 // 小板、es 封边值
@@ -533,7 +682,7 @@ public class XmlTypeRealize {
// 小板备注信息 // 小板备注信息
addRemark(plateDO, plateDetail, blockXmlVO); addRemark(plateDO, plateDetail, blockXmlVO);
//
plateDOs.add(plateDO); plateDOs.add(plateDO);
plateDetails.add(plateDetail); plateDetails.add(plateDetail);
} }
@@ -562,24 +711,29 @@ public class XmlTypeRealize {
BigDecimal sealRight = BigDecimal.valueOf(0); BigDecimal sealRight = BigDecimal.valueOf(0);
BigDecimal sealUp = BigDecimal.valueOf(0); BigDecimal sealUp = BigDecimal.valueOf(0);
BigDecimal sealDown = BigDecimal.valueOf(0); BigDecimal sealDown = BigDecimal.valueOf(0);
BigDecimal size = BigDecimal.valueOf(0);
if (outlineXmlVO != null && outlineXmlVO.getPointXmlVOList() != null && outlineXmlVO.getPointXmlVOList().size() > 0) { if (outlineXmlVO != null && outlineXmlVO.getPointXmlVOList() != null && outlineXmlVO.getPointXmlVOList().size() > 0) {
for (PointXmlVO pointXmlVO : outlineXmlVO.getPointXmlVOList()) { for (PointXmlVO pointXmlVO : outlineXmlVO.getPointXmlVOList()) {
Double x = Double.parseDouble(pointXmlVO.getPointX()); Double x = Double.parseDouble(pointXmlVO.getPointX());
Double y = Double.parseDouble(pointXmlVO.getPointY()); Double y = Double.parseDouble(pointXmlVO.getPointY());
OrderPartsAddVO edging = (OrderPartsAddVO) edgIng.get(pointXmlVO.getEdgingId()); OrderPartsAddVO edging = (OrderPartsAddVO) edgIng.get(pointXmlVO.getEdgingId());
if (edging != null){
size = edging.getThickness();
}
if (!plateDO.getIsSpecialShaped()) { if (!plateDO.getIsSpecialShaped()) {
if (x == 0 && y == 0) { if (x == 0 && y == 0) {
sealDown = edging.getThickness(); sealDown = size;
} }
if (x != 0 && y == 0) { if (x != 0 && y == 0) {
sealRight = edging.getThickness(); sealRight = size;
} }
if (x != 0 && y != 0) { if (x != 0 && y != 0) {
sealUp = edging.getThickness(); sealUp = size;
} }
if (x == 0 && y != 0) { if (x == 0 && y != 0) {
sealLeft = edging.getThickness(); sealLeft = size;
} }
} }
@@ -589,7 +743,7 @@ public class XmlTypeRealize {
.pointY(y) .pointY(y)
.curve(Double.parseDouble(pointXmlVO.getCurvature())) .curve(Double.parseDouble(pointXmlVO.getCurvature()))
.radius(Double.parseDouble(pointXmlVO.getRadius())) .radius(Double.parseDouble(pointXmlVO.getRadius()))
.sealSize(edging.getThickness()) .sealSize(size)
.build()); .build());
plateDetail.getSideRemark().put(pointXmlVO.getId(), pointXmlVO.getRemark()); plateDetail.getSideRemark().put(pointXmlVO.getId(), pointXmlVO.getRemark());
} }
@@ -601,8 +755,8 @@ public class XmlTypeRealize {
// 点明细(不含封边) // 点明细(不含封边)
private void addPointDetail(PlateDO plateDO, PlateDetail plateDetail, CuttingOutlineXmlVO cuttingOutlineXmlVO) { private void addPointDetail(PlateDO plateDO, PlateDetail plateDetail, CuttingOutlineXmlVO cuttingOutlineXmlVO) {
if (cuttingOutlineXmlVO != null) { if (cuttingOutlineXmlVO != null) {
plateDO.setOffsetX(BigDecimal.valueOf(Long.parseLong(cuttingOutlineXmlVO.getReferenceOffsetX()))). plateDO.setOffsetX(BigDecimal.valueOf(Double.parseDouble(cuttingOutlineXmlVO.getReferenceOffsetX()))).
setOffsetY(BigDecimal.valueOf(Long.parseLong(cuttingOutlineXmlVO.getReferenceOffsetY()))); setOffsetY(BigDecimal.valueOf(Double.parseDouble(cuttingOutlineXmlVO.getReferenceOffsetY())));
plateDetail.setOffsetX(plateDO.getOffsetX()).setOffsetY(plateDO.getOffsetY()); plateDetail.setOffsetX(plateDO.getOffsetX()).setOffsetY(plateDO.getOffsetY());
if (cuttingOutlineXmlVO.getPointXmlVOList() != null && cuttingOutlineXmlVO.getPointXmlVOList().size() > 0) { if (cuttingOutlineXmlVO.getPointXmlVOList() != null && cuttingOutlineXmlVO.getPointXmlVOList().size() > 0) {
for (PointXmlVO pointXmlVO : cuttingOutlineXmlVO.getPointXmlVOList()) { for (PointXmlVO pointXmlVO : cuttingOutlineXmlVO.getPointXmlVOList()) {
@@ -620,7 +774,7 @@ public class XmlTypeRealize {
// 孔 // 孔
private void addHole(PlateDO plateDO, PlateDetail plateDetail, HoleXmlVOS holeXmlVOS) { private void addHole(PlateDO plateDO, PlateDetail plateDetail, HoleXmlVOS holeXmlVOS) {
if (holeXmlVOS != null) { if (holeXmlVOS != null && holeXmlVOS.getHoleXmlVOList() != null && holeXmlVOS.getHoleXmlVOList().size() > 0) {
plateDO.setFrontHoleCount(Integer.valueOf(holeXmlVOS.getCountFaceA())). plateDO.setFrontHoleCount(Integer.valueOf(holeXmlVOS.getCountFaceA())).
setBackHoleCount(Integer.valueOf(holeXmlVOS.getCountFaceB())). setBackHoleCount(Integer.valueOf(holeXmlVOS.getCountFaceB())).
setSideHoleCount(Integer.valueOf(holeXmlVOS.getCountSide())); setSideHoleCount(Integer.valueOf(holeXmlVOS.getCountSide()));
@@ -629,18 +783,17 @@ public class XmlTypeRealize {
} }
if (holeXmlVOS.getHoleXmlVOList() != null && holeXmlVOS.getHoleXmlVOList().size() > 0) { if (holeXmlVOS.getHoleXmlVOList() != null && holeXmlVOS.getHoleXmlVOList().size() > 0) {
for (HoleXmlVO holeXmlVO : holeXmlVOS.getHoleXmlVOList()) { for (HoleXmlVO holeXmlVO : holeXmlVOS.getHoleXmlVOList()) {
Integer faceType = Integer.valueOf(dictDataApi.parseDictData(HOLE_FACE, holeXmlVO.getFace()).getData().getValue()); DictDataRespDTO faceType = dictDataApi.parseDictData(DictTypeConstants.HOLE_FACE, holeXmlVO.getFace()).getData();
faceType = faceType == 0 || faceType == 1 ? faceType : 2; Integer faceTypeValue = faceType != null ? Integer.valueOf(faceType.getValue()) : 2;
Integer direction = Integer.valueOf(dictDataApi.parseDictData(HOLE_DIR, holeXmlVO.getDirection()).getData().getValue()); Integer direction = Integer.valueOf(dictDataApi.parseDictData(DictTypeConstants.HOLE_DIR, holeXmlVO.getDirection()).getData().getValue());
Integer holeType = Integer.valueOf(dictDataApi.parseDictData(HOLE_TYPE, holeXmlVO.getType()).getData().getValue()); DictDataRespDTO holeType = holeXmlVO.getType() == null ? null : dictDataApi.parseDictData(DictTypeConstants.HOLE_TYPE, holeXmlVO.getType()).getData();
Double radius = holeXmlVO.getDiameter() != null ? Double.parseDouble(holeXmlVO.getDiameter()) / 2 : 0; Double radius = holeXmlVO.getDiameter() != null ? Double.parseDouble(holeXmlVO.getDiameter()) / 2 : 0;
Double depth = holeXmlVO.getDepth() != null ? Double.parseDouble(holeXmlVO.getDepth()) : 0; Double depth = holeXmlVO.getDepth() != null ? Double.parseDouble(holeXmlVO.getDepth()) : 0;
HoleDetail holeDetail = HoleDetail.builder() HoleDetail holeDetail = HoleDetail.builder()
.holeName(holeXmlVO.getName()) .holeName(holeXmlVO.getName())
.faceType(faceType) .faceType(faceTypeValue)
.holeType(Integer.valueOf(holeXmlVO.getType()))
.direction(direction) .direction(direction)
.holeType(holeType) .holeType(holeType != null ? Integer.valueOf(holeType.getValue()) : null)
.radius(radius) .radius(radius)
.depth(depth) .depth(depth)
.build(); .build();
@@ -662,7 +815,7 @@ public class XmlTypeRealize {
// 造型 // 造型
private void addContourDetail(PlateDO plateDO, PlateDetail plateDetail, GrooveXmlVOS grooveXmlVOS) { private void addContourDetail(PlateDO plateDO, PlateDetail plateDetail, GrooveXmlVOS grooveXmlVOS) {
if (grooveXmlVOS != null) { if (grooveXmlVOS != null && ObjectUtils.allNull(grooveXmlVOS)) {
plateDO.setFrontModelCount(Integer.valueOf(grooveXmlVOS.getCountFaceA())). plateDO.setFrontModelCount(Integer.valueOf(grooveXmlVOS.getCountFaceA())).
setBackModelCount(Integer.valueOf(grooveXmlVOS.getCountFaceB())); setBackModelCount(Integer.valueOf(grooveXmlVOS.getCountFaceB()));
if (grooveXmlVOS.getCountThrough() != null && Integer.parseInt(grooveXmlVOS.getCountThrough()) > 0) { if (grooveXmlVOS.getCountThrough() != null && Integer.parseInt(grooveXmlVOS.getCountThrough()) > 0) {
@@ -670,7 +823,7 @@ public class XmlTypeRealize {
} }
if (grooveXmlVOS.getGrooveXmlVOList() != null && grooveXmlVOS.getGrooveXmlVOList().size() > 0) { if (grooveXmlVOS.getGrooveXmlVOList() != null && grooveXmlVOS.getGrooveXmlVOList().size() > 0) {
for (GrooveXmlVO grooveXmlVO : grooveXmlVOS.getGrooveXmlVOList()) { for (GrooveXmlVO grooveXmlVO : grooveXmlVOS.getGrooveXmlVOList()) {
Integer faceType = Integer.valueOf(dictDataApi.parseDictData(HOLE_FACE, grooveXmlVO.getFace()).getData().getValue()); Integer faceType = Integer.valueOf(dictDataApi.parseDictData(DictTypeConstants.HOLE_FACE, grooveXmlVO.getFace()).getData().getValue());
faceType = faceType == 0 || faceType == 1 ? faceType : 2; faceType = faceType == 0 || faceType == 1 ? faceType : 2;
ModelDetail modelDetail = ModelDetail.builder() ModelDetail modelDetail = ModelDetail.builder()
.type(grooveXmlVO.getType()) .type(grooveXmlVO.getType())
@@ -1,24 +0,0 @@
package com.cf.imes.module.executor.util.fileConversion.admin.files.xml;
import com.cf.imes.module.executor.dal.dataobject.orderBody.OrderBodyDO;
import java.lang.reflect.Method;
/**
* @projectName: cf_imes_server
* @author: 晨丰科技
* @date: 2024/8/23 16:59
*/
public class test {
public static void main(String[] args) {
// 给定的圆的直径
double diameter = 5;
// 计算半径
double radius = diameter / 3;
// 输出结果
System.out.println("圆的半径是: " + radius);
}
}
@@ -7,5 +7,5 @@ package com.cf.imes.module.manage.enums;
*/ */
public interface DictTypeConstants { public interface DictTypeConstants {
String PLATE_TEXTURE = "plate_texture_type";// 板件纹 String PLATE_TEXTURE = "plate_texture_type";// 板件纹
} }
@@ -117,10 +117,10 @@ public class PlateController {
public void importTemplate(HttpServletResponse response) throws IOException { public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo // 手动创建导出 demo
List<PlateImportExcelVO> list = Arrays.asList( List<PlateImportExcelVO> list = Arrays.asList(
PlateImportExcelVO.builder().goodsId("SP1123456").goodsName("尼龙板").material("PVC").width(String.valueOf(1200.000)).height(String.valueOf(2400.000)) PlateImportExcelVO.builder().goodsId("SP1123456").goodsName("5mm-多层板-高级灰").material("多层板").width(String.valueOf(1220)).height(String.valueOf(2440))
.thickness(String.valueOf(18)).brand("黑天鹅").spec("1200*2400*18").remark("板材样本").color("黑色").texture("").build(), .thickness(String.valueOf(5)).brand("AAA").spec("2440*1220*5").remark("板材样本").color("高级灰").texture("").build(),
PlateImportExcelVO.builder().goodsId("SP1123457").goodsName("电木").material("塑料").width(String.valueOf(1800.000)).height(String.valueOf(2800.000)) PlateImportExcelVO.builder().goodsId("SP1123457").goodsName("白玉木兰-欧松").material("欧松板").width(String.valueOf(1220)).height(String.valueOf(2750))
.thickness(String.valueOf(24)).brand("东粤橡塑厂").spec("1800*2800*24").remark("测试").color("黑色").texture("").build() .thickness(String.valueOf(18)).brand("鸿达树").spec("2750*1220*18").remark("测试").color("白玉木兰").texture("").build()
); );
// 输出 // 输出
ExcelUtils.write(response, "板材导入模板.xlsx", "板材列表", PlateImportExcelVO.class, list); ExcelUtils.write(response, "板材导入模板.xlsx", "板材列表", PlateImportExcelVO.class, list);
@@ -66,7 +66,7 @@ public class RemainPlateController {
@Operation(summary = "余料板批量核销") @Operation(summary = "余料板批量核销")
@PreAuthorize("@ss.hasPermission('placeorder:remain')") @PreAuthorize("@ss.hasPermission('placeorder:remain')")
public CommonResult<Boolean> updateRemainPlate(@RequestBody RemainPlateUptReqVO updateReqVO) { public CommonResult<Boolean> updateRemainPlate(@RequestBody RemainPlateUptReqVO updateReqVO) {
remainPlateService.updateRemainPlateStatus(updateReqVO.getId(), remainPlateService.updateRemainPlateStatus(updateReqVO.getIds(),
updateReqVO.getStatus(), updateReqVO.getStatus(),
updateReqVO.getUseType(), updateReqVO.getUseType(),
updateReqVO.getPlanId()); updateReqVO.getPlanId());
@@ -77,7 +77,7 @@ public class RemainPlateController {
@Operation(summary = "余料板批量释放") @Operation(summary = "余料板批量释放")
@PreAuthorize("@ss.hasPermission('placeorder:remain')") @PreAuthorize("@ss.hasPermission('placeorder:remain')")
public CommonResult<Boolean> revertRemainPlate(@RequestBody RemainPlateUptReqVO updateReqVO) { public CommonResult<Boolean> revertRemainPlate(@RequestBody RemainPlateUptReqVO updateReqVO) {
remainPlateService.revertRemainPlateStatus(updateReqVO.getId(),updateReqVO.getStatus()); remainPlateService.revertRemainPlateStatus(updateReqVO.getIds(),updateReqVO.getStatus());
return success(true); return success(true);
} }
@@ -10,7 +10,7 @@ import java.util.Set;
public class RemainPlateUptReqVO { public class RemainPlateUptReqVO {
@Schema(description = "余料板集", example = "16470") @Schema(description = "余料板集", example = "16470")
private Set<Long> id; private Set<Long> ids;
@Schema(description = "余料板状态,0未使用,1使用中", example = "1") @Schema(description = "余料板状态,0未使用,1使用中", example = "1")
private Integer status; private Integer status;
@@ -26,17 +26,15 @@ public interface DictTypeConstants {
String SMS_SEND_STATUS = "system_sms_send_status"; // 短信发送状态 String SMS_SEND_STATUS = "system_sms_send_status"; // 短信发送状态
String SMS_RECEIVE_STATUS = "system_sms_receive_status"; // 短信接收状态 String SMS_RECEIVE_STATUS = "system_sms_receive_status"; // 短信接收状态
String TYPOGRAPHY_TYPE = "typographyType"; // 排版面
String PLATE_TEXTURE_TYPE = "plate_texture_type";// 板材纹路:0有 1无 String PLATE_TEXTURE_TYPE = "plate_texture_type";// 板材纹路:0有 1无
String GRAIN_TYPE = "grainType";//纹路类型
String DOOR_OPENING_DIRECTIONS = "doorOpeningDirections";//开门方向
String PRODUCT_TYPE = "productType";//产品类型 String PRODUCT_TYPE = "productType";//产品类型
String SYNTHESIS_TYPE = "synthesisType";//加工组类型 String SYNTHESIS_TYPE = "synthesisType";//加工组类型
String DOOR_OPEN_DIR = "doorOpeningDirections";// 开门方向
String HOLE_FACE = "hole_face";//孔加工面
String HOLE_DIR = "hole_direction";// 孔方向
String HOLE_TYPE = "hole_type";//孔类型
String PLATE_TEXTURE_TYPE_STATUS = "plateTextureTypeStatus";//板件纹路状态 String PLATE_TEXTURE_TYPE_STATUS = "plateTextureTypeStatus";//板件纹路状态
String PLATE_TEXTURE_TYPE_STATUS_TYPE = "plateTextureTypeStatusType";//板件纹路状态类型 String PLATE_TEXTURE_TYPE_STATUS_TYPE = "plateTextureTypeStatusType";//板件纹路状态类型
} }