Commit 9d8a8a35 LN

Merge remote-tracking branch 'origin/master'

2 个父辈 e640a86e 151cd9ea
...@@ -195,9 +195,9 @@ public class MenuInit { ...@@ -195,9 +195,9 @@ public class MenuInit {
//日志管理:物料日志 //日志管理:物料日志
Menu pMenuLog = Menu.CreatePMenu("日志管理", 8, "log","log",null); Menu pMenuLog = Menu.CreatePMenu("日志管理", 8, "log","log",null);
addDefaultFunctionMenu(61, pMenuLog, "物料日志", "taskLog", "neolight/taskLog/index", "education",DEFAULT_SHOW_MENU); addDefaultFunctionMenu(61, pMenuLog, "物料日志", "taskLog", "neolight/taskLog/index", "education",DEFAULT_SHOW_MENU);
addDefaultFunctionMenu(62, pMenuLog, "消息查询", "message", "neolight/message/index", "messagefind",DEFAULT_SHOW_MENU); addDefaultFunctionMenu(62, pMenuLog, "消息查询", "message", "neolight/message/index", "messagefind");
addDefaultFunctionMenu(63, pMenuLog, "日志监控", "logMonitor", "neolight/logMonitor/index", "logMonitor"); addDefaultFunctionMenu(63, pMenuLog, "日志监控", "logMonitor", "neolight/logMonitor/index", "logMonitor",DEFAULT_SHOW_MENU);
addDefaultFunctionMenu(64, pMenuLog, "物料追溯", "materialTrace", "neolight/materialTrace/index", "trace"); addDefaultFunctionMenu(64, pMenuLog, "物料追溯", "materialTrace", "neolight/materialTrace/index", "trace",DEFAULT_SHOW_MENU);
//暂未找到页面 //暂未找到页面
// addDefaultFunctionMenu(63, pMenuLog, "接口异常", "interfaceException", "neolight/interfaceException/index", "messagefind"); // addDefaultFunctionMenu(63, pMenuLog, "接口异常", "interfaceException", "neolight/interfaceException/index", "messagefind");
......
...@@ -146,32 +146,38 @@ public class BarcodeRule { ...@@ -146,32 +146,38 @@ public class BarcodeRule {
if(!newRule.whole_reelId_item.hasThisField() && !newRule.reelId_item.hasThisField()){ if(!newRule.whole_reelId_item.hasThisField() && !newRule.reelId_item.hasThisField()){
if(newRule.whole_reelId_item.matchRule(fieldValue, i)){ if(newRule.whole_reelId_item.matchRule(fieldValue, i)){
log.info("whole reelId: 为" + newRule.whole_reelId_item.toString()); log.info("whole reelId: 为" + newRule.whole_reelId_item.toString());
fieldValue = fieldValue.replace(newRule.whole_reelId_item.name,"");
}else if(newRule.reelId_item.matchRule(fieldValue, i)){ }else if(newRule.reelId_item.matchRule(fieldValue, i)){
log.info("reelId: 为" + newRule.reelId_item.toString()); log.info("reelId: 为" + newRule.reelId_item.toString());
fieldValue = fieldValue.replace(newRule.reelId_item.name,"");
} }
} }
if(!newRule.batch_item.hasThisField()){ if(!newRule.batch_item.hasThisField()){
if(newRule.batch_item.matchRule(fieldValue, i)){ if(newRule.batch_item.matchRule(fieldValue, i)){
log.info("batch: 为" + newRule.batch_item.toString()); log.info("batch: 为" + newRule.batch_item.toString());
fieldValue = fieldValue.replace(newRule.batch_item.name,"");
} }
} }
if(!newRule.quantity_item.hasThisField()){ if(!newRule.quantity_item.hasThisField()){
if(newRule.quantity_item.matchRule(fieldValue, i)){ if(newRule.quantity_item.matchRule(fieldValue, i)){
log.info("quantity: 为" + newRule.quantity_item.toString()); log.info("quantity: 为" + newRule.quantity_item.toString());
fieldValue = fieldValue.replace(newRule.quantity_item.name,"");
} }
} }
if(!newRule.supplier_item.hasThisField()){ if(!newRule.supplier_item.hasThisField()){
if(newRule.supplier_item.matchRule(fieldValue, i)){ if(newRule.supplier_item.matchRule(fieldValue, i)){
log.info("supplier: 为" + newRule.supplier_item.toString()); log.info("supplier: 为" + newRule.supplier_item.toString());
fieldValue = fieldValue.replace(newRule.supplier_item.name,"");
} }
} }
if(!newRule.msl_item.hasThisField()){ if(!newRule.msl_item.hasThisField()){
if(newRule.msl_item.matchRule(fieldValue, i)){ if(newRule.msl_item.matchRule(fieldValue, i)){
log.info("MSL: 为" + newRule.msl_item.toString()); log.info("MSL: 为" + newRule.msl_item.toString());
fieldValue = fieldValue.replace(newRule.msl_item.name,"");
} }
} }
...@@ -849,6 +855,10 @@ public class BarcodeRule { ...@@ -849,6 +855,10 @@ public class BarcodeRule {
rule = "RI,PRODATEyyWW,PN,QTY,MSL,BATCH"; rule = "RI,PRODATEyyWW,PN,QTY,MSL,BATCH";
codeStr = "GW00001"; codeStr = "GW00001";
rule = "PN[-1:2:-1]RI[-1:0:-1]"; rule = "PN[-1:2:-1]RI[-1:0:-1]";
codeStr = "[[)>@06@12S0002@PA5E00235777@1PRMC1/8K182FTP@6D20241218@V4000014286@5YMAF241HG4@Q5000@1T360P027469@@";
rule = "1@2@3@xPN@5@6@7@RI@xQTY@10@@";
codeStr = "671200%10000%1MTR";
rule = "PN%QTY%BATCH[RI]";
BarcodeRule br = BarcodeRule.newRule(rule); BarcodeRule br = BarcodeRule.newRule(rule);
Barcode b = br.toCodeBean(codeStr).getBarcode(); Barcode b = br.toCodeBean(codeStr).getBarcode();
if(b != null){ if(b != null){
......
...@@ -154,7 +154,7 @@ public class MessageController { ...@@ -154,7 +154,7 @@ public class MessageController {
@ApiOperation("根据type汇总总数量") @ApiOperation("根据type汇总总数量")
@GetMapping("/typeTotalByDate") @GetMapping("/typeTotalByDate")
@AnonymousAccess @AnonymousAccess
public ResultBean typeTotalByDate(MessageCriteria criteria) { public ResultBean typeTotalByDate(MessageCriteria criteria, HttpServletRequest request) {
//默认取7天的,如果客户端传的有,就用客户端的 //默认取7天的,如果客户端传的有,就用客户端的
Date endDate = new Date(); Date endDate = new Date();
Date startDate = DateUtil.offsetDay(endDate, -7); Date startDate = DateUtil.offsetDay(endDate, -7);
...@@ -171,22 +171,29 @@ public class MessageController { ...@@ -171,22 +171,29 @@ public class MessageController {
} }
} }
//只需要返回type 去统计数据 List<Message> messageList = messageManager.findByUpdateAndFileds(startDate, endDate, "");
String field = "type";
List<Message> messageList = messageManager.findByUpdateAndFileds(startDate, endDate, field); Map<String, List<MessageDto>> resultMap = Maps.newConcurrentMap();
resultMap.put("INFO", new ArrayList<>());
resultMap.put("WARNING", new ArrayList<>());
resultMap.put("ERROR", new ArrayList<>());
resultMap.put("CRITICAL", new ArrayList<>());
Map<String, Integer> resultMap = Maps.newConcurrentMap();
if (messageList != null && !messageList.isEmpty()) { if (messageList != null && !messageList.isEmpty()) {
for (Message message : messageList) { for (Message message : messageList) {
MessageDto dto = messageMapper.toDto(message);
String type = message.getType(); String type = message.getType();
Integer count = resultMap.get(type); if (ObjectUtil.isNotEmpty(dto.getMsgCode())) {
if (count == null) { dto.setMsg(MessageUtils.getText(dto.getMsgCode(), dto.getMsgParams(), request.getLocale(), dto.getMsg()));
count = 0;
} }
resultMap.put(type, count + 1); List<MessageDto> list = resultMap.get(type);
if (list == null) {
list = new ArrayList<>();
}
list.add(dto);
resultMap.put(type, list);
} }
} }
return ResultBean.newOkResult(resultMap); return ResultBean.newOkResult(resultMap);
} }
......
...@@ -5,6 +5,7 @@ import com.neotel.smfcore.common.bean.PageData; ...@@ -5,6 +5,7 @@ import com.neotel.smfcore.common.bean.PageData;
import com.neotel.smfcore.common.exception.ValidateException; import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.DateUtil; import com.neotel.smfcore.common.utils.DateUtil;
import com.neotel.smfcore.common.utils.FileUtil; import com.neotel.smfcore.common.utils.FileUtil;
import com.neotel.smfcore.common.utils.StringUtils;
import com.neotel.smfcore.core.language.service.nanager.impl.LanguageMsgManagerImpl; import com.neotel.smfcore.core.language.service.nanager.impl.LanguageMsgManagerImpl;
import com.neotel.smfcore.core.language.service.po.LanguageMsg; import com.neotel.smfcore.core.language.service.po.LanguageMsg;
import com.neotel.smfcore.core.language.util.MessageUtils; import com.neotel.smfcore.core.language.util.MessageUtils;
...@@ -16,6 +17,7 @@ import com.neotel.smfcore.core.message.service.po.Message; ...@@ -16,6 +17,7 @@ import com.neotel.smfcore.core.message.service.po.Message;
import com.neotel.smfcore.security.service.po.User; import com.neotel.smfcore.security.service.po.User;
import lombok.Data; import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.poi.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.core.aggregation.Aggregation; import org.springframework.data.mongodb.core.aggregation.Aggregation;
...@@ -70,9 +72,10 @@ public class MessageManagerImpl implements IMessageManager { ...@@ -70,9 +72,10 @@ public class MessageManagerImpl implements IMessageManager {
String createDate = MessageUtils.getText("smfcore.messages.createDate", locale, "创建时间"); String createDate = MessageUtils.getText("smfcore.messages.createDate", locale, "创建时间");
String msg = MessageUtils.getText("smfcore.messages.msg", locale, "内容"); String msg = MessageUtils.getText("smfcore.messages.msg", locale, "内容");
String info = MessageUtils.getText("smfcorre.message.info", locale, "消息"); String info = MessageUtils.getText("smfcore.message.info", locale, "消息");
String warning = MessageUtils.getText("smfcorre.message.warning", locale, "警告"); String warning = MessageUtils.getText("smfcore.message.warning", locale, "警告");
String error = MessageUtils.getText("smfcorre.message.error", locale, "错误"); String error = MessageUtils.getText("smfcore.message.error", locale, "错误");
String critical = MessageUtils.getText("smfcore.message.critical", locale, "严重错误");
List<String> titles = new ArrayList<>(); List<String> titles = new ArrayList<>();
titles.add(device); titles.add(device);
...@@ -90,6 +93,8 @@ public class MessageManagerImpl implements IMessageManager { ...@@ -90,6 +93,8 @@ public class MessageManagerImpl implements IMessageManager {
typeV=warning; typeV=warning;
}else if(obj.getType().equals(MessageType.ERROR.name())){ }else if(obj.getType().equals(MessageType.ERROR.name())){
typeV=error; typeV=error;
}else if (obj.getType().equals(MessageType.CRITICAL.name())){
typeV=critical;
} }
map.put(type, typeV); map.put(type, typeV);
map.put(createDate, DateUtil.toDateTimeString(obj.getCreateDate())); map.put(createDate, DateUtil.toDateTimeString(obj.getCreateDate()));
...@@ -136,7 +141,9 @@ public class MessageManagerImpl implements IMessageManager { ...@@ -136,7 +141,9 @@ public class MessageManagerImpl implements IMessageManager {
Query q = new Query(); Query q = new Query();
Criteria c = Criteria.where("updateDate").gte(startDate).lt(endDate); Criteria c = Criteria.where("updateDate").gte(startDate).lt(endDate);
q.addCriteria(c); q.addCriteria(c);
if (StringUtils.isNotEmpty(field)) {
q.fields().include(field); q.fields().include(field);
}
return messageDao.findByQuery(q); return messageDao.findByQuery(q);
} }
......
...@@ -422,3 +422,5 @@ smfcore.language.displayLanName.ja-JP=\u65E5\u672C\u8A9E ...@@ -422,3 +422,5 @@ smfcore.language.displayLanName.ja-JP=\u65E5\u672C\u8A9E
smfcore.language.displayLanName.fr-FR=Fran\u00E7ais smfcore.language.displayLanName.fr-FR=Fran\u00E7ais
smfcore.language.displayLanName.de-DE=Deutsch smfcore.language.displayLanName.de-DE=Deutsch
smfcore.logMonitor=\u65E5\u5FD7\u76D1\u63A7 smfcore.logMonitor=\u65E5\u5FD7\u76D1\u63A7
smfcore.materialTrace=\u7269\u6599\u8FFD\u6EAF
smfcore.message.critical=\u4E25\u91CD\u9519\u8BEF
\ No newline at end of file \ No newline at end of file
...@@ -412,3 +412,5 @@ smfcore.language.displayLanName.ja-JP=\u65E5\u672C\u8A9E ...@@ -412,3 +412,5 @@ smfcore.language.displayLanName.ja-JP=\u65E5\u672C\u8A9E
smfcore.language.displayLanName.fr-FR=Fran\u00E7ais smfcore.language.displayLanName.fr-FR=Fran\u00E7ais
smfcore.language.displayLanName.de-DE=Deutsch smfcore.language.displayLanName.de-DE=Deutsch
smfcore.logMonitor=Log-\u00DCberwachung smfcore.logMonitor=Log-\u00DCberwachung
smfcore.materialTrace=Materialverfolgung
smfcore.message.critical=Kritischer Fehler
\ No newline at end of file \ No newline at end of file
...@@ -413,3 +413,5 @@ smfcore.language.displayLanName.ja-JP=\u65E5\u672C\u8A9E ...@@ -413,3 +413,5 @@ smfcore.language.displayLanName.ja-JP=\u65E5\u672C\u8A9E
smfcore.language.displayLanName.fr-FR=Fran\u00E7ais smfcore.language.displayLanName.fr-FR=Fran\u00E7ais
smfcore.language.displayLanName.de-DE=Deutsch smfcore.language.displayLanName.de-DE=Deutsch
smfcore.logMonitor=Log Monitoring smfcore.logMonitor=Log Monitoring
smfcore.materialTrace=Material Trace
smfcore.message.critical=Critical
\ No newline at end of file \ No newline at end of file
...@@ -412,3 +412,5 @@ smfcore.language.displayLanName.ja-JP=\u65E5\u672C\u8A9E ...@@ -412,3 +412,5 @@ smfcore.language.displayLanName.ja-JP=\u65E5\u672C\u8A9E
smfcore.language.displayLanName.fr-FR=Fran\u00E7ais smfcore.language.displayLanName.fr-FR=Fran\u00E7ais
smfcore.language.displayLanName.de-DE=Deutsch smfcore.language.displayLanName.de-DE=Deutsch
smfcore.logMonitor=Surveillance des Journaux smfcore.logMonitor=Surveillance des Journaux
smfcore.materialTrace=Tra\u00E7abilit\u00E9 des mati\u00E8res
smfcore.message.critical=Erreur Critique
\ No newline at end of file \ No newline at end of file
...@@ -409,3 +409,5 @@ smfcore.language.displayLanName.ja-JP=\u65E5\u672C\u8A9E ...@@ -409,3 +409,5 @@ smfcore.language.displayLanName.ja-JP=\u65E5\u672C\u8A9E
smfcore.language.displayLanName.fr-FR=Fran\u00E7ais smfcore.language.displayLanName.fr-FR=Fran\u00E7ais
smfcore.language.displayLanName.de-DE=Deutsch smfcore.language.displayLanName.de-DE=Deutsch
smfcore.logMonitor=\u30ED\u30B0\u76E3\u8996 smfcore.logMonitor=\u30ED\u30B0\u76E3\u8996
smfcore.materialTrace=\u30DE\u30C6\u30EA\u30A2\u30EB\u30C8\u30EC\u30FC\u30B9
smfcore.message.critical=\u91CD\u5927\u30A8\u30E9\u30FC
\ No newline at end of file \ No newline at end of file
...@@ -409,3 +409,5 @@ smfcore.language.displayLanName.ja-JP=\u65E5\u672C\u8A9E ...@@ -409,3 +409,5 @@ smfcore.language.displayLanName.ja-JP=\u65E5\u672C\u8A9E
smfcore.language.displayLanName.fr-FR=Fran\u00E7ais smfcore.language.displayLanName.fr-FR=Fran\u00E7ais
smfcore.language.displayLanName.de-DE=Deutsch smfcore.language.displayLanName.de-DE=Deutsch
smfcore.logMonitor=\u65E5\u5FD7\u76D1\u63A7 smfcore.logMonitor=\u65E5\u5FD7\u76D1\u63A7
smfcore.materialTrace=\u7269\u6599\u8FFD\u6EAF
smfcore.message.critical=\u4E25\u91CD\u9519\u8BEF
\ No newline at end of file \ No newline at end of file
...@@ -409,3 +409,5 @@ smfcore.language.displayLanName.ja-JP=\u65E5\u672C\u8A9E ...@@ -409,3 +409,5 @@ smfcore.language.displayLanName.ja-JP=\u65E5\u672C\u8A9E
smfcore.language.displayLanName.fr-FR=Fran\u00E7ais smfcore.language.displayLanName.fr-FR=Fran\u00E7ais
smfcore.language.displayLanName.de-DE=Deutsch smfcore.language.displayLanName.de-DE=Deutsch
smfcore.logMonitor=\u65E5\u8A8C\u76E3\u63A7 smfcore.logMonitor=\u65E5\u8A8C\u76E3\u63A7
smfcore.materialTrace=\u7269\u6599\u8FFD\u6EAF
smfcore.message.critical=\u56B4\u91CD\u932F\u8AA4
\ No newline at end of file \ No newline at end of file
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!