Merge remote-tracking branch 'origin/main'

This commit is contained in:
gaoqr
2024-09-23 16:15:51 +08:00
41 changed files with 1845 additions and 566 deletions
@@ -5,17 +5,21 @@ package com.cf.imes.module.executor.enums;
*/ */
public interface DictTypeConstants { public interface DictTypeConstants {
String HOLE_FACE = "hole_face";//加工面
String HOLE_DIRECTION = "hole_direction";// 方向
// ========== PLATE 模块 ========== // ========== PLATE 模块 ==========
String TYPOGRAPHY_TYPE = "typographyType"; // 排版面 String TYPOGRAPHY_TYPE = "typographyType"; // 排版面
String GRAIN_TYPE = "grainType";// 小板纹路类型 String GRAIN_TYPE = "grainType";// 小板纹路类型
String DOOR_OPENING_DIRECTIONS = "doorOpeningDirections";//开门方向 String DOOR_OPENING_DIRECTIONS = "doorOpeningDirections";//开门方向
String PLATE_TYPE = "order_plate_type"; // 板类型 String PLATE_TYPE = "order_plate_type"; // 板类型
String UNIT_LENGTH = "unit_length"; // 长度单位
String UNIT_AREA = "area_unit"; // 面积单位
// ========== HOLE 模块 ========== // ========== HOLE 模块 ==========
String HOLE_FACE = "hole_face";//孔加工面
String HOLE_DIR = "hole_direction";// 孔方向
String HOLE_TYPE = "hole_type";//孔类型 String HOLE_TYPE = "hole_type";//孔类型
// ========== 单位 模块 ==========
String UNIT_LENGTH = "length_unit"; // 长度单位
String UNIT_AREA = "area_unit"; // 面积单位
} }
@@ -10,7 +10,6 @@ import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderRoomBo
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.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.enums.OrderTypeEnum;
import com.cf.imes.module.executor.util.ExcelWriterUtil; import com.cf.imes.module.executor.util.ExcelWriterUtil;
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;
@@ -19,7 +18,6 @@ import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.OrderPl
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.XMLUtil; import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.XMLUtil;
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.XmlBuilder; import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.XmlBuilder;
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.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -59,7 +57,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
@@ -285,17 +282,15 @@ public class OrderController {
@RequestParam(value = "type") Integer type, @RequestParam(value = "type") Integer type,
@RequestParam(value = "index", required = false, defaultValue = "0") Integer index, @RequestParam(value = "index", required = false, defaultValue = "0") Integer index,
@RequestParam(value = "id", required = false, defaultValue = "0") Long orderId, @RequestParam(value = "id", required = false, defaultValue = "0") Long orderId,
HttpServletResponse response) { HttpServletResponse response) throws Exception {
List<OrderPlateImportExcelVO> list = null;
OrderXmlVO orderXmlVO = null;
OrderDO orderDO = null;
Map<String, Object> mapOrder = null;
Boolean flag = true;
try { try {
List<OrderPlateImportExcelVO> list = null;
OrderXmlVO orderXmlVO = null;
OrderDO orderDO = null;
Map<String, Object> mapOrder;
Boolean flag = true;
if (type == 0) { //excel if (type == 0) { //excel
excelReadUtil.setErr(0); excelReadUtil.setErr(0);
Map<String, Object> map = excelReadUtil.read(file); Map<String, Object> map = excelReadUtil.read(file);
@@ -345,6 +340,7 @@ public class OrderController {
} else if (type == 2) { // xml } else if (type == 2) { // xml
orderXmlVO = (OrderXmlVO) XMLUtil.read(file, OrderXmlVO.class); orderXmlVO = (OrderXmlVO) XMLUtil.read(file, OrderXmlVO.class);
System.out.println("1、 " + orderXmlVO);
if (index == 0){ if (index == 0){
if (orderXmlVO != null) { if (orderXmlVO != null) {
@@ -368,16 +364,18 @@ public class OrderController {
orderXmlVO = new OrderXmlVO().setMemo("生产单内容为空"); orderXmlVO = new OrderXmlVO().setMemo("生产单内容为空");
flag = false; flag = false;
} else if (orderDO.getCustomOrderNo() != null && !orderService.customOrderNoIsExists(orderDO.getCustomOrderNo())) { } else if (orderDO.getCustomOrderNo() != null && !orderService.customOrderNoIsExists(orderDO.getCustomOrderNo())) {
orderXmlVO.setCustomOrderNo(orderXmlVO.getCustomOrderNo() + "自定义单号重复"); orderXmlVO.setOrderCode(orderXmlVO.getOrderCode() + "自定义单号重复");
flag = false; flag = false;
} else if (flag){ // 生产单的内容正确 } else if (flag){ // 生产单的内容正确
if (orderXmlVO.getMaterialXmlVO().getPlateXmlVOS().getPlateXmlVOList().size() == 0) { if (orderXmlVO.getMaterialXmlVO().getPlateXmlVOS().getPlateXmlVOList().size() == 0) {
orderDO.setStatus(OrderStatusEnum.EMPTY.getStatus()); orderDO.setStatus(OrderStatusEnum.EMPTY.getStatus());
} else { } else {
orderDO.setStatus(OrderStatusEnum.NEW_ORDER.getStatus()); orderDO.setStatus(OrderStatusEnum.NEW_ORDER.getStatus());
flag = xmlUtil.checkVO(orderXmlVO);
} }
} }
if (!flag){ if (!flag){
System.out.println("xml = " + orderXmlVO);
String xmlStr = XmlBuilder.objectToXmlStr(orderXmlVO); String xmlStr = XmlBuilder.objectToXmlStr(orderXmlVO);
XMLUtil.writeErr(response, xmlStr, " 错误.xml"); XMLUtil.writeErr(response, xmlStr, " 错误.xml");
return; return;
@@ -386,6 +384,12 @@ public class OrderController {
orderService.importExcelData(orderDO, type , index, list, orderXmlVO); orderService.importExcelData(orderDO, type , index, list, orderXmlVO);
} catch (Exception e) { } catch (Exception e) {
log.error("文件导入异常", e); log.error("文件导入异常", e);
if (type == 0) {
ExcelWriterUtil.write(response, mapOrder, list, orderService.getSavePath() + File.separator + "order_add_excel_err.xlsx");
} else if (type == 2) {
String xmlStr = XmlBuilder.objectToXmlStr(orderXmlVO);
XMLUtil.writeErr(response, xmlStr, " 错误.xml");
}
} }
} }
@@ -69,8 +69,10 @@ public class OrderModelDO extends ESDocument {
private List<PointDetail> rawPointDetail; private List<PointDetail> rawPointDetail;
@Schema(description = "孔明细列表") @Schema(description = "孔明细列表")
private List<HoleDetail> holeDetail; private List<HoleDetail> holeDetail;
@Schema(description = "造型明细") @Schema(description = "造型明细(凹槽)")
private List<ModelDetail> contourDetail; private List<ModelDetail> contourDetail;
@Schema(description = "造型明细(孤岛,现在是xml数据格式添加)")
private List<ModelDetail> isletsDetail ; //造型明细(孤岛)
@Schema(description = "侧面孔明细列表") @Schema(description = "侧面孔明细列表")
private List<HoleDetail> sideHoleDetail; private List<HoleDetail> sideHoleDetail;
@@ -18,8 +18,8 @@ import java.util.List;
public interface PlateGoodMapper extends BaseMapperX<PlateGoodDO> { public interface PlateGoodMapper extends BaseMapperX<PlateGoodDO> {
// goodsId匹配 // goodsId匹配
default PlateGoodDO selectGoodOne(String id, Long organId) { default List<PlateGoodDO> selectGoodOne(String id, Long organId) {
return selectOne(new LambdaQueryWrapper<PlateGoodDO>() return selectList(new LambdaQueryWrapper<PlateGoodDO>()
.eq(PlateGoodDO::getGoodsId, id) .eq(PlateGoodDO::getGoodsId, id)
.eq(PlateGoodDO::getDeleted, 0) .eq(PlateGoodDO::getDeleted, 0)
.eq(PlateGoodDO::getOrganId, organId)); .eq(PlateGoodDO::getOrganId, organId));
@@ -48,6 +48,7 @@ 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.plan.PlanService; import com.cf.imes.module.executor.service.plan.PlanService;
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.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;
@@ -125,6 +126,9 @@ public class OrderServiceImpl implements OrderService {
@Resource @Resource
private ApiDataAchieve apiDataAchieve; private ApiDataAchieve apiDataAchieve;
@Resource
private SnowflakeIdWorker3rd idWorker;
@Resource @Resource
private ApiTypeRealize apiTypeRealize; private ApiTypeRealize apiTypeRealize;
@@ -725,11 +729,11 @@ public class OrderServiceImpl implements OrderService {
PlateGoodDO plateGoodDO = null; PlateGoodDO plateGoodDO = null;
List<PlateGoodDO> plateGoodDOS = null; List<PlateGoodDO> plateGoodDOS = null;
if (goodsDO.getGoodsId() != null) { // 有goodsId if (goodsDO.getGoodsId() != null) { // 有goodsId
plateGoodDO = plateGoodMapper.selectGoodOne(goodsDO.getGoodsId(), SecurityFrameworkUtils.getLoginUser().getOrganId()); plateGoodDO = plateGoodMapper.selectGoodOne(goodsDO.getGoodsId(), OrganContextHolder.getOrganId()).get(0);
} else { // 没有goodsId 其他信息匹配 } else { // 没有goodsId 其他信息匹配
plateGoodDOS = plateGoodMapper.selectGood(goodsDO.getGoodsName(), goodsDO.getMaterial(), goodsDO.getColor(), plateGoodDOS = plateGoodMapper.selectGood(goodsDO.getGoodsName(), goodsDO.getMaterial(), goodsDO.getColor(),
goodsDO.getTexture(), goodsDO.getWidth(), goodsDO.getThickness(), goodsDO.getHeight(), goodsDO.getBrand(), goodsDO.getTexture(), goodsDO.getWidth(), goodsDO.getThickness(), goodsDO.getHeight(), goodsDO.getBrand(),
goodsDO.getSpec(), SecurityFrameworkUtils.getLoginUser().getOrganId()); goodsDO.getSpec(), OrganContextHolder.getOrganId());
} }
if (plateGoodDOS != null && plateGoodDOS.size() > 0) {//存在板材 if (plateGoodDOS != null && plateGoodDOS.size() > 0) {//存在板材
@@ -738,10 +742,13 @@ public class OrderServiceImpl implements OrderService {
goodsDO.setGoodsId(plateGoodDO.getGoodsId()); goodsDO.setGoodsId(plateGoodDO.getGoodsId());
} else { // 不存在板材 } else { // 不存在板材
Long plateGoods = (Long) identifierGenerator.nextId(null); Long plateGoods = (Long) identifierGenerator.nextId(null);
Long goodsId = (Long) identifierGenerator.nextId(null); long plateNo = idWorker.nextId();
long obtainingTime = idWorker.obtainingTime();
// Long goodsId = (Long) identifierGenerator.nextId(null);
plateGoodDO = BeanUtils.toBean(goodsDO, PlateGoodDO.class) plateGoodDO = BeanUtils.toBean(goodsDO, PlateGoodDO.class)
.setId(plateGoods) .setId(plateGoods)
.setGoodsId(String.valueOf(goodsId)); .setGoodsId((obtainingTime) + Long.toString(plateNo).substring(2));
// 判断是否存在raw_goods_id // 判断是否存在raw_goods_id
if (goodsDO.getGoodsId() != null) { if (goodsDO.getGoodsId() != null) {
plateGoodDO.setGoodsId(goodsDO.getGoodsId()); plateGoodDO.setGoodsId(goodsDO.getGoodsId());
@@ -39,4 +39,8 @@ public class IOriginModelingData {
private Double addWidth; private Double addWidth;
@Schema(description = "槽加深") @Schema(description = "槽加深")
private Double addDepth; private Double addDepth;
// ============ 启用 api =============
@Schema(description = "点列表")
private List<PointList> pointList;
} }
@@ -18,15 +18,34 @@ import java.util.List;
@Schema(description = "管理后台 - 造型信息") @Schema(description = "管理后台 - 造型信息")
public class ModelDetail { public class ModelDetail {
@Schema(description = "造型ID")
private Integer id;
@Schema(description = "父ID")
private Integer parentId;
@Schema(description = "类型——矩形槽Rectangle、路径槽Path、内铣槽internalMilling、折返路径槽turnbackPath") @Schema(description = "类型——矩形槽Rectangle、路径槽Path、内铣槽internalMilling、折返路径槽turnbackPath")
private String type; private String type;
@Schema(description = "使用字典进行解析 造型排版面 0正面, 1反面, 2侧面") @Schema(description = "使用字典进行解析 造型排版面 0正面, 1反面, 2侧面")
private Integer faceType; private Integer faceType;
@Schema(description = "造型长度")
private Double width;
@Schema(description = "造型宽度")
private Double length;
@Schema(description = "造型深度") @Schema(description = "造型深度")
private Double depth; private Double depth;
@Schema(description = "圆角半径")
private Double round;
@Schema(description = "刀路冗余量(偏移重叠量)")
private Double redundance;
@Schema(description = "角度(二维刀路V型刀提角/清角用)")
private Double tangentAngle;
@Schema(description = "造型数量")
private Integer count;
@Schema(description = "造像使用刀具名称") @Schema(description = "造像使用刀具名称")
private String knifeName; private String knifeName;
@@ -95,7 +95,8 @@ public class PlateDetail{
private List<PointDetail> rawPointDetail ; //原始点明细(含封边) private List<PointDetail> rawPointDetail ; //原始点明细(含封边)
private List<HoleDetail> holeDetail ; //孔明细,表示板上的孔 private List<HoleDetail> holeDetail ; //孔明细,表示板上的孔
private List<ModelDetail> contourDetail ; //造型明细 private List<ModelDetail> contourDetail ; //造型明细(凹槽)
private List<ModelDetail> isletsDetail ; //造型明细(孤岛)
private List<HoleDetail> sideHoleDetail;//侧面孔明细 private List<HoleDetail> sideHoleDetail;//侧面孔明细
@@ -57,7 +57,12 @@ public class ToolUtil {
// 数据类型转换 // 数据类型转换
public static Boolean convertToType(String str, Class<?> targetType) { public static Boolean convertToType(String str, Class<?> targetType) {
try { try {
Method method = targetType.getMethod("parse" + targetType.getSimpleName(), String.class); Method method;
if (targetType.getSimpleName().equals("Integer")) {
method = targetType.getMethod("parseInt", String.class);
} else {
method = targetType.getMethod("parse" + targetType.getSimpleName(), String.class);
}
method.invoke(null, str); method.invoke(null, str);
return true; return true;
} catch (Exception e) { } catch (Exception e) {
@@ -931,6 +931,24 @@ public class ApiTypeRealize {
.build()); .build());
} }
} }
List<PointList> pointListInOrigin = new ArrayList<>();
if (model.getJSONArray("OriginModeling") != null && !model.getJSONArray("OriginModeling").isEmpty()) {
for (int j = 0; j < model.getJSONArray("OriginModeling").size(); j++) {
JSONObject point = model.getJSONArray("OriginModeling").getJSONObject(j);
String[] points = splitAndTrim(point.getString("Pos"));
pointListInOrigin.add(PointList.builder()
.pointX(Double.valueOf(points[X]))
.pointY(Double.valueOf(points[Y]))
.pointZ(Double.valueOf(points[Z]))
.curve(Double.valueOf(point.getString("Curve")))
.build());
}
}
IOriginModelingData originModeling = IOriginModelingData.builder()
.pointList(pointListInOrigin)
.build();
modelDetails.add(ModelDetail.builder() modelDetails.add(ModelDetail.builder()
.depth(Double.valueOf(model.getString("Depth"))) .depth(Double.valueOf(model.getString("Depth")))
.faceType(Integer.valueOf(model.getString("Face"))) .faceType(Integer.valueOf(model.getString("Face")))
@@ -938,6 +956,7 @@ public class ApiTypeRealize {
.knifeRadius(Double.valueOf(model.getString("Diameter")) / 2) .knifeRadius(Double.valueOf(model.getString("Diameter")) / 2)
.pointList(pointLists) .pointList(pointLists)
.offSetList(offSetLists) .offSetList(offSetLists)
.originModeling(originModeling)
.build()); .build());
} }
} }
@@ -15,18 +15,14 @@ import java.io.Serializable;
// 组件/部件信息 // 组件/部件信息
public class AssemblyXmlVO implements Serializable { public class AssemblyXmlVO implements Serializable {
// 五金ID // 五金物料编码
@XmlAttribute(name = "组件/部件ID") @XmlAttribute(name = "itemCode")
private String id; private String itemCode;
// 类型——抽屉Drawer、酒格WineGrid、框架/拼框门FrameDoor、线条(顶线、脚线、挡水条等)Line、桌面/台面TableTop、水槽Sink…… // 类型——抽屉Drawer、酒格WineGrid、框架/拼框门FrameDoor、线条(顶线、脚线、挡水条等)Line、桌面/台面TableTop、水槽Sink……
@XmlAttribute(name = "type") @XmlAttribute(name = "type")
private String type; private String type;
// 物料编码
@XmlAttribute(name = "itemNo")
private String itemNo;
// 厂家 // 厂家
@XmlAttribute(name = "manufacturer") @XmlAttribute(name = "manufacturer")
private String manufacturer; private String manufacturer;
@@ -67,7 +63,7 @@ public class AssemblyXmlVO implements Serializable {
@XmlAttribute(name = "count") @XmlAttribute(name = "count")
private String count; private String count;
// 单位 // 长度单位
@XmlAttribute(name = "unit") @XmlAttribute(name = "unit")
private String unit; private String unit;
@@ -83,25 +79,37 @@ public class AssemblyXmlVO implements Serializable {
@XmlAttribute(name = "shelf") @XmlAttribute(name = "shelf")
private String shelf; private String shelf;
// 房间ID // 房间名称
@XmlAttribute(name = "roomId") @XmlAttribute(name = "roomName")
private String roomId; private String roomName;
// 柜体ID // 房间号
@XmlAttribute(name = "boxId") @XmlAttribute(name = "roomCode")
private String boxId; private String roomCode;
// 加工组ID // 柜体名称
@XmlAttribute(name = "groupId") @XmlAttribute(name = "boxName")
private String groupId; private String boxName;
// 模块ID // 柜体号
@XmlAttribute(name = "moduleId") @XmlAttribute(name = "boxCode")
private String moduleId; private String boxCode;
// 父ID // 加工组号
@XmlAttribute(name = "parentId") @XmlAttribute(name = "groupCode")
private String parentId; private String groupCode;
// 模块名称
@XmlAttribute(name = "moduleName")
private String moduleName;
// 模块号
@XmlAttribute(name = "moduleCode")
private String moduleCode;
// 父物料编码
@XmlAttribute(name = "parentCode")
private String parentCode;
// 备注 // 备注
@XmlElement(name = "Remarks") @XmlElement(name = "Remarks")
@@ -15,35 +15,35 @@ import java.io.Serializable;
// 板件信息 // 板件信息
public class BlockXmlVO implements Serializable { public class BlockXmlVO implements Serializable {
// 板件ID
@XmlAttribute(name = "id")
private String id;
// 设计编号 // 设计编号
@XmlAttribute(name = "designNo") @XmlAttribute(name = "designCode")
private String designNo; private String designCode;
// 生产编号 // 生产编号
@XmlAttribute(name = "productionNo") @XmlAttribute(name = "productionCode")
private String productionNo; private String productionCode;
// 名称 // 名称
@XmlAttribute(name = "name") @XmlAttribute(name = "name")
private String name; private String name;
// 类型——类型——背板类、层板类、立板类 // 类型——类型——背板类、层板类、立板类 -- order_plate_type
@XmlAttribute(name = "type") @XmlAttribute(name = "type")
private String type; private String type;
// 开向——左开、右开、上开(上翻)、下开(下翻)、非门板 // 是否见光板/面板 ——是/否
@XmlAttribute(name = "visible")
private String visible;
// 开向——左开、右开、上开、下开、非门板 -- doorOpeningDirections
@XmlAttribute(name = "openDirection") @XmlAttribute(name = "openDirection")
private String openDirection; private String openDirection;
// 设计纹路——正纹、反纹、可翻转 // 设计纹路——正纹、反纹、可翻转 -- grainType
@XmlAttribute(name = "texture") @XmlAttribute(name = "texture")
private String texture; private String texture;
// 设计饰面——无、单面贴皮/涂装(正面、反面)、双面贴皮/涂装(不同色、同色) // 设计饰面——无、单面、双面
@XmlAttribute(name = "coatingType") @XmlAttribute(name = "coatingType")
private String coatingType; private String coatingType;
@@ -83,11 +83,11 @@ public class BlockXmlVO implements Serializable {
@XmlAttribute(name = "cuttingThickness") @XmlAttribute(name = "cuttingThickness")
private String cuttingThickness; private String cuttingThickness;
// 成倍数量 // 成倍拆单数量
@XmlAttribute(name = "multipleNumber") @XmlAttribute(name = "multipleNumber")
private String multipleNumber; private String multipleNumber;
// 成倍序号 // 成倍拆单序号
@XmlAttribute(name = "multipleNo") @XmlAttribute(name = "multipleNo")
private String multipleNo; private String multipleNo;
@@ -99,7 +99,7 @@ public class BlockXmlVO implements Serializable {
@XmlAttribute(name = "slotting") @XmlAttribute(name = "slotting")
private String slotting; private String slotting;
// 排版面——设计正面、设计反面、随意面 // 排版面——设计正面、设计反面、随意面 -- typographyType
@XmlAttribute(name = "layoutFace") @XmlAttribute(name = "layoutFace")
private String layoutFace; private String layoutFace;
@@ -112,40 +112,42 @@ public class BlockXmlVO implements Serializable {
private String coatingReverse; private String coatingReverse;
// 长度单位 // 长度单位
@XmlAttribute(name = "unitLength") @XmlAttribute(name = "unit")
private String unitLength; private String unit;
// 面积单位
@XmlAttribute(name = "unitArea")
private String unitArea;
// 成品面积
@XmlAttribute(name = "area")
private String area;
// 开料面积
@XmlAttribute(name = "areaCutting")
private String areaCutting;
// 是否钻孔 // 是否钻孔
@XmlAttribute(name = "drilling") @XmlAttribute(name = "drilling")
private String drilling; private String drilling;
// 房间ID // 房间名称
@XmlAttribute(name = "roomId") @XmlAttribute(name = "roomName")
private String roomId; private String roomName;
// 柜体ID // 房间号
@XmlAttribute(name = "boxId") @XmlAttribute(name = "roomCode")
private String boxId; private String roomCode;
// 房间名称
@XmlAttribute(name = "boxName")
private String boxName;
// 柜体号
@XmlAttribute(name = "boxCode")
private String boxCode;
// 加工组号
@XmlAttribute(name = "groupCode")
private String groupCode;
// 模块名称
@XmlAttribute(name = "moduleName")
private String moduleName;
// 模块号
@XmlAttribute(name = "moduleCode")
private String moduleCode;
// 加工组ID
@XmlAttribute(name = "groupId")
private String groupId;
// 模块ID
@XmlAttribute(name = "moduleId")
private String moduleId;
// 基点X坐标 // 基点X坐标
@XmlAttribute(name = "basePointX") @XmlAttribute(name = "basePointX")
@@ -171,6 +173,8 @@ public class BlockXmlVO implements Serializable {
@XmlAttribute(name = "axisZrotate") @XmlAttribute(name = "axisZrotate")
private String axisZrotate; private String axisZrotate;
// 成品(设计成型/已封边/贴皮或涂装的板件)轮廓信息 // 成品(设计成型/已封边/贴皮或涂装的板件)轮廓信息
@XmlElement(name = "Outline") @XmlElement(name = "Outline")
private OutlineXmlVO outlineXmlVO ; private OutlineXmlVO outlineXmlVO ;
@@ -17,10 +17,6 @@ import java.io.Serializable;
@XmlAccessorType(XmlAccessType.FIELD) @XmlAccessorType(XmlAccessType.FIELD)
public class BoxXmlVO implements Serializable { public class BoxXmlVO implements Serializable {
// 柜体ID
@XmlAttribute(name = "id")
private String id;
// 房间名称 // 房间名称
@XmlAttribute(name = "name") @XmlAttribute(name = "name")
private String name; private String name;
@@ -41,6 +37,15 @@ public class BoxXmlVO implements Serializable {
@XmlAttribute(name = "length") @XmlAttribute(name = "length")
private String length; private String length;
// 成倍拆单数量
@XmlAttribute(name = "multipleNumber")
private String multipleNumber;
// 成倍拆单序号
@XmlAttribute(name = "multipleNo")
private String multipleNo;
// 基点X坐标 // 基点X坐标
@XmlAttribute(name = "basePointX") @XmlAttribute(name = "basePointX")
private String basePointX; private String basePointX;
@@ -17,7 +17,59 @@ import java.io.Serializable;
@XmlAccessorType(XmlAccessType.FIELD) @XmlAccessorType(XmlAccessType.FIELD)
public class CorrelationXmlVO implements Serializable { public class CorrelationXmlVO implements Serializable {
// [关联五金ID/关联组件ID] // 关联五金/关联组件物料编码
@XmlAttribute(name = "id") @XmlAttribute(name = "itemCode")
private String id; private String itemCode;
// 类型
@XmlAttribute(name = "type")
private String type;
// 厂家
@XmlAttribute(name = "manufacturer")
private String manufacturer;
// 品牌
@XmlAttribute(name = "brand")
private String brand;
// 名称
@XmlAttribute(name = "name")
private String name;
// 材质
@XmlAttribute(name = "material")
private String material;
// 颜色
@XmlAttribute(name = "color")
private String color;
// 规格/类型
@XmlAttribute(name = "specs")
private String specs;
// 长
@XmlAttribute(name = "length")
private String length;
// 宽
@XmlAttribute(name = "width")
private String width;
// 高
@XmlAttribute(name = "height")
private String height;
// 长度单位
@XmlAttribute(name = "unit")
private String unit;
// 数量
@XmlAttribute(name = "count")
private String count;
// 数量单位
@XmlAttribute(name = "unitCount")
private String unitCount;
} }
@@ -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.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
@@ -18,6 +15,10 @@ import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD) @XmlAccessorType(XmlAccessType.FIELD)
public class CorrelationXmlVOS implements Serializable { public class CorrelationXmlVOS implements Serializable {
// 关联配件数量
@XmlAttribute(name = "count")
private String count;
// 房间 // 房间
@XmlElement(name = "correlation") @XmlElement(name = "correlation")
private List<CorrelationXmlVO> correlationXmlVOList; private List<CorrelationXmlVO> correlationXmlVOList;
@@ -15,13 +15,9 @@ import java.io.Serializable;
// 封边条信息 // 封边条信息
public class EdgingXmlVO implements Serializable { public class EdgingXmlVO implements Serializable {
// 封边条ID // 封边条物料编码
@XmlAttribute(name = "id") @XmlAttribute(name = "itemCode")
private String id; private String itemCode;
// 物料编码
@XmlAttribute(name = "itemNo")
private String itemNo;
// 厂家 // 厂家
@XmlAttribute(name = "manufacturer") @XmlAttribute(name = "manufacturer")
@@ -79,25 +75,37 @@ public class EdgingXmlVO implements Serializable {
@XmlAttribute(name = "unitCount") @XmlAttribute(name = "unitCount")
private String unitCount; private String unitCount;
// 房间ID // 房间名称
@XmlAttribute(name = "roomId") @XmlAttribute(name = "roomName")
private String roomId; private String roomName;
// 柜体ID // 房间号
@XmlAttribute(name = "boxId") @XmlAttribute(name = "roomCode")
private String boxId; private String roomCode;
// 加工组ID // 柜体名称
@XmlAttribute(name = "groupId") @XmlAttribute(name = "boxName")
private String groupId; private String boxName;
// 模块ID // 柜体号
@XmlAttribute(name = "moduleId") @XmlAttribute(name = "boxCode")
private String moduleId; private String boxCode;
// 父ID // 加工组名称
@XmlAttribute(name = "parentId") @XmlAttribute(name = "groupName")
private String parentId; private String groupName;
// 加工组号
@XmlAttribute(name = "groupCode")
private String groupCode;
// 模块名称
@XmlAttribute(name = "moduleName")
private String moduleName;
// 模块号
@XmlAttribute(name = "moduleCode")
private String moduleCode;
// 备注 // 备注
@XmlElement(name = "Remarks") @XmlElement(name = "Remarks")
@@ -91,4 +91,7 @@ public class GrooveXmlVO implements Serializable {
// 偏移刀路列表 // 偏移刀路列表
@XmlElement(name = "offsetLines") @XmlElement(name = "offsetLines")
private OffsetLineXmlVOS offsetLineXmlVOS; private OffsetLineXmlVOS offsetLineXmlVOS;
@XmlAttribute(name = "result")
private String result;
} }
@@ -20,18 +20,34 @@ public class GrooveXmlVOS implements Serializable {
@XmlAttribute(name = "count") @XmlAttribute(name = "count")
private String count; private String count;
// 正面垂凹槽数量 // 正面垂凹槽数量/凹槽数量
@XmlAttribute(name = "countFaceA") @XmlAttribute(name = "countFaceA")
private String countFaceA; private String countFaceA;
// 反面凹槽数量 // 反面凹槽数量/凹槽数量
@XmlAttribute(name = "countFaceB") @XmlAttribute(name = "countFaceB")
private String countFaceB; private String countFaceB;
// 侧凹槽数量 // 侧凹槽数量/凹槽数量
@XmlAttribute(name = "countSide") @XmlAttribute(name = "countSide")
private String countSide; private String countSide;
// 左侧槽数量/凹槽数量
@XmlAttribute(name = "countSideL")
private String countSideL;
// 右侧槽数量/凹槽数量
@XmlAttribute(name = "countSideR")
private String countSideR;
// 上侧槽数量/凹槽数量
@XmlAttribute(name = "countSideU")
private String countSideU;
// 下侧槽数量/凹槽数量
@XmlAttribute(name = "countSideD")
private String countSideD;
// 斜面凹槽数量 // 斜面凹槽数量
@XmlAttribute(name = "countBevelled") @XmlAttribute(name = "countBevelled")
private String countBevelled; private String countBevelled;
@@ -44,6 +60,14 @@ public class GrooveXmlVOS implements Serializable {
@XmlAttribute(name = "countThrough") @XmlAttribute(name = "countThrough")
private String countThrough; private String countThrough;
// 二维造型刀路数量
@XmlAttribute(name = "count2V")
private String count2V;
// 三维造型刀路(浮雕)数量
@XmlAttribute(name = "count3D")
private String count3D;
// 凹槽信息 // 凹槽信息
@XmlElement(name = "Groove") @XmlElement(name = "Groove")
private List<GrooveXmlVO> grooveXmlVOList; private List<GrooveXmlVO> grooveXmlVOList;
@@ -17,10 +17,6 @@ import java.io.Serializable;
@XmlAccessorType(XmlAccessType.FIELD) @XmlAccessorType(XmlAccessType.FIELD)
public class GroupXmlVO implements Serializable { public class GroupXmlVO implements Serializable {
// 加工组ID
@XmlAttribute(name = "id")
private String id;
// 加工组名称 // 加工组名称
@XmlAttribute(name = "name") @XmlAttribute(name = "name")
private String name; private String name;
@@ -15,18 +15,14 @@ import java.io.Serializable;
// 五金信息 // 五金信息
public class HardwareXmlVO implements Serializable { public class HardwareXmlVO implements Serializable {
// 五金ID // 五金物料编码
@XmlAttribute(name = "id") @XmlAttribute(name = "itemCode")
private String id; private String itemCode;
// 类型——拉手Handle、铰链Hinge、导轨Track、衣杆/裤杆Pole、杆托/杆座PoleBase、拉直器Straightener、灯带LightBelt、螺丝(及螺母)Screw(Nut)…… // 类型——拉手Handle、铰链Hinge、导轨Track、衣杆/裤杆Pole、杆托/杆座PoleBase、拉直器Straightener、灯带LightBelt、螺丝(及螺母)Screw(Nut)……
@XmlAttribute(name = "type") @XmlAttribute(name = "type")
private String type; private String type;
// 物料编码
@XmlAttribute(name = "itemNo")
private String itemNo;
// 厂家 // 厂家
@XmlAttribute(name = "manufacturer") @XmlAttribute(name = "manufacturer")
private String manufacturer; private String manufacturer;
@@ -67,7 +63,7 @@ public class HardwareXmlVO implements Serializable {
@XmlAttribute(name = "count") @XmlAttribute(name = "count")
private String count; private String count;
// 单位 // 长度单位
@XmlAttribute(name = "unit") @XmlAttribute(name = "unit")
private String unit; private String unit;
@@ -83,25 +79,37 @@ public class HardwareXmlVO implements Serializable {
@XmlAttribute(name = "shelf") @XmlAttribute(name = "shelf")
private String shelf; private String shelf;
// 房间ID // 房间名称
@XmlAttribute(name = "roomId") @XmlAttribute(name = "roomName")
private String roomId; private String roomName;
// 柜体ID // 房间号
@XmlAttribute(name = "boxId") @XmlAttribute(name = "roomCode")
private String boxId; private String roomCode;
// 加工组ID // 柜体名称
@XmlAttribute(name = "groupId") @XmlAttribute(name = "boxName")
private String groupId; private String boxName;
// 模块ID // 柜体号
@XmlAttribute(name = "moduleId") @XmlAttribute(name = "boxCode")
private String moduleId; private String boxCode;
// 父ID // 加工组号
@XmlAttribute(name = "parentId") @XmlAttribute(name = "groupCode")
private String parentId; private String groupCode;
// 模块名称
@XmlAttribute(name = "moduleName")
private String moduleName;
// 模块号
@XmlAttribute(name = "moduleCode")
private String moduleCode;
// 父物料编码
@XmlAttribute(name = "parentCode")
private String parentCode;
// 备注 // 备注
@XmlElement(name = "Remarks") @XmlElement(name = "Remarks")
@@ -14,10 +14,6 @@ import java.io.Serializable;
@XmlAccessorType(XmlAccessType.FIELD) @XmlAccessorType(XmlAccessType.FIELD)
public class HoleXmlVO implements Serializable { public class HoleXmlVO implements Serializable {
// 孔ID
@XmlAttribute(name = "id")
private String id;
// 孔类型 // 孔类型
@XmlAttribute(name = "type") @XmlAttribute(name = "type")
private String type; private String type;
@@ -74,6 +70,59 @@ public class HoleXmlVO implements Serializable {
@XmlAttribute(name = "toolNo") @XmlAttribute(name = "toolNo")
private String toolNo; private String toolNo;
// 起点坐标X
@XmlAttribute(name = "startX")
private String startX;
// 起点坐标Y
@XmlAttribute(name = "startY")
private String startY;
// 起点坐标Z
@XmlAttribute(name = "startZ")
private String startZ;
// 刀具起点X轴旋转角度
@XmlAttribute(name = "toolStartRotateX")
private String toolStartRotateX;
// 刀具起点Y轴旋转角度
@XmlAttribute(name = "toolStartRotateY")
private String toolStartRotateY;
// 刀具起点Z轴旋转角度
@XmlAttribute(name = "toolStartRotateZ")
private String toolStartRotateZ;
// 终点坐标X
@XmlAttribute(name = "endX")
private String endX;
// 终点坐标Y
@XmlAttribute(name = "endY")
private String endY;
// 终点坐标Z
@XmlAttribute(name = "endZ")
private String endZ;
// 刀具终点X轴旋转角度
@XmlAttribute(name = "toolEndRotateX")
private String toolEndRotateX;
// 刀具终点Y轴旋转角度
@XmlAttribute(name = "toolEndRotateY")
private String toolEndRotateY;
// 刀具终点Z轴旋转角度
@XmlAttribute(name = "toolEndRotateZ")
private String toolEndRotateZ;
// 是否不要
@XmlElement(name = "Begin") @XmlElement(name = "Begin")
private PointBeginXmlVO pointBeginXmlVO; private PointBeginXmlVO pointBeginXmlVO;
@@ -32,6 +32,22 @@ public class HoleXmlVOS implements Serializable {
@XmlAttribute(name = "countSide") @XmlAttribute(name = "countSide")
private String countSide; private String countSide;
// 左侧孔数量
@XmlAttribute(name = "countSideL")
private String countSideL;
// 右侧孔数量
@XmlAttribute(name = "countSideR")
private String countSideR;
// 上侧孔数量
@XmlAttribute(name = "countSideU")
private String countSideU;
// 下侧孔数量
@XmlAttribute(name = "countSideD")
private String countSideD;
// 斜面孔数量 // 斜面孔数量
@XmlAttribute(name = "countBevelled") @XmlAttribute(name = "countBevelled")
private String countBevelled; private String countBevelled;
@@ -44,7 +60,11 @@ public class HoleXmlVOS implements Serializable {
@XmlAttribute(name = "countBuildIn") @XmlAttribute(name = "countBuildIn")
private String countBuildIn; private String countBuildIn;
// 挖穿孔数量 // 铰链孔数量
@XmlAttribute(name = "countHinge")
private String countHinge;
// 挖穿孔数量(通孔/对成孔)
@XmlAttribute(name = "countThrough") @XmlAttribute(name = "countThrough")
private String countThrough; private String countThrough;
@@ -29,6 +29,6 @@ public class IsletXmlVO implements Serializable {
private String grooveCount; private String grooveCount;
// 孤岛点信息 // 孤岛点信息
@XmlElement(name = "Point") @XmlElement(name = "Points")
private List<PointXmlVO> pointXmlVOList; private PointXmlVOS pointXmlVOS;
} }
@@ -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.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
@@ -19,6 +16,10 @@ import java.util.List;
// 孤岛列表 // 孤岛列表
public class IsletXmlVOS implements Serializable { public class IsletXmlVOS implements Serializable {
// 孤岛数量
@XmlAttribute(name = "count")
private String count;
// 房间 // 房间
@XmlElement(name = "Islet") @XmlElement(name = "Islet")
private List<IsletXmlVO> isletXmlVOList; private List<IsletXmlVO> isletXmlVOList;
@@ -10,7 +10,7 @@ import java.io.Serializable;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@XmlRootElement(name = "Material") @XmlRootElement(name = "Materials")
@XmlAccessorType(XmlAccessType.FIELD) @XmlAccessorType(XmlAccessType.FIELD)
// 物料信息 // 物料信息
public class MaterialXmlVO implements Serializable { public class MaterialXmlVO implements Serializable {
@@ -14,10 +14,6 @@ import java.io.Serializable;
@XmlAccessorType(XmlAccessType.FIELD) @XmlAccessorType(XmlAccessType.FIELD)
public class ModuleXmlVO implements Serializable { public class ModuleXmlVO implements Serializable {
// 模块ID
@XmlAttribute(name = "id")
private String id;
// 模块名称 // 模块名称
@XmlAttribute(name = "name") @XmlAttribute(name = "name")
private String name; private String name;
@@ -18,10 +18,6 @@ import java.io.Serializable;
// 偏移刀路信息 // 偏移刀路信息
public class OffsetLineXmlVO implements Serializable { public class OffsetLineXmlVO implements Serializable {
// 偏移刀路ID
@XmlAttribute(name = "id")
private String id;
// 偏移值——正值外偏/右偏、负值内偏/左偏 // 偏移值——正值外偏/右偏、负值内偏/左偏
@XmlAttribute(name = "offset") @XmlAttribute(name = "offset")
private String offset; private String offset;
@@ -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.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
@@ -19,6 +16,10 @@ import java.util.List;
// 偏移刀路列表 // 偏移刀路列表
public class OffsetLineXmlVOS implements Serializable { public class OffsetLineXmlVOS implements Serializable {
// 偏移刀路数量
@XmlAttribute(name = "count")
private String count;
@XmlElement(name = "offsetLine") @XmlElement(name = "offsetLine")
private List<OffsetLineXmlVO> offsetLineXmlVOList; private List<OffsetLineXmlVO> offsetLineXmlVOList;
} }
@@ -13,17 +13,14 @@ import java.io.Serializable;
@XmlRootElement(name = "Order") @XmlRootElement(name = "Order")
@XmlAccessorType(XmlAccessType.FIELD) @XmlAccessorType(XmlAccessType.FIELD)
public class OrderXmlVO implements Serializable { public class OrderXmlVO implements Serializable {
// 订单ID
@XmlAttribute(name = "id")
private String id;
// 订单编号 // 订单编号
@XmlAttribute(name = "orderNo") @XmlAttribute(name = "orderNo")
private String orderNo; private String orderNo;
// 订单自定义编号 // 订单自定义编号
@XmlAttribute(name = "customOrderNo") @XmlAttribute(name = "orderCode")
private String customOrderNo; private String orderCode;
// 客户 // 客户
@XmlAttribute(name = "customer") @XmlAttribute(name = "customer")
@@ -110,7 +107,7 @@ public class OrderXmlVO implements Serializable {
private GroupXmlVOS groupXmlVOS; private GroupXmlVOS groupXmlVOS;
// 材质信息 // 材质信息
@XmlElement(name = "Material") @XmlElement(name = "Materials")
private MaterialXmlVO materialXmlVO; private MaterialXmlVO materialXmlVO;
} }
@@ -15,13 +15,9 @@ import java.io.Serializable;
// 板材信息 // 板材信息
public class PlateXmlVO implements Serializable { public class PlateXmlVO implements Serializable {
// 板材ID
@XmlAttribute(name = "id")
private String id;
// 物料编码 // 物料编码
@XmlAttribute(name = "itemNo") @XmlAttribute(name = "itemCode")
private String itemNo; private String itemCode;
// 厂家 // 厂家
@XmlAttribute(name = "manufacturer") @XmlAttribute(name = "manufacturer")
@@ -39,19 +35,19 @@ public class PlateXmlVO implements Serializable {
@XmlAttribute(name = "material") @XmlAttribute(name = "material")
private String material; private String material;
// 饰面类型——无、单面贴皮/涂装、双面贴皮/涂装 // 饰面类型——无、单面、双面
@XmlAttribute(name = "coating") @XmlAttribute(name = "coating")
private String coating; private String coating;
// 有无纹理 // 有无纹理 有 无
@XmlAttribute(name = "grained") @XmlAttribute(name = "grained")
private String grained; private String grained;
// 正面饰面颜色、无 // 正面饰面颜色、无(空)
@XmlAttribute(name = "coatingObverse") @XmlAttribute(name = "coatingObverse")
private String coatingObverse; private String coatingObverse;
// 反面饰面颜色、无 // 反面饰面颜色、无(空)
@XmlAttribute(name = "coatingReverse") @XmlAttribute(name = "coatingReverse")
private String coatingReverse; private String coatingReverse;
@@ -115,6 +111,10 @@ public class PlateXmlVO implements Serializable {
@XmlAttribute(name = "memo") @XmlAttribute(name = "memo")
private String memo; private String memo;
// 数量
@XmlAttribute(name = "count")
private String count;
@XmlElement(name = "Blocks") @XmlElement(name = "Blocks")
private BlockXmlVOS blockXmlVOS; private BlockXmlVOS blockXmlVOS;
} }
@@ -21,7 +21,7 @@ public class PlateXmlVOS implements Serializable {
@XmlElement( name = "Plate") @XmlElement( name = "Plate")
private List<PlateXmlVO> plateXmlVOList; private List<PlateXmlVO> plateXmlVOList;
// 上传结果 // 上传结果 内置
@XmlElement( name = "result") @XmlElement( name = "result")
private String result; private String result;
} }
@@ -18,10 +18,6 @@ import java.io.Serializable;
// 孤岛点信息 // 孤岛点信息
public class PointXmlVO implements Serializable { public class PointXmlVO implements Serializable {
// 点ID
@XmlAttribute(name = "id")
private String id;
// 点X坐标 // 点X坐标
@XmlAttribute(name = "pointX") @XmlAttribute(name = "pointX")
private String pointX; private String pointX;
@@ -30,7 +26,7 @@ public class PointXmlVO implements Serializable {
@XmlAttribute(name = "pointY") @XmlAttribute(name = "pointY")
private String pointY; private String pointY;
// 点Z坐标 // 点Z坐标 (在outline中不用)
@XmlAttribute(name = "pointZ") @XmlAttribute(name = "pointZ")
private String pointZ; private String pointZ;
@@ -46,13 +42,13 @@ public class PointXmlVO implements Serializable {
@XmlAttribute(name = "process") @XmlAttribute(name = "process")
private String process; private String process;
// 封边条ID // 封边条物料编码
@XmlAttribute(name = "edgingId") @XmlAttribute(name = "itemCode")
private String edgingId; private String itemCode;
// 封边条厚度 // 封边条物料名称
@XmlAttribute(name = "edgingThickness") @XmlAttribute(name = "edgingName")
private String edgingThickness; private String edgingName;
// 封边条颜色 // 封边条颜色
@XmlAttribute(name = "edgingColor") @XmlAttribute(name = "edgingColor")
@@ -62,7 +58,19 @@ public class PointXmlVO implements Serializable {
@XmlAttribute(name = "edgingMaterial") @XmlAttribute(name = "edgingMaterial")
private String edgingMaterial; private String edgingMaterial;
// 封边条余量(两头) // 封边条厚度
@XmlAttribute(name = "edgingThickness")
private String edgingThickness;
// 封边条宽度
@XmlAttribute(name = "edgingWidth")
private String edgingWidth;
// 封边条长度
@XmlAttribute(name = "edgingLength")
private String edgingLength;
// 封边条余量
@XmlAttribute(name = "edgingExtend") @XmlAttribute(name = "edgingExtend")
private String edgingExtend; private String edgingExtend;
@@ -70,7 +78,7 @@ public class PointXmlVO implements Serializable {
@XmlAttribute(name = "preMilling") @XmlAttribute(name = "preMilling")
private String preMilling; private String preMilling;
// 延展/收缩量 // 延展/收缩量,预留边
@XmlAttribute(name = "scale") @XmlAttribute(name = "scale")
private String scale; private String scale;
@@ -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.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
@@ -18,6 +15,13 @@ import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD) @XmlAccessorType(XmlAccessType.FIELD)
public class PointXmlVOS implements Serializable { public class PointXmlVOS implements Serializable {
// 刀路点阵数量
@XmlAttribute(name = "count")
private String count;
@XmlElement(name = "Point") @XmlElement(name = "Point")
private List<PointXmlVO> pointXmlVOList; private List<PointXmlVO> pointXmlVOList;
@XmlAttribute(name = "result")
private String result;
} }
@@ -17,10 +17,6 @@ import java.io.Serializable;
@XmlAccessorType(XmlAccessType.FIELD) @XmlAccessorType(XmlAccessType.FIELD)
public class RemarkXmlVO implements Serializable { public class RemarkXmlVO implements Serializable {
// 备注ID
@XmlAttribute(name = "id")
private String id;
// 备注名称 // 备注名称
@XmlAttribute(name = "name") @XmlAttribute(name = "name")
private String name; private String name;
@@ -15,10 +15,6 @@ import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD) @XmlAccessorType(XmlAccessType.FIELD)
public class RoomXmlVO implements Serializable { public class RoomXmlVO implements Serializable {
// 房间ID
@XmlAttribute(name = "id")
private String id;
// 房间名称 // 房间名称
@XmlAttribute(name = "name") @XmlAttribute(name = "name")
private String name; private String name;
@@ -39,10 +35,43 @@ public class RoomXmlVO implements Serializable {
@XmlAttribute(name = "length") @XmlAttribute(name = "length")
private String length; private String length;
// 房间数量 // 成倍拆单数量
@XmlAttribute(name = "multipleNumber")
private String multipleNumber;
// 成倍拆单序号
@XmlAttribute(name = "multipleNo")
private String multipleNo;
// 柜体数量
@XmlAttribute(name = "count") @XmlAttribute(name = "count")
private String count; private String count;
// 基点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 = "Box") @XmlElement(name = "Box")
private List<BoxXmlVO> boxXmlVOList; private List<BoxXmlVO> boxXmlVOList;
} }
@@ -3,6 +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.alibaba.nacos.common.utils.StringUtils; import com.alibaba.nacos.common.utils.StringUtils;
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.module.executor.controller.admin.orderParts.vo.OrderPartsRemark; 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.orderBody.OrderBodyDO; import com.cf.imes.module.executor.dal.dataobject.orderBody.OrderBodyDO;
@@ -46,6 +47,8 @@ public class XmlTypeRealize {
final String NOT_ASSIGNED = "未命名"; final String NOT_ASSIGNED = "未命名";
@Resource
private SnowFlakeGenerator snowFlakeGenerator;
@Resource @Resource
private IdentifierGenerator identifierGenerator; private IdentifierGenerator identifierGenerator;
@@ -58,7 +61,7 @@ public class XmlTypeRealize {
for (RoomXmlVO roomXmlVO : roomXmlVOS.getRoomXmlVOList()) { for (RoomXmlVO roomXmlVO : roomXmlVOS.getRoomXmlVOList()) {
Map<String, OrderBodyDO> bodyInfos = new HashMap<>(); Map<String, OrderBodyDO> bodyInfos = new HashMap<>();
Long roomId = Long.valueOf(roomXmlVO.getId()); Long roomId = (Long) snowFlakeGenerator.nextId(null);
for (BoxXmlVO boxXmlVO : roomXmlVO.getBoxXmlVOList()) { for (BoxXmlVO boxXmlVO : roomXmlVO.getBoxXmlVOList()) {
OrderBodyDO orderBodyDO = OrderBodyDO.builder() OrderBodyDO orderBodyDO = OrderBodyDO.builder()
.id((Long) identifierGenerator.nextId(null)) .id((Long) identifierGenerator.nextId(null))
@@ -73,9 +76,9 @@ public class XmlTypeRealize {
.plateNum(0) .plateNum(0)
.unregularNum(0) .unregularNum(0)
.build(); .build();
bodyInfos.put(boxXmlVO.getId(), orderBodyDO); bodyInfos.put(boxXmlVO.getCode(), orderBodyDO);
} }
roomInfos.put(roomXmlVO.getId(), bodyInfos); roomInfos.put(roomXmlVO.getCode(), bodyInfos);
} }
} }
return roomInfos; return roomInfos;
@@ -96,9 +99,9 @@ public class XmlTypeRealize {
.axisYrotate(Double.valueOf(boxXmlVO.getAxisYrotate())) .axisYrotate(Double.valueOf(boxXmlVO.getAxisYrotate()))
.axisZrotate(Double.valueOf(boxXmlVO.getAxisZrotate())) .axisZrotate(Double.valueOf(boxXmlVO.getAxisZrotate()))
.build(); .build();
basePositions.put(boxXmlVO.getId(), basePosition); basePositions.put(boxXmlVO.getCode(), basePosition);
} }
roomInfos.put(roomXmlVO.getId(), basePositions); roomInfos.put(roomXmlVO.getCode(), basePositions);
} }
} }
return roomInfos; return roomInfos;
@@ -122,7 +125,7 @@ public class XmlTypeRealize {
.plateNum(0) .plateNum(0)
.unregularNum(0) .unregularNum(0)
.build(); .build();
groupInfos.put(groupXmlVO.getId(), groupDO); groupInfos.put(groupXmlVO.getCode(), groupDO);
} }
} }
return groupInfos; return groupInfos;
@@ -179,7 +182,7 @@ public class XmlTypeRealize {
.id(rawGoodsId) .id(rawGoodsId)
.organId(organId) .organId(organId)
.orderId(orderId) .orderId(orderId)
.rawGoodsId(plateXmlVO.getItemNo()) .rawGoodsId(plateXmlVO.getItemCode())
.goodsName(plateXmlVO.getName()) .goodsName(plateXmlVO.getName())
.material(plateXmlVO.getMaterial()) .material(plateXmlVO.getMaterial())
.color(plateXmlVO.getCoatingObverse()) .color(plateXmlVO.getCoatingObverse())
@@ -195,7 +198,7 @@ public class XmlTypeRealize {
.organId(organId) .organId(organId)
.orderId(orderId) .orderId(orderId)
.rawGoodsId(String.valueOf(rawGoodsId)) .rawGoodsId(String.valueOf(rawGoodsId))
.goodsId(plateXmlVO.getItemNo()) .goodsId(plateXmlVO.getItemCode())
.goodsName(plateXmlVO.getName()) .goodsName(plateXmlVO.getName())
.material(plateXmlVO.getMaterial()) .material(plateXmlVO.getMaterial())
.color(plateXmlVO.getCoatingObverse()) .color(plateXmlVO.getCoatingObverse())
@@ -304,14 +307,14 @@ public class XmlTypeRealize {
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, 0.0, 0.0, orderId, organId); Map<String,Long> idMap = getId(edgingXmlVO.getRoomCode(), edgingXmlVO.getBoxCode(), roomInfos, edgingXmlVO.getGroupCode(), 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.getItemCode(), OrderPartsAddVO.builder()
.id(partsId) .id(partsId)
.organId(organId) .organId(organId)
.orderId(orderId) .orderId(orderId)
.goodsId(edgingXmlVO.getItemNo()) .goodsId(edgingXmlVO.getItemCode())
.factory(edgingXmlVO.getManufacturer()) .factory(edgingXmlVO.getManufacturer())
.brand(edgingXmlVO.getBrand()) .brand(edgingXmlVO.getBrand())
.name(edgingXmlVO.getName()) .name(edgingXmlVO.getName())
@@ -328,7 +331,7 @@ public class XmlTypeRealize {
.num(Double.valueOf(edgingXmlVO.getCount())) .num(Double.valueOf(edgingXmlVO.getCount()))
.build()); .build());
orderItemMap.put(edgingXmlVO.getId(), OrderItemDO.builder() orderItemMap.put(edgingXmlVO.getItemCode(), OrderItemDO.builder()
.id((Long) identifierGenerator.nextId(null)) .id((Long) identifierGenerator.nextId(null))
.organId(organId) .organId(organId)
.orderId(orderId) .orderId(orderId)
@@ -339,7 +342,7 @@ 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() orderPartsDOMap.put(edgingXmlVO.getItemCode(), OrderPartsDO.builder()
.id(partsId) .id(partsId)
.organId(organId) .organId(organId)
.orderId(orderId) .orderId(orderId)
@@ -353,7 +356,7 @@ public class XmlTypeRealize {
.build()); .build());
if (edgingXmlVO.getRemarkXmlVOS() != null && edgingXmlVO.getRemarkXmlVOS().getRemarkXmlVOList() != null && edgingXmlVO.getRemarkXmlVOS().getRemarkXmlVOList().size() > 0) { if (edgingXmlVO.getRemarkXmlVOS() != null && edgingXmlVO.getRemarkXmlVOS().getRemarkXmlVOList() != null && edgingXmlVO.getRemarkXmlVOS().getRemarkXmlVOList().size() > 0) {
orderPartsRemarks.put(edgingXmlVO.getId(), OrderPartsRemark.builder() orderPartsRemarks.put(edgingXmlVO.getItemCode(), OrderPartsRemark.builder()
.partsId(partsId) .partsId(partsId)
.orderId(orderId) .orderId(orderId)
.remark(edgingXmlVO.getRemarkXmlVOS().toString()) .remark(edgingXmlVO.getRemarkXmlVOS().toString())
@@ -365,15 +368,15 @@ public class XmlTypeRealize {
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, 0.0, 0.0,orderId, organId); Map<String,Long> idMap = getId(hardwareXmlVO.getRoomCode(), hardwareXmlVO.getBoxCode(), roomInfos, hardwareXmlVO.getGroupCode(), 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.getItemCode(), OrderPartsAddVO.builder()
.id(partsId) .id(partsId)
.organId(organId) .organId(organId)
.type(hardwareXmlVO.getType()) .type(hardwareXmlVO.getType())
.orderId(orderId) .orderId(orderId)
.goodsId(hardwareXmlVO.getItemNo()) .goodsId(hardwareXmlVO.getItemCode())
.factory(hardwareXmlVO.getManufacturer()) .factory(hardwareXmlVO.getManufacturer())
.brand(hardwareXmlVO.getBrand()) .brand(hardwareXmlVO.getBrand())
.name(hardwareXmlVO.getName()) .name(hardwareXmlVO.getName())
@@ -387,11 +390,11 @@ public class XmlTypeRealize {
.shelf(hardwareXmlVO.getShelf()) .shelf(hardwareXmlVO.getShelf())
.color(hardwareXmlVO.getColor()) .color(hardwareXmlVO.getColor())
.num(Double.valueOf(hardwareXmlVO.getCount())) .num(Double.valueOf(hardwareXmlVO.getCount()))
.roomId(hardwareXmlVO.getRoomId()) .roomId(hardwareXmlVO.getRoomCode())
.bodyId(hardwareXmlVO.getBoxId()) .bodyId(hardwareXmlVO.getBoxCode())
.isComposite(false) .isComposite(false)
.build()); .build());
orderItemMap.put(hardwareXmlVO.getId(), OrderItemDO.builder() orderItemMap.put(hardwareXmlVO.getItemCode(), OrderItemDO.builder()
.id((Long) identifierGenerator.nextId(null)) .id((Long) identifierGenerator.nextId(null))
.organId(organId) .organId(organId)
.orderId(orderId) .orderId(orderId)
@@ -402,7 +405,7 @@ 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() orderPartsDOMap.put(hardwareXmlVO.getItemCode(), OrderPartsDO.builder()
.id(partsId) .id(partsId)
.organId(organId) .organId(organId)
.orderId(orderId) .orderId(orderId)
@@ -415,7 +418,7 @@ public class XmlTypeRealize {
.isComposite(false) .isComposite(false)
.build()); .build());
if (hardwareXmlVO.getRemarkXmlVOS() != null && hardwareXmlVO.getRemarkXmlVOS().getRemarkXmlVOList() != null && hardwareXmlVO.getRemarkXmlVOS().getRemarkXmlVOList().size() > 0) { if (hardwareXmlVO.getRemarkXmlVOS() != null && hardwareXmlVO.getRemarkXmlVOS().getRemarkXmlVOList() != null && hardwareXmlVO.getRemarkXmlVOS().getRemarkXmlVOList().size() > 0) {
orderPartsRemarks.put(hardwareXmlVO.getId(), OrderPartsRemark.builder() orderPartsRemarks.put(hardwareXmlVO.getItemCode(), OrderPartsRemark.builder()
.partsId(partsId) .partsId(partsId)
.orderId(orderId) .orderId(orderId)
.remark(hardwareXmlVO.getRemarkXmlVOS().toString()) .remark(hardwareXmlVO.getRemarkXmlVOS().toString())
@@ -429,15 +432,15 @@ public class XmlTypeRealize {
for (AssemblyXmlVO assemblyXmlVO : assemblieXmlVOS.getAssemblyXmlVOList()) { for (AssemblyXmlVO assemblyXmlVO : assemblieXmlVOS.getAssemblyXmlVOList()) {
if (assemblyXmlVO != null && assemblyXmlVO.toString().length() > 0) { 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); Map<String,Long> idMap = getId(assemblyXmlVO.getRoomCode(), assemblyXmlVO.getBoxCode(), roomInfos, assemblyXmlVO.getGroupCode(), 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.getItemCode(), 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.getItemCode())
.factory(assemblyXmlVO.getManufacturer()) .factory(assemblyXmlVO.getManufacturer())
.brand(assemblyXmlVO.getBrand()) .brand(assemblyXmlVO.getBrand())
.name(assemblyXmlVO.getName()) .name(assemblyXmlVO.getName())
@@ -451,11 +454,11 @@ public class XmlTypeRealize {
.unit((assemblyXmlVO.getUnit())) .unit((assemblyXmlVO.getUnit()))
.warehouse(assemblyXmlVO.getWarehouse()) .warehouse(assemblyXmlVO.getWarehouse())
.shelf(assemblyXmlVO.getShelf()) .shelf(assemblyXmlVO.getShelf())
.roomId(assemblyXmlVO.getRoomId()) .roomId(assemblyXmlVO.getRoomCode())
.bodyId(assemblyXmlVO.getBoxId()) .bodyId(assemblyXmlVO.getBoxCode())
.isComposite(true) .isComposite(true)
.build()); .build());
orderItemMap.put(assemblyXmlVO.getId(), OrderItemDO.builder() orderItemMap.put(assemblyXmlVO.getItemCode(), OrderItemDO.builder()
.id((Long) identifierGenerator.nextId(null)) .id((Long) identifierGenerator.nextId(null))
.organId(organId) .organId(organId)
.orderId(orderId) .orderId(orderId)
@@ -466,7 +469,7 @@ public class XmlTypeRealize {
.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() orderPartsDOMap.put(assemblyXmlVO.getItemCode(), OrderPartsDO.builder()
.id(partsId) .id(partsId)
.organId(organId) .organId(organId)
.orderId(orderId) .orderId(orderId)
@@ -479,7 +482,7 @@ public class XmlTypeRealize {
.isComposite(true) .isComposite(true)
.build()); .build());
if (assemblyXmlVO.getRemarkXmlVOS() != null && assemblyXmlVO.getRemarkXmlVOS().getRemarkXmlVOList() != null && assemblyXmlVO.getRemarkXmlVOS().getRemarkXmlVOList().size() > 0) { if (assemblyXmlVO.getRemarkXmlVOS() != null && assemblyXmlVO.getRemarkXmlVOS().getRemarkXmlVOList() != null && assemblyXmlVO.getRemarkXmlVOS().getRemarkXmlVOList().size() > 0) {
orderPartsRemarks.put(assemblyXmlVO.getId(), OrderPartsRemark.builder() orderPartsRemarks.put(assemblyXmlVO.getItemCode(), OrderPartsRemark.builder()
.partsId(partsId) .partsId(partsId)
.orderId(orderId) .orderId(orderId)
.remark(assemblyXmlVO.getRemarkXmlVOS().toString()) .remark(assemblyXmlVO.getRemarkXmlVOS().toString())
@@ -521,8 +524,8 @@ public class XmlTypeRealize {
}else { }else {
plateNum = 1.0; plateNum = 1.0;
} }
Map<String,Long> idMap = getId(blockXmlVO.getRoomId(), blockXmlVO.getBoxId(), roomInfos, blockXmlVO.getGroupId(), groupInfos, plateNum, unregularNum, orderId, organId); Map<String,Long> idMap = getId(blockXmlVO.getRoomCode(), blockXmlVO.getBoxCode(), roomInfos, blockXmlVO.getGroupCode(), groupInfos, plateNum, unregularNum, orderId, organId);
BasePosition boxBasePoint = boxBasePositionMap.get(blockXmlVO.getRoomId()).get(blockXmlVO.getBoxId()).setBasePoint(String.valueOf(idMap.get("bodyId"))); BasePosition boxBasePoint = boxBasePositionMap.get(blockXmlVO.getRoomCode()).get(blockXmlVO.getBoxCode()).setBasePoint(String.valueOf(idMap.get("bodyId")));
PlateDO plateDO = PlateDO.builder() PlateDO plateDO = PlateDO.builder()
.id(plateId) .id(plateId)
@@ -547,7 +550,7 @@ public class XmlTypeRealize {
.isSpecialShaped(convertToBoolean(blockXmlVO.getUnregular())) .isSpecialShaped(convertToBoolean(blockXmlVO.getUnregular()))
.build(); .build();
orderItemMap.put(blockXmlVO.getId(), OrderItemDO.builder() orderItemMap.put(blockXmlVO.getProductionCode(), OrderItemDO.builder()
.id((Long) identifierGenerator.nextId(null)) .id((Long) identifierGenerator.nextId(null))
.organId(organId) .organId(organId)
.orderId(orderId) .orderId(orderId)
@@ -561,7 +564,7 @@ public class XmlTypeRealize {
// 基点坐标获取 // 基点坐标获取
BasePosition plateBasePosition = BasePosition.builder() BasePosition plateBasePosition = BasePosition.builder()
.basePoint(blockXmlVO.getId()) .basePoint(blockXmlVO.getProductionCode())
.basePointX(Double.valueOf(blockXmlVO.getBasePointX())) .basePointX(Double.valueOf(blockXmlVO.getBasePointX()))
.basePointY(Double.valueOf(blockXmlVO.getBasePointY())) .basePointY(Double.valueOf(blockXmlVO.getBasePointY()))
.basePointZ(Double.valueOf(blockXmlVO.getBasePointZ())) .basePointZ(Double.valueOf(blockXmlVO.getBasePointZ()))
@@ -573,7 +576,7 @@ public class XmlTypeRealize {
.plateId(plateId) .plateId(plateId)
.plateNo(plateDO.getPlateNo()) .plateNo(plateDO.getPlateNo())
.name(plateDO.getName()) .name(plateDO.getName())
.customPlateNo(blockXmlVO.getDesignNo()) .customPlateNo(blockXmlVO.getDesignCode())
.texture(plateDO.getTexture()) .texture(plateDO.getTexture())
.typographicFace(plateDO.getHoleFace()) .typographicFace(plateDO.getHoleFace())
.openDoorType(plateDO.getOpenDoorType()) .openDoorType(plateDO.getOpenDoorType())
@@ -602,8 +605,10 @@ public class XmlTypeRealize {
addPointDetail(plateDO, plateDetail, blockXmlVO.getCuttingOutlineXmlVO()); addPointDetail(plateDO, plateDetail, blockXmlVO.getCuttingOutlineXmlVO());
// 孔数据 // 孔数据
addHole(plateDO, plateDetail, blockXmlVO.getHoleXmlVOS()); addHole(plateDO, plateDetail, blockXmlVO.getHoleXmlVOS());
// 造型数据 // 造型数据 (槽)
addContourDetail(plateDO, plateDetail, blockXmlVO.getGrooveXmlVOS()); addContourDetail(plateDO, plateDetail, blockXmlVO.getGrooveXmlVOS());
// 造型数据(孤岛)
addIslandDetail(plateDetail, blockXmlVO.getIsletXmlVOS());
// 小板备注信息 // 小板备注信息
addRemark(plateDO, plateDetail, blockXmlVO); addRemark(plateDO, plateDetail, blockXmlVO);
@@ -616,6 +621,20 @@ public class XmlTypeRealize {
return plateDetails; return plateDetails;
} }
private void addIslandDetail(PlateDetail plateDetail, IsletXmlVOS isletXmlVOS) {
if (isletXmlVOS != null && ObjectUtils.allNull(isletXmlVOS)) {
if (isletXmlVOS.getIsletXmlVOList() != null && isletXmlVOS.getIsletXmlVOList().size() > 0) {
for (IsletXmlVO isletXmlVO : isletXmlVOS.getIsletXmlVOList()) {
ModelDetail modelDetail = ModelDetail.builder()
.id(Integer.valueOf(isletXmlVO.getId()))
.parentId(Integer.valueOf(isletXmlVO.getParentId()))
.pointList(addPointDetail(isletXmlVO.getPointXmlVOS())).build();
plateDetail.getContourDetail().add(modelDetail);
}
}
}
}
// 是否转换布尔值 // 是否转换布尔值
public Boolean convertToBoolean(String str) { public Boolean convertToBoolean(String str) {
Boolean isTrue = false; Boolean isTrue = false;
@@ -642,7 +661,7 @@ public class XmlTypeRealize {
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.getItemCode());
if (edging != null){ if (edging != null){
size = edging.getThickness(); size = edging.getThickness();
} }
@@ -663,7 +682,7 @@ public class XmlTypeRealize {
} }
plateDetail.getRawPointDetail().add(PointDetail.builder() plateDetail.getRawPointDetail().add(PointDetail.builder()
.id(pointXmlVO.getId()) // .id(pointXmlVO.getId())
.pointX(x) .pointX(x)
.pointY(y) .pointY(y)
.curve(Double.parseDouble(pointXmlVO.getCurvature())) .curve(Double.parseDouble(pointXmlVO.getCurvature()))
@@ -686,7 +705,7 @@ public class XmlTypeRealize {
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()) {
plateDetail.getPointDetail().add(PointDetail.builder() plateDetail.getPointDetail().add(PointDetail.builder()
.id(pointXmlVO.getId()) // .id(pointXmlVO.getId())
.pointX(Double.parseDouble(pointXmlVO.getPointX())) .pointX(Double.parseDouble(pointXmlVO.getPointX()))
.pointY(Double.parseDouble(pointXmlVO.getPointY())) .pointY(Double.parseDouble(pointXmlVO.getPointY()))
.curve(Double.parseDouble(pointXmlVO.getCurvature())) .curve(Double.parseDouble(pointXmlVO.getCurvature()))
@@ -709,8 +728,8 @@ 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()) {
DictDataRespDTO faceType = dictDataApi.parseDictData(DictTypeConstants.HOLE_FACE, holeXmlVO.getFace()).getData(); DictDataRespDTO faceType = dictDataApi.parseDictData(DictTypeConstants.HOLE_FACE, holeXmlVO.getFace()).getData();
Integer faceTypeValue = faceType != null ? Integer.valueOf(faceType.getValue()) : 2; Integer faceTypeValue = faceType != null ? Integer.parseInt(faceType.getValue()) : 2;
Integer direction = Integer.valueOf(dictDataApi.parseDictData(DictTypeConstants.HOLE_DIR, holeXmlVO.getDirection()).getData().getValue()); Integer direction = Integer.valueOf(dictDataApi.parseDictData(DictTypeConstants.HOLE_DIRECTION, holeXmlVO.getDirection()).getData().getValue());
DictDataRespDTO holeType = holeXmlVO.getType() == null ? null : dictDataApi.parseDictData(DictTypeConstants.HOLE_TYPE, holeXmlVO.getType()).getData(); 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;
@@ -748,14 +767,21 @@ 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(DictTypeConstants.HOLE_FACE, grooveXmlVO.getFace()).getData().getValue()); int faceType = Integer.parseInt(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()
.id(Integer.valueOf(grooveXmlVO.getId()))
.parentId(Integer.valueOf(grooveXmlVO.getParentId()))
.type(grooveXmlVO.getType()) .type(grooveXmlVO.getType())
.faceType(faceType) .faceType(faceType)
.width(Double.parseDouble(grooveXmlVO.getWidth()))
.length(Double.parseDouble(grooveXmlVO.getLength()))
.depth(Double.parseDouble(grooveXmlVO.getDepth())) .depth(Double.parseDouble(grooveXmlVO.getDepth()))
.knifeName(grooveXmlVO.getToolName()) .knifeName(grooveXmlVO.getToolName())
.knifeRadius(Double.parseDouble(grooveXmlVO.getToolDiameter()) / 2) .knifeRadius(Double.parseDouble(grooveXmlVO.getToolDiameter()) / 2)
.round(Double.parseDouble(grooveXmlVO.getRound()))
.redundance(Double.parseDouble(grooveXmlVO.getRedundance()))
.tangentAngle(Double.parseDouble(grooveXmlVO.getTangentAngle()))
.originModeling(getOriginModelingData(grooveXmlVO)) .originModeling(getOriginModelingData(grooveXmlVO))
.pointList(addPointDetail(grooveXmlVO.getPointXmlVOS())) .pointList(addPointDetail(grooveXmlVO.getPointXmlVOS()))
.offSetList(addOffSetDetail(grooveXmlVO.getOffsetLineXmlVOS())).build(); .offSetList(addOffSetDetail(grooveXmlVO.getOffsetLineXmlVOS())).build();
@@ -782,7 +808,7 @@ public class XmlTypeRealize {
if (pointXmlVOS != null && pointXmlVOS.getPointXmlVOList() != null && pointXmlVOS.getPointXmlVOList().size() > 0) { if (pointXmlVOS != null && pointXmlVOS.getPointXmlVOList() != null && pointXmlVOS.getPointXmlVOList().size() > 0) {
for (PointXmlVO pointXmlVO : pointXmlVOS.getPointXmlVOList()) { for (PointXmlVO pointXmlVO : pointXmlVOS.getPointXmlVOList()) {
pointLists.add(PointList.builder() pointLists.add(PointList.builder()
.pointId(Integer.valueOf(pointXmlVO.getId())) // .pointId(Integer.valueOf(pointXmlVO.getId()))
.pointX(Double.parseDouble(pointXmlVO.getPointX())). .pointX(Double.parseDouble(pointXmlVO.getPointX())).
pointY(Double.parseDouble(pointXmlVO.getPointY())) pointY(Double.parseDouble(pointXmlVO.getPointY()))
.pointZ(Double.parseDouble(pointXmlVO.getPointZ())) .pointZ(Double.parseDouble(pointXmlVO.getPointZ()))
@@ -801,7 +827,7 @@ public class XmlTypeRealize {
if (offsetLineXmlVOS != null && offsetLineXmlVOS.getOffsetLineXmlVOList() != null && offsetLineXmlVOS.getOffsetLineXmlVOList().size() > 0) { if (offsetLineXmlVOS != null && offsetLineXmlVOS.getOffsetLineXmlVOList() != null && offsetLineXmlVOS.getOffsetLineXmlVOList().size() > 0) {
for (OffsetLineXmlVO offsetLineXmlVO : offsetLineXmlVOS.getOffsetLineXmlVOList()) { for (OffsetLineXmlVO offsetLineXmlVO : offsetLineXmlVOS.getOffsetLineXmlVOList()) {
offSetList.add(OffSetList.builder() offSetList.add(OffSetList.builder()
.id(offsetLineXmlVO.getId()) // .id(offsetLineXmlVO.getId())
.value(Double.parseDouble(offsetLineXmlVO.getOffset())) .value(Double.parseDouble(offsetLineXmlVO.getOffset()))
.depth(Double.parseDouble(offsetLineXmlVO.getDepth())) .depth(Double.parseDouble(offsetLineXmlVO.getDepth()))
.angle(Double.parseDouble(offsetLineXmlVO.getTangentAngle())) .angle(Double.parseDouble(offsetLineXmlVO.getTangentAngle()))
@@ -60,7 +60,7 @@ public class RemainPlateRespVO {
@Schema(description = "纹理 有 无", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "纹理 有 无", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("纹理 有 无") @ExcelProperty("纹理 有 无")
private String texture; private Boolean texture;
@Schema(description = "宽度", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "宽度", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("宽度") @ExcelProperty("宽度")
@@ -71,4 +71,11 @@ public interface PlateMapper extends BaseMapperX<PlateDO> {
} }
PlateDO selectOneById(@Param("id") Long id, @Param("organId") Long organId); PlateDO selectOneById(@Param("id") Long id, @Param("organId") Long organId);
default Boolean isByGoodID(String goodId , Long organId) {
if (selectOne(PlateDO::getGoodsId, goodId, PlateDO::getOrganId, organId) != null) {
return true;
}
return false;
}
} }
@@ -25,6 +25,7 @@ import java.util.List;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getLoginUser; import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getLoginUser;
import static com.cf.imes.module.system.enums.ErrorCodeConstants.PLATE_GOODS_ID_NOT_SAME;
import static com.cf.imes.module.system.enums.ErrorCodeConstants.REMAIN_PLATE_NOT_EXISTS; import static com.cf.imes.module.system.enums.ErrorCodeConstants.REMAIN_PLATE_NOT_EXISTS;
/** /**
@@ -73,6 +74,10 @@ public class PlateServiceImpl implements PlateService {
validatePlateExists(updateReqVO.getId(), validatePlateExists(updateReqVO.getId(),
getOrganId(BASE_PLATE_UPDATE_PERMISSION, getLoginUser().getId(), updateReqVO.getOrganId())); getOrganId(BASE_PLATE_UPDATE_PERMISSION, getLoginUser().getId(), updateReqVO.getOrganId()));
PlateDO updateObj = BeanUtils.toBean(updateReqVO, PlateDO.class); PlateDO updateObj = BeanUtils.toBean(updateReqVO, PlateDO.class);
// 校验板材goods_id是否相同
if (!plateMapper.isByGoodID(updateReqVO.getGoodsId(), getLoginUser().getId())) {
throw exception(PLATE_GOODS_ID_NOT_SAME);
}
plateMapper.updateById(updateObj); plateMapper.updateById(updateObj);
} }
@@ -250,6 +250,7 @@ public interface ErrorCodeConstants {
ErrorCode RAW_GOODS_NOT_EXISTS = new ErrorCode(1_002_033_006, "设计板材不存在"); ErrorCode RAW_GOODS_NOT_EXISTS = new ErrorCode(1_002_033_006, "设计板材不存在");
ErrorCode RAW_GOODS_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_033_007, "生产板材导入数据不可以为空"); ErrorCode RAW_GOODS_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_033_007, "生产板材导入数据不可以为空");
ErrorCode PLATENO_ERROR = new ErrorCode(1_002_033_008, "当前板编号无对应包裹信息"); ErrorCode PLATENO_ERROR = new ErrorCode(1_002_033_008, "当前板编号无对应包裹信息");
ErrorCode PLATE_GOODS_ID_NOT_SAME = new ErrorCode(1_002_033_009, "板材商品编号存在,请重新命名商品编号");