Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 13

Nhận hàng tại siêu thị

Thông tin thay đổi gần nhất


Ngày yêu cầu Mô tả thay đổi Người yêu cầu Người nhận yêu cầu Sprint Ngày triển khai

[dd-mm-yyyy] Tool Nhận hàng tại siêu thị 77788 – Lê Quang 128769 – Nguyễn Hồng [ngày bắt đầu xử [ngày triển khai
Thái Sơn lý của sprint] thay đổi này lên
thực]

Mục lục
1 Giới thiệu.......................................................................................................................................................................................................................... 2
2 Mô tả chức năng............................................................................................................................................................................................................... 2
2.1 Chức năng 01: [tên chức năng 01]........................................................................................................................................................................... 2
2.1.1 Mục đích............................................................................................................................................................................................................. 2
2.1.2 Mô tả................................................................................................................................................................................................................... 2
2.1.2.1 Database..................................................................................................................................................................................................... 2
2.1.2.1.1 Bảng sử dụng....................................................................................................................................................................................... 2
2.1.2.1.2 StoredProcedure sử dụng....................................................................................................................................................................3
2.1.2.2 Xử lý............................................................................................................................................................................................................ 3
2.1.2.2.1 Input.................................................................................................................................................................................................... 3
2.1.2.2.2 Process................................................................................................................................................................................................. 3
2.1.2.2.3 Output.................................................................................................................................................................................................. 3
3 Thiết kế database.............................................................................................................................................................................................................. 3
3.1 Sơ đồ......................................................................................................................................................................................................................... 3
3.2 Mô tả bảng và script................................................................................................................................................................................................. 3
4 Lưu ý về kỹ thuật.............................................................................................................................................................................................................. 3
5 Lịch sử chỉnh sửa tính năng.............................................................................................................................................................................................. 3
Nhận hàng tại siêu thị

NỘI DUNG TÀI LIỆU

1 Giới thiệu
2 Mô tả chức năng
2.1 Chức năng 01: Tool Nhận hàng tại siêu thị
2.1.1 Mục đích
2.1.2 Mô tả
2.1.2.1 Database
2.1.2.1.1 Bảng sử dụng

No Usertype Table name Comment


1 Lấy dữ liệu {DB.Schema.tablename}
2 Lưu dữ liệu kết quả {DB.Schema.tablename}

2.1.2.1.2 StoredProcedure sử dụng

No Storeytype Storename Comment


1 Lấy dữ liệu {DB.Schema.functionsname}
2 Lưu dữ liệu kết quả {DB.Schema.functionsname}

2.1.2.2 Xử lý
2.1.2.2.1 Quy trình tổng quan:
Nhận hàng tại siêu thị

Hình 1: Quy trình nghiệp vụ

Hình 2: Phân loại đồng kiểm


Nhận hàng tại siêu thị

2.1.2.2.2 Process
Tool Nhận hàng tại siêu thị
- Giao diện khi mở tool Nhận hàng tại siêu thị
- Mặc định hiển thị giao diện Nhận hàng.
- Người dùng có thể quét mã hoặc chọn vào text box để nhập mã thủ công.
- Kiểm tra user có quyền nhận hàng hay không
o Kiểm tra ???

- Hệ thống kiểm tra mã chứng từ:


Lưu ý: chỉ cho phép 1 lần quét 1 mã chứng từ.

- Kiểm tra Mã vừa quét mà PO hay Lệnh Điều Chuyển :


o Kiểm tra mã vừa quét có chứa chuỗi “PO” thì xử lý theo quy trình của PO (1)
 Quét trong bhx.masterdata.pm_order.orderid
(không quét bhx.masterdata.pm_storechangeorder)
Không tìm được thông báo “Chứng từ không tồn tại hoặc đã bị xóa. Vui lòng liên hệ
ngành hàng!”
 Kiểm tra PO có nhập đúng siêu thị:
Kiểm tra ???
Nếu không thông báo: “Đơn hàng này không thuộc siêu thị nhập”
 Kiểm tra PO có bị hủy:
Kiểm tra ???
Nếu không thông báo: “Đơn hàng {mã PO} đã bị hủy. Vui lòng báo NCC liên hệ ngành
hàng để được xử lý”
 Kiểm tra thời gian khi chưa tới thời gian được phép nhận hàng của PO:
