Trang 1 trên tổng số 5 123... Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 47 kết quả

Đề tài: Phần mềm tạo số serial

  1. #1
    Ngày gia nhập
    04 2012
    Bài viết
    8

    Mặc định Phần mềm tạo số serial

    Mình đang muốn viết phần mềm tạo số serial. Mỗi model có dạng serial khác nhau
    Model A : 1AxxxxZ
    Model B: 2xxxxY
    Model C : 3CBxxxxG
    và còn nhiều model khác với cấu trúc khác nhau
    Với xxxx là dãy số serial liên tiếp.
    Khi cần tạo 500 số serial của model A, phần mềm sẽ tìm số serial cuối tạo gần nhất của model A và thêm 500 số serial
    Ví dụ số serial cuối gần nhất của model A là : 1A3000Z thì 500 số tiếp theo là : 1A3001Z-1A3500Z
    Nếu là model B và serial cuối gần nhất là : 23000Y thì 500 số tiếp theo là : 23001Y-23500Y
    Nếu là model C và serial cuối gần nhất là : 3CB3000G thì 500 số tiếp theo là : 3CB3001G-3CB3500G
    Các bạn gợi ý hướng giải quyết cho mình nhé!
    Thank!

  2. #2
    Ngày gia nhập
    08 2017
    Bài viết
    3,096

    Trích dẫn Nguyên bản được gửi bởi eclipse_bk47 Xem bài viết
    Mình đang muốn viết phần mềm tạo số serial. Mỗi model có dạng serial khác nhau
    Model A : 1AxxxxZ
    Model B: 2xxxxY
    Model C : 3CBxxxxG
    và còn nhiều model khác với cấu trúc khác nhau
    Với xxxx là dãy số serial liên tiếp.
    Khi cần tạo 500 số serial của model A, phần mềm sẽ tìm số serial cuối tạo gần nhất của model A và thêm 500 số serial
    Ví dụ số serial cuối gần nhất của model A là : 1A3000Z thì 500 số tiếp theo là : 1A3001Z-1A3500Z
    Nếu là model B và serial cuối gần nhất là : 23000Y thì 500 số tiếp theo là : 23001Y-23500Y
    Nếu là model C và serial cuối gần nhất là : 3CB3000G thì 500 số tiếp theo là : 3CB3001G-3CB3500G
    Các bạn gợi ý hướng giải quyết cho mình nhé!
    Thank!
    Tạo bảng tạm, bảng phụ, bảng tiện chi đó như sau:
    C++ Code:
    1. struct{
    2.   string Prefix;
    3.   string Infix;
    4.   string Postfix;
    5. //others ...
    6. }

    là ổn, Nhiều người làm thế!

  3. #3
    Ngày gia nhập
    04 2012
    Bài viết
    8

    Trích dẫn Nguyên bản được gửi bởi Monre Xem bài viết
    Tạo bảng tạm, bảng phụ, bảng tiện chi đó như sau:
    C++ Code:
    1. struct{
    2.   string Prefix;
    3.   string Infix;
    4.   string Postfix;
    5. //others ...
    6. }

    là ổn, Nhiều người làm thế!
    Bạn hướng dẫn thêm cho mình dc không?
    Thank bạn!

  4. #4
    Ngày gia nhập
    08 2017
    Bài viết
    3,096

    Đại khái nó giống với Ma_So_Dinh_Danh trong Căn cước Công Dân mới, như phác đồ Model của bạn (vd : 1A3000Z)
    Visual C# Code:
    1.       string Prefix;   //model, vd : 1A
    2.       string Infix;    //số hiện hành, vd : 3000
    3.       string Postfix;  //giới tính, vd : Z
    4.       //others ...
    5. }
    6. ...
    7. Model_0 = Prefix + Infix + Postfix; //phép tính overloading gì dì đó cho phù hợp cho Ma_So_Dinh_Danh
    8. // ex. 1A3000Z = 1A + 3000 + Z;
    9. Model_1 = Prefix + (Infix + 1) + Postfix; // next Serial, thích thì dùng for do while cũng tốt
    10. Model_2 = Prefix + (Infix + 2) + Postfix;
    11. Model_3 = Prefix + (Infix + 3) + Postfix;
    12. ...
    13. Infix += N_Input; //Update số hiện hành sau khi xuất kho, in CMND
    14. ...

    so với thông tư, chưa thu hồi, còn hiệu lực, được diễn nôm:
    - 3 chữ số đầu tiên được hiểu là mã tỉnh, thành phố trực thuộc trung ương hoặc mã quốc gia nơi công dân đăng ký thường trú;
    - 1 chữ số tiếp theo là mã giới tính của công dân;
    - 2 chữ số tiếp là mã năm sinh của công dân;
    - 6 chữ số cuối là khoảng số ngẫu nhiên.

    Chi tiết hơn, bạn có thể tham khảo ở đây:
    Thông tư 07/2016/TT-BCA quy định chi tiết luật căn cước công dân nghị định 137/2015/NĐ-CP

  5. #5
    Ngày gia nhập
    04 2012
    Bài viết
    8

    Nhưng các model của mình lưu trong database và liên tục thêm bớt model. Làm như bạn chắc ko dc?

  6. #6
    Ngày gia nhập
    08 2017
    Bài viết
    3,096

    Mặc định Phần mềm tạo số serial

    Trích dẫn Nguyên bản được gửi bởi eclipse_bk47 Xem bài viết
    Nhưng các model của mình lưu trong database và liên tục thêm bớt model. Làm như bạn chắc ko dc?
    Đó không phải là phát kiến của tôi.
    Không phải ai cũng tiêu hóa được, hiểu được cách làm này.

  7. #7
    Ngày gia nhập
    08 2017
    Bài viết
    3,096

    Chừng nào chúng ta đều có Căn cước Công Dân mới ? Sau khi có thì công bố cái này cũng chưa muộn.

  8. #8
    Ngày gia nhập
    07 2014
    Bài viết
    11

    Trích dẫn Nguyên bản được gửi bởi eclipse_bk47 Xem bài viết
    Nhưng các model của mình lưu trong database và liên tục thêm bớt model. Làm như bạn chắc ko dc?
    Mình thì không biết rõ như các bạn học đầy đủ mình chỉ tự học. Model bạn đã lưu trong database giống mình khi tạo model đó thì load stt cuối cùng của model +1
    stt update ngược về model khi save thôi.

  9. #9
    Ngày gia nhập
    08 2017
    Bài viết
    3,096

    Quan tâm phân biệt tự nguyện / cưỡng bức mần chi !

    Làm được thì làm, không được, mướn người khác.

  10. #10
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất đông người
    Bài viết
    577

    Mã số công dân dựa trên một giả thiết rằng suốt 500 năm (từ thế kỷ 20 đến hết thế kỷ 24), mỗi năm có 1 triệu trẻ Việt Nam cùng giới tính sinh ra ở cùng một nơi trên thế giới, bất kể nơi ấy là Hà Nội, Bắc Kạn hay ở tận... Congo.

    Và còn một giả thiết nữa là trên thế giới có 900 quốc gia. Và trong suốt thời gian 500 năm từ 1900 đến 2399, mỗi năm vẫn dành sẵn mã cho 2 triệu công dân VN sinh ra ở bất cứ nước nào trong số ấy, bất kể nước ấy là Trung Quốc vốn lập từ 5000 năm trước, Singapore mới lập 50 năm nay, hay một quốc gia sẽ thành lập vào... năm cuối thế kỷ 24.

    Bởi dựa trên những giả thiết phi lý thế, tài nguyên số bị lãng phí đến 100 lần hơn mức cần và đủ: thay vì 12 chữ số, đáng lẽ ra chỉ 10 chữ số thôi.

    Làm sao được thế? Gộp hai trường "mã nơi sinh" (3 chữ số) và "số ngẫu nhiên" (6 chữ số) lại thành một trường 7 chữ số, với vài chữ số đầu mã hóa nơi sinh, các chữ số còn lại dành cho số ngẫu nhiên. Độ dài của thành phần "nơi sinh" và thành phần "ngẫu nhiên" không cố định, mà biến thiên tùy nơi, tùy năm. Quy hoạch trường này là ngắn hạn, chẳng hạn, cứ 5 năm có thể cập nhật một lần.

    Ví dụ sau minh họa phương pháp trên. Số liệu được tham khảo từ [0001].

    Code:
    Khu vực                                Dân số    Mã nơi sinh và
                                           [triệu]   mã ngẫu nhiên
    ====================================== ======== ================
    Trong nước..............................87,84....00xxxxx-96xxxxx
    
    Đồng bằng sông Hồng.....................20,00....00xxxxx-23xxxxx
    Hà Nội...................................6,70....0xxxxxx
    Vĩnh Phúc................................1,01....10xxxxx
    Bắc Ninh.................................1,06....11xxxxx
    Quảng Ninh...............................1,16....12xxxxx
    Hải Dương................................1,72....13xxxxx-14xxxxx
    Hải Phòng................................1,88....15xxxxx-16xxxxx
    Hưng Yên.................................1,15....17xxxxx
    Thái Bình................................1,79....18xxxxx-19xxxxx
    Hà Nam...................................0,79....20xxxxx
    Nam Định.................................1,83....21xxxxx-22xxxxx
    Ninh Bình................................0,91....23xxxxx
    
    Trung du và miền núi phía Bắc...........11,29....24xxxxx-37xxxxx
    Hà Giang.................................0,75....24xxxxx
    Cao Bằng.................................0,52....25xxxxx
    Tuyên Quang..............................0,73....26xxxxx
    Lào Cai..................................0,64....27xxxxx
    Yên Bái..................................0,76....28xxxxx
    Thái Nguyên..............................1,14....29xxxxx
    Lạng Sơn.................................0,74....30xxxxx
    Bắc Giang................................1,57....31xxxxx-32xxxxx
    Phú Thọ..................................1,33....33xxxxx
    Điện Biên................................0,51....34xxxxx
    Sơn La...................................1,12....35xxxxx
    Hoà Bình.................................0,80....36xxxxx
    Bắc Kạn..................................0,30....370xxxx-374xxxx
    Lai Châu.................................0,39....375xxxx-379xxxx
    
    Trung Bộ và Tây Nguyên..................24,33....38xxxxx-61xxxxx
    Thanh Hoá................................3,41....38xxxxx-40xxxxx
    Nghệ An..................................2,94....41xxxxx-43xxxxx
    Hà Tĩnh..................................1,23....44xxxxx
    Quảng Bình...............................0,85....45xxxxx
    Quảng Trị................................0,60....46xxxxx
    Thừa Thiên Huế...........................1,10....47xxxxx
    Đà Nẵng..................................0,95....48xxxxx
    Quảng Nam................................1,44....49xxxxx
    Quảng Ngãi...............................1,22....50xxxxx
    Bình Định................................1,50....51xxxxx-524xxxxx
    Kon Tum..................................0,45....525xxxx-529xxxxx
    Đăk Nông.................................0,52....53xxxxx
    Gia Lai..................................1,32....54xxxxx
    Đăk Lăk..................................1,77....55xxxxx-56xxxxx
    Lâm Đồng.................................1,22....57xxxxx
    Phú Yên..................................0,87....58xxxxx
    Khánh Hoà................................1,17....59xxxxx
    Ninh Thuận...............................0,57....60xxxxx
    Bình Thuận...............................1,18....61xxxxx
    
    Đông Nam Bộ.............................14,89....62xxxxx-79xxxxx
    Bình Phước...............................0,91....62xxxxx
    Tây Ninh.................................1,08....63xxxxx
    Bình Dương...............................1,69....64xxxxx-65xxxxx
    Đồng Nai.................................2,67....66xxxxx-68xxxxx
    Bà Rịa - Vũng Tàu........................1,03....69xxxxx
    T.P. Hồ Chí Minh.........................7,52....7xxxxxx
    
    Đồng bằng sông Cửu Long.................17,33....80xxxxx-96xxxxx
    Long An..................................1,45....80xxxxx
    Bến Tre..................................1,26....81xxxxx
    Tiền Giang...............................1,68....82xxxxx-83xxxxx
    Đồng Tháp................................1,67....84xxxxx-85xxxxx
    An Giang.................................2,15....86xxxxx-87xxxxx
    Kiên Giang...............................1,71....88xxxxx-89xxxxx
    Trà Vinh.................................1,01....90xxxxx
    Vĩnh Long................................1,03....91xxxxx
    Cần Thơ..................................1,20....92xxxxx
    Hậu Giang................................0,77....93xxxxx
    Sóc Trăng................................1,30....94xxxxx
    Bạc Liêu.................................0,87....95xxxxx
    Cà Mau...................................1,21....96xxxxx
    
    Phần còn lại của thế giới.................???....97xxxxx-99xxxxx
    Để tóm tắt, quy hoạch này mã hóa được 20 triệu công dân (10 triệu nam, 10 triệu nữ) sinh ra mỗi năm. Trong vài năm gần đây, mỗi năm toàn quốc sinh thêm 1,6 triệu bé.

    Để so sánh, mã số công dân của Ukraina (dân số bằng một nửa VN) có 9 chữ số không kể checksum, không mã hóa nơi sinh, nhưng mã hóa được 5 000 công dân cùng giới tính sinh cùng ngày trong thời gian 100 000 ngày ~ 274 năm [0002]. Mã số công dân của Pháp (dân số gần bằng VN) có 13 chữ số (nói đúng hơn, 12 chữ số và 1 ký tự) không kể checksum, mã hóa được 1000 công dân cùng giới tính, tín ngưỡng (!) và quê quán (chính xác đến cấp xã/phường trong nước và tỉnh/thành nước ngoài) sinh cùng tháng trong thời gian 100 năm [0003].


    Tư liệu

    [0001] Tổng cục thống kê: Diện tích, dân số và mật độ dân số năm 2011 phân theo địa phương.
    [0002] Wikipedia: National identification number.
    [0003] Wikipedia: INSEE code.
    Đã được chỉnh sửa lần cuối bởi Ada : 26-12-2017 lúc 10:18 PM. Lý do: Chỉnh mã Hà Nội, TPHCM
    -...- -.- .. .-.. .-.. - .... . -... . .- ... - .-.-.

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn