diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataBlockReqVO.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataBlockReqVO.java index a6945f8f8..c93860375 100644 --- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataBlockReqVO.java +++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataBlockReqVO.java @@ -447,10 +447,10 @@ public class WebCadDataBlockReqVO { private List holeDetail; @JsonProperty("SideHoleDetail") private List sideHoleDetail; - @JsonProperty("SideModelDetail") - private List sideModelDetail; @JsonProperty("ModelDetail") private List modelDetail; + @JsonProperty("SideModelDetail") + private List sideModelDetail; @NoArgsConstructor @Data @@ -572,14 +572,20 @@ public class WebCadDataBlockReqVO { public static class OriginModelingDTO { @JsonProperty("outline") private OutlineDTO outline; - @JsonProperty("holes") - private List holes; @JsonProperty("addLen") private Double addLen; @JsonProperty("addWidth") private Double addWidth; @JsonProperty("addDepth") private Double addDepth; + @JsonProperty("thickness") + private Double thickness; + @JsonProperty("dir") + private Integer dir; + @JsonProperty("knifeRadius") + private Double knifeRadius; + @JsonProperty("holes") + private List holes; @NoArgsConstructor @Data @@ -598,6 +604,24 @@ public class WebCadDataBlockReqVO { private Double y; } } + + @NoArgsConstructor + @Data + public static class HolesDTO { + @JsonProperty("pts") + private List pts; + @JsonProperty("buls") + private List buls; + + @NoArgsConstructor + @Data + public static class PtsDTO { + @JsonProperty("x") + private Double x; + @JsonProperty("y") + private Double y; + } + } } @NoArgsConstructor @@ -634,5 +658,32 @@ public class WebCadDataBlockReqVO { private Double radius; } } + + @NoArgsConstructor + @Data + public static class SideModelDetailDTO { + @JsonProperty("ModelID") + private Integer modelID; + @JsonProperty("LineID") + private Integer lineID; + @JsonProperty("Face") + private Integer face; + @JsonProperty("KnifeName") + private String knifeName; + @JsonProperty("ChaiDanName") + private String chaiDanName; + @JsonProperty("KnifeRadius") + private Double knifeRadius; + @JsonProperty("Depth") + private Double depth; + @JsonProperty("ModelType") + private Integer modelType; + @JsonProperty("OriginModeling") + private ModelDetailDTO.OriginModelingDTO originModeling; + @JsonProperty("PointList") + private List pointList; + @JsonProperty("OffSetList") + private List offSetList; + } } } diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java index ec415c1f6..4b4fbd254 100644 --- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java +++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java @@ -738,6 +738,7 @@ public class WebCadOrderImportFactory { .holeDetail(getHoleDetail(pointInfo.getHoleDetail())) .sideHoleDetail(getSideHoleDetail(pointInfo.getSideHoleDetail())) .contourDetail(getContourDetail(pointInfo.getModelDetail())) + .sideDetail(getSideDetail(pointInfo.getSideModelDetail())) .sideRemark(getSideRemark(plateRemark.getRemarks())) .build(); @@ -993,6 +994,76 @@ public class WebCadOrderImportFactory { return outlineList; } + /** + * 获取侧面造型明细 + * + * @param cadSideModelDetailList + * @return + */ + private List getSideDetail(List cadSideModelDetailList) { + List modelDetails = new ArrayList<>(); + if (CollUtil.isNotEmpty(cadSideModelDetailList)) { + for (WebCadDataBlockReqVO.PointInfoDTO.SideModelDetailDTO cadSideModelDetail : cadSideModelDetailList) { + ModelDetail modelDetail = new ModelDetail(); + modelDetail.setModelID(cadSideModelDetail.getModelID()); + modelDetail.setLineID(cadSideModelDetail.getLineID()); + modelDetail.setFaceType(cadSideModelDetail.getFace()); + modelDetail.setDepth(cadSideModelDetail.getDepth()); + modelDetail.setKnifeName(cadSideModelDetail.getKnifeName()); + modelDetail.setKnifeRadius(cadSideModelDetail.getKnifeRadius()); + + WebCadDataBlockReqVO.PointInfoDTO.ModelDetailDTO.OriginModelingDTO cadSideOriginModeling = cadSideModelDetail.getOriginModeling(); + if (ObjectUtil.isNotNull(cadSideOriginModeling)) { + IOriginModelingData originModelingData = new IOriginModelingData(); + originModelingData.setAddLen(cadSideOriginModeling.getAddLen()); + originModelingData.setAddWidth(cadSideOriginModeling.getAddWidth()); + originModelingData.setAddDepth(cadSideOriginModeling.getAddDepth()); + originModelingData.setThickness(cadSideOriginModeling.getThickness()); + originModelingData.setDir(cadSideOriginModeling.getDir()); + originModelingData.setKnifeRadius(cadSideOriginModeling.getKnifeRadius()); + + originModelingData.setOutline(getOriginModelingOutlineList(cadSideOriginModeling.getOutline())); + + originModelingData.setHoles(getSideModelingHoles(cadSideOriginModeling.getHoles())); + + modelDetail.setOriginModeling(originModelingData); + } + modelDetail.setPointList(getModelDetailPointList(cadSideModelDetail.getPointList())); + + modelDetail.setOffSetList(getModelDetailOffsetList(cadSideModelDetail.getOffSetList())); + + modelDetails.add(modelDetail); + } + } + return modelDetails; + } + + /** + * 获取侧面孤岛造型 + * + * @param cadSideHoles + * @return + */ + private List> getSideModelingHoles(List cadSideHoles) { + List> icontourDataList = new ArrayList<>(); + if (CollUtil.isNotEmpty(cadSideHoles)) { + for (WebCadDataBlockReqVO.PointInfoDTO.ModelDetailDTO.OriginModelingDTO.HolesDTO sideHole : cadSideHoles) { + List contourDatas = new ArrayList<>(); + List pts = sideHole.getPts(); + List buls = sideHole.getBuls(); + for (int i = 0; i < pts.size(); i++) { + IContourData iContourData = new IContourData(); + WebCadDataBlockReqVO.PointInfoDTO.ModelDetailDTO.OriginModelingDTO.HolesDTO.PtsDTO ptsDTO = pts.get(i); + Double bul = buls.get(i); + iContourData.setBuls(bul); + iContourData.setPts(new Point(ptsDTO.getX(), ptsDTO.getY(), 0.0)); + contourDatas.add(iContourData); + } + icontourDataList.add(contourDatas); + } + } + return icontourDataList; + } /** * 获取板件备注 @@ -1629,7 +1700,7 @@ public class WebCadOrderImportFactory { CountDownLatch latch = new CountDownLatch(bodyList.size() + groupList.size() + itemList.size()); // 保存 - saveBodyAsync(bodyList,latch, hasError, peek); + saveBodyAsync(bodyList, latch, hasError, peek); saveGroupAsync(groupList, latch, hasError, peek); saveItemAsync(itemList, latch, hasError, peek); @@ -1774,6 +1845,6 @@ public class WebCadOrderImportFactory { } public static void main(String[] args) { - System.out.println(Math.ceil(205/100)); + System.out.println(Math.ceil(205 / 100)); } }