Kiểm tra ???
Nếu không thông báo: “Đơn hàng chưa được phép nhận hàng. Vui lòng liên hệ ngành
hàng để được xử lý”
 Kiểm tra thời gian quá hạn nhận hàng:
Kiểm tra ???
Nếu không thông báo: “Đơn hàng đã quá hạn nhập hàng [inputdateto]. Vui lòng báo
NCC liên hệ Bộ phận mua hàng để xử lý”
 Kiểm tra PO đã được nhập hết hay chưa:
Kiểm tra ???
Nếu không thông báo: “Đơn hàng đã được nhập hết, vui lòng kiểm tra lại”
o Kiểm tra mã vừa quét Không chứa chuỗi “PO” thì xử lý theo quy trình của Lệnh Điều Chuyển (2)
(Lệnh điều chuyển: LDC)
Nhận hàng tại siêu thị

 Quét trong bhx.masterdata.pm_storechangeorder.orderid


(Không quét bhx.masterdata.pm_order.orderid)
 Kiểm tra LDC đã được quét trong đợt nhập này:
Kiểm tra ???
Nếu không thông báo: “LDC {Mã lệnh điều chuyển} đã được quét. Vui lòng kiểm tra lại”
 Kiểm tra LDC đã được quét trong đợt nhập trước đó:
Kiểm tra ???
Nếu không thông báo: “Lệnh điều chuyển {Mã lệnh điều chuyển} đã được nhập tại đợt
nhập hàng, ngày {pm_confirminfomation.createddate} bới {fullname} Vui lòng kiểm tra
lại” ( {fullname} dựa theo pm_confirminfomation.createduser).
 Kiểm tra LDC có thuộc siêu thị đang nhập hàng:
Kiểm tra ???
Nếu không thông báo: “Lệnh điều chuyển này không thuộc siêu thị nhập {Tên kho làm
việc}. Vui lòng kiểm tra lại”
- Kiểm tra mã người dùng quét thuộc loại đồng kiểm hàng nào (Dựa vào hình 2):
o Deliverytypeid khác 2,5 và không yêu cầu hóa đơn => kiểm tổng
o Purchasing.pm_order_info.hasinvoice = 1 (yêu cầu hóa đơn) : Kiểm chi tiết
o Type = 6 kiểm tổng

o Người dùng quét mã là PO:


 Có deliverytypeid khác (2,5) => Đồng kiểm – Kiểm Tổng
 Có deliverytypeid khác (2,5) và purchasing.pm_order_info.hasinvoice = 1 (có hóa đơn)
=> Đồng kiểm – Kiểm chi tiết
 Có deliverytypeid = 2 hoặc 5 => Đồng Kiểm – Kiểm chi tiết.
 Có pm_order.deliverytypeid = 6 => Đồng kiểm – Kiểm tổng
Nếu có thêm purchasing.pm_order_info.hasinvoice = 1 (Có hóa đơn)
=> Đồng kiểm – Kiểm chi tiết.
o Người dùng quét mã là Lệnh Điều Chuyển:

Nhận hàng tại siêu thị

Khi người dùng quét mã và thuộc Đồng Kiểm – Kiểm Tổng hiển thị giao diện:
o Nhập tổng số lượng:
 Số nguyên
 Tối đa 4 chữ số,
 Bắt buộc nhập ít nhất 1 trường dữ liệu
 Rổ/Thùng xốp/Bịch/Vỉ: WMS.WMS_PackageType.PackageTypeName, load động theo
WMS.WMS_Package.PackageTypeID với WMS_Package.VoucherConcernID IN {danh sách chứng từ
đã quét}. Trường hợp không có dữ liệu, gán cứng 4 dòng dữ liệu theo Rổ/Thùng xốp/ Bịch/ Vỉ
o Nhấn
o Hệ thống tạo 1 đợt nhận hàng cho siêu thị với thông tin như sau:
· Bảng inv_confirminformation: // Đợt nhập
– Inputstoreid = kho nhận hàng
– Isfinish = f
– Confirminformationtype = 2 nếu pom_order. Deliverytypeid = {2,5} ngược lại
bằng 1
· Bảng inv_confirminformationdetail: với mỗi chứng từ đã quét, insert 1 dòng dữ liệu với:
– Voucherconcernid = mã chứng từ đã quét
– Hasinvoice
o = 0: Nếu chứng từ là SC
o = POM_Order.HasInvoice: Nếu chứng từ là PO
– Outputstoreid = kho xuất hàng đối với chứng từ là lệnh điều chuyển.
– Customerid = mã NCC trên đơn hàng
– Ischeck = f

