diff --git a/pom.xml b/pom.xml index dcb87b9..81b11fc 100644 --- a/pom.xml +++ b/pom.xml @@ -55,11 +55,6 @@ org.apache.commons commons-lang3 - - com.google.guava - guava - 18.0 - diff --git a/web/pom.xml b/web/pom.xml index ca8a470..f264636 100644 --- a/web/pom.xml +++ b/web/pom.xml @@ -28,11 +28,11 @@ org.springframework.boot spring-boot-starter-cache - - com.google.guava - guava - 18.0 - + + + + + org.springframework.boot spring-boot-starter-web diff --git a/web/src/main/java/com/zhehekeji/web/config/ConfigProperties.java b/web/src/main/java/com/zhehekeji/web/config/ConfigProperties.java index 7704f0a..7d2fc40 100644 --- a/web/src/main/java/com/zhehekeji/web/config/ConfigProperties.java +++ b/web/src/main/java/com/zhehekeji/web/config/ConfigProperties.java @@ -29,6 +29,8 @@ public class ConfigProperties { private String userUrl; + private KSEC ksec; + @Data public static class CameraConfig{ @@ -52,4 +54,10 @@ public class ConfigProperties { private String mediaPath; private String mp4Path; } + + @Data + public static class KSEC{ + private String ip; + private Integer port; + } } diff --git a/web/src/main/java/com/zhehekeji/web/controller/StockController.java b/web/src/main/java/com/zhehekeji/web/controller/StockController.java index acaed88..0648b34 100644 --- a/web/src/main/java/com/zhehekeji/web/controller/StockController.java +++ b/web/src/main/java/com/zhehekeji/web/controller/StockController.java @@ -119,10 +119,4 @@ public class StockController { } - @ApiOperation(value = "currentPosition") - @RequestMapping(value = "/currentPosition", method = RequestMethod.GET) - public Result currentPosition(Integer cameraId,Integer ptzId) { - JoywarePtzControlModule.turn360C8(cameraId,ptzId); - return Result.success(); - } } diff --git a/web/src/main/java/com/zhehekeji/web/entity/Category.java b/web/src/main/java/com/zhehekeji/web/entity/Category.java index 9baca87..bafbc90 100644 --- a/web/src/main/java/com/zhehekeji/web/entity/Category.java +++ b/web/src/main/java/com/zhehekeji/web/entity/Category.java @@ -20,6 +20,8 @@ public class Category { @TableId(type = IdType.AUTO) private Integer id; + private String code; + private String name; @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") diff --git a/web/src/main/java/com/zhehekeji/web/entity/KsecUpPcInfo.java b/web/src/main/java/com/zhehekeji/web/entity/KsecUpPcInfo.java deleted file mode 100644 index 7f7ae46..0000000 --- a/web/src/main/java/com/zhehekeji/web/entity/KsecUpPcInfo.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.zhehekeji.web.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; - -import java.time.LocalDateTime; - -/** - * 昆船上位机信息 - */ -@Data -@TableName("ksec_up_pc_info") -public class KsecUpPcInfo { - - private Integer id; - - private String ip; - - private Integer port; - - private String name; - - private LocalDateTime createTime; -} diff --git a/web/src/main/java/com/zhehekeji/web/entity/Stock.java b/web/src/main/java/com/zhehekeji/web/entity/Stock.java index 5df24a1..a95f08c 100644 --- a/web/src/main/java/com/zhehekeji/web/entity/Stock.java +++ b/web/src/main/java/com/zhehekeji/web/entity/Stock.java @@ -19,6 +19,9 @@ public class Stock { private String orderNum; + @ApiModelProperty("条码") + private String code; + @ApiModelProperty("品规名称") private String category; diff --git a/web/src/main/java/com/zhehekeji/web/mapper/CategoryMapper.java b/web/src/main/java/com/zhehekeji/web/mapper/CategoryMapper.java index be7cd24..e8be1a9 100644 --- a/web/src/main/java/com/zhehekeji/web/mapper/CategoryMapper.java +++ b/web/src/main/java/com/zhehekeji/web/mapper/CategoryMapper.java @@ -6,6 +6,6 @@ import org.apache.ibatis.annotations.Select; public interface CategoryMapper extends BaseMapper { - @Select(" select * from category where name = #{name} limit 1") - Category getByName(String name); + @Select(" select * from category where code = #{code} limit 1") + Category getByCode(String code); } diff --git a/web/src/main/java/com/zhehekeji/web/mapper/KsecUpPcMapper.java b/web/src/main/java/com/zhehekeji/web/mapper/KsecUpPcMapper.java deleted file mode 100644 index 945d87a..0000000 --- a/web/src/main/java/com/zhehekeji/web/mapper/KsecUpPcMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.zhehekeji.web.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.zhehekeji.web.entity.KsecUpPcInfo; - -public interface KsecUpPcMapper extends BaseMapper { -} diff --git a/web/src/main/java/com/zhehekeji/web/pojo/stock/StockExcel.java b/web/src/main/java/com/zhehekeji/web/pojo/stock/StockExcel.java index c9d2bf3..267ca59 100644 --- a/web/src/main/java/com/zhehekeji/web/pojo/stock/StockExcel.java +++ b/web/src/main/java/com/zhehekeji/web/pojo/stock/StockExcel.java @@ -6,8 +6,8 @@ import lombok.Data; @Data public class StockExcel { - @ExcelProperty(index = 0, value = "品规") - private String category; + @ExcelProperty(index = 0, value = "条码") + private String code; @ExcelProperty(index = 1, value = "数量") private Integer count; diff --git a/web/src/main/java/com/zhehekeji/web/service/CategoryImportListener.java b/web/src/main/java/com/zhehekeji/web/service/CategoryImportListener.java new file mode 100644 index 0000000..56c3b2b --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/service/CategoryImportListener.java @@ -0,0 +1,48 @@ +package com.zhehekeji.web.service; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.zhehekeji.web.entity.CameraIOConfig; +import com.zhehekeji.web.entity.Category; +import com.zhehekeji.web.mapper.CameraIOConfigMapper; +import com.zhehekeji.web.mapper.CategoryMapper; +import com.zhehekeji.web.pojo.camera.IOImport; +import lombok.extern.slf4j.Slf4j; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.stream.Collectors; + +/** + * IO表导入 + */ +@Slf4j +public class CategoryImportListener extends AnalysisEventListener { + + private CategoryMapper categoryMapper; + + public CategoryImportListener(CategoryMapper categoryMapper){ + this.categoryMapper = categoryMapper; + } + + @Override + public void invoke(Category category, AnalysisContext analysisContext) { + Category old = categoryMapper.getByCode(category.getCode()); + if(old == null){ + category.setUpdateTime(LocalDateTime.now()); + categoryMapper.insert(category); + }else { + //更改名字 + old.setName(category.getName()); + old.setUpdateTime(LocalDateTime.now()); + } + + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + + } +} diff --git a/web/src/main/java/com/zhehekeji/web/service/CategoryService.java b/web/src/main/java/com/zhehekeji/web/service/CategoryService.java index cb6f347..6c13cd4 100644 --- a/web/src/main/java/com/zhehekeji/web/service/CategoryService.java +++ b/web/src/main/java/com/zhehekeji/web/service/CategoryService.java @@ -1,6 +1,7 @@ package com.zhehekeji.web.service; import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.read.builder.ExcelReaderBuilder; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; @@ -8,6 +9,7 @@ import com.github.pagehelper.PageInfo; import com.zhehekeji.core.util.Assert; import com.zhehekeji.web.entity.Category; import com.zhehekeji.web.mapper.CategoryMapper; +import com.zhehekeji.web.pojo.camera.IOImport; import com.zhehekeji.web.pojo.category.CategoryExcel; import com.zhehekeji.web.pojo.category.CategoryModel; import com.zhehekeji.web.pojo.category.PageSearch; @@ -76,6 +78,11 @@ public class CategoryService { return category.getId(); } +// public void importExcel(MultipartFile file) throws IOException { +// EasyExcel.read(file.getInputStream(), Category.class, new CategoryImportListener(categoryMapper)).sheet().doRead(); +// return; +// } + public Integer importExcel(MultipartFile file) throws IOException { XSSFWorkbook wb = new XSSFWorkbook(file.getInputStream()); XSSFSheet sheet = wb.getSheetAt(0); @@ -97,36 +104,28 @@ public class CategoryService { int columns = firstRow.getLastCellNum(); for (int i = 1; i < rows; i++) { XSSFRow row = sheet.getRow(i); - StringBuffer category = new StringBuffer(); - for(int j = 0;j 0){ - category.deleteCharAt(category.length()-1); + XSSFCell cell1 = row.getCell(1); + if(cell1 != null){ + String name = cell.getStringCellValue(); + category.setName(name); } - insert(category.toString()); - } - } - - public Integer insert(String name){ - Category category = categoryMapper.getByName(name); - if(category == null){ - category = new Category(); - category.setName(name); - category.setUpdateTime(LocalDateTime.now()); - try { + Category old = categoryMapper.getByCode(category.getCode()); + if(old == null){ + category.setUpdateTime(LocalDateTime.now()); categoryMapper.insert(category); - }catch (DuplicateKeyException e){ - log.warn("品规已存在:{}",name); + }else { + //更改名字 + old.setName(category.getName()); + old.setUpdateTime(LocalDateTime.now()); + categoryMapper.updateById(old); } } - return category.getId(); } } diff --git a/web/src/main/java/com/zhehekeji/web/service/InitService.java b/web/src/main/java/com/zhehekeji/web/service/InitService.java index fa74c4a..3e8eee2 100644 --- a/web/src/main/java/com/zhehekeji/web/service/InitService.java +++ b/web/src/main/java/com/zhehekeji/web/service/InitService.java @@ -2,17 +2,14 @@ package com.zhehekeji.web.service; import com.zhehekeji.web.config.ConfigProperties; import com.zhehekeji.web.entity.Camera; -import com.zhehekeji.web.entity.KsecUpPcInfo; import com.zhehekeji.web.entity.Street; import com.zhehekeji.web.lib.*; import com.zhehekeji.web.lib.joyware.NetSDKLib; import com.zhehekeji.web.mapper.CameraMapper; -import com.zhehekeji.web.mapper.KsecUpPcMapper; import com.zhehekeji.web.mapper.StreetMapper; import com.zhehekeji.web.service.ksec.KsecNettyClient; import com.zhehekeji.web.service.robotic.NettyClient; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Component; @@ -44,9 +41,6 @@ public class InitService implements ApplicationRunner { @Resource private ConfigProperties configProperties; - @Resource - private KsecUpPcMapper upPcMapper; - @Override public void run(ApplicationArguments args) throws Exception { //球机登录 @@ -74,7 +68,7 @@ public class InitService implements ApplicationRunner { }else if(configProperties.getServerMode() == 1){ log.info("KESC JSON MODE"); // 昆船协议 - KsecUpPcInfo ksec = upPcMapper.selectById(1); + ConfigProperties.KSEC ksec = configProperties.getKsec(); if(ksec != null){ StreetConn.init(1,"ksec"); try { diff --git a/web/src/main/java/com/zhehekeji/web/service/PlcService.java b/web/src/main/java/com/zhehekeji/web/service/PlcService.java index 75621b9..4b63819 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcService.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcService.java @@ -63,7 +63,7 @@ public class PlcService { } /** - * 开始工单 + * 开始工单 robotic plcId是plcId,昆船的plcId是来自包体,即srmNumber * @param plcOrderInfo * @param plcId */ diff --git a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java index e7f25c9..5f1e9b1 100644 --- a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java +++ b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java @@ -8,6 +8,8 @@ import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.DelimiterBasedFrameDecoder; import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.nio.charset.Charset; @@ -17,6 +19,8 @@ import java.nio.charset.Charset; @Slf4j public class KsecDecoder extends DelimiterBasedFrameDecoder { + private static final Logger tcpLogger = LoggerFactory.getLogger("tcp"); + private PlcService plcService; public KsecDecoder(int maxFrameLength, ByteBuf delimiter, PlcService plcService) { @@ -32,6 +36,7 @@ public class KsecDecoder extends DelimiterBasedFrameDecoder { // 去掉首尾标识符 body = body.substring(1, body.length()); KsecInfo ksecInfo = JSONObject.parseObject(body, KsecInfo.class); + tcpLogger.info("info:{}",body); log.info("receieve info:{}", ksecInfo); KsecDataInfo dataInfo = ksecInfo.getData(); PlcOrderInfo plcOrderInfo = null; diff --git a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecNettyClient.java b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecNettyClient.java index 4bd4755..715a90a 100644 --- a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecNettyClient.java +++ b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecNettyClient.java @@ -1,8 +1,7 @@ package com.zhehekeji.web.service.ksec; -import com.zhehekeji.web.entity.KsecUpPcInfo; -import com.zhehekeji.web.mapper.KsecUpPcMapper; +import com.zhehekeji.web.config.ConfigProperties; import com.zhehekeji.web.service.PlcService; import io.netty.bootstrap.Bootstrap; import io.netty.channel.Channel; @@ -23,7 +22,7 @@ public class KsecNettyClient { @Resource private PlcService plcService; @Resource - private KsecUpPcMapper ksecUpPcMapper; + private ConfigProperties configProperties; /** * 重连最大次数 @@ -32,7 +31,7 @@ public class KsecNettyClient { private static Channel channel; - public void createClient(KsecUpPcInfo ksec){ + public void createClient(ConfigProperties.KSEC ksec){ if (StringUtils.isEmpty(ksec.getIp()) || ksec.getPort() == null) { return; } @@ -59,7 +58,7 @@ public class KsecNettyClient { public void reconnect(Integer upId) { Boolean isConnected = false; int num = 0; - KsecUpPcInfo ksec = ksecUpPcMapper.selectById(upId); + ConfigProperties.KSEC ksec = configProperties.getKsec(); if (ksec == null) { log.error("reconnect ,upPc is null ,id:{}", upId); return; @@ -78,7 +77,7 @@ public class KsecNettyClient { if (isConnected) { log.info("plc reconnect success"); } else { - log.error("plc reconnect error .upPcId:{},reconnect num:{},name:{},ip:{},port:{}", upId, num, ksec.getName(), ksec.getIp(), ksec.getPort()); + log.error("plc reconnect error .upPcId:{},reconnect num:{},ip:{},port:{}", upId, num, ksec.getIp(), ksec.getPort()); } } diff --git a/web/src/main/java/com/zhehekeji/web/service/robotic/ProtocolDecoder.java b/web/src/main/java/com/zhehekeji/web/service/robotic/ProtocolDecoder.java index c7c08bd..dbff7c4 100644 --- a/web/src/main/java/com/zhehekeji/web/service/robotic/ProtocolDecoder.java +++ b/web/src/main/java/com/zhehekeji/web/service/robotic/ProtocolDecoder.java @@ -7,6 +7,8 @@ import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.FixedLengthFrameDecoder; import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.nio.charset.Charset; @@ -14,6 +16,8 @@ import java.nio.charset.Charset; @Slf4j public class ProtocolDecoder extends FixedLengthFrameDecoder { + private static final Logger tcpLogger = LoggerFactory.getLogger("tcp"); + private PlcService plcService; public ProtocolDecoder(PlcService plcService) { @@ -85,7 +89,8 @@ public class ProtocolDecoder extends FixedLengthFrameDecoder { //String barCodeSys = String.valueOf(b5)+b6+b7+b8; String barCodeSys = new String(bytesBarNumSys, "UTF-8"); if(!type.equals(HEART)){ - log.info("plcId:{},原始信号:{}", plcId, signal); + //log.info("plcId:{},原始信号:{}", plcId, signal); + tcpLogger.info("plcId:{},原始信号:{}", plcId, signal); } if (type.equals(HEART)) { //心跳 diff --git a/web/src/main/resources/application-dev.yml b/web/src/main/resources/application-dev.yml index 8cd6e64..4039734 100644 --- a/web/src/main/resources/application-dev.yml +++ b/web/src/main/resources/application-dev.yml @@ -1,8 +1,3 @@ -logging: - level: - com.zhehekeji: debug - org.springframework.web: info - root: info spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver @@ -22,13 +17,6 @@ spring: url: jdbc:mysql://115.236.65.98:12004/lia_duoji?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8 username: root validationQuery: SELECT 1 FROM DUAL -zhehe: - common: - redis: - prefix: spring - filter: - enable: true - postToken: w89euijon2&UHBTY$%huni34ri # --------本服务端口号 server: port: 8099 @@ -48,8 +36,11 @@ cameraConfig: savePath: mediaPath: d:\\data\media\ mp4Path: d:\\data\mp4\ -# ------------服务端类型 0:TCP(罗伯泰克) 1:JSON(昆船) +# ------------服务端类型 0:TCP(罗伯泰克) 1:KSEC(JSON)(昆船) serverMode: 1 +ksec: + ip: 127.0.0.1 + port: 3000 # ------------ 实时视频流 全部页面的格式 行列数量 videoStyleConfig: videoStyleRow: 2 diff --git a/web/src/main/resources/application-prod.yml b/web/src/main/resources/application-prod.yml index 604f94b..a6f7824 100644 --- a/web/src/main/resources/application-prod.yml +++ b/web/src/main/resources/application-prod.yml @@ -1,8 +1,3 @@ -logging: - level: - com.zhehekeji: debug - org.springframework.web: info - root: info spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver @@ -22,13 +17,6 @@ spring: url: jdbc:mysql://115.236.65.98:12004/lia_duoji?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8 username: root validationQuery: SELECT 1 FROM DUAL -zhehe: - common: - redis: - prefix: spring - filter: - enable: true - postToken: w89euijon2&UHBTY$%huni34ri # --------本服务端口号 server: port: 8099 @@ -37,19 +25,28 @@ server: userUrl: http://115.236.65.98:11001 # ----------- # ----默认摄像头的连接信息 -cameraPassword: admin123 -cameraUser: admin -cameraPort: 37777 +cameraConfig: + # ------------球機選擇--- 0:中威 1:海康 + cameraType: 0 + cameraPassword: admin123 + cameraUser: admin + cameraPort: 37777 # ------------ # -----图片 mp4下载地址 -mediaPath: d:\\data\media\ -mp4Path: d:\\data\mp4\ -# ------------球機選擇--- 0:中威 1:海康 -cameraType: 1 -# ------------服务端类型 0:TCP 1:JSON +savePath: + mediaPath: d:\\data\media\ + mp4Path: d:\\data\mp4\ +# ------------服务端类型 0:TCP(罗伯泰克) 1:KSEC(JSON)(昆船) serverMode: 1 +ksec: + ip: 127.0.0.1 + port: 3000 # ------------ 实时视频流 全部页面的格式 行列数量 -videoStyleRow: 2 -videoStyleColumn: 2 +videoStyleConfig: + videoStyleRow: 2 + videoStyleColumn: 2 # ------------球机m3u8默认地址 %d是球机数据库id,如果数据库没有,就使用此默认值 -mediaServer: http://127.0.0.1:9080/hls/camera%d.m3u8 \ No newline at end of file +mediaServer: http://127.0.0.1:9080/hls/camera%d.m3u8 +rtcServer: + rtcServerIp: 127.0.0.1 + rtcServerPort: 8083 \ No newline at end of file diff --git a/web/src/main/resources/application-test.yml b/web/src/main/resources/application-test.yml index 604f94b..a6f7824 100644 --- a/web/src/main/resources/application-test.yml +++ b/web/src/main/resources/application-test.yml @@ -1,8 +1,3 @@ -logging: - level: - com.zhehekeji: debug - org.springframework.web: info - root: info spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver @@ -22,13 +17,6 @@ spring: url: jdbc:mysql://115.236.65.98:12004/lia_duoji?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8 username: root validationQuery: SELECT 1 FROM DUAL -zhehe: - common: - redis: - prefix: spring - filter: - enable: true - postToken: w89euijon2&UHBTY$%huni34ri # --------本服务端口号 server: port: 8099 @@ -37,19 +25,28 @@ server: userUrl: http://115.236.65.98:11001 # ----------- # ----默认摄像头的连接信息 -cameraPassword: admin123 -cameraUser: admin -cameraPort: 37777 +cameraConfig: + # ------------球機選擇--- 0:中威 1:海康 + cameraType: 0 + cameraPassword: admin123 + cameraUser: admin + cameraPort: 37777 # ------------ # -----图片 mp4下载地址 -mediaPath: d:\\data\media\ -mp4Path: d:\\data\mp4\ -# ------------球機選擇--- 0:中威 1:海康 -cameraType: 1 -# ------------服务端类型 0:TCP 1:JSON +savePath: + mediaPath: d:\\data\media\ + mp4Path: d:\\data\mp4\ +# ------------服务端类型 0:TCP(罗伯泰克) 1:KSEC(JSON)(昆船) serverMode: 1 +ksec: + ip: 127.0.0.1 + port: 3000 # ------------ 实时视频流 全部页面的格式 行列数量 -videoStyleRow: 2 -videoStyleColumn: 2 +videoStyleConfig: + videoStyleRow: 2 + videoStyleColumn: 2 # ------------球机m3u8默认地址 %d是球机数据库id,如果数据库没有,就使用此默认值 -mediaServer: http://127.0.0.1:9080/hls/camera%d.m3u8 \ No newline at end of file +mediaServer: http://127.0.0.1:9080/hls/camera%d.m3u8 +rtcServer: + rtcServerIp: 127.0.0.1 + rtcServerPort: 8083 \ No newline at end of file diff --git a/web/src/main/resources/application.yml b/web/src/main/resources/application.yml index d0f5ce9..e889152 100644 --- a/web/src/main/resources/application.yml +++ b/web/src/main/resources/application.yml @@ -2,7 +2,7 @@ spring: profiles: active: @profileActive@ application: - name: springbootstart-web + name: duoji-web mvc: #视图路径配置 view: @@ -21,3 +21,12 @@ mapper: identity: MYSQL not-empty: true style: normal +zhehe: + common: + redis: + prefix: spring + filter: + enable: true + postToken: w89euijon2&UHBTY$%huni34ri +logging: + config: classpath:logback-spring.xml \ No newline at end of file diff --git a/web/src/main/resources/logback-spring.xml b/web/src/main/resources/logback-spring.xml index f4d84cf..ffc8110 100644 --- a/web/src/main/resources/logback-spring.xml +++ b/web/src/main/resources/logback-spring.xml @@ -2,13 +2,16 @@ - - - %d %p (%file:%line\)- %m%n + + + + [%d{yyyy-MM-dd HH:mm:ss.SSS}] %level [%thread] %file:%line - %msg%n UTF-8 - + + + ${LOG_HOME}/${logName}-info.log ${LOG_HOME}/${logName}-info-%d{yyyy-MM-dd}.%i.log @@ -29,7 +32,8 @@ DENY - + + ${LOG_HOME}/${logName}-warn.log ${LOG_HOME}/${logName}-warn-%d{yyyy-MM-dd}.%i.log @@ -45,12 +49,14 @@ UTF-8 - warn + WARN ACCEPT DENY - + + + ${LOG_HOME}/${logName}-error.log ${LOG_HOME}/${logName}-error-%d{yyyy-MM-dd}.%i.log @@ -72,29 +78,41 @@ - - - - - - - - - - - - - - - - + + + + + ${LOG_HOME}/${logName}-tcp.log + + ${LOG_HOME}/${logName}-tcp-%d{yyyy-MM-dd}.%i.log + 30 + + 10MB + + + + + %d %p (%file:%line\)- %m%n + + UTF-8 + + + info + ACCEPT + DENY + + + + + + + + + + + + + + - - - - - - - - - + \ No newline at end of file diff --git a/web/src/main/resources/品规模板.xlsx b/web/src/main/resources/品规模板.xlsx index c379a24..d26f873 100644 Binary files a/web/src/main/resources/品规模板.xlsx and b/web/src/main/resources/品规模板.xlsx differ diff --git a/web/src/main/resources/库存模板.xlsx b/web/src/main/resources/库存模板.xlsx index 7bb5414..65fc5d9 100644 Binary files a/web/src/main/resources/库存模板.xlsx and b/web/src/main/resources/库存模板.xlsx differ