hx人员流动

约 2 分钟koamysql后台

hx人员流动

在上司哈尔滨出差的时候,现场有一位同事,有些时候摸鱼无聊会在 txt 文本上复制企业微信总群中人员名单,然后记录一下当前日期,对比两次日期变化的人员名单,便可以判断这段日期内的人员变动,不过他是靠眼睛对比的。

我在他这个小作品上稍微升级了一下,写了一个简单的 koa 程序,把两次名单相互求差集,就可以判断出这段日期中的人员流通,最开始数据库是用的 json-server 即一个简单 json,后面稍微学了一点点mysql,就改到mysql 去了。

核心就是求差集,大概这样:

// 名单是从企业微信复制出来的一整行,中英文逗号、分号、换行都可能出现
function parseNames(text) {
  return [...new Set(
    (text || "").split(/[,,;;\n\r\t]+/).map(s => s.trim()).filter(Boolean)
  )]
}

// 两次名单相减,就知道这段日期里谁来了、谁跑了
function diffNames(current, previous) {
  const cur = new Set(current)
  const prev = new Set(previous)
  return {
    joined: current.filter(n => !prev.has(n)),  // 这次有、上次没有
    left:   previous.filter(n => !cur.has(n)),  // 上次有、这次没有
  }
}

const { joined, left } = diffNames(parseNames(这次的), parseNames(上次的))

休息之余更新一下人员名单,得到hx 2024.0~2026.10(最后这次记录是找的在职同事帮忙复制的)的人员变化如下:

2024-08 ~ 2026-10 群成员总数变化

评论

纯文本,不支持链接/图片

加载评论…