feat: 添加功能

This commit is contained in:
曹鹏飞 2025-07-31 18:03:22 +08:00
parent 7fa767e83a
commit cb741c328f
28 changed files with 292 additions and 78 deletions

View File

@ -131,6 +131,10 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId> <artifactId>spring-boot-starter-aop</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.github.loki4j</groupId>
<artifactId>loki-logback-appender</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

@ -18,7 +18,7 @@ public class AdminApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(AdminApplication.class, args); SpringApplication.run(AdminApplication.class, args);
log.info("【管理端】已启动"); log.info("服务已启动");
// log.info("---------------------- Sa-Token SSO 模式二 Client 端启动成功 ----------------------"); // log.info("---------------------- Sa-Token SSO 模式二 Client 端启动成功 ----------------------");
// log.info("配置信息:" + SaSsoManager.getClientConfig()); // log.info("配置信息:" + SaSsoManager.getClientConfig());

View File

@ -59,8 +59,10 @@ public class NormalOrderController extends BaseController {
private IWmsWorkbenchService workbenchService; private IWmsWorkbenchService workbenchService;
private static final DecimalFormat DF = new DecimalFormat("0.00"); private static final DecimalFormat DF = new DecimalFormat("0.00");
@Resource @Resource
private IWmsSrmOrderService srmOrderService; private IWmsSrmOrderService srmOrderService;
@Resource @Resource
private IWmsSrmOrderItemService srmOrderItemService; private IWmsSrmOrderItemService srmOrderItemService;
@ -225,7 +227,8 @@ public class NormalOrderController extends BaseController {
private String generateQRContent(DeliverNormalOrderItemDTO order,String indexNo){ private String generateQRContent(DeliverNormalOrderItemDTO order,String indexNo){
String content=StrUtil.format("{}${}${}${}${}${}${}${}" String content=StrUtil.format("{}${}${}${}${}${}${}${}"
, order.getPrintNo(), order.getExternalOrderNo(),order.getRowNo(),order.getMaterialNo(),order.getPrintNum(),order.getMaterialDesc(),order.getSupplierCode(),Optional.ofNullable(indexNo).orElse("")); , order.getPrintNo(), order.getExternalOrderNo(),order.getRowNo(),order.getMaterialNo(),order.getPrintNum()
,order.getMaterialDesc(),order.getBatchNo(),Optional.ofNullable(indexNo).orElse(""));
log.debug("二维码内容:"+ content); log.debug("二维码内容:"+ content);
return content; return content;
} }
@ -263,9 +266,11 @@ public class NormalOrderController extends BaseController {
// .setOrderQty(RandomUtil.randomBigDecimal(new BigDecimal("1"),new BigDecimal("100"))) // .setOrderQty(RandomUtil.randomBigDecimal(new BigDecimal("1"),new BigDecimal("100")))
// ); // );
// } // }
WmsSrmOrder order=srmOrderService.getById(id);
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("送货单不存在");
List<WmsSrmOrderItem> orders = srmOrderItemService.getByDeliverOrderId(id); List<WmsSrmOrderItem> orders = srmOrderItemService.getByDeliverOrderId(id);
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(orders)).throwMessage("没有需要打印的数据"); VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(orders)).throwMessage("没有需要打印的数据");
exportPdfPerPage(convert1(orders),response); exportPdfPerPage(convert1(order.getSupplierNum(),orders),response);
} }
/** /**
@ -283,12 +288,14 @@ public class NormalOrderController extends BaseController {
// .setOrderQty(RandomUtil.randomBigDecimal(new BigDecimal("1"),new BigDecimal("100"))) // .setOrderQty(RandomUtil.randomBigDecimal(new BigDecimal("1"),new BigDecimal("100")))
// ); // );
// } // }
List<WmsSrmOrderItem> orders = srmOrderItemService.getByDeliverOrderId(id); WmsSrmOrder order=srmOrderService.getById(id);
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(orders)).throwMessage("没有需要打印的数据"); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("送货单不存在");
exportPdfInAll(convert1(orders),response); List<WmsSrmOrderItem> items = srmOrderItemService.getByDeliverOrderId(id);
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("没有需要打印的数据");
exportPdfInAll(convert1(order.getSupplierNum(),items),response);
} }
private List<DeliverNormalOrderItemDTO> convert1(List<WmsSrmOrderItem> orders) throws Exception { private List<DeliverNormalOrderItemDTO> convert1(String supplierNo,List<WmsSrmOrderItem> orders) throws Exception {
List<DeliverNormalOrderItemDTO> datas = new ArrayList<>(); List<DeliverNormalOrderItemDTO> datas = new ArrayList<>();
for (WmsSrmOrderItem order : orders) { for (WmsSrmOrderItem order : orders) {
DeliverNormalOrderItemDTO dto = new DeliverNormalOrderItemDTO(); DeliverNormalOrderItemDTO dto = new DeliverNormalOrderItemDTO();
@ -297,6 +304,7 @@ public class NormalOrderController extends BaseController {
dto.setIndex(0); dto.setIndex(0);
dto.setPrintNo(order.getId() + "-" + 0); dto.setPrintNo(order.getId() + "-" + 0);
dto.setPrintNum(DF.format(order.getOrderQty())); dto.setPrintNum(DF.format(order.getOrderQty()));
dto.setBatchNo(NoUtil.getBatchNo(supplierNo));
dto.setQrCode("data:image/png;base64,"+Base64.getEncoder().encodeToString(QRCodeUtil.generateQRCode(generateQRContent(dto,""), 100, 100))); dto.setQrCode("data:image/png;base64,"+Base64.getEncoder().encodeToString(QRCodeUtil.generateQRCode(generateQRContent(dto,""), 100, 100)));
datas.add(dto); datas.add(dto);
} }

View File

@ -148,6 +148,17 @@ public class StructuralPackageOrderController extends BaseController {
datas = datas.stream().filter(it -> StrUtil.equals(request.getOrderNo(), it.getOrderNo())).toList(); datas = datas.stream().filter(it -> StrUtil.equals(request.getOrderNo(), it.getOrderNo())).toList();
} }
} }
if (Objects.equals(request.getType(), 1)){
datas.forEach(it -> {
SAPMaterialInfoInOrderDTO zim004DTO = sapService.zim004(it.getOrderNo(), request.getSupplierNo(), it.getMaterialNo());
VUtil.trueThrowBusinessError(Objects.isNull(zim004DTO))
.throwMessage(StrUtil.format("供应商({})下的采购单({})物料({})未找到订单详情(zim004)数据", request.getSupplierNo(), it.getOrderNo(), it.getMaterialNo()));
it.setLbprt(zim004DTO.getLbprt());
if (StrUtil.equals("2", it.getLbprt()) || StrUtil.equals("4", it.getLbprt())) {
it.setBatchNo(NoUtil.getBatchNo(request.getSupplierNo()));
}
});
}
return ApiResult.success(datas); return ApiResult.success(datas);
} }

View File

@ -249,8 +249,8 @@ public class SapService {
.setMaterialDesc(tOut.getString("TXZ01")) .setMaterialDesc(tOut.getString("TXZ01"))
.setOrderNum(tOut.getBigDecimal("MENGE")) .setOrderNum(tOut.getBigDecimal("MENGE"))
.setReceivedNum(tOut.getBigDecimal("WEMNG")) .setReceivedNum(tOut.getBigDecimal("WEMNG"))
.setTransportNum(tOut.getBigDecimal("ZZTSL"))) .setTransportNum(tOut.getBigDecimal("ZZTSL"))
; );
} }
log.debug("数据:{}", JSONUtil.toJsonStr(result)); log.debug("数据:{}", JSONUtil.toJsonStr(result));
return result; return result;

View File

@ -1,5 +1,6 @@
package com.nflg.wms.admin.util; package com.nflg.wms.admin.util;
import cn.hutool.core.util.StrUtil;
import com.nflg.wms.common.util.DateTimeUtil; import com.nflg.wms.common.util.DateTimeUtil;
import java.time.LocalDate; import java.time.LocalDate;
@ -18,4 +19,9 @@ public class NoUtil {
public static String getForDeliverNo() { public static String getForDeliverNo() {
return "SH"+DateTimeUtil.format(LocalDateTime.now(), "yyyyMMddHHmmss"); return "SH"+DateTimeUtil.format(LocalDateTime.now(), "yyyyMMddHHmmss");
} }
public static String getBatchNo(String supplierNo) {
return StrUtil.format("{}{}", StrUtil.subSufByLength(supplierNo, 4)
, DateTimeUtil.format(LocalDateTime.now(), "yyMMdd"));
}
} }

View File

@ -5,6 +5,10 @@
<Property name="logDir" value="./logs" /> <Property name="logDir" value="./logs" />
<springProperty scope="context" name="appName" source="spring.application.name" defaultValue="admin"/>
<springProperty scope="context" name="profile" source="spring.profiles.active" defaultValue="dev"/>
<define name="HOSTIP" class="com.nflg.wms.starter.definer.HostIpDefiner"/>
<!-- 控制台输出配置 --> <!-- 控制台输出配置 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder> <encoder>
@ -45,17 +49,45 @@
<append>true</append> <append>true</append>
</appender> </appender>
<appender name="LOKI" class="com.github.loki4j.logback.Loki4jAppender">
<http>
<url>http://192.168.163.83:3100/loki/api/v1/push</url>
</http>
<labels>
service_name = wms
app = ${appName}
profile = ${profile}
host = ${HOSTIP}
</labels>
<structuredMetadata>
level = %level
thread = %thread
class = %logger
</structuredMetadata>
<batch>
<staticLabels>true</staticLabels>
<maxItems>5</maxItems>
<timeoutMs>10000</timeoutMs>
</batch>
<message>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] %-5level %logger{50} - %msg %ex</pattern>
</message>
</appender>
<logger name="com.alibaba.nacos" level="warn" additivity="false"> <logger name="com.alibaba.nacos" level="warn" additivity="false">
<appender-ref ref="FILE"/> <!-- <appender-ref ref="FILE"/>-->
<appender-ref ref="LOKI"/>
</logger> </logger>
<logger name="tech.powerjob" level="INFO" additivity="false"> <logger name="tech.powerjob" level="INFO" additivity="false">
<appender-ref ref="POWERJOB_WORKER_APPENDER" /> <!-- <appender-ref ref="POWERJOB_WORKER_APPENDER" />-->
<appender-ref ref="LOKI"/>
</logger> </logger>
<!-- 默认配置 --> <!-- 默认配置 -->
<root level="DEBUG"> <root level="DEBUG">
<appender-ref ref="CONSOLE"/> <appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/> <!-- <appender-ref ref="FILE"/>-->
<appender-ref ref="LOKI"/>
</root> </root>
</configuration> </configuration>

View File

@ -1,8 +1,11 @@
package com.nflg.wms.admin; package com.nflg.wms.admin;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.nflg.wms.common.util.DateTimeUtil;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import java.time.LocalDateTime;
public class ATest { public class ATest {
@Test @Test
@ -16,4 +19,10 @@ public class ATest {
String index="0000"; String index="0000";
System.out.println(StrUtil.removeAllPrefix(index,"0")); System.out.println(StrUtil.removeAllPrefix(index,"0"));
} }
@Test
public void test3(){
String date=DateTimeUtil.format(LocalDateTime.now(), "yyMMdd");
System.out.println(date);
}
} }

View File

@ -40,49 +40,10 @@
<groupId>org.springframework.ldap</groupId> <groupId>org.springframework.ldap</groupId>
<artifactId>spring-ldap-core</artifactId> <artifactId>spring-ldap-core</artifactId>
</dependency> </dependency>
<!-- <dependency>--> <dependency>
<!-- <groupId>org.springframework.boot</groupId>--> <groupId>com.github.loki4j</groupId>
<!-- <artifactId>spring-boot-starter-web</artifactId>--> <artifactId>loki-logback-appender</artifactId>
<!-- </dependency>--> </dependency>
<!-- <dependency>-->
<!-- <groupId>com.alibaba.cloud</groupId>-->
<!-- <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>-->
<!-- <exclusions>-->
<!-- <exclusion>-->
<!-- <artifactId>logback-adapter</artifactId>-->
<!-- <groupId>com.alibaba.nacos</groupId>-->
<!-- </exclusion>-->
<!-- </exclusions>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>com.alibaba.cloud</groupId>-->
<!-- <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-starter</artifactId>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.projectlombok</groupId>-->
<!-- <artifactId>lombok</artifactId>-->
<!-- <optional>true</optional>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>cn.dev33</groupId>-->
<!-- <artifactId>sa-token-spring-boot3-starter</artifactId>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>cn.dev33</groupId>-->
<!-- <artifactId>sa-token-sso</artifactId>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>cn.dev33</groupId>-->
<!-- <artifactId>sa-token-redis-jackson</artifactId>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.apache.commons</groupId>-->
<!-- <artifactId>commons-pool2</artifactId>-->
<!-- </dependency>-->
</dependencies> </dependencies>
<build> <build>

View File

@ -17,6 +17,7 @@ public class AuthApplication {
SpringApplication.run(AuthApplication.class, args); SpringApplication.run(AuthApplication.class, args);
log.info("---------------------- Sa-Token SSO 统一认证中心启动成功 ----------------------"); log.info("---------------------- Sa-Token SSO 统一认证中心启动成功 ----------------------");
log.info("配置信息:" + SaSsoManager.getServerConfig()); log.info("配置信息:" + SaSsoManager.getServerConfig());
log.info("服务已启动");
} }
} }

View File

@ -0,0 +1,8 @@
logging:
level:
root: info
com:
nflg: debug
alibaba:
cloud:
nacos: debug

View File

@ -5,6 +5,10 @@
<Property name="logDir" value="./logs" /> <Property name="logDir" value="./logs" />
<springProperty scope="context" name="appName" source="spring.application.name" defaultValue="admin"/>
<springProperty scope="context" name="profile" source="spring.profiles.active" defaultValue="dev"/>
<define name="HOSTIP" class="com.nflg.wms.starter.definer.HostIpDefiner"/>
<!-- 控制台输出配置 --> <!-- 控制台输出配置 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder> <encoder>
@ -32,13 +36,40 @@
</encoder> </encoder>
</appender> </appender>
<appender name="LOKI" class="com.github.loki4j.logback.Loki4jAppender">
<http>
<url>http://192.168.163.83:3100/loki/api/v1/push</url>
</http>
<labels>
service_name = wms
app = ${appName}
profile = ${profile}
host = ${HOSTIP}
</labels>
<structuredMetadata>
level = %level
thread = %thread
class = %logger
</structuredMetadata>
<batch>
<staticLabels>true</staticLabels>
<maxItems>5</maxItems>
<timeoutMs>10000</timeoutMs>
</batch>
<message>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] %-5level %logger{50} - %msg %ex</pattern>
</message>
</appender>
<logger name="com.alibaba.nacos" level="warn" additivity="false"> <logger name="com.alibaba.nacos" level="warn" additivity="false">
<appender-ref ref="FILE"/> <!-- <appender-ref ref="FILE"/>-->
<appender-ref ref="LOKI"/>
</logger> </logger>
<!-- 默认配置 --> <!-- 默认配置 -->
<root level="DEBUG"> <root level="DEBUG">
<appender-ref ref="CONSOLE"/> <appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/> <!-- <appender-ref ref="FILE"/>-->
<appender-ref ref="LOKI"/>
</root> </root>
</configuration> </configuration>

View File

@ -53,4 +53,11 @@ public class SAPOrderDTO {
* 在途数量 * 在途数量
*/ */
private BigDecimal transportNum; private BigDecimal transportNum;
private String lbprt;
/**
* 批次号
*/
private String batchNo;
} }

