opt:日志优化、打包优化
This commit is contained in:
1
nladmin-system/jar包maven脚本.txt
Normal file
1
nladmin-system/jar包maven脚本.txt
Normal file
@@ -0,0 +1 @@
|
||||
mvn install:install-file -Dfile=./nlsso-server/libs/language-all.jar -DgroupId=nl.sdkall -DartifactId=language-all -Dversion=0.0.1 -Dpackaging=jar
|
||||
@@ -284,8 +284,7 @@
|
||||
<groupId>nl.sdkall</groupId>
|
||||
<artifactId>language-all</artifactId>
|
||||
<version>0.0.1</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${project.basedir}/libs/language-all.jar</systemPath>
|
||||
<!-- 移除 system 范围,使用默认的 compile 范围 -->
|
||||
</dependency>
|
||||
<!-- quartz -->
|
||||
<dependency>
|
||||
|
||||
@@ -15,17 +15,23 @@ import java.util.Map;
|
||||
|
||||
public class AsyncLuceneAppender extends AspectLogbackAsyncAppender {
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
protected void append(ILoggingEvent event) {
|
||||
// 设置traceId
|
||||
String traceId = LuceneAppender.traceIdTL.get();
|
||||
if (StringUtils.isNotEmpty(traceId)){
|
||||
MDC.put("traceId",traceId);
|
||||
MDC.put("traceId", traceId);
|
||||
Map<String, String> mdcPropertyMap = event.getMDCPropertyMap();
|
||||
if (mdcPropertyMap.getClass().getName().contains("SynchronizedMap")){
|
||||
mdcPropertyMap.put("traceId",traceId);
|
||||
mdcPropertyMap.put("traceId", traceId);
|
||||
}
|
||||
}
|
||||
|
||||
// 必须调用父类的append方法,否则日志不会被实际写入
|
||||
super.append(event);
|
||||
|
||||
// 清理MDC
|
||||
if (StringUtils.isNotEmpty(traceId)) {
|
||||
MDC.clear();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,18 +39,41 @@ public class LuceneAppender extends AppenderBase<ILoggingEvent> {
|
||||
public void start() {
|
||||
super.start();
|
||||
try {
|
||||
// 读取配置文件
|
||||
Properties properties = YmlConfigFileUtil.readConfig("config/application.yml");
|
||||
// 读取配置文件 - 尝试多种可能的路径
|
||||
Properties properties = null;
|
||||
try {
|
||||
// 首先尝试读取config目录下的配置
|
||||
properties = YmlConfigFileUtil.readConfig("config/application.yml");
|
||||
} catch (Exception e) {
|
||||
// 如果失败,尝试读取classpath根目录下的配置
|
||||
System.out.println("尝试读取config/application.yml失败,尝试读取application.yml");
|
||||
properties = YmlConfigFileUtil.readConfig("application.yml");
|
||||
}
|
||||
|
||||
// 获取配置值
|
||||
String luceneDir = properties.getProperty("lucene.index.path");
|
||||
System.out.println("---index地址----"+luceneDir);
|
||||
index = FSDirectory.open(Paths.get(luceneDir));
|
||||
System.out.println("---index地址----" + luceneDir);
|
||||
|
||||
// 验证路径是否存在,如果不存在则创建
|
||||
if (StringUtils.isEmpty(luceneDir)) {
|
||||
luceneDir = "D:/lms/lucene/index";
|
||||
System.out.println("Lucene索引路径配置为空,使用默认路径: " + luceneDir);
|
||||
}
|
||||
|
||||
java.nio.file.Path path = Paths.get(luceneDir);
|
||||
if (!java.nio.file.Files.exists(path)) {
|
||||
java.nio.file.Files.createDirectories(path);
|
||||
System.out.println("Lucene索引路径不存在,已创建: " + luceneDir);
|
||||
}
|
||||
|
||||
index = FSDirectory.open(path);
|
||||
// 初始化 Lucene 索引
|
||||
Analyzer analyzer = new IKAnalyzer();
|
||||
IndexWriterConfig config = new IndexWriterConfig(analyzer);
|
||||
config.setOpenMode(IndexWriterConfig.OpenMode.CREATE_OR_APPEND);
|
||||
indexWriter = new IndexWriter(index, config);
|
||||
} catch (Exception e) {
|
||||
System.err.println("初始化Lucene日志失败: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
@@ -58,27 +81,49 @@ public class LuceneAppender extends AppenderBase<ILoggingEvent> {
|
||||
|
||||
@Override
|
||||
protected void append(ILoggingEvent event) {
|
||||
// 检查indexWriter是否初始化成功
|
||||
if (indexWriter == null) {
|
||||
System.err.println("Lucene索引写入器未初始化,无法写入日志");
|
||||
return;
|
||||
}
|
||||
|
||||
Document doc = new Document();
|
||||
for (Property property : this.properties.getProperties()) {
|
||||
LucenePropertyAndEncoder encoder = new LucenePropertyAndEncoder(property, this.context);
|
||||
String encode = encoder.encode(event);
|
||||
doc.add(new StringField(property.getName(), encode, Field.Store.YES));
|
||||
}
|
||||
Map<String, String> map = event.getMDCPropertyMap();
|
||||
if (!map.isEmpty() && StringUtils.isNotEmpty(map.get("traceId"))){
|
||||
doc.add(new StringField("traceId",map.get("traceId"), Field.Store.YES));
|
||||
}else {
|
||||
doc.add(new StringField("traceId"," ", Field.Store.YES));
|
||||
}
|
||||
|
||||
doc.add(new TextField(LogMessageConstant.FIELD_MESSAGE, event.getFormattedMessage(), Field.Store.YES));
|
||||
doc.add(new StringField(LogMessageConstant.FIELD_TIMESTAMP, String.valueOf(event.getTimeStamp()),Field.Store.YES));
|
||||
doc.add(new NumericDocValuesField(LogMessageConstant.SORT_NAME, event.getTimeStamp()));
|
||||
try {
|
||||
if (this.properties != null && this.properties.getProperties() != null) {
|
||||
for (Property property : this.properties.getProperties()) {
|
||||
LucenePropertyAndEncoder encoder = new LucenePropertyAndEncoder(property, this.context);
|
||||
String encode = encoder.encode(event);
|
||||
doc.add(new StringField(property.getName(), encode, Field.Store.YES));
|
||||
}
|
||||
}
|
||||
|
||||
Map<String, String> map = event.getMDCPropertyMap();
|
||||
if (map != null && !map.isEmpty() && StringUtils.isNotEmpty(map.get("traceId"))){
|
||||
doc.add(new StringField("traceId", map.get("traceId"), Field.Store.YES));
|
||||
} else {
|
||||
doc.add(new StringField("traceId", " ", Field.Store.YES));
|
||||
}
|
||||
|
||||
// 添加日志消息和时间戳
|
||||
doc.add(new TextField(LogMessageConstant.FIELD_MESSAGE, event.getFormattedMessage(), Field.Store.YES));
|
||||
doc.add(new StringField(LogMessageConstant.FIELD_TIMESTAMP, String.valueOf(event.getTimeStamp()), Field.Store.YES));
|
||||
doc.add(new NumericDocValuesField(LogMessageConstant.SORT_NAME, event.getTimeStamp()));
|
||||
|
||||
// 写入并提交文档
|
||||
indexWriter.addDocument(doc);
|
||||
indexWriter.commit();
|
||||
} catch (Exception e) {
|
||||
System.err.println("写入Lucene日志失败: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
|
||||
// 尝试回滚事务
|
||||
try {
|
||||
if (indexWriter != null) {
|
||||
indexWriter.rollback();
|
||||
}
|
||||
} catch (IOException ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ import java.util.Map;
|
||||
public enum BaseDataEnum {
|
||||
|
||||
// 是否
|
||||
IS_YES_NOT(MapOf.of(LangBehavior.language("common.yes"), "1", LangBehavior.language("common.no"), "0")),
|
||||
IS_YES_NOT(MapOf.of("是", "1", "否", "0")),
|
||||
;
|
||||
|
||||
private Map<String, String> code;
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.nl.wms.ext_manage.controller;
|
||||
|
||||
|
||||
import cn.dev33.satoken.annotation.SaIgnore;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -46,7 +47,7 @@ public class ErpToWmsController {
|
||||
@PostMapping("/usematerinfo")
|
||||
@Log("下发用料信息")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> usematerinfo(@RequestBody JSONObject whereJson) {
|
||||
public ResponseEntity<Object> usematerinfo(@RequestBody JSONArray whereJson) {
|
||||
return new ResponseEntity<>(erpToWmsService.usematerinfo(whereJson),HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.wms.ext_manage.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.wms.ext_manage.dto.ErpGroupplateDto;
|
||||
import org.nl.wms.ext_manage.dto.ErpMaterInfoDto;
|
||||
@@ -56,7 +57,7 @@ public interface ErpToWmsService {
|
||||
* }
|
||||
* @return ErpResponse
|
||||
*/
|
||||
ErpResponse usematerinfo(JSONObject whereJson);
|
||||
ErpResponse usematerinfo(JSONArray whereJson);
|
||||
|
||||
/**
|
||||
* 获取物料信息
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.nl.wms.ext_manage.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -260,7 +261,7 @@ public class ErpToWmsServiceImpl implements ErpToWmsService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ErpResponse usematerinfo(JSONObject whereJson) {
|
||||
public ErpResponse usematerinfo(JSONArray whereJson) {
|
||||
/**
|
||||
* data : [
|
||||
* {
|
||||
@@ -282,7 +283,7 @@ public class ErpToWmsServiceImpl implements ErpToWmsService {
|
||||
throw new BadRequestException("仓库不存在");
|
||||
}
|
||||
// 组织明细
|
||||
List<JSONObject> dataList = whereJson.getJSONArray("data").toJavaList(JSONObject.class);
|
||||
List<JSONObject> dataList = whereJson.toJavaList(JSONObject.class);
|
||||
// 查询所有物料
|
||||
List<MdMeMaterialbase> materDaoList = iMdMeMaterialbaseService.list(
|
||||
new QueryWrapper<MdMeMaterialbase>().lambda()
|
||||
@@ -294,7 +295,7 @@ public class ErpToWmsServiceImpl implements ErpToWmsService {
|
||||
// 查询所有计量单位
|
||||
List<MdPbMeasureunit> unitDaoList = iMdPbMeasureunitService.list(
|
||||
new QueryWrapper<MdPbMeasureunit>().lambda()
|
||||
.in(MdPbMeasureunit::getUnit_code, dataList.stream()
|
||||
.in(MdPbMeasureunit::getUnit_name, dataList.stream()
|
||||
.map(row -> row.getString("unit_code"))
|
||||
.collect(Collectors.toList()))
|
||||
);
|
||||
@@ -305,6 +306,9 @@ public class ErpToWmsServiceImpl implements ErpToWmsService {
|
||||
MdMeMaterialbase materDao = materDaoList.stream()
|
||||
.filter(row -> row.getMaterial_code().equals(json.getString("mater_code")))
|
||||
.findFirst().orElse(null);
|
||||
if(null == materDao){
|
||||
throw new BadRequestException("物料编码不存在");
|
||||
}
|
||||
jsonDtl.setId(IdUtil.getStringId());
|
||||
jsonDtl.setCode(json.getString("order_code"));
|
||||
jsonDtl.setStatus(IOSEnum.BILL_STATUS.code("生成"));
|
||||
@@ -317,7 +321,7 @@ public class ErpToWmsServiceImpl implements ErpToWmsService {
|
||||
jsonDtl.setQty(BigDecimal.valueOf(json.getDoubleValue("qty")));
|
||||
jsonDtl.setPlan_qty(BigDecimal.valueOf(json.getDoubleValue("qty")));
|
||||
MdPbMeasureunit unitDao = unitDaoList.stream()
|
||||
.filter(row -> row.getUnit_code().equals(json.getString("unit_code")))
|
||||
.filter(row -> row.getUnit_name().equals(json.getString("unit_code")))
|
||||
.findFirst().orElse(null);
|
||||
jsonDtl.setUnit_id(unitDao.getMeasure_unit_id());
|
||||
jsonDtl.setUnit_name(unitDao.getUnit_name());
|
||||
|
||||
@@ -18,40 +18,40 @@ public enum StatusEnum {
|
||||
/**
|
||||
* 流程相关
|
||||
*/
|
||||
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)),
|
||||
MODEL_STATUS(ForkMap.of("发布", "10", null, "未发布", "30", null)),
|
||||
FLOW_STATUS(ForkMap.of("启动", "10", null, "节点完成", "20", null, "暂停", "30", null, "完成", "80", null, "异常完成", "82", 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)),
|
||||
FORM_STATUS(ForkMap.of("生成", "10", null, "已分配", "13", null, "下发", "15", null, "执行中", "20", null, "暂停", "30", null, "完成", "80", null, "强制完成", "82", null, "取消", "90", null)),
|
||||
|
||||
/**
|
||||
* 出入库单据类型退货出库
|
||||
*/
|
||||
IOBILL_TYPE_IN(ForkMap.of(LangBehavior.language("status.production_in"), "0001", "StInTask", LangBehavior.language("status.manual_in"), "0009", "StInTask")),
|
||||
IOBILL_TYPE_IN(ForkMap.of("生产入库", "0001", "StInTask", "手工入库", "0009", "StInTask")),
|
||||
|
||||
IOBILL_TYPE_OUT(ForkMap.of(LangBehavior.language("status.material_out"), "1001", "StOutTask", LangBehavior.language("status.manual_out"), "1009", "StOutTask")),
|
||||
IOBILL_TYPE_OUT(ForkMap.of("用料出库", "1001", "StOutTask", "手工出库", "1009", "StOutTask")),
|
||||
|
||||
|
||||
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)),
|
||||
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)),
|
||||
|
||||
/**
|
||||
* ERP回传单据类型
|
||||
*/
|
||||
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"))),
|
||||
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", "委外退料单")),
|
||||
|
||||
/**
|
||||
* 任务优先级
|
||||
*/
|
||||
PRIORITY_TYPE(ForkMap.of(
|
||||
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
|
||||
"最低", "1", null, "普通", "5", null, "较高", "6", null, "加急", "7", null, "移库", "8", null
|
||||
)),
|
||||
|
||||
/**
|
||||
@@ -60,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(
|
||||
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
|
||||
"立库", "1", null, "AGV任务", "2", null, "CTU任务", "3", null,"三楼CTU", "4", null
|
||||
)),
|
||||
ACS_SYSTEM_TYPE(ForkMap.of(
|
||||
"NDC", "1", null, LangBehavior.language("status.xian_gong"), "2", null, LangBehavior.language("status.hairou_ctu"), "5", null, LangBehavior.language("status.hikvision_ctu"), "6", null
|
||||
"NDC", "1", null, "仙工", "2", null,"海柔CTU", "5", null, "海康CTU", "6", 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)),
|
||||
//LOCK(ForkMap.of("无锁", "00", null, "入库锁", "10", null, "入库盘点锁", "16", null, "出库锁", "20", null, "盘点出库锁", "26", null, "移库锁", "50", null, "异常锁定", "60", null, "空出锁", "70", 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)),
|
||||
STRATEGY_TYPE(ForkMap.of("入库", "1", null, "出库", "2", null, "出入库", "3", 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)),
|
||||
PRODUCT_AREA(ForkMap.of("一层车间", "A1", null, "二层车间", "A2", null, "三层车间", "A3", 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)),
|
||||
REGION_INFO(ForkMap.of("主存区拣选平台", "PICK01", null, "一楼出入库输送线", "IOConveyor", null, "二楼出入库输送线", "IOConveyor2", null, "拣选台秤重区", "WEIGH01", null,
|
||||
"二楼CTU货架对接位", "CTU_POSITION", null, "二楼AGV产线对接位", "AGV_POSITION", null,"二楼空货架缓存区", "SHELF_POSITION", 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)),
|
||||
STOCK_INFO(ForkMap.of("托盘库", "FStockPallet", null, "料箱库", "FStockId", null, "虚拟库", "FicStockId", null, "二楼ctu缓存库", "CStockId", null,
|
||||
"二楼货架缓存库", "HStockId", null)),
|
||||
|
||||
|
||||
SORT_TYPE(ForkMap.of(
|
||||
LangBehavior.language("status.ascending"), "1", null, LangBehavior.language("status.descending"), "2", null
|
||||
"升序", "1", null, "降序", "2", null
|
||||
)),
|
||||
POINT_TYPE(ForkMap.of(
|
||||
"空货架", "0", null, "满货架", "1", null
|
||||
)),
|
||||
BIND_TYPE(ForkMap.of(
|
||||
LangBehavior.language("status.unbind"), "0", null, LangBehavior.language("status.bind"), "1", null, LangBehavior.language("status.no_operation"), "3", null
|
||||
"解绑", "0", null, "绑定", "1", null, "不操作", "3", null
|
||||
)),
|
||||
VEHICLE_TYPE(ForkMap.of(
|
||||
LangBehavior.language("status.empty_tray"), "KT001", null, LangBehavior.language("status.empty_container"), "KL001", null
|
||||
"空托盘", "KT001", null, "空料箱", "KL001", null
|
||||
));
|
||||
|
||||
/**
|
||||
|
||||
@@ -5,40 +5,39 @@ package org.nl.wms.sch_manage.enums;
|
||||
* @Description: 任务枚举
|
||||
* @Date: 2025/05/19
|
||||
*/
|
||||
import org.nl.language.LangBehavior;
|
||||
public enum TaskStatus {
|
||||
/**
|
||||
* 申请
|
||||
*/
|
||||
CREATE("0", LangBehavior.language("task.created"), LangBehavior.language("task.created").concat("_desc")),
|
||||
CREATE("0", "生成", "生成"),
|
||||
/**
|
||||
* 申请
|
||||
*/
|
||||
APPLY("1", LangBehavior.language("task.applied"), LangBehavior.language("task.applied").concat("_desc")),
|
||||
APPLY("1", "申请", "申请"),
|
||||
/**
|
||||
* 创建完成
|
||||
*/
|
||||
CREATED("2", LangBehavior.language("task.create_completed"), LangBehavior.language("task.create_completed").concat("_desc")),
|
||||
CREATED("2", "创建完成", "创建完成"),
|
||||
/**
|
||||
* 下发
|
||||
*/
|
||||
ISSUED("3", LangBehavior.language("task.issued"), LangBehavior.language("task.issued").concat("_desc")),
|
||||
ISSUED("3", "下发", "下发"),
|
||||
/**
|
||||
* 执行中
|
||||
*/
|
||||
EXECUTING("4", LangBehavior.language("task.executing"), LangBehavior.language("task.executing").concat("_desc")),
|
||||
EXECUTING("4", "执行中", "执行中"),
|
||||
/**
|
||||
* 完成
|
||||
*/
|
||||
FINISHED("5", LangBehavior.language("task.completed"), LangBehavior.language("task.completed").concat("_desc")),
|
||||
FINISHED("5", "完成", "完成"),
|
||||
/**
|
||||
* 已取消
|
||||
*/
|
||||
CANCELED("6", LangBehavior.language("task.cancelled"), LangBehavior.language("task.cancelled").concat("_desc")),
|
||||
CANCELED("6", "已取消", "已取消"),
|
||||
/**
|
||||
* 未完成
|
||||
*/
|
||||
UNFINISHED("7", LangBehavior.language("task.unfinished"), LangBehavior.language("task.unfinished").concat("_desc"));
|
||||
UNFINISHED("7", "未完成", "未完成");
|
||||
|
||||
|
||||
TaskStatus(String code, String name, String desc) {
|
||||
|
||||
@@ -70,7 +70,7 @@ file:
|
||||
avatarMaxSize: 5
|
||||
logging:
|
||||
file:
|
||||
path: D:\log\beian\lms
|
||||
path: D:\log\yuenanfujia\lms
|
||||
config: classpath:logback-spring.xml
|
||||
# sa-token白名单配置
|
||||
security:
|
||||
@@ -125,4 +125,5 @@ i18n:
|
||||
supported-languages:
|
||||
- zh
|
||||
- en
|
||||
- vi
|
||||
fallback-to-classpath: true
|
||||
|
||||
@@ -5,7 +5,10 @@
|
||||
<property name="log.charset" value="utf-8"/>
|
||||
<property name="log.pattern"
|
||||
value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss.SSS}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>
|
||||
<property name="LOG_HOME" value="${logPath}"/>
|
||||
<!-- 使用Spring Boot标准的日志路径变量 -->
|
||||
<property name="LOG_HOME" value="${logging.file.path}"/>
|
||||
<!-- 为确保路径存在,提供默认路径作为备选 -->
|
||||
<property name="LOG_HOME" value="${LOG_HOME:-D:/log/nladmin}"/>
|
||||
|
||||
|
||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||
@@ -105,9 +108,11 @@
|
||||
</root>
|
||||
</springProfile>s
|
||||
<springProfile name="prod">
|
||||
<!-- 根日志配置:所有级别的日志都会输出到控制台、Lucene和文件 -->
|
||||
<root level="info">
|
||||
<appender-ref ref="asyncLuceneAppender"/>
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</root>
|
||||
<logger name="jdbc" level="ERROR" additivity="true">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
|
||||
Reference in New Issue
Block a user