代码更新

This commit is contained in:
ldj_willow
2022-07-12 23:54:04 +08:00
parent 09f389fca0
commit 43110aed0e
18 changed files with 105 additions and 273 deletions

View File

@@ -26,26 +26,6 @@
<version>6.6</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.4.2</version>
</dependency>
<!--
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.1.11</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.11</version>
</dependency>
-->
<!-- JetCache Redis 依赖-->
<dependency>
<groupId>com.alicp.jetcache</groupId>

View File

@@ -1,84 +1,21 @@
package org.nl.config;
import cn.hutool.core.util.StrUtil;
import com.alibaba.druid.pool.DruidDataSource;
import lombok.extern.slf4j.Slf4j;
import org.nl.modules.mnt.util.DataTypeEnum;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import javax.sql.DataSource;
import java.sql.DriverManager;
import java.sql.SQLException;
@Configuration
@Slf4j
public class DataBaseConfig {
@Value("${erp.sqlserver.jdbcurl}")
private String sqlserverJdbcUrl;
@Value("${erp.sqlserver.username}")
private String sqlserverUserName;
@Value("${erp.sqlserver.password}")
private String sqlserverPassword;
@Value("${erp.sqlserver.enabled}")
private boolean sqlserverIsConnect;
@Primary
@Bean(name = "dataSource")
@ConfigurationProperties(prefix = "spring.datasource.druid")
public DataSource dataSource() {
return new DruidDataSource();
}
/* @Bean(name = "dataSource2")
@ConditionalOnExpression("${erp.sqlserver.enabled:true}")
public DataSource dataSource2() {
System.out.println("是否连接Sqlserver"+sqlserverIsConnect);
String jdbcUrl = sqlserverJdbcUrl;
String userName = sqlserverUserName;
String password = sqlserverPassword;
DruidDataSource druidDataSource = new DruidDataSource();
String className;
try {
className = DriverManager.getDriver(jdbcUrl.trim()).getClass().getName();
} catch (SQLException e) {
throw new RuntimeException("Get class name error: =" + jdbcUrl);
}
if (StrUtil.isEmpty(className)) {
DataTypeEnum dataTypeEnum = DataTypeEnum.urlOf(jdbcUrl);
if (null == dataTypeEnum) {
throw new RuntimeException("Not supported data type: jdbcUrl=" + jdbcUrl);
}
druidDataSource.setDriverClassName(dataTypeEnum.getDriver());
} else {
druidDataSource.setDriverClassName(className);
}
druidDataSource.setUrl(jdbcUrl);
druidDataSource.setUsername(userName);
druidDataSource.setPassword(password);
// 配置获取连接等待超时的时间
druidDataSource.setMaxWait(3000);
// 配置初始化大小、最小、最大
druidDataSource.setInitialSize(5);
druidDataSource.setMinIdle(5);
druidDataSource.setMaxActive(10);
// 如果链接出现异常则直接判定为失败而不是一直重试
druidDataSource.setBreakAfterAcquireFailure(true);
try {
druidDataSource.init();
} catch (SQLException e) {
log.error("Exception during pool initialization", e);
throw new RuntimeException(e.getMessage());
}
return druidDataSource;
}*/
}

View File

@@ -1,43 +0,0 @@
package org.nl.modules.log;
import ch.qos.logback.classic.spi.ILoggingEvent;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import org.bson.Document;
import org.slf4j.Marker;
/**
* https://www.cnblogs.com/lzghyh/p/14913230.html
* https://juejin.cn/post/6844903488896385037
* https://cloud.tencent.com/developer/article/1384035
* https://www.freesion.com/article/229560377/
*/
public class MongoDBAppender extends MongoDBAppenderBase<ILoggingEvent> {
public MongoDBAppender() {
super("loggingEvents");
}
@Override
protected Document toMongoDocument(ILoggingEvent eventObject) {
final Document doc = new Document();
doc.append("date", DateUtil.now());
doc.append("source", source);
Marker marker = eventObject.getMarker();
if (ObjectUtil.isEmpty(marker)) {
doc.append("marker", "root");
} else {
doc.append("marker", marker.getName());
}
doc.append("level", eventObject.getLevel().toString());
doc.append("logger", eventObject.getLoggerName());
doc.append("thread", eventObject.getThreadName());
doc.append("message", eventObject.getFormattedMessage());
if (eventObject.getMDCPropertyMap() != null && !eventObject.getMDCPropertyMap().isEmpty())
doc.append("mdc", eventObject.getMDCPropertyMap());
// ...
return doc;
}
}

