This commit is contained in:
2023-12-27 17:36:24 +08:00
116 changed files with 1205 additions and 1064 deletions

View File

@@ -31,6 +31,13 @@
</properties>
<dependencies>
<!-- 日志链路追踪 https://tlog.yomahub.com/pages/f62a84/#%E5%90%8C%E6%AD%A5%E6%97%A5%E5%BF%97-->
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>tlog-all-spring-boot-starter</artifactId>
<version>1.5.0</version>
</dependency>
<!-- elasticsearch-->
<dependency>
<groupId>org.springframework.boot</groupId>
@@ -334,7 +341,13 @@
<dependency>
<groupId>com.alicp.jetcache</groupId>
<artifactId>jetcache-starter-redis</artifactId>
<version>2.5.14</version>
<version>2.7.3</version>
</dependency>
<!-- jetcache2.7.x版本需要额外添加该依赖-->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>4.3.1</version>
</dependency>
<dependency>

View File

@@ -1,5 +1,8 @@
package org.nl.system.service.param;
import com.alicp.jetcache.anno.CacheType;
import com.alicp.jetcache.anno.CacheUpdate;
import com.alicp.jetcache.anno.Cached;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.domain.query.PageQuery;

View File

@@ -1,8 +1,12 @@
package org.nl.system.service.param.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alicp.jetcache.anno.CacheType;
import com.alicp.jetcache.anno.CacheUpdate;
import com.alicp.jetcache.anno.Cached;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -40,6 +44,10 @@ public class SysParamServiceImpl extends ServiceImpl<SysParamMapper, Param> impl
@Override
public Page<Param> queryPage(Map whereJson, PageQuery page) {
QueryWrapper<Param> queryWrapper = new QueryWrapper<>();
String code = MapUtil.getStr(whereJson, "code");
if (ObjectUtil.isNotEmpty(code)) {
queryWrapper.likeRight("code", code).or().likeRight("name", code);
}
queryWrapper.orderBy(true, true, "create_time");
Page<Param> paramPage = paramMapper.selectPage(page.build(), queryWrapper);
return paramPage;
@@ -67,6 +75,7 @@ public class SysParamServiceImpl extends ServiceImpl<SysParamMapper, Param> impl
@Override
@Transactional(rollbackFor = Exception.class)
@CacheUpdate(name = "paramDataCode.", key = "#param.code", value = "#param")
public void update(Param param) {
Param paramObj = paramMapper.selectById(param.getId());
if (ObjectUtil.isEmpty(paramObj)) {
@@ -85,6 +94,7 @@ public class SysParamServiceImpl extends ServiceImpl<SysParamMapper, Param> impl
}
@Override
@Cached(name = "paramDataCode.", key = "#code", expire = 3600, cacheType = CacheType.REMOTE)
public Param findByCode(String code) {
QueryWrapper<Param> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("code", code);

View File

@@ -112,4 +112,11 @@ public class LmsToMesController {
public ResponseEntity<Object> proudDayData(@RequestBody JSONObject jo) {
return new ResponseEntity<>(lmsToMesService.proudDayData(jo), HttpStatus.OK);
}
@PostMapping("/ChildScrapUpdate")
@Log("成品日报推送")
@ApiOperation("成品日报推送")
public ResponseEntity<Object> ChildScrapUpdate(@RequestBody JSONObject jo) {
return new ResponseEntity<>(lmsToMesService.ChildScrapUpdate(jo), HttpStatus.OK);
}
}

View File

@@ -122,4 +122,17 @@ public interface LmsToMesService {
* 参数:
*/
JSONObject proudDayData(JSONObject jo);
/**
* 报废出库回传mes箱号、子卷号
* 参数:
* {
* PackageBoxSN 箱号
* Status 类型
* Details [
* {ContainerName: 子卷号 NetWeight重量}
* ]
* }
*/
JSONObject ChildScrapUpdate(JSONObject jo);
}

View File

@@ -661,4 +661,45 @@ public class LmsToMesServiceImpl implements LmsToMesService {
}
return result;
}
@Override
public JSONObject ChildScrapUpdate(JSONObject param) {
log.info("ChildScrapUpdate接口输入参数为-------------------" + param.toString());
JSONObject result = new JSONObject();
if (StrUtil.equals("0", is_connect_mes)) {
result.put("status", HttpStatus.OK.value());
result.put("message", "下发成功但未连接MES!");
result.put("data", new JSONObject());
return result;
}
String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_URL").getValue();
String api = "CamstarApi/ChildScrapUpdate";
url = url + api;
String UserName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue();
String Password = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue();
param.put("UserName", UserName);
param.put("Password", Password);
try {
String resultMsg = HttpRequest.post(url)
.body(String.valueOf(param))
.execute().body();
result = JSONObject.parseObject(resultMsg);
log.info("ChildScrapUpdate接口输出参数为-------------------" + result.toString());
String RTYPE = result.getString("RTYPE");
if ("E".equals(RTYPE)) {
throw new BadRequestException(result.getString("RTMSG"));
}
} catch (Exception e) {
throw new BadRequestException("MES提示错误" + e.getMessage());
}
return result;
}
}

View File

@@ -15,6 +15,7 @@
#################################################
输入.flag TYPEAS s_string
输入.customer_name TYPEAS f_string
输入.storIds TYPEAS f_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
@@ -966,29 +967,10 @@
ENDQUERY
ENDIF
IF 输入.flag = "19"
QUERY
SELECT
SUM( ivt.canuse_qty ) / 1000 AS num,
sub.customer_name
FROM
st_ivt_structivt ivt
LEFT JOIN st_ivt_structattr attr ON ivt.struct_id = attr.struct_id
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = ivt.pcsn AND sub.package_box_sn = attr.storagevehicle_code
WHERE
ivt.canuse_qty > '0'
GROUP BY sub.customer_name
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "20"
QUERY
SELECT
SUM( dis.plan_qty ) / 1000 AS num,
sub.customer_name
SUM( dis.plan_qty ) / 1000 AS num
FROM
( SELECT
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
@@ -1008,7 +990,6 @@
) AS a
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = dis.struct_id
WHERE
@@ -1020,8 +1001,28 @@
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= mst.confirm_time
AND NOW() >= mst.confirm_time
GROUP BY sub.customer_name
OPTION 输入.storIds <> ""
mst.stor_id in 输入.storIds
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "19"
QUERY
SELECT
SUM( ivt.canuse_qty ) / 1000 AS num
FROM
st_ivt_structivt ivt
LEFT JOIN st_ivt_structattr attr ON ivt.struct_id = attr.struct_id
WHERE
ivt.canuse_qty > '0'
OPTION 输入.storIds <> ""
attr.stor_id in 输入.storIds
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF

View File

@@ -8,7 +8,6 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.modules.common.utils.RedisUtils;
import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.wms.ext.acs.service.WmsToAcsService;
import org.nl.wms.sch.tasks.URLEnum;
import org.springframework.beans.factory.annotation.Autowired;
@@ -25,7 +24,6 @@ public class AutoQueryDeviceStatus {
private final WmsToAcsService wmsToAcsService;
public void run() {
WQLObject ivtTab = WQLObject.getWQLObject("st_ivt_hotpointivt");
for (URLEnum url : URLEnum.values()) {
try {
String product_area = url.getProduct_area();
@@ -59,7 +57,6 @@ public class AutoQueryDeviceStatus {
map.put("last_time", last_time);
redisUtils.hset(device_code, "temperature", row.getString("temperature"));
redisUtils.hset(device_code, "last_time", last_time);
//ivtTab.update(map,"point_code = '"+device_code+"'");
}
} catch (Exception e) {
log.info(e.getMessage());

View File

@@ -48,7 +48,7 @@ public class AutoQueryProudDayData {
}
param.put("UserList", UserList);
param.put("Code", "ctp_AAVwgNuQOtO0");
param.put("Code", "ctp_AAyBZtDQiYwG");
param.put("card", data());
// 调用接口
@@ -459,30 +459,69 @@ public class AutoQueryProudDayData {
String end_date = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("END_DATE").getValue();
String nowDay = DateUtil.today().substring(8, 10);
if (end_date.equals(nowDay)) {
if (Double.parseDouble(end_date) <= Double.parseDouble(nowDay)) {
JSONArray Arrayobject6 = new JSONArray();
// 当日实时库存,根据客户分组
List<JSONObject> todayCustIvtList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "19")
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
// 所有仓库
List<JSONObject> storAllArr = storTab.query("is_used = '1'").getResultJSONArray(0).toJavaList(JSONObject.class);
// 当月入库量调拨入库默认1-21号根据客户分组
List<JSONObject> monthCustIvtList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "20")
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
// B公司
String in_B = storAllArr.stream()
.filter(row -> row.getString("remark").equals("B"))
.map(row -> row.getString("stor_id"))
.collect(Collectors.joining("','"));
// C公司
String in_C = storAllArr.stream()
.filter(row -> row.getString("remark").equals("C"))
.map(row -> row.getString("stor_id"))
.collect(Collectors.joining("','"));
// B公司当前库存
JSONObject jsonIvtB = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "19").addParam("storIds", "('" + in_B + "')")
.process().uniqueResult(0);
// C公司当前库存
JSONObject jsonIvtC = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "19").addParam("storIds", "('" + in_C + "')")
.process().uniqueResult(0);
// B公司当月调拨入库
JSONObject monthInB = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "20").addParam("storIds", "('" + in_B + "')")
.process().uniqueResult(0);
// C公司当月调拨入库
JSONObject monthInC = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "20").addParam("storIds", "('" + in_C + "')")
.process().uniqueResult(0);
// ---- B公司 ----
JSONObject CorpB = upMonthIvt(custB, todayCustIvtList, monthCustIvtList);
JSONObject CorpB = upMonthIvt(jsonIvtB, monthInB);
CorpB.put("Customer1", "B库存");
Arrayobject6.add(CorpB);
// ---- C公司 ----
JSONObject CorpC = upMonthIvt(custC, todayCustIvtList, monthCustIvtList);
JSONObject CorpC = upMonthIvt(jsonIvtC,monthInC);
CorpC.put("Customer1", "C库存");
Arrayobject6.add(CorpC);
result.put("Arrayobject6",Arrayobject6);
result.put("EndDate", getEndDate());
} else {
JSONArray Arrayobject6 = new JSONArray();
// B公司
JSONObject CorpB = new JSONObject();
CorpB.put("Customer1", "B库存");
CorpB.put("Customerqty1", "X");
Arrayobject6.add(CorpB);
// C公司
JSONObject CorpC = new JSONObject();
CorpC.put("Customer1", "C库存");
CorpC.put("Customerqty1", "X");
Arrayobject6.add(CorpC);
result.put("Arrayobject6",Arrayobject6);
}
result.put("EndDate", getEndDate());
return result;
}
@@ -666,27 +705,16 @@ public class AutoQueryProudDayData {
/**
* 上月库存公共方法
* @param cust 客户
* @param todayCustIvtList 实时库存客户分组
* @param monthCustIvtList 当月入库量客户分组
*
* @param jsonIvtB 实施库存
* @param monthInB 当月调拨入库量
* @return /
*/
public JSONObject upMonthIvt(String cust, List<JSONObject> todayCustIvtList, List<JSONObject> monthCustIvtList) {
public JSONObject upMonthIvt(JSONObject jsonIvtB,JSONObject monthInB) {
JSONObject result = new JSONObject();
double ivtCust = todayCustIvtList.stream()
.filter(row -> cust.contains(row.getString("customer_name")))
.map(row -> row.getDoubleValue("num"))
.reduce(Double::sum).orElse(0.00);
double inIvtCust = monthCustIvtList.stream()
.filter(row -> cust.contains(row.getString("customer_name")))
.map(row -> row.getDoubleValue("num"))
.reduce(Double::sum).orElse(0.00);
double subIvt = NumberUtil.sub(ivtCust, inIvtCust);
double subIvt = NumberUtil.sub(jsonIvtB.getDoubleValue("num"), monthInB.getDoubleValue("num"));
result.put("Customerqty1", subIvt > 0 ? NumberUtil.round(subIvt, 2).toString() : "0");

View File

@@ -29,6 +29,7 @@ import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
/**
*
@@ -326,6 +327,54 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
// 报废出库回传mes
if (StrUtil.equals(bill_type, "1007") || StrUtil.equals(bill_type, "1008") || StrUtil.equals(bill_type, "1010") || StrUtil.equals(bill_type, "1002")) {
JSONArray disArr = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParam("flag", "3").addParam("iostorinv_id", jo_mst.getString("iostorinv_id")).process().getResultJSONArray(0);
String box_no_in = disArr.toJavaList(JSONObject.class).stream()
.map(row -> row.getString("box_no"))
.collect(Collectors.joining("','"));
List<JSONObject> disList = WQLObject.getWQLObject("st_ivt_iostorinvdis").query("box_no in ('" + box_no_in + "') and iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "'").getResultJSONArray(0).toJavaList(JSONObject.class);
JSONObject param = new JSONObject();
JSONArray item = new JSONArray();
for (int j = 0; j < disArr.size(); j++) {
JSONObject json = disArr.getJSONObject(j);
JSONObject jsonDtl = new JSONObject();
JSONArray details = new JSONArray();
jsonDtl.put("PackageBoxSN", json.getString("box_no"));
jsonDtl.put("Status", "1");
List<JSONObject> collect = disList.stream()
.filter(row -> row.getString("box_no").equals(json.getString("box_no")))
.collect(Collectors.toList());
for (int k = 0; k < collect.size(); k++) {
JSONObject jsonObject = collect.get(k);
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("ContainerName", jsonObject.getString("pcsn"));
jsonObject1.put("NetWeight", jsonObject.getString("plan_qty"));
details.add(jsonObject1);
}
jsonDtl.put("Details",details);
item.add(jsonDtl);
}
param.put("item", item);
new LmsToMesServiceImpl().ChildScrapUpdate(param);
jo_mst.put("upload_mes", "1");
jo_mst.put("is_upload", "1");
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
jo_mst.put("upload_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
/*// 改切出库
if (StrUtil.equals(bill_type, "1003")) {
JSONArray disArr = wo_dis.query("iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "'").getResultJSONArray(0);
@@ -1470,6 +1519,54 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
}
}
// 报废出库回传mes
if (StrUtil.equals(bill_type, "1007") || StrUtil.equals(bill_type, "1008") || StrUtil.equals(bill_type, "1010") || StrUtil.equals(bill_type, "1002")) {
JSONArray disArr = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParam("flag", "3").addParam("iostorinv_id", jo_mst.getString("iostorinv_id")).process().getResultJSONArray(0);
String box_no_in = disArr.toJavaList(JSONObject.class).stream()
.map(row -> row.getString("box_no"))
.collect(Collectors.joining("','"));
List<JSONObject> disList = WQLObject.getWQLObject("st_ivt_iostorinvdis").query("box_no in ('" + box_no_in + "') and iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "'").getResultJSONArray(0).toJavaList(JSONObject.class);
JSONObject param = new JSONObject();
JSONArray item = new JSONArray();
for (int j = 0; j < disArr.size(); j++) {
JSONObject json = disArr.getJSONObject(j);
JSONObject jsonDtl = new JSONObject();
JSONArray details = new JSONArray();
jsonDtl.put("PackageBoxSN", json.getString("box_no"));
jsonDtl.put("Status", "1");
List<JSONObject> collect = disList.stream()
.filter(row -> row.getString("box_no").equals(json.getString("box_no")))
.collect(Collectors.toList());
for (int k = 0; k < collect.size(); k++) {
JSONObject jsonObject = collect.get(k);
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("ContainerName", jsonObject.getString("pcsn"));
jsonObject1.put("NetWeight", jsonObject.getString("plan_qty"));
details.add(jsonObject1);
}
jsonDtl.put("Details",details);
item.add(jsonDtl);
}
param.put("item", item);
new LmsToMesServiceImpl().ChildScrapUpdate(param);
jo_mst.put("upload_mes", "1");
jo_mst.put("is_upload", "1");
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
jo_mst.put("upload_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
}
}

View File

@@ -175,3 +175,18 @@
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "3"
QUERY
SELECT
dis.box_no
FROM
st_ivt_iostorinvdis dis
LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id
WHERE
dis.iostorinv_id = 输入.iostorinv_id
GROUP BY dis.box_no
ENDSELECT
ENDQUERY
ENDIF

View File

@@ -93,6 +93,7 @@
LEFT JOIN md_cs_customerbase cust ON cust.cust_code = sub.customer_name
WHERE
1 = 1
and ivt.canuse_qty > 0
OPTION 输入.stor_id <> ""
attr.stor_id = 输入.stor_id

View File

@@ -123,3 +123,23 @@ management:
health:
elasticsearch:
enabled: false #取消对elasticsearch的检查 https://www.codeleading.com/article/60643988608/
jetcache:
statIntervalMinutes: 15
areaInCacheName: false
local:
default:
type: linkedhashmap
keyConvertor: fastjson
remote:
default:
type: redis
keyConvertor: fastjson2
broadcastChannel: projectA
valueEncoder: java
valueDecoder: java
poolConfig:
minIdle: 5
maxIdle: 20
maxTotal: 50
host: 127.0.0.1
port: 6379

View File

@@ -81,7 +81,7 @@
</encoder>
</appender>
<logger name="org.nl.wms.ext.acs.service.impl.AcsToWmsServiceImpl" level="info" additivity="false">
<logger name="org.nl.wms.ext.acs.service.impl.AcsToWmsServiceImpl" level="info" additivity="true">
<appender-ref ref="FILE5"/>
<appender-ref ref="esLogAppender"/>
</logger>

View File

@@ -81,7 +81,7 @@
</encoder>
</appender>
<logger name="org.nl.wms.sch.AcsUtil" level="info" additivity="false">
<logger name="org.nl.wms.sch.AcsUtil" level="info" additivity="true">
<appender-ref ref="FILE6"/>
<appender-ref ref="esLogAppender"/>
</logger>

View File

@@ -81,7 +81,7 @@
</appender>
<springProperty scope="context" name="esIndex" source="es.index"/>
<logger name="org.nl.wms.ext.mes.service.impl.LmsToMesServiceImpl" level="info" additivity="false">
<logger name="org.nl.wms.ext.mes.service.impl.LmsToMesServiceImpl" level="info" additivity="true">
<appender-ref ref="FILE4"/>
<appender-ref ref="esLogAppender"/>
</logger>

View File

@@ -81,7 +81,7 @@
</encoder>
</appender>
<logger name="org.nl.wms.ext.sap.service.impl.LmsToSapServiceImpl" level="info" additivity="false">
<logger name="org.nl.wms.ext.sap.service.impl.LmsToSapServiceImpl" level="info" additivity="true">
<appender-ref ref="FILE2"/>
<appender-ref ref="esLogAppender"/>
</logger>

View File

@@ -81,7 +81,7 @@
</encoder>
</appender>
<logger name="org.nl.wms.ext.mes.service.impl.MesToLmsServiceImpl" level="info" additivity="false">
<logger name="org.nl.wms.ext.mes.service.impl.MesToLmsServiceImpl" level="info" additivity="true">
<appender-ref ref="FILE3"/>
<appender-ref ref="esLogAppender"/>
</logger>

View File

@@ -81,7 +81,7 @@
</encoder>
</appender>
<logger name="org.nl.wms.ext.sap.service.impl.SapToLmsServiceImpl" level="info" additivity="false">
<logger name="org.nl.wms.ext.sap.service.impl.SapToLmsServiceImpl" level="info" additivity="true">
<appender-ref ref="FILE1"/>
<appender-ref ref="esLogAppender"/>
</logger>

View File

@@ -15,7 +15,10 @@ https://juejin.cn/post/6844903775631572999
value="%black(%contextName-) %X{traceId} %red(%d{yyyy-MM-dd HH:mm:ss.SSS}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<springProperty scope="context" name="esIndex" source="es.index"/>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_HOME" value="${logPath}"/>
<!--引入默认的一些设置-->
<include resource="log/LmsToMes.xml"/>
<include resource="log/LmsToSap.xml"/>
@@ -27,14 +30,13 @@ https://juejin.cn/post/6844903775631572999
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<!-- 控制台高亮-->
<withJansi>true</withJansi>
<encoder>
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<pattern>${log.pattern}</pattern>
<!-- <charset>${log.charset}</charset>-->
<!-- <charset>${log.charset}</charset>-->
</encoder>
</appender>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
@@ -129,14 +131,14 @@ https://juejin.cn/post/6844903775631572999
<!--所有日志最多占多大容量-->
<totalSizeCap>20GB</totalSizeCap>
</rollingPolicy>
<encoder>
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<pattern>${log.pattern}</pattern>
<charset>${log.charset}</charset>
</encoder>
</appender>
<!--异步到文件-->
<appender name="asyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">
<appender name="asyncFileAppender" class="com.yomahub.tlog.core.enhance.logback.async.AspectLogbackAsyncAppender">
<discardingThreshold>0</discardingThreshold>
<queueSize>500</queueSize>
<appender-ref ref="FILE"/>
@@ -149,44 +151,44 @@ https://juejin.cn/post/6844903775631572999
<!-- <appender-ref ref="asyncFileAppender"/>-->
<appender-ref ref="esLogAppender"/>
</root>
<logger name="org.springframework" level="ERROR" additivity="false">
<logger name="org.springframework" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="es-logger" level="warn" additivity="false">
<logger name="es-logger" level="warn" additivity="true">
<appender-ref ref="esLogAppender"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="org.apache" level="ERROR" additivity="false">
<logger name="org.apache" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="org.hibernate" level="ERROR" additivity="false">
<logger name="org.hibernate" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="io.netty" level="ERROR" additivity="false">
<logger name="io.netty" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="jdbc" level="ERROR" additivity="false">
<logger name="jdbc" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="io.lettuce" level="ERROR" additivity="false">
<logger name="io.lettuce" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="com.fasterxml" level="ERROR" additivity="false">
<logger name="com.fasterxml" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="org.quartz" level="ERROR" additivity="false">
<logger name="org.quartz" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="com.google" level="ERROR" additivity="false">
<logger name="com.google" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="springfox" level="ERROR" additivity="false">
<logger name="springfox" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="log4jdbc" level="ERROR" additivity="false">
<logger name="log4jdbc" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="nl.basjes" level="ERROR" additivity="false">
<logger name="nl.basjes" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
</springProfile>
@@ -199,44 +201,44 @@ https://juejin.cn/post/6844903775631572999
<appender-ref ref="ERROR"/>
<appender-ref ref="esLogAppender"/>
</root>
<logger name="org.springframework" level="ERROR" additivity="false">
<logger name="org.springframework" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="es-logger" level="warn" additivity="false">
<logger name="es-logger" level="warn" additivity="true">
<appender-ref ref="esLogAppender"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="org.apache" level="ERROR" additivity="false">
<logger name="org.apache" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.hibernate" level="ERROR" additivity="false">
<logger name="org.hibernate" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="io.netty" level="ERROR" additivity="false">
<logger name="io.netty" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="jdbc" level="ERROR" additivity="false">
<logger name="jdbc" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="io.lettuce" level="ERROR" additivity="false">
<logger name="io.lettuce" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="com.fasterxml" level="ERROR" additivity="false">
<logger name="com.fasterxml" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.quartz" level="ERROR" additivity="false">
<logger name="org.quartz" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="com.google" level="ERROR" additivity="false">
<logger name="com.google" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="springfox" level="ERROR" additivity="false">
<logger name="springfox" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="log4jdbc" level="ERROR" additivity="false">
<logger name="log4jdbc" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="nl.basjes" level="ERROR" additivity="false">
<logger name="nl.basjes" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
</springProfile>
@@ -247,19 +249,19 @@ https://juejin.cn/post/6844903775631572999
<root level="info">
<appender-ref ref="asyncFileAppender"/>
</root>
<logger name="jdbc.audit" level="ERROR" additivity="false">
<logger name="jdbc.audit" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="jdbc.resultset" level="ERROR" additivity="false">
<logger name="jdbc.resultset" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="springfox.documentation" level="ERROR" additivity="false">
<logger name="springfox.documentation" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="jdbc.resultsettable" level="ERROR" additivity="false">
<logger name="jdbc.resultsettable" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="jdbc.sqlonly" level="ERROR" additivity="false">
<logger name="jdbc.sqlonly" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
</springProfile>

View File

@@ -2,6 +2,27 @@
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<div v-if="crud.props.searchToggle">
<!-- 搜索 -->
<el-form
:inline="true"
class="demo-form-inline"
label-position="right"
label-width="80px"
label-suffix=":"
>
<el-form-item label="模糊查询">
<el-input
v-model="query.code"
size="mini"
clearable
placeholder="编码、名称"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<rrOperation />
</el-form>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" />
<!--表单组件-->