package com.cf.imes.module.system.dal.dataobject.machinetemplate;

import com.cf.imes.framework.es.core.dal.ESDocument;
import com.cf.imes.module.system.dal.dataobject.machine.CuttingSettingDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author there
 */
@Data
@Schema(description = "管理理后台 - 开料机台模板新增/修改 Request VO")
public class CuttingTemplateMachineDO extends ESDocument {

    @Schema(description = "开料机台模板id")
    private Long templateId;
    @Schema(description = "默认1，开料刀缝间隙")
    private Integer cutGap;

    //基础配置
    @Schema(description = "默认1220，机台台面宽度（原料板宽）")
    private Integer boardWidth;
    @Schema(description = "默认2440，机台台面长度（原料板长）")
    private Integer boardLength;
    @Schema(description = "默认0，工位1原点位置")
    private Integer originPoIntegerPosition;
    @Schema(description = "工作原点Z0基准面")
    private Integer originZ0Position;
    @Schema(description = "排版基准点")
    private String layoutBenchmark;
    @Schema(description = "排版基准点跟随大板定位")
    private Boolean useLocator4Place;
    @Schema(description = "默认true，按机台尺寸排版/按板材尺寸排版，false台面尺寸范围内自适应材料尺寸")
    private Boolean useWorkPanelSize;
    @Schema(description = "默认0 短边坐标轴向")
    private Integer widthSideAxis;
    @Schema(description = "默认2 长边坐标轴向")
    private Integer lengthSideAxis;
    @Schema(description = "默认0，大板定位")
    private Integer locatorPosition;
    @Schema(description = "默认0，工位1大板定位坐标（工件坐标原点）X偏移值")
    private Integer offsetX_Board1;
    @Schema(description = "默认0，工位1大板定位坐标（工件坐标原点）Y偏移值")
    private Integer offsetY_Board1;
    @Schema(description = "默认0，小板定位点（靠点）")
    private Integer locatorPosition_Block;
    @Schema(description = "默认0，小板定位坐标X偏移")
    private Integer offsetX_Block;
    @Schema(description = "默认0，小板定位坐标Y偏移")
    private Integer offsetY_Block;
    @Schema(description = "矩形板件R角开料 默认否")
    private Boolean rectanglR;
    @Schema(description = "圆弧加工使用IJ指令 默认否，使用R指令")
    private Boolean arcUseIJ;
    @Schema(description = "圆弧方向反转 默认否 顺时针G2/逆时针G3")
    private Boolean arcInversion;
    @Schema(description = "圆弧转多段线长度 默认0 不转")
    private Boolean arcTurnLength;



