diff --git a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/DictTypeConstants.java b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/DictTypeConstants.java new file mode 100644 index 000000000..e478f08a7 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/DictTypeConstants.java @@ -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";//孔类型 +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java index 8774c89be..c5f1cda5f 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java @@ -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.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.XmlTypeRealize; import io.swagger.v3.oas.annotations.Parameters; import lombok.extern.slf4j.Slf4j; import org.springdoc.webmvc.core.RequestService; @@ -92,7 +93,7 @@ public class OrderController { private IdentifierGenerator identifierGenerator; @Resource - private ThreadPoolTaskExecutor asyncExecutor; + private XmlTypeRealize xmlTypeRealize; @PutMapping("/update") @@ -295,6 +296,10 @@ public class OrderController { try { List list = null; OrderDO orderDO = new OrderDO(); + OrderXmlVO orderXmlVO = null; + + Map mapOrder = null; + String err = ""; if (type == 0) { //excel excelReadUtil.setErr(0); @@ -305,42 +310,51 @@ public class OrderController { return; } else { list = (List) map.get("plate"); - - if (index == null || index == 0) { // 整单导入 - Map mapOrder = (Map) map.get("order"); - - orderDO = ((OrderDO) mapOrder.get("order")).setOrderType(OrderTypeEnum.MAIN_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); + mapOrder = (Map) map.get("order"); + if (list.size() == 0) { + orderDO.setStatus(OrderStatusEnum.EMPTY.getStatus()); + } else { + orderDO.setStatus(OrderStatusEnum.NEW_ORDER.getStatus()); } } } else if (type == 1) { // json } else if (type == 2) { // xml - - OrderXmlVO orderXmlVO = (OrderXmlVO) XMLReadUtil.read(file, OrderXmlVO.class); - - System.out.println("orderXmlVO = " + orderXmlVO); + orderXmlVO = (OrderXmlVO) XMLReadUtil.read(file, OrderXmlVO.class); + // 数据内容正确判断 +// if(){ +// +// } + 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) { - ExcelWriterUtil.writeErr(response, "系统出现未知错误,请下载模板,按照模板重新上传文件", orderService.getSavePath() + File.separator + "order_err.xlsx"); + ExcelWriterUtil.writeErr(response, "系统出现未知错误,请下载模板,按照模板重新上传文件,注意编码格式", orderService.getSavePath() + File.separator + "order_err.xlsx"); log.error("导入文件出现异常", e); } } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/ordermodel/OrderModelDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/ordermodel/OrderModelDO.java index 1f4260aaa..5060178f4 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/ordermodel/OrderModelDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/ordermodel/OrderModelDO.java @@ -1,11 +1,10 @@ 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.module.executor.util.deviseData.dataTwo.HoleDetail; -import com.cf.imes.module.executor.util.deviseData.dataTwo.ModelDetail; -import com.cf.imes.module.executor.util.deviseData.dataTwo.PointDetail; +import com.cf.imes.module.executor.util.deviseData.structure.BasePosition; +import com.cf.imes.module.executor.util.deviseData.structure.HoleDetail; +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 lombok.AllArgsConstructor; import lombok.Builder; @@ -32,6 +31,11 @@ public class OrderModelDO extends ESDocument { @Schema(description = "小板id") private Long plateId; + @Schema(description = "柜体的基点坐标") + private BasePosition bodyBasePosition; // 板件基准点坐标 + @Schema(description = "板件的基点坐标") + private BasePosition plateBasePosition; // 板件基准点坐标 + @Schema(description = "纹路 纹路(0正纹1可翻转2反纹)") private Integer texture; @Schema(description = "排版面 排钻类型(0正面1反面2随意面)") diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java index 8225576bf..9c0696d42 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java @@ -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.OrderRoomBodyRespVO; 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.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.web.context.request.RequestAttributes; -import org.springframework.web.multipart.MultipartFile; import java.io.File; -import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.ExecutionException; /** * 生产单表 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); /** * 生产导入文件模板下载 diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java index 0e1fd29a1..1e4a22a9e 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java @@ -1,7 +1,5 @@ package com.cf.imes.module.executor.service.order; -import cn.smallbun.screw.core.util.CollectionUtils; - import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; 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.query.LambdaQueryWrapperX; 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.product.OrderBodyRespVO; 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.OrderStatusEnum; 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.ApiTypeRealize; 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 javax.annotation.Resource; @@ -68,7 +66,6 @@ import java.time.*; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.*; -import java.util.concurrent.ExecutionException; import java.util.regex.Matcher; import java.util.regex.Pattern; 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 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 实现类 @@ -144,6 +139,9 @@ public class OrderServiceImpl implements OrderService { public static final String ORDER_PARTS_REMARK_MODEL = "imes_order_parts_remark_model"; + @Resource + private XmlTypeRealize xmlTypeRealize; + @Override public void updateOrder(OrderSaveReqVO updateReqVO) { // 校验存在, 生产单未删除 @@ -425,14 +423,18 @@ public class OrderServiceImpl implements OrderService { @Override @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) { orderDO.setId((Long) snowFlakeGenerator.nextId(null)); orderMapper.insert(orderDO); } + Map> listMap = null; - if (list.size() > 0) { - Map> listMap = excelTypeRealize.changeDate(list, orderDO.getId()); + if (list != null && list.size() > 0) { + listMap = excelTypeRealize.changeDate(list, orderDO.getId()); + } else if (orderXmlVO != null) { + listMap = xmlTypeRealize.goodsInfoChange(orderXmlVO, orderDO.getId(), getUserOrganId()); + } List rawGoodsDO = (List) listMap.get("rawGoodsDOS"); List goodsDO = (List) listMap.get("goodsDOS"); @@ -443,6 +445,7 @@ public class OrderServiceImpl implements OrderService { List itemDO = (List) listMap.get("orderItemDOS"); List orderModelDOS = (List) listMap.get("orderModelDOS"); List orderPartsRemarks = (List) listMap.get("orderPartsRemarks"); + List plateDetail = (List) listMap.get("plateDetail"); // 板材库匹配 Map> map = getPlateGoods(goodsDO);// 检验商品板材信息是否存在 excel goodsDO = (List) map.get("goodsDO"); @@ -465,13 +468,20 @@ public class OrderServiceImpl implements OrderService { } } orderInputProcessor.batchInsert(rawGoodsDO, bodyDO, groupDO, partsDO, plateDO, itemDO, goodsDO, plateGoodDOS); - if (orderModelDOS.size() > 0) { + if (orderModelDOS != null && orderModelDOS.size() > 0) { orderInputProcessor.batchSaveModel(orderModelDOS); } - if (orderPartsRemarks.size() > 0) { + if (plateDetail != null){ + List 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); } - } + } @Override diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/BasePosition.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/BasePosition.java similarity index 65% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/BasePosition.java rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/BasePosition.java index f3c671684..801267455 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/BasePosition.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/BasePosition.java @@ -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.Builder; @@ -21,4 +21,10 @@ public class BasePosition { private String basePointZ;// 基准点Z坐标 + private String axisXrotate;// 绕X轴旋转角度 + + private String axisYrotate;// 绕Y轴旋转角度 + + private String axisZrotate;// 绕Z轴旋转角度 + } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/BoardInfo.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/BoardInfo.java similarity index 93% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/BoardInfo.java rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/BoardInfo.java index b88c9630f..b65aa5a6f 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/BoardInfo.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/BoardInfo.java @@ -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.Builder; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/BodyInfo.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/BodyInfo.java similarity index 89% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/BodyInfo.java rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/BodyInfo.java index 37edb87d0..ead055eda 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/BodyInfo.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/BodyInfo.java @@ -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.Builder; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/DrillsInfo.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/DrillsInfo.java similarity index 86% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/DrillsInfo.java rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/DrillsInfo.java index f0774c479..ded1a3f8b 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/DrillsInfo.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/DrillsInfo.java @@ -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.Builder; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/Group.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/Group.java similarity index 83% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/Group.java rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/Group.java index f54c0baa7..e625a6a5e 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/Group.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/Group.java @@ -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.Builder; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/HoleDetail.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/HoleDetail.java similarity index 95% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/HoleDetail.java rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/HoleDetail.java index 81ccb238d..6994f22f0 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/HoleDetail.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/HoleDetail.java @@ -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 lombok.AllArgsConstructor; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/IContourData.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/IContourData.java similarity index 91% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/IContourData.java rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/IContourData.java index 6dc6a1e3b..654e22e08 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/IContourData.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/IContourData.java @@ -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 io.swagger.v3.oas.annotations.media.Schema; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/IOriginModelingData.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/IOriginModelingData.java similarity index 94% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/IOriginModelingData.java rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/IOriginModelingData.java index 8a0fd5db2..3b68e007a 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/IOriginModelingData.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/IOriginModelingData.java @@ -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 lombok.AllArgsConstructor; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/ModelDetail.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/ModelDetail.java similarity index 91% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/ModelDetail.java rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/ModelDetail.java index 1e9cdc607..2267dacc3 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/ModelDetail.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/ModelDetail.java @@ -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 lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; import java.util.List; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/OffSetList.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/OffSetList.java similarity index 95% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/OffSetList.java rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/OffSetList.java index 62f7e8142..2c5338460 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/OffSetList.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/OffSetList.java @@ -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 lombok.AllArgsConstructor; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PartsInfo.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/PartsInfo.java similarity index 96% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PartsInfo.java rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/PartsInfo.java index ff7cd0afe..e6f8a2083 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PartsInfo.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/PartsInfo.java @@ -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.Builder; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PlateDetail.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/PlateDetail.java similarity index 94% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PlateDetail.java rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/PlateDetail.java index 309847eb5..cecc972f3 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PlateDetail.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/PlateDetail.java @@ -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.Builder; import lombok.Data; @@ -90,7 +88,8 @@ public class PlateDetail{ private Boolean has3DModel; // 是否有三维刀路 // 轮廓数据、造型数据 - + private BasePosition bodyBasePosition; // 柜体基准点坐标 + private BasePosition plateBasePosition; // 板件基准点坐标 private List pointDetail ; //点明细,表示小板外围轮廓的几个转折点(不含封边) private List rawPointDetail ; //原始点明细(含封边) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PointDetail.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/PointDetail.java similarity index 93% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PointDetail.java rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/PointDetail.java index 98a61e452..dc08afd60 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PointDetail.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/PointDetail.java @@ -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 lombok.AllArgsConstructor; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PointList.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/PointList.java similarity index 93% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PointList.java rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/PointList.java index 98d5cf929..2f995892a 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PointList.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/structure/PointList.java @@ -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 lombok.AllArgsConstructor; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java index d6e3df4dd..7473f9084 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java @@ -1,6 +1,5 @@ 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.JSONObject; 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.enums.*; 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 lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -24,7 +23,6 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalDate; import java.time.format.DateTimeFormatter; -import java.time.temporal.ChronoUnit; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -560,7 +558,7 @@ public class ApiTypeRealize { 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")) .getData().getValue()); Long plateId = (Long) identifierGenerator.nextId(null); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelReadUtil.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelReadUtil.java index 77a6dbc87..05961d326 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelReadUtil.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelReadUtil.java @@ -7,10 +7,11 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.nacos.common.utils.StringUtils; 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.enums.DataTypeEnum; 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.dto.DictDataRespDTO; -import com.cf.imes.module.system.enums.DictTypeConstants; +import com.cf.imes.module.executor.enums.DictTypeConstants; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; @@ -111,7 +112,7 @@ public class ExcelReadUtil { // 文件读取 } OrderDO orderDO = OrderDO.builder() .organId(OrganContextHolder.getOrganId()) - .dataType(0) + .dataType(DataTypeEnum.FILE_IMPORT.getStatus()) .orderDate(LocalDateTime.now()) .customer((String) orderMap.get("客户")) // .customOrderNo((String) orderMap.get("自定义单号")) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelTypeRealize.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelTypeRealize.java index 8b67fdd92..03b799f58 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelTypeRealize.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelTypeRealize.java @@ -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.system.api.dict.DictDataApi; import com.cf.imes.module.system.api.dict.dto.DictDataRespDTO; -import com.cf.imes.module.system.enums.DictTypeConstants; -import io.swagger.v3.oas.models.security.SecurityScheme; +import com.cf.imes.module.executor.enums.DictTypeConstants; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/AssemblyXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/AssemblyXmlVO.java index 686d1da06..56df3818d 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/AssemblyXmlVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/AssemblyXmlVO.java @@ -4,10 +4,7 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.*; import java.io.Serializable; @Data @@ -74,6 +71,10 @@ public class AssemblyXmlVO implements Serializable { @XmlAttribute(name = "unit") private String unit; + // 数量单位 + @XmlAttribute(name = "unitCount") + private String unitCount; + // 仓库 @XmlAttribute(name = "warehouse") private String warehouse; @@ -97,4 +98,12 @@ public class AssemblyXmlVO implements Serializable { // 模块ID @XmlAttribute(name = "moduleId") private String moduleId; + + // 父ID + @XmlAttribute(name = "parentId") + private String parentId; + + // 备注 + @XmlElement(name = "Remarks") + private RemarkXmlVOS remarkXmlVOS; } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/BlockXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/BlockXmlVO.java index d22663a05..6a423d351 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/BlockXmlVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/BlockXmlVO.java @@ -127,6 +127,30 @@ public class BlockXmlVO implements Serializable { @XmlAttribute(name = "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") private OutlineXmlVO outlineXmlVO ; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/BoxXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/BoxXmlVO.java index 520b5d0e8..e5429d8c9 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/BoxXmlVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/BoxXmlVO.java @@ -41,4 +41,28 @@ public class BoxXmlVO implements Serializable { @XmlAttribute(name = "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; + } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/EdgingXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/EdgingXmlVO.java index 18d5692e6..8b55addd1 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/EdgingXmlVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/EdgingXmlVO.java @@ -4,10 +4,7 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.*; import java.io.Serializable; @Data @@ -78,6 +75,10 @@ public class EdgingXmlVO implements Serializable { @XmlAttribute(name = "count") private String count; + // 数量单位(默认m米) + @XmlAttribute(name = "unitCount") + private String unitCount; + // 房间ID @XmlAttribute(name = "roomId") private String roomId; @@ -93,4 +94,12 @@ public class EdgingXmlVO implements Serializable { // 模块ID @XmlAttribute(name = "moduleId") private String moduleId; + + // 父ID + @XmlAttribute(name = "parentId") + private String parentId; + + // 备注 + @XmlElement(name = "Remarks") + private RemarkXmlVOS remarkXmlVOS; } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GroupXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GroupXmlVO.java index d5fa9790e..23b8751af 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GroupXmlVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GroupXmlVO.java @@ -13,7 +13,7 @@ import java.io.Serializable; @Data @AllArgsConstructor @NoArgsConstructor -@XmlRootElement(name = "Box") +@XmlRootElement(name = "Group") @XmlAccessorType(XmlAccessType.FIELD) public class GroupXmlVO implements Serializable { @@ -41,7 +41,4 @@ public class GroupXmlVO implements Serializable { @XmlAttribute(name = "length") private String length; - // 加工组数量 - @XmlAttribute(name = "count") - private String count; } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GroupXmlVOS.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GroupXmlVOS.java index ee187a82b..62f5ea78b 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GroupXmlVOS.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/GroupXmlVOS.java @@ -21,6 +21,6 @@ public class GroupXmlVOS implements Serializable { private String count; // 房间 - @XmlElement(name = "Room") + @XmlElement(name = "Group") private List groupXmlVOList; } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HardwareXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HardwareXmlVO.java index ffd7f96a2..88329ff81 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HardwareXmlVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HardwareXmlVO.java @@ -4,10 +4,7 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.*; import java.io.Serializable; @Data @@ -74,6 +71,10 @@ public class HardwareXmlVO implements Serializable { @XmlAttribute(name = "unit") private String unit; + // 数量单位 + @XmlAttribute(name = "unitCount") + private String unitCount; + // 仓库 @XmlAttribute(name = "warehouse") private String warehouse; @@ -98,4 +99,11 @@ public class HardwareXmlVO implements Serializable { @XmlAttribute(name = "moduleId") private String moduleId; + // 父ID + @XmlAttribute(name = "parentId") + private String parentId; + + // 备注 + @XmlElement(name = "Remarks") + private RemarkXmlVOS remarkXmlVOS; } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HoleXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HoleXmlVO.java index e177afd87..caabba289 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HoleXmlVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/HoleXmlVO.java @@ -30,7 +30,7 @@ public class HoleXmlVO implements Serializable { @XmlAttribute(name = "face") private String face; - // 方向——向后Z-、向前Z+、向右X+、向左X-、向下Y-、向上Y+、斜O + // 方向——向后Z-、向前Z+、向右X+、向左X-、向下Y-、向上Y+、斜O 孔加工面 @XmlAttribute(name = "direction") private String direction; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/ModuleXmlVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/ModuleXmlVO.java index 2d76ee9e8..b4de6bf05 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/ModuleXmlVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/ModuleXmlVO.java @@ -14,32 +14,28 @@ import java.io.Serializable; @XmlAccessorType(XmlAccessType.FIELD) public class ModuleXmlVO implements Serializable { - // 房间ID + // 模块ID @XmlAttribute(name = "id") private String id; - // 房间名称 + // 模块名称 @XmlAttribute(name = "name") private String name; - // 房间编号 + // 模块编号 @XmlAttribute(name = "code") private String code; - // 房间高度 + // 模块高度 @XmlAttribute(name = "height") private String height; - // 房间宽度 + // 模块宽度 @XmlAttribute(name = "width") private String width; - // 房间长度 + // 模块长度 @XmlAttribute(name = "length") private String length; - // 房间数量 - @XmlAttribute(name = "count") - private String count; - } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/ModuleXmlVOS.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/ModuleXmlVOS.java index f42153841..bee8aedbc 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/ModuleXmlVOS.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/VO/ModuleXmlVOS.java @@ -20,6 +20,6 @@ public class ModuleXmlVOS implements Serializable { private String count; // 房间 - @XmlElement(name = "Room") + @XmlElement(name = "Module") private List moduleXmlVOList; } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/XMLReadUtil.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/XMLReadUtil.java index 0070392a6..775fe975b 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/XMLReadUtil.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/XMLReadUtil.java @@ -1,6 +1,8 @@ package com.cf.imes.module.executor.util.fileConversion.admin.files.xml; 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 org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; @@ -11,6 +13,9 @@ import java.nio.charset.StandardCharsets; @Slf4j @Component public class XMLReadUtil { + + final String TYPE_ERR = "数据类型错误"; + public static Object read(MultipartFile file, Class clazz) throws IOException { @@ -33,7 +38,6 @@ public class XMLReadUtil { // XML转为JAVA对象 Object odfBody = XmlBuilder.xmlStrToOject(clazz, builder.toString()); - System.out.println(" odfBody " + JSON.toJSONString(odfBody)); return odfBody; } catch (IOException e) { @@ -44,4 +48,82 @@ public class XMLReadUtil { 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; + } + } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/XmlTypeRealize.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/XmlTypeRealize.java index 1aa4f558a..78f57af1f 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/XmlTypeRealize.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/XmlTypeRealize.java @@ -3,7 +3,7 @@ package com.cf.imes.module.executor.util.fileConversion.admin.files.xml; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; 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.order.OrderDO; 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.plate.PlateDO; 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.ToolUtil; 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.dto.DictDataRespDTO; +import com.cf.imes.module.executor.enums.DictTypeConstants; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalDate; -import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.time.format.DateTimeParseException; -import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.HashMap; import java.util.List; 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 public class XmlTypeRealize { - @Resource - private SnowFlakeGenerator snowFlakeGenerator; - @Resource SnowflakeIdWorker3rd idWorker; @@ -53,10 +51,6 @@ public class XmlTypeRealize { final String NOT_ASSIGNED = "未命名"; - final String NOT_ROOM = "无房间"; - - final String NOT_BODY = "无柜体"; - @Resource private IdentifierGenerator identifierGenerator; @@ -72,7 +66,7 @@ public class XmlTypeRealize { } // 生产单转换 - public Map changeOrder(OrderXmlVO orderXmlVO, Long orderId, Long organId) { + public Map changeOrder(OrderXmlVO orderXmlVO, Long organId) { Map map = new HashMap<>(); String error = ""; @@ -98,15 +92,14 @@ public class XmlTypeRealize { } } OrderDO orderDO = OrderDO.builder() - .id(orderId) .organId(organId) - .dataType(0) - .customer(orderXmlVO.getCustomer()) // + .dataType(DataTypeEnum.FILE_IMPORT.getStatus()) + .customer(orderXmlVO.getCustomer()) .customOrderNo(orderXmlVO.getCustomOrderNo()) - .dealer(orderXmlVO.getDealer()) // + .dealer(orderXmlVO.getDealer()) .dealerPhoneNumber(orderXmlVO.getDealerPhone()) - .address(orderXmlVO.getCustomerAddress()) // - .phoneNumber(orderXmlVO.getCustomerPhone()) // + .address(orderXmlVO.getCustomerAddress()) + .phoneNumber(orderXmlVO.getCustomerPhone()) .salesman(orderXmlVO.getSeller()) .splitter(orderXmlVO.getAnalyst()) .remark(orderXmlVO.getMemo()) @@ -143,11 +136,12 @@ public class XmlTypeRealize { Map> roomInfos = new HashMap<>(); if (roomXmlVOS != null && roomXmlVOS.getRoomXmlVOList() != null && roomXmlVOS.getRoomXmlVOList().size() > 0) { - Map bodyInfos = new HashMap<>(); + for (RoomXmlVO roomXmlVO : roomXmlVOS.getRoomXmlVOList()) { + Map bodyInfos = new HashMap<>(); Long roomId = Long.valueOf(roomXmlVO.getId()); for (BoxXmlVO boxXmlVO : roomXmlVO.getBoxXmlVOList()) { - bodyInfos.put(boxXmlVO.getId(), OrderBodyDO.builder() + OrderBodyDO orderBodyDO = OrderBodyDO.builder() .id((Long) identifierGenerator.nextId(null)) .organId(organId) .orderId(orderId) @@ -157,7 +151,10 @@ public class XmlTypeRealize { .width(Double.parseDouble(boxXmlVO.getWidth())) .height(Double.parseDouble(boxXmlVO.getHeight())) .depth(Double.parseDouble(boxXmlVO.getLength())) - .build()); + .plateNum(0) + .unregularNum(0) + .build(); + bodyInfos.put(boxXmlVO.getId(), orderBodyDO); } roomInfos.put(roomXmlVO.getId(), bodyInfos); } @@ -165,44 +162,75 @@ public class XmlTypeRealize { return roomInfos; } + // 柜体基点坐标转换 + public Map> basePositionChange(RoomXmlVOS roomXmlVOS) { + Map> roomInfos = new HashMap<>(); + if (roomXmlVOS != null && roomXmlVOS.getRoomXmlVOList() != null && roomXmlVOS.getRoomXmlVOList().size() > 0) { + Map 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 groupInfoChange(GroupXmlVOS groupXmlVOS, Long orderId, Long organId) { Map groupInfos = new HashMap<>(); if (groupXmlVOS != null && groupXmlVOS.getGroupXmlVOList() != null && groupXmlVOS.getGroupXmlVOList().size() > 0) { for (GroupXmlVO groupXmlVO : groupXmlVOS.getGroupXmlVOList()) { - groupInfos.put(groupXmlVO.getId(), OrderGroupDO.builder() + OrderGroupDO groupDO = OrderGroupDO.builder() .id((Long) identifierGenerator.nextId(null)) .organId(organId) .orderId(orderId) + .bodyId(0L) + .groupTypeId(0L) .name(groupXmlVO.getName()) .height(Double.parseDouble(groupXmlVO.getHeight())) .width(Double.parseDouble(groupXmlVO.getWidth())) .depth(Double.parseDouble(groupXmlVO.getLength())) - .build()); + .plateNum(0) + .unregularNum(0) + .build(); + groupInfos.put(groupXmlVO.getId(), groupDO); } } return groupInfos; } // 板材信息转换 - public Map> goodsInfoChange(OrderXmlVO orderXmlVO, Long orderId, Long organId) { - Map> map = new HashMap<>(); + public Map> goodsInfoChange(OrderXmlVO orderXmlVO, Long orderId, Long organId) { + Map> map = new HashMap<>(); - List rawGoodsDOs = new ArrayList<>(); - List goodsDOs = new ArrayList<>(); - List bodyBOs = new ArrayList<>(); - List groupDOs = new ArrayList<>(); - List plateDOs = new ArrayList<>(); - List itemDOs = new ArrayList<>(); - List partsDOs = new ArrayList<>(); - - Map groupInfos = groupInfoChange(orderXmlVO.getGroupXmlVOS(), orderId, organId); // 加工组 - Map itemInfos = new HashMap<>(); - Map partsInfos = new HashMap<>(); + List rawGoodsDOs = new ArrayList<>(); + List goodsDOs = new ArrayList<>(); + List plateDOs = new ArrayList<>(); + List plateDetail = null; // 房间柜体 - Map> roomInfos = bodyInfoChange(orderXmlVO.getRoomXmlVOS(), orderId, organId); + Map> roomInfos = bodyInfoChange(orderXmlVO.getRoomXmlVOS(), orderId, organId); // roomInfos 这个在跟着一起变 + // 房间柜体基点 + Map> boxBasePositions = basePositionChange(orderXmlVO.getRoomXmlVOS()); + // 加工组 + Map groupInfos = groupInfoChange(orderXmlVO.getGroupXmlVOS(), orderId, organId); // groupInfos 这个在跟着一起变 + + Map itemInfos = new HashMap<>(); + Map partsInfos = new HashMap<>(); + Map orderPartsRemarks = new HashMap<>(); + Map partsDOInfos = new HashMap<>(); + if (orderXmlVO.getMaterialXmlVO() != null ){ MaterialXmlVO materialXmlVO = orderXmlVO.getMaterialXmlVO(); @@ -214,6 +242,8 @@ public class XmlTypeRealize { Map> partAllInfo = goodsInfoChange(accessoryXmlVO, assemblieXmlVOS, orderId, organId, roomInfos, groupInfos); itemInfos.putAll(partAllInfo.get("orderItemMap")); partsInfos.putAll(partAllInfo.get("orderPartsMap")); + orderPartsRemarks.putAll(partAllInfo.get("orderPartsRemarks")); + partsDOInfos.putAll(partAllInfo.get("orderPartsDOMap")); // 板材 小板 if (plateXmlVOS.getPlateXmlVOList() != null && plateXmlVOS.getPlateXmlVOList().size() > 0) { @@ -256,25 +286,52 @@ public class XmlTypeRealize { 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 orderBodyDOList = roomInfos.values().stream() + .flatMap(innerMap -> innerMap.values().stream()) + .collect(Collectors.toList()); + + + List groupDOList = new ArrayList<>(groupInfos.values()); + List itemDOList = new ArrayList<>(itemInfos.values()); + List partDOList = new ArrayList<>(partsDOInfos.values()); + List 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; } // id得到 private Map getId(String roomNo, String BoxNo, Map> roomInfos, - String groupNo, Map groupInfos, - Long orderId, Long organId) { + String groupNo, Map groupInfos, Double plateNum, + Double unregularNum, Long orderId, Long organId) { Map map = new HashMap<>(); Map bodyMap = roomInfos.get(roomNo); OrderBodyDO bodyDO; - if (bodyMap.containsKey(BoxNo)) { - bodyDO = (OrderBodyDO) bodyMap.get(BoxNo); + if (bodyMap == null){ + 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 { Long roomId = (Long) identifierGenerator.nextId(null); bodyDO = OrderBodyDO.builder() @@ -287,9 +344,10 @@ public class XmlTypeRealize { .width(0.0) .height(0.0) .depth(0.0) + .plateNum((int) Math.round(plateNum)) + .unregularNum((int) Math.round(unregularNum)) .build(); - bodyMap.put(NOT_ASSIGNED, bodyDO); - roomInfos.put(NOT_ASSIGNED, bodyMap); + bodyMap.put(BoxNo, bodyDO); } Long roomId = bodyDO.getRoomId(); @@ -299,6 +357,8 @@ public class XmlTypeRealize { Long groupId = 0L; if (orderGroupDO != null) { groupId = orderGroupDO.getId(); + orderGroupDO.setBodyId(bodyId).setPlateNum((int) (orderGroupDO.getPlateNum() + plateNum)) + .setUnregularNum((int) (orderGroupDO.getUnregularNum() + unregularNum)); } map.put("roomId", roomId); map.put("bodyId", bodyId); @@ -311,13 +371,15 @@ public class XmlTypeRealize { Map> map = new HashMap<>(); Map orderPartsMap = new HashMap<>(); Map orderItemMap = new HashMap<>(); + Map orderPartsDOMap = new HashMap<>(); + Map orderPartsRemarks = new HashMap<>(); if (accessoryXmlVO != null) { if (accessoryXmlVO.getEdgingXmlVOS() != null && accessoryXmlVO.getEdgingXmlVOS().getEdgingXmlVOList() != null && accessoryXmlVO.getEdgingXmlVOS().getEdgingXmlVOList().size() > 0) { EdgingXmlVOS edgingXmlVOS = accessoryXmlVO.getEdgingXmlVOS(); for (EdgingXmlVO edgingXmlVO : edgingXmlVOS.getEdgingXmlVOList()) { - Map idMap = getId(edgingXmlVO.getRoomId(), edgingXmlVO.getBoxId(), roomInfos, edgingXmlVO.getGroupId(), groupInfos, orderId, organId); + Map idMap = getId(edgingXmlVO.getRoomId(), edgingXmlVO.getBoxId(), roomInfos, edgingXmlVO.getGroupId(), groupInfos, 0.0, 0.0, orderId, organId); Long partsId = (Long) identifierGenerator.nextId(null); orderPartsMap.put(edgingXmlVO.getId(), OrderPartsAddVO.builder() @@ -352,13 +414,33 @@ public class XmlTypeRealize { .bodyId(idMap.get("bodyId")) .num(Double.valueOf(edgingXmlVO.getCount())) .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) { HardwareXmlVOS hardwareXmlVOS = accessoryXmlVO.getHardwareXmlVOS(); for (HardwareXmlVO hardwareXmlVO : hardwareXmlVOS.getHardwareXmlVOList()) { - Map idMap = getId(hardwareXmlVO.getRoomId(), hardwareXmlVO.getBoxId(), roomInfos, hardwareXmlVO.getGroupId(), groupInfos, orderId, organId); + Map idMap = getId(hardwareXmlVO.getRoomId(), hardwareXmlVO.getBoxId(), roomInfos, hardwareXmlVO.getGroupId(), groupInfos, 0.0, 0.0,orderId, organId); Long partsId = (Long) identifierGenerator.nextId(null); orderPartsMap.put(hardwareXmlVO.getId(), OrderPartsAddVO.builder() @@ -395,6 +477,25 @@ public class XmlTypeRealize { .bodyId(idMap.get("bodyId")) .num(Double.valueOf(hardwareXmlVO.getCount())) .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) { for (AssemblyXmlVO assemblyXmlVO : assemblieXmlVOS.getAssemblyXmlVOList()) { - Map idMap = getId(assemblyXmlVO.getRoomId(), assemblyXmlVO.getBoxId(), roomInfos, assemblyXmlVO.getGroupId(), groupInfos, orderId, organId); + if (assemblyXmlVO != null && assemblyXmlVO.toString().length() > 0) { + Map idMap = getId(assemblyXmlVO.getRoomId(), assemblyXmlVO.getBoxId(), roomInfos, assemblyXmlVO.getGroupId(), groupInfos, 0.0, 0.0, orderId, organId); - Long partsId = (Long) identifierGenerator.nextId(null); - orderPartsMap.put(assemblyXmlVO.getId(), OrderPartsAddVO.builder() - .id(partsId) - .organId(organId) - .orderId(orderId) - .type(assemblyXmlVO.getType()) - .goodsId(assemblyXmlVO.getItemNo()) - .factory(assemblyXmlVO.getManufacturer()) - .brand(assemblyXmlVO.getBrand()) - .name(assemblyXmlVO.getName()) - .material(assemblyXmlVO.getMaterial()) - .spec(assemblyXmlVO.getSpecs()) - .color(assemblyXmlVO.getColor()) - .length(BigDecimal.valueOf(Double.parseDouble(assemblyXmlVO.getLength()))) - .width(BigDecimal.valueOf(Double.parseDouble(assemblyXmlVO.getWidth()))) - .thickness(BigDecimal.valueOf(Double.parseDouble(assemblyXmlVO.getHeight()))) - .num(Double.valueOf(assemblyXmlVO.getCount())) - .unit((assemblyXmlVO.getUnit())) - .warehouse(assemblyXmlVO.getWarehouse()) - .shelf(assemblyXmlVO.getShelf()) - .roomId(assemblyXmlVO.getRoomId()) - .bodyId(assemblyXmlVO.getBoxId()) - .isComposite(true) - .build()); - orderItemMap.put(assemblyXmlVO.getId(), OrderItemDO.builder() - .id((Long) identifierGenerator.nextId(null)) - .organId(organId) - .orderId(orderId) - .type(2) - .partsId(partsId) - .groupId(idMap.get("groupId")) - .roomId(idMap.get("roomId")) - .bodyId(idMap.get("bodyId")) - .num(Double.valueOf(assemblyXmlVO.getCount())) - .build()); + Long partsId = (Long) identifierGenerator.nextId(null); + orderPartsMap.put(assemblyXmlVO.getId(), OrderPartsAddVO.builder() + .id(partsId) + .organId(organId) + .orderId(orderId) + .type(assemblyXmlVO.getType()) + .goodsId(assemblyXmlVO.getItemNo()) + .factory(assemblyXmlVO.getManufacturer()) + .brand(assemblyXmlVO.getBrand()) + .name(assemblyXmlVO.getName()) + .material(assemblyXmlVO.getMaterial()) + .spec(assemblyXmlVO.getSpecs()) + .color(assemblyXmlVO.getColor()) + .length(BigDecimal.valueOf(Double.parseDouble(assemblyXmlVO.getLength()))) + .width(BigDecimal.valueOf(Double.parseDouble(assemblyXmlVO.getWidth()))) + .thickness(BigDecimal.valueOf(Double.parseDouble(assemblyXmlVO.getHeight()))) + .num(Double.valueOf(assemblyXmlVO.getCount())) + .unit((assemblyXmlVO.getUnit())) + .warehouse(assemblyXmlVO.getWarehouse()) + .shelf(assemblyXmlVO.getShelf()) + .roomId(assemblyXmlVO.getRoomId()) + .bodyId(assemblyXmlVO.getBoxId()) + .isComposite(true) + .build()); + orderItemMap.put(assemblyXmlVO.getId(), OrderItemDO.builder() + .id((Long) identifierGenerator.nextId(null)) + .organId(organId) + .orderId(orderId) + .type(2) + .partsId(partsId) + .groupId(idMap.get("groupId")) + .roomId(idMap.get("roomId")) + .bodyId(idMap.get("bodyId")) + .num(Double.valueOf(assemblyXmlVO.getCount())) + .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("orderPartsMap", orderPartsMap); + map.put("orderPartsDOMap", orderPartsDOMap); + map.put("orderPartsRemarks", orderPartsRemarks); return map; } - public List plateInfoChange(BlockXmlVOS blockXmlVOS, Long orderId, Long goodsId, Long organId, - Map> roomInfos, Map groupInfos, - Map partsMap, Map orderItemMap, List plateDOs) { - List plateDetails = new ArrayList<>(); + public List plateInfoChange(BlockXmlVOS blockXmlVOS, Long orderId, Long goodsId, Long organId, + Map> roomInfos, Map groupInfos, + Map partsMap, Map orderItemMap, List plateDOs, + Map> boxBasePositionMap) { + List plateDetails = new ArrayList<>(); if (blockXmlVOS != null && blockXmlVOS.getBlockXmlVOList() != null && blockXmlVOS.getBlockXmlVOList().size() > 0) { for (BlockXmlVO blockXmlVO : blockXmlVOS.getBlockXmlVOList()) { - String roomId = blockXmlVO.getRoomId(); - String bodyId = blockXmlVO.getBoxId(); - String groupId = blockXmlVO.getGroupId(); long plateNo = idWorker.nextId(); long obtainingTime = idWorker.obtainingTime(); 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()); // 板材获取 - - Map idMap = getId(blockXmlVO.getRoomId(), blockXmlVO.getBoxId(), roomInfos, blockXmlVO.getGroupId(), groupInfos, orderId, organId); + Double plateNum = 0.0; + Double unregularNum = 0.0; + if (convertToBoolean(blockXmlVO.getUnregular())){ + unregularNum = 1.0; + }else { + plateNum = 1.0; + } + Map 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() .id(plateId) @@ -476,7 +605,8 @@ public class XmlTypeRealize { .orderId(orderId) .name(blockXmlVO.getName()) .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) .width(BigDecimal.valueOf(Double.parseDouble(blockXmlVO.getWidth()))) .height(BigDecimal.valueOf(Double.parseDouble(blockXmlVO.getLength()))) @@ -485,8 +615,8 @@ public class XmlTypeRealize { .splitThickness(BigDecimal.valueOf(Double.parseDouble(blockXmlVO.getThickness()))) .splitWidth(BigDecimal.valueOf(Double.parseDouble(blockXmlVO.getWidth()))) .area(area) - .texture(Integer.valueOf(blockXmlVO.getTexture())) - .holeFace(Integer.valueOf(blockXmlVO.getLayoutFace())) + .texture(Integer.valueOf(dictDataApi.parseDictData(DictTypeConstants.GRAIN_TYPE, blockXmlVO.getTexture()).getData().getValue())) + .holeFace(Integer.valueOf(dictDataApi.parseDictData(DictTypeConstants.TYPOGRAPHY_TYPE, blockXmlVO.getLayoutFace()).getData().getValue())) .isDoor(doorType == 0) .openDoorType(doorType) .isSpecialShaped(convertToBoolean(blockXmlVO.getUnregular())) @@ -504,6 +634,16 @@ public class XmlTypeRealize { .num(1.0) .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() .plateId(plateId) .plateNo(plateDO.getPlateNo()) @@ -517,9 +657,18 @@ public class XmlTypeRealize { .plateWidth(plateDO.getWidth()) .plateLength(plateDO.getHeight()) .acreage(plateDO.getArea()) + .bodyBasePosition(boxBasePoint) + .plateBasePosition(plateBasePosition) .splitLength(BigDecimal.valueOf(Long.parseLong(blockXmlVO.getCuttingLength()))) .splitWidth(BigDecimal.valueOf(Long.parseLong(blockXmlVO.getCuttingWidth()))) .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()) .build(); // 小板、es 封边值 @@ -533,7 +682,7 @@ public class XmlTypeRealize { // 小板备注信息 addRemark(plateDO, plateDetail, blockXmlVO); - // + plateDOs.add(plateDO); plateDetails.add(plateDetail); } @@ -562,24 +711,29 @@ public class XmlTypeRealize { BigDecimal sealRight = BigDecimal.valueOf(0); BigDecimal sealUp = BigDecimal.valueOf(0); BigDecimal sealDown = BigDecimal.valueOf(0); + BigDecimal size = BigDecimal.valueOf(0); if (outlineXmlVO != null && outlineXmlVO.getPointXmlVOList() != null && outlineXmlVO.getPointXmlVOList().size() > 0) { for (PointXmlVO pointXmlVO : outlineXmlVO.getPointXmlVOList()) { Double x = Double.parseDouble(pointXmlVO.getPointX()); Double y = Double.parseDouble(pointXmlVO.getPointY()); OrderPartsAddVO edging = (OrderPartsAddVO) edgIng.get(pointXmlVO.getEdgingId()); + if (edging != null){ + size = edging.getThickness(); + } + if (!plateDO.getIsSpecialShaped()) { if (x == 0 && y == 0) { - sealDown = edging.getThickness(); + sealDown = size; } if (x != 0 && y == 0) { - sealRight = edging.getThickness(); + sealRight = size; } if (x != 0 && y != 0) { - sealUp = edging.getThickness(); + sealUp = size; } if (x == 0 && y != 0) { - sealLeft = edging.getThickness(); + sealLeft = size; } } @@ -589,7 +743,7 @@ public class XmlTypeRealize { .pointY(y) .curve(Double.parseDouble(pointXmlVO.getCurvature())) .radius(Double.parseDouble(pointXmlVO.getRadius())) - .sealSize(edging.getThickness()) + .sealSize(size) .build()); plateDetail.getSideRemark().put(pointXmlVO.getId(), pointXmlVO.getRemark()); } @@ -601,8 +755,8 @@ public class XmlTypeRealize { // 点明细(不含封边) private void addPointDetail(PlateDO plateDO, PlateDetail plateDetail, CuttingOutlineXmlVO cuttingOutlineXmlVO) { if (cuttingOutlineXmlVO != null) { - plateDO.setOffsetX(BigDecimal.valueOf(Long.parseLong(cuttingOutlineXmlVO.getReferenceOffsetX()))). - setOffsetY(BigDecimal.valueOf(Long.parseLong(cuttingOutlineXmlVO.getReferenceOffsetY()))); + plateDO.setOffsetX(BigDecimal.valueOf(Double.parseDouble(cuttingOutlineXmlVO.getReferenceOffsetX()))). + setOffsetY(BigDecimal.valueOf(Double.parseDouble(cuttingOutlineXmlVO.getReferenceOffsetY()))); plateDetail.setOffsetX(plateDO.getOffsetX()).setOffsetY(plateDO.getOffsetY()); if (cuttingOutlineXmlVO.getPointXmlVOList() != null && cuttingOutlineXmlVO.getPointXmlVOList().size() > 0) { for (PointXmlVO pointXmlVO : cuttingOutlineXmlVO.getPointXmlVOList()) { @@ -620,7 +774,7 @@ public class XmlTypeRealize { // 孔 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())). setBackHoleCount(Integer.valueOf(holeXmlVOS.getCountFaceB())). setSideHoleCount(Integer.valueOf(holeXmlVOS.getCountSide())); @@ -629,18 +783,17 @@ public class XmlTypeRealize { } if (holeXmlVOS.getHoleXmlVOList() != null && holeXmlVOS.getHoleXmlVOList().size() > 0) { for (HoleXmlVO holeXmlVO : holeXmlVOS.getHoleXmlVOList()) { - Integer faceType = Integer.valueOf(dictDataApi.parseDictData(HOLE_FACE, holeXmlVO.getFace()).getData().getValue()); - faceType = faceType == 0 || faceType == 1 ? faceType : 2; - Integer direction = Integer.valueOf(dictDataApi.parseDictData(HOLE_DIR, holeXmlVO.getDirection()).getData().getValue()); - Integer holeType = Integer.valueOf(dictDataApi.parseDictData(HOLE_TYPE, holeXmlVO.getType()).getData().getValue()); + DictDataRespDTO faceType = dictDataApi.parseDictData(DictTypeConstants.HOLE_FACE, holeXmlVO.getFace()).getData(); + Integer faceTypeValue = faceType != null ? Integer.valueOf(faceType.getValue()) : 2; + Integer direction = Integer.valueOf(dictDataApi.parseDictData(DictTypeConstants.HOLE_DIR, holeXmlVO.getDirection()).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 depth = holeXmlVO.getDepth() != null ? Double.parseDouble(holeXmlVO.getDepth()) : 0; HoleDetail holeDetail = HoleDetail.builder() .holeName(holeXmlVO.getName()) - .faceType(faceType) - .holeType(Integer.valueOf(holeXmlVO.getType())) + .faceType(faceTypeValue) .direction(direction) - .holeType(holeType) + .holeType(holeType != null ? Integer.valueOf(holeType.getValue()) : null) .radius(radius) .depth(depth) .build(); @@ -662,7 +815,7 @@ public class XmlTypeRealize { // 造型 private void addContourDetail(PlateDO plateDO, PlateDetail plateDetail, GrooveXmlVOS grooveXmlVOS) { - if (grooveXmlVOS != null) { + if (grooveXmlVOS != null && ObjectUtils.allNull(grooveXmlVOS)) { plateDO.setFrontModelCount(Integer.valueOf(grooveXmlVOS.getCountFaceA())). setBackModelCount(Integer.valueOf(grooveXmlVOS.getCountFaceB())); if (grooveXmlVOS.getCountThrough() != null && Integer.parseInt(grooveXmlVOS.getCountThrough()) > 0) { @@ -670,7 +823,7 @@ public class XmlTypeRealize { } if (grooveXmlVOS.getGrooveXmlVOList() != null && grooveXmlVOS.getGrooveXmlVOList().size() > 0) { 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; ModelDetail modelDetail = ModelDetail.builder() .type(grooveXmlVO.getType()) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/test.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/test.java deleted file mode 100644 index b3d5ba98a..000000000 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/xml/test.java +++ /dev/null @@ -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); - } -} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/type/order_add_excel.xlsx b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/type/order_add_excel.xlsx index 2e85122db..abdf894da 100644 Binary files a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/type/order_add_excel.xlsx and b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/type/order_add_excel.xlsx differ diff --git a/cf-module-prod-manage/cf-module-prod-manage-api/src/main/java/com/cf/imes/module/manage/enums/DictTypeConstants.java b/cf-module-prod-manage/cf-module-prod-manage-api/src/main/java/com/cf/imes/module/manage/enums/DictTypeConstants.java index fa2bb15a1..e9e377b76 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-api/src/main/java/com/cf/imes/module/manage/enums/DictTypeConstants.java +++ b/cf-module-prod-manage/cf-module-prod-manage-api/src/main/java/com/cf/imes/module/manage/enums/DictTypeConstants.java @@ -7,5 +7,5 @@ package com.cf.imes.module.manage.enums; */ public interface DictTypeConstants { - String PLATE_TEXTURE = "plate_texture_type";// 板件纹路 + String PLATE_TEXTURE = "plate_texture_type";// 板件纹里 } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/PlateController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/PlateController.java index 741724cef..313176260 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/PlateController.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/PlateController.java @@ -117,10 +117,10 @@ public class PlateController { public void importTemplate(HttpServletResponse response) throws IOException { // 手动创建导出 demo List list = Arrays.asList( - PlateImportExcelVO.builder().goodsId("SP1123456").goodsName("尼龙板").material("PVC").width(String.valueOf(1200.000)).height(String.valueOf(2400.000)) - .thickness(String.valueOf(18)).brand("黑天鹅").spec("1200*2400*18").remark("板材样本").color("黑色").texture("无").build(), - PlateImportExcelVO.builder().goodsId("SP1123457").goodsName("电木板").material("塑料").width(String.valueOf(1800.000)).height(String.valueOf(2800.000)) - .thickness(String.valueOf(24)).brand("东粤橡塑厂").spec("1800*2800*24").remark("测试").color("黑色").texture("无").build() + PlateImportExcelVO.builder().goodsId("SP1123456").goodsName("5mm-多层板-高级灰").material("多层板").width(String.valueOf(1220)).height(String.valueOf(2440)) + .thickness(String.valueOf(5)).brand("AAA").spec("2440*1220*5").remark("板材样本").color("高级灰").texture("无").build(), + PlateImportExcelVO.builder().goodsId("SP1123457").goodsName("白玉木兰-欧松板").material("欧松板").width(String.valueOf(1220)).height(String.valueOf(2750)) + .thickness(String.valueOf(18)).brand("鸿达树").spec("2750*1220*18").remark("测试").color("白玉木兰").texture("无").build() ); // 输出 ExcelUtils.write(response, "板材导入模板.xlsx", "板材列表", PlateImportExcelVO.class, list); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/RemainPlateController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/RemainPlateController.java index 5e9bdea9a..33fdc6017 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/RemainPlateController.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/RemainPlateController.java @@ -66,7 +66,7 @@ public class RemainPlateController { @Operation(summary = "余料板批量核销") @PreAuthorize("@ss.hasPermission('placeorder:remain')") public CommonResult updateRemainPlate(@RequestBody RemainPlateUptReqVO updateReqVO) { - remainPlateService.updateRemainPlateStatus(updateReqVO.getId(), + remainPlateService.updateRemainPlateStatus(updateReqVO.getIds(), updateReqVO.getStatus(), updateReqVO.getUseType(), updateReqVO.getPlanId()); @@ -77,7 +77,7 @@ public class RemainPlateController { @Operation(summary = "余料板批量释放") @PreAuthorize("@ss.hasPermission('placeorder:remain')") public CommonResult revertRemainPlate(@RequestBody RemainPlateUptReqVO updateReqVO) { - remainPlateService.revertRemainPlateStatus(updateReqVO.getId(),updateReqVO.getStatus()); + remainPlateService.revertRemainPlateStatus(updateReqVO.getIds(),updateReqVO.getStatus()); return success(true); } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/vo/remain/RemainPlateUptReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/vo/remain/RemainPlateUptReqVO.java index 800bc1cdb..5d5baa35a 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/vo/remain/RemainPlateUptReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/vo/remain/RemainPlateUptReqVO.java @@ -10,7 +10,7 @@ import java.util.Set; public class RemainPlateUptReqVO { @Schema(description = "余料板集", example = "16470") - private Set id; + private Set ids; @Schema(description = "余料板状态,0未使用,1使用中", example = "1") private Integer status; diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/DictTypeConstants.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/DictTypeConstants.java index b79a1396f..2fa200f6e 100644 --- a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/DictTypeConstants.java +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/DictTypeConstants.java @@ -26,17 +26,15 @@ public interface DictTypeConstants { String SMS_SEND_STATUS = "system_sms_send_status"; // 短信发送状态 String SMS_RECEIVE_STATUS = "system_sms_receive_status"; // 短信接收状态 - String TYPOGRAPHY_TYPE = "typographyType"; // 排版面 + String PLATE_TEXTURE_TYPE = "plate_texture_type";// 板材纹路:0有 1无 - String GRAIN_TYPE = "grainType";//纹路类型 - String DOOR_OPENING_DIRECTIONS = "doorOpeningDirections";//开门方向 + + String PRODUCT_TYPE = "productType";//产品类型 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_TYPE = "plateTextureTypeStatusType";//板件纹路状态类型 }