diff --git a/lms/nladmin-system/libs/language-all.jar b/lms/nladmin-system/libs/language-all.jar new file mode 100644 index 0000000..a79897c Binary files /dev/null and b/lms/nladmin-system/libs/language-all.jar differ diff --git a/lms/nladmin-system/logPath_IS_UNDEFINED/AcsToLms/2025-12-29.0.log b/lms/nladmin-system/logPath_IS_UNDEFINED/AcsToLms/2025-12-29.0.log new file mode 100644 index 0000000..e69de29 diff --git a/lms/nladmin-system/logPath_IS_UNDEFINED/LmsToAcs/2025-12-29.0.log b/lms/nladmin-system/logPath_IS_UNDEFINED/LmsToAcs/2025-12-29.0.log new file mode 100644 index 0000000..e69de29 diff --git a/lms/nladmin-system/logPath_IS_UNDEFINED/LmsToMes/2025-12-29.0.log b/lms/nladmin-system/logPath_IS_UNDEFINED/LmsToMes/2025-12-29.0.log new file mode 100644 index 0000000..e69de29 diff --git a/lms/nladmin-system/logPath_IS_UNDEFINED/LmsToSap/2025-12-29.0.log b/lms/nladmin-system/logPath_IS_UNDEFINED/LmsToSap/2025-12-29.0.log new file mode 100644 index 0000000..e69de29 diff --git a/lms/nladmin-system/logPath_IS_UNDEFINED/MesToLms/2025-12-29.0.log b/lms/nladmin-system/logPath_IS_UNDEFINED/MesToLms/2025-12-29.0.log new file mode 100644 index 0000000..e69de29 diff --git a/lms/nladmin-system/logPath_IS_UNDEFINED/SapToLms/2025-12-29.0.log b/lms/nladmin-system/logPath_IS_UNDEFINED/SapToLms/2025-12-29.0.log new file mode 100644 index 0000000..e69de29 diff --git a/lms/nladmin-system/pom.xml b/lms/nladmin-system/pom.xml index 8f6408f..e682f6b 100644 --- a/lms/nladmin-system/pom.xml +++ b/lms/nladmin-system/pom.xml @@ -58,6 +58,17 @@ lucene-analyzers-common 8.2.0 + + + nl.sdkall + language-all + 0.0.1 + system + + ${project.basedir}/libs/language-all.jar + + + com.github.magese ik-analyzer diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/ClassstandardController.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/ClassstandardController.java index c0c0572..7a5bfed 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/ClassstandardController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/ClassstandardController.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.nl.language.LangBehavior; import org.nl.modules.logging.annotation.Log; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.wms.basedata.master.service.ClassstandardService; @@ -36,6 +37,8 @@ public class ClassstandardController { //@PreAuthorize("@el.check('Classstandard:list')") public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { + String language = LangBehavior.language("system.operation_failed"); + System.out.println(language); return new ResponseEntity<>(ClassstandardService.queryAll(whereJson, page), HttpStatus.OK); } diff --git a/lms/nladmin-system/src/main/resources/config/application.yml b/lms/nladmin-system/src/main/resources/config/application.yml index 3b2d3e2..735d62f 100644 --- a/lms/nladmin-system/src/main/resources/config/application.yml +++ b/lms/nladmin-system/src/main/resources/config/application.yml @@ -190,3 +190,11 @@ lucene: tlog: id-generator: org.nl.config.TlogIdGenerator + +i18n: + location: D:/i18n + supported-languages: + - zh + - en + - vi + fallback-to-classpath: true diff --git a/lms/nladmin-system/src/main/resources/language/i18n/vi.js b/lms/nladmin-system/src/main/resources/language/i18n/vi.js new file mode 100644 index 0000000..8afdc8f --- /dev/null +++ b/lms/nladmin-system/src/main/resources/language/i18n/vi.js @@ -0,0 +1,647 @@ +var config = { + "language": "Vietnamese", + "platform": { + "title": "Nền tảng Nuoli" + }, + "system": { + "exception": "Hệ thống bất thường, vui lòng liên hệ quản trị viên", + "paramException": "Tham số bất thường, vui lòng kiểm tra tham số đầu vào", + "resultException": "Kết quả yêu cầu không tồn tại", + "dataException": "Dữ liệu bất thường, dữ liệu không tồn tại", + "dataExceptionArg": "Dữ liệu bất thường, dữ liệu %s không tồn tại", + "dataDuplicationArg": "Dữ liệu trùng lặp, %s đã tồn tại trong hệ thống", + "dataFormat": "Dữ liệu bất thường, dữ liệu không chính xác", + "activatArg": "%s chưa được kích hoạt trong hệ thống", + "operation": "Thao tác thất bại", + "error_param_undefined": "Loại 【%s】 tương ứng 【%d】 chưa được định nghĩa", + "per_auth": "Quyền đã được phân phối, không thể xóa", + "error_isNull": "Dữ liệu không tồn tại: %s", + "dept_has": "Bộ phận đã liên kết người dùng, không thể xóa", + "user_not_exist": "Người dùng không tồn tại", + "password_error": "Mật khẩu sai", + "account_not_activated": "Tài khoản chưa kích hoạt", + "vehicle_already_in_storage": "Mã thiết bị vận chuyển:%s đã tồn tại trong kho, vui lòng kiểm tra dữ liệu!", + "no_available_location": "Không có vị trí kho có sẵn", + "detail_already_allocated": "Chi tiết hiện tại đã được phân bổ vị trí kho", + "no_allocated_location": "Chi tiết này chưa được phân bổ vị trí kho, vui lòng phân bổ trước", + "main_table_status_must_be_allocated": "Trạng thái bảng chính phải là đã phân bổ xong!", + "no_task_allocation_detail": "Không tìm thấy chi tiết phân bổ tương ứng với nhiệm vụ", + "no_inbound_bill_detail": "Không tìm thấy bản ghi chi tiết đơn nhập kho", + "no_inbound_bill": "Không tìm thấy đơn nhập kho", + "no_location_in_warehouse": "Khu vực kho này không có vị trí kho", + "no_vehicle_info": "Không có thông tin mã thiết bị vận chuyển này", + "no_suitable_location": "Không tìm thấy vị trí kho phù hợp", + "no_available_warehouse_area": "Không tìm thấy khu vực kho có sẵn", + "cannot_select_suitable_warehouse_area": "Không thể chọn khu vực kho phù hợp", + "captcha_config_error": "Thông tin cấu hình mã xác minh sai! Xem LoginCodeEnum để biết cấu hình chính xác", + "available_quantity_cannot_be_negative": "Số lượng có sẵn không thể âm, vui lòng kiểm tra số lượng thay đổi! Số lượng có sẵn hiện tại là 【%s】 Số lượng thay đổi hiện tại là 【%s】", + "operation_failed": "Thao tác thất bại", + "local_ip": "Địa chỉ IP máy cục bộ:" + }, + "business": { + "InvReminder": "Chiến lược phân bổ hiện tại, %s không có vị trí khả dụng", + "loginPassword": "Đăng nhập thất bại, tài khoản hoặc mật khẩu không chính xác", + "accountUse": "Đăng nhập thất bại, tài khoản chưa được kích hoạt" + }, + "common": { + "name": "Tên", + "create_name": "Người tạo", + "create_time": "Thời gian tạo", + "update_name": "Người sửa đổi", + "remark": "Ghi chú", + "is_used": "Đã kích hoạt", + "is_delete": "Đã xóa", + "create_mode": "Phương thức tạo", + "input_optname": "Người lập đơn", + "input_time": "Thời gian lập đơn", + "update_optname": "Người sửa đổi", + "update_time": "Thời gian sửa đổi", + "dis_optname": "Người phân phối", + "dis_time": "Thời gian phân phối", + "confirm_optname": "Người xác nhận", + "confirm_time": "Thời gian xác nhận", + "bill_code": "Số đơn", + "bill_type": "Loại đơn", + "biz_date": "Ngày nghiệp vụ", + "bill_status": "Trạng thái đơn", + "zh_name": "Tên tiếng Trung", + "in_name": "Tên tiếng Indonesia", + "en_name": "Tên tiếng Anh", + "ext_id": "ID bên ngoài", + "request_param_cannot_be_empty": "Tham số yêu cầu không được để trống", + "yes": "Có", + "no": "Không", + "user_info_get_fail": "Lấy thông tin người dùng thất bại", + "operation_success": "Thao tác thành công" + }, + "gateway": { + "picking_point_not_exist": "Vị trí chọn bạn nhập không tồn tại, vui lòng nhập vị trí chọn 1207 hoặc 1210!", + "create_task_fail_empty": "Tạo tác vụ thất bại: thông tin tác vụ trả về trống, tham số ứng dụng là", + "apply_task_fail": "Ứng dụng tác vụ thất bại, tham số ứng dụng là", + "check_error_log": "Vui lòng kiểm tra nhật ký lỗi" + }, + "md_pb_measureunit": { + "unit_code": "Mã", + "unit_name": "Tên", + "qty_precision": "Độ chính xác dữ liệu", + "qty_unit_id": "Đơn vị đo lường cơ bản", + "qty_unit_name": "Tên đơn vị" + }, + "md_pb_storagevehicleinfo": { + "storagevehicle_code": "Mã thiết bị vận chuyển", + "storagevehicle_name": "Tên thiết bị vận chuyển", + "one_code": "Mã vạch 1D", + "two_code": "Mã QR", + "storagevehicle_type": "Loại thiết bị vận chuyển", + "vehicle_width": "Chiều rộng thiết bị vận chuyển", + "vehicle_long": "Chiều dài thiết bị vận chuyển", + "vehicle_height": "Chiều cao thiết bị vận chuyển", + "weigth": "Trọng lượng pallet", + "overstruct_type": "Thiết bị vận chuyển có vượt quá vị trí không", + "occupystruct_qty": "Số lượng vị trí bị chiếm dụng", + "ext_id": "ID bên ngoài" + }, + "sch_base_point": { + "point_code": "Mã điểm", + "point_name": "Tên điểm", + "region_code": "Mã khu vực", + "region_name": "Tên khu vực", + "point_type": "Loại điểm", + "point_status": "Trạng thái điểm", + "vehicle_type": "Loại thiết bị vận chuyển", + "vehicle_code": "Mã thiết bị vận chuyển", + "vehicle_qty": "Số lượng thiết bị vận chuyển", + "in_order_seq": "Thứ tự nhập kho", + "out_order_seq": "Thứ tự xuất kho", + "in_empty_seq": "Thứ tự nhập kho thiết bị vận chuyển rỗng", + "out_empty_seq": "Thứ tự xuất kho thiết bị vận chuyển rỗng", + "parent_point_code": "Mã điểm cha", + "ext_point_code": "Mã điểm bên ngoài", + "ing_task_code": "Mã tác vụ đang thực hiện", + "is_has_workder": "Có tạo đơn hàng không", + "workshop_code": "Mã xưởng", + "is_auto": "Tự động" + }, + "sch_base_region": { + "region_code": "Mã khu vực", + "region_name": "Tên khu vực", + "point_type_explain": "Giải thích loại điểm", + "point_status_explain": "Giải thích trạng thái điểm", + "is_has_workder": "Có tạo đơn hàng không", + "order_seq": "Số thứ tự", + "workshop_code": "Mã xưởng" + }, + "sch_base_task": { + "task_code": "Mã tác vụ", + "task_status": "Trạng thái tác vụ", + "config_code": "Mã cấu hình", + "point_code1": "Điểm 1", + "point_code2": "Điểm 2", + "point_code3": "Điểm 3", + "point_code4": "Điểm 4", + "group_id": "ID nhóm", + "vehicle_type": "Loại thiết bị vận chuyển", + "vehicle_qty": "Số lượng thiết bị vận chuyển", + "vehicle_code": "Mã thiết bị vận chuyển", + "vehicle_code2": "Mã thiết bị vận chuyển 2", + "handle_status": "Trạng thái xử lý", + "car_no": "Số xe", + "task_group_id": "ID nhóm tác vụ", + "task_group_seq": "Số thứ tự nhóm tác vụ", + "finished_type": "Loại hoàn thành tác vụ", + "create_mode": "Phương thức tạo", + "request_param": "Tham số yêu cầu tạo tác vụ", + "response_param": "Tham số yêu cầu phát hành tác vụ", + "workshop_code": "Mã xưởng", + "ext_group_data": "Thông tin nhóm bổ sung", + "priority": "Mức độ ưu tiên ACS" + }, + "sch_base_taskconfig": { + "config_code": "Mã cấu hình", + "config_name": "Tên cấu hình", + "route_plan_code": "Mã lập kế hoạch tuyến đường", + "task_qf_type": "Loại lấy/đặt tác vụ", + "acs_task_type": "Loại tác vụ ACS", + "task_name": "Tên tác vụ", + "task_type": "Loại tác vụ", + "task_direction": "Hướng tác vụ", + "priority": "Mức độ ưu tiên", + "task_create_max_num": "Số lượng tác vụ tối đa được phép tạo", + "task_issue_max_num": "Số lượng tác vụ tối đa được phép phát hành", + "is_auto_issue": "Tự động phát hành", + "start_region_str": "Cấu hình khu vực bắt đầu", + "next_region_str": "Cấu hình khu vực kết thúc", + "start_point_pre": "Tiền tố điểm bắt đầu", + "next_region_pre": "Tiền tố khu vực kết thúc", + "is_check_workorder": "Có kiểm tra đơn hàng công việc không", + "is_check_start_lock": "Có đánh giá khóa điểm bắt đầu không", + "is_immediate_create": "Tạo ngay lập tức", + "is_check_next_lock": "Có đánh giá khóa điểm kết thúc không", + "is_start_auto": "Điểm bắt đầu tự động", + "is_next_auto": "Điểm kết thúc tự động", + "is_lock_start": "Khóa điểm bắt đầu", + "is_lock_next": "Khóa điểm kết thúc", + "request_param": "Tham số yêu cầu tạo tác vụ", + "response_param": "Tham số yêu cầu phát hành tác vụ", + "is_group_congrol_issue_seq": "Có kiểm soát thứ tự phát hành theo nhóm không", + "unfinish_notify_time": "Thời gian thông báo tác vụ chưa hoàn thành", + "sql_param": "Cấu hình SQL", + "workshop_code": "Mã xưởng" + }, + "st_ivt_bsrealstorattr": { + "stor_code": "Mã kho", + "stor_name": "Tên kho", + "simple_name": "Tên viết tắt kho", + "stor_capacity": "Dung lượng kho", + "total_area": "Tổng diện tích", + "stor_type_scode": "Tính chất kho", + "is_virtualstore": "Có phải là kho ảo không", + "is_semi_finished": "Có phải là kho bán thành phẩm không", + "is_materialstore": "Có phải là kho nguyên liệu không", + "is_productstore": "Có phải là kho thành phẩm không", + "is_attachment": "Có phải là kho phụ tùng không", + "is_reversed": "Có cho phép trả hàng không", + "is_mvout_auto_cfm": "Tự động xác nhận nghiệp vụ chuyển đi", + "is_mvin_auto_cfm": "Tự động xác nhận nghiệp vụ chuyển đến", + "area": "Khu vực", + "storea_ddress": "Địa chỉ kho", + "principal": "Người phụ trách", + "office_phone": "Điện thoại văn phòng", + "mobile_no": "Số điện thoại di động", + "order_index": "Thứ tự hiển thị", + "whstate_scode": "Trạng thái", + "base_class_id": "Phân loại cơ bản vật liệu", + "sysownerid": "ID chủ sở hữu", + "sysdeptid": "ID bộ phận", + "syscompanyid": "ID công ty", + "ext_id": "ID bên ngoài", + "depart_name": "Tên bộ phận", + "company_name": "Tên công ty" + }, + "st_ivt_checkdtl": { + "seq_no": "Số thứ tự chi tiết", + "sect_code": "Khu vực kiểm kê", + "struct_code": "Vị trí kiểm kê", + "checkpoint_code": "Trạm kiểm kê", + "storagevehicle_code": "Mã thiết bị vận chuyển lưu trữ", + "material_id": "ID vật liệu", + "pcsn": "Lô", + "base_qty": "Số lượng tồn kho", + "status": "Trạng thái", + "is_down": "Đã phát hành", + "fac_qty": "Số lượng kiểm kê", + "check_result": "Kết quả kiểm kê", + "check_optname": "Người kiểm kê", + "check_time": "Thời gian kiểm kê", + "remark": "Ghi chú chi tiết", + "check_code": "Số đơn kiểm kê", + "check_type": "Loại đơn kiểm kê", + "stor_name": "Tên kho", + "dtl_num": "Số lượng chi tiết", + "create_mode": "Phương thức tạo" + }, + "st_ivt_iostor": { + "stor_code": "Mã kho", + "sect_date": "Ngày", + "quality_scode": "Loại chất lượng", + "start_num": "Số lượng đầu kỳ", + "in_num": "Số lượng nhập kho", + "out_num": "Số lượng xuất kho", + "total_qty": "Tổng số lượng", + "total_weight": "Tổng trọng lượng", + "io_type": "Loại xuất/nhập kho", + "detail_count": "Số lượng chi tiết", + "seq_no": "Số thứ tự chi tiết", + "work_status": "Trạng thái thực hiện", + "task_id": "ID tác vụ", + "storagevehicle_code": "Mã thiết bị vận chuyển lưu trữ", + "is_issued": "Đã phát hành", + "plan_qty": "Số lượng kế hoạch", + "real_qty": "Số lượng thực tế", + "point_code": "ID điểm xuất/nhập kho", + "assign_qty": "Số lượng đã phân bổ", + "unassign_qty": "Số lượng chưa phân bổ", + "mol_code": "Số đơn hao hụt", + "mol_inv_type": "Loại đơn hao hụt", + "mol_type": "Loại hao hụt", + "turnout_sect_code": "Mã khu vực chuyển đi", + "turnout_struct_code": "Mã vị trí chuyển đi", + "turnin_sect_code": "Mã khu vực chuyển đến", + "turnin_struct_code": "Mã vị trí chuyển đến" + }, + "structWarning": { + "safe_qty_lower_limit": "Giới hạn dưới tồn kho an toàn", + "safe_qty_upper_limit": "Giới hạn trên tồn kho an toàn", + "cron": "Biểu thức", + "notify_type": "Loại thông báo", + "overdue_days": "Số ngày quá hạn", + "safe_days": "Số ngày an toàn", + "is_read": "Đã đọc", + "current_qty": "Số lượng hiện tại" + }, + "strategy": { + "sect_code": "Khu vực kho", + "strategy": "Quy tắc", + "strategy_type": "1 Chiến lược nhập kho 2 Chiến lược xuất kho", + "description": "Mô tả", + "strategy_code": "Mã chiến lược", + "strategy_name": "Tên chiến lược", + "class_type": "Loại xử lý", + "param": "Lớp xử lý", + "ban": "Cấm thao tác", + "form_data": "Tham số hạn chế" + }, + "code_rule": { + "current_value": "Giá trị hiện tại" + }, + "dept": { + "dept_id": "ID", + "pid": "Bộ phận cấp trên", + "sub_count": "Số lượng bộ phận con", + "name": "Tên", + "zh_name": "Tên tiếng Trung", + "in_name": "Tên tiếng Indonesia", + "en_name": "Tên tiếng Anh", + "dept_sort": "Sắp xếp", + "is_used": "Trạng thái", + "create_name": "Người tạo", + "update_name": "Người cập nhật", + "create_time": "Ngày tạo", + "update_time": "Thời gian cập nhật", + "code": "Mã bộ phận", + "ext_id": "ID bên ngoài" + }, + "dict": { + "dict_type": "Loại từ điển", + "dict_sort": "Số thứ tự", + "label": "Nhãn từ điển", + "value": "Giá trị từ điển", + "para1": "Tham số 1", + "para2": "Tham số 2", + "para3": "Tham số 3" + }, + "menu": { + "menu_id": "ID menu", + "pid": "ID menu cấp trên", + "sub_count": "Số lượng menu con", + "type": "Loại menu", + "system_type": "Hệ thống thuộc về", + "category": "Phân loại menu", + "title": "Tiêu đề menu", + "en_title": "Tiêu đề tiếng Anh", + "in_title": "Tiêu đề tiếng Indonesia", + "zh_title": "Tiêu đề tiếng Trung", + "component_name": "Tên thành phần", + "component": "Thành phần", + "menu_sort": "Sắp xếp", + "icon": "Biểu tượng", + "path": "Đường dẫn", + "iframe": "Có phải liên kết bên ngoài không", + "cache": "Có lưu vào bộ nhớ cache không", + "hidden": "Có ẩn không", + "permission": "Quyền", + "is_pc": "Có phải menu PC không" + }, + "param": { + "code": "Mã", + "name": "Tên", + "zh_name": "Tên", + "en_name": "Tên tiếng Anh", + "in_name": "Tên tiếng Indonesia", + "value": "Giá trị" + }, + "user": { + "user_id": "ID người dùng", + "username": "Tài khoản đăng nhập", + "password": "Mật khẩu", + "is_admin": "Có phải tài khoản quản trị viên không", + "person_name": "Họ tên", + "zh_person_name": "Họ tên tiếng Trung", + "en_person_name": "Họ tên tiếng Anh", + "in_person_name": "Họ tên tiếng Indonesia", + "gender": "Giới tính", + "zh_gender": "Giới tính tiếng Trung", + "en_gender": "Giới tính tiếng Anh", + "phone": "Điện thoại", + "email": "Email", + "avatar_name": "Đường dẫn avatar", + "avatar_path": "Đường dẫn avatar thực tế", + "extperson_id": "ID nhân viên bên ngoài", + "extuser_id": "ID người dùng bên ngoài", + "pwd_reset_user_id": "Người đặt lại mật khẩu", + "pwd_reset_time": "Thời gian đặt lại mật khẩu" + }, + "basedata_manage": { + "same_warehouse_numbers": "Tồn tại số kho giống nhau", + "deleted_or_without_permission_operation_failed": "Đã bị xóa hoặc không có quyền, thao tác thất bại!", + "same_supplier_code": "Tồn tại số nhà cung cấp giống nhau", + "current_device_code_already_exists": "Mã thiết bị hiện tại đã tồn tại 【%s】", + "current_supplier_code_already_exists": "Mã nhà cung cấp hiện tại đã tồn tại 【%s】", + "current_cust_code_already_exists": "Mã khách hàng hiện tại đã tồn tại 【%s】", + "current_material_code_already_exists": "Mã vật liệu hiện tại đã tồn tại 【%s】", + "current_sorting_code_already_exists": "Mã phân loại hiện tại đã tồn tại 【%s】", + "current_unit_code_already_exists": "Mã đơn vị đo lường hiện tại đã tồn tại 【%s】", + "unit_code_not_exists": "Mã đơn vị đo lường 【%s】 không tồn tại!", + "current_vehicle_group_plate_info_exists": "Thông tin nhóm pallet thiết bị vận chuyển hiện tại đã tồn tại", + "parents_cannot_be_oneself": "Cấp trên không thể là chính mình", + "material_information_not_exists": "Thông tin vật liệu 【%s】 không tồn tại!", + "storage_vehicle_code_already_exists": "Mã thiết bị vận chuyển hiện tại đã tồn tại 【%s】", + "vehicle_type_no_dict_config": "Loại thiết bị vận chuyển này %s không có cấu hình giá trị từ điển", + "storage_vehicle_not_exist": "Thiết bị vận chuyển với mã 【%s】 không tồn tại!", + "parent_class_code_invalid": "Vui lòng nhập đúng số nút cha!", + "sect_code_already_exists": "Tồn tại mã khu vực kho giống nhau trong cùng kho", + "struct_code_not_exist": "Mã cấu trúc 【%s】 không tồn tại", + "sect_no_io_rule": "Khu vực 【%s】 không có cấu hình chiến lược xuất/nhập kho", + "strategy_no_available_struct": "Chiến lược 【%s】 không có vị trí kho khả dụng, đã truy vấn tổng cộng %d vị trí kho", + "sect_no_in_rule": "Khu vực 【%s】 không có cấu hình chiến lược nhập kho" + }, + "sch_manage": { + "task_already_completed": "Tác vụ này đã hoàn thành!", + "task_already_cancelled": "Tác vụ này đã bị hủy!", + "task_not_exists": "Tác vụ này không tồn tại", + "only_cancel_generating_tasks": "Chỉ có thể hủy các tác vụ đang được tạo!", + "task_status_must_be_create_to_cancel": "Trạng thái tác vụ phải là Đã tạo mới có thể hủy tác vụ", + "same_point_code_exists": "Tồn tại mã điểm giống nhau", + "data_empty": "Dữ liệu trống!", + "task_config_already_exists": "Cấu hình tác vụ 【%s】 đã tồn tại!", + "start_and_end_region_cannot_be_empty": "Khu vực bắt đầu và khu vực kết thúc không thể đồng thời trống!", + "tray_cannot_be_empty": "Pallet không thể để trống" + }, + "decision_manage": { + "location_list_empty": "Tập hợp vị trí kho trống", + "strategy_type_error": "Loại chiến lược sai", + "no_available_location": "Chiến lược phân bổ hiện tại không có vị trí kho khả dụng", + "no_available_location_same_block_num": "Chiến lược phân bổ hiện tại sameBlockNum không có vị trí kho khả dụng", + "no_available_aisle": "Không tìm thấy lối đi khả dụng", + "strategy_name_already_exists": "Đã tồn tại chiến lược có tên giống nhau 【%s】", + "strategy_no_instance": "Khởi động thất bại, chiến lược hiện tại 【%s】 không có thông tin instance tương ứng", + "alley_ave_no_available_location": "Kết quả chiến lược cân bằng: Mã thiết bị vận chuyển:【%s】 chiến lược phân bổ hiện tại không có vị trí kho khả dụng", + "fifo_rule_inventory_shortage": "Chiến lược xuất kho hiện tại: Nhập trước xuất trước, phân bổ tồn kho thất bại, lý do thất bại: thiếu tồn kho!", + "depth_priority_location_not_found": " Chiến lược ưu tiên vị trí sâu: Lấy vị trí kho có hàng ở vị trí sâu và không có hàng ở vị trí nông: Mã thiết bị vận chuyển:【%s】 lấy vị trí kho thất bại, số lượng vị trí kho tương ứng với chiến lược này là 0!", + "limit_storage_vehicle_not_exist": "Chiến lược giới hạn vị trí: Thông tin thiết bị vận chuyển hiện tại không tồn tại:【%s】 không tồn tại", + "limit_storage_location_not_found": "Chiến lược giới hạn vị trí: Mã thiết bị vận chuyển:【%s】 lấy vị trí kho thất bại, số lượng vị trí kho tương ứng với cấp độ chiều cao này là 0!" + }, + "task": { + "status": { + "created": "Đã tạo", + "applied": "Đã ứng dụng", + "created_completed": "Đã tạo xong", + "issued": "Đã phát hành", + "executing": "Đang thực hiện", + "completed": "Đã hoàn thành", + "cancelled": "Đã hủy", + "unfinished": "Chưa hoàn thành" + }, + "created_desc": "Tạo tác vụ", + "applied_desc": "Ứng dụng tác vụ", + "create_completed_desc": "Tạo tác vụ hoàn tất", + "issued_desc": "Phát hành tác vụ", + "executing_desc": "Tác vụ đang thực hiện", + "completed_desc": "Tác vụ hoàn thành", + "cancelled_desc": "Tác vụ đã hủy", + "unfinished_desc": "Tác vụ chưa hoàn thành" + }, + "bind": { + "type": { + "unbind": "Hủy liên kết", + "bind": "Liên kết", + "no_operation": "Không thao tác" + } + }, + "vehicle": { + "type": { + "empty_pallet": "Pallet rỗng", + "empty_container": "Thùng chứa rỗng" + } + }, + "base_data": { + "type_not_defined": "Loại tương ứng 【%s】 chưa được định nghĩa" + }, + "pm_manage": { + "no_such_unit_info": "Không có thông tin đơn vị đo lường đó", + "no_such_warehouse_info": "Không có thông tin kho đó", + "form_type_param_cannot_be_empty": "Tham số loại biểu mẫu không thể để trống", + "current_bill_already_merged": "Đơn hiện tại đã được hợp nhất, không cho phép gửi lại:【%s】", + "current_bill_is_new_merged_bill": "Đơn hiện tại là đơn mới sau khi hợp nhất, không cho phép gửi lại:【%s】", + "current_bill_is_not_new_merged_bill": "Đơn hiện tại không phải là đơn mới hợp nhất, không cho phép gửi:【%s】" + }, + "warehouse_manage": { + "main_table_status_must_be_generate": "Trạng thái bảng chính phải là Đã tạo!", + "no_cancel_outbound_alloc_dtl": "Không tồn tại chi tiết phân bổ xuất kho có thể hủy", + "no_selected_outbound_point": "Chưa chọn điểm xuất kho", + "no_selected_floor": "Chưa chọn tầng", + "no_related_outbound_bill": "Không tìm thấy đơn xuất kho liên quan", + "no_alloc_dtl_to_set": "Hiện không có chi tiết phân bổ nào có thể thiết lập", + "main_table_status_must_be_allocated": "Trạng thái bảng chính phải là đã phân bổ xong!", + "cannot_force_confirm_with_unfinished_tasks": "Hiện có tác vụ chưa hoàn thành không thể xác nhận cưỡng chế!", + "no_alloc_dtl_for_task": "Không tìm thấy chi tiết phân bổ tương ứng với tác vụ", + "no_dtl_found": "Không tìm thấy chi tiết", + "vehicle_already_in_storage": "Mã thiết bị vận chuyển:【%s】 đã tồn tại trong kho, vui lòng kiểm tra dữ liệu!", + "detail_already_allocated_location": "Chi tiết hiện tại đã được phân bổ vị trí kho", + "no_available_location": "Không có vị trí kho có sẵn", + "detail_not_allocated_location": "Chi tiết này chưa được phân bổ vị trí kho, vui lòng phân bổ trước", + "cannot_find_allocation_detail_for_task": "Không tìm thấy chi tiết phân bổ tương ứng với tác vụ", + "cannot_find_inbound_detail_record": "Không tìm thấy bản ghi chi tiết đơn nhập kho", + "cannot_find_inbound_order": "Không tìm thấy đơn nhập kho", + "no_location_in_sector": "Khu vực kho này không có vị trí kho", + "no_carrier_info": "Không có thông tin mã thiết bị vận chuyển này", + "cannot_find_suitable_location": "Không tìm thấy vị trí kho phù hợp", + "cannot_find_available_sector": "Không tìm thấy khu vực kho có sẵn", + "cannot_select_suitable_sector": "Không thể chọn khu vực kho phù hợp", + "outbill_qty_zero": "Số lượng không thể bằng 0", + "outbill_sect_empty": "Khu vực kho phân bổ không thể để trống", + "outbill_not_found": "Không tìm thấy thông tin đơn xuất kho", + "outbill_no_details": "Đơn hàng hiện tại không có chi tiết xuất kho nào có thể phân bổ", + "outbill_no_cancelable_details": "Không tồn tại chi tiết phân bổ xuất kho có thể hủy", + "outbill_allocated": "Đã phân bổ xong, số lượng chưa phân bổ là 0", + "storagevehicle_no_inventory": "Thiết bị vận chuyển hiện tại 【%s】 không tồn tại tồn kho vật liệu lô liên quan, vui lòng kiểm tra dữ liệu!", + "frozen_quantity_cannot_be_negative": "Số lượng đóng băng không thể âm, vui lòng kiểm tra số lượng thay đổi! Số lượng đóng băng hiện tại là 【%s】 Số lượng thay đổi hiện tại là 【%d】" + }, + "pda_manage": { + "change_type_cannot_be_empty": "Loại thay đổi không thể để trống!", + "carrier_code_cannot_be_empty": "Mã thiết bị vận chuyển không thể để trống!", + "material_id_cannot_be_empty": "Định danh vật liệu không thể để trống!", + "unit_id_cannot_be_empty": "Định danh đơn vị đo lường không thể để trống!", + "unit_name_cannot_be_empty": "Tên đơn vị đo lường không thể để trống!", + "change_qty_cannot_be_empty": "Số lượng thay đổi không thể để trống!", + "carrier_already_has_inventory": "Thiết bị vận chuyển hiện tại đã tồn tại vật liệu tồn kho, vui lòng kiểm tra dữ liệu!", + "material_info_cannot_be_empty": "Thông tin vật liệu không thể để trống!", + "vehicle_info_cannot_be_empty": "Thông tin thiết bị vận chuyển không thể để trống!", + "vehicle_already_has_group_plate_info": "Mã thiết bị vận chuyển:【%s】 đã tồn tại thông tin nhóm pallet, vui lòng kiểm tra dữ liệu!", + "vehicle_already_in_storage": "Mã thiết bị vận chuyển:【%s】 đã tồn tại trong kho:【%d】, vui lòng kiểm tra dữ liệu!", + "dtllist_cannot_be_empty": "dtlList không thể để trống", + "vehicle_not_group_plated": "Thiết bị vận chuyển này chưa được nhóm pallet, vui lòng kiểm tra!", + "vehicle_not_in_group_plate_status": "Thiết bị vận chuyển này không ở trạng thái nhóm pallet, vui lòng kiểm tra!", + "point_not_exists": "Điểm không tồn tại:【%s】", + "no_materials_available_for_storage": "Hiện không có vật liệu nào có thể nhập kho!", + "move_in_location_cannot_be_empty": "Vị trí kho chuyển đến không thể để trống!", + "material_detail_cannot_be_empty": "Chi tiết vật liệu không thể để trống!", + "vehicle_not_exist_in_system": "Thiết bị vận chuyển không tồn tại trong hệ thống!", + "move_in_location_not_exist_in_system": "Vị trí kho chuyển đến không tồn tại trong hệ thống!", + "location_and_vehicle_code_cannot_be_empty": "Mã vị trí kho và mã thiết bị vận chuyển không thể đồng thời để trống!", + "vehicle_code_empty": "Mã thiết bị vận chuyển không thể để trống", + "point_code_empty": "Mã điểm không thể để trống", + "point_not_found": "Điểm 【%s】 không tồn tại", + "point_already_binded": "Điểm 【%s】 đã liên kết thiết bị vận chuyển 【%d】", + "vehicle_already_binded": "Thiết bị vận chuyển 【%s】 đã liên kết điểm 【%d】", + "point_no_vehicle_need_unbind": "Điểm 【%s】 không liên kết thiết bị vận chuyển 【%d】, không cần hủy liên kết", + "start_point_not_exist": "Điểm bắt đầu không tồn tại", + "end_point_not_exist": "Điểm kết thúc không tồn tại", + "site_code_empty": "Mã điểm không thể để trống", + "site_not_exist": "Điểm 【%s】 không tồn tại" + }, + "acs": { + "connection_failed": "Kết nối ACS thất bại" + }, + "status": { + "published": "Xuất bản", + "unpublished": "Chưa xuất bản", + "started": "Bắt đầu", + "stopped": "Dừng", + "production_in": "Nhập kho sản xuất", + "purchase_in": "Nhập kho mua hàng", + "other_in": "Nhập kho khác", + "production_out": "Xuất kho sản xuất", + "sales_out": "Xuất kho bán hàng", + "other_out": "Xuất kho khác", + "generated": "Đã tạo", + "allocated": "Đã phân bổ xong", + "type_not_defined": "Loại tương ứng 【%s】 chưa được định nghĩa", + "code_not_defined_r": "Mã tương ứng 【%s】 chưa định nghĩa dữ liệu R", + "code_not_defined_x": "Mã tương ứng 【%s】 chưa định nghĩa dữ liệu x", + "node_completed": "Nút hoàn thành", + "abnormal_completed": "Hoàn thành bất thường", + "manual_in": "Nhập kho thủ công", + "material_out": "Xuất kho vật liệu", + "manual_out": "Xuất kho thủ công", + "move_storage": "Chuyển kho", + "abnormal_move": "Chuyển kho bất thường", + "inventory": "Kiểm kê", + "transfer": "Chuyển kho dự trữ", + "inventory_loss": "Thiếu kiểm kê", + "inventory_profit": "Thừa kiểm kê", + "physical_inventory": "Kiểm kê thực tế", + "receipt_notice": "Thông báo nhận hàng", + "sales_order": "Đơn hàng bán", + "production_inbound": "Nhập kho sản xuất", + "purchase_inbound": "Nhập kho mua hàng", + "sales_return_inbound": "Nhập kho trả hàng bán", + "purchase_return_outbound": "Xuất kho trả hàng mua", + "subcontract_material_list": "Đơn lĩnh vật liệu gia công", + "production_material_list": "Đơn chuẩn bị vật liệu sản xuất", + "production_picking": "Lĩnh vật liệu sản xuất", + "simple_production_picking": "Lĩnh vật liệu sản xuất đơn giản", + "transfer_outbound": "Xuất kho điều chuyển", + "other_outbound": "Xuất kho khác", + "lowest": "Mức độ ưu tiên thấp nhất", + "normal": "Mức độ ưu tiên bình thường", + "higher": "Mức độ ưu tiên cao hơn", + "urgent": "Mức độ ưu tiên khẩn cấp", + "warehouse": "Tác vụ kho", + "agv_task": "Tác vụ AGV", + "ctu_task": "Tác vụ CTU", + "third_floor_ctu": "CTU tầng 3", + "xian_gong": "Hệ thống Xiangang", + "hairou_ctu": "CTU Hairou", + "hikvision_ctu": "CTU Hikvision", + "inbound": "Nhập kho", + "outbound": "Xuất kho", + "in_out_bound": "Xuất/Nhập kho", + "first_floor_workshop": "Xưởng tầng 1", + "second_floor_workshop": "Xưởng tầng 2", + "third_floor_workshop": "Xưởng tầng 3", + "main_storage_picking_platform": "Nền tảng chọn hàng kho chính", + "first_floor_io_conveyor": "Băng tải xuất/nhập kho tầng 1", + "second_floor_io_conveyor": "Băng tải xuất/nhập kho tầng 2", + "second_floor_ctu_shelf_docking": "Vị trí kết nối giá kệ CTU tầng 2", + "second_floor_agv_production_line_docking": "Vị trí kết nối dây chuyền sản xuất AGV tầng 2", + "second_floor_empty_shelf_buffer": "Vị trí đệm giá kệ rỗng tầng 2", + "pallet_warehouse": "Kho pallet", + "container_warehouse": "Kho thùng chứa", + "virtual_warehouse": "Kho ảo", + "second_floor_ctu_buffer": "Vị trí đệm CTU tầng 2", + "second_floor_shelf_buffer": "Vị trí đệm giá kệ tầng 2", + "ascending": "Tăng dần", + "descending": "Giảm dần", + "unbind": "Hủy liên kết", + "bind": "Liên kết", + "no_operation": "Không thao tác", + "empty_tray": "Khay rỗng", + "empty_container": "Thùng chứa rỗng", + "start": "Bắt đầu", + "pause": "Tạm dừng", + "completed": "Hoàn thành", + "force_completed": "Cưỡng chế hoàn thành", + "cancelled": "Đã hủy" + }, + "error": { + "param_undefined": "Tham số 【%s】 chưa định nghĩa 【%s】", + "ParamExist": "Tham số 【%s】 đã tồn tại", + "Update": "Cập nhật thất bại", + "Detele": "Xóa thất bại", + "NullPoint": "Ngoại lệ con trỏ null", + "SystemAuthError": "Lỗi ủy quyền hệ thống", + "File_3": "Tải lên tệp thất bại", + "isNull": "Tham số 【%s】 không thể để trống", + "Send": "Gửi thất bại" + }, + "role": { + "Check_1": "Tên vai trò không thể để trống", + "level": "Cấp độ vai trò" + }, + "quartz": { + "ip_different": "IP máy cục bộ 【%s】 không khớp với IP điều phối 【%s】", + "create_job_failure": "Tạo tác vụ định thời thất bại" + }, + "system_manage": { + "username_password_error": "Tên người dùng hoặc mật khẩu sai", + "account_not_activated": "Tài khoản chưa kích hoạt", + "param_empty": "Tham số không thể để trống", + "code_rule_not_exist": "Thiếu cấu hình liên quan đến 【%s】", + "menu_no_permission": "Không có quyền menu", + "current_business_executing": "Nghiệp vụ hiện tại:【%s】 đang thực hiện, vui lòng thử lại sau" + }, + "login": { + "childError": "Menu nút con không thể đặt thành thư mục" + } +} diff --git a/lms/nladmin-system/src/main/resources/language/i18n/zh.js b/lms/nladmin-system/src/main/resources/language/i18n/zh.js new file mode 100644 index 0000000..a3bf0df --- /dev/null +++ b/lms/nladmin-system/src/main/resources/language/i18n/zh.js @@ -0,0 +1,648 @@ +var config = { + "language": "Chinese", + "platform": { + "title": "诺力平台" + }, + "system": { + "exception": "系统异常,请联系管理员", + "paramException": "参数异常,请检查输入参数", + "resultException": "请求结果不存在", + "dataException": "数据异常,数据不存在", + "dataExceptionArg": "数据异常,%s数据不存在", + "dataDuplicationArg": "数据重复,%s已存在于系统中", + "dataFormat": "数据异常,数据不正确", + "activatArg": "%s尚未在系统中激活", + "operation": "操作失败", + "error_param_undefined": "【%s】对应类型【%d】未定义", + "per_auth": "权限已分配,无法删除", + "error_isNull": "数据不存在: %s", + "dept_has": "部门已关联用户,无法删除", + "user_not_exist": "用户不存在", + "password_error": "密码错误", + "account_not_activated": "账号未激活", + "vehicle_already_in_storage": "载具编码:%s已存在库内,请对数据进行核实!", + "no_available_location": "无可用货位", + "detail_already_allocated": "当前明细已经分配过库位", + "no_allocated_location": "该明细还没分配货位,请先分配货位", + "main_table_status_must_be_allocated": "主表状态必须为分配完!", + "no_task_allocation_detail": "未找到任务对应的分配明细", + "no_inbound_bill_detail": "未找到入库单明细记录", + "no_inbound_bill": "未找到入库单", + "no_location_in_warehouse": "该库区没有仓位", + "no_vehicle_info": "没有该载具号信息", + "no_suitable_location": "未找到满足的仓位", + "no_available_warehouse_area": "未找到可用的库区", + "cannot_select_suitable_warehouse_area": "无法选择合适的库区", + "captcha_config_error": "验证码配置信息错误!正确配置查看 LoginCodeEnum", + "available_quantity_cannot_be_negative": "可用数不能为负数,请检查变动数量!当前可用数为【%s】当前变动数为【%s】", + "operation_failed": "操作失败", + "local_ip": "本机IP地址:" + }, + "business": { + "InvReminder": "当前分配策略,%s没有可用位置", + "loginPassword": "登入失败,账号密码不正确", + "accountUse": "登入失败,账号未启用" + }, + "common": { + "name": "名称", + "create_name": "创建人", + "create_time": "创建时间", + "update_name": "修改人", + "remark": "备注", + "is_used": "已激活", + "is_delete": "已删除", + "create_mode": "创建方式", + "input_optname": "制单人", + "input_time": "制单时间", + "update_optname": "修改人", + "update_time": "修改时间", + "dis_optname": "分配人", + "dis_time": "分配时间", + "confirm_optname": "确认人", + "confirm_time": "确认时间", + "bill_code": "单据编号", + "bill_type": "单据类型", + "biz_date": "业务日期", + "bill_status": "单据状态", + "zh_name": "中文名称", + "in_name": "印尼语名称", + "en_name": "英语名称", + "ext_id": "外部ID", + "request_param_cannot_be_empty": "请求参数不能为空", + "yes": "是", + "no": "否", + "user_info_get_fail": "用户信息获取失败", + "operation_success": "操作成功" + }, + "gateway": { + "picking_point_not_exist": "您输入的拣选位不存在,请输入1207或1210拣选位!", + "create_task_fail_empty": "创建任务失败:返回任务信息为空,申请参数为", + "apply_task_fail": "任务申请失败,申请参数为", + "check_error_log": "请查看错误日志" + }, + "md_pb_measureunit": { + "unit_code": "编码", + "unit_name": "名称", + "qty_precision": "数据精度", + "qty_unit_id": "基本计量单位", + "qty_unit_name": "单位名称" + }, + "md_pb_storagevehicleinfo": { + "storagevehicle_code": "载具编码", + "storagevehicle_name": "载具名称", + "one_code": "一维码", + "two_code": "二维码", + "storagevehicle_type": "载具类型", + "vehicle_width": "载具宽度", + "vehicle_long": "载具长度", + "vehicle_height": "载具高度", + "weigth": "托盘重量", + "overstruct_type": "载具是否超过位置", + "occupystruct_qty": "占用位置数量", + "ext_id": "外部ID" + }, + "sch_base_point": { + "point_code": "点位编码", + "point_name": "点位名称", + "region_code": "区域编码", + "region_name": "区域名称", + "point_type": "点位类型", + "point_status": "点位状态", + "vehicle_type": "载具类型", + "vehicle_code": "载具编码", + "vehicle_qty": "载具数量", + "in_order_seq": "入库顺序", + "out_order_seq": "出库顺序", + "in_empty_seq": "空载具入库顺序", + "out_empty_seq": "空载具出库顺序", + "parent_point_code": "父点位编码", + "ext_point_code": "外部点位编码", + "ing_task_code": "正在执行的任务编码", + "is_has_workder": "是否生成订单", + "workshop_code": "车间编码", + "is_auto": "自动" + }, + "sch_base_region": { + "region_code": "区域编码", + "region_name": "区域名称", + "point_type_explain": "点位类型说明", + "point_status_explain": "点位状态说明", + "is_has_workder": "是否生成订单", + "order_seq": "序号", + "workshop_code": "车间编码" + }, + "sch_base_task": { + "task_code": "任务编码", + "task_status": "任务状态", + "config_code": "配置编码", + "point_code1": "点位1", + "point_code2": "点位2", + "point_code3": "点位3", + "point_code4": "点位4", + "group_id": "组ID", + "vehicle_type": "载具类型", + "vehicle_qty": "载具数量", + "vehicle_code": "载具编码", + "vehicle_code2": "载具编码2", + "handle_status": "处理状态", + "car_no": "车牌号", + "task_group_id": "任务组ID", + "task_group_seq": "任务组序号", + "finished_type": "任务完成类型", + "create_mode": "创建方式", + "request_param": "创建任务请求参数", + "response_param": "下发任务请求参数", + "workshop_code": "车间编码", + "ext_group_data": "附加组信息", + "priority": "ACS优先级" + }, + "sch_base_taskconfig": { + "config_code": "配置编码", + "config_name": "配置名称", + "route_plan_code": "路线规划编码", + "task_qf_type": "任务取放类型", + "acs_task_type": "ACS任务类型", + "task_name": "任务名称", + "task_type": "任务类型", + "task_direction": "任务方向", + "priority": "优先级", + "task_create_max_num": "允许创建任务最大数量", + "task_issue_max_num": "允许下发任务最大数量", + "is_auto_issue": "自动下发", + "start_region_str": "起始区域配置", + "next_region_str": "结束区域配置", + "start_point_pre": "起始点前缀", + "next_region_pre": "结束区域前缀", + "is_check_workorder": "是否检查工单", + "is_check_start_lock": "是否评估起始点锁定", + "is_immediate_create": "立即创建", + "is_check_next_lock": "是否评估结束点锁定", + "is_start_auto": "起始点自动", + "is_next_auto": "结束点自动", + "is_lock_start": "锁定起始点", + "is_lock_next": "锁定结束点", + "request_param": "创建任务请求参数", + "response_param": "下发任务请求参数", + "is_group_congrol_issue_seq": "是否按组控制下发顺序", + "unfinish_notify_time": "任务未完成通知时间", + "sql_param": "SQL配置", + "workshop_code": "车间编码" + }, + "st_ivt_bsrealstorattr": { + "stor_code": "仓库编码", + "stor_name": "仓库名称", + "simple_name": "仓库简称", + "stor_capacity": "仓库容量", + "total_area": "总面积", + "stor_type_scode": "仓库性质", + "is_virtualstore": "是否虚拟仓库", + "is_semi_finished": "是否半成品库", + "is_materialstore": "是否原料库", + "is_productstore": "是否成品库", + "is_attachment": "是否配件库", + "is_reversed": "是否允许退货", + "is_mvout_auto_cfm": "自动确认转出业务", + "is_mvin_auto_cfm": "自动确认转入业务", + "area": "区域", + "storea_ddress": "仓库地址", + "principal": "负责人", + "office_phone": "办公电话", + "mobile_no": "手机号码", + "order_index": "显示顺序", + "whstate_scode": "状态", + "base_class_id": "物料基本分类", + "sysownerid": "所有者ID", + "sysdeptid": "部门ID", + "syscompanyid": "公司ID", + "ext_id": "外部ID", + "depart_name": "部门名称", + "company_name": "公司名称" + }, + "st_ivt_checkdtl": { + "seq_no": "明细序号", + "sect_code": "盘点区域", + "struct_code": "盘点位置", + "checkpoint_code": "盘点站点", + "storagevehicle_code": "存储载具编码", + "material_id": "物料ID", + "pcsn": "批次", + "base_qty": "库存数量", + "status": "状态", + "is_down": "已下发", + "fac_qty": "盘点数量", + "check_result": "盘点结果", + "check_optname": "盘点人", + "check_time": "盘点时间", + "remark": "明细备注", + "check_code": "盘点单号", + "check_type": "盘点单类型", + "stor_name": "仓库名称", + "dtl_num": "明细数量", + "create_mode": "创建方式" + }, + "st_ivt_iostor": { + "stor_code": "仓库编码", + "sect_date": "日期", + "quality_scode": "质量类型", + "start_num": "期初数量", + "in_num": "入库数量", + "out_num": "出库数量", + "total_qty": "总数量", + "total_weight": "总重量", + "io_type": "出入库类型", + "detail_count": "明细数量", + "seq_no": "明细序号", + "work_status": "执行状态", + "task_id": "任务ID", + "storagevehicle_code": "存储载具编码", + "is_issued": "已下发", + "plan_qty": "计划数量", + "real_qty": "实际数量", + "point_code": "出入库点ID", + "assign_qty": "已分配数量", + "unassign_qty": "未分配数量", + "mol_code": "损耗单号", + "mol_inv_type": "损耗单类型", + "mol_type": "损耗类型", + "turnout_sect_code": "转出区域编码", + "turnout_struct_code": "转出位置编码", + "turnin_sect_code": "转入区域编码", + "turnin_struct_code": "转入位置编码" + }, + "structWarning": { + "safe_qty_lower_limit": "安全库存下限", + "safe_qty_upper_limit": "安全库存上限", + "cron": "表达式", + "notify_type": "通知类型", + "overdue_days": "过期天数", + "safe_days": "安全天数", + "is_read": "已读", + "current_qty": "当前数量" + }, + "strategy": { + "sect_code": "仓库区域", + "strategy": "规则", + "strategy_type": "1 入库策略 2 出库策略", + "description": "描述", + "strategy_code": "策略编码", + "strategy_name": "策略名称", + "class_type": "处理类型", + "param": "处理类", + "ban": "禁止操作", + "form_data": "限制参数" + }, + "code_rule": { + "current_value": "当前值" + }, + "dept": { + "dept_id": "ID", + "pid": "上级部门", + "sub_count": "子部门数量", + "name": "名称", + "zh_name": "中文名称", + "in_name": "印尼语名称", + "en_name": "英语名称", + "dept_sort": "排序", + "is_used": "状态", + "create_name": "创建人", + "update_name": "更新人", + "create_time": "创建日期", + "update_time": "更新时间", + "code": "部门编码", + "ext_id": "外部ID" + }, + "dict": { + "dict_type": "字典类型", + "dict_sort": "序号", + "label": "字典标签", + "value": "字典值", + "para1": "参数1", + "para2": "参数2", + "para3": "参数3" + }, + "menu": { + "menu_id": "菜单ID", + "pid": "上级菜单ID", + "sub_count": "子菜单数量", + "type": "菜单类型", + "system_type": "所属系统", + "category": "菜单分类", + "title": "菜单标题", + "en_title": "英语标题", + "in_title": "印尼语标题", + "zh_title": "中文标题", + "component_name": "组件名称", + "component": "组件", + "menu_sort": "排序", + "icon": "图标", + "path": "路径", + "iframe": "是否外部链接", + "cache": "是否缓存", + "hidden": "是否隐藏", + "permission": "权限", + "is_pc": "是否PC菜单" + }, + "param": { + "code": "编码", + "name": "名称", + "zh_name": "名称", + "en_name": "英语名称", + "in_name": "印尼语名称", + "value": "值" + }, + "user": { + "user_id": "用户ID", + "username": "登录账号", + "password": "密码", + "is_admin": "是否管理员账号", + "person_name": "姓名", + "zh_person_name": "中文姓名", + "en_person_name": "英文姓名", + "in_person_name": "印尼语姓名", + "gender": "性别", + "zh_gender": "中文性别", + "en_gender": "英文性别", + "phone": "电话", + "email": "邮箱", + "avatar_name": "头像路径", + "avatar_path": "实际头像路径", + "extperson_id": "外部人员ID", + "extuser_id": "外部用户ID", + "pwd_reset_user_id": "重置密码人", + "pwd_reset_time": "重置密码时间" + }, + "basedata_manage": { + "same_warehouse_numbers": "存在相同的仓库编号", + "deleted_or_without_permission_operation_failed": "被删除或无权限,操作失败!", + "same_supplier_code": "存在相同的供应商编号", + "current_device_code_already_exists": "当前设备编码已存在【%s】", + "current_supplier_code_already_exists": "当前供应商编码已存在【%s】", + "current_cust_code_already_exists": "当前客户编码已存在【%s】", + "current_material_code_already_exists": "当前物料编码已存在【%s】", + "current_sorting_code_already_exists": "当前分类编码已存在【%s】", + "current_unit_code_already_exists": "当前计量单位编码已存在【%s】", + "unit_code_not_exists": "计量单位编码为【%s】不存在!", + "current_vehicle_group_plate_info_exists": "当前载具组盘信息已存在", + "parents_cannot_be_oneself": "上级不能为自己", + "material_information_not_exists": "物料信息为【%s】不存在!", + "storage_vehicle_code_already_exists": "当前载具编码已存在【%s】", + "vehicle_type_no_dict_config": "此载具类型%s没有配置字典值", + "storage_vehicle_not_exist": "载具编码为【%s】的载具不存在!", + "parent_class_code_invalid": "请输入正确的父节点编号!", + "sect_code_already_exists": "存在相同仓库的库区编号", + "struct_code_not_exist": "结构编码【%s】不存在", + "sect_no_io_rule": "区域【%s】没有配置出入库策略", + "strategy_no_available_struct": "策略【%s】没有可用的货位,共查询到%d个货位", + "sect_no_in_rule": "区域【%s】没有配置入库策略", + }, + "sch_manage": { + "task_already_completed": "该任务已完成!", + "task_already_cancelled": "该任务已取消!", + "task_not_exists": "该任务不存在", + "only_cancel_generating_tasks": "只能取消生成中的任务!", + "task_status_must_be_create_to_cancel": "任务状态必须为生成才能取消任务", + "same_point_code_exists": "存在相同的点位编码", + "data_empty": "数据为空!", + "task_config_already_exists": "任务配置【%s】已存在!", + "start_and_end_region_cannot_be_empty": "起点区域和终点区域不能同时为空!", + "tray_cannot_be_empty": "托盘不能为空" + }, + "decision_manage": { + "location_list_empty": "仓位集合为空", + "strategy_type_error": "策略类型错误", + "no_available_location": "当前分配策略无可用货位", + "no_available_location_same_block_num": "当前分配策略sameBlockNum无可用货位", + "no_available_aisle": "未找到可用的巷道", + "strategy_name_already_exists": "已存在相同名称的策略【%s】", + "strategy_no_instance": "启动失败,当前策略【%s】没有对应的实例信息", + "alley_ave_no_available_location": "均衡策略结果:载具号:【%s】当前分配策略无可用货位", + "fifo_rule_inventory_shortage": "当前出库策略:先进先出,库存分配失败,失败原因:库存不足!", + "depth_priority_location_not_found": " 深位优先策略:获取深货位有货且浅货位无货仓位:载具号:【%s】获取仓位失败,该策略对应库位数量为0!", + "limit_storage_vehicle_not_exist": "限位策略:当前载具信息不存在:【%s】不存在", + "limit_storage_location_not_found": "限位策略:载具号:【%s】获取仓位失败,该高度等级对应库位数量为0!" + }, + "task": { + "status": { + "created": "生成", + "applied": "申请", + "created_completed": "创建完成", + "issued": "下发", + "executing": "执行中", + "completed": "完成", + "cancelled": "已取消", + "unfinished": "未完成" + } + , + "created_desc": "生成任务", + "applied_desc": "申请任务", + "create_completed_desc": "创建完成任务", + "issued_desc": "下发任务", + "executing_desc": "执行中任务", + "completed_desc": "完成任务", + "cancelled_desc": "已取消任务", + "unfinished_desc": "未完成任务" + }, + "bind": { + "type": { + "unbind": "解绑", + "bind": "绑定", + "no_operation": "不操作" + } + }, + "vehicle": { + "type": { + "empty_pallet": "空托盘", + "empty_container": "空料箱" + } + }, + "base_data": { + "type_not_defined": "对应类型【%s】未定义" + }, + "pm_manage": { + "no_such_unit_info": "没有该计量单位信息", + "no_such_warehouse_info": "没有该仓库信息", + "form_type_param_cannot_be_empty": "表单类型参数不能为空", + "current_bill_already_merged": "当前单据已合单,不允许再次提交:【%s】", + "current_bill_is_new_merged_bill": "当前单据为合单后新单据,不允许再次提交:【%s】", + "current_bill_is_not_new_merged_bill": "当前单据为非合单新单据,不允许提交:【%s】" + }, + "warehouse_manage": { + "main_table_status_must_be_generate": "主表状态必须为生成!", + "no_cancel_outbound_alloc_dtl": "不存在可取消的出库分配明细", + "no_selected_outbound_point": "未选择出库点", + "no_selected_floor": "未选择楼层", + "no_related_outbound_bill": "未查到相关出库单", + "no_alloc_dtl_to_set": "当前没有可设置的分配明细", + "main_table_status_must_be_allocated": "主表状态必须为分配完!", + "cannot_force_confirm_with_unfinished_tasks": "当前有未完成的任务不能强制确认!", + "no_alloc_dtl_for_task": "未找到任务对应的分配明细", + "no_dtl_found": "未找到明细", + "vehicle_already_in_storage": "载具编码:【%s】已存在库内,请对数据进行核实!", + "detail_already_allocated_location": "当前明细已经分配过库位", + "no_available_location": "无可用货位", + "detail_not_allocated_location": "该明细还没分配货位,请先分配货位", + "cannot_find_allocation_detail_for_task": "未找到任务对应的分配明细", + "cannot_find_inbound_detail_record": "未找到入库单明细记录", + "cannot_find_inbound_order": "未找到入库单", + "no_location_in_sector": "该库区没有仓位", + "no_carrier_info": "没有该载具号信息", + "cannot_find_suitable_location": "未找到满足的仓位", + "cannot_find_available_sector": "未找到可用的库区", + "cannot_select_suitable_sector": "无法选择合适的库区", + "outbill_qty_zero": "数量不能为零", + "outbill_sect_empty": "分配库区不能为空", + "outbill_not_found": "查找不到出库单信息", + "outbill_no_details": "当前订单无可分配出库明细", + "outbill_no_cancelable_details": "不存在可取消的出库分配明细", + "outbill_allocated": "已全部分配完,未分配数量为0", + "storagevehicle_no_inventory": "当前载具【%s】不存在相关物料批次库存,请检查数据!", + "frozen_quantity_cannot_be_negative": "冻结数不能为负数,请检查变动数量!当前冻结为【%s】当前变动数为【%d】", + }, + "pda_manage": { + "change_type_cannot_be_empty": "变动类型不能为空!", + "carrier_code_cannot_be_empty": "载具编码不能为空!", + "material_id_cannot_be_empty": "物料标识不能为空!", + "unit_id_cannot_be_empty": "计量单位标识不能为空!", + "unit_name_cannot_be_empty": "计量单位名称不能为空!", + "change_qty_cannot_be_empty": "变动数量不能为空!", + "carrier_already_has_inventory": "当前载具已存在库存物料,请检查数据!", + "material_info_cannot_be_empty": "物料信息不能为空!", + "vehicle_info_cannot_be_empty": "载具信息不能为空!", + "vehicle_already_has_group_plate_info": "载具编码:【%s】已存在组盘信息,请对数据进行核实!", + "vehicle_already_in_storage": "载具编码:【%s】已存在库内:【%d】,请对数据进行核实!", + "dtllist_cannot_be_empty": "dtlList不可为空", + "vehicle_not_group_plated": "此载具未组盘,请检查!", + "vehicle_not_in_group_plate_status": "此载具非组盘状态,请检查!", + "point_not_exists": "点位不存在:【%s】", + "no_materials_available_for_storage": "当前没有可入库的物料!", + "move_in_location_cannot_be_empty": "移入货位不能为空!", + "material_detail_cannot_be_empty": "物料明细不能为空!", + "vehicle_not_exist_in_system": "载具在系统中不存在!", + "move_in_location_not_exist_in_system": "移入货位在系统中不存在!", + "location_and_vehicle_code_cannot_be_empty": "货位编码和载具编码不能同时为空!", + "vehicle_code_empty": "载具编码不能为空", + "point_code_empty": "点位编码不能为空", + "point_not_found": "点位【%s】不存在", + "point_already_binded": "点位【%s】已绑定载具【%d】", + "vehicle_already_binded": "载具【%s】已绑定点位【%d】", + "point_no_vehicle_need_unbind": "点位【%s】没有绑定载具【%d】,无需解绑", + "start_point_not_exist": "起点不存在", + "end_point_not_exist": "终点不存在", + "site_code_empty": "点位编码不能为空", + "site_not_exist": "点位【%s】不存在" + }, + "acs": { + "connection_failed": "ACS连接失败" + }, + "status": { + "published": "发布", + "unpublished": "未发布", + "started": "启动", + "stopped": "停止", + "production_in": "生产入库", + "purchase_in": "采购入库", + "other_in": "其他入库", + "production_out": "生产出库", + "sales_out": "销售出库", + "other_out": "其他出库", + "generated": "生成", + "allocated": "分配完", + "type_not_defined": "对应类型【%s】未定义", + "code_not_defined_r": "对应编码【%s】未定义R的数据", + "code_not_defined_x": "对应编码【%s】未定义x的数据", + "node_completed": "节点完成", + "abnormal_completed": "异常完成", + "manual_in": "手动入库", + "material_out": "物料出库", + "manual_out": "手动出库", + "move_storage": "移库", + "abnormal_move": "异常移库", + "inventory": "盘点", + "transfer": "转储", + "inventory_loss": "盘亏", + "inventory_profit": "盘盈", + "physical_inventory": "实物盘点", + "receipt_notice": "收货通知", + "sales_order": "销售订单", + "production_inbound": "生产入库", + "purchase_inbound": "采购入库", + "sales_return_inbound": "销售退货入库", + "purchase_return_outbound": "采购退货出库", + "subcontract_material_list": "委外领料单", + "production_material_list": "生产备料单", + "production_picking": "生产领料", + "simple_production_picking": "简易生产领料", + "transfer_outbound": "调拨出库", + "other_outbound": "其他出库", + "lowest": "最低优先级", + "normal": "正常优先级", + "higher": "较高优先级", + "urgent": "紧急优先级", + "warehouse": "仓库任务", + "agv_task": "AGV任务", + "ctu_task": "CTU任务", + "third_floor_ctu": "三楼CTU", + "xian_gong": "先功系统", + "hairou_ctu": "海柔CTU", + "hikvision_ctu": "海康CTU", + "inbound": "入库", + "outbound": "出库", + "in_out_bound": "出入库", + "first_floor_workshop": "一楼车间", + "second_floor_workshop": "二楼车间", + "third_floor_workshop": "三楼车间", + "main_storage_picking_platform": "主库拣选平台", + "first_floor_io_conveyor": "一楼出入库输送机", + "second_floor_io_conveyor": "二楼出入库输送机", + "second_floor_ctu_shelf_docking": "二楼CTU货架对接位", + "second_floor_agv_production_line_docking": "二楼AGV生产线对接位", + "second_floor_empty_shelf_buffer": "二楼空货架缓存位", + "pallet_warehouse": "托盘库", + "container_warehouse": "料箱库", + "virtual_warehouse": "虚拟库", + "second_floor_ctu_buffer": "二楼CTU缓存位", + "second_floor_shelf_buffer": "二楼货架缓存位", + "ascending": "升序", + "descending": "降序", + "unbind": "解绑", + "bind": "绑定", + "no_operation": "不操作", + "empty_tray": "空托盘", + "empty_container": "空料箱", + "start": "开始", + "pause": "暂停", + "completed": "完成", + "force_completed": "强制完成", + "cancelled": "已取消" + }, + "error": { + "param_undefined": "参数【%s】未定义【%s】", + "ParamExist": "参数【%s】已存在", + "Update": "更新失败", + "Detele": "删除失败", + "NullPoint": "空指针异常", + "SystemAuthError": "系统授权错误", + "File_3": "文件上传失败", + "isNull": "参数【%s】不能为空", + "Send": "发送失败" + }, + "role": { + "Check_1": "角色名称不能为空", + "level": "角色级别" + }, + "quartz": { + "ip_different": "本机IP【%s】与调度IP【%s】不一致", + "create_job_failure": "创建定时任务失败" + }, + "system_manage": { + "username_password_error": "用户名或密码错误", + "account_not_activated": "账号未激活", + "param_empty": "参数不能为空", + "code_rule_not_exist": "缺少【%s】相关配置", + "menu_no_permission": "没有菜单权限", + "current_business_executing": "当前业务:【%s】正在执行请稍后再试" + }, + "login": { + "childError": "子节点菜单不能设置为目录" + } +} diff --git a/lms/nladmin-ui/dist.zip b/lms/nladmin-ui/dist.zip new file mode 100644 index 0000000..b993c6e Binary files /dev/null and b/lms/nladmin-ui/dist.zip differ