增强原材料卡片管理功能,新增免密接口和数据处理逻辑,支持原材料卡片的增删改查操作。更新前端视图以支持多行拆码明细拼接,优化用户体验和系统实时数据同步能力。

This commit is contained in:
geht
2026-05-11 14:32:44 +08:00
parent 936375bb2c
commit cffe32d896
49 changed files with 4594 additions and 390 deletions

View File

@@ -203,7 +203,16 @@ public class BrowserUtils {
/** 判断请求是否来自移动端 */
public static boolean isMobile(HttpServletRequest request) {
String ua = request.getHeader("User-Agent").toLowerCase();
// 某些场景(如服务端内部 HttpClient、监控探针、客户端在响应前断开连接请求不带 User-Agent
// 必须先做 null/空判断,否则会在全局异常处理器中触发二次 NPE掩盖原始异常并污染日志。
if (request == null) {
return false;
}
String header = request.getHeader("User-Agent");
if (header == null || header.isEmpty()) {
return false;
}
String ua = header.toLowerCase();
String type = "(phone|pad|pod|iphone|ipod|ios|ipad|android|mobile|blackberry|iemobile|mqqbrowser|juc|fennec|wosbrowser|browserng|webos|symbian|windows phone)";
Pattern pattern = Pattern.compile(type);
return pattern.matcher(ua).find();

View File

@@ -205,6 +205,8 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/xslmes/mesXslWeightRecord/anon/**", "anon");
// MES原料入场记录免密接口供桌面端调用
filterChainDefinitionMap.put("/xslmes/mesXslRawMaterialEntry/anon/**", "anon");
// MES原材料卡片免密接口供桌面端调用
filterChainDefinitionMap.put("/xslmes/mesXslRawMaterialCard/anon/**", "anon");
// MES密炼物料管理免密接口供桌面端调用
filterChainDefinitionMap.put("/mes/material/mixerMaterial/anon/**", "anon");
// 系统分类字典免密接口(供桌面端调用)