View File

@ -1,5 +1,7 @@
package com.nflg.wms.common.pojo.qo; package com.nflg.wms.common.pojo.qo;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -17,21 +19,25 @@ public class DeliverNormalOrderSaveItemQO {
/** /**
* 订单号 * 订单号
*/ */
@NotBlank
private String externalOrderNo; private String externalOrderNo;
/** /**
* 订单行号 * 订单行号
*/ */
@NotBlank
private String rowNo; private String rowNo;
/** /**
* 机台编号 * 机台编号
*/ */
@NotBlank
private String workbenchNo; private String workbenchNo;
/** /**
* 物料编号 * 物料编号
*/ */
@NotBlank
private String materialNo; private String materialNo;
/** /**
@ -57,17 +63,20 @@ public class DeliverNormalOrderSaveItemQO {
/** /**
* 本批数量 * 本批数量
*/ */
@NotNull
private BigDecimal batchNum; private BigDecimal batchNum;
/** /**
* 最小包装数量 * 最小包装数量
*/ */
@NotNull
private BigDecimal minPackageNum; private BigDecimal minPackageNum;
/** /**
* 标签数量 * 标签数量
*/ */
private BigDecimal lableNum; @NotNull
private Integer lableNum;
/** /**
* 批次号 * 批次号
@ -78,4 +87,7 @@ public class DeliverNormalOrderSaveItemQO {
* 序列号 * 序列号
*/ */
private String indexNo; private String indexNo;
@NotBlank
private String lbprt;
} }

