    import WorkFlowServer from './WorkFlowServer'

    import { defaultValue } from '../../../util'
    /**
     * 根据空间参照信息投影(sfcls/acls)
     * @class WorkFlowServer600340
     *
     * @extends WorkFlowServer
     * @param {Object} options 构造参数
     * @param {String} [options.url] 工作流基地址,必传
     * @param {String} [options.clsName] None
     * @param {String} [options.desClsName] None
     * @param {Number} [options.projTypeID] None
     * @param {Number} [options.sphereType] None
     * @param {Number} [options.projAngleUnit] None
     * @param {Number} [options.projType] None
     * @param {Number} [options.projZoneType] None
     * @param {Number} [options.projZoneNO] None
     * @param {Number} [options.projLon] None
     * @param {Number} [options.projLat] None
     * @param {Number} [options.projLat1] None
     * @param {Number} [options.projLat2] None
     * @param {Number} [options.projUnit] None
     * @param {Number} [options.projRate] None
     * @param {Number} [options.x] None
     * @param {Number} [options.y] None
     * @example
    `    const workFlowServer600340 = WorkFlowServer.createWorkFlow({
          url: "http://localhost:8089/igs/rest/services/workflow/600340/WorkflowServer",
          clsName: "gdbp://MapGISLocalPlus/test/sfcls/农田-gs",
          desClsName: "gdbp://MapGISLocalPlus/test/sfcls/农田-projwgs84",
          projTypeID: 7,
          sphereType: 2,
          projType: 3,
          projLon: 1170000,
          projUnit: 2,
          projRate: 1,
        });
        workFlowServer600340.execute({
          method: Zondy.Enum.FetchMethod.get,
          success: function (res) {
            console.log("execute: ", res);
          },
        });`
     */
    class WorkFlowServer600340 extends WorkFlowServer {
      constructor(options) {
        super(options)
        const opt = options || {}
        /**
         * @description 工作流基地址,必传
         * @member {String} WorkFlowServer600340.prototype.url
         * */
        this.url = opt.url
        /**
         * @description 600340
         * @member {Number} WorkFlowServer600340.prototype.flowId
         * @readonly
         * */
        this.flowId = 600340
        /**
         * @description 根据空间参照信息投影(sfcls/acls)
         * @member {String} WorkFlowServer600340.prototype.description
         * @readonly
         * */
        this.description = '根据空间参照信息投影(sfcls/acls)'
        /**
         * @description 投影转换
         * @member {String} WorkFlowServer600340.prototype.groupName
         * @readonly
         * */
        this.groupName = '投影转换'
        /**
         * @description None
         * @member {String} WorkFlowServer600340.prototype.clsName
         * */
        this.clsName = defaultValue(
          opt.clsName,
          'GDBP://MapGISLocal/Sample/sfcls/wh_中心线new'
        )
        /**
         * @description None
         * @member {String} WorkFlowServer600340.prototype.desClsName
         * */
        this.desClsName = defaultValue(
          opt.desClsName,
          'GDBP://MapGISLocal/Sample/sfcls/wh_中心线Reult9'
        )
        /**
         * @description None
         * @member {Number} WorkFlowServer600340.prototype.projTypeID
         * */
        this.projTypeID = defaultValue(opt.projTypeID, 5)
        /**
         * @description None
         * @member {Number} WorkFlowServer600340.prototype.sphereType
         * */
        this.sphereType = defaultValue(opt.sphereType, 2)
        /**
         * @description None
         * @member {Number} WorkFlowServer600340.prototype.projAngleUnit
         * */
        this.projAngleUnit = defaultValue(opt.projAngleUnit, 0)
        /**
         * @description None
         * @member {Number} WorkFlowServer600340.prototype.projType
         * */
        this.projType = defaultValue(opt.projType, 3)
        /**
         * @description None
         * @member {Number} WorkFlowServer600340.prototype.projZoneType
         * */
        this.projZoneType = defaultValue(opt.projZoneType, 0)
        /**
         * @description None
         * @member {Number} WorkFlowServer600340.prototype.projZoneNO
         * */
        this.projZoneNO = defaultValue(opt.projZoneNO, 0)
        /**
         * @description None
         * @member {Number} WorkFlowServer600340.prototype.projLon
         * */
        this.projLon = defaultValue(opt.projLon, 1170000)
        /**
         * @description None
         * @member {Number} WorkFlowServer600340.prototype.projLat
         * */
        this.projLat = defaultValue(opt.projLat, 0)
        /**
         * @description None
         * @member {Number} WorkFlowServer600340.prototype.projLat1
         * */
        this.projLat1 = defaultValue(opt.projLat1, 0)
        /**
         * @description None
         * @member {Number} WorkFlowServer600340.prototype.projLat2
         * */
        this.projLat2 = defaultValue(opt.projLat2, 0)
        /**
         * @description None
         * @member {Number} WorkFlowServer600340.prototype.projUnit
         * */
        this.projUnit = defaultValue(opt.projUnit, 2)
        /**
         * @description None
         * @member {Number} WorkFlowServer600340.prototype.projRate
         * */
        this.projRate = defaultValue(opt.projRate, 1)
        /**
         * @description None
         * @member {Number} WorkFlowServer600340.prototype.x
         * */
        this.x = defaultValue(opt.x, 0)
        /**
         * @description None
         * @member {Number} WorkFlowServer600340.prototype.y
         * */
        this.y = defaultValue(opt.y, 0)
      }

      /**
       * @description 获取执行工作流check对象
       * @private
       * @return {Object}
       */
      _getCheckQueryOpts() {
        return {
          clsName: {
            type: 'String'
          },
          desClsName: {
            type: 'String'
          },
          projTypeID: {
            type: 'Number'
          },
          sphereType: {
            type: 'Number'
          },
          projAngleUnit: {
            type: 'Number'
          },
          projType: {
            type: 'Number'
          },
          projZoneType: {
            type: 'Number'
          },
          projZoneNO: {
            type: 'Number'
          },
          projLon: {
            type: 'Number'
          },
          projLat: {
            type: 'Number'
          },
          projLat1: {
            type: 'Number'
          },
          projLat2: {
            type: 'Number'
          },
          projUnit: {
            type: 'Number'
          },
          projRate: {
            type: 'Number'
          },
          x: {
            type: 'Number'
          },
          y: {
            type: 'Number'
          }
        }
      }
    }

    export default WorkFlowServer600340