· Bảng inv_confirminformation_Package: với mỗi dòng dữ liệu số lượng > 0, insert 1 dòng
dữ liệu với:
– BasketTypeID
– Quantity = số lượng đã nhập
– UpdatedUser = user đăng nhập
– UpdatedDate = sysdate
o In biên nhận với thông tin như sau:
Nhận hàng tại siêu thị

-
Nhận hàng tại siêu thị

Khi người dùng quét mã thuộc Đồng Kiểm – Kiểm Chi Tiết hiển thị giao diện:
o Người dùng kiểm tra thông tin chứng từ
o Mã PO: lấy từ
o NCC:
o Mã số thuế:
o Địa chỉ:
- Người dùng nhập thông tin hóa đơn (nếu có):
Sau khi nhập xong thông tin và chụp hình hóa đơn và chọn TIẾP TỤC hệ thống lưu thông tin:
o Số hóa đơn:
 Nế u số hóa đơn đã được nhập (tồn tại trong bảng
PM_CONFIRMINFORMATIONDETAIL_INVOICE), xuất thông báo “Hóa đơn so_hoa_don đã
được nhập ngày {PM_CONFIRMINFORMATION.CreatedDate} bởi {FullName} (dựa theo
PM_CONFIRMINFORMATION.CreatedUser)
 Số hóa đơn không có ký tự chữ, tất cả đều là ký tự số
 Không vượt quá 7 ký tự:
 Số hóa đơn không được vượt quá 7 ký tự
 Check khi người dùng hoàn tất nhập số hóa đơn: chuyển control ra khỏi ô nhập số hóa
đơn.
 Bắt buộc nhập.
o Ký hiệu HĐ:
 Bắt buộc nhập. Cho phép nhập các ký tự chữ, số và các ký tự { “/”, “.”,”,”,”\”}
o Ngày hóa đơn:
 Cho phép nhập hoặc chọn ngày trên hóa đơn.
 Định dạng: dd/mm/yyyy
 Ngày hóa đơn lớn hơn ngày hiện tại, thông báo: “Ngày hóa đơn không được lớn hơn
ngày hiện tại. Vui lòng kiểm tra lại hoặc liên hệ bộ phận kế toán để được hỗ trợ.”
 Ngày hóa đơn trước ngày now() – 6: Ngày hóa đơn không được trước quá 6 ngày so với
ngày hiện tại. Vui lòng kiểm tra lại hoặc liên hệ bộ phận kế toán để được hỗ trợ.”

 Ngày hóa đơn thuộc khoản từ now() – 3 đến now(): cho phép nhập hàng.
 Ngày hóa đơn thuộc khoản từ now() – 3 đến now() – 6: hiển thị thông báo: HĐ đã quá
hạn 3 ngày, Không đủ điều kiện nhập hàng. Liên hệ bộ phận kế toán để được hỗ trợ
 Không cho phép để trống
Nhận hàng tại siêu thị

o Chiết khấu HĐ
 Load dữ liệu mặc định rỗng.
 Cho phép người dùng nhập số tiền chiết khấu trên tổng hóa đơn.
 Định dạng ký tự số: phân cách phần ngàn bằng dấu {,}, phần số lẻ bẳng dấu {.}
o Tổng tiền HĐ
 Load dữ liệu mặc định rỗng.
 Cho phép người dùng nhập số tiền tổng hóa đơn.
 Định dạng ký tự số: phân cách phần ngàn bằng dấu {,}, phần số lẻ bẳng dấu {.}
o Chụp ảnh hóa đơn

Sau khi người dùng chọn tiếp tục để lưu thông tin hóa đơn (Nếu có)
- Hiển thị toàn bộ giao diện tất cả thông tin nhập hàng của tất cả sản phẩm được nhập như hình bên.
- Chọn SỬA hoặc NHẬN để xác nhận số lượng hàng nhận.
- Sau khi hoàn tất xác nhận số lượng chọn
Hệ thống thực hiện hiển thị danh sách sản phẩm trong đơn hàng đã quét:
o Sum tổng số lượng theo sản phẩm thể hiện ở cột SLPO
o SL nhận (chưa nhận)
o Cho phép chọn để nhập số lượng sản phẩm.
o Ẩn chưa cho phép hoàn tất và in biên nhận.
o Cho phép quét, nhập mã hoặc tên để tìm sản phẩm.
o Sắp xếp theo trình tự từ A -> Z
o Những sản phẩm đã nhận chênh lệch với sl Po hiển thị chữ màu đỏ

