通常,在生产企业中,一线员工按计件计算收入,入库作为关键环节,需要投入大量统计核对工作,本文记录了半年来我们在这一领域的新应用研发和突破。
为什么用esap + vue
- esap是连接企业微信和ERP的后端利器,vue是简单小巧的mvvm前端框架,二者结合实现了敏捷开发,定制个性化。
方案概述
-
改进前:传统的入库需要员工填报各种纸质单据,放到入库的成品中,然后由车间统计员根据纸质单据,核验数量(重量),填写电子入库单,检验、仓管依次做相关校验审核。
-
改进后:员工通过手机(微信)扫码,自行核验数量上报,检验、仓管依次做相关校验审核。
-
此方案预计可以节省统计人员若干,同时还能增加入库记录细节,可以记录每箱(筐)的数量(重量),员工甚至可以立即获知自己的计件工资收入情况。
方案细节
利器
- 工欲善其事,必先利其器,首先,我们添置了一台特殊的电子秤,通过无线收发器与现场计算机进行通信。
- 接下来用golang编写了一个(约100行)的采集程序,主入口代码如下:
func main() {
// 打开配置文件
fd, err := ioutil.ReadFile(filepath.Dir(os.Args[0]) + Confile)
E(err, "打开配置出错")
// 解析数据库连接信息
E(json.Unmarshal(fd, &C), "解析配置出错")
// 连接数据库
dsn := fmt.Sprintf(C.Dsn)
db, err = sql.Open("odbc", dsn)
E(err, "打开数据库出错")
defer db.Close()
// 打开串口
log.Printf("串口: %s 波特率: %d\n", C.COM, C.Baud)
s, err := serial.OpenPort(&serial.Config{Name: C.COM, Baud: C.Baud})
E(err, "打开串口出错")
defer s.Close()
// 循环扫描串口数据存入数据库,间隔500ms
for range time.Tick(500 * time.Millisecond) {
saveData(s)
}
}
- 这个程序会实时形成下列格式的数据,供后续提数使用。
派工
- 像往常一样,对一线人员进行【派工】,这个工单包含了4个组件。
- 派工后,一线员工的手机端就会收到【待入库】任务,前端界面用vue开发。
标准筐入库
- 员工完成生产任务后,将产品装筐上称。
- 进入【待入库】中对应的产品,选择【扫描标准筐】,对筐上二维码进行扫码。
- 扫码后,筐数量(重量)完成提取和计算。
临时筐入库
- 非专用周转箱入库时,选择【扫描临时筐】,这里临时筐主要是一些临时纸箱或塑料袋。
- 扫描结果类似,筐号为临时流水号,筐重自填。
检验
- 员工完成入库保存后,检验员对其进行检验。
收货
- 检验完成后,仓管员对其进行现场抽检,收货确认。
- 确认后,派工入库单上将同步呈现,由esap完成ERP数据对接同步。
方案后续
- 员工可以通过app查询到自己的计件绩效。
- 该方案适用于任意自研的ERP,例如JU/NX等ES平台。