diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java b/nladmin-system/nlsso-server/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java index d502f78..9c6ac70 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java @@ -5,6 +5,7 @@ import lombok.Getter; import org.apache.commons.lang3.StringUtils; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.MapOf; +import org.nl.common.utils.LangProcess; import java.util.Map; @@ -51,7 +52,7 @@ public enum PackageInfoIvtEnum { if (StringUtils.isNotEmpty(code)) { return code; } - throw new BadRequestException(this.name() + "对应类型" + desc + "未定义"); + throw new BadRequestException(LangBehavior.language("error_param_undefined", this.name(), desc)); } public String check(String code) { @@ -60,6 +61,6 @@ public enum PackageInfoIvtEnum { return entry.getValue(); } } - throw new BadRequestException(this.name() + "对应类型" + code + "未定义"); + throw new BadRequestException(LangBehavior.language("error_param_undefined", this.name(), code)); } } \ No newline at end of file diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/RedissonUtils.java b/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/RedissonUtils.java index 2ddcbd7..d45747d 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/RedissonUtils.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/RedissonUtils.java @@ -6,6 +6,7 @@ import org.nl.common.domain.interfaces.LockProcess; import org.nl.common.domain.interfaces.ReturnLockProcess; import org.nl.common.exception.BadRequestException; import org.nl.config.SpringContextHolder; +import org.nl.config.language.LangProcess; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; @@ -37,7 +38,7 @@ public class RedissonUtils { if (isLock){ process.process(); } else { - throw new BadRequestException("当前业务:"+key+"正在执行请稍后再试"); + throw new BadRequestException(LangBehavior.language("system_manage.current_business_executing", key)); } }catch (Exception ex){ log.error("key:"+ex.getMessage()); @@ -64,7 +65,7 @@ public class RedissonUtils { T result = process.process(); return result; } else { - throw new BadRequestException("当前业务 key:"+key+"正在执行请稍后再试"); + throw new BadRequestException(LangBehavior.language("system_manage.current_business_executing", key)); } }finally { if (isLock){ diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/SecurityUtils.java b/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/SecurityUtils.java index 842fc98..37ee5e9 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/SecurityUtils.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/common/utils/SecurityUtils.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.dto.CurrentUser; +import org.nl.language.LangBehavior; import java.util.List; @@ -25,7 +26,7 @@ public class SecurityUtils { public static CurrentUser getCurrentUser() { Object loginInfo = StpUtil.getExtra("loginInfo"); if (loginInfo==null){ - throw new BadRequestException("用户信息获取失败"); + throw new BadRequestException(LangBehavior.language("common.user_info_get_fail")); } return JSONObject.parseObject(String.valueOf(loginInfo),CurrentUser.class); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/gateway/service/GateWayService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/gateway/service/GateWayService.java index 8b4fcc8..4367aa0 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/gateway/service/GateWayService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/gateway/service/GateWayService.java @@ -10,6 +10,7 @@ import org.nl.gateway.service.impl.GateWayServiceImpl; import org.nl.wms.sch_manage.service.ISchBasePointService; import org.nl.wms.sch_manage.service.ISchBaseTaskService; import org.nl.wms.sch_manage.service.dao.SchBasePoint; +import org.nl.language.LangBehavior; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -55,7 +56,7 @@ public class GateWayService { if ("Device".equals(service)) { Assert.noNullElements(new Object[]{jsonObject.getString("devicePoint"), jsonObject.getString("status")}, "请求参数不能为空"); if (!"1207".equals(jsonObject.getString("devicePoint")) && !"1210".equals(jsonObject.getString("devicePoint"))) { - throw new BadRequestException("您输入的拣选位不存在,请输入1207或1210拣选位!"); + throw new BadRequestException(LangBehavior.language("gateway.picking_point_not_exist")); } RedissonUtils.lock(() -> { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/gateway/service/impl/GateWayServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/gateway/service/impl/GateWayServiceImpl.java index 6e0e263..7432745 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/gateway/service/impl/GateWayServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/gateway/service/impl/GateWayServiceImpl.java @@ -8,6 +8,7 @@ import org.apache.commons.lang3.StringUtils; import org.nl.common.exception.BadRequestException; import org.nl.gateway.dto.InteracteDto; import org.nl.wms.sch_manage.service.util.AbstractTask; +import org.nl.language.LangBehavior; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -33,7 +34,7 @@ public class GateWayServiceImpl { String taskId = applyTaskMap.get(type).create(data); if (StringUtils.isBlank(taskId)) { log.error("创建任务失败:返回任务信息为空,申请参数为:" + JSON.toJSONString(param)); - throw new BadRequestException("创建任务失败:返回任务信息为空,申请参数为:" + JSON.toJSONString(param)); + throw new BadRequestException(LangBehavior.language("gateway.create_task_fail_empty") + JSON.toJSONString(param)); } return taskId; } catch (Exception e) { @@ -41,7 +42,7 @@ public class GateWayServiceImpl { String title = param.getType() + DateUtil.today() + param.getData().toString(); // iSchBasePointService.sendErrorMsg("1", title, "任务申请失败,申请参数为:" + JSON.toJSONString(param) + "请查看错误日志" + e); } - throw new BadRequestException("申请任务失败,申请参数为:" + JSON.toJSONString(param) + "请查看错误日志:" + e); + throw new BadRequestException(LangBehavior.language("gateway.apply_task_fail") + JSON.toJSONString(param) + LangBehavior.language("gateway","check_error_log") + e); } } return null; diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java index 6e90bce..885da52 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java @@ -13,6 +13,7 @@ import org.nl.common.exception.BadRequestException; import org.nl.common.logging.annotation.Log; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; +import org.nl.language.LangBehavior; import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService; import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo; import org.nl.wms.warehouse_manage.enums.IOSEnum; @@ -70,7 +71,7 @@ public class GroupController { @Log("新增组盘组盘") @Transactional public ResponseEntity create(@RequestBody JSONObject group) { - Assert.noNullElements(new Object[]{group,group.get("material_id"),group.get("storagevehicle_code"),group.get("qty"),group.get("dtlList")},"请求参数不能为空"); + Assert.noNullElements(new Object[]{group,group.get("material_id"),group.get("storagevehicle_code"),group.get("qty"),group.get("dtlList")},LangBehavior.language("common.request_param_cannot_be_empty")); GroupPlate groupPlate = group.toJavaObject(GroupPlate.class); String storagevehicleCode = groupPlate.getStoragevehicle_code(); { @@ -79,7 +80,7 @@ public class GroupController { .eq(GroupPlate::getStoragevehicle_code, groupPlate.getStoragevehicle_code()) .lt(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库"))); if (has>0){ - throw new BadRequestException("当前载具组盘信息已存在"); + throw new BadRequestException(LangBehavior.language("basedata_manage.current_vehicle_group_plate_info_exists")); } } groupPlate.setGroup_id(IdUtil.getStringId()); @@ -92,7 +93,7 @@ public class GroupController { JSONArray dtlList = group.getJSONArray("dtlList"); if(null == dtlList || dtlList.size() == 0){ - throw new BadRequestException("dtlList不可为空"); + throw new BadRequestException(LangBehavior.language("pda_manage.dtllist_cannot_be_empty")); } BigDecimal qty = new BigDecimal("0"); for (int i = 0; i < dtlList.size(); i++) { diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/enums/BaseDataEnum.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/enums/BaseDataEnum.java index cf2072b..a30f4e9 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/enums/BaseDataEnum.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/enums/BaseDataEnum.java @@ -5,6 +5,7 @@ import lombok.Getter; import org.apache.commons.lang3.StringUtils; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.MapOf; +import org.nl.language.LangBehavior; import java.util.Map; @@ -19,24 +20,26 @@ import java.util.Map; public enum BaseDataEnum { // 是否 - IS_YES_NOT(MapOf.of("是", "1", "否", "0")), + IS_YES_NOT(MapOf.of(LangBehavior.language("common.yes"), "1", LangBehavior.language("common.no"), "0")), ; private Map code; public String code(String desc) { - String code = this.getCode().get(desc); + // 这里的desc应该是多语言key,先翻译 + String displayName = LangBehavior.language(desc); + String code = this.getCode().get(displayName); if (StringUtils.isNotEmpty(code)) { return code; } - throw new BadRequestException(this.name() + "对应类型" + desc + "未定义"); + throw new BadRequestException(LangBehavior.language("base_data.type_not_defined", this.name(), desc)); } public String check(String code) { for (Map.Entry entry : this.getCode().entrySet()) - if (entry.getValue().equals("code")) { + if (entry.getValue().equals(code)) { return entry.getValue(); } - throw new BadRequestException(this.name() + "对应类型" + code + "未定义"); + throw new BadRequestException(LangBehavior.language("base_data.type_not_defined", this.name(), code)); } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbClassstandardServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbClassstandardServiceImpl.java index d8469f6..738bc32 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbClassstandardServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbClassstandardServiceImpl.java @@ -405,7 +405,7 @@ public class MdPbClassstandardServiceImpl extends ServiceImpl().eq("para1", dto.getString("vehicle_type"))); if (dict==null){ - throw new BadRequestException("此载具类型"+dto.getString("vehicle_type")+"没有配置字典值"); + throw new BadRequestException(LangBehavior.language("basedata_manage.vehicle_type_no_dict_config", dto.getString("vehicle_type"))); } JSONArray resultCodeArr = new JSONArray(); MdPbStoragevehicleinfo vehicleInfo = dto.toJavaObject(MdPbStoragevehicleinfo.class); @@ -133,7 +133,7 @@ public class MdPbStoragevehicleinfoServiceImpl extends ServiceImpl i ); if (ObjectUtil.isNotEmpty(sectattr)) { - throw new BadRequestException("存在相同仓库的库区编号"); + throw new BadRequestException(LangBehavior.language("basedata_manage.sect_code_already_exists")); } String currentUserId = SecurityUtils.getCurrentUserId(); @@ -123,7 +123,7 @@ public class SectattrServiceImpl extends ServiceImpl i .eq(Sectattr::getStor_id,dto.getStor_id()) ); if (sectattrList.size() > 1) { - throw new BadRequestException("存在相同仓库的库区编号"); + throw new BadRequestException(LangBehavior.language("basedata_manage.sect_code_already_exists")); } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java index a0d94b1..95adba2 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java @@ -133,7 +133,7 @@ public class StructattrServiceImpl extends ServiceImpl strategy = one.getStrategy(); Map decisionerMap = SpringContextHolder.getBeansOfType(Decisioner.class); @@ -325,7 +325,7 @@ public class StructattrServiceImpl extends ServiceImpl strategy = one.getStrategy(); Map decisionerMap = SpringContextHolder.getBeansOfType(Decisioner.class); @@ -361,7 +361,7 @@ public class StructattrServiceImpl extends ServiceImpl decisionColumns() { - List list = iStStrategyConfigService.list(new QueryWrapper().select("strategy_code", "strategy_name")); + List list = iStStrategyConfigService.list(new QueryWrapper().select("strategy_code.strategy_name")); List result = new ArrayList<>(); for (StStrategyConfig config : list) { result.add(MapOf.of("label",config.getStrategy_name(),"value",config.getStrategy_code())); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/Decisioner.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/Decisioner.java index 3a9308e..caa0c21 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/Decisioner.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/Decisioner.java @@ -2,6 +2,7 @@ package org.nl.wms.decision_manage.service.strategyConfig.decisioner; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.nl.common.exception.BadRequestException; import org.nl.config.SpringContextHolder; +import org.nl.language.LangBehavior; import org.nl.wms.decision_manage.service.strategyConfig.IStStrategyConfigService; import org.nl.wms.decision_manage.service.strategyConfig.dao.StStrategyConfig; import org.springframework.beans.factory.InitializingBean; @@ -29,7 +30,7 @@ public abstract class Decisioner implements InitializingBean { String type = SpringContextHolder.getApplicationContext().getBeanNamesForType(ResolvableType.forClass(this.getClass()))[0]; this.strategyConfig =iStStrategyConfigService.getOne(new QueryWrapper().eq("strategy_code",type)); if (this.strategyConfig == null){ - throw new BadRequestException("启动失败:当前策略"+type+"没有实例信息"); + throw new BadRequestException(LangBehavior.language("decision_manage.strategy_no_instance", type)); } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/AlleyAveRuleHandler.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/AlleyAveRuleHandler.java index fdcdb8d..85fc8d8 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/AlleyAveRuleHandler.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/AlleyAveRuleHandler.java @@ -6,6 +6,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.MapOf; +import org.nl.language.LangBehavior; import org.nl.wms.basedata_manage.service.IStructattrService; import org.nl.wms.basedata_manage.service.dao.Structattr; import org.nl.wms.decision_manage.service.strategyConfig.decisioner.Decisioner; @@ -46,7 +47,7 @@ public class AlleyAveRuleHandler extends Decisioner { public List handler(List list, JSONObject param) { // 判断仓位是否为空 if (CollectionUtils.isEmpty(list)) { - throw new BadRequestException("均衡策略结果:载具号:" + param.getString("vehicle_code") + "当前分配策略无可用货位"); + throw new BadRequestException(LangBehavior.language("decision_manage.alley_ave_no_available_location", param.getString("vehicle_code"))); } long startTime1 = System.currentTimeMillis(); /** diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/ClusterRuleHandler.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/ClusterRuleHandler.java index 72c50e7..5fec431 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/ClusterRuleHandler.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/ClusterRuleHandler.java @@ -3,6 +3,7 @@ package org.nl.wms.decision_manage.service.strategyConfig.decisioner.impl.base; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import org.nl.common.exception.BadRequestException; +import org.nl.language.LangBehavior; import org.nl.wms.basedata_manage.service.IStructattrService; import org.nl.wms.basedata_manage.service.dao.Structattr; import org.nl.wms.decision_manage.service.strategyConfig.decisioner.Decisioner; @@ -43,7 +44,7 @@ public class ClusterRuleHandler extends Decisioner { public List handler(List list, JSONObject jsonParam) { // 判断仓位是否为空 if (ObjectUtil.isEmpty(list)) { - throw new BadRequestException("仓位集合为空!"); + throw new BadRequestException(LangBehavior.language("decision_manage.location_list_empty")); } // 判断策略类型 @@ -62,7 +63,7 @@ public class ClusterRuleHandler extends Decisioner { // 通用策略 break; default: - throw new BadRequestException("策略类型错误!"); + throw new BadRequestException(LangBehavior.language("decision_manage.strategy_type_error")); } return resultList; } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/FIFORuleHandler.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/FIFORuleHandler.java index d0c43f5..beb8b16 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/FIFORuleHandler.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/FIFORuleHandler.java @@ -5,6 +5,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.MapOf; +import org.nl.language.LangBehavior; import org.nl.wms.basedata_manage.service.IStructattrService; import org.nl.wms.basedata_manage.service.dao.StructattrVechielDto; import org.nl.wms.basedata_manage.service.dto.StrategyStructMaterialVO; @@ -49,7 +50,7 @@ public class FIFORuleHandler extends Decisioner divStruct = new ArrayList<>(); for (StructattrVechielDto vechielDto : vechielDtos) { diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/LimitStorageRuleHandler.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/LimitStorageRuleHandler.java index 278840d..f0bd925 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/LimitStorageRuleHandler.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/LimitStorageRuleHandler.java @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.nl.common.exception.BadRequestException; +import org.nl.language.LangBehavior; +import org.nl.language.LangBehavior; import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService; import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo; import org.nl.wms.basedata_manage.service.dao.Structattr; @@ -52,7 +54,7 @@ public class LimitStorageRuleHandler extends Decisioner String vehicleCode = param.getString("vehicle_code"); MdPbStoragevehicleinfo vehileInfo = bmVehicleInfoService.getOne(new QueryWrapper().eq("storagevehicle_code", vehicleCode)); if (vehileInfo == null) { - throw new BadRequestException("限位策略,当前载具信息不存在:" + vehicleCode + "!"); + throw new BadRequestException(LangBehavior.language("decision_manage.limit_storage_vehicle_not_exist", vehicleCode)); } //限位策略特殊处理 String start_point = param.getString("start_point"); @@ -70,7 +72,7 @@ public class LimitStorageRuleHandler extends Decisioner List result = inHandler(list, vehileInfo); if (CollectionUtils.isEmpty(result)) { log.error("限位策略:载具号:" + vehicleCode + "获取仓位失败,该高度等级对应库位数量为0!"); - throw new BadRequestException("限位策略:载具号:" + vehicleCode + "获取仓位失败,该高度等级对应库位数量为0!"); + throw new BadRequestException(LangBehavior.language("decision_manage.limit_storage_location_not_found", vehicleCode)); } log.info("限位策略:起点为" + start_point + ",载具号:" + vehicleCode + "执行策略后仓位位数为:" + result.size() + ",第一个仓位为:" + result.get(0).getStruct_code()); log.info("限位策略:载具号:" + vehicleCode + "获取仓位耗时:{}", System.currentTimeMillis() - startTime1); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/WeightRuleHandler.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/WeightRuleHandler.java index 5f2ba8f..b950bbd 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/WeightRuleHandler.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/WeightRuleHandler.java @@ -3,6 +3,7 @@ package org.nl.wms.decision_manage.service.strategyConfig.decisioner.impl.base; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import org.nl.common.exception.BadRequestException; +import org.nl.language.LangBehavior; import org.nl.wms.basedata_manage.service.dao.Structattr; import org.nl.wms.decision_manage.service.strategyConfig.decisioner.Decisioner; import org.springframework.stereotype.Service; @@ -35,7 +36,7 @@ public class WeightRuleHandler extends Decisioner { public List handler(List list, String param) { // 判断仓位是否为空 if (ObjectUtil.isEmpty(list)) { - throw new BadRequestException("仓位集合为空!"); + throw new BadRequestException(LangBehavior.language("decision_manage.location_list_empty")); } // 判断策略类型 @@ -56,7 +57,7 @@ public class WeightRuleHandler extends Decisioner { // 通用策略 break; default: - throw new BadRequestException("策略类型错误!"); + throw new BadRequestException(LangBehavior.language("decision_manage.strategy_type_error")); } return resultList; } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/diy/DepthPriorityHandler.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/diy/DepthPriorityHandler.java index 856dd3b..196b804 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/diy/DepthPriorityHandler.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/diy/DepthPriorityHandler.java @@ -6,6 +6,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.nl.common.exception.BadRequestException; import org.nl.config.SpringContextHolder; +import org.nl.language.LangBehavior; import org.nl.wms.basedata_manage.service.IStructattrService; import org.nl.wms.basedata_manage.service.dao.Structattr; import org.nl.wms.decision_manage.service.strategyConfig.decisioner.Decisioner; @@ -123,7 +124,7 @@ public class DepthPriorityHandler extends Decisioner { } if (CollectionUtils.isEmpty(combinedResult)) { log.error("深位优先策略:获取深货位有货且浅货位无货仓位:载具号:" + param.getString("vehicle_code") + "获取仓位失败,该策略对应库位数量为0!"); - throw new BadRequestException("深位优先策略:获取深货位有货且浅货位无货仓位:载具号:" + param.getString("vehicle_code") + "获取仓位失败,该策略对应库位数量为0!"); + throw new BadRequestException(LangBehavior.language("decision_manage.depth_priority_location_not_found", param.getString("vehicle_code"))); } log.info("深位优先策略:载具号:" + param.getString("vehicle_code") + "分配结果: 深货位有货且浅货位无货仓位,无需移库,分配仓位:" + combinedResult.get(0).getStruct_code()); log.info("深位优先策略:获取深货位有货且浅货位无货仓位耗时:{}", System.currentTimeMillis() - startTime1); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/diy/InventoryRuleHandler.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/diy/InventoryRuleHandler.java index c15b35a..d75ad01 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/diy/InventoryRuleHandler.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/diy/InventoryRuleHandler.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.apache.commons.lang3.StringUtils; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.MapOf; +import org.nl.language.LangBehavior; import org.nl.wms.basedata_manage.service.IStructattrService; import org.nl.wms.basedata_manage.service.dao.Structattr; import org.nl.wms.decision_manage.service.strategyConfig.decisioner.Decisioner; @@ -60,7 +61,7 @@ public class InventoryRuleHandler extends Decisioner { @Override public List handler(List list, JSONObject param) { if (CollectionUtils.isEmpty(list)) { - throw new BadRequestException("当前分配策略无可用货位"); + throw new BadRequestException(LangBehavior.language("decision_manage.no_available_location")); } String start_point = param.getString("start_point"); String target = LINK_POINT.get(start_point); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/diy/SameBlockNumRuleHandler.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/diy/SameBlockNumRuleHandler.java index 431ada6..75cee01 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/diy/SameBlockNumRuleHandler.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/diy/SameBlockNumRuleHandler.java @@ -3,6 +3,7 @@ package org.nl.wms.decision_manage.service.strategyConfig.decisioner.impl.diy; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; +import org.nl.language.LangBehavior; import org.nl.wms.basedata_manage.service.dao.Structattr; import org.nl.wms.decision_manage.service.strategyConfig.decisioner.Decisioner; import org.springframework.stereotype.Service; @@ -36,13 +37,13 @@ public class SameBlockNumRuleHandler extends Decisioner public List handler(List list, JSONObject param) { // 判断仓位是否为空 if (CollectionUtils.isEmpty(list)) { - throw new BadRequestException("当前分配策略sameBlockNum无可用货位"); + throw new BadRequestException(LangBehavior.language("decision_manage.no_available_location_same_block_num")); } // 1. 找出最小巷道号 Integer minBlockNum = list.stream() .map(Structattr::getBlock_num) .min(Integer::compareTo) - .orElseThrow(() -> new BadRequestException("未找到可用的巷道")); + .orElseThrow(() -> new BadRequestException(LangBehavior.language("decision_manage.no_available_aisle"))); // 2. 筛选出这个巷道的所有结构,按列 -> 层排序 List blockList = list.stream() .filter(item -> item.getBlock_num().compareTo(minBlockNum) == 0) diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/impl/StStrategyConfigServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/impl/StStrategyConfigServiceImpl.java index 8fae50e..fe35367 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/impl/StStrategyConfigServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/impl/StStrategyConfigServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.Page; import org.nl.common.utils.IdUtil; +import org.nl.language.LangBehavior; import com.github.pagehelper.PageHelper; import org.nl.common.base.TableDataInfo; import org.nl.common.domain.query.PageQuery; @@ -52,7 +53,7 @@ public class StStrategyConfigServiceImpl extends ServiceImpl 0) { - throw new BadRequestException("载具编码:" + vehicle_code + "已存在组盘信息,请对数据进行核实!"); + throw new BadRequestException(LangBehavior.language("pda_manage.vehicle_already_has_group_plate_info", vehicle_code)); } //判断该载具编号是否已经存在库内 List count = iStructattrService.list( @@ -167,7 +168,7 @@ public class PdaIosInServiceImpl implements PdaIosInService { .eq(Structattr::getStoragevehicle_code, vehicle_code) ); if (count.size() > 0) { - throw new BadRequestException("载具编码:" + vehicle_code + "已存在库内:"+count.get(0).getStruct_code()+",请对数据进行核实!"); + throw new BadRequestException(LangBehavior.language("pda_manage.vehicle_already_in_storage", vehicle_code, count.get(0).getStruct_code())); } GroupPlate groupDao = GroupPlate.builder() @@ -186,7 +187,7 @@ public class PdaIosInServiceImpl implements PdaIosInService { List groupPlateDtlList = new ArrayList<>(); JSONArray dtlList = whereJson.getJSONArray("dtlList"); if(null == dtlList){ - throw new BadRequestException("dtlList不可为空"); + throw new BadRequestException(LangBehavior.language("pda_manage.dtllist_cannot_be_empty")); } BigDecimal qty = new BigDecimal("0"); for (int i = 0; i < dtlList.size(); i++) { @@ -309,17 +310,17 @@ public class PdaIosInServiceImpl implements PdaIosInService { public JSONObject getVehicleMaterial(JSONObject whereJson) { if (ObjectUtil.isEmpty(whereJson.getString("search"))) { - throw new BadRequestException("载具编码不能为空!"); + throw new BadRequestException(LangBehavior.language("pda_manage.vehicle_code_cannot_be_empty")); } List list = mdPbGroupplateMapper.selectList(new LambdaQueryWrapper() .eq(GroupPlate::getStoragevehicle_code,whereJson.getString("search")) ); if(list.size() == 0){ - throw new BadRequestException("此载具未组盘,请检查!"); + throw new BadRequestException(LangBehavior.language("pda_manage.vehicle_not_group_plated")); } ; if (!list.get(0).getStatus().equals(GROUP_PLATE_STATUS.code("组盘"))) { - throw new BadRequestException("此载具非组盘状态,请检查!"); + throw new BadRequestException(LangBehavior.language("pda_manage.vehicle_not_in_group_plate_status")); } whereJson.put("status", GROUP_PLATE_STATUS.code("组盘")); whereJson.put("vehicleCode", whereJson.getString("search")); @@ -342,7 +343,7 @@ public class PdaIosInServiceImpl implements PdaIosInService { SchBasePoint schBasePoint = iSchBasePointService .getOne(new LambdaQueryWrapper().eq(SchBasePoint::getPoint_code, whereJson.getString("site_code"))); if (ObjectUtil.isEmpty(schBasePoint)) { - throw new BadRequestException("点位不存在:"+whereJson.getString("site_code")); + throw new BadRequestException(LangBehavior.language("pda_manage.point_not_exists", whereJson.getString("site_code"))); } whereJson.put("point_code",whereJson.getString("site_code")); // 预组织出入库单据实体 @@ -385,7 +386,7 @@ public class PdaIosInServiceImpl implements PdaIosInService { .eq(GroupPlate::getStatus, GROUP_PLATE_STATUS.code("组盘")) ); if (ObjectUtil.isEmpty(plateDaoList)) { - throw new BadRequestException("当前没有可入库的物料!"); + throw new BadRequestException(LangBehavior.language("pda_manage.no_materials_available_for_storage")); } // 总数量 Double total_qty = plateDaoList.stream() diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosOutServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosOutServiceImpl.java index 3fd1972..a566048 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosOutServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosOutServiceImpl.java @@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.CodeUtil; import org.nl.common.utils.IdUtil; +import org.nl.language.LangBehavior; import org.nl.common.utils.MapOf; import org.nl.common.utils.SecurityUtils; import org.nl.config.SpringContextHolder; @@ -132,7 +133,7 @@ public class PdaIosOutServiceImpl implements PdaIosOutService { //出库输送线点 String outPoint = param.getString("siteCode"); if (ObjectUtil.isEmpty(outPoint)) { - throw new BadRequestException("点位不能为空!"); + throw new BadRequestException(LangBehavior.language("pda_manage.site_code_empty")); } String floor_code = param.getString("floor_code"); @@ -140,7 +141,7 @@ public class PdaIosOutServiceImpl implements PdaIosOutService { SchBasePoint schBasePoint = iSchBasePointService .getOne(new LambdaQueryWrapper().eq(SchBasePoint::getPoint_code, outPoint)); if (ObjectUtil.isEmpty(schBasePoint)) { - throw new BadRequestException("点位不存在:"+outPoint); + throw new BadRequestException(LangBehavior.language("pda_manage.site_not_exist", outPoint)); } //载具信息 JSONArray objRows = param.getJSONArray("obj"); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaMoveStorServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaMoveStorServiceImpl.java index 51004b8..4df151b 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaMoveStorServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaMoveStorServiceImpl.java @@ -7,6 +7,8 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.nl.common.exception.BadRequestException; +import org.nl.language.LangBehavior; +import org.nl.language.LangBehavior; import org.nl.wms.basedata_manage.service.IStructattrService; import org.nl.wms.basedata_manage.service.dao.Structattr; import org.nl.wms.pda_manage.ios_manage.service.PdaMoveStorService; @@ -43,10 +45,10 @@ public class PdaMoveStorServiceImpl implements PdaMoveStorService { //数组 JSONArray rows = whereJson.getJSONArray("data"); if (ObjectUtil.isEmpty(move_struct_code)) { - throw new BadRequestException("移入货位不能为空!"); + throw new BadRequestException(LangBehavior.language("pda_manage.move_in_location_cannot_be_empty")); } if (ObjectUtil.isEmpty(rows)) { - throw new BadRequestException("物料明细不能为空!"); + throw new BadRequestException(LangBehavior.language("pda_manage.material_detail_cannot_be_empty")); } JSONObject dtl = rows.getJSONObject(0); String storagevehicle_code = dtl.getString("storagevehicle_code"); @@ -56,12 +58,12 @@ public class PdaMoveStorServiceImpl implements PdaMoveStorService { .eq(Structattr::getStoragevehicle_code, storagevehicle_code) ); if (ObjectUtil.isEmpty(start_point)) { - throw new BadRequestException("载具在系统中不存在!"); + throw new BadRequestException(LangBehavior.language("pda_manage.vehicle_not_exist_in_system")); } // 校验终点 Structattr end_point = iStructattrService.getByCode(move_struct_code); if (ObjectUtil.isEmpty(end_point)) { - throw new BadRequestException("移入货位在系统中不存在!"); + throw new BadRequestException(LangBehavior.language("pda_manage.move_in_location_not_exist_in_system")); } //todo 生成移库单、生成移库任务 MoveInsertDto dto = new MoveInsertDto(); @@ -98,7 +100,7 @@ public class PdaMoveStorServiceImpl implements PdaMoveStorService { String vehicle_code = whereJson.getString("vehicle_code"); if (ObjectUtil.isEmpty(struct_code) && ObjectUtil.isEmpty(vehicle_code)) { - throw new BadRequestException("货位编码和载具编码不能同时为空!"); + throw new BadRequestException(LangBehavior.language("pda_manage.location_and_vehicle_code_cannot_be_empty")); } List list = stIvtMoveinvdtlMapper.querydtl(whereJson); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaSchPointServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaSchPointServiceImpl.java index a45a3f6..6479fde 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaSchPointServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaSchPointServiceImpl.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import org.nl.common.exception.BadRequestException; +import org.nl.language.LangBehavior; import org.nl.wms.basedata_manage.service.IStructattrService; import org.nl.wms.basedata_manage.service.dao.Structattr; import org.nl.wms.basedata_manage.service.dao.mapper.StructattrMapper; @@ -40,7 +41,7 @@ public class PdaSchPointServiceImpl implements PdaSchPointService { String vehicle_code = whereJson.getString("vehicle_code"); if (ObjectUtil.isEmpty(vehicle_code)) { - throw new BadRequestException("载具编码不能为空!"); + throw new BadRequestException(LangBehavior.language("pda_manage.vehicle_code_empty")); } whereJson.remove("struct_code"); List list = stIvtMoveinvdtlMapper.querydtl(whereJson); @@ -58,27 +59,27 @@ public class PdaSchPointServiceImpl implements PdaSchPointService { String vehicle_code = whereJson.getString("vehicle_code"); if (ObjectUtil.isEmpty(vehicle_code)) { - throw new BadRequestException("载具编码不能为空!"); + throw new BadRequestException(LangBehavior.language("pda_manage.vehicle_code_empty")); } // 载具号 String struct_code = whereJson.getString("struct_code"); if (ObjectUtil.isEmpty(struct_code)) { - throw new BadRequestException("点位编码不能为空!"); + throw new BadRequestException(LangBehavior.language("pda_manage.point_code_empty")); } Structattr struct = structattrMapper.selectOne(new LambdaQueryWrapper() .eq(Structattr::getStruct_code, struct_code) ); if(ObjectUtil.isEmpty(struct)){ - throw new BadRequestException("找不到点位:"+struct_code); + throw new BadRequestException(LangBehavior.language("pda_manage.point_not_found", struct_code)); } if(ObjectUtil.isNotEmpty(struct.getStoragevehicle_code())){ - throw new BadRequestException("点位:"+struct_code+"上已有载具号:"+struct.getStoragevehicle_code()+",不允许再次绑定!"); + throw new BadRequestException(LangBehavior.language("pda_manage.point_already_binded", struct_code, struct.getStoragevehicle_code())); } List list = structattrMapper.selectList(new LambdaQueryWrapper() .eq(Structattr::getStoragevehicle_code, vehicle_code) ); if(list.size()>0){ - throw new BadRequestException("载具:"+vehicle_code+"上已绑定在货位:"+list.get(0).getStruct_code()+",不允许再次绑定!"); + throw new BadRequestException(LangBehavior.language("pda_manage.vehicle_already_binded", vehicle_code, list.get(0).getStruct_code())); } iStructattrService.update( new UpdateWrapper().lambda() @@ -87,7 +88,7 @@ public class PdaSchPointServiceImpl implements PdaSchPointService { ); JSONObject ret = new JSONObject(); ret.put("status", String.valueOf(HttpStatus.HTTP_OK)); - ret.put("message","操作成功"); + ret.put("message", LangBehavior.language("common.operation_success")); return ret; } @@ -98,21 +99,21 @@ public class PdaSchPointServiceImpl implements PdaSchPointService { String vehicle_code = whereJson.getString("vehicle_code"); if (ObjectUtil.isEmpty(vehicle_code)) { - throw new BadRequestException("载具编码不能为空!"); + throw new BadRequestException(LangBehavior.language("pda_manage.vehicle_code_empty")); } // 载具号 String struct_code = whereJson.getString("struct_code"); if (ObjectUtil.isEmpty(struct_code)) { - throw new BadRequestException("点位编码不能为空!"); + throw new BadRequestException(LangBehavior.language("pda_manage.point_code_empty")); } Structattr struct = structattrMapper.selectOne(new LambdaQueryWrapper() .eq(Structattr::getStruct_code, struct_code) ); if(ObjectUtil.isEmpty(struct)){ - throw new BadRequestException("找不到点位:"+struct_code); + throw new BadRequestException(LangBehavior.language("pda_manage.point_not_found", struct_code)); } if(ObjectUtil.isEmpty(struct.getStoragevehicle_code())){ - throw new BadRequestException("点位:"+struct_code+"上无载具号:"+vehicle_code+",不需要解绑!"); + throw new BadRequestException(LangBehavior.language("pda_manage.point_no_vehicle_need_unbind", struct_code, vehicle_code)); } iStructattrService.update( diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaSchTaskServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaSchTaskServiceImpl.java index a8ffcd1..fd85367 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaSchTaskServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaSchTaskServiceImpl.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.nl.common.exception.BadRequestException; +import org.nl.language.LangBehavior; import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService; import org.nl.wms.basedata_manage.service.IStructattrService; import org.nl.wms.basedata_manage.service.dao.Structattr; @@ -72,12 +73,12 @@ public class PdaSchTaskServiceImpl extends ServiceImpl().eq(MdPbMeasureunit::getMeasure_unit_id, params.getUnit_id())); if (ObjectUtil.isEmpty(mdPbMeasureunit)) { - throw new BadRequestException("没有该计量单位信息"); + throw new BadRequestException(LangBehavior.language("pm_manage.no_such_unit_info")); } BsrealStorattr bsrealStorattr = iBsrealStorattrService.findById(params.getStor_id()); if (ObjectUtil.isEmpty(bsrealStorattr)) { - throw new BadRequestException("没有该仓库信息"); + throw new BadRequestException(LangBehavior.language("pm_manage.no_such_warehouse_info")); } params.setStor_name(bsrealStorattr.getStor_name()); params.setUnit_name(mdPbMeasureunit.getUnit_name()); @@ -115,11 +117,11 @@ public class PmFormDataServiceImpl extends ServiceImpl().eq(MdPbMeasureunit::getMeasure_unit_id, params.getUnit_id())); if (ObjectUtil.isEmpty(mdPbMeasureunit)) { - throw new BadRequestException("没有该计量单位信息"); + throw new BadRequestException(LangBehavior.language("pm_manage.no_such_unit_info")); } BsrealStorattr bsrealStorattr = iBsrealStorattrService.findById(params.getStor_id()); if (ObjectUtil.isEmpty(bsrealStorattr)) { - throw new BadRequestException("没有该仓库信息"); + throw new BadRequestException(LangBehavior.language("pm_manage.no_such_warehouse_info")); } params.setStor_name(bsrealStorattr.getStor_name()); params.setUnit_name(mdPbMeasureunit.getUnit_name()); @@ -192,7 +194,7 @@ public class PmFormDataServiceImpl extends ServiceImpl getdtl(String id) { if (StringUtils.isEmpty(id)) { - throw new BadRequestException("请求参数不能为空"); + throw new BadRequestException(LangBehavior.language("common.request_param_cannot_be_empty")); } PmFormData form = pmFormDataMapper.selectById(id); String[] codes = form.getMerge_codes().split(","); @@ -214,7 +216,7 @@ public class PmFormDataServiceImpl extends ServiceImpl getByType(String from_type) { - Assert.notNull(from_type, "表单类型参数不能为空"); + Assert.notNull(from_type, LangBehavior.language("pm_manage.form_type_param_cannot_be_empty")); return this.list(new QueryWrapper().eq("form_type", from_type)); } @@ -235,10 +237,10 @@ public class PmFormDataServiceImpl extends ServiceImpl getByParentId(String[] parent_id) { - Assert.notNull(parent_id, "请求参数不能为空"); + Assert.notNull(parent_id, LangBehavior.language("common.request_param_cannot_be_empty")); QueryWrapper query = new QueryWrapper().in("parent_id", parent_id); return this.list(query); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/enums/StatusEnum.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/enums/StatusEnum.java index b254e85..7863eb3 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/enums/StatusEnum.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/enums/StatusEnum.java @@ -5,6 +5,7 @@ import lombok.Getter; import org.apache.commons.lang3.StringUtils; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.ForkMap; +import org.nl.language.LangBehavior; /* * @author ZZQ @@ -17,40 +18,40 @@ public enum StatusEnum { /** * 流程相关 */ - MODEL_STATUS(ForkMap.of("发布", "10", null, "未发布", "30", null)), - FLOW_STATUS(ForkMap.of("启动", "10", null, "节点完成", "20", null, "暂停", "30", null, "完成", "80", null, "异常完成", "82", null)), + MODEL_STATUS(ForkMap.of(LangBehavior.language("status.published"), "10", null, LangBehavior.language("status.unpublished"), "30", null)), + FLOW_STATUS(ForkMap.of(LangBehavior.language("status.start"), "10", null, LangBehavior.language("status.node_completed"), "20", null, LangBehavior.language("status.pause"), "30", null, LangBehavior.language("status.completed"), "80", null, LangBehavior.language("status.abnormal_completed"), "82", null)), /** * 单据状态 */ - FORM_STATUS(ForkMap.of("生成", "10", null, "已分配", "13", null, "下发", "15", null, "执行中", "20", null, "暂停", "30", null, "完成", "80", null, "强制完成", "82", null, "取消", "90", null)), + FORM_STATUS(ForkMap.of(LangBehavior.language("status.generated"), "10", null, LangBehavior.language("status.allocated"), "13", null, LangBehavior.language("status.issued"), "15", null, LangBehavior.language("status.executing"), "20", null, LangBehavior.language("status.pause"), "30", null, LangBehavior.language("status.completed"), "80", null, LangBehavior.language("status.force_completed"), "82", null, LangBehavior.language("status.cancelled"), "90", null)), /** * 出入库单据类型退货出库 */ - IOBILL_TYPE_IN(ForkMap.of("生产入库", "0001", "StInTask", "手工入库", "0009", "StInTask")), + IOBILL_TYPE_IN(ForkMap.of(LangBehavior.language("status.production_in"), "0001", "StInTask", LangBehavior.language("status.manual_in"), "0009", "StInTask")), - IOBILL_TYPE_OUT(ForkMap.of("用料出库", "1001", "StOutTask", "手工出库", "1009", "StOutTask")), + IOBILL_TYPE_OUT(ForkMap.of(LangBehavior.language("status.material_out"), "1001", "StOutTask", LangBehavior.language("status.manual_out"), "1009", "StOutTask")), - IOBILL_TYPE_MOVE(ForkMap.of("移库", "50", "moveStorageTask", "异常位移库", "51", "moveStorageTask")), - EXT_TASK_TYPE(ForkMap.of("盘点", "60", "moveStorageTask")), - OTHER_TASK_TYPE(ForkMap.of("转运", "70", "tranforTask")), - profit_loss(ForkMap.of("盘亏", "0", null, "盘盈", "1", null, "实盘", "2", null)), + IOBILL_TYPE_MOVE(ForkMap.of(LangBehavior.language("status.move_storage"), "50", "moveStorageTask", LangBehavior.language("status.abnormal_move"), "51", "moveStorageTask")), + EXT_TASK_TYPE(ForkMap.of(LangBehavior.language("status.inventory"), "60", "moveStorageTask")), + OTHER_TASK_TYPE(ForkMap.of(LangBehavior.language("status.transfer"), "70", "tranforTask")), + profit_loss(ForkMap.of(LangBehavior.language("status.inventory_loss"), "0", null, LangBehavior.language("status.inventory_profit"), "1", null, LangBehavior.language("status.physical_inventory"), "2", null)), /** * ERP回传单据类型 */ - ERP_TYPE(ForkMap.of("PRD_MO", "10", "生产订单", "PUR_ReceiveBill", "11", "收料通知单", - "SAL_SaleOrder", "12", "销售订单", "PRD_INSTOCK", "13", "生产入库单", "STK_InStock", "14", "采购入库单", - "SAL_RETURNSTOCK", "15", "销售退货入库单", "PUR_MRB", "18", "采购退料出库单", - "SUB_PickMtrl", "19", "委外用料清单", "PRD_PPBOM", "20", "生产用料清单", "PRD_PickMtrl", "21", "生产领料单", - "SP_PickMtrl", "22", "简单生产领料单", "STK_TransferDirect", "23", "调拨出库单", "STK_MisDelivery", "26", "其他出库单", "PRD_ReturnMtrl", "27", "生产退料单", "PRD_FeedMtrl", "28", "生产补料单", "SUB_RETURNMTRL", "29", "委外退料单")), + ERP_TYPE(ForkMap.of("PRD_MO", "10", LangBehavior.language("status.production_order"), "PUR_ReceiveBill", "11", LangBehavior.language("status.receipt_notice"), + "SAL_SaleOrder", "12", LangBehavior.language("status.sales_order"), "PRD_INSTOCK", "13", LangBehavior.language("status.production_inbound"), "STK_InStock", "14", LangBehavior.language("status.purchase_inbound"), + "SAL_RETURNSTOCK", "15", LangBehavior.language("status.sales_return_inbound"), "PUR_MRB", "18", LangBehavior.language("status.purchase_return_outbound"), + "SUB_PickMtrl", "19", LangBehavior.language("status.subcontract_material_list"), "PRD_PPBOM", "20", LangBehavior.language("status.production_material_list"), "PRD_PickMtrl", "21", LangBehavior.language("status.production_picking"), + "SP_PickMtrl", "22", LangBehavior.language("status.simple_production_picking"), "STK_TransferDirect", "23", LangBehavior.language("status.transfer_outbound"), "STK_MisDelivery", "26", LangBehavior.language("status.other_outbound"), "PRD_ReturnMtrl", "27", LangBehavior.language("status.production_return"), "PRD_FeedMtrl", "28", LangBehavior.language("status.production_supplement"), "SUB_RETURNMTRL", "29", LangBehavior.language("status.subcontract_return"))), /** * 任务优先级 */ PRIORITY_TYPE(ForkMap.of( - "最低", "1", null, "普通", "5", null, "较高", "6", null, "加急", "7", null, "移库", "8", null + LangBehavior.language("status.lowest"), "1", null, LangBehavior.language("status.normal"), "5", null, LangBehavior.language("status.higher"), "6", null, LangBehavior.language("status.urgent"), "7", null, LangBehavior.language("status.move_storage"), "8", null )), /** @@ -59,42 +60,42 @@ public enum StatusEnum { TASK_TYPE(ForkMap.pushAll(IOBILL_TYPE_IN.code, IOBILL_TYPE_OUT.code, IOBILL_TYPE_MOVE.code, EXT_TASK_TYPE.code, OTHER_TASK_TYPE.code)), ACS_TYPE(ForkMap.of( - "立库", "1", null, "AGV任务", "2", null, "CTU任务", "3", null,"三楼CTU", "4", null + LangBehavior.language("status.warehouse"), "1", null, LangBehavior.language("status.agv_task"), "2", null, LangBehavior.language("status.ctu_task"), "3", null, LangBehavior.language("status.third_floor_ctu"), "4", null )), ACS_SYSTEM_TYPE(ForkMap.of( - "NDC", "1", null, "仙工", "2", null,"海柔CTU", "5", null, "海康CTU", "6", null + "NDC", "1", null, LangBehavior.language("status.xian_gong"), "2", null, LangBehavior.language("status.hairou_ctu"), "5", null, LangBehavior.language("status.hikvision_ctu"), "6", null )), /** * 点位锁类型 */ - //LOCK(ForkMap.of("无锁", "00", null, "入库锁", "10", null, "入库盘点锁", "16", null, "出库锁", "20", null, "盘点出库锁", "26", null, "移库锁", "50", null, "异常锁定", "60", null, "空出锁", "70", null)), + //LOCK(ForkMap.of(LangBehavior.language("status.no_lock"), "00", null, LangBehavior.language("status.inbound_lock"), "10", null, LangBehavior.language("status.inbound_inventory_lock"), "16", null, LangBehavior.language("status.outbound_lock"), "20", null, LangBehavior.language("status.inventory_outbound_lock"), "26", null, LangBehavior.language("status.move_storage_lock"), "50", null, LangBehavior.language("status.abnormal_lock"), "60", null, LangBehavior.language("status.empty_out_lock"), "70", null)), - STRATEGY_TYPE(ForkMap.of("入库", "1", null, "出库", "2", null, "出入库", "3", null)), + STRATEGY_TYPE(ForkMap.of(LangBehavior.language("status.inbound"), "1", null, LangBehavior.language("status.outbound"), "2", null, LangBehavior.language("status.in_out_bound"), "3", null)), - PRODUCT_AREA(ForkMap.of("一层车间", "A1", null, "二层车间", "A2", null, "三层车间", "A3", null)), + PRODUCT_AREA(ForkMap.of(LangBehavior.language("status.first_floor_workshop"), "A1", null, LangBehavior.language("status.second_floor_workshop"), "A2", null, LangBehavior.language("status.third_floor_workshop"), "A3", null)), - REGION_INFO(ForkMap.of("主存区拣选平台", "PICK01", null, "一楼出入库输送线", "IOConveyor", null, "二楼出入库输送线", "IOConveyor2", null, "拣选台秤重区", "WEIGH01", null, - "二楼CTU货架对接位", "CTU_POSITION", null, "二楼AGV产线对接位", "AGV_POSITION", null,"二楼空货架缓存区", "SHELF_POSITION", null)), + REGION_INFO(ForkMap.of(LangBehavior.language("status.main_storage_picking_platform"), "PICK01", null, LangBehavior.language("status.first_floor_io_conveyor"), "IOConveyor", null, LangBehavior.language("status.second_floor_io_conveyor"), "IOConveyor2", null, LangBehavior.language("status.picking_scale_area"), "WEIGH01", null, + LangBehavior.language("status.second_floor_ctu_shelf_docking"), "CTU_POSITION", null, LangBehavior.language("status.second_floor_agv_production_line_docking"), "AGV_POSITION", null, LangBehavior.language("status.second_floor_empty_shelf_buffer"), "SHELF_POSITION", null)), - STOCK_INFO(ForkMap.of("托盘库", "FStockPallet", null, "料箱库", "FStockId", null, "虚拟库", "FicStockId", null, "二楼ctu缓存库", "CStockId", null, - "二楼货架缓存库", "HStockId", null)), + STOCK_INFO(ForkMap.of(LangBehavior.language("status.pallet_warehouse"), "FStockPallet", null, LangBehavior.language("status.container_warehouse"), "FStockId", null, LangBehavior.language("status.virtual_warehouse"), "FicStockId", null, LangBehavior.language("status.second_floor_ctu_buffer"), "CStockId", null, + LangBehavior.language("status.second_floor_shelf_buffer"), "HStockId", null)), SORT_TYPE(ForkMap.of( - "升序", "1", null, "降序", "2", null + LangBehavior.language("status.ascending"), "1", null, LangBehavior.language("status.descending"), "2", null )), POINT_TYPE(ForkMap.of( "空货架", "0", null, "满货架", "1", null )), BIND_TYPE(ForkMap.of( - "解绑", "0", null, "绑定", "1", null, "不操作", "3", null + LangBehavior.language("status.unbind"), "0", null, LangBehavior.language("status.bind"), "1", null, LangBehavior.language("status.no_operation"), "3", null )), VEHICLE_TYPE(ForkMap.of( - "空托盘", "KT001", null, "空料箱", "KL001", null + LangBehavior.language("status.empty_tray"), "KT001", null, LangBehavior.language("status.empty_container"), "KL001", null )); /** @@ -105,11 +106,13 @@ public enum StatusEnum { private ForkMap code; public String code(String desc) { - String code = this.getCode().getNode(desc); + // 这里的desc应该是多语言key + String displayName = LangBehavior.language(desc); + String code = this.getCode().getNode(displayName); if (StringUtils.isNotEmpty(code)) { return code; } - throw new BadRequestException(this.name() + "对应类型" + desc + "未定义"); + throw new BadRequestException(LangBehavior.language("status.type_not_defined", this.name(), desc)); } public String getR(String code) { @@ -117,12 +120,12 @@ public enum StatusEnum { if (key.equals(code)){ String r = this.getCode().getR(key); if (StringUtils.isEmpty(r)) { - throw new BadRequestException(this.name() + "对应编码" + code + "未定义R的数据"); + throw new BadRequestException(LangBehavior.language("status.code_not_defined_r", this.name(), code)); } return r; } } - throw new BadRequestException(this.name() + "对应编码" + code + "未定义x的数据"); + throw new BadRequestException(LangBehavior.language("status.code_not_defined_x", this.name(), code)); } public Boolean check(String code) { diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/enums/TaskStatus.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/enums/TaskStatus.java index 948b804..971102b 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/enums/TaskStatus.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/enums/TaskStatus.java @@ -5,39 +5,40 @@ package org.nl.wms.sch_manage.enums; * @Description: 任务枚举 * @Date: 2025/05/19 */ +import org.nl.language.LangBehavior; public enum TaskStatus { /** * 申请 */ - CREATE("0", "生成", "生成"), + CREATE("0", LangBehavior.language("task.created"), LangBehavior.language("task.created").concat("_desc")), /** * 申请 */ - APPLY("1", "申请", "申请"), + APPLY("1", LangBehavior.language("task.applied"), LangBehavior.language("task.applied").concat("_desc")), /** * 创建完成 */ - CREATED("2", "创建完成", "创建完成"), + CREATED("2", LangBehavior.language("task.create_completed"), LangBehavior.language("task.create_completed").concat("_desc")), /** * 下发 */ - ISSUED("3", "下发", "下发"), + ISSUED("3", LangBehavior.language("task.issued"), LangBehavior.language("task.issued").concat("_desc")), /** * 执行中 */ - EXECUTING("4", "执行中", "执行中"), + EXECUTING("4", LangBehavior.language("task.executing"), LangBehavior.language("task.executing").concat("_desc")), /** * 完成 */ - FINISHED("5", "完成", "完成"), + FINISHED("5", LangBehavior.language("task.completed"), LangBehavior.language("task.completed").concat("_desc")), /** * 已取消 */ - CANCELED("6", "已取消", "已取消"), + CANCELED("6", LangBehavior.language("task.cancelled"), LangBehavior.language("task.cancelled").concat("_desc")), /** * 未完成 */ - UNFINISHED("7", "未完成", "未完成"); + UNFINISHED("7", LangBehavior.language("task.unfinished"), LangBehavior.language("task.unfinished").concat("_desc")); TaskStatus(String code, String name, String desc) { @@ -82,4 +83,24 @@ public enum TaskStatus { } return ""; } + + // 获取枚举实例 + public static TaskStatus getByCode(String code) { + for (TaskStatus value : TaskStatus.values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + // 获取多语言名称 + public static String getLanguageName(String code) { + TaskStatus status = getByCode(code); + if (status != null) { + // 直接返回已经是多语言的名称 + return status.getName(); + } + return ""; + } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBasePointServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBasePointServiceImpl.java index 3b1922f..ff44ebe 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBasePointServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBasePointServiceImpl.java @@ -16,6 +16,7 @@ import org.apache.commons.lang3.StringUtils; import org.nl.common.domain.query.PageQuery; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.SecurityUtils; +import org.nl.language.LangBehavior; import org.nl.wms.sch_manage.enums.PointStatusEnum; import org.nl.wms.sch_manage.enums.StatusEnum; import org.nl.wms.sch_manage.service.ISchBasePointService; @@ -89,7 +90,7 @@ public class SchBasePointServiceImpl extends ServiceImpl schBasePoints = JSONArray.parseArray(JSONArray.toJSONString(data), SchBasePoint.class); // 获取所有pointCode List pointCodes = schBasePoints.stream() diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBaseTaskServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBaseTaskServiceImpl.java index 8b898dd..01b5786 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBaseTaskServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBaseTaskServiceImpl.java @@ -16,6 +16,7 @@ import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.nl.common.domain.query.PageQuery; import org.nl.common.exception.BadRequestException; +import org.nl.language.LangBehavior; import org.nl.common.utils.SecurityUtils; import org.nl.wms.basedata_manage.enums.BaseDataEnum; import org.nl.wms.sch_manage.enums.StatusEnum; @@ -72,7 +73,7 @@ public class SchBaseTaskServiceImpl extends ServiceImpl lam = new LambdaQueryWrapper<>(); lam.lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode()) .eq(SchBaseTask::getVehicle_code, sub_tray) diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBaseTaskconfigServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBaseTaskconfigServiceImpl.java index 34a32ee..2e38888 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBaseTaskconfigServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBaseTaskconfigServiceImpl.java @@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import org.nl.common.domain.query.PageQuery; import org.nl.common.exception.BadRequestException; +import org.nl.language.LangBehavior; import org.nl.common.utils.SecurityUtils; import org.nl.wms.sch_manage.service.ISchBaseTaskconfigService; import org.nl.wms.sch_manage.service.dao.SchBaseTaskconfig; @@ -61,7 +62,7 @@ public class SchBaseTaskconfigServiceImpl extends ServiceImpl().eq(SchBaseTaskconfig::getConfig_code, entity.getConfig_code())); if (ObjectUtil.isNotEmpty(schBaseTaskconfig)) { - throw new BadRequestException("任务配置【" + entity.getConfig_code() + "】已存在!"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_config_already_exists", entity.getConfig_code())); } String currentUserId = SecurityUtils.getCurrentUserId(); @@ -69,7 +70,7 @@ public class SchBaseTaskconfigServiceImpl extends ServiceImpl Integer.parseInt(TaskStatus.CREATE.getCode())) { - throw new BadRequestException("只能取消生成中的任务!"); + throw new BadRequestException(LangBehavior.language("sch_manage.only_cancel_generating_tasks")); } this.cancelTask(taskObj); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/MoveTask.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/MoveTask.java index 6938262..55700a6 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/MoveTask.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/MoveTask.java @@ -8,6 +8,7 @@ import org.nl.common.exception.BadRequestException; import org.nl.common.utils.CodeUtil; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; +import org.nl.config.language.LangProcess; import org.nl.wms.sch_manage.enums.TaskStatus; import org.nl.wms.sch_manage.service.ISchBaseTaskService; import org.nl.wms.sch_manage.service.dao.SchBaseTask; @@ -87,10 +88,10 @@ public class MoveTask extends AbstractTask { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); if (taskObj.getTask_status().equals(TaskStatus.FINISHED.getCode())) { - throw new BadRequestException("该任务已完成!"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_already_completed")); } if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) { - throw new BadRequestException("该任务已取消!"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_already_cancelled")); } // 根据传来的类型去对任务进行操作 if (status.equals(TaskStatus.EXECUTING)) { @@ -112,7 +113,7 @@ public class MoveTask extends AbstractTask { public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { - throw new BadRequestException("该任务不存在"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_not_exists")); } this.finishTask(taskObj); } @@ -121,10 +122,10 @@ public class MoveTask extends AbstractTask { public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { - throw new BadRequestException("该任务不存在"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_not_exists")); } if (Integer.parseInt(taskObj.getTask_status()) > Integer.parseInt(TaskStatus.CREATE.getCode())) { - throw new BadRequestException("只能取消生成中的任务!"); + throw new BadRequestException(LangBehavior.language("sch_manage.only_cancel_generating_tasks")); } this.cancelTask(taskObj); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/PdaPointTask.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/PdaPointTask.java index b691e3a..20f77a4 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/PdaPointTask.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/PdaPointTask.java @@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import org.nl.common.exception.BadRequestException; +import org.nl.config.language.LangProcess; import org.nl.common.utils.CodeUtil; import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.IdUtil; @@ -81,10 +82,10 @@ public class PdaPointTask extends AbstractTask { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); if (taskObj.getTask_status().equals(TaskStatus.FINISHED.getCode())) { - throw new BadRequestException("该任务已完成!"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_already_completed")); } if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) { - throw new BadRequestException("该任务已取消!"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_already_cancelled")); } // 根据传来的类型去对任务进行操作 if (status.equals(TaskStatus.EXECUTING)) { @@ -105,7 +106,7 @@ public class PdaPointTask extends AbstractTask { public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { - throw new BadRequestException("该任务不存在"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_not_exists")); } this.finishTask(taskObj); } @@ -114,10 +115,10 @@ public class PdaPointTask extends AbstractTask { public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { - throw new BadRequestException("该任务不存在"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_not_exists")); } if (Integer.parseInt(taskObj.getTask_status()) > Integer.parseInt(TaskStatus.CREATE.getCode())) { - throw new BadRequestException("只能取消生成中的任务!"); + throw new BadRequestException(LangBehavior.language("sch_manage.only_cancel_generating_tasks")); } this.cancelTask(taskObj); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/StInTask.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/StInTask.java index 505565b..f4f7481 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/StInTask.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/StInTask.java @@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.nl.common.exception.BadRequestException; +import org.nl.language.LangBehavior; import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.IdUtil; import org.nl.wms.basedata_manage.enums.BaseDataEnum; @@ -99,15 +100,15 @@ public class StInTask extends AbstractTask { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); if (taskObj.getTask_status().equals(TaskStatus.FINISHED.getCode())) { - throw new BadRequestException("该任务已完成!"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_already_completed")); } if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) { - throw new BadRequestException("该任务已取消!"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_already_cancelled")); } // 根据传来的类型去对任务进行操作 if (status.equals(TaskStatus.EXECUTING)) { taskObj.setTask_status(TaskStatus.EXECUTING.getCode()); - taskObj.setRemark("执行中"); + taskObj.setRemark(LangBehavior.language("task.executing")); taskService.updateById(taskObj); } if (status.equals(TaskStatus.FINISHED)) { @@ -123,11 +124,11 @@ public class StInTask extends AbstractTask { public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { - throw new BadRequestException("该任务不存在"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_not_exists")); } rawAssistIStorService.taskFinish(taskObj); taskObj.setTask_status(TaskStatus.FINISHED.getCode()); - taskObj.setRemark("已完成"); + taskObj.setRemark(LangBehavior.language("task.completed")); taskService.updateById(taskObj); } @@ -135,10 +136,10 @@ public class StInTask extends AbstractTask { public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { - throw new BadRequestException("该任务不存在"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_not_exists")); } if (!TaskStatus.CREATE.getCode().equals(taskObj.getTask_status())) { - throw new BadRequestException("任务状态必须为生成才能取消任务"); + throw new BadRequestException(LangBehavior.language("sch_manage.only_cancel_generating_tasks")); } this.cancelTask(taskObj); @@ -152,7 +153,7 @@ public class StInTask extends AbstractTask { public void finishTask(SchBaseTask taskObj) { // 任务完成 taskObj.setTask_status(TaskStatus.FINISHED.getCode()); - taskObj.setRemark("已完成"); + taskObj.setRemark(LangBehavior.language("task.completed")); taskService.updateById(taskObj); rawAssistIStorService.taskFinish(taskObj); } @@ -163,7 +164,7 @@ public class StInTask extends AbstractTask { taskService.update(new LambdaUpdateWrapper() .set(SchBaseTask::getIs_delete, BaseDataEnum.IS_YES_NOT.code("是")) .set(SchBaseTask::getTask_status, TaskStatus.CANCELED.getCode()) - .set(SchBaseTask::getRemark,"已取消") + .set(SchBaseTask::getRemark,LangBehavior.language("task.cancelled")) .eq(SchBaseTask::getTask_id,taskObj.getTask_id()) ); //分配表清除任务 @@ -177,7 +178,7 @@ public class StInTask extends AbstractTask { // 更新任务状态 taskObj.setTask_status(TaskStatus.CANCELED.getCode()); - taskObj.setRemark("已取消"); + taskObj.setRemark(LangBehavior.language("task.cancelled")); taskService.updateById(taskObj); } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/StOutTask.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/StOutTask.java index d55d368..2978bab 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/StOutTask.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/StOutTask.java @@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.nl.common.exception.BadRequestException; +import org.nl.config.language.LangProcess; import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.IdUtil; import org.nl.wms.basedata_manage.enums.BaseDataEnum; @@ -87,10 +88,10 @@ public class StOutTask extends AbstractTask { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); if (taskObj.getTask_status().equals(TaskStatus.FINISHED.getCode())) { - throw new BadRequestException("该任务已完成!"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_already_completed")); } if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) { - throw new BadRequestException("该任务已取消!"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_already_cancelled")); } // 根据传来的类型去对任务进行操作 if (status.equals(TaskStatus.EXECUTING)) { @@ -110,7 +111,7 @@ public class StOutTask extends AbstractTask { public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { - throw new BadRequestException("该任务不存在"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_not_exists")); } this.finishTask(taskObj); } @@ -119,10 +120,10 @@ public class StOutTask extends AbstractTask { public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { - throw new BadRequestException("该任务不存在"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_not_exists")); } if (!TaskStatus.CREATE.getCode().equals(taskObj.getTask_status())) { - throw new BadRequestException("任务状态必须为生成才能取消任务"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_status_must_be_create_to_cancel")); } this.cancelTask(taskObj); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/VehicleInTask.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/VehicleInTask.java index d6ba319..8a2fbca 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/VehicleInTask.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/VehicleInTask.java @@ -8,6 +8,7 @@ import org.nl.common.exception.BadRequestException; import org.nl.common.utils.CodeUtil; import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.IdUtil; +import org.nl.common.utils.LangProcess; import org.nl.wms.basedata_manage.service.IStructattrService; import org.nl.wms.basedata_manage.service.dao.Structattr; import org.nl.wms.sch_manage.enums.TaskStatus; @@ -89,10 +90,10 @@ public class VehicleInTask extends AbstractTask { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); if (taskObj.getTask_status().equals(TaskStatus.FINISHED.getCode())) { - throw new BadRequestException("该任务已完成!"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_already_completed")); } if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) { - throw new BadRequestException("该任务已取消!"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_already_cancelled")); } // 根据传来的类型去对任务进行操作 if (status.equals(TaskStatus.EXECUTING)) { @@ -113,7 +114,7 @@ public class VehicleInTask extends AbstractTask { public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { - throw new BadRequestException("该任务不存在"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_not_exists")); } this.finishTask(taskObj); } @@ -122,10 +123,10 @@ public class VehicleInTask extends AbstractTask { public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { - throw new BadRequestException("该任务不存在"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_not_exists")); } if (Integer.parseInt(taskObj.getTask_status()) > Integer.parseInt(TaskStatus.CREATE.getCode())) { - throw new BadRequestException("只能取消生成中的任务!"); + throw new BadRequestException(LangBehavior.language("sch_manage.only_cancel_generating_tasks")); } this.cancelTask(taskObj); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/VehicleOutTask.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/VehicleOutTask.java index 3fea156..58a925c 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/VehicleOutTask.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/VehicleOutTask.java @@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.nl.common.exception.BadRequestException; +import org.nl.config.language.LangProcess; import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.IdUtil; import org.nl.wms.basedata_manage.enums.BaseDataEnum; @@ -85,10 +86,10 @@ public class VehicleOutTask extends AbstractTask { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); if (taskObj.getTask_status().equals(TaskStatus.FINISHED.getCode())) { - throw new BadRequestException("该任务已完成!"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_already_completed")); } if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) { - throw new BadRequestException("该任务已取消!"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_already_cancelled")); } // 根据传来的类型去对任务进行操作 if (status.equals(TaskStatus.EXECUTING)) { @@ -108,7 +109,7 @@ public class VehicleOutTask extends AbstractTask { public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { - throw new BadRequestException("该任务不存在"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_not_exists")); } this.finishTask(taskObj); } @@ -117,10 +118,10 @@ public class VehicleOutTask extends AbstractTask { public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { - throw new BadRequestException("该任务不存在"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_not_exists")); } if (!TaskStatus.CREATE.getCode().equals(taskObj.getTask_status())) { - throw new BadRequestException("任务状态必须为生成才能取消任务"); + throw new BadRequestException(LangBehavior.language("sch_manage.task_status_must_be_create_to_cancel")); } this.cancelTask(taskObj); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/controller/dict/SysDictController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/controller/dict/SysDictController.java index 67f647b..8de69ac 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/controller/dict/SysDictController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/controller/dict/SysDictController.java @@ -7,6 +7,7 @@ import org.nl.common.base.TableDataInfo; import org.nl.common.domain.query.PageQuery; import org.nl.common.exception.BadRequestException; import org.nl.common.logging.annotation.Log; +import org.nl.language.LangBehavior; import org.nl.wms.system_manage.service.dict.ISysDictService; import org.nl.wms.system_manage.service.dict.dao.Dict; import org.nl.wms.system_manage.service.dict.dto.DictQuery; @@ -115,7 +116,7 @@ public class SysDictController { Object label = criteria.get("label"); Object value = criteria.get("value"); if (type == null||label == null||value == null){ - throw new BadRequestException("参数不能为空"); + throw new BadRequestException(LangBehavior.language("system_manage","param_empty")); } List maps = dictService.dynamicTableEnum((String) type, (String) label, (String) value); return new ResponseEntity<>(maps, HttpStatus.OK); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/controller/secutiry/MobileAuthorizationController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/controller/secutiry/MobileAuthorizationController.java index 880e73f..2d9a684 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/controller/secutiry/MobileAuthorizationController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/controller/secutiry/MobileAuthorizationController.java @@ -15,7 +15,7 @@ import org.nl.common.exception.BadRequestException; import org.nl.common.utils.RsaUtils; import org.nl.common.utils.dto.CurrentUser; import org.nl.common.domain.constant.RsaProperties; -import org.nl.config.language.LangProcess; +import org.nl.language.LangBehavior; import org.nl.wms.system_manage.service.role.ISysRoleService; import org.nl.wms.system_manage.service.secutiry.dto.AuthUserDto; import org.nl.wms.system_manage.service.user.ISysUserService; @@ -53,14 +53,14 @@ public class MobileAuthorizationController { public ResponseEntity handLogin(@RequestBody Map whereJson) { SysUser userInfo = userService.getOne(new QueryWrapper().eq("username", whereJson.get("username"))); if (userInfo == null) { // 这里需要密码加密 - throw new BadRequestException("用户不存在"); + throw new BadRequestException(LangBehavior.language("system.user_not_exist")); } String now = SaSecureUtil.md5BySalt(RsaUtils.decryptByPrivateKey(RsaUtils.KEY, whereJson.get("password")), "salt"); if (!userInfo.getPassword().equals(now)) { - throw new BadRequestException("密码错误"); + throw new BadRequestException(LangBehavior.language("system.password_error")); } if (!userInfo.getIs_used()) { - throw new BadRequestException("账号未激活"); + throw new BadRequestException(LangBehavior.language("system.account_not_activated")); } List permissionList = roleService.getPermissionList((JSONObject) JSON.toJSON(userInfo)); // 登录输入,登出删除 diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/coderule/impl/SysCodeRuleServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/coderule/impl/SysCodeRuleServiceImpl.java index 31e19e8..1219960 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/coderule/impl/SysCodeRuleServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/coderule/impl/SysCodeRuleServiceImpl.java @@ -13,6 +13,8 @@ import org.nl.common.exception.BadRequestException; import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.MapOf; import org.nl.config.language.LangProcess; +import org.nl.language.LangBehavior; +import org.nl.language.LangBehavior; import org.nl.wms.system_manage.service.coderule.ISysCodeRuleService; import org.nl.wms.system_manage.service.coderule.dao.SysCodeRule; import org.nl.wms.system_manage.service.coderule.dao.SysCodeRuleDetail; @@ -62,7 +64,7 @@ public class SysCodeRuleServiceImpl extends ServiceImpl().eq(SysCodeRule::getCode, code)); if (sysCodeRule==null){ - throw new BadRequestException("缺少"+code+"相关配置"); + throw new BadRequestException(LangBehavior.language("system_manage.code_rule_not_exist", code)); } String id = sysCodeRule.getId(); // 如果flag = 1就执行更新数据库的操作 diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/dict/impl/SysDictServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/dict/impl/SysDictServiceImpl.java index b2dfe96..23f4cb8 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/dict/impl/SysDictServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/dict/impl/SysDictServiceImpl.java @@ -12,6 +12,7 @@ import org.apache.commons.lang3.StringUtils; import org.nl.common.domain.query.PageQuery; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.SecurityUtils; +import org.nl.language.LangBehavior; import org.nl.config.language.LangProcess; import org.nl.wms.system_manage.service.dict.ISysDictService; import org.nl.wms.system_manage.service.dict.dao.Dict; @@ -198,7 +199,7 @@ public class SysDictServiceImpl extends ServiceImpl impleme @Override public List dynamicTableEnum(String table, String label, String value) { if (StringUtils.isEmpty(table)||StringUtils.isEmpty(label)||StringUtils.isEmpty(value)){ - throw new BadRequestException("参数不能为空"); + throw new BadRequestException(LangBehavior.language("system_manage","param_empty")); } return this.sysDictMapper.dynamicTableEnum(table,label,value); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/menu/impl/SysMenuServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/menu/impl/SysMenuServiceImpl.java index e5daab3..1f9cae9 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/menu/impl/SysMenuServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/menu/impl/SysMenuServiceImpl.java @@ -20,6 +20,7 @@ import org.nl.common.domain.vo.MenuMetaVo; import org.nl.common.domain.vo.MenuVo; import org.nl.common.utils.CopyUtil; import org.nl.common.utils.IdUtil; +import org.nl.language.LangBehavior; import org.nl.config.language.LangProcess; import org.nl.wms.system_manage.service.dict.dao.Dict; import org.nl.wms.system_manage.service.dict.dao.mapper.SysDictMapper; @@ -481,7 +482,7 @@ public class SysMenuServiceImpl extends ServiceImpl impl //查询一级 JSONArray pa = baseMapper.queryPdaAuthority(accountId, "0", null); if(ObjectUtil.isEmpty(pa)){ - throw new BadRequestException("当前用户无菜单权限!"); + throw new BadRequestException(LangBehavior.language("system_manage.menu_no_permission")); } JSONObject result = new JSONObject(); for (int i = 0; i < pa.size(); i++) { diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/quartz/utils/QuartzManage.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/quartz/utils/QuartzManage.java index 5e33106..e73d8ae 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/quartz/utils/QuartzManage.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/quartz/utils/QuartzManage.java @@ -3,7 +3,7 @@ package org.nl.wms.system_manage.service.quartz.utils; import cn.hutool.core.net.NetUtil; import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; -import org.nl.config.language.LangProcess; +import org.nl.language.LangBehavior; import org.nl.wms.system_manage.service.quartz.dao.SysQuartzJob; import org.quartz.*; import org.quartz.impl.triggers.CronTriggerImpl; @@ -30,9 +30,9 @@ public class QuartzManage { public void addJob(SysQuartzJob quartzJob) { //本机IP String localIp = NetUtil.getLocalhostStr(); - System.out.println("本机ip:"+localIp); + System.out.println(LangBehavior.language("system.local_ip") + localIp); if (!judgmentIp(quartzJob.getJob_ip())) { - throw new BadRequestException("本机ip与"+localIp+"调度ip"+quartzJob.getJob_ip()+"不同"); + throw new BadRequestException(LangBehavior.language("quartz.ip_different", localIp, quartzJob.getJob_ip())); } try { // 构建job信息 @@ -60,7 +60,7 @@ public class QuartzManage { } } catch (Exception e) { log.error("创建定时任务失败", e); - throw new BadRequestException("创建定时任务失败"); + throw new BadRequestException(LangBehavior.language("quartz.create_job_failure")); } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/secutiry/entity/LoginProperties.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/secutiry/entity/LoginProperties.java index edfcea2..ceabc9b 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/secutiry/entity/LoginProperties.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/secutiry/entity/LoginProperties.java @@ -20,6 +20,7 @@ import com.wf.captcha.*; import com.wf.captcha.base.Captcha; import lombok.Data; import org.nl.common.exception.BadRequestException; +import org.nl.language.LangBehavior; import org.nl.wms.system_manage.service.secutiry.enums.LoginCodeEnum; import org.springframework.stereotype.Component; @@ -103,7 +104,7 @@ public class LoginProperties { captcha.setLen(loginCode.getLength()); break; default: - throw new BadRequestException("验证码配置信息错误!正确配置查看 LoginCodeEnum "); + throw new BadRequestException(LangBehavior.language("system.captcha_config_error")); } } if(StrUtil.isNotEmpty(loginCode.getFontName())){ diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/secutiry/impl/HandLoginServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/secutiry/impl/HandLoginServiceImpl.java index 820bbf4..6562c3a 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/secutiry/impl/HandLoginServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/secutiry/impl/HandLoginServiceImpl.java @@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; +import org.nl.language.LangBehavior; import org.nl.common.utils.RedisUtils; import org.nl.common.utils.RsaUtils; import org.nl.common.utils.dto.CurrentUser; @@ -40,10 +41,10 @@ public class HandLoginServiceImpl implements HandLoginService { Assert.notNull(param,"请求参数不能为空"); SysUser userInfo = iSysUserService.getOne(new QueryWrapper().eq("username",param.get("user"))); if (userInfo == null||!userInfo.getPassword().equals(SaSecureUtil.md5BySalt(RsaUtils.decryptByPrivateKey(RsaUtils.KEY, param.get("password")), "salt"))) { // 这里需要密码加密 - throw new BadRequestException("账号或密码错误"); + throw new BadRequestException(LangBehavior.language("system.password_error")); } if (!userInfo.getIs_used()) { - throw new BadRequestException("账号未激活"); + throw new BadRequestException(LangBehavior.language("system.account_not_activated")); } List permissionList = roleService.getPermissionList((JSONObject) JSON.toJSON(userInfo)); // 登录输入,登出删除 diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/user/impl/ISysUserServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/user/impl/ISysUserServiceImpl.java index 702f12a..f068855 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/user/impl/ISysUserServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/system_manage/service/user/impl/ISysUserServiceImpl.java @@ -20,6 +20,8 @@ import org.nl.config.FileProperties; import org.nl.common.utils.FileUtil; import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.IdUtil; +import org.nl.language.LangBehavior; +import org.nl.language.LangBehavior; import org.nl.wms.system_manage.service.dept.ISysDeptService; import org.nl.wms.system_manage.service.role.ISysRoleService; import org.nl.wms.system_manage.service.secutiry.dto.AuthUserDto; @@ -181,10 +183,10 @@ public class ISysUserServiceImpl extends ServiceImpl imp // } SysUser userInfo = this.getOne(new QueryWrapper().eq("username",authUser.getUsername())); if (userInfo == null||!userInfo.getPassword().equals(SaSecureUtil.md5BySalt(RsaUtils.decryptByPrivateKey(RsaUtils.KEY, authUser.getPassword()), "salt"))) { // 这里需要密码加密 - throw new BadRequestException("账号或密码错误"); + throw new BadRequestException(LangBehavior.language("system_manage.username_password_error")); } if (!userInfo.getIs_used()) { - throw new BadRequestException("账号未激活"); + throw new BadRequestException(LangBehavior.language("system_manage.account_not_activated")); } List permissionList = roleService.getPermissionList((JSONObject) JSON.toJSON(userInfo)); // 登录输入,登出删除 diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/enums/IOSEnum.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/enums/IOSEnum.java index 8178373..e6da12c 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/enums/IOSEnum.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/enums/IOSEnum.java @@ -5,6 +5,7 @@ import lombok.Getter; import org.apache.commons.lang3.StringUtils; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.MapOf; +import org.nl.common.utils.LangProcess; import java.util.Map; @@ -61,7 +62,7 @@ public enum IOSEnum { if (StringUtils.isNotEmpty(code)) { return code; } - throw new BadRequestException(this.name() + "对应类型" + desc + "未定义"); + throw new BadRequestException(LangBehavior.language("error_param_undefined", this.name(), desc)); } public String check(String code) { @@ -69,6 +70,6 @@ public enum IOSEnum { if (entry.getValue().equals("code")) { return entry.getValue(); } - throw new BadRequestException(this.name() + "对应类型" + code + "未定义"); + throw new BadRequestException(LangBehavior.language("error_param_undefined", this.name(), code)); } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/MdPbGroupplateServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/MdPbGroupplateServiceImpl.java index 8beaddd..ee43b8c 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/MdPbGroupplateServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/MdPbGroupplateServiceImpl.java @@ -10,6 +10,7 @@ import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.nl.common.domain.query.PageQuery; import org.nl.common.exception.BadRequestException; +import org.nl.language.LangBehavior; import org.nl.wms.basedata_manage.service.dao.BsrealStorattr; import org.nl.wms.pm_manage.service.dao.PmFormData; import org.nl.wms.warehouse_manage.service.IMdPbGroupplateDtlService; @@ -96,7 +97,7 @@ public class MdPbGroupplateServiceImpl extends ServiceImpl getdtl(String group_id) { if (StringUtils.isEmpty(group_id)) { - throw new BadRequestException("请求参数不能为空"); + throw new BadRequestException(LangBehavior.language("common.request_param_cannot_be_empty")); } List dtlList = iMdPbGroupplateDtlService.list(new LambdaQueryWrapper<>(GroupPlateDtl.class) .eq(GroupPlateDtl::getGroup_id, group_id)); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/OutBillServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/OutBillServiceImpl.java index e01a720..fd9ebee 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/OutBillServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/OutBillServiceImpl.java @@ -15,9 +15,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.nl.common.domain.query.PageQuery; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.CodeUtil; -import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.IdUtil; +import org.nl.common.utils.SecurityUtils; +import org.nl.config.language.LangProcess; +import org.nl.language.LangBehavior; import org.nl.config.SpringContextHolder; +import org.nl.language.LangBehavior; import org.nl.wms.basedata_manage.enums.BaseDataEnum; import org.nl.wms.basedata_manage.service.IBsrealStorattrService; import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleextService; @@ -196,7 +199,7 @@ public class OutBillServiceImpl extends ServiceImpl i IOStorInv ioStorInv = ioStorInvMapper.selectById(iostorinv_id); if (!IOSEnum.BILL_STATUS.code("生成").equals(ioStorInv.getBill_status())) { - throw new BadRequestException("主表状态必须为生成!"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.main_table_status_must_be_generate")); } String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); @@ -315,7 +318,7 @@ public class OutBillServiceImpl extends ServiceImpl i // 校验计划数量不能为零 double plan_qty = row.getDoubleValue("qty"); if (Double.compare(plan_qty, 0.0) == 0) { - throw new BadRequestException("数量不能为0"); + throw new BadRequestException(LangBehavior.language("warehouse_manage", "outbill_qty_zero")); } JSONObject ioStorInvDtl = new JSONObject(); @@ -369,12 +372,12 @@ public class OutBillServiceImpl extends ServiceImpl i String iostorinv_id = whereJson.getString("iostorinv_id"); Sectattr sect = iSectattrService.findById(whereJson.getString("sect_code")); if (ObjectUtil.isEmpty(sect)) { - throw new BadRequestException("分配库区不能为空!"); + throw new BadRequestException(LangBehavior.language("warehouse_manage", "outbill_sect_empty")); } //查询主表信息 IOStorInv ioStorInv = ioStorInvMapper.selectById(iostorinv_id); if (ObjectUtil.isEmpty(ioStorInv)) { - throw new BadRequestException("查不到出库单信息"); + throw new BadRequestException(LangBehavior.language("warehouse_manage", "outbill_not_found")); } //查询生成和未分配完的明细 @@ -384,7 +387,7 @@ public class OutBillServiceImpl extends ServiceImpl i queryDtl.put("iostorinv_id", iostorinv_id); List dtls = ioStorInvMapper.getIODtl(queryDtl); if (ObjectUtil.isEmpty(dtls)) { - throw new BadRequestException("当前订单无可分配出库明细"); + throw new BadRequestException(LangBehavior.language("warehouse_manage", "outbill_no_details")); } for (int i = 0; i < dtls.size(); i++) { @@ -491,7 +494,7 @@ public class OutBillServiceImpl extends ServiceImpl i .eq(IOStorInvDis::getIostorinv_id,iostorinv_id) ); if (ObjectUtil.isEmpty(ioStorInvDisList)){ - throw new BadRequestException("不存在可取消的出库分配明细"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.no_cancel_outbound_alloc_dtl")); } //需要更新的出入库单明细 Set dtlSet = new HashSet<>(); @@ -556,13 +559,13 @@ public class OutBillServiceImpl extends ServiceImpl i String now = DateUtil.now(); Sectattr sect = iSectattrService.findById(whereJson.getString("sect_code")); if (ObjectUtil.isEmpty(sect)) { - throw new BadRequestException("分配库区不能为空!"); + throw new BadRequestException(LangBehavior.language("warehouse_manage", "outbill_sect_empty")); } String iostorinv_id = whereJson.getString("iostorinv_id"); //查询主表信息 IOStorInv ioStorInv = ioStorInvMapper.selectById(iostorinv_id); if (ObjectUtil.isEmpty(ioStorInv)) { - throw new BadRequestException("查不到出库单信息"); + throw new BadRequestException(LangBehavior.language("warehouse_manage", "outbill_not_found")); } //查询生成和未分配完的明细 @@ -573,7 +576,7 @@ public class OutBillServiceImpl extends ServiceImpl i queryDtl.put("iostorinvdtl_id", whereJson.getString("iostorinvdtl_id")); List dtls = ioStorInvMapper.getIODtl(queryDtl); if (ObjectUtil.isEmpty(dtls)) { - throw new BadRequestException("当前订单无可分配出库明细"); + throw new BadRequestException(LangBehavior.language("warehouse_manage", "outbill_no_details")); } for (int i = 0; i < dtls.size(); i++) { IOStorInvDtlDto dtl = dtls.get(i); @@ -676,7 +679,7 @@ public class OutBillServiceImpl extends ServiceImpl i .eq(IOStorInvDis::getIostorinvdtl_id,whereJson.getString("iostorinvdtl_id")) ); if (ObjectUtil.isEmpty(ioStorInvDisList)){ - throw new BadRequestException("不存在可取消的出库分配明细"); + throw new BadRequestException(LangBehavior.language("warehouse_manage", "outbill_no_cancelable_details")); } //需要更新的出入库单明细 Set dtlSet = new HashSet<>(); @@ -761,7 +764,7 @@ public class OutBillServiceImpl extends ServiceImpl i //查询主表信息 IOStorInv ioStorInv = ioStorInvMapper.selectById(iostorinv_id); if (ObjectUtil.isEmpty(ioStorInv)) { - throw new BadRequestException("当前订单无可分配出库明细"); + throw new BadRequestException(LangBehavior.language("warehouse_manage", "outbill_no_details")); } //查询生成和未分配完的明细 @@ -772,13 +775,13 @@ public class OutBillServiceImpl extends ServiceImpl i queryDtl.put("iostorinvdtl_id", row.getString("iostorinvdtl_id")); List dtls = ioStorInvMapper.getIODtl(queryDtl); if (ObjectUtil.isEmpty(dtls)) { - throw new BadRequestException("当前订单无可分配出库明细"); + throw new BadRequestException(LangBehavior.language("warehouse_manage", "outbill_no_details")); } for (IOStorInvDtlDto dtl:dtls){ BigDecimal unassign_qty = dtl.getUnassign_qty(); if (unassign_qty.equals(BigDecimal.ZERO)){ - throw new BadRequestException("已全部分配完,未分配数量为0"); + throw new BadRequestException(LangBehavior.language("warehouse_manage", "outbill_allocated")); } //分配数量 BigDecimal allocation_canuse_qty = BigDecimal.ZERO; @@ -950,17 +953,17 @@ public class OutBillServiceImpl extends ServiceImpl i String point_code = whereJson.getString("point_code"); String floor_code = whereJson.getString("floor_code"); if (StrUtil.isBlank(point_code)){ - throw new BadRequestException("未选择出库点"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.no_selected_outbound_point")); } if (StrUtil.isBlank(floor_code)){ - throw new BadRequestException("未选择楼层"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.no_selected_floor")); } String iostorinv_id = whereJson.getString("iostorinv_id"); //查询主表信息 IOStorInv ioStorInv = ioStorInvMapper.selectById(iostorinv_id); if (ObjectUtil.isEmpty(ioStorInv)) { - throw new BadRequestException("未查到相关出库单"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.no_related_outbound_bill")); } List ioStorInvDisList = ioStorInvDisMapper.selectList(new LambdaQueryWrapper<>(IOStorInvDis.class) @@ -969,7 +972,7 @@ public class OutBillServiceImpl extends ServiceImpl i .and(wrapper -> wrapper.isNotNull(IOStorInvDis::getStruct_code).ne(IOStorInvDis::getStruct_code,"")) ); if (ObjectUtil.isEmpty(ioStorInvDisList)){ - throw new BadRequestException("当前没有可设置的分配明细"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.no_alloc_dtl_to_set")); } for (IOStorInvDis ioStorInvDis:ioStorInvDisList){ @@ -1010,11 +1013,11 @@ public class OutBillServiceImpl extends ServiceImpl i //查询主表信息 IOStorInv ioStorInv = ioStorInvMapper.selectById(iostorinv_id); if (ObjectUtil.isEmpty(ioStorInv)) { - throw new BadRequestException("未查到相关出库单"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.no_related_outbound_bill")); } if (!IOSEnum.BILL_STATUS.code("分配完").equals(ioStorInv.getBill_status())){ - throw new BadRequestException("主表状态必须为分配完!"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.main_table_status_must_be_allocated")); } //解锁原货位点位 @@ -1032,7 +1035,7 @@ public class OutBillServiceImpl extends ServiceImpl i ).stream() .allMatch(row -> row.getTask_status().equals(TaskStatus.FINISHED.getCode())); if (!is_finish) { - throw new BadRequestException("当前有未完成的任务不能强制确认!"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.cannot_force_confirm_with_unfinished_tasks")); } //需要更新的出入库单明细 @@ -1144,7 +1147,7 @@ public class OutBillServiceImpl extends ServiceImpl i .eq(IOStorInvDis::getTask_id, task.getTask_id()) ); if (ObjectUtil.isEmpty(ioStorInvDis)) { - throw new BadRequestException("未找到任务对应的分配明细"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.no_alloc_dtl_for_task")); } // 完成当前分配明细 ioStorInvDisMapper.update(ioStorInvDis,new LambdaUpdateWrapper<>(IOStorInvDis.class) @@ -1174,7 +1177,7 @@ public class OutBillServiceImpl extends ServiceImpl i // 明细 IOStorInvDtl ioStorInvDtl = ioStorInvDtlMapper.selectById(ioStorInvDis.getIostorinvdtl_id()); if (ObjectUtil.isEmpty(ioStorInvDtl)){ - throw new BadRequestException("未找到明细"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.no_dtl_found")); } // 如果分配明细全部完成则更新明细表状态 if (countDis == 0){ diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/RawAssistIStorServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/RawAssistIStorServiceImpl.java index 0d56f9f..8e6c4e7 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/RawAssistIStorServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/RawAssistIStorServiceImpl.java @@ -18,6 +18,8 @@ import org.nl.common.utils.CodeUtil; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; import org.nl.config.SpringContextHolder; +import org.nl.config.language.LangProcess; +import org.nl.language.LangBehavior; import org.nl.wms.basedata_manage.enums.BaseDataEnum; import org.nl.wms.basedata_manage.service.IBsrealStorattrService; import org.nl.wms.basedata_manage.service.ISectattrService; @@ -212,7 +214,7 @@ public class RawAssistIStorServiceImpl extends ServiceImpl(Structattr.class).eq(Structattr::getStoragevehicle_code,row.get("storagevehicle_code"))); if (ObjectUtil.isNotEmpty(structattr)) { - throw new BadRequestException("载具编码:" + row.get("storagevehicle_code") + "已存在库内,请对数据进行核实!"); + throw new BadRequestException(LangBehavior.language("system.vehicle_already_in_storage", row.get("storagevehicle_code").toString())); } ioStorInvDtlMapper.insert(ioStorInvDtl.toJavaObject(IOStorInvDtl.class)); @@ -269,7 +271,7 @@ public class RawAssistIStorServiceImpl extends ServiceImpl(Structattr.class).eq(Structattr::getStoragevehicle_code,row.get("storagevehicle_code"))); if (ObjectUtil.isNotEmpty(structattr)) { - throw new BadRequestException("载具编码:" + row.get("storagevehicle_code") + "已存在库内,请对数据进行核实!"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.vehicle_already_in_storage", row.get("storagevehicle_code").toString())); } ioStorInvDtlMapper.insert(ioStorInvDtl.toJavaObject(IOStorInvDtl.class)); @@ -360,7 +362,7 @@ public class RawAssistIStorServiceImpl extends ServiceImpl wrapper.isNotNull(IOStorInvDis::getStruct_code).or().ne(IOStorInvDis::getStruct_code,""))); if (ObjectUtil.isEmpty(ioStorInvDis)){ - throw new BadRequestException("该明细还没分配货位,请先分配货位"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.detail_not_allocated_location")); } //创建任务 @@ -608,7 +610,7 @@ public class RawAssistIStorServiceImpl extends ServiceImpl(IOStorInvDis.class) @@ -785,13 +787,13 @@ public class RawAssistIStorServiceImpl extends ServiceImpl wrapper.isNull(Structattr::getStoragevehicle_code).or().eq(Structattr::getStoragevehicle_code,"")) ); if (ObjectUtil.isEmpty(structattrList)){ - throw new BadRequestException("该库区没有仓位"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.no_location_in_sector")); } MdPbStoragevehicleinfo mdPbStoragevehicleinfo = mdPbStoragevehicleinfoMapper.selectOne(new LambdaQueryWrapper<>(MdPbStoragevehicleinfo.class) .eq(MdPbStoragevehicleinfo::getStoragevehicle_code,storagevehicle_code) ); if (ObjectUtil.isEmpty(mdPbStoragevehicleinfo)){ - throw new BadRequestException("没有该载具号信息"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.no_carrier_info")); } // 过滤掉不满足载具长宽高的仓位 Structattr structattr = structattrList.stream().filter(st -> @@ -801,7 +803,7 @@ public class RawAssistIStorServiceImpl extends ServiceImpl().lambda() @@ -151,12 +152,12 @@ public class UpdateIvtUtils { .eq(GroupPlate::getMaterial_id, where.getString("material_id")) ); if (ObjectUtil.isEmpty(extDao)) { - throw new BadRequestException("当前载具【" + extDao.getStoragevehicle_code() + "】不存在相关物料批次库存,请检查数据!"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.storagevehicle_no_inventory", where.getString("storagevehicle_code"))); } // 减可用数 BigDecimal canuse_qty = extDao.getQty().subtract(where.getBigDecimal("change_qty")); if (canuse_qty.compareTo(BigDecimal.ZERO) <0){ - throw new BadRequestException("可用数不能为负数,请检查变动数量!当前可用数为【" + extDao.getQty() + "】当前变动数为【" + where.getDoubleValue("change_qty") + "】"); + throw new BadRequestException(LangBehavior.language("system.available_quantity_cannot_be_negative", String.valueOf(extDao.getQty()), String.valueOf(where.getDoubleValue("change_qty")))); } // 加冻结数 BigDecimal frozen_qty = extDao.getFrozen_qty().add(where.getBigDecimal("change_qty")); @@ -181,13 +182,13 @@ public class UpdateIvtUtils { .eq(GroupPlate::getMaterial_id, where.getString("material_id")) ); if (ObjectUtil.isEmpty(extDao)) { - throw new BadRequestException("当前载具【" + extDao.getStoragevehicle_code() + "】不存在相关物料批次库存,请检查数据!"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.storagevehicle_no_inventory", where.getString("storagevehicle_code"))); } // 减冻结 BigDecimal frozen_qty = extDao.getFrozen_qty().subtract(where.getBigDecimal("change_qty")); if (frozen_qty.compareTo(BigDecimal.ZERO) <0){ - throw new BadRequestException("冻结数不能为负数,请检查变动数量!当前冻结数为【" + extDao.getFrozen_qty() + "】当前变动数为【" + where.getDoubleValue("change_qty") + "】"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.frozen_quantity_cannot_be_negative", String.valueOf(extDao.getFrozen_qty()), String.valueOf(where.getDoubleValue("change_qty")))); } // 如果可用数和冻结数都为零则删除数据 if (frozen_qty.compareTo(BigDecimal.ZERO)==0 && extDao.getQty().compareTo(BigDecimal.ZERO)==0) { @@ -216,12 +217,12 @@ public class UpdateIvtUtils { .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) ); if (ObjectUtil.isEmpty(extDao)) { - throw new BadRequestException("当前载具【" + extDao.getStoragevehicle_code() + "】不存在相关物料批次库存,请检查数据!"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.storagevehicle_no_inventory", where.getString("storagevehicle_code"))); } // 减冻结 BigDecimal qty = extDao.getQty().subtract(extDao.getFrozen_qty()); if (qty.compareTo(BigDecimal.ZERO) <0){ - throw new BadRequestException("冻结数不能为负数,请检查变动数量!当前冻结数为【" + extDao.getFrozen_qty() + "】当前变动数为【" + where.getDoubleValue("change_qty") + "】"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.frozen_quantity_cannot_be_negative", String.valueOf(extDao.getFrozen_qty()), String.valueOf(where.getDoubleValue("change_qty")))); } // 加可用 extDao.setFrozen_qty(BigDecimal.ZERO); @@ -243,7 +244,7 @@ public class UpdateIvtUtils { .eq(GroupPlate::getMaterial_id, where.getString("material_id")) ); if (ObjectUtil.isEmpty(extDao)) { - throw new BadRequestException("当前载具【" + extDao.getStoragevehicle_code() + "】不存在相关物料批次库存,请检查数据!"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.storagevehicle_no_inventory", where.getString("storagevehicle_code"))); } BigDecimal canuse_qty = extDao.getQty().add(where.getBigDecimal("change_qty")); extDao.setQty(canuse_qty); @@ -266,12 +267,12 @@ public class UpdateIvtUtils { .eq(GroupPlate::getMaterial_id, where.getString("material_id")) ); if (ObjectUtil.isEmpty(extDao)) { - throw new BadRequestException("当前载具【" + extDao.getStoragevehicle_code() + "】不存在相关物料批次库存,请检查数据!"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.storagevehicle_no_inventory", where.getString("storagevehicle_code"))); } BigDecimal change_qty = where.getBigDecimal("change_qty"); BigDecimal canuse_qty = extDao.getQty().subtract(change_qty); if (canuse_qty.compareTo(BigDecimal.ZERO) <0){ - throw new BadRequestException("可用数不能为负数,请检查变动数量!当前可用数为【" + extDao.getQty() + "】当前变动数为【" + where.getDoubleValue("change_qty") + "】"); + throw new BadRequestException(LangBehavior.language("warehouse_manage.available_quantity_cannot_be_negative", String.valueOf(extDao.getQty()), String.valueOf(where.getDoubleValue("change_qty")))); } if (extDao.getFrozen_qty().compareTo(BigDecimal.ZERO)==0 && canuse_qty.compareTo(BigDecimal.ZERO)==0) { iMdPbStoragevehicleextService.removeById(extDao); diff --git a/nladmin-system/nlsso-server/src/main/resources/language/i18n/lang_vi.js b/nladmin-system/nlsso-server/src/main/resources/language/i18n/lang_vi.js index f449a99..f0f58c7 100644 --- a/nladmin-system/nlsso-server/src/main/resources/language/i18n/lang_vi.js +++ b/nladmin-system/nlsso-server/src/main/resources/language/i18n/lang_vi.js @@ -1,353 +1,647 @@ var config = { - "language": "Indonesian", - "platform": { - "title": "NOBLELIFT Platform" - }, - "system": { - "exception": "Hệ thống bất thường, vui lòng liên hệ quản trị viên", - "paramException": "Tham số bất thường, vui lòng kiểm tra tham số đầu vào", - "resultException": "Kết quả yêu cầu không tồn tại", - "dataException": "Dữ liệu bất thường, dữ liệu không tồn tại", - "dataExceptionArg": "Dữ liệu bất thường, %s dữ liệu không tồn tại", - "dataDuplicationArg": "Dữ liệu trùng lặp, %s đã tồn tại trong hệ thống", - "dataFormat": "数据异常,数据不正确", - "activatArg": "%s chưa được kích hoạt trong hệ thống", - "operation": "操作失败" - }, - "business": { - "InvReminder": "Chiến lược phân bổ hiện tại, %s không có vị trí khả dụng", - "loginPassword": "登入失败,账号密码不正确", - "accountUse": "登入失败,账号未启用" - }, - "common": { - "name": "Tên", - "create_name": "Người tạo", - "create_time": "Thời gian tạo", - "update_name": "Người sửa đổi", - "remark": "Ghi chú", - "is_used": "Đã kích hoạt", - "is_delete": "Đã xóa", - "create_mode": "Phương thức tạo", - "input_optname": "Tên người lập đơn", - "input_time": "Thời gian lập đơn", - "update_optname": "Tên người sửa đổi", - "update_time": "Thời gian sửa đổi", - "dis_optname": "Tên người phân bổ", - "dis_time": "Thời gian phân bổ", - "confirm_optname": "Tên người xác nhận", - "confirm_time": "Thời gian xác nhận", - "bill_code": "Mã chứng từ", - "bill_type": "Loại chứng từ", - "biz_date": "Ngày nghiệp vụ", - "bill_status": "Trạng thái chứng từ", - "zh_name": "Tên tiếng Trung", - "in_name": "Tên tiếng Indonesia", - "en_name": "Tên tiếng Anh", - "ext_id": "ID bên ngoài" - }, - "md_pb_measureunit": { - "unit_code": "Mã", - "unit_name": "Tên", - "qty_precision": "Độ chính xác dữ liệu", - "qty_unit_id": "Đơn vị đo lường cơ bản", - "qty_unit_name": "Tên đơn vị" - }, - "md_pb_storagevehicleinfo": { - "storagevehicle_code": "Mã phương tiện", - "storagevehicle_name": "Tên phương tiện", - "one_code": "Mã vạch", - "two_code": "Mã QR", - "storagevehicle_type": "Loại phương tiện", - "vehicle_width": "Chiều rộng phương tiện", - "vehicle_long": "Chiều dài phương tiện", - "vehicle_height": "Chiều cao phương tiện", - "weigth": "Trọng lượng pallet", - "overstruct_type": "Phương tiện có vượt quá vị trí không", - "occupystruct_qty": "Số vị trí chiếm dụng", - "ext_id": "ID bên ngoài" - }, - "sch_base_point": { - "point_code": "Mã điểm", - "point_name": "Tên điểm", - "region_code": "Mã khu vực", - "region_name": "Tên khu vực", - "point_type": "Loại điểm", - "point_status": "Trạng thái điểm", - "vehicle_type": "Loại phương tiện", - "vehicle_code": "Mã phương tiện", - "vehicle_qty": "Số lượng phương tiện", - "in_order_seq": "Thứ tự nhập kho", - "out_order_seq": "Thứ tự xuất kho", - "in_empty_seq": "Thứ tự nhập phương tiện rỗng", - "out_empty_seq": "Thứ tự xuất phương tiện rỗng", - "parent_point_code": "Mã điểm cha", - "ext_point_code": "Mã điểm bên ngoài", - "ing_task_code": "Mã tác vụ đang thực hiện", - "is_has_workder": "Có tạo đơn hàng không", - "workshop_code": "Mã phân xưởng", - "is_auto": "Tự động" - }, - "sch_base_region": { - "region_code": "Mã khu vực", - "region_name": "Tên khu vực", - "point_type_explain": "Giải thích loại điểm", - "point_status_explain": "Giải thích trạng thái điểm", - "is_has_workder": "Có tạo đơn hàng không", - "order_seq": "Số thứ tự", - "workshop_code": "Mã phân xưởng" - }, - "sch_base_task": { - "task_code": "Mã tác vụ", - "task_status": "Trạng thái tác vụ", - "config_code": "Mã cấu hình", - "point_code1": "Điểm 1", - "point_code2": "Điểm 2", - "point_code3": "Điểm 3", - "point_code4": "Điểm 4", - "group_id": "ID nhóm", - "vehicle_type": "Loại phương tiện", - "vehicle_qty": "Số lượng phương tiện", - "vehicle_code": "Mã phương tiện", - "vehicle_code2": "Mã phương tiện 2", - "handle_status": "Trạng thái xử lý", - "car_no": "Số xe", - "task_group_id": "ID nhóm tác vụ", - "task_group_seq": "Số thứ tự nhóm tác vụ", - "finished_type": "Loại hoàn thành tác vụ", - "create_mode": "Phương thức tạo", - "request_param": "Tham số yêu cầu tạo tác vụ", - "response_param": "Tham số yêu cầu phát hành tác vụ", - "workshop_code": "Mã phân xưởng", - "ext_group_data": "Thông tin nhóm bổ sung", - "priority": "Mức độ ưu tiên ACS" - }, - "sch_base_taskconfig": { - "config_code": "Mã cấu hình", - "config_name": "Tên cấu hình", - "route_plan_code": "Mã định tuyến", - "task_qf_type": "Loại lấy/thả tác vụ", - "acs_task_type": "Loại tác vụ ACS", - "task_name": "Tên tác vụ", - "task_type": "Loại tác vụ", - "task_direction": "Hướng tác vụ", - "priority": "Mức độ ưu tiên", - "task_create_max_num": "Số lượng tạo tác vụ tối đa cho phép", - "task_issue_max_num": "Số lượng phát hành tác vụ tối đa cho phép", - "is_auto_issue": "Tự động phát hành", - "start_region_str": "Cấu hình khu vực bắt đầu", - "next_region_str": "Cấu hình khu vực kết thúc", - "start_point_pre": "Tiền tố điểm bắt đầu", - "next_region_pre": "Tiền tố điểm kết thúc", - "is_check_workorder": "Có kiểm tra đơn hàng không", - "is_check_start_lock": "Có đánh giá khóa điểm bắt đầu không", - "is_immediate_create": "Tạo ngay lập tức", - "is_check_next_lock": "Có đánh giá khóa điểm kết thúc không", - "is_start_auto": "Tự động tại điểm bắt đầu", - "is_next_auto": "Tự động tại điểm kết thúc", - "is_lock_start": "Khóa điểm bắt đầu", - "is_lock_next": "Khóa điểm kết thúc", - "request_param": "Tham số yêu cầu tạo tác vụ", - "response_param": "Tham số yêu cầu phát hành tác vụ", - "is_group_congrol_issue_seq": "Có kiểm soát thứ tự phát hành theo nhóm không", - "unfinish_notify_time": "Thời gian thông báo tác vụ chưa hoàn thành", - "sql_param": "Cấu hình SQL", - "workshop_code": "Mã phân xưởng" - }, - "st_ivt_bsrealstorattr": { - "stor_code": "Mã kho", - "stor_name": "Tên kho", - "simple_name": "Tên viết tắt kho", - "stor_capacity": "Dung lượng kho", - "total_area": "Tổng diện tích", - "stor_type_scode": "Tính chất kho", - "is_virtualstore": "Có phải kho ảo không", - "is_semi_finished": "Có phải kho bán thành phẩm không", - "is_materialstore": "Có phải kho nguyên liệu không", - "is_productstore": "Có phải kho thành phẩm không", - "is_attachment": "Có phải kho phụ tùng không", - "is_reversed": "Có cho phép hồi tố không", - "is_mvout_auto_cfm": "Tự động xác nhận nghiệp vụ chuyển ra", - "is_mvin_auto_cfm": "Tự động xác nhận nghiệp vụ chuyển vào", - "area": "Khu vực", - "storea_ddress": "Địa chỉ kho", - "principal": "Người phụ trách", - "office_phone": "Điện thoại văn phòng", - "mobile_no": "Số điện thoại di động", - "order_index": "Thứ tự hiển thị", - "whstate_scode": "Trạng thái", - "base_class_id": "Phân loại cơ bản vật liệu", - "sysownerid": "ID chủ sở hữu", - "sysdeptid": "ID phòng ban", - "syscompanyid": "ID công ty", - "ext_id": "ID bên ngoài", - "depart_name": "Tên phòng ban", - "company_name": "Tên công ty" - }, - "st_ivt_checkdtl": { - "seq_no": "Số thứ tự chi tiết", - "sect_code": "Khu vực kiểm kê", - "struct_code": "Vị trí kiểm kê", - "checkpoint_code": "Bến kiểm kê", - "storagevehicle_code": "Mã phương tiện lưu trữ", - "material_id": "ID vật liệu", - "pcsn": "Lô", - "base_qty": "Số lượng tồn kho", - "status": "Trạng thái", - "is_down": "Đã phát hành", - "fac_qty": "Số lượng kiểm kê", - "check_result": "Kết quả kiểm kê", - "check_optname": "Tên người kiểm kê", - "check_time": "Thời gian kiểm kê", - "remark": "Ghi chú chi tiết", - "check_code": "Số phiếu kiểm kê", - "check_type": "Loại phiếu kiểm kê", - "stor_name": "Tên kho", - "dtl_num": "Số lượng chi tiết", - "create_mode": "Phương thức tạo" - }, - "st_ivt_iostor": { - "stor_code": "Mã kho", - "sect_date": "Ngày", - "quality_scode": "Loại chất lượng", - "start_num": "Số lượng đầu kỳ", - "in_num": "Số lượng nhập kho", - "out_num": "Số lượng xuất kho", - "total_qty": "Tổng số lượng", - "total_weight": "Tổng trọng lượng", - "io_type": "Loại nhập/xuất", - "detail_count": "Số lượng chi tiết", - "seq_no": "Số thứ tự chi tiết", - "work_status": "Trạng thái thực hiện", - "task_id": "ID tác vụ", - "storagevehicle_code": "Mã phương tiện lưu trữ", - "is_issued": "Đã phát hành", - "plan_qty": "Số lượng kế hoạch", - "real_qty": "Số lượng thực tế", - "point_code": "ID điểm nhập/xuất", - "assign_qty": "Số lượng đã phân bổ", - "unassign_qty": "Số lượng chưa phân bổ", - "mol_code": "Số phiếu hao hụt", - "mol_inv_type": "Loại phiếu hao hụt", - "mol_type": "Loại hao hụt", - "turnout_sect_code": "Mã khu vực chuyển ra", - "turnout_struct_code": "Mã vị trí chuyển ra", - "turnin_sect_code": "Mã khu vực chuyển vào", - "turnin_struct_code": "Mã vị trí chuyển vào" - }, - "structWarning": { - "safe_qty_lower_limit": "Giới hạn dưới tồn kho an toàn", - "safe_qty_upper_limit": "Giới hạn trên tồn kho an toàn", - "cron": "Biểu thức", - "notify_type": "Loại thông báo", - "overdue_days": "Số ngày quá hạn", - "safe_days": "Số ngày an toàn", - "is_read": "Đã đọc", - "current_qty": "Số lượng hiện tại" - }, - "strategy": { - "sect_code": "Khu vực kho", - "strategy": "Quy tắc", - "strategy_type": "1 Chiến lược nhập kho 2 Chiến lược xuất kho", - "description": "Mô tả", - "strategy_code": "Mã chiến lược", - "strategy_name": "Tên chiến lược", - "class_type": "Loại xử lý", - "param": "Lớp xử lý", - "ban": "Cấm thao tác", - "form_data": "Tham số giới hạn" - }, - "code_rule": { - "current_value": "Giá trị hiện tại" - }, - "dept": { - "dept_id": "ID", - "pid": "Phòng ban cấp trên", - "sub_count": "Số lượng phòng ban con", - "name": "Tên", - "zh_name": "Tên tiếng Trung", - "in_name": "Tên tiếng Indonesia", - "en_name": "Tên tiếng Anh", - "dept_sort": "Sắp xếp", - "is_used": "Trạng thái", - "create_name": "Người tạo", - "update_name": "Người cập nhật", - "create_time": "Ngày tạo", - "update_time": "Thời gian cập nhật", - "code": "Mã phòng ban", - "ext_id": "ID bên ngoài" - }, - "dict": { - "dict_type": "Loại từ điển", - "dict_sort": "Số thứ tự", - "label": "Nhãn từ điển", - "value": "Giá trị từ điển", - "para1": "Tham số 1", - "para2": "Tham số 2", - "para3": "Tham số 3" - }, - "menu": { - "menu_id": "ID menu", - "pid": "ID menu cấp trên", - "sub_count": "Số lượng menu con", - "type": "Loại menu", - "system_type": "Hệ thống thuộc về", - "category": "Phân loại menu", - "title": "Tiêu đề menu", - "en_title": "Tiêu đề tiếng Anh", - "in_title": "Tiêu đề tiếng Indonesia", - "zh_title": "Tiêu đề tiếng Trung", - "component_name": "Tên thành phần", - "component": "Thành phần", - "menu_sort": "Sắp xếp", - "icon": "Biểu tượng", - "path": "Đường dẫn", - "iframe": "Có phải liên kết ngoài không", - "cache": "Có lưu đệm không", - "hidden": "Có ẩn không", - "permission": "Quyền", - "is_pc": "Có phải menu PC không" - }, - "param": { - "code": "Mã", - "name": "Tên", - "zh_name": "Tên", - "en_name": "Tên tiếng Anh", - "in_name": "Tên tiếng Indonesia", - "value": "Giá trị" - }, - "role": { - "level": "Cấp độ vai trò" - }, - "user": { - "user_id": "ID người dùng", - "username": "Tài khoản đăng nhập", - "password": "Mật khẩu", - "is_admin": "Có phải tài khoản admin không", - "person_name": "Họ tên", - "zh_person_name": "Họ (tiếng Trung)", - "en_person_name": "Họ (tiếng Anh)", - "in_person_name": "Tên tiếng Indonesia", - "gender": "Giới tính", - "zh_gender": "Giới tính (tiếng Trung)", - "en_gender": "Giới tính (tiếng Anh)", - "phone": "Điện thoại", - "email": "Email", - "avatar_name": "Đường dẫn ảnh đại diện", - "avatar_path": "Đường dẫn thực ảnh đại diện", - "extperson_id": "ID người dùng bên ngoài", - "extuser_id": "ID người dùng bên ngoài", - "pwd_reset_user_id": "Người đặt lại mật khẩu", - "pwd_reset_time": "Thời gian đặt lại mật khẩu" - }, - "basedata_manage": { - "same_warehouse_numbers": "Tồn tại mã kho trùng lặp", - "deleted_or_without_permission_operation_failed": "Đã bị xóa hoặc không có quyền, thao tác thất bại", - "same_supplier_code": "Có cùng một số nhà cung cấp", - "current_device_code_already_exists": "Mã hóa thiết bị hiện tại đã tồn tại【%s】", - "current_supplier_code_already_exists": "Mã nhà cung cấp hiện tại đã tồn tại【%s】", - "current_cust_code_already_exists": "Mã khách hàng hiện tại đã tồn tại【%s】", - "current_material_code_already_exists": "Mã hóa vật liệu hiện tại đã tồn tại【%s】", - "current_sorting_code_already_exists": "Mã phân loại đã tồn tại【%s】!", - "parents_cannot_be_oneself": "Cấp trên không thể tự" - } + "language": "Vietnamese", + "platform": { + "title": "Nền tảng Nuoli" + }, + "system": { + "exception": "Hệ thống bất thường, vui lòng liên hệ quản trị viên", + "paramException": "Tham số bất thường, vui lòng kiểm tra tham số đầu vào", + "resultException": "Kết quả yêu cầu không tồn tại", + "dataException": "Dữ liệu bất thường, dữ liệu không tồn tại", + "dataExceptionArg": "Dữ liệu bất thường, dữ liệu %s không tồn tại", + "dataDuplicationArg": "Dữ liệu trùng lặp, %s đã tồn tại trong hệ thống", + "dataFormat": "Dữ liệu bất thường, dữ liệu không chính xác", + "activatArg": "%s chưa được kích hoạt trong hệ thống", + "operation": "Thao tác thất bại", + "error_param_undefined": "Loại 【%s】 tương ứng 【%d】 chưa được định nghĩa", + "per_auth": "Quyền đã được phân phối, không thể xóa", + "error_isNull": "Dữ liệu không tồn tại: %s", + "dept_has": "Bộ phận đã liên kết người dùng, không thể xóa", + "user_not_exist": "Người dùng không tồn tại", + "password_error": "Mật khẩu sai", + "account_not_activated": "Tài khoản chưa kích hoạt", + "vehicle_already_in_storage": "Mã thiết bị vận chuyển:%s đã tồn tại trong kho, vui lòng kiểm tra dữ liệu!", + "no_available_location": "Không có vị trí kho có sẵn", + "detail_already_allocated": "Chi tiết hiện tại đã được phân bổ vị trí kho", + "no_allocated_location": "Chi tiết này chưa được phân bổ vị trí kho, vui lòng phân bổ trước", + "main_table_status_must_be_allocated": "Trạng thái bảng chính phải là đã phân bổ xong!", + "no_task_allocation_detail": "Không tìm thấy chi tiết phân bổ tương ứng với nhiệm vụ", + "no_inbound_bill_detail": "Không tìm thấy bản ghi chi tiết đơn nhập kho", + "no_inbound_bill": "Không tìm thấy đơn nhập kho", + "no_location_in_warehouse": "Khu vực kho này không có vị trí kho", + "no_vehicle_info": "Không có thông tin mã thiết bị vận chuyển này", + "no_suitable_location": "Không tìm thấy vị trí kho phù hợp", + "no_available_warehouse_area": "Không tìm thấy khu vực kho có sẵn", + "cannot_select_suitable_warehouse_area": "Không thể chọn khu vực kho phù hợp", + "captcha_config_error": "Thông tin cấu hình mã xác minh sai! Xem LoginCodeEnum để biết cấu hình chính xác", + "available_quantity_cannot_be_negative": "Số lượng có sẵn không thể âm, vui lòng kiểm tra số lượng thay đổi! Số lượng có sẵn hiện tại là 【%s】 Số lượng thay đổi hiện tại là 【%s】", + "operation_failed": "Thao tác thất bại", + "local_ip": "Địa chỉ IP máy cục bộ:" + }, + "business": { + "InvReminder": "Chiến lược phân bổ hiện tại, %s không có vị trí khả dụng", + "loginPassword": "Đăng nhập thất bại, tài khoản hoặc mật khẩu không chính xác", + "accountUse": "Đăng nhập thất bại, tài khoản chưa được kích hoạt" + }, + "common": { + "name": "Tên", + "create_name": "Người tạo", + "create_time": "Thời gian tạo", + "update_name": "Người sửa đổi", + "remark": "Ghi chú", + "is_used": "Đã kích hoạt", + "is_delete": "Đã xóa", + "create_mode": "Phương thức tạo", + "input_optname": "Người lập đơn", + "input_time": "Thời gian lập đơn", + "update_optname": "Người sửa đổi", + "update_time": "Thời gian sửa đổi", + "dis_optname": "Người phân phối", + "dis_time": "Thời gian phân phối", + "confirm_optname": "Người xác nhận", + "confirm_time": "Thời gian xác nhận", + "bill_code": "Số đơn", + "bill_type": "Loại đơn", + "biz_date": "Ngày nghiệp vụ", + "bill_status": "Trạng thái đơn", + "zh_name": "Tên tiếng Trung", + "in_name": "Tên tiếng Indonesia", + "en_name": "Tên tiếng Anh", + "ext_id": "ID bên ngoài", + "request_param_cannot_be_empty": "Tham số yêu cầu không được để trống", + "yes": "Có", + "no": "Không", + "user_info_get_fail": "Lấy thông tin người dùng thất bại", + "operation_success": "Thao tác thành công" + }, + "gateway": { + "picking_point_not_exist": "Vị trí chọn bạn nhập không tồn tại, vui lòng nhập vị trí chọn 1207 hoặc 1210!", + "create_task_fail_empty": "Tạo tác vụ thất bại: thông tin tác vụ trả về trống, tham số ứng dụng là", + "apply_task_fail": "Ứng dụng tác vụ thất bại, tham số ứng dụng là", + "check_error_log": "Vui lòng kiểm tra nhật ký lỗi" + }, + "md_pb_measureunit": { + "unit_code": "Mã", + "unit_name": "Tên", + "qty_precision": "Độ chính xác dữ liệu", + "qty_unit_id": "Đơn vị đo lường cơ bản", + "qty_unit_name": "Tên đơn vị" + }, + "md_pb_storagevehicleinfo": { + "storagevehicle_code": "Mã thiết bị vận chuyển", + "storagevehicle_name": "Tên thiết bị vận chuyển", + "one_code": "Mã vạch 1D", + "two_code": "Mã QR", + "storagevehicle_type": "Loại thiết bị vận chuyển", + "vehicle_width": "Chiều rộng thiết bị vận chuyển", + "vehicle_long": "Chiều dài thiết bị vận chuyển", + "vehicle_height": "Chiều cao thiết bị vận chuyển", + "weigth": "Trọng lượng pallet", + "overstruct_type": "Thiết bị vận chuyển có vượt quá vị trí không", + "occupystruct_qty": "Số lượng vị trí bị chiếm dụng", + "ext_id": "ID bên ngoài" + }, + "sch_base_point": { + "point_code": "Mã điểm", + "point_name": "Tên điểm", + "region_code": "Mã khu vực", + "region_name": "Tên khu vực", + "point_type": "Loại điểm", + "point_status": "Trạng thái điểm", + "vehicle_type": "Loại thiết bị vận chuyển", + "vehicle_code": "Mã thiết bị vận chuyển", + "vehicle_qty": "Số lượng thiết bị vận chuyển", + "in_order_seq": "Thứ tự nhập kho", + "out_order_seq": "Thứ tự xuất kho", + "in_empty_seq": "Thứ tự nhập kho thiết bị vận chuyển rỗng", + "out_empty_seq": "Thứ tự xuất kho thiết bị vận chuyển rỗng", + "parent_point_code": "Mã điểm cha", + "ext_point_code": "Mã điểm bên ngoài", + "ing_task_code": "Mã tác vụ đang thực hiện", + "is_has_workder": "Có tạo đơn hàng không", + "workshop_code": "Mã xưởng", + "is_auto": "Tự động" + }, + "sch_base_region": { + "region_code": "Mã khu vực", + "region_name": "Tên khu vực", + "point_type_explain": "Giải thích loại điểm", + "point_status_explain": "Giải thích trạng thái điểm", + "is_has_workder": "Có tạo đơn hàng không", + "order_seq": "Số thứ tự", + "workshop_code": "Mã xưởng" + }, + "sch_base_task": { + "task_code": "Mã tác vụ", + "task_status": "Trạng thái tác vụ", + "config_code": "Mã cấu hình", + "point_code1": "Điểm 1", + "point_code2": "Điểm 2", + "point_code3": "Điểm 3", + "point_code4": "Điểm 4", + "group_id": "ID nhóm", + "vehicle_type": "Loại thiết bị vận chuyển", + "vehicle_qty": "Số lượng thiết bị vận chuyển", + "vehicle_code": "Mã thiết bị vận chuyển", + "vehicle_code2": "Mã thiết bị vận chuyển 2", + "handle_status": "Trạng thái xử lý", + "car_no": "Số xe", + "task_group_id": "ID nhóm tác vụ", + "task_group_seq": "Số thứ tự nhóm tác vụ", + "finished_type": "Loại hoàn thành tác vụ", + "create_mode": "Phương thức tạo", + "request_param": "Tham số yêu cầu tạo tác vụ", + "response_param": "Tham số yêu cầu phát hành tác vụ", + "workshop_code": "Mã xưởng", + "ext_group_data": "Thông tin nhóm bổ sung", + "priority": "Mức độ ưu tiên ACS" + }, + "sch_base_taskconfig": { + "config_code": "Mã cấu hình", + "config_name": "Tên cấu hình", + "route_plan_code": "Mã lập kế hoạch tuyến đường", + "task_qf_type": "Loại lấy/đặt tác vụ", + "acs_task_type": "Loại tác vụ ACS", + "task_name": "Tên tác vụ", + "task_type": "Loại tác vụ", + "task_direction": "Hướng tác vụ", + "priority": "Mức độ ưu tiên", + "task_create_max_num": "Số lượng tác vụ tối đa được phép tạo", + "task_issue_max_num": "Số lượng tác vụ tối đa được phép phát hành", + "is_auto_issue": "Tự động phát hành", + "start_region_str": "Cấu hình khu vực bắt đầu", + "next_region_str": "Cấu hình khu vực kết thúc", + "start_point_pre": "Tiền tố điểm bắt đầu", + "next_region_pre": "Tiền tố khu vực kết thúc", + "is_check_workorder": "Có kiểm tra đơn hàng công việc không", + "is_check_start_lock": "Có đánh giá khóa điểm bắt đầu không", + "is_immediate_create": "Tạo ngay lập tức", + "is_check_next_lock": "Có đánh giá khóa điểm kết thúc không", + "is_start_auto": "Điểm bắt đầu tự động", + "is_next_auto": "Điểm kết thúc tự động", + "is_lock_start": "Khóa điểm bắt đầu", + "is_lock_next": "Khóa điểm kết thúc", + "request_param": "Tham số yêu cầu tạo tác vụ", + "response_param": "Tham số yêu cầu phát hành tác vụ", + "is_group_congrol_issue_seq": "Có kiểm soát thứ tự phát hành theo nhóm không", + "unfinish_notify_time": "Thời gian thông báo tác vụ chưa hoàn thành", + "sql_param": "Cấu hình SQL", + "workshop_code": "Mã xưởng" + }, + "st_ivt_bsrealstorattr": { + "stor_code": "Mã kho", + "stor_name": "Tên kho", + "simple_name": "Tên viết tắt kho", + "stor_capacity": "Dung lượng kho", + "total_area": "Tổng diện tích", + "stor_type_scode": "Tính chất kho", + "is_virtualstore": "Có phải là kho ảo không", + "is_semi_finished": "Có phải là kho bán thành phẩm không", + "is_materialstore": "Có phải là kho nguyên liệu không", + "is_productstore": "Có phải là kho thành phẩm không", + "is_attachment": "Có phải là kho phụ tùng không", + "is_reversed": "Có cho phép trả hàng không", + "is_mvout_auto_cfm": "Tự động xác nhận nghiệp vụ chuyển đi", + "is_mvin_auto_cfm": "Tự động xác nhận nghiệp vụ chuyển đến", + "area": "Khu vực", + "storea_ddress": "Địa chỉ kho", + "principal": "Người phụ trách", + "office_phone": "Điện thoại văn phòng", + "mobile_no": "Số điện thoại di động", + "order_index": "Thứ tự hiển thị", + "whstate_scode": "Trạng thái", + "base_class_id": "Phân loại cơ bản vật liệu", + "sysownerid": "ID chủ sở hữu", + "sysdeptid": "ID bộ phận", + "syscompanyid": "ID công ty", + "ext_id": "ID bên ngoài", + "depart_name": "Tên bộ phận", + "company_name": "Tên công ty" + }, + "st_ivt_checkdtl": { + "seq_no": "Số thứ tự chi tiết", + "sect_code": "Khu vực kiểm kê", + "struct_code": "Vị trí kiểm kê", + "checkpoint_code": "Trạm kiểm kê", + "storagevehicle_code": "Mã thiết bị vận chuyển lưu trữ", + "material_id": "ID vật liệu", + "pcsn": "Lô", + "base_qty": "Số lượng tồn kho", + "status": "Trạng thái", + "is_down": "Đã phát hành", + "fac_qty": "Số lượng kiểm kê", + "check_result": "Kết quả kiểm kê", + "check_optname": "Người kiểm kê", + "check_time": "Thời gian kiểm kê", + "remark": "Ghi chú chi tiết", + "check_code": "Số đơn kiểm kê", + "check_type": "Loại đơn kiểm kê", + "stor_name": "Tên kho", + "dtl_num": "Số lượng chi tiết", + "create_mode": "Phương thức tạo" + }, + "st_ivt_iostor": { + "stor_code": "Mã kho", + "sect_date": "Ngày", + "quality_scode": "Loại chất lượng", + "start_num": "Số lượng đầu kỳ", + "in_num": "Số lượng nhập kho", + "out_num": "Số lượng xuất kho", + "total_qty": "Tổng số lượng", + "total_weight": "Tổng trọng lượng", + "io_type": "Loại xuất/nhập kho", + "detail_count": "Số lượng chi tiết", + "seq_no": "Số thứ tự chi tiết", + "work_status": "Trạng thái thực hiện", + "task_id": "ID tác vụ", + "storagevehicle_code": "Mã thiết bị vận chuyển lưu trữ", + "is_issued": "Đã phát hành", + "plan_qty": "Số lượng kế hoạch", + "real_qty": "Số lượng thực tế", + "point_code": "ID điểm xuất/nhập kho", + "assign_qty": "Số lượng đã phân bổ", + "unassign_qty": "Số lượng chưa phân bổ", + "mol_code": "Số đơn hao hụt", + "mol_inv_type": "Loại đơn hao hụt", + "mol_type": "Loại hao hụt", + "turnout_sect_code": "Mã khu vực chuyển đi", + "turnout_struct_code": "Mã vị trí chuyển đi", + "turnin_sect_code": "Mã khu vực chuyển đến", + "turnin_struct_code": "Mã vị trí chuyển đến" + }, + "structWarning": { + "safe_qty_lower_limit": "Giới hạn dưới tồn kho an toàn", + "safe_qty_upper_limit": "Giới hạn trên tồn kho an toàn", + "cron": "Biểu thức", + "notify_type": "Loại thông báo", + "overdue_days": "Số ngày quá hạn", + "safe_days": "Số ngày an toàn", + "is_read": "Đã đọc", + "current_qty": "Số lượng hiện tại" + }, + "strategy": { + "sect_code": "Khu vực kho", + "strategy": "Quy tắc", + "strategy_type": "1 Chiến lược nhập kho 2 Chiến lược xuất kho", + "description": "Mô tả", + "strategy_code": "Mã chiến lược", + "strategy_name": "Tên chiến lược", + "class_type": "Loại xử lý", + "param": "Lớp xử lý", + "ban": "Cấm thao tác", + "form_data": "Tham số hạn chế" + }, + "code_rule": { + "current_value": "Giá trị hiện tại" + }, + "dept": { + "dept_id": "ID", + "pid": "Bộ phận cấp trên", + "sub_count": "Số lượng bộ phận con", + "name": "Tên", + "zh_name": "Tên tiếng Trung", + "in_name": "Tên tiếng Indonesia", + "en_name": "Tên tiếng Anh", + "dept_sort": "Sắp xếp", + "is_used": "Trạng thái", + "create_name": "Người tạo", + "update_name": "Người cập nhật", + "create_time": "Ngày tạo", + "update_time": "Thời gian cập nhật", + "code": "Mã bộ phận", + "ext_id": "ID bên ngoài" + }, + "dict": { + "dict_type": "Loại từ điển", + "dict_sort": "Số thứ tự", + "label": "Nhãn từ điển", + "value": "Giá trị từ điển", + "para1": "Tham số 1", + "para2": "Tham số 2", + "para3": "Tham số 3" + }, + "menu": { + "menu_id": "ID menu", + "pid": "ID menu cấp trên", + "sub_count": "Số lượng menu con", + "type": "Loại menu", + "system_type": "Hệ thống thuộc về", + "category": "Phân loại menu", + "title": "Tiêu đề menu", + "en_title": "Tiêu đề tiếng Anh", + "in_title": "Tiêu đề tiếng Indonesia", + "zh_title": "Tiêu đề tiếng Trung", + "component_name": "Tên thành phần", + "component": "Thành phần", + "menu_sort": "Sắp xếp", + "icon": "Biểu tượng", + "path": "Đường dẫn", + "iframe": "Có phải liên kết bên ngoài không", + "cache": "Có lưu vào bộ nhớ cache không", + "hidden": "Có ẩn không", + "permission": "Quyền", + "is_pc": "Có phải menu PC không" + }, + "param": { + "code": "Mã", + "name": "Tên", + "zh_name": "Tên", + "en_name": "Tên tiếng Anh", + "in_name": "Tên tiếng Indonesia", + "value": "Giá trị" + }, + "user": { + "user_id": "ID người dùng", + "username": "Tài khoản đăng nhập", + "password": "Mật khẩu", + "is_admin": "Có phải tài khoản quản trị viên không", + "person_name": "Họ tên", + "zh_person_name": "Họ tên tiếng Trung", + "en_person_name": "Họ tên tiếng Anh", + "in_person_name": "Họ tên tiếng Indonesia", + "gender": "Giới tính", + "zh_gender": "Giới tính tiếng Trung", + "en_gender": "Giới tính tiếng Anh", + "phone": "Điện thoại", + "email": "Email", + "avatar_name": "Đường dẫn avatar", + "avatar_path": "Đường dẫn avatar thực tế", + "extperson_id": "ID nhân viên bên ngoài", + "extuser_id": "ID người dùng bên ngoài", + "pwd_reset_user_id": "Người đặt lại mật khẩu", + "pwd_reset_time": "Thời gian đặt lại mật khẩu" + }, + "basedata_manage": { + "same_warehouse_numbers": "Tồn tại số kho giống nhau", + "deleted_or_without_permission_operation_failed": "Đã bị xóa hoặc không có quyền, thao tác thất bại!", + "same_supplier_code": "Tồn tại số nhà cung cấp giống nhau", + "current_device_code_already_exists": "Mã thiết bị hiện tại đã tồn tại 【%s】", + "current_supplier_code_already_exists": "Mã nhà cung cấp hiện tại đã tồn tại 【%s】", + "current_cust_code_already_exists": "Mã khách hàng hiện tại đã tồn tại 【%s】", + "current_material_code_already_exists": "Mã vật liệu hiện tại đã tồn tại 【%s】", + "current_sorting_code_already_exists": "Mã phân loại hiện tại đã tồn tại 【%s】", + "current_unit_code_already_exists": "Mã đơn vị đo lường hiện tại đã tồn tại 【%s】", + "unit_code_not_exists": "Mã đơn vị đo lường 【%s】 không tồn tại!", + "current_vehicle_group_plate_info_exists": "Thông tin nhóm pallet thiết bị vận chuyển hiện tại đã tồn tại", + "parents_cannot_be_oneself": "Cấp trên không thể là chính mình", + "material_information_not_exists": "Thông tin vật liệu 【%s】 không tồn tại!", + "storage_vehicle_code_already_exists": "Mã thiết bị vận chuyển hiện tại đã tồn tại 【%s】", + "vehicle_type_no_dict_config": "Loại thiết bị vận chuyển này %s không có cấu hình giá trị từ điển", + "storage_vehicle_not_exist": "Thiết bị vận chuyển với mã 【%s】 không tồn tại!", + "parent_class_code_invalid": "Vui lòng nhập đúng số nút cha!", + "sect_code_already_exists": "Tồn tại mã khu vực kho giống nhau trong cùng kho", + "struct_code_not_exist": "Mã cấu trúc 【%s】 không tồn tại", + "sect_no_io_rule": "Khu vực 【%s】 không có cấu hình chiến lược xuất/nhập kho", + "strategy_no_available_struct": "Chiến lược 【%s】 không có vị trí kho khả dụng, đã truy vấn tổng cộng %d vị trí kho", + "sect_no_in_rule": "Khu vực 【%s】 không có cấu hình chiến lược nhập kho" + }, + "sch_manage": { + "task_already_completed": "Tác vụ này đã hoàn thành!", + "task_already_cancelled": "Tác vụ này đã bị hủy!", + "task_not_exists": "Tác vụ này không tồn tại", + "only_cancel_generating_tasks": "Chỉ có thể hủy các tác vụ đang được tạo!", + "task_status_must_be_create_to_cancel": "Trạng thái tác vụ phải là Đã tạo mới có thể hủy tác vụ", + "same_point_code_exists": "Tồn tại mã điểm giống nhau", + "data_empty": "Dữ liệu trống!", + "task_config_already_exists": "Cấu hình tác vụ 【%s】 đã tồn tại!", + "start_and_end_region_cannot_be_empty": "Khu vực bắt đầu và khu vực kết thúc không thể đồng thời trống!", + "tray_cannot_be_empty": "Pallet không thể để trống" + }, + "decision_manage": { + "location_list_empty": "Tập hợp vị trí kho trống", + "strategy_type_error": "Loại chiến lược sai", + "no_available_location": "Chiến lược phân bổ hiện tại không có vị trí kho khả dụng", + "no_available_location_same_block_num": "Chiến lược phân bổ hiện tại sameBlockNum không có vị trí kho khả dụng", + "no_available_aisle": "Không tìm thấy lối đi khả dụng", + "strategy_name_already_exists": "Đã tồn tại chiến lược có tên giống nhau 【%s】", + "strategy_no_instance": "Khởi động thất bại, chiến lược hiện tại 【%s】 không có thông tin instance tương ứng", + "alley_ave_no_available_location": "Kết quả chiến lược cân bằng: Mã thiết bị vận chuyển:【%s】 chiến lược phân bổ hiện tại không có vị trí kho khả dụng", + "fifo_rule_inventory_shortage": "Chiến lược xuất kho hiện tại: Nhập trước xuất trước, phân bổ tồn kho thất bại, lý do thất bại: thiếu tồn kho!", + "depth_priority_location_not_found": " Chiến lược ưu tiên vị trí sâu: Lấy vị trí kho có hàng ở vị trí sâu và không có hàng ở vị trí nông: Mã thiết bị vận chuyển:【%s】 lấy vị trí kho thất bại, số lượng vị trí kho tương ứng với chiến lược này là 0!", + "limit_storage_vehicle_not_exist": "Chiến lược giới hạn vị trí: Thông tin thiết bị vận chuyển hiện tại không tồn tại:【%s】 không tồn tại", + "limit_storage_location_not_found": "Chiến lược giới hạn vị trí: Mã thiết bị vận chuyển:【%s】 lấy vị trí kho thất bại, số lượng vị trí kho tương ứng với cấp độ chiều cao này là 0!" + }, + "task": { + "status": { + "created": "Đã tạo", + "applied": "Đã ứng dụng", + "created_completed": "Đã tạo xong", + "issued": "Đã phát hành", + "executing": "Đang thực hiện", + "completed": "Đã hoàn thành", + "cancelled": "Đã hủy", + "unfinished": "Chưa hoàn thành" + }, + "created_desc": "Tạo tác vụ", + "applied_desc": "Ứng dụng tác vụ", + "create_completed_desc": "Tạo tác vụ hoàn tất", + "issued_desc": "Phát hành tác vụ", + "executing_desc": "Tác vụ đang thực hiện", + "completed_desc": "Tác vụ hoàn thành", + "cancelled_desc": "Tác vụ đã hủy", + "unfinished_desc": "Tác vụ chưa hoàn thành" + }, + "bind": { + "type": { + "unbind": "Hủy liên kết", + "bind": "Liên kết", + "no_operation": "Không thao tác" + } + }, + "vehicle": { + "type": { + "empty_pallet": "Pallet rỗng", + "empty_container": "Thùng chứa rỗng" + } + }, + "base_data": { + "type_not_defined": "Loại tương ứng 【%s】 chưa được định nghĩa" + }, + "pm_manage": { + "no_such_unit_info": "Không có thông tin đơn vị đo lường đó", + "no_such_warehouse_info": "Không có thông tin kho đó", + "form_type_param_cannot_be_empty": "Tham số loại biểu mẫu không thể để trống", + "current_bill_already_merged": "Đơn hiện tại đã được hợp nhất, không cho phép gửi lại:【%s】", + "current_bill_is_new_merged_bill": "Đơn hiện tại là đơn mới sau khi hợp nhất, không cho phép gửi lại:【%s】", + "current_bill_is_not_new_merged_bill": "Đơn hiện tại không phải là đơn mới hợp nhất, không cho phép gửi:【%s】" + }, + "warehouse_manage": { + "main_table_status_must_be_generate": "Trạng thái bảng chính phải là Đã tạo!", + "no_cancel_outbound_alloc_dtl": "Không tồn tại chi tiết phân bổ xuất kho có thể hủy", + "no_selected_outbound_point": "Chưa chọn điểm xuất kho", + "no_selected_floor": "Chưa chọn tầng", + "no_related_outbound_bill": "Không tìm thấy đơn xuất kho liên quan", + "no_alloc_dtl_to_set": "Hiện không có chi tiết phân bổ nào có thể thiết lập", + "main_table_status_must_be_allocated": "Trạng thái bảng chính phải là đã phân bổ xong!", + "cannot_force_confirm_with_unfinished_tasks": "Hiện có tác vụ chưa hoàn thành không thể xác nhận cưỡng chế!", + "no_alloc_dtl_for_task": "Không tìm thấy chi tiết phân bổ tương ứng với tác vụ", + "no_dtl_found": "Không tìm thấy chi tiết", + "vehicle_already_in_storage": "Mã thiết bị vận chuyển:【%s】 đã tồn tại trong kho, vui lòng kiểm tra dữ liệu!", + "detail_already_allocated_location": "Chi tiết hiện tại đã được phân bổ vị trí kho", + "no_available_location": "Không có vị trí kho có sẵn", + "detail_not_allocated_location": "Chi tiết này chưa được phân bổ vị trí kho, vui lòng phân bổ trước", + "cannot_find_allocation_detail_for_task": "Không tìm thấy chi tiết phân bổ tương ứng với tác vụ", + "cannot_find_inbound_detail_record": "Không tìm thấy bản ghi chi tiết đơn nhập kho", + "cannot_find_inbound_order": "Không tìm thấy đơn nhập kho", + "no_location_in_sector": "Khu vực kho này không có vị trí kho", + "no_carrier_info": "Không có thông tin mã thiết bị vận chuyển này", + "cannot_find_suitable_location": "Không tìm thấy vị trí kho phù hợp", + "cannot_find_available_sector": "Không tìm thấy khu vực kho có sẵn", + "cannot_select_suitable_sector": "Không thể chọn khu vực kho phù hợp", + "outbill_qty_zero": "Số lượng không thể bằng 0", + "outbill_sect_empty": "Khu vực kho phân bổ không thể để trống", + "outbill_not_found": "Không tìm thấy thông tin đơn xuất kho", + "outbill_no_details": "Đơn hàng hiện tại không có chi tiết xuất kho nào có thể phân bổ", + "outbill_no_cancelable_details": "Không tồn tại chi tiết phân bổ xuất kho có thể hủy", + "outbill_allocated": "Đã phân bổ xong, số lượng chưa phân bổ là 0", + "storagevehicle_no_inventory": "Thiết bị vận chuyển hiện tại 【%s】 không tồn tại tồn kho vật liệu lô liên quan, vui lòng kiểm tra dữ liệu!", + "frozen_quantity_cannot_be_negative": "Số lượng đóng băng không thể âm, vui lòng kiểm tra số lượng thay đổi! Số lượng đóng băng hiện tại là 【%s】 Số lượng thay đổi hiện tại là 【%d】" + }, + "pda_manage": { + "change_type_cannot_be_empty": "Loại thay đổi không thể để trống!", + "carrier_code_cannot_be_empty": "Mã thiết bị vận chuyển không thể để trống!", + "material_id_cannot_be_empty": "Định danh vật liệu không thể để trống!", + "unit_id_cannot_be_empty": "Định danh đơn vị đo lường không thể để trống!", + "unit_name_cannot_be_empty": "Tên đơn vị đo lường không thể để trống!", + "change_qty_cannot_be_empty": "Số lượng thay đổi không thể để trống!", + "carrier_already_has_inventory": "Thiết bị vận chuyển hiện tại đã tồn tại vật liệu tồn kho, vui lòng kiểm tra dữ liệu!", + "material_info_cannot_be_empty": "Thông tin vật liệu không thể để trống!", + "vehicle_info_cannot_be_empty": "Thông tin thiết bị vận chuyển không thể để trống!", + "vehicle_already_has_group_plate_info": "Mã thiết bị vận chuyển:【%s】 đã tồn tại thông tin nhóm pallet, vui lòng kiểm tra dữ liệu!", + "vehicle_already_in_storage": "Mã thiết bị vận chuyển:【%s】 đã tồn tại trong kho:【%d】, vui lòng kiểm tra dữ liệu!", + "dtllist_cannot_be_empty": "dtlList không thể để trống", + "vehicle_not_group_plated": "Thiết bị vận chuyển này chưa được nhóm pallet, vui lòng kiểm tra!", + "vehicle_not_in_group_plate_status": "Thiết bị vận chuyển này không ở trạng thái nhóm pallet, vui lòng kiểm tra!", + "point_not_exists": "Điểm không tồn tại:【%s】", + "no_materials_available_for_storage": "Hiện không có vật liệu nào có thể nhập kho!", + "move_in_location_cannot_be_empty": "Vị trí kho chuyển đến không thể để trống!", + "material_detail_cannot_be_empty": "Chi tiết vật liệu không thể để trống!", + "vehicle_not_exist_in_system": "Thiết bị vận chuyển không tồn tại trong hệ thống!", + "move_in_location_not_exist_in_system": "Vị trí kho chuyển đến không tồn tại trong hệ thống!", + "location_and_vehicle_code_cannot_be_empty": "Mã vị trí kho và mã thiết bị vận chuyển không thể đồng thời để trống!", + "vehicle_code_empty": "Mã thiết bị vận chuyển không thể để trống", + "point_code_empty": "Mã điểm không thể để trống", + "point_not_found": "Điểm 【%s】 không tồn tại", + "point_already_binded": "Điểm 【%s】 đã liên kết thiết bị vận chuyển 【%d】", + "vehicle_already_binded": "Thiết bị vận chuyển 【%s】 đã liên kết điểm 【%d】", + "point_no_vehicle_need_unbind": "Điểm 【%s】 không liên kết thiết bị vận chuyển 【%d】, không cần hủy liên kết", + "start_point_not_exist": "Điểm bắt đầu không tồn tại", + "end_point_not_exist": "Điểm kết thúc không tồn tại", + "site_code_empty": "Mã điểm không thể để trống", + "site_not_exist": "Điểm 【%s】 không tồn tại" + }, + "acs": { + "connection_failed": "Kết nối ACS thất bại" + }, + "status": { + "published": "Xuất bản", + "unpublished": "Chưa xuất bản", + "started": "Bắt đầu", + "stopped": "Dừng", + "production_in": "Nhập kho sản xuất", + "purchase_in": "Nhập kho mua hàng", + "other_in": "Nhập kho khác", + "production_out": "Xuất kho sản xuất", + "sales_out": "Xuất kho bán hàng", + "other_out": "Xuất kho khác", + "generated": "Đã tạo", + "allocated": "Đã phân bổ xong", + "type_not_defined": "Loại tương ứng 【%s】 chưa được định nghĩa", + "code_not_defined_r": "Mã tương ứng 【%s】 chưa định nghĩa dữ liệu R", + "code_not_defined_x": "Mã tương ứng 【%s】 chưa định nghĩa dữ liệu x", + "node_completed": "Nút hoàn thành", + "abnormal_completed": "Hoàn thành bất thường", + "manual_in": "Nhập kho thủ công", + "material_out": "Xuất kho vật liệu", + "manual_out": "Xuất kho thủ công", + "move_storage": "Chuyển kho", + "abnormal_move": "Chuyển kho bất thường", + "inventory": "Kiểm kê", + "transfer": "Chuyển kho dự trữ", + "inventory_loss": "Thiếu kiểm kê", + "inventory_profit": "Thừa kiểm kê", + "physical_inventory": "Kiểm kê thực tế", + "receipt_notice": "Thông báo nhận hàng", + "sales_order": "Đơn hàng bán", + "production_inbound": "Nhập kho sản xuất", + "purchase_inbound": "Nhập kho mua hàng", + "sales_return_inbound": "Nhập kho trả hàng bán", + "purchase_return_outbound": "Xuất kho trả hàng mua", + "subcontract_material_list": "Đơn lĩnh vật liệu gia công", + "production_material_list": "Đơn chuẩn bị vật liệu sản xuất", + "production_picking": "Lĩnh vật liệu sản xuất", + "simple_production_picking": "Lĩnh vật liệu sản xuất đơn giản", + "transfer_outbound": "Xuất kho điều chuyển", + "other_outbound": "Xuất kho khác", + "lowest": "Mức độ ưu tiên thấp nhất", + "normal": "Mức độ ưu tiên bình thường", + "higher": "Mức độ ưu tiên cao hơn", + "urgent": "Mức độ ưu tiên khẩn cấp", + "warehouse": "Tác vụ kho", + "agv_task": "Tác vụ AGV", + "ctu_task": "Tác vụ CTU", + "third_floor_ctu": "CTU tầng 3", + "xian_gong": "Hệ thống Xiangang", + "hairou_ctu": "CTU Hairou", + "hikvision_ctu": "CTU Hikvision", + "inbound": "Nhập kho", + "outbound": "Xuất kho", + "in_out_bound": "Xuất/Nhập kho", + "first_floor_workshop": "Xưởng tầng 1", + "second_floor_workshop": "Xưởng tầng 2", + "third_floor_workshop": "Xưởng tầng 3", + "main_storage_picking_platform": "Nền tảng chọn hàng kho chính", + "first_floor_io_conveyor": "Băng tải xuất/nhập kho tầng 1", + "second_floor_io_conveyor": "Băng tải xuất/nhập kho tầng 2", + "second_floor_ctu_shelf_docking": "Vị trí kết nối giá kệ CTU tầng 2", + "second_floor_agv_production_line_docking": "Vị trí kết nối dây chuyền sản xuất AGV tầng 2", + "second_floor_empty_shelf_buffer": "Vị trí đệm giá kệ rỗng tầng 2", + "pallet_warehouse": "Kho pallet", + "container_warehouse": "Kho thùng chứa", + "virtual_warehouse": "Kho ảo", + "second_floor_ctu_buffer": "Vị trí đệm CTU tầng 2", + "second_floor_shelf_buffer": "Vị trí đệm giá kệ tầng 2", + "ascending": "Tăng dần", + "descending": "Giảm dần", + "unbind": "Hủy liên kết", + "bind": "Liên kết", + "no_operation": "Không thao tác", + "empty_tray": "Khay rỗng", + "empty_container": "Thùng chứa rỗng", + "start": "Bắt đầu", + "pause": "Tạm dừng", + "completed": "Hoàn thành", + "force_completed": "Cưỡng chế hoàn thành", + "cancelled": "Đã hủy" + }, + "error": { + "param_undefined": "Tham số 【%s】 chưa định nghĩa 【%s】", + "ParamExist": "Tham số 【%s】 đã tồn tại", + "Update": "Cập nhật thất bại", + "Detele": "Xóa thất bại", + "NullPoint": "Ngoại lệ con trỏ null", + "SystemAuthError": "Lỗi ủy quyền hệ thống", + "File_3": "Tải lên tệp thất bại", + "isNull": "Tham số 【%s】 không thể để trống", + "Send": "Gửi thất bại" + }, + "role": { + "Check_1": "Tên vai trò không thể để trống", + "level": "Cấp độ vai trò" + }, + "quartz": { + "ip_different": "IP máy cục bộ 【%s】 không khớp với IP điều phối 【%s】", + "create_job_failure": "Tạo tác vụ định thời thất bại" + }, + "system_manage": { + "username_password_error": "Tên người dùng hoặc mật khẩu sai", + "account_not_activated": "Tài khoản chưa kích hoạt", + "param_empty": "Tham số không thể để trống", + "code_rule_not_exist": "Thiếu cấu hình liên quan đến 【%s】", + "menu_no_permission": "Không có quyền menu", + "current_business_executing": "Nghiệp vụ hiện tại:【%s】 đang thực hiện, vui lòng thử lại sau" + }, + "login": { + "childError": "Menu nút con không thể đặt thành thư mục" + } } \ No newline at end of file diff --git a/nladmin-system/nlsso-server/src/main/resources/language/i18n/lang_zh.js b/nladmin-system/nlsso-server/src/main/resources/language/i18n/lang_zh.js index 6abfb7a..13b4c19 100644 --- a/nladmin-system/nlsso-server/src/main/resources/language/i18n/lang_zh.js +++ b/nladmin-system/nlsso-server/src/main/resources/language/i18n/lang_zh.js @@ -1,13 +1,648 @@ var config = { - "lang": "English222", - "platform": { - "title": "NOBLELIFT Platform", - "tip1": "The user name cannot be empty", - "tip2": "The password cannot be empty", - "tip3": "当前语言中文" - }, - "common": { - "home": "Dashboard", - "Layout_setting": "Layout Setting" - } + "language": "Chinese", + "platform": { + "title": "诺力平台" + }, + "system": { + "exception": "系统异常,请联系管理员", + "paramException": "参数异常,请检查输入参数", + "resultException": "请求结果不存在", + "dataException": "数据异常,数据不存在", + "dataExceptionArg": "数据异常,%s数据不存在", + "dataDuplicationArg": "数据重复,%s已存在于系统中", + "dataFormat": "数据异常,数据不正确", + "activatArg": "%s尚未在系统中激活", + "operation": "操作失败", + "error_param_undefined": "【%s】对应类型【%d】未定义", + "per_auth": "权限已分配,无法删除", + "error_isNull": "数据不存在: %s", + "dept_has": "部门已关联用户,无法删除", + "user_not_exist": "用户不存在", + "password_error": "密码错误", + "account_not_activated": "账号未激活", + "vehicle_already_in_storage": "载具编码:%s已存在库内,请对数据进行核实!", + "no_available_location": "无可用货位", + "detail_already_allocated": "当前明细已经分配过库位", + "no_allocated_location": "该明细还没分配货位,请先分配货位", + "main_table_status_must_be_allocated": "主表状态必须为分配完!", + "no_task_allocation_detail": "未找到任务对应的分配明细", + "no_inbound_bill_detail": "未找到入库单明细记录", + "no_inbound_bill": "未找到入库单", + "no_location_in_warehouse": "该库区没有仓位", + "no_vehicle_info": "没有该载具号信息", + "no_suitable_location": "未找到满足的仓位", + "no_available_warehouse_area": "未找到可用的库区", + "cannot_select_suitable_warehouse_area": "无法选择合适的库区", + "captcha_config_error": "验证码配置信息错误!正确配置查看 LoginCodeEnum", + "available_quantity_cannot_be_negative": "可用数不能为负数,请检查变动数量!当前可用数为【%s】当前变动数为【%s】", + "operation_failed": "操作失败", + "local_ip": "本机IP地址:" + }, + "business": { + "InvReminder": "当前分配策略,%s没有可用位置", + "loginPassword": "登入失败,账号密码不正确", + "accountUse": "登入失败,账号未启用" + }, + "common": { + "name": "名称", + "create_name": "创建人", + "create_time": "创建时间", + "update_name": "修改人", + "remark": "备注", + "is_used": "已激活", + "is_delete": "已删除", + "create_mode": "创建方式", + "input_optname": "制单人", + "input_time": "制单时间", + "update_optname": "修改人", + "update_time": "修改时间", + "dis_optname": "分配人", + "dis_time": "分配时间", + "confirm_optname": "确认人", + "confirm_time": "确认时间", + "bill_code": "单据编号", + "bill_type": "单据类型", + "biz_date": "业务日期", + "bill_status": "单据状态", + "zh_name": "中文名称", + "in_name": "印尼语名称", + "en_name": "英语名称", + "ext_id": "外部ID", + "request_param_cannot_be_empty": "请求参数不能为空", + "yes": "是", + "no": "否", + "user_info_get_fail": "用户信息获取失败", + "operation_success": "操作成功" + }, + "gateway": { + "picking_point_not_exist": "您输入的拣选位不存在,请输入1207或1210拣选位!", + "create_task_fail_empty": "创建任务失败:返回任务信息为空,申请参数为", + "apply_task_fail": "任务申请失败,申请参数为", + "check_error_log": "请查看错误日志" + }, + "md_pb_measureunit": { + "unit_code": "编码", + "unit_name": "名称", + "qty_precision": "数据精度", + "qty_unit_id": "基本计量单位", + "qty_unit_name": "单位名称" + }, + "md_pb_storagevehicleinfo": { + "storagevehicle_code": "载具编码", + "storagevehicle_name": "载具名称", + "one_code": "一维码", + "two_code": "二维码", + "storagevehicle_type": "载具类型", + "vehicle_width": "载具宽度", + "vehicle_long": "载具长度", + "vehicle_height": "载具高度", + "weigth": "托盘重量", + "overstruct_type": "载具是否超过位置", + "occupystruct_qty": "占用位置数量", + "ext_id": "外部ID" + }, + "sch_base_point": { + "point_code": "点位编码", + "point_name": "点位名称", + "region_code": "区域编码", + "region_name": "区域名称", + "point_type": "点位类型", + "point_status": "点位状态", + "vehicle_type": "载具类型", + "vehicle_code": "载具编码", + "vehicle_qty": "载具数量", + "in_order_seq": "入库顺序", + "out_order_seq": "出库顺序", + "in_empty_seq": "空载具入库顺序", + "out_empty_seq": "空载具出库顺序", + "parent_point_code": "父点位编码", + "ext_point_code": "外部点位编码", + "ing_task_code": "正在执行的任务编码", + "is_has_workder": "是否生成订单", + "workshop_code": "车间编码", + "is_auto": "自动" + }, + "sch_base_region": { + "region_code": "区域编码", + "region_name": "区域名称", + "point_type_explain": "点位类型说明", + "point_status_explain": "点位状态说明", + "is_has_workder": "是否生成订单", + "order_seq": "序号", + "workshop_code": "车间编码" + }, + "sch_base_task": { + "task_code": "任务编码", + "task_status": "任务状态", + "config_code": "配置编码", + "point_code1": "点位1", + "point_code2": "点位2", + "point_code3": "点位3", + "point_code4": "点位4", + "group_id": "组ID", + "vehicle_type": "载具类型", + "vehicle_qty": "载具数量", + "vehicle_code": "载具编码", + "vehicle_code2": "载具编码2", + "handle_status": "处理状态", + "car_no": "车牌号", + "task_group_id": "任务组ID", + "task_group_seq": "任务组序号", + "finished_type": "任务完成类型", + "create_mode": "创建方式", + "request_param": "创建任务请求参数", + "response_param": "下发任务请求参数", + "workshop_code": "车间编码", + "ext_group_data": "附加组信息", + "priority": "ACS优先级" + }, + "sch_base_taskconfig": { + "config_code": "配置编码", + "config_name": "配置名称", + "route_plan_code": "路线规划编码", + "task_qf_type": "任务取放类型", + "acs_task_type": "ACS任务类型", + "task_name": "任务名称", + "task_type": "任务类型", + "task_direction": "任务方向", + "priority": "优先级", + "task_create_max_num": "允许创建任务最大数量", + "task_issue_max_num": "允许下发任务最大数量", + "is_auto_issue": "自动下发", + "start_region_str": "起始区域配置", + "next_region_str": "结束区域配置", + "start_point_pre": "起始点前缀", + "next_region_pre": "结束区域前缀", + "is_check_workorder": "是否检查工单", + "is_check_start_lock": "是否评估起始点锁定", + "is_immediate_create": "立即创建", + "is_check_next_lock": "是否评估结束点锁定", + "is_start_auto": "起始点自动", + "is_next_auto": "结束点自动", + "is_lock_start": "锁定起始点", + "is_lock_next": "锁定结束点", + "request_param": "创建任务请求参数", + "response_param": "下发任务请求参数", + "is_group_congrol_issue_seq": "是否按组控制下发顺序", + "unfinish_notify_time": "任务未完成通知时间", + "sql_param": "SQL配置", + "workshop_code": "车间编码" + }, + "st_ivt_bsrealstorattr": { + "stor_code": "仓库编码", + "stor_name": "仓库名称", + "simple_name": "仓库简称", + "stor_capacity": "仓库容量", + "total_area": "总面积", + "stor_type_scode": "仓库性质", + "is_virtualstore": "是否虚拟仓库", + "is_semi_finished": "是否半成品库", + "is_materialstore": "是否原料库", + "is_productstore": "是否成品库", + "is_attachment": "是否配件库", + "is_reversed": "是否允许退货", + "is_mvout_auto_cfm": "自动确认转出业务", + "is_mvin_auto_cfm": "自动确认转入业务", + "area": "区域", + "storea_ddress": "仓库地址", + "principal": "负责人", + "office_phone": "办公电话", + "mobile_no": "手机号码", + "order_index": "显示顺序", + "whstate_scode": "状态", + "base_class_id": "物料基本分类", + "sysownerid": "所有者ID", + "sysdeptid": "部门ID", + "syscompanyid": "公司ID", + "ext_id": "外部ID", + "depart_name": "部门名称", + "company_name": "公司名称" + }, + "st_ivt_checkdtl": { + "seq_no": "明细序号", + "sect_code": "盘点区域", + "struct_code": "盘点位置", + "checkpoint_code": "盘点站点", + "storagevehicle_code": "存储载具编码", + "material_id": "物料ID", + "pcsn": "批次", + "base_qty": "库存数量", + "status": "状态", + "is_down": "已下发", + "fac_qty": "盘点数量", + "check_result": "盘点结果", + "check_optname": "盘点人", + "check_time": "盘点时间", + "remark": "明细备注", + "check_code": "盘点单号", + "check_type": "盘点单类型", + "stor_name": "仓库名称", + "dtl_num": "明细数量", + "create_mode": "创建方式" + }, + "st_ivt_iostor": { + "stor_code": "仓库编码", + "sect_date": "日期", + "quality_scode": "质量类型", + "start_num": "期初数量", + "in_num": "入库数量", + "out_num": "出库数量", + "total_qty": "总数量", + "total_weight": "总重量", + "io_type": "出入库类型", + "detail_count": "明细数量", + "seq_no": "明细序号", + "work_status": "执行状态", + "task_id": "任务ID", + "storagevehicle_code": "存储载具编码", + "is_issued": "已下发", + "plan_qty": "计划数量", + "real_qty": "实际数量", + "point_code": "出入库点ID", + "assign_qty": "已分配数量", + "unassign_qty": "未分配数量", + "mol_code": "损耗单号", + "mol_inv_type": "损耗单类型", + "mol_type": "损耗类型", + "turnout_sect_code": "转出区域编码", + "turnout_struct_code": "转出位置编码", + "turnin_sect_code": "转入区域编码", + "turnin_struct_code": "转入位置编码" + }, + "structWarning": { + "safe_qty_lower_limit": "安全库存下限", + "safe_qty_upper_limit": "安全库存上限", + "cron": "表达式", + "notify_type": "通知类型", + "overdue_days": "过期天数", + "safe_days": "安全天数", + "is_read": "已读", + "current_qty": "当前数量" + }, + "strategy": { + "sect_code": "仓库区域", + "strategy": "规则", + "strategy_type": "1 入库策略 2 出库策略", + "description": "描述", + "strategy_code": "策略编码", + "strategy_name": "策略名称", + "class_type": "处理类型", + "param": "处理类", + "ban": "禁止操作", + "form_data": "限制参数" + }, + "code_rule": { + "current_value": "当前值" + }, + "dept": { + "dept_id": "ID", + "pid": "上级部门", + "sub_count": "子部门数量", + "name": "名称", + "zh_name": "中文名称", + "in_name": "印尼语名称", + "en_name": "英语名称", + "dept_sort": "排序", + "is_used": "状态", + "create_name": "创建人", + "update_name": "更新人", + "create_time": "创建日期", + "update_time": "更新时间", + "code": "部门编码", + "ext_id": "外部ID" + }, + "dict": { + "dict_type": "字典类型", + "dict_sort": "序号", + "label": "字典标签", + "value": "字典值", + "para1": "参数1", + "para2": "参数2", + "para3": "参数3" + }, + "menu": { + "menu_id": "菜单ID", + "pid": "上级菜单ID", + "sub_count": "子菜单数量", + "type": "菜单类型", + "system_type": "所属系统", + "category": "菜单分类", + "title": "菜单标题", + "en_title": "英语标题", + "in_title": "印尼语标题", + "zh_title": "中文标题", + "component_name": "组件名称", + "component": "组件", + "menu_sort": "排序", + "icon": "图标", + "path": "路径", + "iframe": "是否外部链接", + "cache": "是否缓存", + "hidden": "是否隐藏", + "permission": "权限", + "is_pc": "是否PC菜单" + }, + "param": { + "code": "编码", + "name": "名称", + "zh_name": "名称", + "en_name": "英语名称", + "in_name": "印尼语名称", + "value": "值" + }, + "user": { + "user_id": "用户ID", + "username": "登录账号", + "password": "密码", + "is_admin": "是否管理员账号", + "person_name": "姓名", + "zh_person_name": "中文姓名", + "en_person_name": "英文姓名", + "in_person_name": "印尼语姓名", + "gender": "性别", + "zh_gender": "中文性别", + "en_gender": "英文性别", + "phone": "电话", + "email": "邮箱", + "avatar_name": "头像路径", + "avatar_path": "实际头像路径", + "extperson_id": "外部人员ID", + "extuser_id": "外部用户ID", + "pwd_reset_user_id": "重置密码人", + "pwd_reset_time": "重置密码时间" + }, + "basedata_manage": { + "same_warehouse_numbers": "存在相同的仓库编号", + "deleted_or_without_permission_operation_failed": "被删除或无权限,操作失败!", + "same_supplier_code": "存在相同的供应商编号", + "current_device_code_already_exists": "当前设备编码已存在【%s】", + "current_supplier_code_already_exists": "当前供应商编码已存在【%s】", + "current_cust_code_already_exists": "当前客户编码已存在【%s】", + "current_material_code_already_exists": "当前物料编码已存在【%s】", + "current_sorting_code_already_exists": "当前分类编码已存在【%s】", + "current_unit_code_already_exists": "当前计量单位编码已存在【%s】", + "unit_code_not_exists": "计量单位编码为【%s】不存在!", + "current_vehicle_group_plate_info_exists": "当前载具组盘信息已存在", + "parents_cannot_be_oneself": "上级不能为自己", + "material_information_not_exists": "物料信息为【%s】不存在!", + "storage_vehicle_code_already_exists": "当前载具编码已存在【%s】", + "vehicle_type_no_dict_config": "此载具类型%s没有配置字典值", + "storage_vehicle_not_exist": "载具编码为【%s】的载具不存在!", + "parent_class_code_invalid": "请输入正确的父节点编号!", + "sect_code_already_exists": "存在相同仓库的库区编号", + "struct_code_not_exist": "结构编码【%s】不存在", + "sect_no_io_rule": "区域【%s】没有配置出入库策略", + "strategy_no_available_struct": "策略【%s】没有可用的货位,共查询到%d个货位", + "sect_no_in_rule": "区域【%s】没有配置入库策略", + }, + "sch_manage": { + "task_already_completed": "该任务已完成!", + "task_already_cancelled": "该任务已取消!", + "task_not_exists": "该任务不存在", + "only_cancel_generating_tasks": "只能取消生成中的任务!", + "task_status_must_be_create_to_cancel": "任务状态必须为生成才能取消任务", + "same_point_code_exists": "存在相同的点位编码", + "data_empty": "数据为空!", + "task_config_already_exists": "任务配置【%s】已存在!", + "start_and_end_region_cannot_be_empty": "起点区域和终点区域不能同时为空!", + "tray_cannot_be_empty": "托盘不能为空" + }, + "decision_manage": { + "location_list_empty": "仓位集合为空", + "strategy_type_error": "策略类型错误", + "no_available_location": "当前分配策略无可用货位", + "no_available_location_same_block_num": "当前分配策略sameBlockNum无可用货位", + "no_available_aisle": "未找到可用的巷道", + "strategy_name_already_exists": "已存在相同名称的策略【%s】", + "strategy_no_instance": "启动失败,当前策略【%s】没有对应的实例信息", + "alley_ave_no_available_location": "均衡策略结果:载具号:【%s】当前分配策略无可用货位", + "fifo_rule_inventory_shortage": "当前出库策略:先进先出,库存分配失败,失败原因:库存不足!", + "depth_priority_location_not_found": " 深位优先策略:获取深货位有货且浅货位无货仓位:载具号:【%s】获取仓位失败,该策略对应库位数量为0!", + "limit_storage_vehicle_not_exist": "限位策略:当前载具信息不存在:【%s】不存在", + "limit_storage_location_not_found": "限位策略:载具号:【%s】获取仓位失败,该高度等级对应库位数量为0!" + }, + "task": { + "status": { + "created": "生成", + "applied": "申请", + "created_completed": "创建完成", + "issued": "下发", + "executing": "执行中", + "completed": "完成", + "cancelled": "已取消", + "unfinished": "未完成" + } + , + "created_desc": "生成任务", + "applied_desc": "申请任务", + "create_completed_desc": "创建完成任务", + "issued_desc": "下发任务", + "executing_desc": "执行中任务", + "completed_desc": "完成任务", + "cancelled_desc": "已取消任务", + "unfinished_desc": "未完成任务" + }, + "bind": { + "type": { + "unbind": "解绑", + "bind": "绑定", + "no_operation": "不操作" + } + }, + "vehicle": { + "type": { + "empty_pallet": "空托盘", + "empty_container": "空料箱" + } + }, + "base_data": { + "type_not_defined": "对应类型【%s】未定义" + }, + "pm_manage": { + "no_such_unit_info": "没有该计量单位信息", + "no_such_warehouse_info": "没有该仓库信息", + "form_type_param_cannot_be_empty": "表单类型参数不能为空", + "current_bill_already_merged": "当前单据已合单,不允许再次提交:【%s】", + "current_bill_is_new_merged_bill": "当前单据为合单后新单据,不允许再次提交:【%s】", + "current_bill_is_not_new_merged_bill": "当前单据为非合单新单据,不允许提交:【%s】" + }, + "warehouse_manage": { + "main_table_status_must_be_generate": "主表状态必须为生成!", + "no_cancel_outbound_alloc_dtl": "不存在可取消的出库分配明细", + "no_selected_outbound_point": "未选择出库点", + "no_selected_floor": "未选择楼层", + "no_related_outbound_bill": "未查到相关出库单", + "no_alloc_dtl_to_set": "当前没有可设置的分配明细", + "main_table_status_must_be_allocated": "主表状态必须为分配完!", + "cannot_force_confirm_with_unfinished_tasks": "当前有未完成的任务不能强制确认!", + "no_alloc_dtl_for_task": "未找到任务对应的分配明细", + "no_dtl_found": "未找到明细", + "vehicle_already_in_storage": "载具编码:【%s】已存在库内,请对数据进行核实!", + "detail_already_allocated_location": "当前明细已经分配过库位", + "no_available_location": "无可用货位", + "detail_not_allocated_location": "该明细还没分配货位,请先分配货位", + "cannot_find_allocation_detail_for_task": "未找到任务对应的分配明细", + "cannot_find_inbound_detail_record": "未找到入库单明细记录", + "cannot_find_inbound_order": "未找到入库单", + "no_location_in_sector": "该库区没有仓位", + "no_carrier_info": "没有该载具号信息", + "cannot_find_suitable_location": "未找到满足的仓位", + "cannot_find_available_sector": "未找到可用的库区", + "cannot_select_suitable_sector": "无法选择合适的库区", + "outbill_qty_zero": "数量不能为零", + "outbill_sect_empty": "分配库区不能为空", + "outbill_not_found": "查找不到出库单信息", + "outbill_no_details": "当前订单无可分配出库明细", + "outbill_no_cancelable_details": "不存在可取消的出库分配明细", + "outbill_allocated": "已全部分配完,未分配数量为0", + "storagevehicle_no_inventory": "当前载具【%s】不存在相关物料批次库存,请检查数据!", + "frozen_quantity_cannot_be_negative": "冻结数不能为负数,请检查变动数量!当前冻结为【%s】当前变动数为【%d】", + }, + "pda_manage": { + "change_type_cannot_be_empty": "变动类型不能为空!", + "carrier_code_cannot_be_empty": "载具编码不能为空!", + "material_id_cannot_be_empty": "物料标识不能为空!", + "unit_id_cannot_be_empty": "计量单位标识不能为空!", + "unit_name_cannot_be_empty": "计量单位名称不能为空!", + "change_qty_cannot_be_empty": "变动数量不能为空!", + "carrier_already_has_inventory": "当前载具已存在库存物料,请检查数据!", + "material_info_cannot_be_empty": "物料信息不能为空!", + "vehicle_info_cannot_be_empty": "载具信息不能为空!", + "vehicle_already_has_group_plate_info": "载具编码:【%s】已存在组盘信息,请对数据进行核实!", + "vehicle_already_in_storage": "载具编码:【%s】已存在库内:【%d】,请对数据进行核实!", + "dtllist_cannot_be_empty": "dtlList不可为空", + "vehicle_not_group_plated": "此载具未组盘,请检查!", + "vehicle_not_in_group_plate_status": "此载具非组盘状态,请检查!", + "point_not_exists": "点位不存在:【%s】", + "no_materials_available_for_storage": "当前没有可入库的物料!", + "move_in_location_cannot_be_empty": "移入货位不能为空!", + "material_detail_cannot_be_empty": "物料明细不能为空!", + "vehicle_not_exist_in_system": "载具在系统中不存在!", + "move_in_location_not_exist_in_system": "移入货位在系统中不存在!", + "location_and_vehicle_code_cannot_be_empty": "货位编码和载具编码不能同时为空!", + "vehicle_code_empty": "载具编码不能为空", + "point_code_empty": "点位编码不能为空", + "point_not_found": "点位【%s】不存在", + "point_already_binded": "点位【%s】已绑定载具【%d】", + "vehicle_already_binded": "载具【%s】已绑定点位【%d】", + "point_no_vehicle_need_unbind": "点位【%s】没有绑定载具【%d】,无需解绑", + "start_point_not_exist": "起点不存在", + "end_point_not_exist": "终点不存在", + "site_code_empty": "点位编码不能为空", + "site_not_exist": "点位【%s】不存在" + }, + "acs": { + "connection_failed": "ACS连接失败" + }, + "status": { + "published": "发布", + "unpublished": "未发布", + "started": "启动", + "stopped": "停止", + "production_in": "生产入库", + "purchase_in": "采购入库", + "other_in": "其他入库", + "production_out": "生产出库", + "sales_out": "销售出库", + "other_out": "其他出库", + "generated": "生成", + "allocated": "分配完", + "type_not_defined": "对应类型【%s】未定义", + "code_not_defined_r": "对应编码【%s】未定义R的数据", + "code_not_defined_x": "对应编码【%s】未定义x的数据", + "node_completed": "节点完成", + "abnormal_completed": "异常完成", + "manual_in": "手动入库", + "material_out": "物料出库", + "manual_out": "手动出库", + "move_storage": "移库", + "abnormal_move": "异常移库", + "inventory": "盘点", + "transfer": "转储", + "inventory_loss": "盘亏", + "inventory_profit": "盘盈", + "physical_inventory": "实物盘点", + "receipt_notice": "收货通知", + "sales_order": "销售订单", + "production_inbound": "生产入库", + "purchase_inbound": "采购入库", + "sales_return_inbound": "销售退货入库", + "purchase_return_outbound": "采购退货出库", + "subcontract_material_list": "委外领料单", + "production_material_list": "生产备料单", + "production_picking": "生产领料", + "simple_production_picking": "简易生产领料", + "transfer_outbound": "调拨出库", + "other_outbound": "其他出库", + "lowest": "最低优先级", + "normal": "正常优先级", + "higher": "较高优先级", + "urgent": "紧急优先级", + "warehouse": "仓库任务", + "agv_task": "AGV任务", + "ctu_task": "CTU任务", + "third_floor_ctu": "三楼CTU", + "xian_gong": "先功系统", + "hairou_ctu": "海柔CTU", + "hikvision_ctu": "海康CTU", + "inbound": "入库", + "outbound": "出库", + "in_out_bound": "出入库", + "first_floor_workshop": "一楼车间", + "second_floor_workshop": "二楼车间", + "third_floor_workshop": "三楼车间", + "main_storage_picking_platform": "主库拣选平台", + "first_floor_io_conveyor": "一楼出入库输送机", + "second_floor_io_conveyor": "二楼出入库输送机", + "second_floor_ctu_shelf_docking": "二楼CTU货架对接位", + "second_floor_agv_production_line_docking": "二楼AGV生产线对接位", + "second_floor_empty_shelf_buffer": "二楼空货架缓存位", + "pallet_warehouse": "托盘库", + "container_warehouse": "料箱库", + "virtual_warehouse": "虚拟库", + "second_floor_ctu_buffer": "二楼CTU缓存位", + "second_floor_shelf_buffer": "二楼货架缓存位", + "ascending": "升序", + "descending": "降序", + "unbind": "解绑", + "bind": "绑定", + "no_operation": "不操作", + "empty_tray": "空托盘", + "empty_container": "空料箱", + "start": "开始", + "pause": "暂停", + "completed": "完成", + "force_completed": "强制完成", + "cancelled": "已取消" + }, + "error": { + "param_undefined": "参数【%s】未定义【%s】", + "ParamExist": "参数【%s】已存在", + "Update": "更新失败", + "Detele": "删除失败", + "NullPoint": "空指针异常", + "SystemAuthError": "系统授权错误", + "File_3": "文件上传失败", + "isNull": "参数【%s】不能为空", + "Send": "发送失败" + }, + "role": { + "Check_1": "角色名称不能为空", + "level": "角色级别" + }, + "quartz": { + "ip_different": "本机IP【%s】与调度IP【%s】不一致", + "create_job_failure": "创建定时任务失败" + }, + "system_manage": { + "username_password_error": "用户名或密码错误", + "account_not_activated": "账号未激活", + "param_empty": "参数不能为空", + "code_rule_not_exist": "缺少【%s】相关配置", + "menu_no_permission": "没有菜单权限", + "current_business_executing": "当前业务:【%s】正在执行请稍后再试" + }, + "login": { + "childError": "子节点菜单不能设置为目录" + } } \ No newline at end of file