o Button nhận chuyển thành sau khi đã nhận hàng

User thực hiện chọn hệ thống sẽ chuyển sang giao diện cho phép user thực hiện:
o Nhập số lượng sản phẩm
Nhận hàng tại siêu thị

Lấy dữ liệu từ cân điện tử theo sản phẩm


Đối với sản phẩm yêu cầu kiểm hàng theo cân điện tử (ProductID tồn tại trong bảng PM_ScaleProduct), hiển thị
giao diện, cho phép người dùng lấy dữ liệu từ cân điện tử. User thực hiện chọn , hệ thống kết nối và
lấy dữ liệu từ cân điện tử và hiển thị giao diện sau khi lấy cân.
o Thông báo ‘Vui lòng chọn cân ’
o Chọn IP cân đúng với vị trí cân SP
o Sau khi chọn cân nhấn ‘Cập nhật ’ số lượng sẽ được hiện
o Xóa nếu dữ liệu cân bị sai bằng cách chọn .
o Để lấy dữ liệu cân lần 2 thực hiện chọn
o Hệ thống tự sum tổng số lượng theo đơn vị đếm và số lượng cân theo dữ liệu user nhập và hệ thống cân
như giao diện.
Nếu sản phẩm không về, user thực hiện check chọn hệ thống hiển thị giao diện hàng không về.
Sau khi xác nhận số lượng, nhân viên thực hiện chọn để thực hiện nhận sản phẩm tiếp theo.
o Đối với các sản phẩm không yêu cầu lấy cân điện tử (ProductID không tồn tại trong bảng
PM_ScaleProduct), hệ thống hiển thị cho phép người dùng nhập số lượng sản phẩm nhận.

o User có thể chọn để tăng 1 đơn vị nhận hoặc để giảm 1 đơn vị nhận hoặc để
nhập số lượng nhận.
o Chỉ cho phép nhập số thập phân nếu đơn vị tính của sản phẩm cho phép nhập số thập phân
(PM_QuantityUnit.IsAllowDecimal = 1)
o Nếu sản phẩm không về, user thực hiện check chọn hệ thống hiển thị giao diện hàng
Nhận hàng tại siêu thị

không về.
Sau khi xác nhận số lượng, nhân viên thực hiện chọn để thực hiện nhận sản phẩm tiếp theo.
o Sau khi hoàn tất hệ thống hiển thị giao diện cho phép nhận hàng sản phẩm tiếp theo.
o Khi đã hoàn tất nhận tất cả các sản phẩm trong đợt nhận hàng, user thực hiện hoàn tất và in mẫu biên
nhận giao cho đối tác.
o Lưu trữ dữ liệu: (không lưu bảng INV_ConfirmInformation_Package)

Sau Hoàn tất in biên bản nhận hàng:


Thông tin hiển thị mẫu in:
o Siêu thị nhận hàng = PM_Store.StoreName (dựa theo inv_confirminformation. inputstoreid)
o Thời gian nhận hàng = inv_confirminformation. createddate (định dạng dd/MM/yyyy)
o Nhận cho chứng từ = inv_confirminformationdetail.voucherconcernid
o Sản phẩm đã nhận sau khi kiểm chi tiết = confirminformationtype.confirminformationtype
o Thông tin nhân viên nhận = confirminformationtype.createduser
o Mã đợt nhận hàng = confirminformationid
o Dữ liệu sp, số lượng:
 PM_Product.ProductName (dựa theo pm_confirminformationdetail_product.Productid) -
pm_confirminformationdetail_product.totalquantity
Nhận hàng tại siêu thị

3 Thiết kế database
3.1 Sơ đồ
Nhận hàng tại siêu thị

3.2 Mô tả bảng và script

4 Lưu ý về kỹ thuật
5 Lịch sử chỉnh sửa tính năng

Người yêu cầu


No Tính năng thay đổi Nội dung yêu cầu thay đổi Nội dung cũ Ngày điều chỉnh
(link yêu cầu thay đổi)
1
2

You might also like