[Solved]Bài tập ứng tuyển vị trí R&D S.E. Q4/2014 – Phần mềm quy trình phân bổ chỉ tiêu nhân viên trên di động – Activiti & Cordova

Xây dựng hệ thống quy trình phân bổ chỉ tiêu nhân. Thông tin 1 chỉ tiêu nhân viên ở hệ thống này được thiết kế đơn giản, bao gồm: mục tiêu, chỉ tiêu phấn đấu và được phân bổ cho ai.

Các tính năng cần có của phần mềm:

1. Yêu cầu 1: Hiện thực quy trình trên hệ thống quản trị quy trình nghiệp vụ (BPM)

Mô tả quy trình:

Sơ đồ tổ chức của doanh nghiệp có dạng hình cây phân cấp. Định kỳ người đứng đầu tổ chức có 1 số chỉ tiêu và có nhiệm vụ phân bổ chỉ tiêu xuống cho các nhân viên cấp dưới.

Ví dụ: Giám đốc kinh doanh có 2 chỉ tiêu cần hoàn thành: Doanh thu đạt $50000, và tìm được thêm 10 khách hàng mới. Giám đốc kinh doanh phân bổ cho trưởng phòng kd1 phải đạt $20000 + 3 khách và kd2 là $30000 + 7 khách. Trưởng phòng kd1 lại phân tiếp cho các nhóm trưởng/nhân viên kd những chỉ tiêu nhỏ hơn và cứ thế đến khi hết người nhân viên cấp dưới. Nhân viên không có cấp dưới sẽ chỉ nhận chỉ tiêu và không có nhiệm vụ phải phân bổ. Cuối cùng phòng nhân sự tổng hợp được các kết quả phân bổ. Quy trình được báo qua email.

Tự chọn 1 công cụ bpm mã nguồn mở sau: Activiti, Bonita, Camunda. Sau đó mô hình hóa quy trình và khởi động, đóng vai trò backend cung cấp REST API cho mobile app

2. Yêu cầu 2: Ứng dụng di động để tham gia quy trình

Tự chọn framework: Cordova, Corona, Xamarin.

3. Yêu cầu kỹ thuật:

Ưu tiên hoàn thành chức năng. Các vấn đề khác như design, performance, exception,… sẽ tính điểm cộng.

4. Thời gian thực hiện:

5 ngày kể từ thời điểm nhận email

Giải: chọn Activiti và Cordova

Activiti là mã nguồn Java, có hỗ trợ chạy script task bằng groovy, database: H2

Cordova : html, css, js và dùng thêm angularjs và phonon framework

Email: google mail sau đó 2-step verification và tạo app password

Tạo 2 process:

main process: khởi tạo chỉ tiêu (scorecard) và goi sub process. Cuối cùng email kết quả dạng csv cho admin

 phanbo-1

sub process: trong đó call activitiy subprocess multi-instance để đệ quy cho từng nhân viên

phanbo-2
App mobile wireframe:

phanbo-ảphanbo-4

Implement backend:

Để đơn giản dùng groovy script thay vì dùng tạo Java listener

Các REST API sẽ dùng cho frontend:

GET runtime/tasks/{task_id}/variables?scope=local

– Lấy được danh sách user nhân viên của user hiện tại

– Lấy được danh sách các chỉ tiêu được phân bổ

GET identity/users/{user_id}/picture

– Lấy hình hình ảnh của user_id (binary)

POST runtime/task/{task_id}

{ “action” : “complete”,

“variables” : [

{

“name” : “frmScorecards”,

“value” : “[{‘code’:’sc1′,’userName’:’mng1′,’qty’:2}…]”,

“scope” : “local”,

“type” : “string”

}]}

– Hoàn thành task phân bổ cho nhân viên cấp dưới. Tiếp tục quy trình

REST API có basic authentication: dùng user admin mặc định kermit của activiti.

Thư viện hỗ trợ định nghĩa custom url scheme: https://github.com/EddyVerbruggen/Custom-URL-scheme

Implement:

Source: sẽ cập nhật tiếp

Result:

 phanbo-5

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Google photo

Bạn đang bình luận bằng tài khoản Google Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s