    //加工
    @Schema(description = "默认40，安全高度")
    private Integer freeHeight;
    @Schema(description = "总修边值")
    private Double totalTrimValue;
    @Schema(description = "默认3，总修边值")
    private Integer reverseTrimValue;
    @Schema(description = "默认15000，空程速度")
    private Integer freeSpeed;
    @Schema(description = "默认2400，排钻空程速度")
    private Integer holeFreeSpeed;
    @Schema(description = "默认3000，下刀速度")
    private Integer workStartSpeed;
    @Schema(description = "默认2，开料提前")
    private Integer workPreDistance;
    @Schema(description = "默认25，收刀距离")
    private Integer workEndDistace;
    @Schema(description = "默认3000，收刀速度")
    private Integer workEndSpeed;
    @Schema(description = "默认1200，排钻速度")
    private Integer holeSpeed;
    @Schema(description = "默认8000，造型速度")
    private Integer modelSpeed;
    @Schema(description = "默认8000，开料速度")
    private Integer cuttingSpeedForMaterial;
    @Schema(description = "公边切割速度")
    private Double cuttingSpeedForEdge;
    @Schema(description = "外转角切割速度")
    private Double outerCornerCuttingSpeed;
    @Schema(description = "默认0，内转角减速提前距离")
    private Integer innerCornerDistence;
    @Schema(description = "默认3000，内转角速度")
    private Integer innerCornerSpeed;
    @Schema(description = "默认2，排钻初始段深度")
    private Integer holeFirstDepth;
    @Schema(description = "默认800，排钻初始段速度")
    private Integer holeFirstSpeed;
    @Schema(description = "默认false，通孔一刀打穿")
    private Boolean tongHoleOnlyOneTime;
    @Schema(description = "穿孔对面加工")
    private Boolean tongKongDoBackFace;
    @Schema(description = "先修边加工")
    private Boolean priorTrimmingProcessing;
    @Schema(description = "默认false，开料分工")
    private Boolean allowDoubleSplit;
    @Schema(description = "默认8，分刀步进深度")
    private Integer splitDepth;
    @Schema(description = "仅加工孔/造型，")
    private Boolean disposeCutBlock;
    @Schema(description = "默认100，小板分刀-短边上限")
    private Integer doubleSplitWidth;
    @Schema(description = "默认100，小板分刀-长边上限")
    private Integer doubleSplitLength;
    @Schema(description = "挖穿板内板件优先开料")
    private Boolean cutBlockInModelFirst;
    @Schema(description = "同刀辅助开料")
    private Boolean useSameKnifeToHelpCut;
    @Schema(description = "辅助开料偏移")
    private Double useSameKnifeToHelpCutGap;
    @Schema(description = "辅助开料-短边上限")
    private Double useSecondKnifeBlockWidth;
    @Schema(description = "辅助开料-长边上限")
    private Double useSecondKnifeBlockLength;
    @Schema(description = "辅助开料留底厚度")
    private Double helpCutKnifeDepth;
    @Schema(description = "辅助开料指令")
    private String auxiliaryCuttingInstruction;
    @Schema(description = "默认200，余料生成规则1-两边均大于限定值")
    private Integer scrapBlockSquare;
    @Schema(description = "默认100，余料生成规则2-短边最小限定值")
    private Integer srcapBlockWidthMin;
    @Schema(description = "默认600，余料生成规则2-长边最小限定值")
    private Integer scrapBlockWidthMax;
    @Schema(description = "余料归方")
    private Boolean scrapDirection;
    @Schema(description = "钻孔延时")
    private Boolean drillingDelay;
    @Schema(description = "钻孔延时条件-孔直径上限")
    private Double drillingDelayConditionMaxDiameter;
    @Schema(description = "钻孔延时指令")
    private String drillingDelayInstruction;
    @Schema(description = "默认false，矩形板件开料R拐角")
    private Boolean regularBlockFilletCurve;
    @Schema(description = "默认false，加工圆弧使用IJ指令")
    private Boolean dealCircleWithIJ;
    @Schema(description = "默认false，G2/G3圆弧方向反转")
    private Boolean isTurnOverG2G3;
    @Schema(description = "圆弧转多段线加工直线段长度")
    private Boolean arcLineMaxLength;
    @Schema(description = "排钻按位置加工")
    private Boolean holePositionProcessing;


    @Schema(description = "默认20，斜向下刀水平距离")
    private Integer workStartDistance;
    @Schema(description = "刀库")
    private List<CuttingSettingDO.KnifeListBean> knifeList;



