From de009fadbb26918cc790d856530602be45790e94 Mon Sep 17 00:00:00 2001 From: tuqiang <437016993@qq.com> Date: Fri, 5 Dec 2025 09:26:00 +0800 Subject: [PATCH] =?UTF-8?q?add:=E9=A1=B5=E9=9D=A2=E5=9B=BD=E9=99=85?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nladmin-system/nlsso-server/pom.xml | 13 +- .../config/language/InitLocaleResolver.java | 2 +- .../nl/system/service/menu/dao/SysMenu.java | 4 + .../nl/system/service/menu/dto/MenuDto.java | 5 + .../service/menu/impl/SysMenuServiceImpl.java | 2 + .../controller/BigScreenController.java | 37 + .../service/BigScreenService.java | 12 + .../service/impl/BigScreenServiceImpl.java | 170 ++ .../acs/service/impl/AcsToWmsServiceImpl.java | 4 +- .../task/service/impl/PdaTaskServiceImpl.java | 8 +- .../sch/group/controller/GroupController.java | 6 +- .../wms/sch/group/service/dao/GroupPlate.java | 2 +- .../sch/group/service/dao/GroupPlatedtl.java | 2 +- .../service/dao/mapper/SchBasePointMapper.xml | 11 + .../org/nl/wms/sch/tasks/netxl/NETXLTask.java | 11 + .../sch/tasks/netxl/mapper/NETXLMapper.java | 3 + .../sch/tasks/netxl/mapper/NETXLMapper.xml | 30 + .../src/main/resources/config/application.yml | 9 +- .../src/main/resources/language/i18n/en.js | 771 +++++++ .../src/main/resources/language/i18n/jp.js | 1991 +++++++++++++++++ .../src/main/resources/language/i18n/zh.js | 1991 +++++++++++++++++ nladmin-ui/.env.production | 4 +- nladmin-ui/public/config.js | 4 +- nladmin-ui/src/api/i18n.js | 10 + .../src/components/Breadcrumb/index.vue | 3 +- .../src/components/Crud/CRUD.operation.vue | 7 +- nladmin-ui/src/i18n/index.js | 31 +- nladmin-ui/src/layout/components/Navbar.vue | 12 +- .../src/layout/components/Sidebar/Logo.vue | 3 +- nladmin-ui/src/main.js | 15 +- nladmin-ui/src/router/routers.js | 4 +- nladmin-ui/src/views/dashboard/Dashboard2.vue | 788 +++++++ .../src/views/dashboard/mixins/dashboard2.js | 69 + nladmin-ui/src/views/login.vue | 23 +- nladmin-ui/src/views/lucene/index.vue | 28 +- nladmin-ui/src/views/system/menu/index.vue | 10 +- nladmin-ui/src/views/system/param/index.vue | 11 +- nladmin-ui/src/views/system/user/center.vue | 5 +- .../views/system/user/center/updatePass.vue | 2 +- .../basedata/master/classification/index.vue | 36 +- .../wms/basedata/master/customer/index.vue | 56 +- .../views/wms/basedata/master/unit/index.vue | 20 +- .../wms/basedata/material/MaterialDialog.vue | 23 +- .../src/views/wms/basedata/material/index.vue | 38 +- .../src/views/wms/pdm/group/AddDialog.vue | 34 +- .../src/views/wms/pdm/group/ViewDialog.vue | 38 +- nladmin-ui/src/views/wms/pdm/group/index.vue | 43 +- .../src/views/wms/pdm/structivt/index.vue | 51 +- nladmin-ui/src/views/wms/sch/point/index.vue | 121 +- nladmin-ui/src/views/wms/sch/region/index.vue | 76 +- .../src/views/wms/sch/task/config/index.vue | 361 +-- nladmin-ui/src/views/wms/sch/task/index.vue | 195 +- 52 files changed, 6581 insertions(+), 624 deletions(-) create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/bigscreen_manage/controller/BigScreenController.java create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/bigscreen_manage/service/BigScreenService.java create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/bigscreen_manage/service/impl/BigScreenServiceImpl.java create mode 100644 nladmin-system/nlsso-server/src/main/resources/language/i18n/en.js create mode 100644 nladmin-system/nlsso-server/src/main/resources/language/i18n/jp.js create mode 100644 nladmin-system/nlsso-server/src/main/resources/language/i18n/zh.js create mode 100644 nladmin-ui/src/api/i18n.js create mode 100644 nladmin-ui/src/views/dashboard/Dashboard2.vue create mode 100644 nladmin-ui/src/views/dashboard/mixins/dashboard2.js diff --git a/nladmin-system/nlsso-server/pom.xml b/nladmin-system/nlsso-server/pom.xml index bea0d5b..88c1c08 100644 --- a/nladmin-system/nlsso-server/pom.xml +++ b/nladmin-system/nlsso-server/pom.xml @@ -87,6 +87,13 @@ jansi 1.17.1 + + + nl.sdkall + language-all + 0.0.1 + + @@ -241,17 +248,17 @@ org.apache.poi poi-ooxml-schemas - 3.17 + 4.0.0 org.apache.poi poi - 3.17 + 4.0.0 org.apache.poi poi-ooxml - 3.17 + 4.0.0 xerces diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/config/language/InitLocaleResolver.java b/nladmin-system/nlsso-server/src/main/java/org/nl/config/language/InitLocaleResolver.java index d06a4a1..fdde1f3 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/config/language/InitLocaleResolver.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/config/language/InitLocaleResolver.java @@ -17,7 +17,7 @@ import java.util.Map; * @Date 2023/11/13 09:36 */ public class InitLocaleResolver implements LocaleResolver { - public static Map Language_Country = MapOf.of("in","in-ID","en","en-US","zh","zh-CN"); + public static Map Language_Country = org.nl.common.utils.MapOf.of("in","in-ID","en","en-US","zh","zh-CN","jp","jp-JP"); @Override public Locale resolveLocale(HttpServletRequest request) { String header = request.getHeader("Accept-Language"); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/SysMenu.java b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/SysMenu.java index 134831b..510e745 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/SysMenu.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/SysMenu.java @@ -71,6 +71,10 @@ public class SysMenu implements Serializable { * 菜单标题 */ private String in_title; + /** + * 菜单标题 + */ + private String jp_title; /** * 组件名称 diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dto/MenuDto.java b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dto/MenuDto.java index 34e5d17..0c6399e 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dto/MenuDto.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dto/MenuDto.java @@ -44,6 +44,7 @@ public class MenuDto extends BaseDTO implements Serializable { private String title; private String zh_title; private String en_title; + private String jp_title; private String in_title; private Integer menu_sort; @@ -106,6 +107,7 @@ public class MenuDto extends BaseDTO implements Serializable { String in = "in"; String en = "en"; String zh = "zh"; + String jp = "jp"; if (in.equals(local)){ return in_title; @@ -116,6 +118,9 @@ public class MenuDto extends BaseDTO implements Serializable { if (zh.equals(local)){ return zh_title; } + if (jp.equals(local)){ + return jp_title; + } return title; } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java index ed0b58a..b42b771 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java @@ -229,6 +229,7 @@ public class SysMenuServiceImpl extends ServiceImpl impl menu.setEn_title(resources.getEn_title()); menu.setZh_title(resources.getZh_title()); menu.setIn_title(resources.getIn_title()); + menu.setJp_title(resources.getJp_title()); menu.setHidden(resources.getHidden()); menu.setComponent_name(resources.getComponent_name()); menu.setPermission(resources.getPermission()); @@ -363,6 +364,7 @@ public class SysMenuServiceImpl extends ServiceImpl impl menuDto.setEn_title(entity.getEn_title()); menuDto.setIn_title(entity.getIn_title()); menuDto.setZh_title(entity.getZh_title()); + menuDto.setJp_title(entity.getJp_title()); menuDto.setMenu_id(entity.getMenu_id()); menuDto.setType(entity.getType()); menuDto.setPermission(entity.getPermission()); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/bigscreen_manage/controller/BigScreenController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/bigscreen_manage/controller/BigScreenController.java new file mode 100644 index 0000000..e3fd165 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/bigscreen_manage/controller/BigScreenController.java @@ -0,0 +1,37 @@ +package org.nl.wms.bigscreen_manage.controller; + +import cn.dev33.satoken.annotation.SaIgnore; +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.logging.annotation.Log; +import org.nl.wms.bigscreen_manage.service.BigScreenService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/bigScreen") +@Slf4j +public class BigScreenController { + @Autowired + private BigScreenService bigScreenService; + + + @GetMapping("/getReportData") + @Log("获取报表数据") + @SaIgnore + public ResponseEntity getReportData() { + try { + JSONObject result = bigScreenService.getReportData(); + return new ResponseEntity<>(result, HttpStatus.OK); + } catch (Exception e) { + log.error("获取报表数据失败", e); + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/bigscreen_manage/service/BigScreenService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/bigscreen_manage/service/BigScreenService.java new file mode 100644 index 0000000..ec561c1 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/bigscreen_manage/service/BigScreenService.java @@ -0,0 +1,12 @@ +package org.nl.wms.bigscreen_manage.service; + +import com.alibaba.fastjson.JSONObject; + +public interface BigScreenService { + + /** + * 获取报表数据 + * @return 报表数据JSON对象,包含统计数据和历史数据 + */ + JSONObject getReportData(); +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/bigscreen_manage/service/impl/BigScreenServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/bigscreen_manage/service/impl/BigScreenServiceImpl.java new file mode 100644 index 0000000..a07d4c8 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/bigscreen_manage/service/impl/BigScreenServiceImpl.java @@ -0,0 +1,170 @@ +package org.nl.wms.bigscreen_manage.service.impl; + +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.NumberUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.nl.common.enums.PackageInfoIvtEnum; +import org.nl.wms.bigscreen_manage.service.BigScreenService; +import org.nl.wms.sch.task.service.ISchBaseTaskService; +import org.nl.wms.sch.task.service.dao.SchBaseTask; +import org.nl.wms.sch.task_manage.task.core.TaskStatus; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +@Service +public class BigScreenServiceImpl implements BigScreenService { + + @Autowired + private ISchBaseTaskService iSchBaseTaskService; + @Override + public JSONObject getReportData() { + JSONObject result = new JSONObject(); + + // 1. 构建统计数据 + JSONObject stats = new JSONObject(); + + // 总任务数 + QueryWrapper taskWrapper = new QueryWrapper<>(); + taskWrapper.lambda() + .eq(SchBaseTask::getIs_delete, PackageInfoIvtEnum.IS_SEND.code("否")) + ; + stats.put("totalTasks", iSchBaseTaskService.count(taskWrapper)); + + // 总完成任务数 + QueryWrapper finishTaskWrapper = new QueryWrapper<>(); + finishTaskWrapper.lambda() + .eq(SchBaseTask::getIs_delete, PackageInfoIvtEnum.IS_SEND.code("否")) + .eq(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode()) + ; + stats.put("totalfinishTasks", iSchBaseTaskService.count(finishTaskWrapper)); + + // 总取消任务数 + QueryWrapper cancelTaskWrapper = new QueryWrapper<>(); + cancelTaskWrapper.lambda() + .eq(SchBaseTask::getIs_delete, PackageInfoIvtEnum.IS_SEND.code("否")) + .eq(SchBaseTask::getTask_status, TaskStatus.CANCELED.getCode()) + ; + stats.put("totalcancelTasks", iSchBaseTaskService.count(cancelTaskWrapper)); + + // 总未完成任务数 + QueryWrapper unfinishTaskWrapper = new QueryWrapper<>(); + unfinishTaskWrapper.lambda() + .eq(SchBaseTask::getIs_delete, PackageInfoIvtEnum.IS_SEND.code("否")) + .lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode()) + ; + stats.put("totalunfinishTasks", iSchBaseTaskService.count(unfinishTaskWrapper)); + + // 今日任务数 + QueryWrapper todayTaskWrapper = new QueryWrapper<>(); + todayTaskWrapper.lambda() + .eq(SchBaseTask::getIs_delete, PackageInfoIvtEnum.IS_SEND.code("否")) + .ge(SchBaseTask::getCreate_time, DateUtil.beginOfDay(DateUtil.date())) + .le(SchBaseTask::getCreate_time, DateUtil.endOfDay(DateUtil.date())); + int todayTasks = iSchBaseTaskService.count(todayTaskWrapper); + stats.put("todayTasks", todayTasks); + + // 昨日任务数(计算日环比) + QueryWrapper yesterdayTaskWrapper = new QueryWrapper<>(); + yesterdayTaskWrapper.lambda() + .eq(SchBaseTask::getIs_delete, PackageInfoIvtEnum.IS_SEND.code("否")) + .eq(SchBaseTask::getTask_status,TaskStatus.FINISHED.getCode()) + .ge(SchBaseTask::getCreate_time, DateUtil.beginOfDay(DateUtil.offsetDay(DateUtil.date(), -1))) + .le(SchBaseTask::getCreate_time, DateUtil.endOfDay(DateUtil.offsetDay(DateUtil.date(), -1))); + int yesterdayTasks = iSchBaseTaskService.count(yesterdayTaskWrapper); + double dayOnDay = yesterdayTasks > 0 ? ((double)(todayTasks - yesterdayTasks) / yesterdayTasks) * 100 : 0; + stats.put("dayOnDay", NumberUtil.round(dayOnDay, 1)); + + // 今日完成任务数 + QueryWrapper todayFinshTaskWrapper = new QueryWrapper<>(); + todayFinshTaskWrapper.lambda() + .eq(SchBaseTask::getIs_delete, PackageInfoIvtEnum.IS_SEND.code("否")) + .eq(SchBaseTask::getTask_status,TaskStatus.FINISHED.getCode()) + .ge(SchBaseTask::getCreate_time, DateUtil.beginOfDay(DateUtil.date())) + .le(SchBaseTask::getCreate_time, DateUtil.endOfDay(DateUtil.date())); + stats.put("todayfinishTasks", iSchBaseTaskService.count(todayFinshTaskWrapper)); + + // 今日未完成任务数 + QueryWrapper todayUnFinshTaskWrapper = new QueryWrapper<>(); + todayUnFinshTaskWrapper.lambda() + .eq(SchBaseTask::getIs_delete, PackageInfoIvtEnum.IS_SEND.code("否")) + .lt(SchBaseTask::getTask_status,TaskStatus.FINISHED.getCode()) + .ge(SchBaseTask::getCreate_time, DateUtil.beginOfDay(DateUtil.date())) + .le(SchBaseTask::getCreate_time, DateUtil.endOfDay(DateUtil.date())); + stats.put("todayunfinishTasks", iSchBaseTaskService.count(todayUnFinshTaskWrapper)); + + // 今日完成任务数 + QueryWrapper todayCancelTaskWrapper = new QueryWrapper<>(); + todayCancelTaskWrapper.lambda() + .eq(SchBaseTask::getIs_delete, PackageInfoIvtEnum.IS_SEND.code("否")) + .eq(SchBaseTask::getTask_status,TaskStatus.CANCELED.getCode()) + .ge(SchBaseTask::getCreate_time, DateUtil.beginOfDay(DateUtil.date())) + .le(SchBaseTask::getCreate_time, DateUtil.endOfDay(DateUtil.date())); + stats.put("todaycancelTasks", iSchBaseTaskService.count(todayCancelTaskWrapper)); + + // 月均任务数(简单计算:总任务数/12) + // int totalTasks = iSchBaseTaskService.count(taskWrapper); + // stats.put("monthlyAvg", Math.round((double)totalTasks / 12)); + + + result.put("stats", stats); + + // 2. 构建历史数据(最近7天) + List historyList = new ArrayList<>(); + DateTime dateTime = DateUtil.offsetDay(DateUtil.date(), -6); + List dateList = DateUtil.rangeToList(dateTime, DateUtil.date(), DateField.DAY_OF_YEAR).stream() + .map(DateTime::toString) + .map(row -> row.substring(0, 10)) + .collect(Collectors.toList()); + + for (String date : dateList) { + JSONObject item = new JSONObject(); + item.put("date", date); + + // 查询该日完成任务数 + QueryWrapper finshWrapper = new QueryWrapper<>(); + finshWrapper.lambda() + .eq(SchBaseTask::getIs_delete, PackageInfoIvtEnum.IS_SEND.code("否")) + .eq(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode()) + .ge(SchBaseTask::getCreate_time, DateUtil.parse(date + " 00:00:00")) + .le(SchBaseTask::getCreate_time, DateUtil.parse(date + " 23:59:59")); + item.put("finishTask", iSchBaseTaskService.count(finshWrapper)); + + // 查询该日取消任务数 + QueryWrapper cancelWrapper = new QueryWrapper<>(); + cancelWrapper.lambda() + .eq(SchBaseTask::getIs_delete, PackageInfoIvtEnum.IS_SEND.code("否")) + .eq(SchBaseTask::getTask_status, TaskStatus.CANCELED.getCode()) + .ge(SchBaseTask::getCreate_time, DateUtil.parse(date + " 00:00:00")) + .le(SchBaseTask::getCreate_time, DateUtil.parse(date + " 23:59:59")); + item.put("cancelTask", iSchBaseTaskService.count(cancelWrapper)); + + // 其他搬运任务数 + QueryWrapper unfinishWrapper = new QueryWrapper<>(); + unfinishWrapper.lambda() + .eq(SchBaseTask::getIs_delete, PackageInfoIvtEnum.IS_SEND.code("否")) + .lt(SchBaseTask::getTask_status,TaskStatus.FINISHED.getCode()) + .ge(SchBaseTask::getCreate_time, DateUtil.parse(date + " 00:00:00")) + .le(SchBaseTask::getCreate_time, DateUtil.parse(date + " 23:59:59")); + item.put("unFinishTask", iSchBaseTaskService.count(unfinishWrapper)); + + + // 计算总数 + int finishTask = iSchBaseTaskService.count(finshWrapper); + int cancelTask = iSchBaseTaskService.count(cancelWrapper); + int unFinishTask = iSchBaseTaskService.count(unfinishWrapper); + item.put("total", finishTask + cancelTask + unFinishTask); + + historyList.add(item); + } + + result.put("historyList", historyList); + return result; + } +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index dd15a75..ffc2a3f 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -165,9 +165,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } //已分配过二次分配点位 if (StringUtils.isNotBlank(baseTask.getResponse_param())) { - if ("1".equals(type) && baseTask.getResponse_param().equals(PackageInfoIvtEnum.IS_SEND.code("取货是"))) { + if ("1".equals(type) && baseTask.getResponse_param().equals(PackageInfoIvtEnum.IS_ALLOCATE.code("取货是"))) { return baseTask.getPoint_code1(); - } else if ("2".equals(type) && baseTask.getResponse_param().equals(PackageInfoIvtEnum.IS_SEND.code("放货是"))) { + } else if ("2".equals(type) && baseTask.getResponse_param().equals(PackageInfoIvtEnum.IS_ALLOCATE.code("放货是"))) { return baseTask.getPoint_code2(); } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/task/service/impl/PdaTaskServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/task/service/impl/PdaTaskServiceImpl.java index 223d45d..fc77393 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/task/service/impl/PdaTaskServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/task/service/impl/PdaTaskServiceImpl.java @@ -310,18 +310,18 @@ public class PdaTaskServiceImpl implements PdaTaskService { String group_id = org.nl.common.utils.IdUtil.getStringId(); List list = new ArrayList<>(); List groupPlatedtls = new ArrayList<>(); - int qty = 0; + float qty = 0.0f; for (int i = 0; i < data.size(); i++) { JSONObject jsonObject = data.getJSONObject(i); String container_code = jsonObject.getString("container_code"); - qty += jsonObject.getIntValue("qty"); + qty += jsonObject.getFloatValue("qty"); GroupPlatedtl groupPlatedtlBuilder = GroupPlatedtl.builder() .groupdtl_id(org.nl.common.utils.IdUtil.getStringId()) .group_id(group_id) .pcsn(jsonObject.getString("pcsn")) .container_code(container_code) .storagevehicle_code(vehicleCode) - .qty(jsonObject.getIntValue("qty")) + .qty(jsonObject.getFloatValue("qty")) .material_code(mdMeMaterialbase.getMaterial_code()) .material_name(mdMeMaterialbase.getMaterial_name()) .measure_unit_id(measure_unit_id) @@ -382,7 +382,7 @@ public class PdaTaskServiceImpl implements PdaTaskService { @Override public JSONObject getNextRegions() { - List regions = Arrays.asList("E1", "E2", "DKB", "KTP"); + List regions = Arrays.asList("E1", "E2", "DKB", "KTP","WFPFZQ"); List list = regionMapper.selectList(new LambdaQueryWrapper().in(SchBaseRegion::getRegion_code, regions)); List ja = new ArrayList<>(); list.forEach(region -> { diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/controller/GroupController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/controller/GroupController.java index 5fdb810..3f7a168 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/controller/GroupController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/controller/GroupController.java @@ -93,18 +93,18 @@ public class GroupController { String group_id = org.nl.common.utils.IdUtil.getStringId(); List list = new ArrayList<>(); List groupPlatedtls = new ArrayList<>(); - int qty = 0; + float qty = 0.0f; for (int i = 0; i < rows.size(); i++) { JSONObject jsonObject = rows.get(i); String container_code = jsonObject.getString("container_code"); - qty += jsonObject.getIntValue("qty"); + qty += jsonObject.getFloatValue("qty"); GroupPlatedtl groupPlatedtlBuilder = GroupPlatedtl.builder() .groupdtl_id(org.nl.common.utils.IdUtil.getStringId()) .group_id(group_id) .pcsn(jsonObject.getString("pcsn")) .container_code(container_code) .storagevehicle_code(vehicleCode) - .qty(jsonObject.getIntValue("qty")) + .qty(jsonObject.getFloatValue("qty")) .material_code(mdMeMaterialbase.getMaterial_code()) .material_name(mdMeMaterialbase.getMaterial_name()) .measure_unit_id(measure_unit_id) diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/GroupPlate.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/GroupPlate.java index 6a825ac..b97d947 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/GroupPlate.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/GroupPlate.java @@ -60,7 +60,7 @@ public class GroupPlate implements Serializable { /** * 组盘数量 */ - private int qty; + private float qty; /** * 冻结数量 diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/GroupPlatedtl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/GroupPlatedtl.java index 5df8901..e250a70 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/GroupPlatedtl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/GroupPlatedtl.java @@ -67,7 +67,7 @@ public class GroupPlatedtl implements Serializable { /** * 组盘数量 */ - private int qty; + private float qty; /** * 冻结数量 diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.xml b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.xml index 30d6070..663c0ed 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.xml +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.xml @@ -226,6 +226,17 @@ AND (point_type = '1' OR point_type = '2' OR point_type = '3') AND is_used = 1 AND point_status = "1" + + AND 0 = ( + SELECT COUNT(1) FROM sch_base_point p2 + WHERE + p2.point_status = '2' + AND p2.row_num = p.row_num + AND p2.col_num p.col_num + AND p2.point_type = '1' + AND p2.region_code = 'WFPFZQ' + ) + ORDER BY in_order_seq asc diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/tasks/netxl/NETXLTask.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/tasks/netxl/NETXLTask.java index 57a29e8..d379ee8 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/tasks/netxl/NETXLTask.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/tasks/netxl/NETXLTask.java @@ -138,6 +138,10 @@ public class NETXLTask extends AbstractTask { //设置等待点 task.setPoint_code2(point.getParent_point_code()); task.setPoint_code3(point.getPoint_code()); + } else if ("WFPFZQ".equals(regionCode)){ + //设置等待点 + task.setPoint_code2(point.getParent_point_code()); + task.setPoint_code3(point.getPoint_code()); } else { task.setPoint_code2(point.getPoint_code()); } @@ -217,6 +221,13 @@ public class NETXLTask extends AbstractTask { } } return null; + } else if ("WFPFZQ".equals(regionCode)) { + List points = netxlMapper.findNextPoint(regionCode); + if (CollectionUtils.isEmpty(points)) { + throw new BadRequestException("外放品放置区没有空闲的点位!"); + } + task.setVehicle_code2(PackageInfoIvtEnum.AGV_ACTION_TYPE.code("放货二次分配")); + return points.get(0); } else { //E1 task.setVehicle_code2(PackageInfoIvtEnum.AGV_ACTION_TYPE.code("普通任务")); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/tasks/netxl/mapper/NETXLMapper.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/tasks/netxl/mapper/NETXLMapper.java index 9db32ae..ac6399e 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/tasks/netxl/mapper/NETXLMapper.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/tasks/netxl/mapper/NETXLMapper.java @@ -1,9 +1,12 @@ package org.nl.wms.sch.tasks.netxl.mapper; +import org.apache.ibatis.annotations.Param; import org.nl.wms.sch.point.service.dao.SchBasePoint; import java.util.List; public interface NETXLMapper { List findPointForNETXL(List nextRegionStrs,String regionCode); + + List findNextPoint(@Param("regionCode") String regionCode); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/tasks/netxl/mapper/NETXLMapper.xml b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/tasks/netxl/mapper/NETXLMapper.xml index 66cdaec..032cb99 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/tasks/netxl/mapper/NETXLMapper.xml +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/tasks/netxl/mapper/NETXLMapper.xml @@ -24,4 +24,34 @@ ORDER BY p.in_order_seq ASC + + SELECT * FROM sch_base_point p1 + WHERE + p1.point_status = '1' + AND p1.point_type = '1' + AND p1.is_used= '1' + AND 0 = ( + SELECT COUNT(*) + FROM sch_base_task + WHERE (point_code1 = p1.point_code + OR point_code2 = p1.point_code + OR point_code3 = p1.point_code + OR point_code4 = p1.point_code + ) + AND task_status '5' + AND is_delete = '0' + ) + AND p1.region_code = 'WFPFZQ' + AND 0 = ( + SELECT COUNT(1) FROM sch_base_point p2 + WHERE + p2.point_status = '2' + AND p2.row_num = p1.row_num + AND p2.col_num p1.col_num + AND p2.point_type = '1' + AND p2.region_code = 'WFPFZQ' + ) + ORDER BY p1.in_order_seq ASC + diff --git a/nladmin-system/nlsso-server/src/main/resources/config/application.yml b/nladmin-system/nlsso-server/src/main/resources/config/application.yml index 8c7f0eb..fe7605a 100644 --- a/nladmin-system/nlsso-server/src/main/resources/config/application.yml +++ b/nladmin-system/nlsso-server/src/main/resources/config/application.yml @@ -7,7 +7,7 @@ lucene: path: C:\lucene2\index spring: profiles: - active: prod + active: dev autoconfigure: exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure messages: @@ -280,3 +280,10 @@ sa-token: password: # 连接超时时间 timeout: 10s +i18n: + location: D:\workspace\fengtianDL_lms\fengtianDL_lms\nladmin-system\nlsso-server\src\main\resources\language\i18n + supported-languages: + - zh + - en + - jp + fallback-to-classpath: true diff --git a/nladmin-system/nlsso-server/src/main/resources/language/i18n/en.js b/nladmin-system/nlsso-server/src/main/resources/language/i18n/en.js new file mode 100644 index 0000000..8776167 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/resources/language/i18n/en.js @@ -0,0 +1,771 @@ +var config = { + "language": "English", + "platform": { + "title": "WMS System" + }, + "system": { + "exception": "System exception, please contact administrator", + "paramException": "Parameter exception, please check input parameters", + "resultException": "Request result does not exist", + "dataException": "Data exception, data does not exist", + "dataExceptionArg": "Data exception, %s data does not exist", + "dataDuplicationArg": "Data duplication, %s already exists in the system", + "dataFormat": "Data exception, data is incorrect", + "activatArg": "%s has not been activated in the system", + "operation": "Operation failed", + "error_param_undefined": "【%s】corresponding type 【%d】is undefined", + "per_auth": "Permission already assigned, cannot delete", + "error_isNull": "Data does not exist: %s", + "dept_has": "Department has associated users, cannot delete", + "user_not_exist": "User does not exist", + "password_error": "Incorrect password", + "account_not_activated": "Account not activated", + "vehicle_already_in_storage": "Carrier code: %s already exists in storage, please verify the data!", + "no_available_location": "No available storage location", + "detail_already_allocated": "Current detail has already been allocated a storage location", + "no_allocated_location": "This detail has not been allocated a storage location, please allocate first", + "main_table_status_must_be_allocated": "Main table status must be allocated!", + "no_task_allocation_detail": "No allocation detail found for the task", + "no_inbound_bill_detail": "No inbound bill detail record found", + "no_inbound_bill": "No inbound bill found", + "no_location_in_warehouse": "No storage locations in this warehouse area", + "no_vehicle_info": "No carrier number information", + "no_suitable_location": "No suitable storage location found", + "no_available_warehouse_area": "No available warehouse area found", + "cannot_select_suitable_warehouse_area": "Cannot select suitable warehouse area", + "captcha_config_error": "Verification code configuration error! Check LoginCodeEnum for correct configuration", + "available_quantity_cannot_be_negative": "Available quantity cannot be negative, please check the change quantity! Current available quantity is 【%s】, current change quantity is 【%s】", + "operation_failed": "Operation failed", + "local_ip": "Local IP address:" + }, + "business": { + "InvReminder": "Current allocation strategy, %s has no available locations", + "loginPassword": "Login failed, incorrect account or password", + "accountUse": "Login failed, account not enabled" + }, + "common": { + 'home': 'Dashboard', + 'Layout_setting': 'Layout Setting', + 'Personal_center': 'Personal Center', + 'Log_out': 'Log Out', + 'Personal_information': 'Personal Information', + 'username': 'UserName', + 'name': 'Name', + 'phone': 'Phone Number', + 'phone2': 'Phone', + 'sex': 'Sex', + 'sex_male': 'Male', + 'sex_female': 'Female', + 'email': 'E-mail', + 'Security_settings': 'Security Settings', + 'Save_settings': 'Save Settings', + 'Reset_settings': 'Reset Settings', + 'Change_password': 'Change Password', + 'New_password': 'New Password', + 'Old_password': 'Old Password', + 'Verify_password': 'Verify Password', + 'User_information': 'User Information', + 'Operation_log': 'Operation Log', + 'action': 'Action', + 'IP_source': 'IP Source', + 'Browser': 'Browser', + 'Request_time': 'Request Time', + 'Creation_date': 'Creation Date', + 'account': 'Account', + 'password': 'Password', + 'verification_code': 'Code', + 'login_rm': 'Remember Me', + 'login': 'Login', + 'login_ing': 'Logging in...', + 'Create': 'Create', + 'Update': 'Update', + 'Delete': 'Delete', + 'More': 'More', + 'Export': 'Export', + 'Editors': 'Editor', + 'SelectAll': 'SelectAll', + 'Query': 'Query', + 'Reset': 'Reset', + 'Confirm': 'Confirm', + 'Cancel': 'Cancel', + 'Yes': 'YES', + 'No': 'NO', + 'Success': 'success', + 'Fail': 'fail', + 'Please_select': 'Please Select', + 'Operation_success': 'Successful operation', + 'Upload_success': 'Upload Success', + 'Operate': 'Operate', + 'Refresh': 'Refresh', + 'Closes': 'Close', + 'Closes_l': 'Close Left', + 'Closes_r': 'Close Right', + 'Closes_o': 'Close Other', + 'Closes_a': 'Close All', + 'Theme_style_setting': 'Theme Style Setting', + 'Theme_color': 'Theme Color', + 'System_layout_configuration': 'System Layout Configuration', + 'Open': 'Open', + 'Fixation': 'Fixation', + 'Display': 'Display', + 'Dynamic_titles': 'Dynamic Titles', + 'crudTip': 'Are you sure to delete this data?', + 'startDate': 'StartDate', + 'endDate': 'EndDate', + 'moreMenu': 'MoreMenu', + 'browses': 'browse', + 'fz': 'Full screen zoom', + 'submit': 'Submit Success', + 'add': 'Add Success', + 'edit': 'Edit Success', + 'del': 'Delete Success', + 'close': 'Confirm Close', + 'save': 'Save Success', + 'datas': 'Data', + 'Tips': 'Tips', + 'Tip1': 'Confirm to delete the selected {count} pieces of data?', + 'Tip3': 'User name not used as login', + 'Tip4': 'Mobile phone number cannot be duplicate', + 'Tip5': 'Please enter a phone number', + 'Tip6': 'Please enter the correct 11 digit phone number', + 'Tip7': 'Drag and drop the excel file here or', + 'Tip8': 'The two passwords are different', + 'Tip9': 'Please enter your password again', + 'Tip10': 'Please enter your old password', + 'Tip11': 'Please enter your new password', + 'Tip12': '{min} to {max} characters in length', + 'Tip13': 'Are you sure to log out and exit the system?', + 'Tip14': 'WebSocket connection error', + 'Tip15': 'Please enter an icon name', + 'Tip16': 'NOT NULL', + 'Tip17': 'Please enter what you are searching for', + 'loading': 'loading...', + 'Tip18': 'select date time', + 'Tip19': 'Are you sure to delete the selected data?', + 'Tip20': 'The login has expired,please log in again!', + "name": "Name", + "import": "import", + "export": "export", + "create_name": "Created By", + "create_time": "Creation Time", + "update_name": "Modified By", + "remark": "Remark", + "is_used": "Activated", + "is_delete": "Deleted", + "create_mode": "Creation Method", + "input_optname": "Prepared By", + "input_time": "Preparation Time", + "update_optname": "Modified By", + "update_time": "Modification Time", + "dis_optname": "Allocated By", + "dis_time": "Allocation Time", + "confirm_optname": "Confirmed By", + "confirm_time": "Confirmation Time", + "bill_code": "Document Number", + "bill_type": "Document Type", + "biz_date": "Business Date", + "bill_status": "Document Status", + "zh_name": "Chinese Name", + "in_name": "Indonesian Name", + "en_name": "English Name", + "ext_id": "External ID", + "request_param_cannot_be_empty": "Request parameters cannot be empty", + "yes": "Yes", + "no": "No", + "user_info_get_fail": "Failed to get user information", + "operation_success": "Operation successful", + "inputCodeOrName": "input code or name" + }, + "upload": { + "load_text1": "Drag file here or", + "load_text2": "click to upload", + "load_text3": "Only Excel files can be uploaded, and no larger than 10MB", + "load_text4": "File is too large, please upload files smaller than 10MB~", + "load_text5": "Only one Excel file can be uploaded!" + }, + "gateway": { + "picking_point_not_exist": "The picking point you entered does not exist, please enter 1207 or 1210 picking point!", + "create_task_fail_empty": "Failed to create task: returned task information is empty, application parameters are", + "apply_task_fail": "Task application failed, application parameters are", + "check_error_log": "Please check the error log" + }, + "md_me_materialbase": { + "material_code": "Material Code", + "material_name": "Material Name", + "product_series_name": "Product Series", + "material_spec": "Material Specification", + "material_model": "Material Model" + }, + "md_pb_classstandard": { + "class_code": "Class Code", + "class_name": "Class Name", + "class_desc": "Class Description", + "parent_class_id": "Parent Class ID" + }, + "md_pb_measureunit": { + "unit_code": "Code", + "unit_name": "Name", + "qty_precision": "Data Precision", + "qty_unit_id": "Base Measurement Unit", + "qty_unit_name": "Unit Name" + }, + "md_pb_storagevehicleinfo": { + "storagevehicle_code": "Carrier Code", + "storagevehicle_name": "Carrier Name", + "one_code": "Barcode", + "two_code": "QR Code", + "storagevehicle_type": "Carrier Type", + "vehicle_width": "Carrier Width", + "vehicle_long": "Carrier Length", + "vehicle_height": "Carrier Height", + "weigth": "Pallet Weight", + "overstruct_type": "Does Carrier Exceed Location", + "occupystruct_qty": "Number of Occupied Locations", + "ext_id": "External ID" + }, + "sch_base_point": { + "point_code": "Point Code", + "point_name": "Point Name", + "region_code": "Region Code", + "region_name": "Region Name", + "point_type": "Point Type", + "point_status": "Point Status", + "vehicle_type": "Carrier Type", + "vehicle_code": "Carrier Code", + "vehicle_qty": "Carrier Quantity", + "in_order_seq": "Inbound Sequence", + "out_order_seq": "Outbound Sequence", + "in_empty_seq": "Empty Carrier Inbound Sequence", + "out_empty_seq": "Empty Carrier Outbound Sequence", + "parent_point_code": "Parent Point Code", + "ext_point_code": "External Point Code", + "ing_task_code": "Task Code Being Executed", + "is_has_workder": "Generate Order", + "workshop_code": "Workshop Code", + "is_auto": "Auto" + }, + "sch_base_region": { + "region_code": "Region Code", + "region_name": "Region Name", + "point_type_explain": "Point Type Description", + "point_status_explain": "Point Status Description", + "is_has_workder": "Generate Order", + "order_seq": "Sequence", + "workshop_code": "Workshop Code" + }, + "sch_base_task": { + "task_code": "Task Code", + "task_status": "Task Status", + "config_code": "Configuration Code", + "point_code1": "Point 1", + "point_code2": "Point 2", + "point_code3": "Point 3", + "point_code4": "Point 4", + "group_id": "Group ID", + "vehicle_type": "Carrier Type", + "vehicle_qty": "Carrier Quantity", + "vehicle_code": "Carrier Code", + "vehicle_code2": "Carrier Code 2", + "handle_status": "Processing Status", + "car_no": "License Plate Number", + "task_group_id": "Task Group ID", + "task_group_seq": "Task Group Sequence", + "finished_type": "Task Completion Type", + "create_mode": "Creation Method", + "request_param": "Create Task Request Parameters", + "response_param": "Issue Task Request Parameters", + "workshop_code": "Workshop Code", + "ext_group_data": "Additional Group Information", + "priority": "ACS Priority" + }, + "sch_base_taskconfig": { + "config_code": "Configuration Code", + "config_name": "Configuration Name", + "route_plan_code": "Route Planning Code", + "task_qf_type": "Task Pick/Drop Type", + "acs_task_type": "ACS Task Type", + "task_name": "Task Name", + "task_type": "Task Type", + "task_direction": "Task Direction", + "priority": "Priority", + "task_create_max_num": "Maximum Number of Tasks Allowed to Create", + "task_issue_max_num": "Maximum Number of Tasks Allowed to Issue", + "is_auto_issue": "Auto Issue", + "start_region_str": "Start Region Configuration", + "next_region_str": "End Region Configuration", + "start_point_pre": "Start Point Prefix", + "next_region_pre": "End Region Prefix", + "is_check_workorder": "Check Work Order", + "is_check_start_lock": "Evaluate Start Point Lock", + "is_immediate_create": "Create Immediately", + "is_check_next_lock": "Evaluate End Point Lock", + "is_start_auto": "Start Point Auto", + "is_next_auto": "End Point Auto", + "is_lock_start": "Lock Start Point", + "is_lock_next": "Lock End Point", + "request_param": "Create Task Request Parameters", + "response_param": "Issue Task Request Parameters", + "is_group_congrol_issue_seq": "Control Issue Sequence by Group", + "unfinish_notify_time": "Task Unfinished Notification Time", + "sql_param": "SQL Configuration", + "workshop_code": "Workshop Code" + }, + "st_ivt_bsrealstorattr": { + "stor_code": "Warehouse Code", + "stor_name": "Warehouse Name", + "simple_name": "Warehouse Abbreviation", + "stor_capacity": "Warehouse Capacity", + "total_area": "Total Area", + "stor_type_scode": "Warehouse Nature", + "is_virtualstore": "Is Virtual Warehouse", + "is_semi_finished": "Is Semi-finished Product Warehouse", + "is_materialstore": "Is Raw Material Warehouse", + "is_productstore": "Is Finished Product Warehouse", + "is_attachment": "Is Accessory Warehouse", + "is_reversed": "Allow Returns", + "is_mvout_auto_cfm": "Auto Confirm Transfer Out Business", + "is_mvin_auto_cfm": "Auto Confirm Transfer In Business", + "area": "Area", + "storea_ddress": "Warehouse Address", + "principal": "Person in Charge", + "office_phone": "Office Phone", + "mobile_no": "Mobile Number", + "order_index": "Display Order", + "whstate_scode": "Status", + "base_class_id": "Material Basic Classification", + "sysownerid": "Owner ID", + "sysdeptid": "Department ID", + "syscompanyid": "Company ID", + "ext_id": "External ID", + "depart_name": "Department Name", + "company_name": "Company Name" + }, + "st_ivt_checkdtl": { + "seq_no": "Detail Sequence", + "sect_code": "Inventory Area", + "struct_code": "Inventory Location", + "checkpoint_code": "Inventory Station", + "storagevehicle_code": "Storage Carrier Code", + "material_id": "Material ID", + "pcsn": "Batch", + "base_qty": "Inventory Quantity", + "status": "Status", + "is_down": "Issued", + "fac_qty": "Inventory Count Quantity", + "check_result": "Inventory Result", + "check_optname": "Inventory Person", + "check_time": "Inventory Time", + "remark": "Detail Remark", + "check_code": "Inventory Document Number", + "check_type": "Inventory Document Type", + "stor_name": "Warehouse Name", + "dtl_num": "Detail Quantity", + "create_mode": "Creation Method" + }, + "st_ivt_iostor": { + "stor_code": "Warehouse Code", + "sect_date": "Date", + "quality_scode": "Quality Type", + "start_num": "Opening Quantity", + "in_num": "Inbound Quantity", + "out_num": "Outbound Quantity", + "total_qty": "Total Quantity", + "total_weight": "Total Weight", + "io_type": "In/Out Type", + "detail_count": "Detail Quantity", + "seq_no": "Detail Sequence", + "work_status": "Execution Status", + "task_id": "Task ID", + "storagevehicle_code": "Storage Carrier Code", + "is_issued": "Issued", + "plan_qty": "Planned Quantity", + "real_qty": "Actual Quantity", + "point_code": "In/Out Point ID", + "assign_qty": "Allocated Quantity", + "unassign_qty": "Unallocated Quantity", + "mol_code": "Loss Document Number", + "mol_inv_type": "Loss Document Type", + "mol_type": "Loss Type", + "turnout_sect_code": "Transfer Out Area Code", + "turnout_struct_code": "Transfer Out Location Code", + "turnin_sect_code": "Transfer In Area Code", + "turnin_struct_code": "Transfer In Location Code" + }, + "structWarning": { + "safe_qty_lower_limit": "Safety Stock Lower Limit", + "safe_qty_upper_limit": "Safety Stock Upper Limit", + "cron": "Expression", + "notify_type": "Notification Type", + "overdue_days": "Overdue Days", + "safe_days": "Safety Days", + "is_read": "Read", + "current_qty": "Current Quantity" + }, + "strategy": { + "sect_code": "Warehouse Area", + "strategy": "Rule", + "strategy_type": "1 Inbound Strategy 2 Outbound Strategy", + "description": "Description", + "strategy_code": "Strategy Code", + "strategy_name": "Strategy Name", + "class_type": "Processing Type", + "param": "Processing Class", + "ban": "Prohibit Operation", + "form_data": "Restriction Parameters" + }, + "code_rule": { + "current_value": "Current Value" + }, + "dept": { + "dept_id": "ID", + "pid": "Parent Department", + "sub_count": "Sub-department Count", + "name": "Name", + "zh_name": "Chinese Name", + "in_name": "Indonesian Name", + "en_name": "English Name", + "dept_sort": "Sort", + "is_used": "Status", + "create_name": "Created By", + "update_name": "Updated By", + "create_time": "Creation Date", + "update_time": "Update Time", + "code": "Department Code", + "ext_id": "External ID" + }, + "dict": { + "dict_type": "Dictionary Type", + "dict_sort": "Sequence", + "label": "Dictionary Label", + "value": "Dictionary Value", + "para1": "Parameter 1", + "para2": "Parameter 2", + "para3": "Parameter 3" + }, + "menu": { + "home": "home", + "menu_id": "Menu ID", + "pid": "Parent Menu ID", + "sub_count": "Sub-menu Count", + "type": "Menu Type", + "system_type": "Belonging System", + "category": "Menu Category", + "title": "Menu Title", + "en_title": "English Title", + "in_title": "Indonesian Title", + "zh_title": "Chinese Title", + "component_name": "Component Name", + "component": "Component", + "menu_sort": "Sort", + "icon": "Icon", + "path": "Path", + "iframe": "Is External Link", + "cache": "Is Cached", + "hidden": "Is Hidden", + "permission": "Permission", + "is_pc": "Is PC Menu" + }, + "param": { + "code": "Code", + "name": "Name", + "zh_name": "Name", + "en_name": "English Name", + "in_name": "Indonesian Name", + "value": "Value" + }, + "user": { + "user_id": "User ID", + "username": "Login Account", + "password": "Password", + "is_admin": "Is Administrator Account", + "person_name": "Full Name", + "zh_person_name": "Chinese Full Name", + "en_person_name": "English Full Name", + "in_person_name": "Indonesian Full Name", + "gender": "Gender", + "zh_gender": "Chinese Gender", + "en_gender": "English Gender", + "phone": "Phone", + "email": "Email", + "avatar_name": "Avatar Path", + "avatar_path": "Actual Avatar Path", + "extperson_id": "External Person ID", + "extuser_id": "External User ID", + "pwd_reset_user_id": "Password Reset By", + "pwd_reset_time": "Password Reset Time" + }, + "basedata_manage": { + "same_warehouse_numbers": "Duplicate warehouse numbers exist", + "deleted_or_without_permission_operation_failed": "Deleted or no permission, operation failed!", + "same_supplier_code": "Duplicate supplier codes exist", + "current_device_code_already_exists": "Current device code already exists 【%s】", + "current_supplier_code_already_exists": "Current supplier code already exists 【%s】", + "current_cust_code_already_exists": "Current customer code already exists 【%s】", + "current_material_code_already_exists": "Current material code already exists 【%s】", + "current_sorting_code_already_exists": "Current classification code already exists 【%s】", + "current_unit_code_already_exists": "Current measurement unit code already exists 【%s】", + "unit_code_not_exists": "Measurement unit code 【%s】 does not exist!", + "current_vehicle_group_plate_info_exists": "Current carrier group plate information already exists", + "parents_cannot_be_oneself": "Parent cannot be itself", + "material_information_not_exists": "Material information 【%s】 does not exist!", + "storage_vehicle_code_already_exists": "Current carrier code already exists 【%s】", + "vehicle_type_no_dict_config": "This carrier type %s has no dictionary value configured", + "storage_vehicle_not_exist": "Carrier with code 【%s】 does not exist!", + "parent_class_code_invalid": "Please enter correct parent node code!", + "sect_code_already_exists": "Duplicate area codes in the same warehouse", + "struct_code_not_exist": "Structure code 【%s】 does not exist", + "sect_no_io_rule": "Area 【%s】 has no inbound/outbound strategy configured", + "strategy_no_available_struct": "Strategy 【%s】 has no available storage locations, total of %d locations queried", + "sect_no_in_rule": "Area 【%s】 has no inbound strategy configured", + }, + "sch_manage": { + "task_already_completed": "This task is already completed!", + "task_already_cancelled": "This task is already cancelled!", + "task_not_exists": "This task does not exist", + "only_cancel_generating_tasks": "Can only cancel generating tasks!", + "task_status_must_be_create_to_cancel": "Task status must be 'created' to cancel task", + "same_point_code_exists": "Duplicate point codes exist", + "data_empty": "Data is empty!", + "task_config_already_exists": "Task configuration 【%s】 already exists!", + "start_and_end_region_cannot_be_empty": "Start region and end region cannot both be empty!", + "tray_cannot_be_empty": "Tray cannot be empty" + }, + "decision_manage": { + "location_list_empty": "Storage location list is empty", + "strategy_type_error": "Strategy type error", + "no_available_location": "Current allocation strategy has no available storage locations", + "no_available_location_same_block_num": "Current allocation strategy sameBlockNum has no available storage locations", + "no_available_aisle": "No available aisle found", + "strategy_name_already_exists": "Strategy with same name already exists 【%s】", + "strategy_no_instance": "Start failed, current strategy 【%s】 has no corresponding instance information", + "alley_ave_no_available_location": "Balancing strategy result: Carrier code: 【%s】 current allocation strategy has no available storage locations", + "fifo_rule_inventory_shortage": "Current outbound strategy: FIFO, inventory allocation failed, reason: insufficient inventory!", + "depth_priority_location_not_found": " Depth priority strategy: Get deep location with stock and shallow location without stock: Carrier code: 【%s】 failed to get location, number of locations for this strategy is 0!", + "limit_storage_vehicle_not_exist": "Limit strategy: Current carrier information does not exist: 【%s】 does not exist", + "limit_storage_location_not_found": "Limit strategy: Carrier code: 【%s】 failed to get location, number of locations for this height level is 0!" + }, + "task": { + "status": { + "created": "Created", + "applied": "Applied", + "created_completed": "Creation Completed", + "issued": "Issued", + "executing": "Executing", + "completed": "Completed", + "cancelled": "Cancelled", + "unfinished": "Unfinished" + } + , + "created_desc": "Create Task", + "applied_desc": "Apply Task", + "create_completed_desc": "Create Completed Task", + "issued_desc": "Issue Task", + "executing_desc": "Executing Task", + "completed_desc": "Complete Task", + "cancelled_desc": "Cancelled Task", + "unfinished_desc": "Unfinished Task" + }, + "bind": { + "type": { + "unbind": "Unbind", + "bind": "Bind", + "no_operation": "No Operation" + } + }, + "vehicle": { + "type": { + "empty_pallet": "Empty Pallet", + "empty_container": "Empty Container" + } + }, + "base_data": { + "type_not_defined": "Corresponding type 【%s】 is undefined" + }, + "pm_manage": { + "no_such_unit_info": "No such measurement unit information", + "no_such_warehouse_info": "No such warehouse information", + "form_type_param_cannot_be_empty": "Form type parameter cannot be empty", + "current_bill_already_merged": "Current document has been merged, resubmission not allowed:【%s】", + "current_bill_is_new_merged_bill": "Current document is a new merged document, resubmission not allowed:【%s】", + "current_bill_is_not_new_merged_bill": "Current document is not a new merged document, submission not allowed:【%s】" + }, + "warehouse_manage": { + "main_table_status_must_be_generate": "Main table status must be generated!", + "no_cancel_outbound_alloc_dtl": "No cancellable outbound allocation details exist", + "no_selected_outbound_point": "No outbound point selected", + "no_selected_floor": "No floor selected", + "no_related_outbound_bill": "No related outbound bill found", + "no_alloc_dtl_to_set": "Currently no allocation details to set", + "main_table_status_must_be_allocated": "Main table status must be allocated!", + "cannot_force_confirm_with_unfinished_tasks": "Cannot force confirm with unfinished tasks!", + "no_alloc_dtl_for_task": "No allocation detail found for the task", + "no_dtl_found": "No detail found", + "vehicle_already_in_storage": "Carrier code: 【%s】 already exists in storage, please verify the data!", + "detail_already_allocated_location": "Current detail has already been allocated a storage location", + "no_available_location": "No available storage location", + "detail_not_allocated_location": "This detail has not been allocated a storage location, please allocate first", + "cannot_find_allocation_detail_for_task": "No allocation detail found for the task", + "cannot_find_inbound_detail_record": "No inbound bill detail record found", + "cannot_find_inbound_order": "No inbound order found", + "no_location_in_sector": "No storage locations in this warehouse area", + "no_carrier_info": "No carrier number information", + "cannot_find_suitable_location": "No suitable storage location found", + "cannot_find_available_sector": "No available warehouse area found", + "cannot_select_suitable_sector": "Cannot select suitable warehouse area", + "outbill_qty_zero": "Quantity cannot be zero", + "outbill_sect_empty": "Allocation warehouse area cannot be empty", + "outbill_not_found": "Cannot find outbound bill information", + "outbill_no_details": "Current order has no allocatable outbound details", + "outbill_no_cancelable_details": "No cancellable outbound allocation details exist", + "outbill_allocated": "Fully allocated, unallocated quantity is 0", + "storagevehicle_no_inventory": "Current carrier 【%s】 has no related material batch inventory, please check data!", + "frozen_quantity_cannot_be_negative": "Frozen quantity cannot be negative, please check the change quantity! Current frozen quantity is 【%s】, current change quantity is 【%d】", + }, + "pda_manage": { + "change_type_cannot_be_empty": "Change type cannot be empty!", + "carrier_code_cannot_be_empty": "Carrier code cannot be empty!", + "material_id_cannot_be_empty": "Material ID cannot be empty!", + "unit_id_cannot_be_empty": "Measurement unit ID cannot be empty!", + "unit_name_cannot_be_empty": "Measurement unit name cannot be empty!", + "change_qty_cannot_be_empty": "Change quantity cannot be empty!", + "carrier_already_has_inventory": "Current carrier already has inventory materials, please check data!", + "material_info_cannot_be_empty": "Material information cannot be empty!", + "vehicle_info_cannot_be_empty": "Carrier information cannot be empty!", + "vehicle_already_has_group_plate_info": "Carrier code: 【%s】 already has group plate information, please verify the data!", + "vehicle_already_in_storage": "Carrier code: 【%s】 already exists in storage:【%d】, please verify the data!", + "dtllist_cannot_be_empty": "dtlList cannot be empty", + "vehicle_not_group_plated": "This carrier is not group plated, please check!", + "vehicle_not_in_group_plate_status": "This carrier is not in group plate status, please check!", + "point_not_exists": "Point does not exist:【%s】", + "no_materials_available_for_storage": "Currently no materials available for storage!", + "move_in_location_cannot_be_empty": "Move-in location cannot be empty!", + "material_detail_cannot_be_empty": "Material detail cannot be empty!", + "vehicle_not_exist_in_system": "Carrier does not exist in the system!", + "move_in_location_not_exist_in_system": "Move-in location does not exist in the system!", + "location_and_vehicle_code_cannot_be_empty": "Location code and carrier code cannot both be empty!", + "vehicle_code_empty": "Carrier code cannot be empty", + "point_code_empty": "Point code cannot be empty", + "point_not_found": "Point 【%s】 does not exist", + "point_already_binded": "Point 【%s】 is already bound to carrier 【%d】", + "vehicle_already_binded": "Carrier 【%s】 is already bound to point 【%d】", + "point_no_vehicle_need_unbind": "Point 【%s】 has no bound carrier 【%d】, no need to unbind", + "start_point_not_exist": "Start point does not exist", + "end_point_not_exist": "End point does not exist", + "site_code_empty": "Point code cannot be empty", + "site_not_exist": "Point 【%s】 does not exist" + }, + "acs": { + "connection_failed": "ACS connection failed" + }, + "status": { + "published": "Published", + "unpublished": "Unpublished", + "started": "Started", + "stopped": "Stopped", + "production_in": "Production Inbound", + "purchase_in": "Purchase Inbound", + "other_in": "Other Inbound", + "production_out": "Production Outbound", + "sales_out": "Sales Outbound", + "other_out": "Other Outbound", + "generated": "Generated", + "allocated": "Allocated", + "type_not_defined": "Corresponding type 【%s】 is undefined", + "code_not_defined_r": "Corresponding code 【%s】 has no R data defined", + "code_not_defined_x": "Corresponding code 【%s】 has no x data defined", + "node_completed": "Node Completed", + "abnormal_completed": "Abnormally Completed", + "manual_in": "Manual Inbound", + "material_out": "Material Outbound", + "manual_out": "Manual Outbound", + "move_storage": "Move Storage", + "abnormal_move": "Abnormal Move", + "inventory": "Inventory", + "transfer": "Transfer", + "inventory_loss": "Inventory Loss", + "inventory_profit": "Inventory Profit", + "physical_inventory": "Physical Inventory", + "receipt_notice": "Receipt Notice", + "sales_order": "Sales Order", + "production_inbound": "Production Inbound", + "purchase_inbound": "Purchase Inbound", + "sales_return_inbound": "Sales Return Inbound", + "purchase_return_outbound": "Purchase Return Outbound", + "subcontract_material_list": "Subcontract Material List", + "production_material_list": "Production Material List", + "production_picking": "Production Picking", + "simple_production_picking": "Simple Production Picking", + "transfer_outbound": "Transfer Outbound", + "other_outbound": "Other Outbound", + "lowest": "Lowest Priority", + "normal": "Normal Priority", + "higher": "Higher Priority", + "urgent": "Urgent Priority", + "warehouse": "Warehouse Task", + "agv_task": "AGV Task", + "ctu_task": "CTU Task", + "third_floor_ctu": "Third Floor CTU", + "xian_gong": "Xian Gong System", + "hairou_ctu": "HaiRou CTU", + "hikvision_ctu": "Hikvision CTU", + "inbound": "Inbound", + "outbound": "Outbound", + "in_out_bound": "In/Out Bound", + "first_floor_workshop": "First Floor Workshop", + "second_floor_workshop": "Second Floor Workshop", + "third_floor_workshop": "Third Floor Workshop", + "main_storage_picking_platform": "Main Storage Picking Platform", + "first_floor_io_conveyor": "First Floor I/O Conveyor", + "second_floor_io_conveyor": "Second Floor I/O Conveyor", + "second_floor_ctu_shelf_docking": "Second Floor CTU Shelf Docking Position", + "second_floor_agv_production_line_docking": "Second Floor AGV Production Line Docking Position", + "second_floor_empty_shelf_buffer": "Second Floor Empty Shelf Buffer", + "pallet_warehouse": "Pallet Warehouse", + "container_warehouse": "Container Warehouse", + "virtual_warehouse": "Virtual Warehouse", + "second_floor_ctu_buffer": "Second Floor CTU Buffer", + "second_floor_shelf_buffer": "Second Floor Shelf Buffer", + "ascending": "Ascending", + "descending": "Descending", + "unbind": "Unbind", + "bind": "Bind", + "no_operation": "No Operation", + "empty_tray": "Empty Tray", + "empty_container": "Empty Container", + "start": "Start", + "pause": "Pause", + "completed": "Completed", + "force_completed": "Force Completed", + "cancelled": "Cancelled" + }, + "error": { + "param_undefined": "Parameter 【%s】 undefined 【%s】", + "ParamExist": "Parameter 【%s】 already exists", + "Update": "Update failed", + "Detele": "Delete failed", + "NullPoint": "Null pointer exception", + "SystemAuthError": "System authorization error", + "File_3": "File upload failed", + "isNull": "Parameter 【%s】 cannot be empty", + "Send": "Send failed" + }, + "role": { + "Check_1": "Role name cannot be empty", + "level": "Role level" + }, + "quartz": { + "ip_different": "Local IP 【%s】 differs from scheduler IP 【%s】", + "create_job_failure": "Failed to create scheduled task" + }, + "system_manage": { + "username_password_error": "Incorrect username or password", + "account_not_activated": "Account not activated", + "param_empty": "Parameters cannot be empty", + "code_rule_not_exist": "Missing configuration related to 【%s】", + "menu_no_permission": "No menu permission", + "current_business_executing": "Current business: 【%s】 is being executed, please try again later" + }, + "login": { + "childError": "Child node menu cannot be set as directory" + } +} diff --git a/nladmin-system/nlsso-server/src/main/resources/language/i18n/jp.js b/nladmin-system/nlsso-server/src/main/resources/language/i18n/jp.js new file mode 100644 index 0000000..3f088bb --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/resources/language/i18n/jp.js @@ -0,0 +1,1991 @@ +var config = { + "language": "日本語", + "platform": { + "title": "WMSシステム", + "WMSSystem": "WMSシステム" + }, + "SysParam": { + "rules": { + "NotNull": "空であってはならない" + } + }, + "system": { + "exception": "システム異常、管理者に連絡してください", + "paramException": "パラメータ異常、入力パラメータを確認してください", + "resultException": "リクエスト結果が存在しない", + "dataException": "データ異常、データが存在しない", + "dataExceptionArg": "データ異常、%sデータが存在しない", + "dataDuplicationArg": "データ重複、%sは既にシステムに存在する", + "dataFormat": "データ異常、データが正しくない", + "activatArg": "%sはまだシステムで有効化されていない", + "operation": "操作失敗", + "error_param_undefined": "【%s】に対応するタイプ【%s】が未定義", + "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": "ログイン失敗、アカウントが有効ではない" + }, + "wms": { + "statement": { + "record": { + "title": "在庫変動記録", + "location_info": "ロケーション情報", + "enter_location_info": "ロケーション情報を入力してください", + "material_code": "物料コード", + "enter_material_code": "物料コードを入力してください", + "vehicle_code": "キャリアコード", + "enter_vehicle_code": "キャリアコードを入力してください", + "batch": "ロット", + "enter_batch_info": "ロット情報を入力してください", + "change_date": "変動日", + "start_date": "開始日", + "end_date": "終了日", + "warehouse": "倉庫", + "location_code": "ロケーションコード", + "material_name": "物料名", + "is_increase_stock": "在庫増加か", + "total_stock": "総在庫", + "frozen_stock": "凍結在庫", + "change_stock": "変動在庫", + "unit": "単位", + "material_extend_info": "物料拡張情報", + "document_number": "伝票番号", + "document_table_name": "伝票テーブル名", + "change_type": "変動タイプ", + "update_time": "更新時間" + }, + "structivt": { + "title": "在庫管理", + "warehouse_area": "所属庫区", + "location_search": "ロケーション検索", + "location_code_or_name": "ロケーションコードまたは名称", + "material_search": "物料検索", + "material_code_name_spec": "物料コード、名称または規格", + "batch_number": "ロット番号", + "export_excel": "Excelエクスポート", + "location_code": "ロケーションコード", + "location_name": "ロケーション名", + "warehouse": "倉庫", + "material_code": "物料コード", + "material_name": "物料名", + "vehicle_number": "キャリア番号", + "stock_quantity": "在庫数", + "frozen_quantity": "凍結数", + "measurement_unit": "計量単位", + "remark": "備考", + "storage_time": "入庫時間", + "finished_product_stock": "完成品在庫" + } + }, + "basedata": { + "bsrealstorattr": { + "title": "倉庫", + "search_placeholder": "倉庫コードまたは名称を入力", + "stor_code": "倉庫コード", + "stor_code_required": "倉庫コードは必須です", + "stor_name": "倉庫名", + "stor_name_required": "倉庫名は必須です", + "simple_name": "倉庫略称", + "ext_id": "外部識別子", + "stor_capacity": "倉庫容量", + "total_area": "総面積(㎡)", + "stor_type_scode": "倉庫性質", + "storea_ddress": "倉庫住所", + "principal": "責任者", + "office_phone": "連絡先電話番号", + "stor_type": "倉庫タイプ", + "is_materialstore": "原材料倉庫", + "is_semi_finished": "半成品倉庫", + "is_productstore": "完成品倉庫", + "is_attachment": "予備品倉庫", + "is_virtualstore": "仮想倉庫", + "remark": "備考", + "is_used": "有効化", + "valid_phone": "正しい11桁の携帯電話番号を入力してください", + "only_number": "数字のみ入力可能", + "select_at_least_one_type": "倉庫タイプは少なくとも1つ選択してください", + "disable_confirm": "この操作で無効化されます。続行しますか?", + "enable_confirm": "この操作で有効化されます。続行しますか?" + }, + "class": { + "title": "基本カテゴリ", + "class_code": "分類コード", + "class_name": "分類名", + "class_desc": "分類概要説明", + "is_top": "トップカテゴリ", + "parent_class": "上位カテゴリ", + "select_parent_class": "上位カテゴリを選択", + "search_placeholder": "分類名を選択してください", + "expand_all": "全て展開", + "is_modify": "変更可能か", + "delete_confirm": "削除しますか?下位ノードが存在する場合、それらも削除されます。この操作は元に戻せません!", + "add_sibling": "同階層を追加", + "add_children": "子階層を追加", + "not_empty": "空であってはならない", + "top_class_not_empty": "トップカテゴリは必須です" + }, + "material": { + "title": "物料", + "not_empty": "空であってはならない", + "material_code_not_empty": "物料コードは必須です", + "material_name_not_empty": "物料名は必須です", + "material_type_not_empty": "物料分類は必須です", + "change_status_confirm": "この操作で \"{status}\" {name} します。続行しますか?", + "status_change_success": "{status}成功", + "sync_success": "同期成功!" + }, + "customer": { + "title": "顧客基本テーブル", + "search_placeholder": "顧客コードまたは顧客名を入力", + "cust_code": "顧客コード", + "cust_name": "顧客名", + "cust_simple_name": "顧客略称", + "tax_no": "税務登録番号", + "register_no": "工商登録番号", + "manage_lice_no": "営業許可証番号", + "busi_char_name": "営業許可証", + "zip_code": "郵便番号", + "corp_tele_no": "会社電話番号", + "corp_address": "会社住所", + "ext_id": "外部識別子", + "is_used": "有効化", + "jurid_name": "法人代表", + "remark": "備考", + "cust_id_not_empty": "顧客識別子は必須です", + "cust_code_not_empty": "顧客コードは必須です", + "cust_name_not_empty": "顧客名は必須です", + "create_id_not_empty": "作成者は必須です", + "create_name_not_empty": "作成者名は必須です", + "create_time_not_empty": "作成時間は必須です", + "is_used_not_empty": "有効化フラグは必須です", + "is_delete_not_empty": "削除フラグは必須です", + "class_id_not_empty": "基本分類は必須です", + "change_status_confirm": "この操作で \"{status}\" {name} します。続行しますか?", + "status_change_success": "{status}成功" + }, + "group": { + "title": "パレット組立記録", + "material_query": "物料照会", + "pcsn": "バッチ", + "storagevehicle_code": "車両コード", + "material_placeholder": "物料コード、名称", + "batch_query": "ロット照会", + "batch_placeholder": "ロット", + "vehicle_code": "キャリアコード", + "vehicle_placeholder": "キャリアコード", + "status": "組盤状態", + "status_placeholder": "状態", + "material_code": "物料コード", + "material_name": "物料名", + "spec": "規格", + "storagevehicle_code": "キャリアコード", + "qty": "物料数量", + "unit": "単位", + "ext_code": "元伝票番号", + "ext_type": "元伝票タイプ", + "ext_type_placeholder": "元伝票タイプ", + "add_frame": "料枠を追加", + "frame_no": "料枠番号", + "operation": "操作", + "input_frame_no": "料枠番号を入力してください", + "delete": "削除", + "cancel": "キャンセル", + "confirm": "確認", + "group_qty": "組盤数量", + "remark": "備考", + "create_name": "組盤者", + "create_time": "組盤時間", + "update_name": "更新者", + "update_time": "更新時間", + "group_id": "盤の識別", + "index": "番号", + "insert": "新しい行を追加", + "container_code": "子巻番号", + "detail": "セットの詳細", + "dtl": "組み合わせ詳細", + "save": "保存", + "close": "閉じる", + "generate": "自動生成", + "duplicate_frame": "重複する料枠番号が存在します:{frames}", + "zero_qty_error": "数量が0の料枠が存在するため、送信できません" + }, + "materialSet": { + "title": "物料保管設定", + "sect_select": "庫区選択", + "material_class": "物料分類", + "add": "新規追加", + "operation": "操作", + "sect_code": "庫区コード", + "sect_name": "庫区名", + "class_code": "物料カテゴリコード", + "class_name": "物料カテゴリ名", + "set_time": "設定時間", + "set_name": "設定者", + "sect": "庫区", + "select_sect": "庫区を選択してください", + "second_class": "二次分類", + "cancel": "キャンセル", + "confirm": "確定", + "select_record": "レコードを選択してください", + "operation_success": "操作成功" + }, + "measure": { + "title": "計量単位", + "search_placeholder": "単位コードまたは単位名を入力", + "unit_code": "コード", + "unit_name": "名称", + "ext_id": "外部識別子", + "qty_precision": "データ精度", + "is_used": "有効化", + "no": "いいえ", + "yes": "はい", + "cancel": "キャンセル", + "confirm": "確認", + "update_optname": "更新者", + "update_time": "更新時間", + "operation": "操作", + "not_empty": "空であってはならない", + "confirm_title": "確認", + "change_status_confirm": "この操作で \"{status}\" {name} します。続行しますか?", + "status_change_success": "{status}成功" + }, + "sectattr": { + "title": "庫区", + "stor_select": "所属倉庫", + "search_placeholder": "庫区コードまたは名称を入力", + "sect_code": "庫区コード", + "sect_name": "庫区名", + "simple_name": "庫区略称", + "stor_id": "所属倉庫", + "capacity": "庫区容量", + "sect_type_attr": "庫区タイプ", + "sect_manager_name": "責任者", + "mobile_no": "連絡先電話番号", + "remark": "備考", + "stor_name": "倉庫名", + "is_used": "有効化", + "ext_id": "外部識別子", + "valid_phone": "正しい11桁の携帯電話番号を入力してください", + "valid_number": "数字のみ入力可能", + "sect_code_not_empty": "庫区コードは必須です", + "sect_name_not_empty": "庫区名は必須です", + "sect_type_not_empty": "庫区タイプは必須です", + "stor_id_not_empty": "倉庫識別子は必須です", + "not_empty": "空であってはならない", + "disable": "無効化", + "enable": "有効化", + "change_status_confirm": "この操作で{status}します。続行しますか?", + "confirm_title": "確認", + "confirm": "確定", + "cancel": "キャンセル", + "operation_success": "操作成功" + }, + "supp": { + "title": "サプライヤー", + "search_placeholder": "サプライヤーコードまたは名称を入力", + "supp_code": "サプライヤーコード", + "supp_name": "サプライヤー名", + "jurid_name": "法人代表", + "tax_no": "税務登録番号", + "register_no": "工商登録番号", + "manage_lice_no": "営業許可証番号", + "busi_char_name": "営業許可証", + "barcode_print": "バーコード印刷開始値", + "zip_code": "郵便番号", + "corp_tele_no": "会社電話番号", + "corp_address": "会社住所", + "is_used": "有効化", + "no": "いいえ", + "yes": "はい", + "ext_id": "外部識別子", + "honour_days": "資金計画履行日数", + "remark": "備考", + "cancel": "キャンセル", + "confirm": "確認", + "update_optname": "更新者", + "update_time": "更新時間", + "operation": "操作", + "not_empty": "空であってはならない", + "confirm_msg": "この操作で \"{status}\" {code} します。続行しますか?", + "confirm_title": "確認", + "confirm_btn": "確定", + "cancel_btn": "キャンセル", + "success": "成功" + }, + "structattr": { + "position": "ロケーション", + "position_code": "ロケーションコード", + "position_name": "ロケーション名", + "position_short_name": "ロケーション略称", + "warehouse_area": "所属庫区", + "belong_warehouse_area": "所属庫区", + "warehouse": "所属倉庫", + "vehicle_number": "キャリア番号", + "lock_type": "ロックタイプ", + "capacity": "容量", + "weight_bearing": "耐荷重", + "width": "幅", + "depth": "奥行き", + "height": "高さ", + "is_temporary": "仮設か", + "row": "列", + "column": "行", + "layer": "層", + "layer_1": "1層", + "layer_2": "2層", + "layer_3": "3層", + "remark": "備考", + "is_enabled": "有効化", + "is_empty": "空きか", + "empty": "空き", + "has_goods": "品あり", + "fuzzy_search": "あいまい検索", + "position_code_name": "ロケーションコード、名称", + "lock_task_type": "ロックタスクタイプ", + "lock_task_code": "ロックタスクコード", + "lock_bill_code": "ロック伝票コード", + "lock_bill_type": "ロック伝票タイプ", + "position_code_not_empty": "ロケーションコードは必須です", + "position_name_not_empty": "ロケーション名は必須です", + "warehouse_area_not_empty": "庫区識別子は必須です", + "warehouse_not_empty": "倉庫識別子は必須です", + "only_number": "数字のみ入力可能", + "disable_confirm": "この操作で無効化されます。続行しますか?", + "enable_confirm": "この操作で有効化されます。続行しますか?", + "struct_code_not_empty": "ロケーション識別子は必須です" + }, + "storagevehicleinfo": { + "not_empty": "空であってはならない", + "operate_success": "{status}成功", + "vehicle_type": "キャリアタイプ", + "fuzzy_search": "あいまい検索", + "vehicle_code_name": "キャリア番号、キャリア名", + "vehicle_code": "キャリアコード", + "vehicle_name": "キャリア名", + "vehicle_weight": "キャリア重量", + "is_used": "有効化", + "vehicle_id": "キャリア識別子", + "bind_material": "物料バインド", + "pallet_weight": "パレット重量", + "print": "印刷", + "vehicle_material_info": "キャリア物料情報", + "material_code": "物料コード", + "material_spec": "物料規格", + "batch": "ロット", + "material_qty": "物料数量", + "frozen_qty": "凍結数量", + "process_instance": "プロセスインスタンス", + "vehicle_info": "キャリア情報", + "vehicle_weight_g": "キャリア重量(g)", + "print_config": "印刷設定", + "paper_height_mm": "用紙高さ(mm)", + "paper_width_mm": "用紙幅(mm)", + "margin_top_mm": "余白上(mm)", + "margin_right_mm": "余白右(mm)", + "margin_down_mm": "余白下(mm)", + "margin_left_mm": "余白左(mm)", + "start_vehicle_code": "開始キャリア番号", + "vehicle_qty": "キャリア数量", + "height_mm": "高さ(mm)", + "width_mm": "幅(mm)", + "depth_mm": "奥行き(mm)", + "title": "キャリア情報", + "generate": "生成", + "generate_and_print": "生成して印刷", + "print_success": "印刷成功", + "only_number": "数字を入力してください", + "type_not_empty": "タイプは必須です", + "num_not_empty": "数量は必須です", + "please_select_type": "タイプを選択してください", + "disable_confirm": "このキャリアを無効化しますか?", + "enable_confirm": "このキャリアを有効化しますか?", + "confirm_change": "この操作で \"{status}\" {code} します。続行しますか?", + "is_enabled": "有効状態" + } + }, + "record": { + "inventory_change_record": "在庫変動記録", + "position_info": "ロケーション情報", + "enter_position_info": "ロケーション情報を入力してください", + "material_code": "物料コード", + "enter_material_code": "物料コードを入力してください", + "vehicle_code": "キャリアコード", + "enter_vehicle_code": "キャリアコードを入力してください", + "batch": "ロット", + "enter_batch_info": "ロット情報を入力してください", + "change_date": "変動日", + "start_date": "開始日", + "end_date": "終了日", + "warehouse": "倉庫", + "position_code": "ロケーションコード", + "material_name": "物料名", + "is_increase_inventory": "在庫増加か", + "total_inventory": "総在庫", + "frozen_inventory": "凍結在庫", + "change_inventory": "変動在庫", + "unit": "単位", + "material_extension_info": "物料拡張情報", + "document_number": "伝票番号", + "document_table_name": "伝票テーブル名", + "change_type": "変動タイプ", + "update_time": "更新時間" + }, + "structivt": { + "inventory_management": "在庫管理", + "warehouse_area": "所属エリア", + "point_search": "ポイント検索", + "point_code_or_name": "ポイントコードまたは名称", + "point_code": "点番号のコード", + "region_code": "区域コード", + "pcsn": "ロット番号", + "qty": "総数", + "position_search": "ロケーション検索", + "position_code_or_name": "ロケーションコードまたは名称", + "material_search": "物料検索", + "material_info": "物料コード、名称または規格", + "batch_number": "ロット番号", + "export_excel": "Excelエクスポート", + "position_code": "ロケーションコード", + "position_name": "ロケーション名", + "warehouse": "倉庫", + "material_code": "物料コード", + "material_name": "物料名", + "vehicle_number": "キャリア番号", + "inventory_quantity": "在庫数", + "frozen_quantity": "凍結数", + "unit_of_measurement": "計量単位", + "remark": "備考", + "storage_time": "入庫時間" + }, + "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!", + "strategy": { + "title": "戦略管理", + "strategy_name": "戦略名", + "strategy_type": "戦略タイプ", + "system_strategy": "システム戦略", + "custom_strategy": "カスタム戦略", + "strategy_code": "戦略コード", + "decision_type": "決定タイプ", + "strategy_executor": "戦略実行器", + "param": "パラメータ", + "description": "説明", + "is_used": "有効化", + "operator": "操作者", + "operation_time": "操作時間", + "confirm_disable": "この戦略を無効化しますか?", + "confirm_enable": "この戦略を有効化しますか?", + "operation_success": "操作成功", + "inbound": "入庫", + "outbound": "出庫", + "common": "共通", + "implementation_class": "実装クラス", + "expression": "式", + "script": "スクリプト", + "strategy_name_not_empty": "戦略名は必須です", + "strategy_type_not_empty": "戦略タイプは必須です", + "strategy_code_not_empty": "戦略コードは必須です", + "param_not_empty": "パラメータは必須です", + "class_type_not_empty": "戦略実行器は必須です", + "confirm_close": "閉じますか?" + }, + "sectStrategy": { + "select_sect": "庫区を選択してください", + "select_strategy_type": "戦略タイプを選択してください", + "select_strategy": "戦略を選択してください", + "sect_name": "庫区名", + "strategy_type": "戦略タイプ", + "inbound_strategy": "入庫戦略", + "outbound_strategy": "出庫戦略", + "strategy_list": "戦略リスト", + "description": "説明", + "operator": "説明", + "operation_time": "操作時間" + } + }, + "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】", + "form_data2": { + "merge_list": "統合リスト", + "cancel_merge": "統合取消", + "select_cancel_merge": "統合を解除する伝票を選択してください", + "form_detail": "伝票詳細", + "form_code": "伝票番号", + "form_type": "伝票タイプ", + "form_date": "伝票日付", + "create_time": "作成時間", + "material_qty": "物料数量", + "form_status": "伝票状態", + "system_generated": "システム生成", + "is_merged": "統合済みか", + "qty": "数量", + "assigned_qty": "出庫割当済数量", + "unit": "単位", + "generated": "生成", + "executing": "実行中", + "completed": "完了", + "supplier_code": "サプライヤーコード", + "supplier_name": "サプライヤー名", + "supplier_code_name": "サプライヤーコード/名称", + "material_code": "物料コード", + "material_name": "物料名", + "merged_list": "統合済みリスト", + "import": "インポート", + "merged_codes": "統合元伝票", + "select_at_least_two": "少なくとも2つの伝票を選択して統合してください", + "cannot_submit_merged": "統合済みの伝票は送信できません:", + "cannot_submit_new_merged": "新統合伝票は送信できません:", + "material_must_same": "統合する注文の物料は同じでなければなりません:", + "out_lifter_must_same": "統合する出庫リフターは同じでなければなりません:", + "floor_must_same": "統合する注文のフロアは同じでなければなりません:", + "merge_success": "伝票統合成功!", + "cannot_submit_unmerged": "統合されていない伝票は送信できません:", + "cancel_merge_success": "統合解除成功!" + }, + "form_data": { + "select_material_first": "先に物料を選択してください", + "title": "伝票データ", + "form_selection": "伝票選択", + "form_details": "伝票明細", + "document_details": "伝票詳細", + "form_type": "伝票タイプ", + "status": "伝票状態", + "code": "伝票コード", + "form_code": "伝票コード", + "material_code": "物料コード", + "form_date": "伝票日付", + "warehouse": "倉庫", + "qty": "数量", + "pcsn": "ロット", + "batch": "ロット", + "remark": "備考", + "unit": "単位", + "material_name": "物料名", + "material_spec": "物料規格", + "vehicle_code": "パレットコード", + "source_form_date": "元伝票日付", + "create_name": "作成者", + "create_time": "作成時間", + "please_select": "選択/検索してください", + "select_search": "選択/検索してください", + "start_date": "開始日", + "end_date": "終了日", + "select_date": "日付選択", + "cancel": "キャンセル", + "confirm": "確認", + "form_material_qty": "伝票物料数量", + "actual_qty": "明細実際数量", + "select_warehouse": "倉庫を選択してください", + "select_form_type": "伝票タイプを選択してください", + "select_source_form_date": "元伝票日付を選択してください", + "enter_material_code": "物料コードを入力してください", + "enter_qty": "数量を入力してください", + "enter_pcsn": "ロット番号を入力してください", + "generated": "生成", + "executing": "実行中", + "paused": "一時停止", + "completed": "完了", + "biz_form_code": "業務伝票コード", + "biz_form_time": "業務伝票時間", + "material_id": "物料ID", + "material_qty": "物料数量", + "process_instance_id": "プロセスインスタンスID", + "parent_form_id": "親伝票データID", + "code_name": "コード、名称", + "delete_confirm": "削除しますか?下位ノードが存在する場合、それらも削除されます。この操作は元に戻せません!", + "form_status": "伝票状態" + } + }, + "pub": { + "MaterDialog": { + "title": "物料選択", + "search": "あいまい検索", + "placeholder": "コード、名称", + "material_code": "物料コード", + "material_name": "物料名", + "spec": "規格", + "model": "モデル", + "class_code": "分類コード", + "class_name": "物料分類", + "unit": "計量単位", + "select_material_first": "先に物料を選択してください" + }, + "StructDialog": { + "title": "ロケーション選択", + "sect": "庫区", + "struct": "ロケーション", + "sect_placeholder": "所属庫区", + "placeholder": "ロケーションコード、名称を入力", + "struct_code": "ロケーションコード", + "struct_name": "ロケーション名", + "sect_name": "庫区名", + "select_struct_first": "先にロケーションを選択してください" + } + }, + "sch": { + "point": { + "material_code": "物料コード", + "material_name": "物料名", + "material_qty": "物料数量", + "current_task": "現在のタスク番号", + "title": "ポイント管理", + "workshop": "所属工場", + "workshop_a": "A工場", + "blurry_search": "あいまい検索", + "code_name": "コード名称", + "region_type": "区域タイプ", + "point_type": "ポイントタイプ", + "point_status": "ポイント状態", + "lock_type": "ロックタイプ", + "is_used": "有効化", + "enable": "有効化", + "disable": "無効化", + "lock": "ロック", + "unlock": "アンロック", + "point_id": "ポイント識別子", + "please_select": "選択してください", + "region": "所属区域", + "point_code": "ポイントコード", + "point_name": "ポイント名", + "device_point_type": "デバイスポイントタイプ", + "parent_code": "親コード", + "vehicle_code": "キャリアコード", + "vehicle_type": "キャリアタイプ", + "can_vehicle_types": "配置可能キャリアタイプ", + "vehicle_qty": "キャリア数量", + "is_has_worker": "作業指示書有無", + "is_auto": "自動化", + "remark": "備考", + "workshop_code": "工場コード", + "region_code": "区域コード", + "region_name": "区域名", + "is_locked": "ロック済みか", + "yes": "はい", + "no": "いいえ", + "cancel": "キャンセル", + "confirm": "確定", + "operation_success": "操作成功", + "disable_confirm": "この操作で無効化されます。続行しますか?", + "enable_confirm": "この操作で有効化されます。続行しますか?", + "tip": "確認", + "point_code_not_empty": "ポイントコードは必須です", + "point_name_not_empty": "ポイント名は必須です", + "point_type_not_empty": "ポイントタイプは必須です", + "region_code_not_empty": "区域タイプは必須です", + "create_name": "作成者", + "create_time": "作成日時", + "update_name": "更新者", + "update_time": "更新日時" + }, + 'Log': { + "level": "ログレベル", + "label": "ラベル名", + "search": "あいまい検索", + "content": "ログ内容", + "link_id": "リンクID", + "link_id_msg": "リンクIDを入力してください", + "time": "時間", + "start_time": "開始時間", + "to": "〜", + 'isRequest': '圧縮表示', + 'Query': '検索', + "end_time": "終了時間" + }, + "Region": { + "title": "区域管理", + "search": { + "blurry": "あいまい検索" + }, + "table": { + "region_code": "区域コード", + "region_name": "区域名", + "point_type_explain": "ポイントタイプ説明", + "point_status_explain": "ポイント状態説明", + "is_has_worker": "作業指示書の有無", + "workshop_code": "ワークショップコード", + "order_seq": "順序番号", + "remark": "備考", + "create_name": "作成者", + "create_time": "作成日時", + "update_name": "更新者", + "update_time": "更新日時" + }, + "dialog": { + "workshop_code": "所属ワークショップ", + "region_code": "区域コード", + "region_name": "区域名", + "order_seq": "順序番号", + "point_type_explain": "ポイントタイプ説明", + "point_status_explain": "ポイント状態説明", + "is_has_worker": "作業指示書の有無", + "remark": "備考" + }, + "rules": { + "NotNull": "必須項目です" + } + }, + "task": { + "title": "タスク管理", + "task_code": "タスクコード", + "createTime": "作成時間", + "createTime_": "至る", + "createTime_1": "開始日", + "createTime_2": "終了日", + "vehicle_code": "キャリアコード", + "vehicle_code2": "タスクの種類の割り当て", + "task_name": "タスク名", + "config_code": "設定コード", + "config_name": "設定名", + "acs_task_type": "ACSタスクタイプ", + 'agv_system_type': 'AGVシステムのタイプ', + "task_status": "タスク状態", + "start_point": "起点", + "end_point": "終点", + "start_point2": "起点2", + "end_point2": "終点2", + "vehicle_type": "キャリアタイプ", + "vehicle_qty": "キャリア数量", + "priority": "優先度", + "handle_class": "処理クラス", + "handle_status": "処理状態", + "car_no": "車番", + "task_group_id": "タスクグループ識別子", + "task_group_seq": "タスクグループ順序番号", + "finished_type": "タスク完了タイプ", + "create_mode": "生成方式", + "acs_trace_id": "トレース識別子", + "request_param": "タスク生成リクエストパラメータ", + "response_param": "タスク発行リクエストパラメータ", + "workshop_code": "工場コード", + "ext_group_data": "追加グループ情報", + "tip_info": "情報表示", + "point_code1": "ポイント1", + "point_code2": "ポイント2", + "point_code3": "ポイント3", + "point_code4": "ポイント4", + "task_class_id": "タスク分類", + "complete": "完了", + "cancel": "キャンセル", + "unfinished": "未完了" + }, + "TaskConfig": { + "table": { + "code": "設定コード", + 'task_config': 'タスク設定', + "name": "設定名称", + "acs_task_type": "ACSタスクタイプ", + "agv_system_type": "AGVシステムタイプ", + "task_name": "タスク名", + "task_type_name": "タスクタイプ", + "priority": "優先度", + "task_create_max_num": "タスク生成最大数", + "task_issue_max_num": "タスク発行最大数", + "is_immediate_create": "即時作成可否", + "is_auto_issue": "自動発行可否", + "start_point_pre": "開始点プレフィックス", + "next_region_pre": "終点点プレフィックス", + "workshop_code": "ワークショップコード", + "remark": "備考", + "create_name": "作成者", + "create_time": "作成日時", + "update_name": "更新者", + "update_time": "更新日時" + }, + "dialog": { + "workshop_code": "所属エリア", + "code": "設定コード", + "name": "設定名称", + "acs_task_type": "ACSタスクタイプ", + "agv_system_type": "AGVシステムタイプ", + "task_name": "タスク名", + "task_type_name": "タスクタイプ", + "priority": "優先度", + 'select': '選択してください', + "task_create_max_num": "タスク生成最大数", + "task_issue_max_num": "タスク発行最大数", + "is_immediate_create": "即時作成可否", + "is_auto_issue": "自動発行可否", + 'start_region': '起点接頭辞', + 'next_region': '終点接頭辞', + "start_point_pre": "開始点プレフィックス", + "next_point_pre": "終点点プレフィックス", + 'task_direction': 'タスクの方向', + 'cancel': 'キャンセル', + 'confirm': '確認', + 'unfinish_notify_time': '未完了通知時間', + "remark": "備考" + }, + "placeholder": { + "search": "設定名称を入力してください", + "blurry": "あいまい検索" + }, + "rules": { + "r1": "ACSタイプを入力してください", + "r2": "最大タスク生成数を入力してください", + "r3": "最大タスク発行数を入力してください" + }, + "tooltips": { + "t1": "タスク作成時に使用", + "t2": "同一設定で同時に発動可能なタスク数" + } + } + }, + "st": { + "inAndOutReturn": { + "title": "入出庫返却", + "warehouse": "倉庫", + "io_type": "入出タイプ", + "bill_type": "業務タイプ", + "blurry_query": "あいまい照会", + "io_bill_no": "入出庫伝票", + "is_upload": "返却済みか", + "bill_date": "伝票日付", + "upload": "返却", + "disupload": "返却取消", + "bill_code": "伝票番号", + "business_date": "業務日付", + "total_weight": "総重量", + "remark": "備考", + "create_mode": "生成方式", + "detail_count": "明細数", + "created_by": "伝票作成者", + "created_time": "伝票作成時間", + "confirmed_by": "完了者", + "confirmed_time": "完了時間", + "updated_by": "返却者", + "updated_time": "返却時間", + "select_record": "レコードを選択してください", + "upload_warning": "選択した伝票に返却済みの伝票が含まれています。返却を続行しますか?", + "tip": "確認", + "confirm": "確定", + "cancel": "キャンセル", + "upload_success": "返却成功", + "cancelled_upload": "返却がキャンセルされました", + "operation_success": "操作成功", + "yes": "はい", + "no": "いいえ", + "start_date": "開始日", + "end_date": "終了日" + }, + "inbill": { + "title": "入庫伝票管理", + "start_date": "開始日", + "end_date": "終了日", + "blurry_query": "あいまい照会", + "bill_code": "伝票番号", + "warehouse": "所属倉庫", + "create_time": "作成時間", + "create_mode": "生成方式", + "bill_status": "伝票状態", + "bill_type": "業務タイプ", + "pcsn": "ロット番号", + "allocate": "割当", + "force_confirm": "強制確認", + "operation": "操作", + "warehouse_location": "庫内位置", + "vehicle_code": "キャリアコード", + "material_qrcode": "物料QRコード", + "business_date": "業務日付", + "total_weight": "総重量", + "remark": "備考", + "created_by": "伝票作成者", + "created_time": "伝票作成時間", + "updated_by": "更新者", + "updated_time": "更新時間", + "allocated_by": "割当者", + "allocated_time": "割当時間", + "confirmed_by": "確認者", + "confirmed_time": "確認時間", + "select_bill": "伝票を1つ選択してください", + "bill_confirm_success": "伝票確認成功!", + "system_generated": "システム生成", + "add_pallet_material": "パレット物料追加", + "material_code": "物料コード", + "material_name": "物料名", + "unit_name": "計量単位名", + "warehouse_not_empty": "倉庫は必須です", + "business_type_not_empty": "業務タイプは必須です", + "business_date_not_empty": "業務日付は必須です", + "please_select_at_least_one_detail": "少なくとも1つの明細を選択してください", + "please_select_business_type": "業務タイプを選択してください!", + "add_material": "物料追加", + "view_detail": "入庫詳細", + "stor": "倉庫", + "detail_count": "明細数", + "total_qty": "総重量", + "biz_date": "業務日付", + "in_detail": "入庫明細", + "weight": "重量", + "source_bill_type": "元伝票タイプ", + "source_bill_code": "元伝票番号", + "detail_remark": "明細備考", + "operation_detail": "作業明細", + "storagevehicle_code": "キャリア番号", + "start_position": "開始位置", + "dest_position": "目的位置", + "task_code": "タスク番号" + }, + "outbill": { + "title": "出庫伝票管理", + "start_date": "開始日", + "end_date": "終了日", + "blurry_query": "あいまい照会", + "bill_code": "伝票番号", + "warehouse": "倉庫", + "bill_status": "伝票状態", + "create_time": "作成時間", + "bill_type": "業務タイプ", + "pcsn": "ロット番号", + "is_upload": "返却済みか", + "operation": "操作", + "business_date": "業務日付", + "detail_count": "明細数", + "plan_weight": "計画重量", + "create_mode": "生成方式", + "remark": "備考", + "created_by": "伝票作成者", + "created_time": "伝票作成時間", + "updated_by": "更新者", + "updated_time": "更新時間", + "allocated_by": "割当者", + "allocated_time": "割当時間", + "confirmed_by": "確認者", + "confirmed_time": "確認時間", + "allocate": "割当", + "force_confirm": "強制確認", + "outbound_success": "出庫成功!", + "upload_notice": "確認ボタンをクリック後、伝票は返却されます!", + "upload_success": "返却成功!", + "yes": "はい", + "no": "いいえ" + }, + "movebill": { + "select_material_first": "先に物料を選択してください", + "stor_code": "倉庫コード", + "stor_name": "倉庫名", + "title": "庫内移動伝票管理", + "start_date": "開始日", + "end_date": "終了日", + "blurry_query": "あいまい照会", + "move_bill_no": "庫内移動伝票番号", + "warehouse": "所属倉庫", + "material_search": "物料照会", + "material_code": "物料コード", + "create_mode": "生成方式", + "bill_status": "伝票状態", + "bill_type": "業務タイプ", + "create_time": "作成時間", + "force_confirm": "強制確認", + "operation": "操作", + "bill_code": "伝票番号", + "business_date": "業務日付", + "detail_count": "明細数", + "created_by": "作成者", + "created_date": "作成日", + "updated_by": "更新者", + "updated_date": "更新日", + "confirm_success": "強制確認成功!" + } + } + }, + "region": { + "title": "区域管理", + "workshop": "所属工場", + "workshop_a": "A工場", + "blurry_search": "あいまい検索", + "code_name": "コード名称", + "please_select": "選択してください", + "region_code": "区域コード", + "region_name": "区域名", + "order_seq": "順序番号", + "point_type_explain": "ポイントタイプ説明", + "point_status_explain": "ポイント状態説明", + "is_has_worker": "作業指示書有無", + "yes": "はい", + "no": "いいえ", + "remark": "備考", + "workshop_code": "工場コード", + "create_optname": "作成者", + "create_time": "作成時間", + "update_optname": "更新者", + "update_time": "更新時間", + "operation": "操作" + }, + "common": { + "blurry_search": "あいまい検索", + "create_optname": "作成者", + "modifier": "更新者", + "modify_time": "更新時間", + "operation": "操作", + "home": "ホーム", + "Layout_setting": "レイアウト設定", + "Personal_center": "個人センター", + "Log_out": "ログアウト", + "Personal_information": "個人情報", + "username": "ユーザー名", + "phone": "携帯電話番号", + "phone2": "携帯番号", + "sex": "性別", + "sex_male": "男性", + "sex_female": "女性", + "email": "ユーザーメール", + "Security_settings": "セキュリティ設定", + "Save_settings": "設定保存", + "Reset_settings": "設定リセット", + "Change_password": "パスワード変更", + "New_password": "新パスワード", + "Old_password": "旧パスワード", + "Verify_password": "パスワード確認", + "User_information": "ユーザー情報", + "Operation_log": "操作ログ", + "action": "アクション", + "IP_source": "IP元", + "Browser": "ブラウザ", + "Request_time": "リクエスト時間", + "Creation_date": "作成日", + "account": "アカウント", + "password": "パスワード", + "verification_code": "認証コード", + "login_rm": "ログイン状態を保持", + "login": "ログイン", + "login_ing": "ログイン中...", + "Create": "新規", + "Update": "更新", + "Delete": "削除", + "More": "その他", + "Export": "エクスポート", + "Editors": "編集", + "SelectAll": "全選択", + "Query": "照会", + "Reset": "リセット", + "Confirm": "確認", + "Cancel": "キャンセル", + "Yes": "はい", + "No": "いいえ", + "Success": "成功", + "Fail": "失敗", + "Please_select": "選択してください", + "Operation_success": "操作成功", + "Upload_success": "アップロード成功", + "Operate": "操作", + "Refresh": "更新", + "Closes": "閉じる", + "Closes_l": "左を閉じる", + "Closes_r": "右を閉じる", + "Closes_o": "他を閉じる", + "Closes_a": "全て閉じる", + "Theme_style_setting": "テーマスタイル設定", + "Theme_color": "テーマカラー", + "System_layout_configuration": "システムレイアウト設定", + "Open": "開く", + "Fixation": "固定", + "Display": "表示", + "Dynamic_titles": "動的タイトル", + "crudTip": "このデータを削除しますか?", + "startDate": "開始日", + "endDate": "終了日", + "moreMenu": "その他メニュー", + "browses": "閲覧", + "fz": "全画面ズーム", + "submit": "送信成功", + "add": "新規成功", + "edit": "編集成功", + "del": "削除成功", + "close": "閉じる確認", + "save": "保存成功", + "datas": "データ", + "Tips": "確認", + "Tip1": "選択した{count}件のデータを削除しますか?", + "Tip3": "ユーザー名はログインに使用されません", + "Tip4": "携帯電話番号は重複できません", + "Tip5": "電話番号を入力してください", + "Tip6": "正しい11桁の携帯電話番号を入力してください", + "Tip7": "ここにExcelファイルをドラッグ または", + "Tip8": "2回入力したパスワードが一致しません", + "Tip9": "もう一度パスワードを入力してください", + "Tip10": "旧パスワードを入力してください", + "Tip11": "新パスワードを入力してください", + "Tip12": "長さは {min} から {max} 文字の間", + "Tip13": "ログアウトしてシステムを終了しますか?", + "Tip14": "WebSocket接続でエラーが発生しました", + "Tip15": "アイコン名を入力してください", + "Tip16": "空であってはならない", + "Tip17": "検索内容を入力してください", + "loading": "データ読み込み中...", + "Tip18": "日時を選択", + "Tip19": "選択したデータを削除しますか?", + "Tip20": "現在のログイン状態は期限切れです。再ログインしてください!", + "name": "名称", + "import": "インポート", + "export": "エクスポート", + "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": "操作成功", + "inputCodeOrName": "コードまたは名称を入力" + }, + "upload": { + "load_text1": "ファイルをここにドラッグ、または", + "load_text2": "クリックしてアップロード", + "load_text3": "Excelファイルのみ、10MB以下", + "load_text4": "ファイルが大きすぎます。10MB未満のファイルをアップロードしてください〜", + "load_text5": "Excelファイルは1つのみアップロード可能です!" + }, + "gateway": { + "picking_point_not_exist": "入力したピッキング位置が存在しません。1207または1210ピッキング位置を入力してください!", + "create_task_fail_empty": "タスク作成失敗:返されたタスク情報が空です。申請パラメータは", + "apply_task_fail": "タスク申請失敗、申請パラメータは", + "check_error_log": "エラーログを確認してください" + }, + "md_me_materialbase": { + "material_code": "物料コード", + "material_name": "物料名", + "material_spec": "物料規格", + "material_model": "物料モデル" + }, + "md_pb_classstandard": { + "class_code": "分類コード", + "class_name": "分類名", + "class_desc": "分類説明", + "product_series_name": "シリーズ", + "parent_class_id": "上位分類識別子" + }, + "md_pb_measureunit": { + "unit_code": "コード", + "unit_name": "名称", + "qty_precision": "データ精度", + "qty_unit_id": "基本計量単位", + "qty_unit_name": "単位名" + }, + "md_pb_storagevehicleinfo": { + "print": "印刷", + "title": "キャリア", + "storagevehicle_id": "キャリア識別子", + "storagevehicle_type": "キャリアタイプ", + "storagevehicle_code": "キャリアコード", + "storagevehicle_name": "キャリア名", + "bind_material": "物料バインド", + "tray_weight": "パレット重量", + "is_used": "有効化", + "weight": "重量(g)", + "generate": "生成", + "generate_and_print": "生成して印刷", + "not_empty": "空であってはならない", + "only_number": "数字のみ入力可能", + "disable_confirm": "この操作でキャリアを無効化します。続行しますか?", + "enable_confirm": "この操作でキャリアを有効化します。続行しますか?", + "print_success": "印刷成功", + "type_not_empty": "キャリアタイプは必須です", + "num_not_empty": "数量は必須です", + "please_select_type": "キャリアタイプを選択してください", + "one_code": "一次元コード", + "two_code": "二次元コード", + "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": "区域", + "warehouse_address": "倉庫住所", + "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": "現在値" + }, + "Scheduling": { + "title": "スケジュールタスク", + "log": { + "title": "タスクログ", + "dialog_title": "実行ログ", + "log_status": "ログ状態", + "search": "検索", + "success": "成功", + "fail": "失敗", + "description": "異常詳細", + "see_description": "詳細を表示", + "elapsed": "所要時間(ミリ秒)" + }, + "placeholder": { + "search": "タスク名を入力して検索", + "log": "ログ", + "cron_expression": "CRON式を入力してください", + "build_corn": "式を生成", + "ip_tip": "スケジューラを実行するIPアドレス" + }, + "dialog": { + "sub_task": "サブタスクID", + "person_in_charge": "タスク担当者", + "email": "警告メール", + "pause_after_failure": "失敗後一時停止", + "is_pause": "タスク状態", + "params": "パラメータ内容", + "p1": "複数はカンマ区切り、順次実行", + "p2": "複数メールはカンマ区切り", + "start": "有効", + "stop": "一時停止" + }, + "table": { + "job_id": "タスクID", + "job_name": "タスク名", + "bean_name": "Bean名", + "job_ip": "スケジューリングIP", + "method_name": "実行メソッド", + "params": "パラメータ", + "cron_expression": "cron式", + "is_pause": "状態", + "is_pause_ok": "一時停止中", + "is_pause_no": "実行中", + "description": "タスク説明", + "create_time": "作成日", + "recover": "再開", + "pause": "一時停止", + "execute": "実行", + "openCron": "Cron式ジェネレータ" + }, + "msg": { + "tip1": "このタスクを停止して削除してもよろしいですか?" + }, + "rules": { + "r1": "タスク名を入力してください", + "r2": "タスク説明を入力してください", + "r3": "Bean名を入力してください", + "r4": "メソッド名を入力してください", + "r5": "Cron式を入力してください", + "r6": "担当者名を入力してください", + "r7": "スケジューリングIPを入力してください" + } + }, + "SysParam": { + 'title': 'システムパラメータ', + "table": { + "code": "コード", + "name": "名称", + "values": "値", + "description": "備考" + }, + "rules": { + "NotNull": "必須項目です" + } + }, + "Dict": { + "title": "辞書", + "placeholder": { + "blurry": "名称または説明を入力して検索" + }, + "table": { + "code": "コード", + "name": "名称", + "dict_code": "辞書コード", + "dict_name": "辞書名", + "dict_detail": "辞書詳細" + }, + "detail": { + "see_title": "クリックして辞書詳細を表示", + "input_tip": "辞書ラベルを入力して検索", + "table": { + "code": "所属辞書", + "label": "辞書ラベル", + "value": "辞書値", + "sort": "並び順", + "param1": "パラメータ1", + "param2": "パラメータ2", + "param3": "パラメータ3" + }, + "rules": { + "r1": "辞書ラベルを入力してください", + "r2": "辞書値を入力してください", + "r3": "順序番号を入力してください" + } + }, + "rules": { + "r1": "コードを入力してください" + } + }, + "Dept": { + "title": "部門情報", + "search": { + "input_name": "部門名を入力して検索" + }, + "table": { + "dept_sort": "並び順", + "name": "名称", + "is_used": "状態", + "create_time": "作成日" + }, + "dialog": { + "code": "部門コード", + "name": "部門名", + "dept_sort": "部門並び順", + "isTop": "トップ部門", + "pid": "上位部門", + "select_dep": "部門カテゴリを選択", + "start": "有効", + "ban": "無効" + }, + "msg": { + "tip1": "削除してもよろしいですか?下位ノードが存在する場合、それらも一緒に削除されます。この操作は元に戻せません!", + "tip2": "上位部門は必須です", + "tip3": "この操作により{name}部門を{display_name}します。続行しますか?" + }, + "rules": { + "r1": "名称を入力してください", + "r2": "順序番号を入力してください" + } + }, + "monitor": { + "sys": "システム", + "day": "プロジェクト連続稼働時間", + "status": "状態", + "cpu": "CPU使用率", + "core": "コア", + "memory": "メモリ使用率", + "tality": "総量", + "used": "使用済み", + "leisure": "空き", + "exchange": "スワップ領域使用率", + "disk": "ディスク使用率", + "cpu_monitoring": "CPU使用率モニタリング", + "memory_monitoring": "メモリ使用率モニタリング" + }, + "menu": { + "home": "ホーム", + "title": "メニュー", + "placeholder": { + "fuzzy_search": "あいまい検索", + "owning_system": "所属システム", + "choose_icon": "クリックしてアイコンを選択", + "component_tip": "コンポーネント内のNameフィールドと一致", + "choose_superior_category": "上位カテゴリを選択" + }, + "table": { + "menu_title": "メニュータイトル", + "system": "所属システム", + "icon": "アイコン", + "sort": "並び順", + "permission_ident": "権限識別子", + "path": "コンポーネントパス", + "outside_chain": "外部リンク", + "cache": "キャッシュ", + "visible": "表示", + "create_time": "作成日" + }, + "dialog": { + "menu_type": "メニュータイプ", + "system": "システム", + "catalogue": "カタログ", + "menu": "メニュー", + "button": "ボタン", + "button_name": "ボタン名", + "menu_icon": "メニューアイコン", + "menu_chain": "外部リンクメニュー", + "menu_cache": "メニューキャッシュ", + "menu_visible": "メニュー表示", + "default_title": "デフォルトタイトル", + "zh_title": "中国語タイトル", + "en_title": "英語タイトル", + "id_title": "インドネシア語タイトル", + "jp_title": "日本語タイトル", + "router_path": "ルーティングアドレス", + "menu_sort": "メニュー並び順", + "component_name": "コンポーネント名", + "component_path": "コンポーネントパス", + "superior_class": "上位カテゴリ" + }, + "msg": { + "delete_msg": "削除してもよろしいですか?下位ノードが存在する場合、それらも一緒に削除されます。この操作は元に戻せません!" + } + }, + "Role": { + "title": "ロール管理", + "title_left": "ロール一覧", + "title_right": "メニュー割り当て", + "save": "保存", + "table": { + "name": "ロール名", + "create_time": "作成日", + "description": "備考" + }, + "dialog": { + "name": "ロール名", + "description": "備考" + }, + "rules": { + "NotNull": "必須項目です" + }, + "msg": { + "m1": "名前を入力", + "m2": "メニューを割り当てるロールを選択してください", + "m3": "名前を入力してください", + "m4": "権限を入力してください", + "m5": "保存が成功しました" + } + }, + "User": { + "title": "ユーザー管理", + "drawerTitle1": "ロール権限の割り当て", + "drawerTitle2": "部門権限の割り当て", + "placeholder": { + "dep_tip": "部門名を入力してください", + "blu_tip": "アカウントまたは名前を入力", + "dep_select_tip": "部門カテゴリを選択" + }, + "table": { + "user_name": "ユーザー名", + "person_name": "氏名", + "gender": "性別", + "phone": "電話番号", + "email": "メールアドレス", + "depts": "部門", + "enabled": "状態", + "permission_scope_type": "権限タイプ", + "permissionName": "権限範囲", + "deptName": "部門名", + "create_time": "作成日", + "create_user": "作成者", + "update_time": "更新日", + "update_user": "更新者", + "reset_pwd": "パスワードリセット", + "dept_reg": "部門権限", + "data_reg": "データ権限", + "account": "アカウント", + "assign_roles": "ロール割り当て", + "locked": "ロック", + "activate": "有効化", + "role_name": "ロール名", + "see": "詳細表示" + }, + "dialog": { + "role": "ロール", + "password": "パスワード", + "sex_male": "男性", + "sex_female": "女性", + "user_name": "ユーザー名", + "person_name": "氏名", + "gender": "性別", + "phone": "電話番号", + "email": "メールアドレス", + "depts": "部門", + "enabled": "状態" + }, + "rules": { + "NotNull": "必須項目です", + "r1": "部門を選択してください", + "r2": "ユーザー名を入力してください", + "r3": "氏名を入力してください", + "r4": "部門は必須です", + "r5": "ロールは必須です" + }, + "msg": { + "m1": "パスワードをリセットしますか?", + "m2": "パスワードリセット成功。パスワード:123456", + "m3": "この操作により{display_name}アカウント:{username}を処理します。続行しますか?", + "m4": "アカウント:{username}は{display_name}されました", + "m5": "データ権限の追加に成功しました" + } + }, + "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】には利用可能なロケーションがありません。合計%s個のロケーションが照会されました", + "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": "パレットは空にできません" + }, + "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】が未定義です" + }, + "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】、現在の変動数は【%s】" + }, + "pda_manage": { + "ongoing_task_at_point": "このポイントには実行中のタスクが存在します", + "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】は既に庫内:【%s】に存在します。データを確認してください!", + "dtllist_cannot_be_empty": "料枠は必須です", + "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】は既にキャリア【%s】にバインドされています", + "vehicle_already_binded": "キャリア【%s】は既にポイント【%s】にバインドされています", + "point_no_vehicle_need_unbind": "ポイント【%s】はキャリア【%s】にバインドされていません。バインド解除は不要です", + "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": "3階CTU", + "xian_gong": "先功システム", + "hairou_ctu": "海柔CTU", + "hikvision_ctu": "海康CTU", + "inbound": "入庫", + "outbound": "出庫", + "in_out_bound": "入出庫", + "first_floor_workshop": "1階工場", + "second_floor_workshop": "2階工場", + "third_floor_workshop": "3階工場", + "main_storage_picking_platform": "主庫ピッキングプラットフォーム", + "first_floor_io_conveyor": "1階入出庫コンベヤ", + "second_floor_io_conveyor": "2階入出庫コンベヤ", + "second_floor_ctu_shelf_docking": "2階CTU棚合わせ位置", + "second_floor_agv_production_line_docking": "2階AGV生産ライン合わせ位置", + "second_floor_empty_shelf_buffer": "2階空棚バッファ位置", + "pallet_warehouse": "パレット庫", + "container_warehouse": "コンテナ庫", + "virtual_warehouse": "仮想庫", + "second_floor_ctu_buffer": "2階CTUバッファ位置", + "second_floor_shelf_buffer": "2階棚バッファ位置", + "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/nladmin-system/nlsso-server/src/main/resources/language/i18n/zh.js b/nladmin-system/nlsso-server/src/main/resources/language/i18n/zh.js new file mode 100644 index 0000000..790eda0 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/resources/language/i18n/zh.js @@ -0,0 +1,1991 @@ +var config = { + "language": "中文", + "platform": { + "title": "WMS系统", + "WMSSystem":"WMS系统" + }, + "SysParam":{ + "rules":{ + "NotNull":"不可为空" + } + }, + "system": { + "exception": "系统异常,请联系管理员", + "paramException": "参数异常,请检查输入参数", + "resultException": "请求结果不存在", + "dataException": "数据异常,数据不存在", + "dataExceptionArg": "数据异常,%s数据不存在", + "dataDuplicationArg": "数据重复,%s已存在于系统中", + "dataFormat": "数据异常,数据不正确", + "activatArg": "%s尚未在系统中激活", + "operation": "操作失败", + "error_param_undefined": "【%s】对应类型【%s】未定义", + "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": "登入失败,账号未启用" + }, + "wms": { + "statement": { + "record": { + "title": "库存变动记录", + "location_info": "仓位信息", + "enter_location_info": "请输入仓位信息", + "material_code": "物料编码", + "enter_material_code": "请输入物料编码", + "vehicle_code": "载具编码", + "enter_vehicle_code": "请输入载具编码", + "batch": "批次", + "enter_batch_info": "请输入批次信息", + "change_date": "变动日期", + "start_date": "开始日期", + "end_date": "结束日期", + "warehouse": "仓库", + "location_code": "仓位编码", + "material_name": "物料名称", + "is_increase_stock": "是否增加库存", + "total_stock": "总库存", + "frozen_stock": "冻结库存", + "change_stock": "变动库存", + "unit": "单位", + "material_extend_info": "物料扩展信息", + "document_number": "单据编号", + "document_table_name": "单据表名", + "change_type": "变动类型", + "update_time": "修改时间" + }, + "structivt": { + "title": "库存管理", + "warehouse_area": "所属库区", + "location_search": "仓位搜索", + "location_code_or_name": "仓位编码或名称", + "material_search": "物料搜索", + "material_code_name_spec": "物料编码、名称或规格", + "batch_number": "批次号", + "export_excel": "导出Excel", + "location_code": "仓位编码", + "location_name": "仓位名称", + "warehouse": "仓库", + "material_code": "物料编码", + "material_name": "物料名称", + "vehicle_number": "载具号", + "stock_quantity": "库存数", + "frozen_quantity": "冻结数", + "measurement_unit": "计量单位", + "remark": "备注", + "storage_time": "入库时间", + "finished_product_stock": "成品库存" + } + }, + "basedata": { + "bsrealstorattr": { + "title": "仓库", + "search_placeholder": "输入仓库编码或名称", + "stor_code": "仓库编码", + "stor_code_required": "仓库编码不能为空", + "stor_name": "仓库名称", + "stor_name_required": "仓库名称不能为空", + "simple_name": "仓库简称", + "ext_id": "外部标识", + "stor_capacity": "仓库容量", + "total_area": "总面积(㎡)", + "stor_type_scode": "仓库性质", + "storea_ddress": "仓库地址", + "principal": "负责人", + "office_phone": "联系电话", + "stor_type": "仓库类型", + "is_materialstore": "原材料库", + "is_semi_finished": "半成品库", + "is_productstore": "成品库", + "is_attachment": "备件库", + "is_virtualstore": "虚拟库", + "remark": "备注", + "is_used": "是否启用", + "valid_phone": "请输入正确的11位手机号码", + "only_number": "只能输入数字", + "select_at_least_one_type": "仓库类型至少选一条", + "disable_confirm": "此操作将停用,是否继续!", + "enable_confirm": "此操作将启用,是否继续!" + }, + "class": { + "title": "基础类别", + "class_code": "分类编码", + "class_name": "分类名称", + "class_desc": "分类简要描述", + "is_top": "顶级类目", + "parent_class": "上级类目", + "select_parent_class": "选择上级类目", + "search_placeholder": "请选择分类名称", + "expand_all": "全部展开", + "is_modify": "是否可修改", + "delete_confirm": "确定删除吗,如果存在下级节点则一并删除,此操作不能撤销!", + "add_sibling": "新增同级", + "add_children": "新增子级", + "not_empty": "不能为空", + "top_class_not_empty": "顶级类目不能为空" + }, + "material": { + "title": "物料", + "not_empty": "不能为空", + "material_code_not_empty": "物料编码不能为空", + "material_name_not_empty": "物料名称不能为空", + "material_type_not_empty": "物料分类不能为空", + "change_status_confirm": "此操作将 \"{status}\" {name}, 是否继续?", + "status_change_success": "{status}成功", + "sync_success": "同步成功!" + }, + "customer": { + "title": "客户基础表", + "search_placeholder": "输入客户编码或客户名称", + "cust_code": "客户编码", + "cust_name": "客户名称 ", + "cust_simple_name": "客户简称 ", + "tax_no": "税务登记号", + "register_no": "工商注册号", + "manage_lice_no": "经营许可证号", + "busi_char_name": "营业执照", + "zip_code": "邮政编码", + "corp_tele_no": "公司电话", + "corp_address": "公司地址", + "ext_id": "外部标识", + "is_used": "是否启用", + "jurid_name": "法人代表", + "remark": "备注", + "cust_id_not_empty": "客户标识不能为空", + "cust_code_not_empty": "客户编码不能为空", + "cust_name_not_empty": "客户名称 不能为空", + "create_id_not_empty": "创建人不能为空", + "create_name_not_empty": "创建人不能为空", + "create_time_not_empty": "创建时间不能为空", + "is_used_not_empty": "是否启用不能为空", + "is_delete_not_empty": "是否删除不能为空", + "class_id_not_empty": "基础分类不能为空", + "change_status_confirm": "此操作将 \"{status}\" {name}, 是否继续?", + "status_change_success": "{status}成功" + }, + "group": { + "title": "组盘记录", + "material_query": "物料查询", + "pcsn": "批次", + "storagevehicle_code": "载具编码", + "material_placeholder": "物料编码、名称", + "batch_query": "批次查询", + "batch_placeholder": "批次", + "vehicle_code": "载具编码", + "vehicle_placeholder": "载具编码", + "status": "组盘状态", + "status_placeholder": "状态", + "material_code": "物料编码", + "material_name": "物料名称", + "spec": "规格", + "storagevehicle_code": "载具编码", + "qty": "物料数量", + "unit": "单位", + "ext_code": "源单号", + "ext_type": "源单类型", + "ext_type_placeholder": "源单类型", + "add_frame": "添加料框", + "frame_no": "料框号", + "operation": "操作", + "input_frame_no": "请输入料框号", + "delete": "删除", + "cancel": "取消", + "confirm": "确认", + "group_qty": "组盘数量", + "remark": "备注", + "create_name": "组盘人", + "create_time": "组盘时间", + "update_name": "修改人", + "update_time": "修改时间", + "index": "序号", + "group_id": "组盘标识", + "insert": "新增一行", + "container_code": "子卷号", + "detail": "组盘详情", + "dtl": "组盘明细", + "save": "保存", + "close": "关闭", + "generate": "自动生成", + "duplicate_frame": "存在重复的料框号:{frames}", + "zero_qty_error": "存在数量为0的料框,不能提交" + }, + "materialSet": { + "title": "物料存放设置", + "sect_select": "库区选择", + "material_class": "物料分类", + "add": "新增", + "operation": "操作", + "sect_code": "库区编码", + "sect_name": "库区名称", + "class_code": "物料类别编码", + "class_name": "物料类别名称", + "set_time": "设置时间", + "set_name": "设置人", + "sect": "库区", + "select_sect": "请选择库区", + "second_class": "二级分类", + "cancel": "取 消", + "confirm": "确 定", + "select_record": "请选择记录", + "operation_success": "操作成功" + }, + "measure": { + "title": "计量单位", + "search_placeholder": "输入单位编码或单位名称", + "unit_code": "编码", + "unit_name": "名称", + "ext_id": "外部标识", + "qty_precision": "数据精度", + "is_used": "是否启用", + "no": "否", + "yes": "是", + "cancel": "取消", + "confirm": "确认", + "update_optname": "修改者", + "update_time": "修改时间", + "operation": "操作", + "not_empty": "不能为空", + "confirm_title": "提示", + "change_status_confirm": "此操作将 \"{status}\" {name}, 是否继续?", + "status_change_success": "{status}成功" + }, + "sectattr": { + "title": "库区", + "stor_select": "所属仓库", + "search_placeholder": "输入库区编码或名称", + "sect_code": "库区编码", + "sect_name": "库区名称", + "simple_name": "库区简称", + "stor_id": "归属仓库", + "capacity": "库区容量", + "sect_type_attr": "库区类型", + "sect_manager_name": "负责人", + "mobile_no": "联系电话", + "remark": "备注", + "stor_name": "仓库名称", + "is_used": "是否启用", + "ext_id": "外部标识", + "valid_phone": "请输入正确的11位手机号码", + "valid_number": "只能输入数字", + "sect_code_not_empty": "库区编码不能为空", + "sect_name_not_empty": "库区名称不能为空", + "sect_type_not_empty": "库区类型不能为空", + "stor_id_not_empty": "仓库标识不能为空", + "not_empty": "不能为空", + "disable": "停用", + "enable": "启用", + "change_status_confirm": "此操作将{status},是否继续!", + "confirm_title": "提示", + "confirm": "确定", + "cancel": "取消", + "operation_success": "操作成功" + }, + "supp": { + "title": "供应商", + "search_placeholder": "输入供应商编码或名称", + "supp_code": "供应商编码", + "supp_name": "供应商名称", + "jurid_name": "法人代表", + "tax_no": "税务登记号", + "register_no": "工商注册号", + "manage_lice_no": "经营许可证号", + "busi_char_name": "营业执照", + "barcode_print": "条码打印起始值", + "zip_code": "邮政编码", + "corp_tele_no": "公司电话", + "corp_address": "公司地址", + "is_used": "是否启用", + "no": "否", + "yes": "是", + "ext_id": "外部标识", + "honour_days": "资金计划履约天数", + "remark": "备注", + "cancel": "取消", + "confirm": "确认", + "update_optname": "修改者", + "update_time": "修改时间", + "operation": "操作", + "not_empty": "不能为空", + "confirm_msg": "此操作将 \"{status}\" {code}, 是否继续?", + "confirm_title": "提示", + "confirm_btn": "确定", + "cancel_btn": "取消", + "success": "成功" + }, + "structattr": { + "position": "仓位", + "position_code": "仓位编码", + "position_name": "仓位名称", + "position_short_name": "仓位简称", + "warehouse_area": "所属库区", + "belong_warehouse_area": "归属库区", + "warehouse": "所属仓库", + "vehicle_number": "载具号", + "lock_type": "锁定类型", + "capacity": "容量", + "weight_bearing": "承受重量", + "width": "宽度", + "depth": "深度", + "height": "高度", + "is_temporary": "是否临时", + "row": "排", + "column": "列", + "layer": "层", + "layer_1": "1层", + "layer_2": "2层", + "layer_3": "3层", + "remark": "备注", + "is_enabled": "是否启用", + "is_empty": "是否空位", + "empty": "空位", + "has_goods": "有货", + "fuzzy_search": "模糊搜索", + "position_code_name": "仓位编码、名称", + "lock_task_type": "锁定任务类型", + "lock_task_code": "锁定任务编码", + "lock_bill_code": "锁定单据编码", + "lock_bill_type": "锁定单据类型", + "position_code_not_empty": "仓位编码不能为空", + "position_name_not_empty": "仓位名称不能为空", + "warehouse_area_not_empty": "库区标识不能为空", + "warehouse_not_empty": "仓库标识不能为空", + "only_number": "只能输入数字", + "disable_confirm": "此操作将停用,是否继续!", + "enable_confirm": "此操作将启用,是否继续!", + "struct_code_not_empty": "仓位标识不能为空" + }, + "storagevehicleinfo": { + "not_empty": "不能为空", + "operate_success": "{status}成功", + "vehicle_type": "载具类型", + "fuzzy_search": "模糊搜索", + "vehicle_code_name": "载具号、载具名称", + "vehicle_code": "载具编码", + "vehicle_name": "载具名称", + "vehicle_weight": "载具重量", + "is_used": "是否启用", + "vehicle_id": "载具标识", + "bind_material": "绑定物料", + "pallet_weight": "托盘重量", + "print": "打印", + "vehicle_material_info": "载具物料信息", + "material_code": "物料编码", + "material_spec": "物料规格", + "batch": "批次", + "material_qty": "物料数量", + "frozen_qty": "冻结数量", + "process_instance": "流程实例", + "vehicle_info": "载具信息", + "vehicle_weight_g": "载具重量(g)", + "print_config": "打印配置", + "paper_height_mm": "纸张高度(mm)", + "paper_width_mm": "纸张宽度(mm)", + "margin_top_mm": "页边距top(mm)", + "margin_right_mm": "页边距right(mm)", + "margin_down_mm": "页边距down(mm)", + "margin_left_mm": "页边距left(mm)", + "start_vehicle_code": "起始载具号", + "vehicle_qty": "载具数量", + "height_mm": "高度(mm)", + "width_mm": "宽度(mm)", + "depth_mm": "深度(mm)", + "title": "载具信息", + "generate": "生成", + "generate_and_print": "生成并打印", + "print_success": "打印成功", + "only_number": "请输入数字", + "type_not_empty": "类型不能为空", + "num_not_empty": "数量不能为空", + "please_select_type": "请选择类型", + "disable_confirm": "确定要禁用此载具吗?", + "enable_confirm": "确定要启用此载具吗?", + "confirm_change": "此操作将 \"{status}\" {code}, 是否继续?", + "is_enabled": "启用状态" + } + }, + "record": { + "inventory_change_record": "库存变动记录", + "position_info": "仓位信息", + "enter_position_info": "请输入仓位信息", + "material_code": "物料编码", + "enter_material_code": "请输入物料编码", + "vehicle_code": "载具编码", + "enter_vehicle_code": "请输入载具编码", + "batch": "批次", + "enter_batch_info": "请输入批次信息", + "change_date": "变动日期", + "start_date": "开始日期", + "end_date": "结束日期", + "warehouse": "仓库", + "position_code": "仓位编码", + "material_name": "物料名称", + "is_increase_inventory": "是否增加库存", + "total_inventory": "总库存", + "frozen_inventory": "冻结库存", + "change_inventory": "变动库存", + "unit": "单位", + "material_extension_info": "物料扩展信息", + "document_number": "单据编号", + "document_table_name": "单据表名", + "change_type": "变动类型", + "update_time": "修改时间" + }, + "structivt": { + "inventory_management": "库存管理", + "warehouse_area": "所属区域", + "point_search": "点位搜索", + "point_code_or_name": "点位编码或名称", + "point_code": "点位编码", + "region_code": "区域编码", + "pcsn": "批次号", + "qty": "总数", + "position_search": "仓位搜索", + "position_code_or_name": "仓位编码或名称", + "material_search": "物料搜索", + "material_info": "物料编码、名称或规格", + "batch_number": "批次号", + "export_excel": "导出Excel", + "position_code": "仓位编码", + "position_name": "仓位名称", + "warehouse": "仓库", + "material_code": "物料编码", + "material_name": "物料名称", + "vehicle_number": "载具号", + "inventory_quantity": "库存数", + "frozen_quantity": "冻结数", + "unit_of_measurement": "计量单位", + "remark": "备注", + "storage_time": "入库时间" + }, + "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!", + "strategy": { + "title": "策略管理", + "strategy_name": "策略名称", + "strategy_type": "策略类型", + "system_strategy": "系统策略", + "custom_strategy": "自定义策略", + "strategy_code": "策略编码", + "decision_type": "决策类型", + "strategy_executor": "策略执行器", + "param": "参数", + "description": "描述", + "is_used": "是否启用", + "operator": "操作人", + "operation_time": "操作时间", + "confirm_disable": "确定要禁用该策略吗?", + "confirm_enable": "确定要启用该策略吗?", + "operation_success": "操作成功", + "inbound": "入库", + "outbound": "出库", + "common": "通用", + "implementation_class": "实现类", + "expression": "表达式", + "script": "脚本", + "strategy_name_not_empty": "策略名称不能为空", + "strategy_type_not_empty": "策略类型不能为空", + "strategy_code_not_empty": "策略编码不能为空", + "param_not_empty": "参数不能为空", + "class_type_not_empty": "策略执行器不能为空", + "confirm_close": "确定要关闭吗?" + }, + "sectStrategy": { + "select_sect": "请选择分区", + "select_strategy_type": "请选择策略类型", + "select_strategy": "请选择策略", + "sect_name":"库区名称", + "strategy_type":"策略类型", + "inbound_strategy":"入库策略", + "outbound_strategy":"出库策略", + "strategy_list":"策略列表", + "description":"描述", + "operator":"描述", + "operation_time":"操作时间" + } + }, + "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】", + "form_data2": { + "merge_list":"合并清单", + "cancel_merge":"取消合并", + "select_cancel_merge": "请选择需要取消合单的单据", + "form_detail": "单据详情", + "form_code": "单据编号", + "form_type": "单据类型", + "form_date": "单据日期", + "create_time": "创建时间", + "material_qty": "物料数量", + "form_status": "单据状态", + "system_generated": "系统生成", + "is_merged": "是否已合单", + "qty": "数量", + "assigned_qty": "出库已分配数量", + "unit": "单位", + "generated": "生成", + "executing": "执行中", + "completed": "完成", + "supplier_code": "供应商编码", + "supplier_name": "供应商名称", + "supplier_code_name": "供应商编码/名称", + "material_code": "物料编码", + "material_name": "物料名称", + "merged_list": "已合并清单", + "import": "导入", + "merged_codes": "被合单据", + "select_at_least_two": "最少选择2个单据进行合单", + "cannot_submit_merged": "不允许提交已合单的单据:", + "cannot_submit_new_merged": "不允许提交合新合单的单据:", + "material_must_same": "合单的订单物料必须相同:", + "out_lifter_must_same": "合单的出库提升机必须相同:", + "floor_must_same": "合单的订单楼层必须相同:", + "merge_success": "合单成功!", + "cannot_submit_unmerged": "不允许提交未合单的单据:", + "cancel_merge_success": "取消合单成功!" + }, + "form_data": { + "select_material_first": "请先勾选物料", + "title": "单据数据", + "form_selection": "单据选择", + "form_details": "单据明细", + "document_details": "单据详情", + "form_type": "单据类型", + "status": "单据状态", + "code": "单据编码", + "form_code": "单据编码", + "material_code": "物料编码", + "form_date": "单据日期", + "warehouse": "仓库", + "qty": "数量", + "pcsn": "批次", + "batch": "批次", + "remark": "备注", + "unit": "单位", + "material_name": "物料名称", + "material_spec": "物料规格", + "vehicle_code": "托盘编码", + "source_form_date": "源单日期", + "create_name": "创建人", + "create_time": "创建时间", + "please_select": "请选择/搜索", + "select_search": "请选择/搜索", + "start_date": "开始日期", + "end_date": "结束日期", + "select_date": "选择日期", + "cancel": "取消", + "confirm": "确认", + "form_material_qty": "单据物料数量", + "actual_qty": "明细实际数量", + "select_warehouse": "请选择仓库", + "select_form_type": "请选择单据类型", + "select_source_form_date": "请选择源单日期", + "enter_material_code": "请输入物料编码", + "enter_qty": "请输入数量", + "enter_pcsn": "请输入批次号", + "generated": "生成", + "executing": "执行中", + "paused": "暂停", + "completed": "完成", + "biz_form_code": "业务单据编码", + "biz_form_time": "业务单据时间", + "material_id": "物料id", + "material_qty": "物料数量", + "process_instance_id": "流程实例id", + "parent_form_id": "父单据数据id", + "code_name": "编码、名称", + "delete_confirm": "确定删除吗,如果存在下级节点则一并删除,此操作不能撤销!", + "form_status": "单据状态" + } + }, + "pub": { + "MaterDialog": { + "title": "物料选择", + "search": "模糊搜索", + "placeholder": "编码、名称", + "material_code": "物料编码", + "material_name": "物料名称", + "spec": "规格", + "model": "型号", + "class_code": "分类编码", + "class_name": "物料分类", + "unit": "计量单位", + "select_material_first": "请先勾选物料" + }, + "StructDialog": { + "title": "货位选择", + "sect": "库区", + "struct": "货位", + "sect_placeholder": "所属库区", + "placeholder": "输入货位编码、名称", + "struct_code": "货位编码", + "struct_name": "货位名称", + "sect_name": "库区名称", + "select_struct_first": "请先勾选仓位" + } + }, + "sch": { + "point": { + "material_code":"物料编码", + "material_name":"物料名称", + "material_qty":"物料数量", + "current_task":"当前任务号", + "title": "点位管理", + "workshop": "所属车间", + "workshop_a": "A车间", + "blurry_search": "模糊搜索", + "code_name": "编码名称", + "region_type": "区域类型", + "point_type": "点位类型", + "point_status": "点位状态", + "lock_type": "锁定类型", + "is_used": "是否启用", + "enable": "启用", + "disable": "禁用", + "lock": "锁定", + "unlock": "解锁", + "point_id": "点位标识", + "please_select": "请选择", + "region": "所属区域", + "point_code": "点位编码", + "point_name": "点位名称", + "device_point_type": "设备点位类型", + "parent_code": "父类编码", + "vehicle_code": "载具编码", + "vehicle_type": "载具类型", + "can_vehicle_types": "可放载具类型", + "vehicle_qty": "载具数量", + "is_has_worker": "是否有工单", + "is_auto": "是否自动", + "remark": "备注", + "workshop_code": "车间编码", + "region_code": "区域编码", + "region_name": "区域名称", + "is_locked": "是否锁定", + "yes": "是", + "no": "否", + "cancel": "取消", + "confirm": "确定", + "operation_success": "操作成功", + "disable_confirm": "此操作将停用,是否继续!", + "enable_confirm": "此操作将启用,是否继续!", + "tip": "提示", + "point_code_not_empty": "点位编码不能为空", + "point_name_not_empty": "点位名称不能为空", + "point_type_not_empty": "点位类型不能为空", + "region_code_not_empty": "区域类型不能为空", + 'create_name': '创建人', + 'create_time': '创建时间', + 'update_name': '修改人', + 'update_time': '修改时间' + }, + 'Log': { + 'level': '日志级别', + 'label': '标签名', + 'search': '模糊搜索', + 'content': '日志内容', + 'link_id': '链路ID', + 'link_id_msg': '请输入链路ID', + 'time': '时间', + 'start_time': '开始时间', + 'to': '至', + 'isRequest': '压缩查看', + 'Query': '查询', + 'end_time': '结束时间' + }, + "Region": { + 'title': '区域管理', + 'search': { + 'blurry': '模糊搜索' + }, + 'table': { + 'region_code': '区域编码', + 'region_name': '区域名称', + 'point_type_explain': '点位类型说明', + 'point_status_explain': '点位状态说明', + 'is_has_worker': '是否有工单', + 'workshop_code': '车间编码', + 'order_seq': '顺序号', + 'remark': '备注', + 'create_name': '创建人', + 'create_time': '创建时间', + 'update_name': '修改人', + 'update_time': '修改时间' + }, + 'dialog': { + 'workshop_code': '所属车间', + 'region_code': '区域编码', + 'region_name': '区域名称', + 'order_seq': '顺序号', + 'point_type_explain': '点位类型说明', + 'point_status_explain': '点位状态说明', + 'is_has_worker': '是否有工单', + 'remark': '备注' + }, + 'rules': { + 'NotNull': '不能为空' + } + }, + "task": { + "title": "任务管理", + "task_code": "任务编码", + "createTime": "创建时间", + "createTime_": "至", + "createTime_1": "开始日期", + "createTime_2": "结束日期", + "vehicle_code": "载具编码", + "vehicle_code2": "分配任务类型", + "acs_task_type": "ACS任务类型", + 'agv_system_type': 'AGV系统类型', + "task_name": "任务名称", + "config_code": "配置编码", + "config_name": "配置名称", + "task_status": "任务状态", + "start_point": "起点", + "end_point": "终点", + "start_point2": "起点2", + "end_point2": "终点2", + "vehicle_type": "载具类型", + "vehicle_qty": "载具数量", + "priority": "优先级", + "handle_class": "处理类", + "handle_status": "处理状态", + "car_no": "车号", + "task_group_id": "任务组标识", + "task_group_seq": "任务组顺序号", + "finished_type": "任务完成类型", + "create_mode": "生成方式", + "acs_trace_id": "链路标识", + "request_param": "生成任务的请求参数", + "response_param": "下发任务的请求参数", + "workshop_code": "车间编码", + "ext_group_data": "额外组盘信息", + "tip_info": "提示信息", + "point_code1": "点位1", + "point_code2": "点位2", + "point_code3": "点位3", + "point_code4": "点位4", + "task_class_id": "任务分类", + "complete": "完成", + "cancel": "取消", + "unfinished": "未完成" + }, + "TaskConfig": { + 'table': { + 'code': '配置编码', + 'task_config': '任务配置', + 'name': '配置名称', + 'acs_task_type': 'ACS任务类型', + 'agv_system_type': 'AGV系统类型', + 'task_name': '任务名字', + 'task_type_name': '任务类型', + 'priority': '优先级', + 'task_create_max_num': '任务生成数上限', + 'task_issue_max_num': '任务下发数上限', + 'is_immediate_create': '是否立即创建', + 'is_auto_issue': '是否自动下发', + 'start_point_pre': '起点前缀', + 'next_region_pre': '终点前缀', + 'workshop_code': '车间编码', + 'remark': '备注', + 'create_name': '创建人', + 'create_time': '创建时间', + 'update_name': '修改人', + 'update_time': '修改时间' + }, + 'dialog': { + 'workshop_code': '所属区域', + 'code': '配置编码', + 'name': '配置名称', + 'acs_task_type': 'ACS任务类型', + 'agv_system_type': 'AGV系统类型', + 'task_name': '任务名字', + 'task_type_name': '任务类型', + 'priority': '优先级', + 'select': '请选择', + 'task_create_max_num': '任务生成数上限', + 'task_issue_max_num': '任务下发数上限', + 'is_immediate_create': '是否立即创建', + 'is_auto_issue': '是否自动下发', + 'start_region': '起点区域', + 'next_region': '终点区域', + 'start_point_pre': '起点前缀', + 'next_point_pre': '终点前缀', + 'task_direction': '任务方向', + 'cancel': '取消', + 'confirm': '确认', + 'unfinish_notify_time': '未完成通知时间', + 'remark': '备注' + }, + 'placeholder': { + 'search': '请输入配置名称', + 'blurry': '模糊搜索' + }, + 'rules': { + 'r1': '请输入acs类型', + 'r2': '请输入最大任务生成数', + 'r3': '请输入最大任务下发数' + }, + 'tooltips': { + 't1': '创建任务时使用', + 't2': '同个配置同时能触发的任务数量' + } + } + }, + "st": { + "inAndOutReturn": { + "title": "出入库回传", + "warehouse": "仓库", + "io_type": "出入类型", + "bill_type": "业务类型", + "blurry_query": "模糊查询", + "io_bill_no": "出入库单", + "is_upload": "是否回传", + "bill_date": "单据日期", + "upload": "回传", + "disupload": "取消回传", + "bill_code": "单据号", + "business_date": "业务日期", + "total_weight": "总重量", + "remark": "备注", + "create_mode": "生成方式", + "detail_count": "明细数", + "created_by": "制单人", + "created_time": "制单时间", + "confirmed_by": "完成人", + "confirmed_time": "完成时间", + "updated_by": "回传人", + "updated_time": "回传时间", + "select_record": "请选择记录", + "upload_warning": "所选单据中存在已回传单据,是否继续回传?", + "tip": "提示", + "confirm": "确定", + "cancel": "取消", + "upload_success": "回传成功", + "cancelled_upload": "已取消回传", + "operation_success": "操作成功", + "yes": "是", + "no": "否", + "start_date": "开始日期", + "end_date": "结束日期" + }, + "inbill": { + "title": "入库单管理", + "start_date": "开始日期", + "end_date": "结束日期", + "blurry_query": "模糊查询", + "bill_code": "单据号", + "warehouse": "所属仓库", + "create_time": "创建时间", + "create_mode": "生成方式", + "bill_status": "单据状态", + "bill_type": "业务类型", + "pcsn": "批次号", + "allocate": "分配", + "force_confirm": "强制确认", + "operation": "操作", + "warehouse_location": "库位", + "vehicle_code": "载具编码", + "material_qrcode": "物料二维码", + "business_date": "业务日期", + "total_weight": "总重量", + "remark": "备注", + "created_by": "制单人", + "created_time": "制单时间", + "updated_by": "修改人", + "updated_time": "修改时间", + "allocated_by": "分配人", + "allocated_time": "分配时间", + "confirmed_by": "确认人", + "confirmed_time": "确认时间", + "select_bill": "请选择一条单据", + "bill_confirm_success": "单据确认成功!", + "system_generated": "系统生成", + "add_pallet_material": "添加组盘物料", + "material_code": "物料编码", + "material_name": "物料名称", + "unit_name": "计量单位名称", + "warehouse_not_empty": "仓库不能为空", + "business_type_not_empty": "业务类型不能为空", + "business_date_not_empty": "业务日期不能为空", + "please_select_at_least_one_detail": "请至少选择一条明细", + "please_select_business_type": "请选择业务类型!", + "add_material": "物料新增", + "view_detail": "入库详情", + "stor": "仓库", + "detail_count": "明细数", + "total_qty": "总重量", + "biz_date": "业务日期", + "in_detail": "入库明细", + "weight": "重量", + "source_bill_type": "源单类型", + "source_bill_code": "源单号", + "detail_remark": "明细备注", + "operation_detail": "作业明细", + "storagevehicle_code": "载具号", + "start_position": "起始位置", + "dest_position": "目的位置", + "task_code": "任务号" + }, + "outbill": { + "title": "出库单管理", + "start_date": "开始日期", + "end_date": "结束日期", + "blurry_query": "模糊查询", + "bill_code": "单据号", + "warehouse": "仓库", + "bill_status": "单据状态", + "create_time": "创建时间", + "bill_type": "业务类型", + "pcsn": "批次号", + "is_upload": "是否回传", + "operation": "操作", + "business_date": "业务日期", + "detail_count": "明细数", + "plan_weight": "计划重量", + "create_mode": "生成方式", + "remark": "备注", + "created_by": "制单人", + "created_time": "制单时间", + "updated_by": "修改人", + "updated_time": "修改时间", + "allocated_by": "分配人", + "allocated_time": "分配时间", + "confirmed_by": "确认人", + "confirmed_time": "确认时间", + "allocate": "分配", + "force_confirm": "强制确认", + "outbound_success": "出库成功!", + "upload_notice": "点击确认按钮后,单据进行回传!", + "upload_success": "回传成功!", + "yes": "是", + "no": "否" + }, + "movebill": { + "select_material_first": "请先勾选物料", + "stor_code": "仓库编码", + "stor_name": "仓库名称", + "title": "移库单管理", + "start_date": "开始日期", + "end_date": "结束日期", + "blurry_query": "模糊查询", + "move_bill_no": "移库单号", + "warehouse": "所属仓库", + "material_search": "物料查询", + "material_code": "物料编码", + "create_mode": "生成方式", + "bill_status": "单据状态", + "bill_type": "业务类型", + "create_time": "创建时间", + "force_confirm": "强制确认", + "operation": "操作", + "bill_code": "单据号", + "business_date": "业务日期", + "detail_count": "明细数", + "created_by": "创建人", + "created_date": "创建日期", + "updated_by": "修改人", + "updated_date": "修改日期", + "confirm_success": "强制确认成功!" + } + } + }, + "region": { + "title": "区域管理", + "workshop": "所属车间", + "workshop_a": "A车间", + "blurry_search": "模糊搜索", + "code_name": "编码名称", + "please_select": "请选择", + "region_code": "区域编码", + "region_name": "区域名称", + "order_seq": "顺序号", + "point_type_explain": "点位类型说明", + "point_status_explain": "点位状态说明", + "is_has_worker": "是否有工单", + "yes": "是", + "no": "否", + "remark": "备注", + "workshop_code": "车间编码", + "create_optname": "创建人", + "create_time": "创建时间", + "update_optname": "修改人", + "update_time": "修改时间", + "operation": "操作" + }, + "common": { + "blurry_search": "模糊搜索", + "create_optname": "创建人", + "modifier":"更新人", + "modify_time":"更新时间", + "operation":"操作", + "home": "首页", + "Layout_setting": "布局设置", + "Personal_center": "个人中心", + "Log_out": "退出登录", + "Personal_information": "个人信息", + "username": "用户姓名", + "phone": "手机号码", + "phone2": "手机号", + "sex": "性别", + "sex_male": "男", + "sex_female": "女", + "email": "用户邮箱", + "Security_settings": "安全设置", + "Save_settings": "保存配置", + "Reset_settings": "重置配置", + "Change_password": "修改密码", + "New_password": "新密码", + "Old_password": "旧密码", + "Verify_password": "确认密码", + "User_information": "用户资料", + "Operation_log": "操作日志", + "action": "行为", + "IP_source": "IP来源", + "Browser": "浏览器", + "Request_time": "请求耗时", + "Creation_date": "创建日期", + "account": "账号", + "password": "密码", + "verification_code": "验证码", + "login_rm": "记住我", + "login": "登 录", + "login_ing": "登 录 中...", + "Create": "新增", + "Update": "修改", + "Delete": "删除", + "More": "更多", + "Export": "导出", + "Editors": "编辑", + "SelectAll": "全选", + "Query": "查询", + "Reset": "重置", + "Confirm": "确认", + "Cancel": "取消", + "Yes": "是", + "No": "否", + "Success": "成功", + "Fail": "失败", + "Please_select": "请选择", + "Operation_success": "操作成功", + "Upload_success": "上传成功", + "Operate": "操作", + "Refresh": "刷新", + "Closes": "关闭", + "Closes_l": "关闭左侧", + "Closes_r": "关闭右侧", + "Closes_o": "关闭其他", + "Closes_a": "关闭全部", + "Theme_style_setting": "主题风格设置", + "Theme_color": "主题颜色", + "System_layout_configuration": "系统布局配置", + "Open": "开启", + "Fixation": "固定", + "Display": "显示", + "Dynamic_titles": "动态标题", + "crudTip": "确定删除本条数据吗?", + "startDate": "开始日期", + "endDate": "结束日期", + "moreMenu": "更多菜单", + "browses": "浏览", + "fz": "全屏缩放", + "submit": "提交成功", + "add": "新增成功", + "edit": "编辑成功", + "del": "删除成功", + "close": "确认关闭", + "save": "保存成功", + "datas": "数据", + "Tips": "提示", + "Tip1": "确认删除选中的{count}条数据?", + "Tip3": "用户姓名不作为登录使用", + "Tip4": "手机号码不能重复", + "Tip5": "请输入电话号码", + "Tip6": "请输入正确的11位手机号码", + "Tip7": "拖拽excel文件到此处 或者", + "Tip8": "两次输入的密码不一致", + "Tip9": "请再次输入密码", + "Tip10": "请输入旧密码", + "Tip11": "请输入新密码", + "Tip12": "长度在 {min} 到 {max} 个字符", + "Tip13": "确定注销并退出系统吗?", + "Tip14": "WebSocket连接发生错误", + "Tip15": "请输入图标名称", + "Tip16": "不能为空", + "Tip17": "请输入你要搜索的内容", + "loading": "数据加载中...", + "Tip18": "选择日期时间", + "Tip19": "你确定删除选中的数据吗?", + "Tip20": "当前登录状态已过期,请重新登录!", + "name": "名称", + "import": "导入", + "export": "导出", + "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": "操作成功", + "inputCodeOrName": "输入编码或名称" + }, + "upload": { + "load_text1": "将文件拖到此处,或", + "load_text2": "点击上传", + "load_text3": "只能上传Excel文件,且不超过10MB", + "load_text4": "文件过大,请上传小于10MB的文件〜", + "load_text5": "只能上传一个excel文件!" + }, + "gateway": { + "picking_point_not_exist": "您输入的拣选位不存在,请输入1207或1210拣选位!", + "create_task_fail_empty": "创建任务失败:返回任务信息为空,申请参数为", + "apply_task_fail": "任务申请失败,申请参数为", + "check_error_log": "请查看错误日志" + }, + "md_me_materialbase": { + "material_code": "物料编码", + "material_name": "物料名称", + "material_spec": "物料规格", + "material_model": "物料型号" + }, + "md_pb_classstandard": { + "class_code": "分类编码", + "class_name": "分类名称", + "class_desc": "分类描述", + "product_series_name": "系列", + "parent_class_id": "上级分类标识" + }, + "md_pb_measureunit": { + "unit_code": "编码", + "unit_name": "名称", + "qty_precision": "数据精度", + "qty_unit_id": "基本计量单位", + "qty_unit_name": "单位名称" + }, + "md_pb_storagevehicleinfo": { + "print": "打印", + "title": "载具", + "storagevehicle_id": "载具标识", + "storagevehicle_type": "载具类型", + "storagevehicle_code": "载具编码", + "storagevehicle_name": "载具名称", + "bind_material": "绑定物料", + "tray_weight": "托盘重量", + "is_used": "是否启用", + "weight": "重量(g)", + "generate": "生成", + "generate_and_print": "生成并打印", + "not_empty": "不能为空", + "only_number": "只能输入数字", + "disable_confirm": "此操作将停用载具,是否继续!", + "enable_confirm": "此操作将启用载具,是否继续!", + "print_success": "打印成功", + "type_not_empty": "载具类型不能为空", + "num_not_empty": "数量不能为空", + "please_select_type": "请选择载具类型", + "one_code": "一维码", + "two_code": "二维码", + "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": "区域", + "warehouse_address": "仓库地址", + "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": "当前值" + }, + "Scheduling": { + 'title': '定时任务', + 'log': { + 'title': '任务日志', + 'dialog_title': '执行日志', + 'log_status': '日志状态', + 'search': '搜索', + 'success': '成功', + 'fail': '失败', + 'description': '异常详情', + 'see_description': '查看详情', + 'elapsed': '耗时(毫秒)' + }, + 'placeholder': { + 'search': '输入任务名称搜索', + 'log': '日志', + 'cron_expression': '请输入CRON 表达式', + 'build_corn': '生成表达式', + 'ip_tip': '执行定时器的ip地址' + }, + 'dialog': { + 'sub_task': '子任务ID', + 'person_in_charge': '任务负责人', + 'email': '告警邮箱', + 'pause_after_failure': '失败后暂停', + 'is_pause': '任务状态', + 'params': '参数内容', + 'p1': '多个用逗号隔开,按顺序执行', + 'p2': '多个邮箱用逗号隔开', + 'start': '启用', + 'stop': '暂停' + }, + 'table': { + 'job_id': '任务ID', + 'job_name': '任务名称', + 'bean_name': 'Bean名称', + 'job_ip': '调度IP', + 'method_name': '执行方法', + 'params': '参数', + 'cron_expression': 'cron表达式', + 'is_pause': '状态', + 'is_pause_ok': '已暂停', + 'is_pause_no': '运行中', + 'description': '任务描述', + 'create_time': '创建日期', + 'recover': '恢复', + 'pause': '暂停', + 'execute': '执行', + 'openCron': 'Cron表达式生成器' + }, + 'msg': { + 'tip1': '确定停止并删除该任务吗?' + }, + 'rules': { + 'r1': '请输入任务名称', + 'r2': '请输入任务描述', + 'r3': '请输入Bean名称', + 'r4': '请输入方法名称', + 'r5': '请输入Cron表达式', + 'r6': '请输入负责人名称', + 'r7': '请输入调度IP' + } + }, + 'SysParam': { + 'title': '系统参数', + 'table': { + 'code': '编码', + 'name': '名称', + 'values': '值', + 'description': '备注' + }, + 'rules': { + 'NotNull': '不能为空' + } + }, + 'Dept': { + 'title': '部门信息', + 'search': { + 'input_name': '输入部门名称搜索' + }, + 'table': { + 'dept_sort': '排序', + 'name': '名称', + 'is_used': '状态', + 'create_time': '创建日期' + }, + 'dialog': { + 'code': '部门编码', + 'name': '部门名称', + 'dept_sort': '部门排序', + 'isTop': '顶级部门', + 'pid': '上级部门', + 'select_dep': '选择部门类目', + 'start': '启用', + 'ban': '禁用' + }, + 'msg': { + 'tip1': '确定删除吗,如果存在下级节点则一并删除,此操作不能撤销!', + 'tip2': '上级部门不能为空', + 'tip3': '此操作将{display_name} {name} 部门, 是否继续?' + }, + 'rules': { + 'r1': '请输入名称', + 'r2': '请输入序号' + } + }, + 'menu': { + 'home': '首页', + 'title': '菜单', + 'placeholder': { + 'fuzzy_search': '模糊搜索', + 'owning_system': '所属系统', + 'choose_icon': '点击选择图标', + 'component_tip': '匹配组件内Name字段', + 'choose_superior_category': '选择上级类目' + }, + 'table': { + 'menu_title': '菜单标题', + 'system': '所属系统', + 'icon': '图标', + 'sort': '排序', + 'permission_ident': '权限标识', + 'path': '组件路径', + 'outside_chain': '外链', + 'cache': '缓存', + 'visible': '可见', + 'create_time': '创建日期' + }, + 'dialog': { + 'menu_type': '菜单类型', + 'system': '系统', + 'catalogue': '目录', + 'menu': '菜单', + 'button': '按钮', + 'button_name': '按钮名称', + 'menu_icon': '菜单图标', + 'menu_chain': '外链菜单', + 'menu_cache': '菜单缓存', + 'menu_visible': '菜单可见', + 'default_title': '默认标题', + 'zh_title': '中文标题', + 'en_title': '英文标题', + 'id_title': '印尼标题', + 'jp_title': '日语标题', + 'router_path': '路由地址', + 'menu_sort': '菜单排序', + 'component_name': '组件名称', + 'component_path': '组件路径', + 'superior_class': '上级类目' + }, + 'msg': { + 'delete_msg': '确定删除吗,如果存在下级节点则一并删除,此操作不能撤销!' + } + }, + 'Role': { + 'title': '角色管理', + 'title_left': '角色列表', + 'title_right': '菜单分配', + 'save': '保存', + 'table': { + 'name': '角色名称', + 'create_time': '创建日期', + 'description': '备注' + }, + 'dialog': { + 'name': '角色名称', + 'description': '备注' + }, + 'rules': { + 'NotNull': '不能为空' + }, + 'msg': { + 'm1': '输入名称', + 'm2': '选择指定角色分配菜单', + 'm3': '请输入名称', + 'm4': '请输入权限', + 'm5': '保存成功' + } + }, + 'monitor': { + 'sys': '系统', + 'day': '项目已不间断运行', + 'status': '状态', + 'cpu': 'CPU使用率', + 'core': '核心', + 'memory': '内存使用率', + 'tality': '总量', + 'used': '已使用', + 'leisure': '空闲', + 'exchange': '交换区使用率', + 'disk': '磁盘使用率', + 'cpu_monitoring': 'CPU使用率监控', + 'memory_monitoring': '内存使用率监控' + }, + 'Dict': { + 'title': '字典', + 'placeholder': { + 'blurry': '输入名称或者描述搜索' + }, + 'table': { + 'code': '编码', + 'name': '名称', + 'dict_code': '字典编码', + 'dict_name': '字典名称', + 'dict_detail': '字典详情' + }, + 'detail': { + 'see_title': '点击字典查看详情', + 'input_tip': '输入字典标签查询', + 'table': { + 'code': '所属字典', + 'label': '字典标签', + 'value': '字典值', + 'sort': '排序', + 'param1': '参数1', + 'param2': '参数2', + 'param3': '参数3' + }, + 'rules': { + 'r1': '请输入字典标签', + 'r2': '请输入字典值', + 'r3': '请输入序号' + } + }, + 'rules': { + 'r1': '请输入编码' + } + }, + 'User': { + 'title': '用户管理', + 'drawerTitle1': '分配角色权限', + 'drawerTitle2': '分配部门权限', + 'placeholder': { + 'dep_tip': '请输入部门名称', + 'blu_tip': '输入账号或者名称', + 'dep_select_tip': '选择部门类目' + }, + 'table': { + 'user_name': '用户名', + 'person_name': '姓名', + 'gender': '性别', + 'phone': '电话', + 'email': '邮箱', + 'depts': '部门', + 'enabled': '状态', + 'permission_scope_type': '权限类型', + 'permissionName': '权限范围', + 'deptName': '部门名称', + 'create_time': '创建日期', + 'create_user': '创建人', + 'update_time': '修改日期', + 'update_user': '修改人', + 'reset_pwd': '重置密码', + 'dept_reg': '部门权限', + 'data_reg': '数据权限', + 'account': '账号', + 'assign_roles': '分配角色', + 'locked': '锁定', + 'activate': '激活', + 'role_name': '角色名称', + 'see': '查看明细' + }, + 'dialog': { + 'role': '角色', + 'password': '密码', + 'sex_male': '男', + 'sex_female': '女', + 'user_name': '用户名', + 'person_name': '姓名', + 'gender': '性别', + 'phone': '电话', + 'email': '邮箱', + 'depts': '部门', + 'enabled': '状态' + }, + 'rules': { + 'NotNull': '不能为空', + 'r1': '请选择部门', + 'r2': '请输入用户名', + 'r3': '请输入用户姓名', + 'r4': '部门不能为空', + 'r5': '角色不能为空' + }, + 'msg': { + 'm1': '确认重置密码?', + 'm2': '密码重置成功,密码:123456', + 'm3': '此操作将{display_name}账号:{username},是否继续?', + 'm4': '账号:{username}已{display_name}', + 'm5': '添加数据权限成功' + } + }, + "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】没有可用的货位,共查询到%s个货位", + "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": "托盘不能为空" + }, + "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】未定义" + }, + "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】当前变动数为【%s】" + }, + "pda_manage": { + "ongoing_task_at_point":"该点位存在正在执行的任务", + "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】已存在库内:【%s】,请对数据进行核实!", + "dtllist_cannot_be_empty": "料框不可为空", + "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】已绑定载具【%s】", + "vehicle_already_binded": "载具【%s】已绑定点位【%s】", + "point_no_vehicle_need_unbind": "点位【%s】没有绑定载具【%s】,无需解绑", + "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/nladmin-ui/.env.production b/nladmin-ui/.env.production index 65580f0..4d69a14 100644 --- a/nladmin-ui/.env.production +++ b/nladmin-ui/.env.production @@ -2,6 +2,6 @@ ENV = 'production' # 如果使用 Nginx 代理后端接口,那么此处需要改为 '/',文件查看 Docker 部署篇,Nginx 配置 # 接口地址,注意协议,如果你没有配置 ssl,需要将 https 改为 http -VUE_APP_BASE_API = 'http://10.93.41.201:8010' +VUE_APP_BASE_API = 'http://localhost:8010' # 如果接口是 http 形式, wss 需要改为 ws -VUE_APP_WS_API = 'ws://10.93.41.201:8010' +VUE_APP_WS_API = 'ws://localhost:8010' diff --git a/nladmin-ui/public/config.js b/nladmin-ui/public/config.js index 3b399da..0069247 100644 --- a/nladmin-ui/public/config.js +++ b/nladmin-ui/public/config.js @@ -1,9 +1,9 @@ window.g = { dev: { - VUE_APP_BASE_API: 'http://192.168.217.2:8010' + VUE_APP_BASE_API: 'http://localhost:8010' }, prod: { - VUE_APP_BASE_API: 'http://192.168.217.2:8010' + VUE_APP_BASE_API: 'http://localhost:8010' } } diff --git a/nladmin-ui/src/api/i18n.js b/nladmin-ui/src/api/i18n.js new file mode 100644 index 0000000..b8073e1 --- /dev/null +++ b/nladmin-ui/src/api/i18n.js @@ -0,0 +1,10 @@ +import request from '@/utils/request' +// 国际化开发:3。增加文件获取接口 +export function fetchMessages(locale) { + return request({ + url: '/api/language/js/' + locale, + method: 'get' + }) +} + +export default { fetchMessages } diff --git a/nladmin-ui/src/components/Breadcrumb/index.vue b/nladmin-ui/src/components/Breadcrumb/index.vue index 83e3425..26a8447 100644 --- a/nladmin-ui/src/components/Breadcrumb/index.vue +++ b/nladmin-ui/src/components/Breadcrumb/index.vue @@ -11,6 +11,7 @@ + + diff --git a/nladmin-ui/src/views/dashboard/mixins/dashboard2.js b/nladmin-ui/src/views/dashboard/mixins/dashboard2.js new file mode 100644 index 0000000..9d35154 --- /dev/null +++ b/nladmin-ui/src/views/dashboard/mixins/dashboard2.js @@ -0,0 +1,69 @@ +import axios from 'axios' + +export default { + /** + * 获取仪表板报表数据 + * @param {Object} params - 查询参数 + * @returns {Promise} 返回数据Promise + */ + async getReportData(params = {}) { + try { + const response = await axios.get('/api/bigScreen/getReportData', { + params: { + dateRange: params.dateRange || '', + searchKey: params.searchKey || '', + ...params + } + }) + return response.data + } catch (error) { + console.error('获取报表数据失败:', error) + throw error + } + }, + + /** + * 获取周对比数据 + * @param {Object} params - 查询参数 + * @returns {Promise} 返回数据Promise + */ + // async getWeekData(params = {}) { + // try { + // const response = await axios.get('/api/bigScreen/getWeeklyData', { + // params: { + // currentWeek: params.currentWeek || '', + // lastWeek: params.lastWeek || '', + // ...params + // } + // }) + // return response.data + // } catch (error) { + // console.error('获取周对比数据失败:', error) + // throw error + // } + // }, + + /** + * 刷新所有仪表板数据 + * @param {Object} params - 查询参数 + * @returns {Promise} 返回包含报表数据和周对比数据的对象 + */ + async refreshDashboardData(params = {}) { + try { + const [reportData, weekData] = await Promise.all([ + this.getReportData(params) + // this.getWeekData(params) + ]) + + // 返回Dashboard2.vue中期望的格式 + return { + stats: reportData && reportData.stats ? reportData.stats : undefined, + historyList: reportData && reportData.historyList ? reportData.historyList : undefined, + weeklyComparison: weekData + } + } catch (error) { + console.error('刷新仪表板数据失败:', error) + throw error + } + } +} diff --git a/nladmin-ui/src/views/login.vue b/nladmin-ui/src/views/login.vue index d723e61..4abc16a 100644 --- a/nladmin-ui/src/views/login.vue +++ b/nladmin-ui/src/views/login.vue @@ -28,14 +28,14 @@ - + {{ language }} 简体中文 English - Indonesian + Japanese @@ -63,12 +63,13 @@ import { getCodeImg } from '@/api/login' import Cookies from 'js-cookie' import Background from '@/assets/images/background.jpg' import i18n from '@/i18n' +import { fetchMessages } from '@/api/i18n' export default { name: 'Login', data() { return { language: '简体中文', - title: i18n.t('platform.title'), + title: 'WMS系统', title_param: 'platform', Background: Background, codeUrl: '', @@ -108,6 +109,18 @@ export default { }, methods: { // 中英文切换 + // 语言切换-x + async changeLanguage(locale) { + // 如果已经加载过该语言,可以直接设置,避免重复请求 + if (!this.$i18n.getLocaleMessage(locale)) { + const messages = await fetchMessages(locale) + this.$i18n.setLocaleMessage(locale, messages) + } + this.$i18n.locale = locale + // 可以将当前语言保存到本地存储,以便下次使用 + localStorage.setItem('lang', locale) + this.setLang(locale) + }, langChange(command) { this.$i18n.locale = command localStorage.setItem('lang', command) @@ -119,8 +132,8 @@ export default { this.language = 'English' } else if (command === 'zh') { this.language = '简体中文' - } else if (command === 'in') { - this.language = 'Indonesian' + } else if (command === 'jp') { + this.language = 'Japanese' } }, getCode() { diff --git a/nladmin-ui/src/views/lucene/index.vue b/nladmin-ui/src/views/lucene/index.vue index e0fc4d8..8a2aaa6 100644 --- a/nladmin-ui/src/views/lucene/index.vue +++ b/nladmin-ui/src/views/lucene/index.vue @@ -7,12 +7,12 @@ label-width="=100px" label-suffix=":" > - + - + - + - + - + - + - {{ $t('common.Query') }} + {{ $t('wms.sch.Log.Query') }} diff --git a/nladmin-ui/src/views/system/menu/index.vue b/nladmin-ui/src/views/system/menu/index.vue index 0e47c75..cde8e8c 100644 --- a/nladmin-ui/src/views/system/menu/index.vue +++ b/nladmin-ui/src/views/system/menu/index.vue @@ -106,11 +106,11 @@ :placeholder="$t('menu.dialog.en_title')" /> - + @@ -246,6 +246,7 @@ const defaultForm = { title: null, en_title: null, in_title: null, + jp_title: null, zh_title: null, menu_sort: 999, path: null, @@ -293,6 +294,9 @@ export default { in_title: [ { required: true, message: '请输入标题', trigger: 'blur' } ], + jp_title: [ + { required: true, message: '请输入标题', trigger: 'blur' } + ], path: [ { required: true, message: '请输入地址', trigger: 'blur' } ] diff --git a/nladmin-ui/src/views/system/param/index.vue b/nladmin-ui/src/views/system/param/index.vue index b9a234b..3c1e1ee 100644 --- a/nladmin-ui/src/views/system/param/index.vue +++ b/nladmin-ui/src/views/system/param/index.vue @@ -68,6 +68,7 @@ import rrOperation from '@crud/RR.operation' import crudOperation from '@crud/CRUD.operation' import udOperation from '@crud/UD.operation' import pagination from '@crud/Pagination' +import i18n from '@/i18n' const defaultForm = { id: null, @@ -82,7 +83,7 @@ export default { components: { pagination, crudOperation, rrOperation, udOperation }, mixins: [presenter(), header(), form(defaultForm), crud()], cruds() { - return CRUD({ title: 'menu.SystemParam', url: 'api/param', idField: 'id', sort: 'id,desc', crudMethod: { ...crudParam }, + return CRUD({ title: i18n.t('SysParam.title'), url: 'api/param', idField: 'id', sort: 'id,desc', crudMethod: { ...crudParam }, optShow: { add: true, edit: true, @@ -102,16 +103,16 @@ export default { rules: { id: [ - { required: true, message: this.$t('SysParam.rules.NotNull'), trigger: 'blur' } + { required: true, message: i18n.t('SysParam.rules.NotNull'), trigger: 'blur' } ], code: [ - { required: true, message: this.$t('SysParam.rules.NotNull'), trigger: 'blur' } + { required: true, message: i18n.t('SysParam.rules.NotNull'), trigger: 'blur' } ], name: [ - { required: true, message: this.$t('SysParam.rules.NotNull'), trigger: 'blur' } + { required: true, message: i18n.t('SysParam.rules.NotNull'), trigger: 'blur' } ], value: [ - { required: true, message: this.$t('SysParam.rules.NotNull'), trigger: 'blur' } + { required: true, message: i18n.t('SysParam.rules.NotNull'), trigger: 'blur' } ] } } diff --git a/nladmin-ui/src/views/system/user/center.vue b/nladmin-ui/src/views/system/user/center.vue index e7c733a..77d27b7 100644 --- a/nladmin-ui/src/views/system/user/center.vue +++ b/nladmin-ui/src/views/system/user/center.vue @@ -119,6 +119,7 @@ import { parseTime } from '@/utils/index' import crud from '@/mixins/crud' import { editUser } from '@/views/system/user/user' import Avatar from '@/assets/images/avatar.png' +import i18n from '@/i18n' export default { name: 'Center', components: { updatePass, updateEmail, myUpload }, @@ -127,9 +128,9 @@ export default { // 自定义验证 const validPhone = (rule, value, callback) => { if (!value) { - callback(new Error(this.$t('common.Tip5'))) + callback(new Error(i18n.t('common.Tip5'))) } else if (!isvalidPhone(value)) { - callback(new Error(this.$t('common.Tip6'))) + callback(new Error(i18n.t('common.Tip6'))) } else { callback() } diff --git a/nladmin-ui/src/views/system/user/center/updatePass.vue b/nladmin-ui/src/views/system/user/center/updatePass.vue index a1b0b85..154a0c7 100644 --- a/nladmin-ui/src/views/system/user/center/updatePass.vue +++ b/nladmin-ui/src/views/system/user/center/updatePass.vue @@ -29,7 +29,7 @@ export default { const confirmPass = (rule, value, callback) => { if (value) { if (this.form.newPass !== value) { - callback(new Error(this.$t('common.Tip8'))) + callback(new Error(i18n.t('common.Tip8'))) } else { callback() } diff --git a/nladmin-ui/src/views/wms/basedata/master/classification/index.vue b/nladmin-ui/src/views/wms/basedata/master/classification/index.vue index c13d2c6..6767b4b 100644 --- a/nladmin-ui/src/views/wms/basedata/master/classification/index.vue +++ b/nladmin-ui/src/views/wms/basedata/master/classification/index.vue @@ -11,10 +11,10 @@ label-width="90px" label-suffix=":" > - + - {{ $t('BasicClassification.button.all_open') }} + {{ $t('wms.basedata.class.expand_all') }} @@ -55,16 +55,16 @@ :width="computedLabelWidth" > - + - + - + - + {{ $t('common.Yes') }} {{ $t('common.No') }} @@ -76,7 +76,7 @@ :load-options="loadClass" :options="classes" style="width: 370px;" - :placeholder="$t('BasicClassification.placeholder.p2')" + :placeholder="$t('wms.basedata.class.select_parent_class')" /> @@ -98,19 +98,19 @@ @select-all="crud.selectAllChange" @selection-change="crud.selectionChangeHandler" > - - - - - - + + + + + + {{ scope.row.is_modify ? $t('common.Yes') : $t('common.No') }} @@ -124,10 +124,10 @@ :msg="$t('BasicClassification.msg.m1')" /> - {{ $t('BasicClassification.button.bu1') }} + {{ $t('wms.basedata.class.add_sibling') }} - {{ $t('BasicClassification.button.bu2') }} + {{ $t('wms.basedata.class.add_children') }} @@ -180,7 +180,7 @@ export default { mixins: [presenter(), header(), form(defaultForm), crud()], cruds() { return CRUD({ - title: i18n.t('BasicClassification.title'), + title: i18n.t('wms.basedata.class.title'), url: 'api/Classstandard', idField: 'class_id', sort: 'class_id,desc', diff --git a/nladmin-ui/src/views/wms/basedata/master/customer/index.vue b/nladmin-ui/src/views/wms/basedata/master/customer/index.vue index 3e68a57..ee778b9 100644 --- a/nladmin-ui/src/views/wms/basedata/master/customer/index.vue +++ b/nladmin-ui/src/views/wms/basedata/master/customer/index.vue @@ -34,68 +34,68 @@ - + - + - + - + - + - + - + - + - + - + - + - + {{ $t('common.No') }} {{ $t('common.Yes') }} @@ -103,7 +103,7 @@ - + @@ -159,7 +159,7 @@ - + @@ -182,18 +182,18 @@ - + @@ -26,29 +26,29 @@ - + - + - + - - {{ $t('common.No') }} - {{ $t('common.Yes') }} + + {{ $t('wms.basedata.measure.no') }} + {{ $t('wms.basedata.measure.yes') }} - + diff --git a/nladmin-ui/src/views/wms/basedata/material/MaterialDialog.vue b/nladmin-ui/src/views/wms/basedata/material/MaterialDialog.vue index 0a906b2..d7b16ce 100644 --- a/nladmin-ui/src/views/wms/basedata/material/MaterialDialog.vue +++ b/nladmin-ui/src/views/wms/basedata/material/MaterialDialog.vue @@ -1,6 +1,6 @@ - + @@ -58,17 +58,17 @@ @current-change="clickChange" > - + - - - + + + - + @@ -76,8 +76,8 @@ - 取 消 - 确 定 + {{ $t('common.Cancel') }} + {{ $t('common.Confirm') }} @@ -89,13 +89,14 @@ import rrOperation from '@crud/RR.operation' import pagination from '@crud/Pagination' import '@riophae/vue-treeselect/dist/vue-treeselect.css' import materialRecord from '@/views/wms/sch/materialRecord/materialRecord' +import i18n from '@/i18n' export default { name: 'MaterialDialog', components: { rrOperation, pagination }, dicts: ['is_used'], cruds() { - return CRUD({ title: '物料选择', url: 'api/Materia', optShow: {}}) + return CRUD({ title: i18n.t('wms.pub.MaterDialog.title'), url: 'api/Materia', optShow: {}}) }, mixins: [presenter(), header()], props: { diff --git a/nladmin-ui/src/views/wms/basedata/material/index.vue b/nladmin-ui/src/views/wms/basedata/material/index.vue index 1f7b0fa..ee77dcd 100644 --- a/nladmin-ui/src/views/wms/basedata/material/index.vue +++ b/nladmin-ui/src/views/wms/basedata/material/index.vue @@ -135,15 +135,15 @@ @selection-change="crud.selectionChangeHandler" > - - - - + + + + - + - - + + @@ -186,6 +186,7 @@ import crudOperation from '@crud/CRUD.operation' import udOperation from '@crud/UD.operation' import pagination from '@crud/Pagination' import UploadDialog from './UploadDialog' +import i18n from '@/i18n' const defaultForm = { material_id: null, @@ -231,7 +232,7 @@ export default { mixins: [presenter(), header(), form(defaultForm), crud()], cruds() { return CRUD({ - title: '物料', + title: i18n.t('wms.basedata.material.title'), optShow: { add: true, reset: true }, url: 'api/Materia', idField: 'material_id', @@ -251,13 +252,13 @@ export default { permission: {}, rules: { material_id: [ - { required: true, message: '不能为空', trigger: 'blur' } + { required: true, message: i18n.t('wms.basedata.material.not_empty'), trigger: 'blur' } ], material_code: [ - { required: true, message: '物料编码不能为空', trigger: 'blur' } + { required: true, message: i18n.t('wms.basedata.material.material_code_not_empty'), trigger: 'blur' } ], material_name: [ - { required: true, message: '物料名称不能为空', trigger: 'blur' } + { required: true, message: i18n.t('wms.basedata.material.material_name_not_empty'), trigger: 'blur' } ], create_id: [ { required: true, message: '不能为空', trigger: 'blur' } @@ -284,18 +285,21 @@ export default { materialSync() { crudMaterial.materialSync({}).then(res => { this.crud.toQuery() - this.crud.notify('同步成功!', CRUD.NOTIFICATION_TYPE.SUCCESS) + this.crud.notify(i18n.t('wms.basedata.material.sync_success'), CRUD.NOTIFICATION_TYPE.SUCCESS) }) }, // 改变状态 changeEnabled(data, val) { - this.$confirm('此操作将 "' + this.dict.label.is_used[val] + '" ' + data.material_name + ', 是否继续?', '提示', { - confirmButtonText: '确定', - cancelButtonText: '取消', + this.$confirm(i18n.t('wms.basedata.material.change_status_confirm', { + status: this.dict.label.is_used[val], + name: data.material_name + }), i18n.t('common.tips'), { + confirmButtonText: i18n.t('common.Confirm'), + cancelButtonText: i18n.t('common.Cancel'), type: 'warning' }).then(() => { crudMaterial.edit(data).then(res => { - this.crud.notify(this.dict.label.is_used[val] + '成功', CRUD.NOTIFICATION_TYPE.SUCCESS) + this.crud.notify(i18n.t('wms.basedata.material.status_change_success', { status: this.dict.label.is_used[val] }), CRUD.NOTIFICATION_TYPE.SUCCESS) }).catch(() => { if (data.is_used === '0') { data.is_used = '1' diff --git a/nladmin-ui/src/views/wms/pdm/group/AddDialog.vue b/nladmin-ui/src/views/wms/pdm/group/AddDialog.vue index 01cc6af..6e31167 100644 --- a/nladmin-ui/src/views/wms/pdm/group/AddDialog.vue +++ b/nladmin-ui/src/views/wms/pdm/group/AddDialog.vue @@ -15,21 +15,21 @@ - 保存 - 关闭 + {{ $t('wms.basedata.group.save') }} + {{ $t('wms.basedata.group.close') }} - - + + - - + + - - 备 注: + + {{ $t('wms.basedata.group.remark') }}: @@ -47,7 +47,7 @@ size="mini" @click="insertdtl()" > - 新增一行 + {{ $t('wms.basedata.group.insert') }} @@ -61,14 +61,14 @@ border :header-cell-style="{background:'#f5f7fa',color:'#606266'}" > - - + + {{ scope.row.container_code }} - + @@ -76,20 +76,20 @@ {{ scope.row.box_code }} - - + + {{ scope.row.qty }} - - + + - + - - 载具编码: + + {{ $t('wms.basedata.group.storagevehicle_code') }}: - - 物料编码: + + {{ $t('wms.basedata.group.material_code') }}: - - 物料名称: + + {{ $t('wms.basedata.group.material_name') }}: - - 总 重 量: + + {{ $t('wms.basedata.group.qty') }}: - - 备 注: + + {{ $t('wms.basedata.group.remark') }}: - 组盘明细 + {{ $t('wms.basedata.group.dtl') }} @@ -53,13 +53,13 @@ :header-cell-style="{background:'#f5f7fa',color:'#606266'}" @current-change="handleDtlCurrentChange" > - - - - - - - + + + + + + + diff --git a/nladmin-ui/src/views/wms/pdm/group/index.vue b/nladmin-ui/src/views/wms/pdm/group/index.vue index dfdc111..444b823 100644 --- a/nladmin-ui/src/views/wms/pdm/group/index.vue +++ b/nladmin-ui/src/views/wms/pdm/group/index.vue @@ -4,46 +4,46 @@ - 物料查询: + {{ $t('wms.basedata.group.material_query') }}: - 批次查询: + {{ $t('wms.basedata.group.batch_query') }}: - 载具编码: + {{ $t('wms.basedata.group.vehicle_code') }}: - 组盘状态: + {{ $t('wms.basedata.group.status') }}: @@ -70,24 +70,24 @@ style="width: 100%;" @selection-change="crud.selectionChangeHandler" > - + {{ scope.row.storagevehicle_code }} - - - - - - - - - - + + + + + + + + + + @@ -121,6 +121,7 @@ import udOperation from '@crud/UD.operation' import pagination from '@crud/Pagination' import rrOperation from '@crud/RR.operation' import MaterialDialog from '@/views/wms/basedata/material/MaterialDialog' +import i18n from '@/i18n' const defaultForm = { group_id: null, storagevehicle_code: null, @@ -151,7 +152,7 @@ export default { dicts: ['is_used', 'GROUP_STATUS'], cruds() { return CRUD({ - title: '组盘记录', + title: i18n.t('wms.basedata.group.title'), url: 'api/group', optShow: { add: true, diff --git a/nladmin-ui/src/views/wms/pdm/structivt/index.vue b/nladmin-ui/src/views/wms/pdm/structivt/index.vue index 6d773a9..6bbad61 100644 --- a/nladmin-ui/src/views/wms/pdm/structivt/index.vue +++ b/nladmin-ui/src/views/wms/pdm/structivt/index.vue @@ -11,7 +11,7 @@ label-width="90px" label-suffix=":" > - + - + - + - + @@ -70,23 +70,23 @@ style="width: 100%;" @selection-change="crud.selectionChangeHandler" > - - - - - - - - - - - {{ scope.row.qty - scope.row.frozen_qty }} - - - - - - + + + + + + + + + + + + + + + + + @@ -102,6 +102,7 @@ import crudOperation from '@crud/CRUD.operation' import pagination from '@crud/Pagination' import { download } from '@/api/data' import { downloadFile } from '@/utils' +import i18n from '@/i18n' export default { name: 'Structivt', @@ -110,7 +111,7 @@ export default { tableEnums: ['sch_base_region#region_name#region_code'], cruds() { return CRUD({ - title: '库存管理', url: 'api/regionStruct', idField: 'stockrecord_id', sort: 'stockrecord_id,desc', + title: i18n.t('wms.structivt.inventory_management'), url: 'api/regionStruct', idField: 'stockrecord_id', sort: 'stockrecord_id,desc', optShow: { add: false, edit: false, diff --git a/nladmin-ui/src/views/wms/sch/point/index.vue b/nladmin-ui/src/views/wms/sch/point/index.vue index 05d11f5..9f6d320 100644 --- a/nladmin-ui/src/views/wms/sch/point/index.vue +++ b/nladmin-ui/src/views/wms/sch/point/index.vue @@ -25,12 +25,12 @@ - + @@ -43,13 +43,13 @@ @keyup.enter.native="crud.toQuery" /> - + - + @@ -77,13 +77,13 @@ /> - + @@ -104,7 +104,7 @@ - + - 启用 + {{ $t('wms.sch.point.enable') }} - 禁用 + {{ $t('wms.sch.point.disable') }} - 锁定 + {{ $t('wms.sch.point.lock') }} - 解锁 + {{ $t('wms.sch.point.unlock') }} @@ -187,10 +187,10 @@ - + @@ -201,17 +201,17 @@ /> - + - + - + - + @@ -238,14 +238,14 @@ /> - + - + - - + + - - + + - - + + - - {{ item.label }} - - - {{ item.label }} - - + + + + + + + - - - - - - + + + + + + {{ dict.label.sch_point_status[scope.row.point_status] }} @@ -303,18 +303,18 @@ {{ dict.label.vehicle_type[scope.row.vehicle_type] }} - - + + {{ scope.row.lock_type == 1?'是':'否' }} - - + + - + @@ -327,17 +327,17 @@ - + {{ scope.row.is_used?'是':'否' }} - - - - - + + + + + - + @@ -25,12 +25,12 @@ /> - + @@ -55,7 +55,7 @@ size="mini" :label-width="computedFormLabelWidth" > - + - + - + - + - + - + - + {{ $t('common.Yes') }} {{ $t('common.No') }} - + @@ -111,28 +111,28 @@ {{ scope.row.is_has_workder ? $t('common.Yes') : $t('common.No') }} @@ -140,40 +140,40 @@ - + - + - + @@ -42,10 +42,10 @@ - + - + - + - - - - - - + + + + + + + + + + + + + + + - + - + - + - + - - - 是 - 否 - - - + + + + + + + - - + + - - + + - + - + - + - - - 是 - 否 - - - - - 是 - 否 - - - - - 是 - 否 - - - - - 是 - 否 - - - - - 是 - 否 - - - - - 是 - 否 - - - - - 是 - 否 - - - - - 是 - 否 - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -236,10 +236,10 @@ 否 - - - - + + + + - - 备 注: + + {{ $t('wms.sch.TaskConfig.dialog.remark') }}: - - - - - {{ dict.label.task_qf_type[scope.row.task_qf_type] }} - - - + + + + + + + + {{ dict.label.acs_task_type[scope.row.acs_task_type] }} - - + + {{ dict.label.task_type[scope.row.task_type] }} - - - - - - {{ scope.row.is_auto_issue?'是':'否' }} - - - + + + + + + + + + {{ getRegionNames(scope.row.start_region_str) }} - + {{ getRegionNames(scope.row.next_region_str) }} - - - - + + + + {{ dict.label.task_direction[scope.row.task_direction] }} - - - {{ scope.row.is_check_workorder?'是':'否' }} - - - - - {{ scope.row.is_check_start_lock?'是':'否' }} - - - - - {{ scope.row.is_immediate_create?'是':'否' }} - - - - - {{ scope.row.is_check_next_lock?'是':'否' }} - - - - - {{ scope.row.is_start_auto?'是':'否' }} - - - - - {{ scope.row.is_next_auto?'是':'否' }} - - - - - {{ scope.row.is_lock_start?'是':'否' }} - - - - - {{ scope.row.is_lock_next?'是':'否' }} - - - - - - - {{ scope.row.is_group_congrol_issue_seq?'是':'否' }} - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - + + + + + - + + {{ $t('wms.sch.task.task_code') }}: - + + {{ $t('wms.sch.task.vehicle_code') }}: - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -189,13 +191,13 @@ {{ scope.row.vehicle_code ? scope.row.vehicle_code : '-' }} @@ -203,8 +205,8 @@ {{ scope.row.vehicle_code2 ? scope.row.vehicle_code2 : '-' }} @@ -212,8 +214,8 @@ {{ getStatusName(scope.row.task_status) }} @@ -221,32 +223,32 @@ @@ -265,13 +267,13 @@ {{ dict.label.acs_task_type[scope.row.acs_task_type] }} @@ -279,18 +281,18 @@ {{ dict.label.AGV_SYSTEM_TYPE[scope.row.agv_system_type] }} - + + + + + - - - {{ - dict.label.finished_type[scope.row.finished_type] - ? dict.label.finished_type[scope.row.finished_type] - : $t('Task.table.uncompleted') - }} - - + + + + + + + + + + + + + @@ -349,30 +351,30 @@ - + @@ -385,7 +387,7 @@ icon="el-icon-success" :disabled="scope.row.task_status==='5' || scope.row.task_status==='6'" @click="doOperate(scope.row, 'a')" - >{{ $t('Task.table.complete') }} + >{{ $t('wms.sch.task.complete') }} {{ $t('common.Cancel') }} + >{{ $t('wms.sch.task.cancel') }}