View File

@ -1,13 +1,22 @@
package com.nflg.wms.common.pojo.qo; package com.nflg.wms.common.pojo.qo;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
@Data @Data
public class SearchSAPOrderQO { public class SearchSAPOrderQO {
/**
* 订单类型1普通物料订单2钢构件订单
*/
@NotNull
private Integer type;
/** /**
* 供应商编号 * 供应商编号
*/ */
@NotBlank
private String supplierNo; private String supplierNo;
/** /**

View File

@ -77,6 +77,10 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId> <artifactId>spring-boot-starter-actuator</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.github.loki4j</groupId>
<artifactId>loki-logback-appender</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

@ -14,7 +14,7 @@ public class GateWayApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(GateWayApplication.class, args); SpringApplication.run(GateWayApplication.class, args);
log.info("系统已启动"); log.info("服务已启动");
} }
} }

View File

@ -0,0 +1,19 @@
package com.nflg.wms.gateway.definer;
import ch.qos.logback.core.PropertyDefinerBase;
import ch.qos.logback.core.spi.PropertyDefiner;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class HostIpDefiner extends PropertyDefinerBase implements PropertyDefiner {
@Override
public String getPropertyValue() {
try {
return InetAddress.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
return "unknown";
}
}
}

View File

@ -0,0 +1,8 @@
logging:
level:
root: info
com:
nflg: debug
alibaba:
cloud:
nacos: warn

View File

@ -5,6 +5,10 @@
<Property name="logDir" value="./logs" /> <Property name="logDir" value="./logs" />
<springProperty scope="context" name="appName" source="spring.application.name" defaultValue="admin"/>
<springProperty scope="context" name="profile" source="spring.profiles.active" defaultValue="dev"/>
<define name="HOSTIP" class="com.nflg.wms.gateway.definer.HostIpDefiner"/>
<!-- 控制台输出配置 --> <!-- 控制台输出配置 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder> <encoder>
@ -32,15 +36,42 @@
</encoder> </encoder>
</appender> </appender>
<appender name="LOKI" class="com.github.loki4j.logback.Loki4jAppender">
<http>
<url>http://192.168.163.83:3100/loki/api/v1/push</url>
</http>
<labels>
service_name = wms
app = ${appName}
profile = ${profile}
host = ${HOSTIP}
</labels>
<structuredMetadata>
level = %level
thread = %thread
class = %logger
</structuredMetadata>
<batch>
<staticLabels>true</staticLabels>
<maxItems>5</maxItems>
<timeoutMs>10000</timeoutMs>
</batch>
<message>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] %-5level %logger{50} - %msg %ex</pattern>
</message>
</appender>
<logger name="com.alibaba.nacos" level="warn" additivity="false"> <logger name="com.alibaba.nacos" level="warn" additivity="false">
<appender-ref ref="ASYNC_FILE"/> <!-- <appender-ref ref="ASYNC_FILE"/>-->
<appender-ref ref="LOKI"/>
</logger> </logger>
<!-- 异步处理文件日志,提高性能 --> <!-- 异步处理文件日志,提高性能 -->
<appender name="ASYNC_FILE" class="ch.qos.logback.classic.AsyncAppender"> <appender name="ASYNC_FILE" class="ch.qos.logback.classic.AsyncAppender">
<discardingThreshold>0</discardingThreshold> <discardingThreshold>0</discardingThreshold>
<queueSize>512</queueSize> <queueSize>512</queueSize>
<appender-ref ref="FILE"/> <!-- <appender-ref ref="FILE"/>-->
<appender-ref ref="LOKI"/>
</appender> </appender>
<!-- 默认配置 --> <!-- 默认配置 -->

View File

@ -131,4 +131,6 @@ public class WmsNormalPrintOrder implements Serializable {
* 最后更新时间 * 最后更新时间
*/ */
private LocalDateTime updateTime; private LocalDateTime updateTime;
private String lbprt;
} }

