project_workflow_21产品经理分流版

来源:互联网 发布:运用python进行炒股 编辑:程序博客网 时间:2024/05/17 07:53
 def project_workflow_21
 apilog = start_apilog(__method__.to_s(),params)
  result ={}
  options={:expand => "transitions"}
  issue = @jira_client.Issue.find(params["issue.key"], options) #获得所有的jira字段信息
  project_type = issue.attrs["fields"]["issuetype"]["id"]#获取问题类型
  copy_data=issue.attrs["fields"]["customfield_10118"]
  reporter_key = issue.attrs["fields"]["reporter"]["key"]
  copy_data_old_arr=[]
  options_user=reporter_key+"&expand=groups"
  user=@jira_client.User.find(options_user)
  departments_arr= user.groups["items"]
  logger.info("[project_workflow_21] "+departments_arr.to_s)
  is_customer = false
  departments_arr.each do |u|
    department_name=u["name"]
    logger.info("[project_workflow_21] 查询部门"+department_name)
    case department_name
      when "客服部"
         is_customer=true
      when "客服部-400"
         is_customer=true
      when "客服部-2楼"
         is_customer=true
      when "市场部"
        is_customer=true
      else
    end
  end


  if copy_data.to_s!=""
     copy_data.each do |u|
     tmp_hash = Hash.new
     tmp_hash["name"]=u["name"]
     tmp_hash["key"]=u["key"]
   copy_data_old_arr<<tmp_hash
  end
  end
  copy_data_new_arr=[{"name" =>"dengshihua", "key" => "dengshihua"}]
  copy_data_arr_total= copy_data_old_arr|copy_data_new_arr


  if project_type=="10648" or project_type=="10649"#当问题类型为:国内开放平台、海外开放平台时,经办人设置为 邵佩
    transition_data = { "name" => "wuweiliang" , "key" => "wuweiliang"}
    issue.theurl=issue.url + "/assignee"
    issue.set_http_method="put"
    logger.info("[project_workflow_21] :  " +"经办人设置成功"+ issue.save(transition_data).to_s)
  elsif project_type=="10624" #当问题类型为:海外萤石云 时,经办人设置为 陈云亮,并判断判断客户端类型是否选择了“安卓客户端”、“IOS客户端”,若是抄送给韩丽峰,邓世华
    transition_data = { "name" => "chenyunliang" , "key" => "chenyunliang"}
    tmp0 = issue.attrs["fields"]["customfield_11078"].to_s
    tmp1 = issue.attrs["fields"]["customfield_11078"].to_s.include?"安卓客户端"
    tmp2 = issue.attrs["fields"]["customfield_11078"].to_s.include?"IOS客户端"


    if issue.attrs["fields"]["customfield_11078"].to_s.include?"安卓客户端" or issue.attrs["fields"]["customfield_11078"].to_s.include?"IOS客户端"
       logger.info("选择了客户端")
          copy_data = {
              "fields" => {
                  "customfield_10118" =>copy_data_arr_total
              }
          }
          logger.info('[project_workflow_21]   :'+"抄送给韩丽峰或邓世华"+issue.save(copy_data).to_s)
    end
     issue.theurl=issue.url + "/assignee"
     issue.set_http_method="put"
     logger.info("[project_workflow_21] :  " +"经办人设置成功"+ issue.save(transition_data).to_s)


    elsif  project_type=="10623" #当问题类型为:国内萤石云,经办人设置为陈兴旺,并判断判断客户端类型是否选择了“安卓客户端”、“IOS客户端”,若是抄送给韩丽峰,邓世华
      transition_data=nil
        if is_customer
          transition_data = { "name" => "chenxingwang" , "key" => "chenxingwang"}
        else
         transition_data = { "name" => "chenyunliang" , "key" => "chenyunliang"}
        end


    tmp0 = issue.attrs["fields"]["customfield_11078"].to_s
    tmp1 = issue.attrs["fields"]["customfield_11078"].to_s.include?"安卓客户端"
    tmp2 = issue.attrs["fields"]["customfield_11078"].to_s.include?"IOS客户端"


    if issue.attrs["fields"]["customfield_11078"].to_s.include?"安卓客户端" or issue.attrs["fields"]["customfield_11078"].to_s.include?"IOS客户端"
       logger.info("选择了客户端")
          copy_data = {
              "fields" => {
                  "customfield_10118" =>copy_data_arr_total
              }
          }
          logger.info('[project_workflow_21]   :'+"抄送给韩丽峰或邓世华"+issue.save(copy_data).to_s)
    end
     issue.theurl=issue.url + "/assignee"
     issue.set_http_method="put"
     logger.info("[project_workflow_21] :  " +"经办人设置成功"+ issue.save(transition_data).to_s)
  else
    logger.info("[project_workflow_21] :"+"不是这两四类型不做任何操作")
  end


  if project_type=="10648" or project_type=="10649" or project_type=="10624" or (project_type=="10623" and is_customer==false)
     issue = @jira_client.Issue.find(params["issue.key"], options)
     issue.transitions.each do |transition|
     logger.info('[project_workflow_21]   :'+transition.to_s)
      if transition.attrs["name"] == "是问题"
        transition_data = {
            :transition => transition.attrs,
        }
        transition.save(transition_data)
      end
    end
  end


  end_apilog(apilog)
  logger.info('[project_workflow_21]   :'+"函数结束")
  result['msg'] = 'project_workflow_21 return success!'
  render :text => result.to_json, :layout => false
  end
0 0
原创粉丝点击