king
2024-05-24 c2e3da0fa536e12d078731146008a9d8e0ba96aa
src/utils/utils.js
@@ -1256,13 +1256,85 @@
      ${_uniquesql}
      ${_prevCustomScript}
      ${_insert}
      ${_insert}`
    if (item.$process && btn.workFlow === 'true' && window.GLOB.UserCacheMap.has(item.$flowId)) {
      let flow = window.GLOB.UserCacheMap.get(item.$flowId)
      let target = flow.cells.filter(cell => cell.mknode === 'start')[0]
      let flowsql = ''
      let status = 0
      let statusName = ''
      let detailId = ''
      let work_grade = sessionStorage.getItem('work_grade') || 0
      if (target) {
        detailId = target.id
        status = target.mkdata.status
        statusName = target.mkdata.statusName
      }
      if (!target) {
        status = 0
        statusName = '异常'
        flowsql = `
        /* 工作流异常sql */
        select @ErrorCode='E',@retmsg='工作流无开始节点' goto aaa
        `
      } else if (btn.flowSql === 'true') {
        flowsql = `
        /* 工作流默认sql */
        insert into s_my_works_flow (works_flow_id,works_flow_code,works_flow_name,works_flow_param,status,statusname,work_group,works_flow_detail_id,work_grade,bid,createuserid,CreateUser,CreateStaff,upid)
        select jskey,@works_flow_code@,@works_flow_name@,@works_flow_param@,@status@,@statusname@,@work_group@,@works_flow_detail_id@,@work_grade@,@bid@,@UserID@,@UserName,@FullName,@time_id@
        #${sheet}
        insert into s_my_works_flow_log (works_flow_id,works_flow_code,works_flow_name,works_flow_param,status,statusname,works_flow_detail_id,work_group,work_grade,bid,createuserid,CreateUser,CreateStaff,upid)
        select jskey,@works_flow_code@,@works_flow_name@ ,@works_flow_param@,@status@,@statusname@,@works_flow_detail_id@,@work_group@,@work_grade@,@bid@,@UserID@,@UserName,@FullName,@time_id@
        #${sheet}
        insert into s_my_works_flow_notice (works_flow_id,works_flow_code,works_flow_detail_id,userid,notice_type,createuserid,CreateUser,CreateStaff,upid)
        select jskey,@works_flow_code@,@works_flow_detail_id@,@userid@,@start_type@,@userid@,@UserName,@FullName,@time_id@
        #${sheet}
        insert into s_my_works_flow_role (works_flow_id,works_flow_code,userid,works_flow_detail_id,createuserid,CreateUser,CreateStaff,upid,typecharone)
        select jskey,@works_flow_code@,@userid@,@works_flow_detail_id@,@userid@,@UserName,@FullName,@time_id@,'begin'
        #${sheet}
        `
      }
      sql += `
      ${flowsql}
      ${_backCustomScript}
      drop table #${sheet}
      
      aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg`
      sql = sql.replace(/@start_type@/ig, `'开始'`)
      sql = sql.replace(/@works_flow_code@/ig, `'${flow.flow_code}'`)
      sql = sql.replace(/@works_flow_name@/ig, `'${flow.flow_name}'`)
      if (target) {
        let label = target.attrs && target.attrs.text && target.attrs.text.text ? target.attrs.text.text : ''
        let msg = {...target.mkdata, label: label, id: target.id, checkIds: [], checkUsers: []}
        sql = sql.replace(/@works_flow_param@/ig, `'${window.btoa(window.encodeURIComponent(JSON.stringify(msg)))}'`)
      } else {
        sql = sql.replace(/@works_flow_param@/ig, `''`)
      }
      sql = sql.replace(/@works_flow_detail_id@/ig, `'${detailId}'`)
      sql = sql.replace(/@status@/ig, `'${status}'`)
      sql = sql.replace(/@statusname@/ig, `'${statusName}'`)
      sql = sql.replace(/@work_group@/ig, `'${sessionStorage.getItem('work_group') || ''}'`)
      sql = sql.replace(/@work_grade@/ig, `'${work_grade}'`)
    } else {
      sql += `
      ${_backCustomScript}
      drop table #${sheet}
      aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg`
    }
    sql = sql.replace(/\n\s{6}/ig, '\n')
    if (window.GLOB.debugger === true) {