    //高级设置
    @Schema(description ="加工模式 开料机加工模式 默认true，显示开料机工作模式(是否排钻/造型，sc)配置")
    private Boolean showPriorFacing;
    @Schema(description = "双工位")
    private Boolean showDualWorkstation;
    @Schema(description = "自动贴标")
    private Boolean showAutoNotePrinter;
    @Schema(description = "排版方式")
    private Double placeStyle;
    @Schema(description = "开料刀路间隙")
    private Double cutKniefGap;
    @Schema(description = "修边刀路前延伸")
    private Double trimmingRouteFrontExtension;
    @Schema(description = "修边刀路后延伸")
    private Double trimmingRouteBackExtension;
    @Schema(description = "最小孔半径")
    private Double minR;
    @Schema(description = "最浅孔深")
    private Double shallowestHoleDepth;
    @Schema(description = "允许加载优化结果")
    private Boolean allowLoadOptimizationResult;
    @Schema(description = "NC小数点位数")
    private Double decimalPointPrecision;
    @Schema(description = "过滤空行")
    private Boolean filterEmptyLines;
    @Schema(description = "钻包启动延迟指令")
    private String drillStartDelayCommand;
    @Schema(description = "预启动提前动作数")
    private Double preStartAdvanceActions;
    @Schema(description = "正面修边")
    private Boolean frontTrimming;
    @Schema(description = "NC行前缀")
    private String ncLinePrefix;
    @Schema(description = "延迟换刀下限动作数")
    private Double toolChangeDelayLowerLimitActions;
    @Schema(description = "延迟换刀指令")
    private String toolChangeDelayCommand;
    @Schema(description = "useSimpleCommands")
    private Boolean useSimpleCommands;
    @Schema(description = "辅助开料延时指令")
    private String auxiliaryCuttingDelayCommand;
    @Schema(description = "辅助开料延时指令(工位2)")
    private String auxiliaryCuttingDelayCommand2;
    @Schema(description = "预铣(板件外扩)值")
    private Double preMillingValue;
    @Schema(description = "挖穿造型斜向下刀长度")
    private Double piercingSlopedDownwardLength;
    @Schema(description = "造型刀路加工顺序及方向")
    private Double modelToolPathOrderAndDirection;
    @Schema(description = "造型刀路冗余量")
    private Double modelToolPathRedundancy;
    @Schema(description = "大板边缘造型范围")
    private Double largePlateEdgeModelingRange;
    @Schema(description = "造型尽量靠大板边缘")
    private Boolean modelCloseToLargePlateEdge;
    @Schema(description = "造型靠近/远离边缘作用面")
    private Double modelNearFarEdgeActionSurface;
    @Schema(description = "造型靠近/远离边缘作用于CNC加工")
    private Boolean modelNearFarEdgeCNCProcessing;
    @Schema(description = "启用雕刻机正反面加工比例分配")
    private Boolean enableEngravingMachineFrontBack;
    @Schema(description = "雕刻机正面加工百分比")
    private Double engravingFrontProcessingPercentage;
    @Schema(description = "雕刻机排钻加工速度")
    private Double engravingMachineDrillingSpeed;
    @Schema(description = "雕刻机造型加工速度")
    private Double engravingMachineModelingSpeed;
    @Schema(description = "CNC正面加工百分比")
    private Double cNCFrontPercentage;
    @Schema(description = "CNC排钻加工速度")
    private Double cNCDrillingSpeed;
    @Schema(description = "CNC造型加工速度")
    private Double cNCModelingSpeed;
    @Schema(description = "NC指令可配置")
    private String configurableNCCommands;



    @Schema(description = "默认false，启用自定义板件编号")
    private Boolean showAllowBlockNo_Note;
    @Schema(description = "默认空，机台备注")
    private String remark;



    //文件导出
    @Schema(description = "默认{0}_{1}_{2}，导出zip文件名")
    private List<String> exportOrderPathName;
    @Schema(description = "大板NC正(A)面文件名")
    private List<String> largePlateNcPositiveFileName;
    @Schema(description = "大板NC反(B)面文件名")
    private List<String> largePlateNcNegativeFileName;
    @Schema(description = "小板NC正(A)面文件名")
    private List<String> smallPlateNcPositiveFileName;
    @Schema(description = "小板NC反(B)面文件名")
    private List<String> smallPlateNcNegativeFileName;
    @Schema(description = "大板DXF(排版图)文件名")
    private List<String> largePlateDxfLayoutFileName;
    @Schema(description = "小板DXF(孔槽加工图)文件名")
    private List<String> smallPlateDxfProcessingFileName;
    @Schema(description = "导出大板NC反(B)面文件")
    private String exportLargePlateNcNegativeFile;
    @Schema(description = "合并大板NC正反(AB)面文件")
    private String mergeLargePlateNcFiles;
    @Schema(description = "导出小板NC正(A)面文件")
    private String exportSmallPlateNcPositiveFile;
    @Schema(description = "导出小板NC反(B)面文件")
    private String exportSmallPlateNcNegativeFile;
    @Schema(description = "合并小板NC正反(AB)面文件")
    private String mergeSmallPlateNcFiles;
    @Schema(description = "导出大板DXF(排版图)文件")
    private String exportLargePlateDxfLayoutFile;
    @Schema(description = "导出小板DXF(孔槽加工图)文件")
    private String exportSmallPlateDxfProcessingFile;
    @Schema(description = "NC文件编码")
    private String ncFileEncoding;
    @Schema(description = "添加NC文件注释")
    private String addNcFileComments;
    @Schema(description = "上料代码插入到NC文件头前")
    private Boolean insertLoadingCodeAtFileHeader;
    @Schema(description = "上料代码")
    private String loadingCode;
    @Schema(description = "大板NC正(A)面文件头")
    private String largePlateNcPositiveFileHeader;
    @Schema(description = "大板NC正(A)面文件尾")
    private String largePlateNcPositiveFileFooter;
    @Schema(description = "大板NC反(B)面文件头")
    private String largePlateNcNegativeFileHeader;
    @Schema(description = "大板NC反(B)面文件尾")
    private String largePlateNcNegativeFileFooter;
    @Schema(description = "小板NC文件头")
    private String smallPlateNcFileHeader;
    @Schema(description = "小板NC文件尾")
    private String smallPlateNcFileFooter;
    @Schema(description = "小板切割开始")
    private String smallPlateCuttingStart;
    @Schema(description = "小板切割结束")
    private String smallPlateCuttingEnd;