View File

@@ -1,101 +1,54 @@
package org.nl.modules.log;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.UnsynchronizedAppenderBase;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientOptions;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import cn.hutool.core.util.ObjectUtil;
import com.mongodb.BasicDBObject;
import lombok.Data;
import org.bson.Document;
import org.nl.utils.SpringContextHolder;
import org.slf4j.Marker;
import org.springframework.data.mongodb.core.MongoTemplate;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Collections;
/**
* MongoDBAppender适配类
* https://www.cnblogs.com/lzghyh/p/14913230.html
* https://juejin.cn/post/6844903488896385037
* https://cloud.tencent.com/developer/article/1384035
* https://www.freesion.com/article/229560377/
* <p>
* https://cloud.tencent.com/developer/article/1384035
*/
@Data
public abstract class MongoDBAppenderBase<E> extends UnsynchronizedAppenderBase<E> {
private MongoClient mongo;
private MongoCollection<Document> eventsCollection;
private String host = "10.10.8.10"; // 地址
private int port = 27017; // 端口号
private String dbName = "db"; // 库名
private String collectionName; // 集合名
private String username; // 用户名
private String password; // 密码
protected String source;
private int connectionsPerHost = 10; // 空闲线程池中最大链接数
private int threadsAllowedToBlockForConnectionMultiplier = 5; //一个线程等待链接可用的最大等待毫秒数
private int maxWaitTime = 1000 * 60 * 2; // 最长等待时间
private int connectTimeout;
private int socketTimeout;
private int wtimeout;
MongoDBAppenderBase(String collectionName) {
this.collectionName = collectionName;
}
public class MongoDBAppenderBase<E> extends UnsynchronizedAppenderBase<ILoggingEvent> {
@Override
public void start() {
/*try {
connectToMongoDB();
super.start();
} catch (UnknownHostException e) {
addError( "Error connecting to MongoDB server: " + host + ":" + port,
e);
}*/
}
protected void append(ILoggingEvent eventObject) {
private void connectToMongoDB() throws UnknownHostException {
// 用户名 数据库 密码
if (username != null && password != null){
MongoTemplate mongoTemplate = SpringContextHolder.getBean(MongoTemplate.class);
MongoCredential credential = MongoCredential.createCredential(
username, dbName, password.toCharArray());
if (mongoTemplate != null) {
final BasicDBObject doc = new BasicDBObject();
Marker marker = eventObject.getMarker();
if (!ObjectUtil.isEmpty(marker)) {
doc.append("marker", marker.getName());
} else {
doc.append("marker", "default");
}
try {
doc.append("ip", InetAddress.getLocalHost().getHostAddress());
} catch (UnknownHostException e) {
e.printStackTrace();
}
ServerAddress serverAddress = new ServerAddress(host, port);
mongo = new MongoClient(serverAddress, Collections.singletonList(credential),buildOptions());
System.out.println();
/* MongoCredential credential = MongoCredential.createCredential(username, dbName, password.toCharArray());
mongo = new MongoClient(new ServerAddress(host, port), Collections.singletonList(credential), buildOptions());*/
}else{
mongo = new MongoClient(new ServerAddress(host, port), buildOptions());
doc.append("level", eventObject.getLevel().toString());
doc.append("logger", eventObject.getLoggerName());
doc.append("thread", eventObject.getThreadName());
doc.append("message", eventObject.getFormattedMessage());
mongoTemplate.insert(doc, "log");
}
MongoDatabase db = mongo.getDatabase(dbName);
eventsCollection = db.getCollection(collectionName);
}
private MongoClientOptions buildOptions() {
final MongoClientOptions.Builder options = new MongoClientOptions.Builder();
options.connectionsPerHost(connectionsPerHost) ;
options.threadsAllowedToBlockForConnectionMultiplier(threadsAllowedToBlockForConnectionMultiplier) ;
options.maxWaitTime(maxWaitTime) ;
options.connectTimeout(connectTimeout) ;
options.socketTimeout(socketTimeout) ;
options.maxWaitTime(wtimeout) ;
return options.build();
}
protected abstract Document toMongoDocument(E event);
@Override
protected void append(E eventObject) {
eventsCollection.insertOne(toMongoDocument(eventObject));
}
@Override
public void stop() {
if (mongo != null)
mongo.close();
super.stop();
}
}

View File

@@ -1,5 +0,0 @@
其他系统
1、acs
2、手持
3、平板
4、大屏

View File

@@ -0,0 +1,34 @@
package org.nl.wms.ext.bigScreen.rest;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.annotation.Log;
import org.nl.wms.ext.bigScreen.service.BigScreenService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author ludj
* @date 2021-07-21
**/
@RestController
@RequiredArgsConstructor
@Api(tags = "监控大屏")
@RequestMapping("/api/zkScreen")
@Slf4j
public class BigScreenController {
private final BigScreenService bigScreenService;
@PostMapping("/")
@Log("查询监控大屏")
@ApiOperation("查询监控大屏")
public ResponseEntity<Object> getData(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(bigScreenService.getData(whereJson), HttpStatus.OK);
}
}

View File

@@ -0,0 +1,14 @@
package org.nl.wms.ext.bigScreen.service;
import com.alibaba.fastjson.JSONObject;
/**
* 中控室大屏看板
*/
public interface BigScreenService {
/**
* 获取监控大屏数据
* @return
*/
public JSONObject getData( JSONObject param);
}

View File

@@ -0,0 +1,19 @@
package org.nl.wms.ext.bigScreen.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.wms.ext.bigScreen.service.BigScreenService;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
@Slf4j
public class BigScreenServiceImpl implements BigScreenService {
@Override
public JSONObject getData(JSONObject param) {
String str = "{\"production\":[{\"name_today\":\"5/8弯头\",\"materialprocess_series\":\"1002\",\"num_plan\":\"50000\",\"num_today\":\"38931\"},{\"name_today\":\"7/8弯头\",\"materialprocess_series\":\"1102\",\"num_plan\":\"20000\",\"num_today\":\"15639\"},{\"name_today\":\"15三通\",\"materialprocess_series\":\"1501\",\"num_plan\":\"0\",\"num_today\":\"0\"},{\"name_today\":\"15弯头\",\"materialprocess_series\":\"1502\",\"num_plan\":\"50000\",\"num_today\":\"38279\"},{\"name_today\":\"15直接\",\"materialprocess_series\":\"1503\",\"num_plan\":\"0\",\"num_today\":\"0\"},{\"name_today\":\"22三通\",\"materialprocess_series\":\"2201\",\"num_plan\":\"0\",\"num_today\":\"0\"},{\"name_today\":\"22弯头\",\"materialprocess_series\":\"2202\",\"num_plan\":\"20000\",\"num_today\":\"15199\"},{\"name_today\":\"22直接\",\"materialprocess_series\":\"2203\",\"num_plan\":\"0\",\"num_today\":\"0\"},{\"name_today\":\"22大小头\",\"materialprocess_series\":\"2204\",\"num_plan\":\"0\",\"num_today\":\"0\"},{\"name_today\":\"28三通\",\"materialprocess_series\":\"2801\",\"num_plan\":\"0\",\"num_today\":\"0\"},{\"name_today\":\"28弯头\",\"materialprocess_series\":\"2802\",\"num_plan\":\"0\",\"num_today\":\"0\"},{\"name_today\":\"28直接\",\"materialprocess_series\":\"2803\",\"num_plan\":\"0\",\"num_today\":\"0\"},{\"name_today\":\"28大小头\",\"materialprocess_series\":\"2804\",\"num_plan\":\"0\",\"num_today\":\"0\"},{\"name_today\":\"35大小头\",\"materialprocess_series\":\"3504\",\"num_plan\":\"0\",\"num_today\":\"0\"},{\"name_today\":\"42大小头\",\"materialprocess_series\":\"4204\",\"num_plan\":\"0\",\"num_today\":\"0\"},{\"name_today\":\"54大小头\",\"materialprocess_series\":\"5404\",\"num_plan\":\"0\",\"num_today\":\"0\"}],\"shopData\":{\"production_today1\":\"108048\",\"production_today2\":\"2.543361\",\"production_plan1\":\"140000\",\"production_plan2\":\"3.295243\",\"person_num\":\"45\",\"device_num\":\"300\",\"route_num\":\"257\",\"materials_num\":\"20.000000\",\"processed_num1\":\"170000\",\"processed_num2\":\"4.000000\",\"product_num1\":\"335000\",\"product_num2\":\"7.000000\",\"today_in1\":\"345146\",\"today_in2\":\"7.412000\",\"today_out1\":\"247700\",\"today_out2\":\"5.320000\",\"yesterday_in1\":\"393231\",\"yesterday_in2\":\"8.926000\",\"yesterday_out1\":\"291125\",\"yesterday_out2\":\"6.450000\",\"b_date\":\"2022-07-12\",\"completion_rate\":\"77.18\"},\"data_bar1\":{\"xDate\":[{\"date\":\"2022-07-12\",\"planinventory_weight\":\"5.000000\",\"need_num\":\"4.500000\",\"enough\":\"5.000000\",\"not_enough\":\"0.000000\"}]},\"data_bar2\":{\"xDate\":[{\"date\":\"2022-06-29\",\"storagecapacity_weight\":\"225.000000\",\"repertory\":\"56.000000\",\"enough\":\"225.000000\",\"not_enough\":\"0.000000\"},{\"date\":\"2022-06-30\",\"storagecapacity_weight\":\"225.000000\",\"repertory\":\"56.000000\",\"enough\":\"225.000000\",\"not_enough\":\"0.000000\"},{\"date\":\"2022-07-01\",\"storagecapacity_weight\":\"225.000000\",\"repertory\":\"56.000000\",\"enough\":\"225.000000\",\"not_enough\":\"0.000000\"},{\"date\":\"2022-07-02\",\"storagecapacity_weight\":\"225.000000\",\"repertory\":\"56.000000\",\"enough\":\"225.000000\",\"not_enough\":\"0.000000\"},{\"date\":\"2022-07-03\",\"storagecapacity_weight\":\"225.000000\",\"repertory\":\"56.000000\",\"enough\":\"225.000000\",\"not_enough\":\"0.000000\"},{\"date\":\"2022-07-04\",\"storagecapacity_weight\":\"225.000000\",\"repertory\":\"56.000000\",\"enough\":\"225.000000\",\"not_enough\":\"0.000000\"},{\"date\":\"2022-07-05\",\"storagecapacity_weight\":\"225.000000\",\"repertory\":\"56.000000\",\"enough\":\"225.000000\",\"not_enough\":\"0.000000\"},{\"date\":\"2022-07-06\",\"storagecapacity_weight\":\"225.000000\",\"repertory\":\"56.000000\",\"enough\":\"225.000000\",\"not_enough\":\"0.000000\"},{\"date\":\"2022-07-07\",\"storagecapacity_weight\":\"225.000000\",\"repertory\":\"56.000000\",\"enough\":\"225.000000\",\"not_enough\":\"0.000000\"},{\"date\":\"2022-07-08\",\"storagecapacity_weight\":\"225.000000\",\"repertory\":\"56.000000\",\"enough\":\"225.000000\",\"not_enough\":\"0.000000\"},{\"date\":\"2022-07-09\",\"storagecapacity_weight\":\"225.000000\",\"repertory\":\"56.000000\",\"enough\":\"225.000000\",\"not_enough\":\"0.000000\"},{\"date\":\"2022-07-10\",\"storagecapacity_weight\":\"225.000000\",\"repertory\":\"56.000000\",\"enough\":\"225.000000\",\"not_enough\":\"0.000000\"},{\"date\":\"2022-07-11\",\"storagecapacity_weight\":\"225.000000\",\"repertory\":\"56.000000\",\"enough\":\"225.000000\",\"not_enough\":\"0.000000\"},{\"date\":\"2022-07-12\",\"storagecapacity_weight\":\"225.000000\",\"repertory\":\"56.000000\",\"enough\":\"225.000000\",\"not_enough\":\"0.000000\"}]}}";
return JSON.parseObject(str);
}
}

View File

@@ -1,13 +1,5 @@
server:
port: 8010
#海亮sqlserver
erp:
sqlserver:
enabled: true
jdbcurl: jdbc:sqlserver://192.168.81.156;DatabaseName=hllg
username: sa
password: root
#配置数据源
spring:
@@ -68,7 +60,7 @@ spring:
mongodb:
host: 47.111.78.178
port: 27017
database: nlacs
database: nlwms
redis:
#数据库索引

View File

@@ -1,14 +1,5 @@
server:
port: 8011
#海亮sqlserver
erp:
sqlserver:
enabled: false
jdbcurl: jdbc:sqlserver://192.168.81.155;DatabaseName=hllg
username: sa
password: root
#配置数据源
spring:
profiles:

View File

@@ -43,7 +43,7 @@ rsa:
private_key: MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEA0vfvyTdGJkdbHkB8mp0f3FE0GYP3AYPaJF7jUd1M0XxFSE2ceK3k2kw20YvQ09NJKk+OMjWQl9WitG9pB6tSCQIDAQABAkA2SimBrWC2/wvauBuYqjCFwLvYiRYqZKThUS3MZlebXJiLB+Ue/gUifAAKIg1avttUZsHBHrop4qfJCwAI0+YRAiEA+W3NK/RaXtnRqmoUUkb59zsZUBLpvZgQPfj1MhyHDz0CIQDYhsAhPJ3mgS64NbUZmGWuuNKp5coY2GIj/zYDMJp6vQIgUueLFXv/eZ1ekgz2Oi67MNCk5jeTF2BurZqNLR3MSmUCIFT3Q6uHMtsB9Eha4u7hS31tj1UWE+D+ADzp59MGnoftAiBeHT7gDMuqeJHPL4b+kC+gzV4FGTfhR9q3tTbklZkD2A==
logging:
file:
path: C:\logs\nlacs\
path: C:\logs\nlwms\
demo:
monitor:
server-url: https://www.demo-monitor.com

View File

@@ -47,20 +47,12 @@ https://juejin.cn/post/6844903775631572999
</encoder>-->
</appender>
<appender name="MONGO" class="org.nl.modules.log.MongoDBAppender">
<host>192.168.46.225</host>
<port>27017</port>
<!-- <username>admin</username>
<password>123456</password>-->
<dbName>nlacs</dbName>
<collectionName>log_root</collectionName>
<source>${CONTEXT_NAME}</source>
<appender name="MONGO" class="org.nl.modules.log.MongoDBAppenderBase">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>info</level>
</filter>
</appender>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
@@ -94,7 +86,6 @@ https://juejin.cn/post/6844903775631572999
<springProfile name="dev">
<root level="debugger">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="MONGO"/>
</root>
<logger name="jdbc.audit" level="ERROR" additivity="false">