    import WorkFlowServer from './WorkFlowServer'

    import { defaultValue } from '../../../util'
    /**
     * 三维体对象空间运算
     * @class WorkFlowServer600369
     *
     * @extends WorkFlowServer
     * @param {Object} options 构造参数
     * @param {String} [options.url] 工作流基地址,必传
     * @param {String} [options.srcInfo1] 原始模型简单要素类1的URL,必传,例如:GDBP://MapGISLocal/Sample/sfcls/g3dSpatialOperate1
     * @param {String} [options.srcInfo2] 原始模型简单要素类2的URL,必传,例如:GDBP://MapGISLocal/Sample/sfcls/g3dSpatialOperate2
     * @param {String} [options.desInfo] 结果简单要素类的URL,必传,例如:GDBP://mapgislocal/Sample/sfcls/g3dSpatialOperateDes
     * @param {String} [options.FIDs1] 参与空间运算的要素1ID,多个以逗号分隔，不填则为全图,例如:1
     * @param {String} [options.FIDs2] 参与空间运算的要素2ID,多个以逗号分隔，不填则为全图,例如:2
     * @param {String} [options.spatialOperationType] 空间运算类型,0:交,1:差,2:并,必传,例如:{"0":"交","1":"差","2":"并"}
     * @param {String} [options.radius] 容差半径,必传,例如:0.001
     * @example
        const workFlowServer600369 = WorkFlowServer.createWorkFlow({
            url: "http://localhost:8089/igs/rest/services/workflow/600369/WorkflowServer",
            srcInfo1: "gdbp://MapGISLocalPlus/sample/ds/矢量校正/sfcls/标准_3d",
            srcInfo2: "gdbp://MapGISLocalPlus/sample/ds/矢量校正/sfcls/河流_3d",
            desInfo: "gdbp://MapGISLocalPlus/test/sfcls/river_3d" + Math.round(),
            spatialOperationType: "0",
            radius: "0.01",
        });
        workFlowServer600369.execute({
            method: Zondy.Enum.FetchMethod.get,
            success: function (res) {
                console.log("execute: ", res);
            },
        });
     */
    class WorkFlowServer600369 extends WorkFlowServer {
      constructor(options) {
        super(options)
        const opt = options || {}
        /**
         * @description 工作流基地址,必传
         * @member {String} WorkFlowServer600369.prototype.url
         * */
        this.url = opt.url
        /**
         * @description 600369
         * @member {Number} WorkFlowServer600369.prototype.flowId
         * @readonly
         * */
        this.flowId = 600369
        /**
         * @description 三维体对象空间运算
         * @member {String} WorkFlowServer600369.prototype.description
         * @readonly
         * */
        this.description = '三维体对象空间运算'
        /**
         * @description 三维分析
         * @member {String} WorkFlowServer600369.prototype.groupName
         * @readonly
         * */
        this.groupName = '三维分析'
        /**
         * @description 原始模型简单要素类1的URL,必传,例如:GDBP://MapGISLocal/Sample/sfcls/g3dSpatialOperate1
         * @member {String} WorkFlowServer600369.prototype.srcInfo1
         * */
        this.srcInfo1 = opt.srcInfo1
        /**
         * @description 原始模型简单要素类2的URL,必传,例如:GDBP://MapGISLocal/Sample/sfcls/g3dSpatialOperate2
         * @member {String} WorkFlowServer600369.prototype.srcInfo2
         * */
        this.srcInfo2 = opt.srcInfo2
        /**
         * @description 结果简单要素类的URL,必传,例如:GDBP://mapgislocal/Sample/sfcls/g3dSpatialOperateDes
         * @member {String} WorkFlowServer600369.prototype.desInfo
         * */
        this.desInfo = opt.desInfo
        /**
         * @description 参与空间运算的要素1ID,多个以逗号分隔，不填则为全图,例如:1
         * @member {String} WorkFlowServer600369.prototype.FIDs1
         * */
        this.FIDs1 = defaultValue(opt.FIDs1, '')
        /**
         * @description 参与空间运算的要素2ID,多个以逗号分隔，不填则为全图,例如:2
         * @member {String} WorkFlowServer600369.prototype.FIDs2
         * */
        this.FIDs2 = defaultValue(opt.FIDs2, '')
        /**
         * @description 空间运算类型,0:交,1:差,2:并,必传,例如:{"0":"交","1":"差","2":"并"}
         * @member {String} WorkFlowServer600369.prototype.spatialOperationType
         * */
        this.spatialOperationType = opt.spatialOperationType
        /**
         * @description 容差半径,必传,例如:0.001
         * @member {String} WorkFlowServer600369.prototype.radius
         * */
        this.radius = opt.radius
      }

      /**
       * @description 获取执行工作流check对象
       * @private
       * @return {Object}
       */
      _getCheckQueryOpts() {
        return {
          srcInfo1: {
            required: true,
            type: 'String'
          },
          srcInfo2: {
            required: true,
            type: 'String'
          },
          desInfo: {
            required: true,
            type: 'String'
          },
          FIDs1: {
            type: 'String'
          },
          FIDs2: {
            type: 'String'
          },
          spatialOperationType: {
            required: true,
            type: 'String'
          },
          radius: {
            required: true,
            type: 'String'
          }
        }
      }
    }

    export default WorkFlowServer600369