    //优化排版
    @Schema(description = "默认true，双面加工优先排版")
    private Boolean allowDoubleHoleFirstSort;
    @Schema(description = "余料板允许排入双面加工的板件")
    private Boolean yuLiaoBoardDo2FaceBlock;

    //样式排版
    @Schema(description = "标尺(工件坐标)-刻度标线 间距")
    private Double scaleLineSpacing;
    @Schema(description = "标尺(工件坐标)-刻度标线线宽")
    private Double scaleLineWidth;
    @Schema(description = "标尺(工件坐标)-刻度标线线长")
    private Double scaleLineLong;
    @Schema(description = "标尺(工件坐标)-刻度标线颜色")
    private String scaleLineColor;
    @Schema(description = "标尺(工件坐标)-刻度标线 偏移标尺线距离")
    private Double scaleLineDistance;
    @Schema(description = "标尺(工件坐标)-数值 字体")
    private String rulerValueFont;
    @Schema(description = "标尺(工件坐标)-数值 大小")
    private Double rulerValueSize;
    @Schema(description = "标尺(工件坐标)-颜色")
    private String rulerValueColor;
    @Schema(description = "标尺(工件坐标)-数值 ")
    private Double rulerValueDistance;
    @Schema(description = "台面轮廓-轮廓线 线宽")
    private Double tableContorLineWidth;
    @Schema(description = "台面轮廓-轮廓线 颜色")
    private String tableContorColor;
    @Schema(description = "台面轮廓-填充 颜色")
    private String tableFillColor;
    @Schema(description = "台面轮廓-填充 平铺几何线条")
    private Double tableFillGeometry;
    @Schema(description = "工位号 字体")
    private String useDoubleworkFont;
    @Schema(description = "工位号 大小")
    private Double useDoubleworkSize;
    @Schema(description = "工位号 颜色")
    private String useDoubleworkColor;
    @Schema(description = "工位号 偏移台面轮廓线距离")
    private String useDoubleworkDistance;
    @Schema(description = "原始轮廓-轮廓线 线宽")
    private Double originContourWidth;
    @Schema(description = "原始轮廓-轮廓线 颜色")
    private String originContourColor;
    @Schema(description = "原始轮廓-填充 颜色")
    private String originFillColor;
    @Schema(description = "原始轮廓-填充 平铺几何线条")
    private Double originFillGeometry;
    @Schema(description = "修边偏移轮廓-轮廓线 线宽")
    private Double wheelContourWidth;
    @Schema(description = "修边偏移轮廓-轮廓线 颜色")
    private String wheelContourColor;
    @Schema(description = "修边偏移轮廓-与原始轮廓间的填充 颜色")
    private String wheelFillColor;
    @Schema(description = "修边偏移轮廓-与原始轮廓间的填充 平铺几何线条")
    private Double wheelFillGeometry;
    @Schema(description = "尺寸规格-长*宽 字体")
    private String dimensionFont;
    @Schema(description = "尺寸规格-长*宽 大小")
    private Double dimensionSize;
    @Schema(description = "尺寸规格-长*宽 颜色")
    private String dimensionColor;
    @Schema(description = "尺寸规格-长*宽 偏移台面轮廓线距离")
    private Double dimensionDistance;
    @Schema(description = "开料原始轮廓-轮廓线 线宽")
    private Double cuttingMaterialWidth;
    @Schema(description = "开料原始轮廓-轮廓线 颜色")
    private String cuttingMaterialColor;
    @Schema(description = "开料原始轮廓-轮廓线 正纹/反纹区分")
    private Boolean cuttingMaterialDistinguish;
    @Schema(description = "开料原始轮廓-填充 颜色")
    private String cuttingFillColor;
    @Schema(description = "开料原始轮廓-填充 平铺几何线条")
    private Double cuttingFillGeometry;
    @Schema(description = "扩展尺寸轮廓-轮廓线 线宽")
    private Double expandContourWidth;
    @Schema(description = "扩展尺寸轮廓-轮廓线 颜色")
    private String expandContourColor;
    @Schema(description = "扩展尺寸轮廓-与原始轮廓间的填充 颜色")
    private String expandFillColor;
    @Schema(description = "扩展尺寸轮廓-与原始轮廓间的填充 平铺几何线条")
    private Double expandFillGeometry;
    @Schema(description = "选中后显示边界坐标和尺寸数值-标线/界线 线宽")
    private Double checkLineWidth;
    @Schema(description = "选中后显示边界坐标和尺寸数值-标线/界线 线长")
    private Double checkLineLong;
    @Schema(description = "选中后显示边界坐标和尺寸数值-标线/界线 颜色")
    private String checkLineColor;
    @Schema(description = "选中后显示边界坐标和尺寸数值-标线/界线 偏移标尺线距离")
    private Double checkLineDistance;
    @Schema(description = "选中后显示边界坐标和尺寸数值-数值 字体")
    private String checkNumberFont;
    @Schema(description = "选中后显示边界坐标和尺寸数值-数值 大小")
    private Double checkNumberSize;
    @Schema(description = "选中后显示边界坐标和尺寸数值-数值 颜色")
    private String checkNumberColor;
    @Schema(description = "选中后显示边界坐标和尺寸数值-数值 偏移标尺线距离")
    private Double checkNumberDistance;
    @Schema(description = "干涉显示-填充 颜色")
    private String displayFillColor;
    @Schema(description = "干涉显示-填充 平铺几何线条")
    private Double displayFillGeometry;
    @Schema(description = "移动/拖拽显示-填充 颜色")
    private String dragFillColor;
    @Schema(description = "移动/拖拽显示-填充 平铺几何线条")
    private Double dragFillGeometry;
    @Schema(description = "开料顺序-数值 字体")
    private String cuttingOrderFont;
    @Schema(description = "开料顺序-数值 大小")
    private Double cuttingOrderSize;
    @Schema(description = "开料顺序-数值 颜色")
    private String cuttingOrderColor;
    @Schema(description = "下刀点-圆点 大小")
    private Double cuttingPointSize;
    @Schema(description = "下刀点-圆点 颜色")
    private String cuttingPointColor;
    @Schema(description = "对齐参考点-圆点 大小")
    private Double alignPointSize;
    @Schema(description = "对齐参考点-圆点 颜色")
    private String alignPointColor;
    @Schema(description = "对齐参考点-圆点 移动/对齐参考点")
    private Double alignPointType;
    @Schema(description = "反面加工标记-圆圈 直径")
    private Double reverseDiameter;
    @Schema(description = "反面加工标记-圆圈 线宽")
    private Double reverseLineWidth;
    @Schema(description = "反面加工标记-圆圈 颜色")
    private String reverseColor;
    @Schema(description = "板高方向标记-箭头 大小")
    private Double flagArrowSize;
    @Schema(description = "板高方向标记-箭头 颜色")
    private String flagArrowColor;
    @Schema(description = "板件编号-编码 字体")
    private String banCodeFont;
    @Schema(description = "板件编号-编码 大小")
    private Double banCodeSize;
    @Schema(description = "板件编号-编码 颜色")
    private String banCodeColor;
    @Schema(description = "板件编号-板件尺寸 字体")
    private String banNumFont;
    @Schema(description = "板件编号-板件尺寸 大小")
    private Double banNumSize;
    @Schema(description = "板件编号-板件尺寸 颜色")
    private String banNumColor;
    @Schema(description = "余料板-轮廓线 线宽")
    private Double restTourWidth;
    @Schema(description = "余料板-轮廓线 颜色")
    private String restTourColor;
    @Schema(description = "余料板-填充 颜色")
    private String restFillColor;
    @Schema(description = "余料板-填充 平铺几何线条")
    private Double restFillGeometry;
    @Schema(description = "孔位显示-轮廓线 线宽")
    private Double holeTourWidth;
    @Schema(description = "孔位显示-轮廓线 颜色")
    private String holeTourColor;
    @Schema(description = "孔位显示-填充 颜色")
    private String holeFillColor;
    @Schema(description = "孔位显示-填充 平铺几何线条")
    private Double holeFillGeometry;
    @Schema(description = "孔位显示-填充 正反面挖穿区分")
    private Boolean holeFillType;
    @Schema(description = "造型刀路/槽轮廓显示-轮廓线 线宽")
    private Double profilingTourWidth;
    @Schema(description = "造型刀路/槽轮廓显示-轮廓线 颜色")
    private String profilingTourColor;
    @Schema(description = "造型刀路/槽轮廓显示-填充 颜色")
    private String profilingFillColor;
    @Schema(description = "造型刀路/槽轮廓显示-填充 平铺几何线条")
    private Double profilingFillGeometry;
    @Schema(description = "造型刀路/槽轮廓显示-填充 正反面挖穿区分")
    private Boolean profilingFillType;
    @Schema(description = "孔槽标注-位置 距小板边")
    private Double holePositionSmall;
    @Schema(description = "孔槽标注-位置 距大板/台面")
    private Double holePositionLarge;
    @Schema(description = "孔槽标注-位置 字体")
    private String holePositionFont;
    @Schema(description = "孔槽标注-位置 大小")
    private Double holePositionSize;
    @Schema(description = "孔槽标注-位置 颜色")
    private String holePositionColor;
    @Schema(description = "孔槽标注-位置 线宽")
    private Double holePositionWidth;
    @Schema(description = "孔槽标注-尺寸 直径/宽度")
    private Double holeSizeDiameter;
    @Schema(description = "孔槽标注-尺寸 深度")
    private Double holeSizeDepth;
    @Schema(description = "孔槽标注-尺寸 字体")
    private String holeSizeFont;
    @Schema(description = "孔槽标注-尺寸 大小")
    private Double holeSizeSize;
    @Schema(description = "孔槽标注-尺寸 颜色")
    private String holeSizeColor;



