    import WorkFlowServer from './WorkFlowServer'

    import { defaultValue } from '../../../util'
    /**
     * 连通与非连通分析
     * @class WorkFlowServer600336
     *
     * @extends WorkFlowServer
     * @param {Object} options 构造参数
     * @param {String} [options.url] 工作流基地址,必传
     * @param {String} [options.netClsUrl] 网络类的URL,必传,例如:gdbp://MapGisLocal/sample/ds/网络分析/ncls/道路交通网
     * @param {Boolean} [options.flag] 是否进行网标操作,必传,例如:{"activeValue":true,"inactiveValue":false}
     * @param {String} [options.flagPosStr] 网标点坐标字符串,逗号分隔,形如：x1,y1,x2,y2,必传,例如:114.44,38.06,114.56,38.03
     * @param {String} [options.elementType] 添加网标方式,逗号分隔,必传,例如:1,2
     * @param {Number} [options.nearDis] 容差,必传,例如:0.01
     * @param {String} [options.weight] 权值,可为空,逗号分隔,例如:2,3
     * @param {String} [options.analyTp] 分析模式，默认UserMode,必传,例如:{"UserMode":"UserMode","SysModeCommwayPrefer":"SysModeCommwayPrefer","SysModeHighWayPrefer":"SysModeHighWayPrefer","SysModeSysRecommend":"SysModeSysRecommend","SysModeMinCost":"SysModeMinCost","SysModeMinDis":"SysModeMinDis","SysModeMinTime":"SysModeMinTime"}
     * @example
        const workFlowServer600336 = WorkFlowServer.createWorkFlow({
            url: "http://localhost:8089/igs/rest/services/workflow/600336/WorkflowServer",
            netClsUrl: "gdbp://MapGISLocalPlus/sample/ds/网络分析/ncls/道路交通网",
            flag: false,
            flagPosStr: "114.44,38.06,114.56,38.03",
            elementType: "1,2",
            nearDis: 0.01,
            weight: ",Weight1,Weight1",
            analyTp: "UserMode",
        });
        workFlowServer600336.execute({
            method: Zondy.Enum.FetchMethod.get,
            success: function (res) {
                console.log("execute: ", res);
            },
        });
     */
    class WorkFlowServer600336 extends WorkFlowServer {
      constructor(options) {
        super(options)
        const opt = options || {}
        /**
         * @description 工作流基地址,必传
         * @member {String} WorkFlowServer600336.prototype.url
         * */
        this.url = opt.url
        /**
         * @description 600336
         * @member {Number} WorkFlowServer600336.prototype.flowId
         * @readonly
         * */
        this.flowId = 600336
        /**
         * @description 连通与非连通分析
         * @member {String} WorkFlowServer600336.prototype.description
         * @readonly
         * */
        this.description = '连通与非连通分析'
        /**
         * @description 网络分析
         * @member {String} WorkFlowServer600336.prototype.groupName
         * @readonly
         * */
        this.groupName = '网络分析'
        /**
         * @description 网络类的URL,必传,例如:gdbp://MapGisLocal/sample/ds/网络分析/ncls/道路交通网
         * @member {String} WorkFlowServer600336.prototype.netClsUrl
         * */
        this.netClsUrl = opt.netClsUrl
        /**
         * @description 是否进行网标操作,必传,例如:{"activeValue":true,"inactiveValue":false}
         * @member {Boolean} WorkFlowServer600336.prototype.flag
         * */
        this.flag = opt.flag
        /**
         * @description 网标点坐标字符串,逗号分隔,形如：x1,y1,x2,y2,必传,例如:114.44,38.06,114.56,38.03
         * @member {String} WorkFlowServer600336.prototype.flagPosStr
         * */
        this.flagPosStr = opt.flagPosStr
        /**
         * @description 添加网标方式,逗号分隔,必传,例如:1,2
         * @member {String} WorkFlowServer600336.prototype.elementType
         * */
        this.elementType = opt.elementType
        /**
         * @description 容差,必传,例如:0.01
         * @member {Number} WorkFlowServer600336.prototype.nearDis
         * */
        this.nearDis = opt.nearDis
        /**
         * @description 权值,可为空,逗号分隔,例如:2,3
         * @member {String} WorkFlowServer600336.prototype.weight
         * */
        this.weight = defaultValue(opt.weight, ',Weight1,Weight1')
        /**
         * @description 分析模式，默认UserMode,必传,例如:{"UserMode":"UserMode","SysModeCommwayPrefer":"SysModeCommwayPrefer","SysModeHighWayPrefer":"SysModeHighWayPrefer","SysModeSysRecommend":"SysModeSysRecommend","SysModeMinCost":"SysModeMinCost","SysModeMinDis":"SysModeMinDis","SysModeMinTime":"SysModeMinTime"}
         * @member {String} WorkFlowServer600336.prototype.analyTp
         * */
        this.analyTp = opt.analyTp
      }

      /**
       * @description 获取执行工作流check对象
       * @private
       * @return {Object}
       */
      _getCheckQueryOpts() {
        return {
          netClsUrl: {
            required: true,
            type: 'String'
          },
          flag: {
            required: true,
            type: 'Boolean'
          },
          flagPosStr: {
            required: true,
            type: 'String'
          },
          elementType: {
            required: true,
            type: 'String'
          },
          nearDis: {
            required: true,
            type: 'Number'
          },
          weight: {
            type: 'String'
          },
          analyTp: {
            required: true,
            type: 'String'
          }
        }
      }
    }

    export default WorkFlowServer600336