View File

@ -20,11 +20,6 @@
<groupId>com.nflg</groupId> <groupId>com.nflg</groupId>
<artifactId>nflg-wms-starter</artifactId> <artifactId>nflg-wms-starter</artifactId>
</dependency> </dependency>
<!-- <dependency>-->
<!-- <groupId>tech.powerjob</groupId>-->
<!-- <artifactId>powerjob-client</artifactId>-->
<!-- <version>5.1.1</version>-->
<!-- </dependency>-->
<dependency> <dependency>
<groupId>com.sap.conn.jco</groupId> <groupId>com.sap.conn.jco</groupId>
<artifactId>sapjco3</artifactId> <artifactId>sapjco3</artifactId>
@ -36,6 +31,10 @@
<groupId>tech.powerjob</groupId> <groupId>tech.powerjob</groupId>
<artifactId>powerjob-worker</artifactId> <artifactId>powerjob-worker</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.github.loki4j</groupId>
<artifactId>loki-logback-appender</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

@ -1,6 +1,5 @@
package com.nflg.wms.scheduled; package com.nflg.wms.scheduled;
import com.sap.conn.jco.JCoException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
@ -11,9 +10,9 @@ import org.springframework.context.annotation.ComponentScan;
@ComponentScan(basePackages = {"com.nflg.wms.scheduled","com.nflg.wms.starter","com.nflg.wms.repository"}) @ComponentScan(basePackages = {"com.nflg.wms.scheduled","com.nflg.wms.starter","com.nflg.wms.repository"})
public class ScheduledApplication { public class ScheduledApplication {
public static void main(String[] args) throws JCoException { public static void main(String[] args) {
SpringApplication.run(ScheduledApplication.class, args); SpringApplication.run(ScheduledApplication.class, args);
log.info("启动成功"); log.info("服务已启动");
// SapService sapService=SpringUtil.getBean(SapService.class); // SapService sapService=SpringUtil.getBean(SapService.class);
// sapService.syncFrom("1010", List.of("0007"), LocalDateTime.now().minusMonths(1), LocalDateTime.now()); // sapService.syncFrom("1010", List.of("0007"), LocalDateTime.now().minusMonths(1), LocalDateTime.now());

View File

@ -6,5 +6,3 @@ logging:
alibaba: alibaba:
cloud: cloud:
nacos: info nacos: info
org:
springframework: info

View File

@ -6,5 +6,3 @@ logging:
alibaba: alibaba:
cloud: cloud:
nacos: debug nacos: debug
org:
springframework: debug

View File

@ -5,6 +5,10 @@
<Property name="logDir" value="./logs" /> <Property name="logDir" value="./logs" />
<springProperty scope="context" name="appName" source="spring.application.name" defaultValue="admin"/>
<springProperty scope="context" name="profile" source="spring.profiles.active" defaultValue="dev"/>
<define name="HOSTIP" class="com.nflg.wms.starter.definer.HostIpDefiner"/>
<!-- 控制台输出配置 --> <!-- 控制台输出配置 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder> <encoder>
@ -45,17 +49,45 @@
<append>true</append> <append>true</append>
</appender> </appender>
<appender name="LOKI" class="com.github.loki4j.logback.Loki4jAppender">
<http>
<url>http://192.168.163.83:3100/loki/api/v1/push</url>
</http>
<labels>
service_name = wms
app = ${appName}
profile = ${profile}
host = ${HOSTIP}
</labels>
<structuredMetadata>
level = %level
thread = %thread
class = %logger
</structuredMetadata>
<batch>
<staticLabels>true</staticLabels>
<maxItems>5</maxItems>
<timeoutMs>10000</timeoutMs>
</batch>
<message>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] %-5level %logger{50} - %msg %ex</pattern>
</message>
</appender>
<logger name="com.alibaba.nacos" level="warn" additivity="false"> <logger name="com.alibaba.nacos" level="warn" additivity="false">
<appender-ref ref="FILE"/> <!-- <appender-ref ref="FILE"/>-->
<appender-ref ref="LOKI"/>
</logger> </logger>
<logger name="tech.powerjob" level="INFO" additivity="false"> <logger name="tech.powerjob" level="INFO" additivity="false">
<appender-ref ref="POWERJOB_WORKER_APPENDER" /> <!-- <appender-ref ref="POWERJOB_WORKER_APPENDER" />-->
<appender-ref ref="LOKI"/>
</logger> </logger>
<!-- 默认配置 --> <!-- 默认配置 -->
<root level="DEBUG"> <root level="DEBUG">
<appender-ref ref="CONSOLE"/> <appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/> <!-- <appender-ref ref="FILE"/>-->
<appender-ref ref="LOKI"/>
</root> </root>
</configuration> </configuration>

View File

@ -0,0 +1,19 @@
package com.nflg.wms.starter.definer;
import ch.qos.logback.core.PropertyDefinerBase;
import ch.qos.logback.core.spi.PropertyDefiner;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class HostIpDefiner extends PropertyDefinerBase implements PropertyDefiner {
@Override
public String getPropertyValue() {
try {
return InetAddress.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
return "unknown";
}
}
}

View File

@ -44,6 +44,7 @@
<cglib.version>3.3.0</cglib.version> <cglib.version>3.3.0</cglib.version>
<powerjob.version>5.1.1</powerjob.version> <powerjob.version>5.1.1</powerjob.version>
<zxing.version>3.5.3</zxing.version> <zxing.version>3.5.3</zxing.version>
<loki-logback-appender.version>2.0.0</loki-logback-appender.version>
</properties> </properties>
<dependencyManagement> <dependencyManagement>
<dependencies> <dependencies>
@ -173,6 +174,11 @@
<artifactId>javase</artifactId> <artifactId>javase</artifactId>
<version>${zxing.version}</version> <version>${zxing.version}</version>
</dependency> </dependency>
<dependency>
<groupId>com.github.loki4j</groupId>
<artifactId>loki-logback-appender</artifactId>
<version>${loki-logback-appender.version}</version>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
<dependencies> <dependencies>