    @NoArgsConstructor
    @Data
    public static class KnifeListBean {
        @Schema(description = "KnifeID")
        private Integer knifeID;
        @Schema(description = "刀具")
        private String knifeName;
        @Schema(description = "刀具类型")
        private Integer knifeType;
        @Schema(description = "轴号")
        private Integer axleID;
        @Schema(description = "辅助开料")
        private Boolean allowCut;
        @Schema(description = "排钻")
        private Boolean allowHole;
        @Schema(description = "辅助开料")
        private Boolean allowHole1;
        @Schema(description = "是否运行铣孔")
        private Boolean isXiKnif;
        @Schema(description = "AllowPrevRun")
        private Boolean allowPrevRun;
        @Schema(description = "直径")
        private Integer diameter;
        @Schema(description = "刀长")
        private Integer length;
        @Schema(description = "步进深度")
        private Double stepDepth;
        @Schema(description = "是否主刀")
        private Boolean mainKnife;
        @Schema(description = "组号")
        private Integer groupNumber;
        @Schema(description = "X轴偏移")
        private Double f_offsetX;
        @Schema(description = "Y轴偏移")
        private Double f_offsetY;
        @Schema(description = "Diameter2")
        private Integer diameter2;
        @Schema(description = "GroupType")
        private String groupType;
        @Schema(description = "X轴偏移")
        private Integer offsetX;
        @Schema(description = "Y轴偏移")
        private Integer offsetY;
        @Schema(description = "Z轴偏移")
        private Integer offsetZ;
        @Schema(description = "速度")
        private Integer speed;
        @Schema(description = "轴启动指令")
        private String axisStartInstruction;
        @Schema(description = "刀启动指令")
        private String knifeStartInstruction;
        @Schema(description = "刀停止指令")
        private String knifeStopInstruction;
        @Schema(description = "轴停止指令")
        private String axisStopInstruction;
        @Schema(description = "是否预启动")
        private Boolean preStartEnabled;
        @Schema(description = "高级加工")
        private Boolean advancedProcessingEnabled;
        @Schema(description = "集合加工")
        private Boolean batchProcessingEnabled;
        @Schema(description = "默认开料刀")
        private Boolean defaultCuttingToolSelected;

    }
}
