diff --git a/.vscode/settings.json b/.vscode/settings.json index 71c4c28..12e73ea 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -14,6 +14,10 @@ "default": true } ], + "java.maven.downloadSources": true, + "java.eclipse.downloadSources": true, + "java.project.importOnFirstTimeStartup": "automatic", + "java.configuration.checkProjectSettingsExclusions": false, "java.import.exclusions": [ "**/jeecg-server-cloud/**", "**/jeecg-boot-platform/**", diff --git a/jeecg-boot/.vscode/settings.json b/jeecg-boot/.vscode/settings.json index 28ded36..553d1b9 100644 --- a/jeecg-boot/.vscode/settings.json +++ b/jeecg-boot/.vscode/settings.json @@ -14,6 +14,10 @@ "default": true } ], + "java.maven.downloadSources": true, + "java.eclipse.downloadSources": true, + "java.project.importOnFirstTimeStartup": "automatic", + "java.configuration.checkProjectSettingsExclusions": false, "java.import.exclusions": [ "**/jeecg-server-cloud/**", "**/jeecg-boot-platform/**", diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/doc/代码修改日志 b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/doc/代码修改日志 index ef29d3c..1cb59ff 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/doc/代码修改日志 +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/doc/代码修改日志 @@ -437,3 +437,40 @@ jeecgboot-vue3/src/views/xslmes/mesXslFormulaSpecEditLog/components/MesXslFormul -- author:cursor---date:20260526--for: 【配方日志查询】明细对比展示逐行逐字段变更内容 ----------- jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/common/MesXslFormulaSpecEditLogDiffUtil.java jeecgboot-vue3/src/views/xslmes/mesXslFormulaSpecEditLog/MesXslFormulaSpecEditLog.data.ts + +-- author:cursor---date:20260528--for: 【XSLMES-20260528-A01】架子车数设定(基于混炼示方查询,不建业务表) ----------- +jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/flyway/sql/mysql/V3.9.2_108__mes_xsl_rack_train_count_setting_menu.sql +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/vo/MesXslRackTrainCountSettingVO.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/IMesXslRackTrainCountSettingService.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRackTrainCountSettingServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/controller/MesXslRackTrainCountSettingController.java +jeecgboot-vue3/src/views/xslmes/mesXslRackTrainCountSetting/MesXslRackTrainCountSetting.api.ts +jeecgboot-vue3/src/views/xslmes/mesXslRackTrainCountSetting/MesXslRackTrainCountSetting.data.ts +jeecgboot-vue3/src/views/xslmes/mesXslRackTrainCountSetting/MesXslRackTrainCountSettingList.vue +jeecgboot-vue3/src/views/xslmes/mesXslRackTrainCountSetting/components/MesXslRackTrainCountSettingModal.vue + +-- author:cursor---date:20260528--for: 【XSLMES-20260528-A03】架子车数设定保存写入配方日志 ----------- +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRackTrainCountSettingServiceImpl.java + +-- author:cursor---date:20260528--for: 【XSLMES-20260528-A02】xslmes模块TokenUtils解析报错统一抽取MesXslTenantUtils ----------- +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/common/MesXslTenantUtils.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslDowntimeMainTypeServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslDowntimeTypeServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipInspectConfigServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipInspectRecordServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentCategoryServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentLedgerServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentPartServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentSubPartServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentTypeServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslInspectMaintainItemServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslManufacturerServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslMixerMaterialKindCfgServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslProcessOperationServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestDataPointServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestMethodServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestStdServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestTypeServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslSparePartsCategoryServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslSparePartServiceImpl.java +jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslWarehouseAreaCapacityCfgServiceImpl.java diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/common/MesXslTenantUtils.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/common/MesXslTenantUtils.java new file mode 100644 index 0000000..8ceed29 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/common/MesXslTenantUtils.java @@ -0,0 +1,67 @@ +package org.jeecg.modules.xslmes.common; + +import jakarta.servlet.http.HttpServletRequest; +import org.jeecg.common.config.TenantContext; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.constant.TenantConstant; +import org.jeecg.common.util.SpringContextUtils; +import org.jeecg.common.util.oConvertUtils; + +/** + * MES 租户解析工具(xslmes 模块内统一入口,避免各 Service 重复依赖 TokenUtils) + */ +public final class MesXslTenantUtils { + + private MesXslTenantUtils() {} + + /** + * 解析租户 ID:优先实体上下文,其次 TenantContext,最后从当前请求头/参数读取 + */ + public static Integer resolveTenantId(Integer contextTenantId) { + if (contextTenantId != null) { + return contextTenantId; + } + String tenantId = getTenantIdString(); + if (oConvertUtils.isEmpty(tenantId)) { + return null; + } + try { + return Integer.parseInt(tenantId.trim()); + } catch (NumberFormatException e) { + return null; + } + } + + /** 尽力解析租户 ID,无法解析时返回 0 */ + public static int resolveTenantIdBestEffort() { + return oConvertUtils.getInt(getTenantIdString(), 0); + } + + private static String getTenantIdString() { + String tenantId = TenantContext.getTenant(); + if (oConvertUtils.isNotEmpty(tenantId)) { + return tenantId; + } + try { + HttpServletRequest request = SpringContextUtils.getHttpServletRequest(); + if (request != null) { + tenantId = getTenantIdByRequest(request); + } + } catch (Exception ignored) { + // 非 Web 请求上下文时忽略 + } + return tenantId; + } + + /** 与 TokenUtils.getTenantIdByRequest 行为一致 */ + private static String getTenantIdByRequest(HttpServletRequest request) { + String tenantId = request.getParameter(TenantConstant.TENANT_ID); + if (tenantId == null) { + tenantId = oConvertUtils.getString(request.getHeader(CommonConstant.TENANT_ID)); + } + if (oConvertUtils.isNotEmpty(tenantId) && "undefined".equals(tenantId)) { + return null; + } + return tenantId; + } +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/controller/MesXslRackTrainCountSettingController.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/controller/MesXslRackTrainCountSettingController.java new file mode 100644 index 0000000..0ae1d5b --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/controller/MesXslRackTrainCountSettingController.java @@ -0,0 +1,73 @@ +package org.jeecg.modules.xslmes.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.modules.xslmes.service.IMesXslRackTrainCountSettingService; +import org.jeecg.modules.xslmes.vo.MesXslRackTrainCountSettingVO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +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.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +/** + * 架子车数设定(数据来源于混炼示方,不建独立业务表) + */ +@Tag(name = "架子车数设定") +@RestController +@RequestMapping("/xslmes/mesXslRackTrainCountSetting") +@Slf4j +public class MesXslRackTrainCountSettingController { + + @Autowired + private IMesXslRackTrainCountSettingService rackTrainCountSettingService; + + //update-begin---author:cursor ---date:20260528 for:【XSLMES-20260528-A01】架子车数设定分页列表----------- + @Operation(summary = "架子车数设定-分页列表查询") + @RequiresPermissions("xslmes:mes_xsl_rack_train_count_setting:list") + @GetMapping(value = "/list") + public Result> queryPageList( + MesXslRackTrainCountSettingVO query, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(name = "keyword", required = false) String keyword) { + return Result.OK(rackTrainCountSettingService.queryPage(pageNo, pageSize, query, keyword)); + } + //update-end---author:cursor ---date:20260528 for:【XSLMES-20260528-A01】架子车数设定分页列表----------- + + //update-begin---author:cursor ---date:20260528 for:【XSLMES-20260528-A01】架子车数设定详情查询----------- + @Operation(summary = "架子车数设定-通过id查询") + @RequiresPermissions("xslmes:mes_xsl_rack_train_count_setting:list") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + MesXslRackTrainCountSettingVO detail = rackTrainCountSettingService.queryById(id); + if (detail == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(detail); + } + //update-end---author:cursor ---date:20260528 for:【XSLMES-20260528-A01】架子车数设定详情查询----------- + + //update-begin---author:cursor ---date:20260528 for:【XSLMES-20260528-A01】架子车数设定保存----------- + @AutoLog(value = "架子车数设定-保存") + @Operation(summary = "架子车数设定-保存设定车数") + @RequiresPermissions("xslmes:mes_xsl_rack_train_count_setting:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody MesXslRackTrainCountSettingVO setting) { + try { + rackTrainCountSettingService.saveSetting(setting); + return Result.OK("保存成功!"); + } catch (IllegalArgumentException ex) { + return Result.error(ex.getMessage()); + } + } + //update-end---author:cursor ---date:20260528 for:【XSLMES-20260528-A01】架子车数设定保存----------- +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/IMesXslRackTrainCountSettingService.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/IMesXslRackTrainCountSettingService.java new file mode 100644 index 0000000..6194e9a --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/IMesXslRackTrainCountSettingService.java @@ -0,0 +1,29 @@ +package org.jeecg.modules.xslmes.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.jeecg.modules.xslmes.vo.MesXslRackTrainCountSettingVO; + +/** + * 架子车数设定(基于混炼示方查询,不建独立业务表) + */ +public interface IMesXslRackTrainCountSettingService { + + /** + * 分页查询架子车数设定列表 + */ + IPage queryPage( + Integer pageNo, + Integer pageSize, + MesXslRackTrainCountSettingVO query, + String keyword); + + /** + * 按混炼示方ID查询详情 + */ + MesXslRackTrainCountSettingVO queryById(String id); + + /** + * 保存设定车数(回写混炼示方 set_train_count 字段) + */ + void saveSetting(MesXslRackTrainCountSettingVO setting); +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslDowntimeMainTypeServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslDowntimeMainTypeServiceImpl.java index 3a1e0cb..afa0539 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslDowntimeMainTypeServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslDowntimeMainTypeServiceImpl.java @@ -2,11 +2,9 @@ package org.jeecg.modules.xslmes.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.CommonConstant; -import org.jeecg.common.util.SpringContextUtils; -import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.xslmes.common.MesXslTenantUtils; import org.jeecg.modules.xslmes.entity.MesXslDowntimeMainType; import org.jeecg.modules.xslmes.mapper.MesXslDowntimeMainTypeMapper; import org.jeecg.modules.xslmes.service.IMesXslDowntimeMainTypeService; @@ -22,7 +20,7 @@ public class MesXslDowntimeMainTypeServiceImpl extends ServiceImpl w = new LambdaQueryWrapper<>(); w.eq(MesXslDowntimeMainType::getDowntimeType, downtimeType.trim()); w.and( @@ -39,25 +37,5 @@ public class MesXslDowntimeMainTypeServiceImpl extends ServiceImpl 0; } - private static Integer resolveTenantId(MesXslDowntimeMainType context) { - if (context != null && context.getTenantId() != null) { - return context.getTenantId(); - } - String ts = TenantContext.getTenant(); - if (oConvertUtils.isEmpty(ts)) { - try { - ts = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest()); - } catch (Exception ignored) { - } - } - if (oConvertUtils.isEmpty(ts)) { - return null; - } - try { - return Integer.parseInt(ts.trim()); - } catch (NumberFormatException e) { - return null; - } - } //update-end---author:jiangxh ---date:20260518 for:【MES】停机类型同租户不可重复;仅统计未删除(del_flag=0 或 null)----------- } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslDowntimeTypeServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslDowntimeTypeServiceImpl.java index f4b7b2f..ab38ac8 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslDowntimeTypeServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslDowntimeTypeServiceImpl.java @@ -2,11 +2,9 @@ package org.jeecg.modules.xslmes.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.CommonConstant; -import org.jeecg.common.util.SpringContextUtils; -import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.xslmes.common.MesXslTenantUtils; import org.jeecg.modules.xslmes.entity.MesXslDowntimeType; import org.jeecg.modules.xslmes.mapper.MesXslDowntimeTypeMapper; import org.jeecg.modules.xslmes.service.IMesXslDowntimeTypeService; @@ -22,7 +20,7 @@ public class MesXslDowntimeTypeServiceImpl extends ServiceImpl w = new LambdaQueryWrapper<>(); w.eq(MesXslDowntimeType::getDowntimeType, downtimeType.trim()); w.and( @@ -39,25 +37,5 @@ public class MesXslDowntimeTypeServiceImpl extends ServiceImpl 0; } - private static Integer resolveTenantId(MesXslDowntimeType context) { - if (context != null && context.getTenantId() != null) { - return context.getTenantId(); - } - String ts = TenantContext.getTenant(); - if (oConvertUtils.isEmpty(ts)) { - try { - ts = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest()); - } catch (Exception ignored) { - } - } - if (oConvertUtils.isEmpty(ts)) { - return null; - } - try { - return Integer.parseInt(ts.trim()); - } catch (NumberFormatException e) { - return null; - } - } //update-end---author:jiangxh ---date:20260518 for:【MES】停机类型名称同租户不可重复;仅统计未删除(del_flag=0 或 null)----------- } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipInspectConfigServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipInspectConfigServiceImpl.java index 1f86930..207b78c 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipInspectConfigServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipInspectConfigServiceImpl.java @@ -5,11 +5,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import java.io.Serializable; import java.util.Collection; import java.util.List; -import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.CommonConstant; -import org.jeecg.common.util.SpringContextUtils; -import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.xslmes.common.MesXslTenantUtils; import org.jeecg.modules.xslmes.entity.MesXslEquipInspectConfig; import org.jeecg.modules.xslmes.entity.MesXslEquipInspectConfigLine; import org.jeecg.modules.xslmes.mapper.MesXslEquipInspectConfigLineMapper; @@ -89,7 +87,7 @@ public class MesXslEquipInspectConfigServiceImpl if (oConvertUtils.isEmpty(equipmentLedgerId) || oConvertUtils.isEmpty(configType)) { return false; } - Integer tenantId = resolveTenantId(context); + Integer tenantId = MesXslTenantUtils.resolveTenantId(context != null ? context.getTenantId() : null); LambdaQueryWrapper w = new LambdaQueryWrapper<>(); w.eq(MesXslEquipInspectConfig::getEquipmentLedgerId, equipmentLedgerId.trim()); w.eq(MesXslEquipInspectConfig::getConfigType, configType.trim()); @@ -107,26 +105,5 @@ public class MesXslEquipInspectConfigServiceImpl return this.count(w) > 0; } - private static Integer resolveTenantId(MesXslEquipInspectConfig context) { - if (context != null && context.getTenantId() != null) { - return context.getTenantId(); - } - String ts = TenantContext.getTenant(); - if (oConvertUtils.isEmpty(ts)) { - try { - ts = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest()); - } catch (Exception ignored) { - // ignore - } - } - if (oConvertUtils.isEmpty(ts)) { - return null; - } - try { - return Integer.parseInt(ts); - } catch (NumberFormatException e) { - return null; - } - } //update-end---author:jiangxh ---date:20260519 for:【MES】设备点检配置:同设备同类型(点检/保养)仅允许一条主数据----------- } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipInspectRecordServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipInspectRecordServiceImpl.java index c28795d..3b5130c 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipInspectRecordServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipInspectRecordServiceImpl.java @@ -8,11 +8,9 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.List; -import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.CommonConstant; -import org.jeecg.common.util.SpringContextUtils; -import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.xslmes.common.MesXslTenantUtils; import org.jeecg.modules.xslmes.entity.MesXslEquipInspectConfig; import org.jeecg.modules.xslmes.entity.MesXslEquipInspectConfigLine; import org.jeecg.modules.xslmes.entity.MesXslEquipInspectRecord; @@ -104,7 +102,7 @@ public class MesXslEquipInspectRecordServiceImpl public String generateRecordNo(MesXslEquipInspectRecord context) { String dateStr = new SimpleDateFormat("yyyyMMdd").format(new Date()); String prefix = "EC" + dateStr; - Integer tenantId = resolveTenantId(context); + Integer tenantId = MesXslTenantUtils.resolveTenantId(context != null ? context.getTenantId() : null); LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); qw.likeRight(MesXslEquipInspectRecord::getRecordNo, prefix); @@ -288,25 +286,4 @@ public class MesXslEquipInspectRecordServiceImpl } //update-end---author:jiangxh ---date:20260521 for:【MES】不合格点检记录登记处理人及处理时间----------- - private static Integer resolveTenantId(MesXslEquipInspectRecord context) { - if (context != null && context.getTenantId() != null) { - return context.getTenantId(); - } - String ts = TenantContext.getTenant(); - if (oConvertUtils.isEmpty(ts)) { - try { - ts = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest()); - } catch (Exception ignored) { - // ignore - } - } - if (oConvertUtils.isEmpty(ts)) { - return null; - } - try { - return Integer.parseInt(ts); - } catch (NumberFormatException e) { - return null; - } - } } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentCategoryServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentCategoryServiceImpl.java index e857494..cd9991c 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentCategoryServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentCategoryServiceImpl.java @@ -2,11 +2,9 @@ package org.jeecg.modules.xslmes.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.CommonConstant; -import org.jeecg.common.util.SpringContextUtils; -import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.xslmes.common.MesXslTenantUtils; import org.jeecg.modules.xslmes.entity.MesXslEquipmentCategory; import org.jeecg.modules.xslmes.mapper.MesXslEquipmentCategoryMapper; import org.jeecg.modules.xslmes.service.IMesXslEquipmentCategoryService; @@ -22,7 +20,7 @@ public class MesXslEquipmentCategoryServiceImpl extends ServiceImpl w = new LambdaQueryWrapper<>(); w.eq(MesXslEquipmentCategory::getCategoryName, categoryName.trim()); w.and( @@ -60,25 +58,5 @@ public class MesXslEquipmentCategoryServiceImpl extends ServiceImpl w = new LambdaQueryWrapper<>(); w.eq(column, value.trim()); w.and(q -> q.eq(MesXslEquipmentLedger::getDelFlag, CommonConstant.DEL_FLAG_0).or().isNull(MesXslEquipmentLedger::getDelFlag)); @@ -48,25 +46,5 @@ public class MesXslEquipmentLedgerServiceImpl extends ServiceImpl 0; } - private static Integer resolveTenantId(MesXslEquipmentLedger context) { - if (context != null && context.getTenantId() != null) { - return context.getTenantId(); - } - String ts = TenantContext.getTenant(); - if (oConvertUtils.isEmpty(ts)) { - try { - ts = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest()); - } catch (Exception ignored) { - } - } - if (oConvertUtils.isEmpty(ts)) { - return null; - } - try { - return Integer.parseInt(ts.trim()); - } catch (NumberFormatException e) { - return null; - } - } //update-end---author:jiangxh ---date:20260518 for:【MES】设备台账编号、名称同租户不可重复----------- } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentPartServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentPartServiceImpl.java index 6c0f615..d41ba31 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentPartServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentPartServiceImpl.java @@ -2,11 +2,9 @@ package org.jeecg.modules.xslmes.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.CommonConstant; -import org.jeecg.common.util.SpringContextUtils; -import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.xslmes.common.MesXslTenantUtils; import org.jeecg.modules.xslmes.entity.MesXslEquipmentPart; import org.jeecg.modules.xslmes.mapper.MesXslEquipmentPartMapper; import org.jeecg.modules.xslmes.service.IMesXslEquipmentPartService; @@ -22,7 +20,7 @@ public class MesXslEquipmentPartServiceImpl extends ServiceImpl w = new LambdaQueryWrapper<>(); w.eq(MesXslEquipmentPart::getPartCode, partCode.trim()); w.and( @@ -39,26 +37,6 @@ public class MesXslEquipmentPartServiceImpl extends ServiceImpl 0; } - private static Integer resolveTenantId(MesXslEquipmentPart context) { - if (context != null && context.getTenantId() != null) { - return context.getTenantId(); - } - String ts = TenantContext.getTenant(); - if (oConvertUtils.isEmpty(ts)) { - try { - ts = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest()); - } catch (Exception ignored) { - } - } - if (oConvertUtils.isEmpty(ts)) { - return null; - } - try { - return Integer.parseInt(ts.trim()); - } catch (NumberFormatException e) { - return null; - } - } //update-end---author:jiangxh ---date:20260515 for:【MES】设备部位代码同租户不可重复;仅统计未删除(del_flag=0 或 null)----------- //update-begin---author:jiangxh ---date:20260515 for:【MES】设备部位按代码+租户查询单条,供设备小部位导入解析大部位----------- diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentSubPartServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentSubPartServiceImpl.java index edec196..2d7b3db 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentSubPartServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentSubPartServiceImpl.java @@ -2,11 +2,9 @@ package org.jeecg.modules.xslmes.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.CommonConstant; -import org.jeecg.common.util.SpringContextUtils; -import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.xslmes.common.MesXslTenantUtils; import org.jeecg.modules.xslmes.entity.MesXslEquipmentSubPart; import org.jeecg.modules.xslmes.mapper.MesXslEquipmentSubPartMapper; import org.jeecg.modules.xslmes.service.IMesXslEquipmentSubPartService; @@ -22,7 +20,7 @@ public class MesXslEquipmentSubPartServiceImpl extends ServiceImpl w = new LambdaQueryWrapper<>(); w.eq(MesXslEquipmentSubPart::getSubPartCode, subPartCode.trim()); w.and( @@ -39,25 +37,5 @@ public class MesXslEquipmentSubPartServiceImpl extends ServiceImpl 0; } - private static Integer resolveTenantId(MesXslEquipmentSubPart context) { - if (context != null && context.getTenantId() != null) { - return context.getTenantId(); - } - String ts = TenantContext.getTenant(); - if (oConvertUtils.isEmpty(ts)) { - try { - ts = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest()); - } catch (Exception ignored) { - } - } - if (oConvertUtils.isEmpty(ts)) { - return null; - } - try { - return Integer.parseInt(ts.trim()); - } catch (NumberFormatException e) { - return null; - } - } //update-end---author:jiangxh ---date:20260515 for:【MES】设备小部位代码同租户不可重复;仅统计未删除(del_flag=0 或 null)----------- } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentTypeServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentTypeServiceImpl.java index 96f1500..10821b6 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentTypeServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslEquipmentTypeServiceImpl.java @@ -2,11 +2,9 @@ package org.jeecg.modules.xslmes.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.CommonConstant; -import org.jeecg.common.util.SpringContextUtils; -import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.xslmes.common.MesXslTenantUtils; import org.jeecg.modules.xslmes.entity.MesXslEquipmentType; import org.jeecg.modules.xslmes.mapper.MesXslEquipmentTypeMapper; import org.jeecg.modules.xslmes.service.IMesXslEquipmentTypeService; @@ -22,7 +20,7 @@ public class MesXslEquipmentTypeServiceImpl extends ServiceImpl w = new LambdaQueryWrapper<>(); w.eq(MesXslEquipmentType::getTypeName, typeName.trim()); w.and( @@ -39,25 +37,5 @@ public class MesXslEquipmentTypeServiceImpl extends ServiceImpl 0; } - private static Integer resolveTenantId(MesXslEquipmentType context) { - if (context != null && context.getTenantId() != null) { - return context.getTenantId(); - } - String ts = TenantContext.getTenant(); - if (oConvertUtils.isEmpty(ts)) { - try { - ts = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest()); - } catch (Exception ignored) { - } - } - if (oConvertUtils.isEmpty(ts)) { - return null; - } - try { - return Integer.parseInt(ts.trim()); - } catch (NumberFormatException e) { - return null; - } - } //update-end---author:jiangxh ---date:20260514 for:【MES】设备类型名称同租户唯一;仅统计未删除(del_flag=0 或 null)----------- } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslInspectMaintainItemServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslInspectMaintainItemServiceImpl.java index 7e5c80c..bab900f 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslInspectMaintainItemServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslInspectMaintainItemServiceImpl.java @@ -2,11 +2,9 @@ package org.jeecg.modules.xslmes.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.CommonConstant; -import org.jeecg.common.util.SpringContextUtils; -import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.xslmes.common.MesXslTenantUtils; import org.jeecg.modules.xslmes.entity.MesXslInspectMaintainItem; import org.jeecg.modules.xslmes.mapper.MesXslInspectMaintainItemMapper; import org.jeecg.modules.xslmes.service.IMesXslInspectMaintainItemService; @@ -36,7 +34,7 @@ public class MesXslInspectMaintainItemServiceImpl if (oConvertUtils.isEmpty(value)) { return false; } - Integer tenantId = resolveTenantId(context); + Integer tenantId = MesXslTenantUtils.resolveTenantId(context != null ? context.getTenantId() : null); LambdaQueryWrapper w = new LambdaQueryWrapper<>(); w.eq(column, value.trim()); w.and( @@ -53,26 +51,5 @@ public class MesXslInspectMaintainItemServiceImpl return this.count(w) > 0; } - private static Integer resolveTenantId(MesXslInspectMaintainItem context) { - if (context != null && context.getTenantId() != null) { - return context.getTenantId(); - } - String ts = TenantContext.getTenant(); - if (oConvertUtils.isEmpty(ts)) { - try { - ts = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest()); - } catch (Exception ignored) { - // ignore - } - } - if (oConvertUtils.isEmpty(ts)) { - return null; - } - try { - return Integer.parseInt(ts); - } catch (NumberFormatException e) { - return null; - } - } //update-end---author:jiangxh ---date:20260519 for:【MES】点检及保养项目:项目名称/编号同租户不可重复----------- } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslManufacturerServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslManufacturerServiceImpl.java index 2903f37..e629577 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslManufacturerServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslManufacturerServiceImpl.java @@ -2,11 +2,9 @@ package org.jeecg.modules.xslmes.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.CommonConstant; -import org.jeecg.common.util.SpringContextUtils; -import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.xslmes.common.MesXslTenantUtils; import org.jeecg.modules.xslmes.entity.MesXslManufacturer; import org.jeecg.modules.xslmes.mapper.MesXslManufacturerMapper; import org.jeecg.modules.xslmes.service.IMesXslManufacturerService; @@ -22,7 +20,7 @@ public class MesXslManufacturerServiceImpl extends ServiceImpl w = new LambdaQueryWrapper<>(); w.eq(MesXslManufacturer::getManufacturerName, manufacturerName.trim()); w.and( @@ -39,25 +37,5 @@ public class MesXslManufacturerServiceImpl extends ServiceImpl 0; } - private static Integer resolveTenantId(MesXslManufacturer context) { - if (context != null && context.getTenantId() != null) { - return context.getTenantId(); - } - String ts = TenantContext.getTenant(); - if (oConvertUtils.isEmpty(ts)) { - try { - ts = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest()); - } catch (Exception ignored) { - } - } - if (oConvertUtils.isEmpty(ts)) { - return null; - } - try { - return Integer.parseInt(ts.trim()); - } catch (NumberFormatException e) { - return null; - } - } //update-end---author:jiangxh ---date:20260515 for:【MES】厂家名称同租户不可重复;仅统计未删除(del_flag=0 或 null)----------- } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslMixerMaterialKindCfgServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslMixerMaterialKindCfgServiceImpl.java index b8a1be4..aafb2b0 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslMixerMaterialKindCfgServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslMixerMaterialKindCfgServiceImpl.java @@ -2,7 +2,6 @@ package org.jeecg.modules.xslmes.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import jakarta.servlet.http.HttpServletRequest; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Deque; @@ -13,10 +12,7 @@ import java.util.Map; import java.util.Set; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.exception.JeecgBootException; -import org.jeecg.common.util.SpringContextUtils; -import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; -import org.jeecg.common.config.TenantContext; import org.jeecg.config.mybatis.MybatisPlusSaasConfig; import org.jeecg.modules.system.entity.SysCategory; import org.jeecg.modules.system.entity.SysDict; @@ -24,6 +20,7 @@ import org.jeecg.modules.system.entity.SysDictItem; import org.jeecg.modules.system.service.ISysCategoryService; import org.jeecg.modules.system.service.ISysDictItemService; import org.jeecg.modules.system.service.ISysDictService; +import org.jeecg.modules.xslmes.common.MesXslTenantUtils; import org.jeecg.modules.xslmes.entity.MesXslMixerMaterialKindCfg; import org.jeecg.modules.xslmes.mapper.MesXslMixerMaterialKindCfgMapper; import org.jeecg.modules.xslmes.service.IMesXslMixerMaterialKindCfgService; @@ -73,7 +70,7 @@ public class MesXslMixerMaterialKindCfgServiceImpl if (lines == null || lines.isEmpty()) { throw new JeecgBootException("请至少维护一条种类配置明细"); } - Integer resolvedTenantId = resolveTenantId(tenantId); + Integer resolvedTenantId = MesXslTenantUtils.resolveTenantId(tenantId); Set kindKeys = new HashSet<>(); Set categoryRefIds = new HashSet<>(); for (MesXslMixerMaterialKindCfg line : lines) { @@ -124,7 +121,7 @@ public class MesXslMixerMaterialKindCfgServiceImpl cfg.setKindKey(item.getItemValue()); cfg.setKindName(item.getItemText()); cfg.setPriority(item.getSortOrder() != null ? item.getSortOrder() : priorityBase + index * 10); - cfg.setTenantId(resolveTenantId(tenantId)); + cfg.setTenantId(MesXslTenantUtils.resolveTenantId(tenantId)); result.add(cfg); index++; } @@ -183,7 +180,7 @@ public class MesXslMixerMaterialKindCfgServiceImpl cfg.setKindKey(refCode); cfg.setKindName(category.getName()); cfg.setPriority(priorityBase + i * 10); - cfg.setTenantId(resolveTenantId(tenantId)); + cfg.setTenantId(MesXslTenantUtils.resolveTenantId(tenantId)); result.add(cfg); } if (result.isEmpty()) { @@ -197,7 +194,7 @@ public class MesXslMixerMaterialKindCfgServiceImpl qw.eq(MesXslMixerMaterialKindCfg::getSourceType, sourceType); qw.eq(MesXslMixerMaterialKindCfg::getSourceRootCode, sourceRootCode); qw.and(q -> q.eq(MesXslMixerMaterialKindCfg::getDelFlag, CommonConstant.DEL_FLAG_0).or().isNull(MesXslMixerMaterialKindCfg::getDelFlag)); - Integer resolvedTenantId = resolveTenantId(tenantId); + Integer resolvedTenantId = MesXslTenantUtils.resolveTenantId(tenantId); if (resolvedTenantId != null && MybatisPlusSaasConfig.OPEN_SYSTEM_TENANT_CONTROL) { qw.eq(MesXslMixerMaterialKindCfg::getTenantId, resolvedTenantId); } @@ -246,7 +243,7 @@ public class MesXslMixerMaterialKindCfgServiceImpl @Override public void checkDuplicate(MesXslMixerMaterialKindCfg line, String excludeId) { - Integer tenantId = resolveTenantId(line.getTenantId()); + Integer tenantId = MesXslTenantUtils.resolveTenantId(line.getTenantId()); LambdaQueryWrapper kindQw = new LambdaQueryWrapper<>(); kindQw.eq(MesXslMixerMaterialKindCfg::getKindKey, line.getKindKey().trim()); kindQw.and(q -> q.eq(MesXslMixerMaterialKindCfg::getDelFlag, CommonConstant.DEL_FLAG_0).or().isNull(MesXslMixerMaterialKindCfg::getDelFlag)); @@ -274,30 +271,6 @@ public class MesXslMixerMaterialKindCfgServiceImpl } } - private static Integer resolveTenantId(Integer tenantId) { - if (tenantId != null) { - return tenantId; - } - String ts = TenantContext.getTenant(); - if (oConvertUtils.isEmpty(ts)) { - try { - HttpServletRequest request = SpringContextUtils.getHttpServletRequest(); - if (request != null) { - ts = TokenUtils.getTenantIdByRequest(request); - } - } catch (Exception ignored) { - // ignore - } - } - if (oConvertUtils.isEmpty(ts)) { - return null; - } - try { - return Integer.parseInt(ts); - } catch (NumberFormatException e) { - return null; - } - } //update-end---author:cursor ---date:20260525 for:【XSLMES-20260525-A51】密炼物料种类配置展开与批量保存----------- //update-begin---author:cursor ---date:20260525 for:【XSLMES-20260525-A52】密炼物料种类配置关联解析----------- @@ -307,7 +280,7 @@ public class MesXslMixerMaterialKindCfgServiceImpl public MesXslMixerMaterialKindLookupVO loadKindLookup(Integer tenantId) { LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); qw.and(q -> q.eq(MesXslMixerMaterialKindCfg::getDelFlag, CommonConstant.DEL_FLAG_0).or().isNull(MesXslMixerMaterialKindCfg::getDelFlag)); - Integer resolvedTenantId = resolveTenantId(tenantId); + Integer resolvedTenantId = MesXslTenantUtils.resolveTenantId(tenantId); if (resolvedTenantId != null && MybatisPlusSaasConfig.OPEN_SYSTEM_TENANT_CONTROL) { qw.eq(MesXslMixerMaterialKindCfg::getTenantId, resolvedTenantId); } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslProcessOperationServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslProcessOperationServiceImpl.java index 83c5ca7..83ca448 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslProcessOperationServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslProcessOperationServiceImpl.java @@ -2,11 +2,9 @@ package org.jeecg.modules.xslmes.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.CommonConstant; -import org.jeecg.common.util.SpringContextUtils; -import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.xslmes.common.MesXslTenantUtils; import org.jeecg.modules.xslmes.entity.MesXslProcessOperation; import org.jeecg.modules.xslmes.mapper.MesXslProcessOperationMapper; import org.jeecg.modules.xslmes.service.IMesXslProcessOperationService; @@ -22,7 +20,7 @@ public class MesXslProcessOperationServiceImpl extends ServiceImpl w = new LambdaQueryWrapper<>(); w.eq(MesXslProcessOperation::getOperationCode, operationCode.trim()); // 仅与「未删除」数据判重:del_flag=0 或历史空值视为正常行,排除已删除(del_flag=1) @@ -41,25 +39,5 @@ public class MesXslProcessOperationServiceImpl extends ServiceImpl queryPage( + Integer pageNo, Integer pageSize, MesXslRackTrainCountSettingVO query, String keyword) { + LambdaQueryWrapper wrapper = buildQueryWrapper(query, keyword); + wrapper.orderByDesc(MesXslMixingSpec::getUpdateTime).orderByDesc(MesXslMixingSpec::getCreateTime); + Page page = mixingSpecService.page(new Page<>(pageNo, pageSize), wrapper); + return page.convert(this::toVo); + } + //update-end---author:cursor ---date:20260528 for:【XSLMES-20260528-A01】架子车数设定分页查询混炼示方----------- + + //update-begin---author:cursor ---date:20260528 for:【XSLMES-20260528-A01】架子车数设定按ID查询----------- + @Override + public MesXslRackTrainCountSettingVO queryById(String id) { + if (StringUtils.isBlank(id)) { + return null; + } + MesXslMixingSpec spec = mixingSpecService.getById(id); + if (spec == null || isDeleted(spec)) { + return null; + } + return toVo(spec); + } + //update-end---author:cursor ---date:20260528 for:【XSLMES-20260528-A01】架子车数设定按ID查询----------- + + //update-begin---author:cursor ---date:20260528 for:【XSLMES-20260528-A01】架子车数设定保存回写混炼示方----------- + @Override + @Transactional(rollbackFor = Exception.class) + public void saveSetting(MesXslRackTrainCountSettingVO setting) { + if (setting == null) { + throw new IllegalArgumentException("参数不能为空"); + } + String mixingSpecId = StringUtils.isNotBlank(setting.getMixingSpecId()) ? setting.getMixingSpecId() : setting.getId(); + if (StringUtils.isBlank(mixingSpecId)) { + throw new IllegalArgumentException("混炼示方ID不能为空"); + } + MesXslMixingSpec existing = mixingSpecService.getById(mixingSpecId); + if (existing == null || isDeleted(existing)) { + throw new IllegalArgumentException("混炼示方不存在或已删除"); + } + if (setting.getSetTrainCount() != null && setting.getSetTrainCount() < 0) { + throw new IllegalArgumentException("设定车数不能小于0"); + } + //update-begin---author:cursor ---date:20260528 for:【XSLMES-20260528-A03】架子车数设定保存写入配方日志----------- + MesXslMixingSpecPage before = mixingSpecService.queryPageById(mixingSpecId); + if (before == null) { + throw new IllegalArgumentException("混炼示方不存在或已删除"); + } + Integer newSetTrainCount = setting.getSetTrainCount(); + if (Objects.equals(before.getSetTrainCount(), newSetTrainCount)) { + return; + } + MesXslMixingSpec update = new MesXslMixingSpec(); + update.setId(mixingSpecId); + update.setSetTrainCount(newSetTrainCount); + mixingSpecService.updateById(update); + MesXslMixingSpecPage after = copyMixingPageWithSetTrainCount(before, newSetTrainCount); + mesXslFormulaSpecEditLogService.recordMixingUpdate(before, after); + //update-end---author:cursor ---date:20260528 for:【XSLMES-20260528-A03】架子车数设定保存写入配方日志----------- + } + //update-end---author:cursor ---date:20260528 for:【XSLMES-20260528-A01】架子车数设定保存回写混炼示方----------- + + private LambdaQueryWrapper buildQueryWrapper(MesXslRackTrainCountSettingVO query, String keyword) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(MesXslMixingSpec::getDelFlag, 0); + if (query != null) { + if (query.getTenantId() != null) { + wrapper.eq(MesXslMixingSpec::getTenantId, query.getTenantId()); + } + if (StringUtils.isNotBlank(query.getSpecCode())) { + wrapper.like(MesXslMixingSpec::getSpecName, query.getSpecCode().trim()); + } + if (StringUtils.isNotBlank(query.getMixingSpecId())) { + wrapper.eq(MesXslMixingSpec::getId, query.getMixingSpecId().trim()); + } + if (StringUtils.isNotBlank(query.getMachineId())) { + wrapper.eq(MesXslMixingSpec::getMachineId, query.getMachineId().trim()); + } + if (StringUtils.isNotBlank(query.getMachineName())) { + wrapper.like(MesXslMixingSpec::getMachineName, query.getMachineName().trim()); + } + if (STATUS_SET.equals(query.getStatus())) { + wrapper.isNotNull(MesXslMixingSpec::getSetTrainCount); + } else if (STATUS_UNSET.equals(query.getStatus())) { + wrapper.isNull(MesXslMixingSpec::getSetTrainCount); + } + } + if (StringUtils.isNotBlank(keyword)) { + String kw = keyword.trim(); + wrapper.and(w -> w.like(MesXslMixingSpec::getSpecName, kw) + .or() + .like(MesXslMixingSpec::getMachineName, kw) + .or() + .like(MesXslMixingSpec::getIssueNumber, kw)); + } + return wrapper; + } + + private MesXslRackTrainCountSettingVO toVo(MesXslMixingSpec spec) { + MesXslRackTrainCountSettingVO vo = new MesXslRackTrainCountSettingVO(); + vo.setId(spec.getId()); + vo.setMixingSpecId(spec.getId()); + vo.setTenantId(spec.getTenantId()); + vo.setSpecCode(spec.getSpecName()); + vo.setMachineId(spec.getMachineId()); + vo.setMachineName(spec.getMachineName()); + vo.setSetTrainCount(spec.getSetTrainCount()); + vo.setStatus(resolveStatus(spec.getSetTrainCount())); + vo.setCreateBy(spec.getCreateBy()); + vo.setCreateTime(spec.getCreateTime()); + vo.setUpdateBy(spec.getUpdateBy()); + vo.setUpdateTime(spec.getUpdateTime()); + return vo; + } + + private String resolveStatus(Integer setTrainCount) { + return setTrainCount != null ? STATUS_SET : STATUS_UNSET; + } + + private boolean isDeleted(MesXslMixingSpec spec) { + return spec.getDelFlag() != null && spec.getDelFlag() != 0; + } + + /** 基于变更前快照复制 after,仅更新设定车数,避免二次全量查子表 */ + private static MesXslMixingSpecPage copyMixingPageWithSetTrainCount(MesXslMixingSpecPage before, Integer setTrainCount) { + MesXslMixingSpecPage after = new MesXslMixingSpecPage(); + BeanUtils.copyProperties(before, after); + after.setMaterialList(before.getMaterialList()); + after.setStepList(before.getStepList()); + after.setDownStepList(before.getDownStepList()); + after.setTcuList(before.getTcuList()); + after.setSetTrainCount(setTrainCount); + return after; + } +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestDataPointServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestDataPointServiceImpl.java index 16e90e2..f28d973 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestDataPointServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestDataPointServiceImpl.java @@ -2,12 +2,10 @@ package org.jeecg.modules.xslmes.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.exception.JeecgBootException; -import org.jeecg.common.util.SpringContextUtils; -import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.xslmes.common.MesXslTenantUtils; import org.jeecg.modules.xslmes.entity.MesXslRubberQuickTestDataPoint; import org.jeecg.modules.xslmes.mapper.MesXslRubberQuickTestDataPointMapper; import org.jeecg.modules.xslmes.service.IMesXslRubberQuickTestDataPointService; @@ -25,7 +23,7 @@ public class MesXslRubberQuickTestDataPointServiceImpl if (oConvertUtils.isEmpty(pointName)) { return false; } - Integer tenantId = resolveTenantId(context); + Integer tenantId = MesXslTenantUtils.resolveTenantId(context != null ? context.getTenantId() : null); LambdaQueryWrapper w = new LambdaQueryWrapper<>(); w.eq(MesXslRubberQuickTestDataPoint::getPointName, pointName.trim()); w.and( @@ -70,25 +68,5 @@ public class MesXslRubberQuickTestDataPointServiceImpl } } - private static Integer resolveTenantId(MesXslRubberQuickTestDataPoint context) { - if (context != null && context.getTenantId() != null) { - return context.getTenantId(); - } - String ts = TenantContext.getTenant(); - if (oConvertUtils.isEmpty(ts)) { - try { - ts = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest()); - } catch (Exception ignored) { - } - } - if (oConvertUtils.isEmpty(ts)) { - return null; - } - try { - return Integer.parseInt(ts.trim()); - } catch (NumberFormatException e) { - return null; - } - } //update-end---author:jiangxh ---date:20260522 for:【MES】胶料快检数据点名称同租户唯一----------- } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestMethodServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestMethodServiceImpl.java index dda5acf..d987af5 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestMethodServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestMethodServiceImpl.java @@ -12,18 +12,16 @@ import java.util.Collection; import java.util.List; -import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.exception.JeecgBootException; -import org.jeecg.common.util.SpringContextUtils; -import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.xslmes.common.MesXslTenantUtils; import org.jeecg.modules.xslmes.entity.MesXslRubberQuickTestMethod; import org.jeecg.modules.xslmes.entity.MesXslRubberQuickTestMethodLine; @@ -66,7 +64,7 @@ public class MesXslRubberQuickTestMethodServiceImpl public String generateNextMethodCode(MesXslRubberQuickTestMethod context) { - Integer tenantId = resolveTenantId(context); + Integer tenantId = MesXslTenantUtils.resolveTenantId(context != null ? context.getTenantId() : null); Integer max = baseMapper.selectMaxNumericMethodCode(tenantId); @@ -94,7 +92,7 @@ public class MesXslRubberQuickTestMethodServiceImpl } - Integer tenantId = resolveTenantId(context); + Integer tenantId = MesXslTenantUtils.resolveTenantId(context != null ? context.getTenantId() : null); LambdaQueryWrapper w = new LambdaQueryWrapper<>(); @@ -286,45 +284,6 @@ public class MesXslRubberQuickTestMethodServiceImpl - private static Integer resolveTenantId(MesXslRubberQuickTestMethod context) { - - if (context != null && context.getTenantId() != null) { - - return context.getTenantId(); - - } - - String ts = TenantContext.getTenant(); - - if (oConvertUtils.isEmpty(ts)) { - - try { - - ts = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest()); - - } catch (Exception ignored) { - - } - - } - - if (oConvertUtils.isEmpty(ts)) { - - return null; - - } - - try { - - return Integer.parseInt(ts.trim()); - - } catch (NumberFormatException e) { - - return null; - - } - - } //update-end---author:jiangxh ---date:20260522 for:【MES】胶料快检实验方法编号001递增、名称同租户唯一、主子保存----------- diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestStdServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestStdServiceImpl.java index c39ec73..b259752 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestStdServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestStdServiceImpl.java @@ -6,13 +6,11 @@ import java.io.Serializable; import java.util.Collection; import java.util.List; import java.util.stream.Collectors; -import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.exception.JeecgBootException; -import org.jeecg.common.util.SpringContextUtils; -import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.xslmes.common.XslMesBizConstants; +import org.jeecg.modules.xslmes.common.MesXslTenantUtils; import org.jeecg.modules.xslmes.entity.MesXslRubberQuickTestStd; import org.jeecg.modules.xslmes.entity.MesXslRubberQuickTestStdLine; import org.jeecg.modules.xslmes.mapper.MesXslRubberQuickTestStdLineMapper; @@ -37,7 +35,7 @@ public class MesXslRubberQuickTestStdServiceImpl if (oConvertUtils.isEmpty(stdName)) { return false; } - Integer tenantId = resolveTenantId(context); + Integer tenantId = MesXslTenantUtils.resolveTenantId(context != null ? context.getTenantId() : null); LambdaQueryWrapper w = new LambdaQueryWrapper<>(); w.eq(MesXslRubberQuickTestStd::getStdName, stdName.trim()); w.and(q -> q.eq(MesXslRubberQuickTestStd::getDelFlag, CommonConstant.DEL_FLAG_0).or().isNull(MesXslRubberQuickTestStd::getDelFlag)); @@ -158,25 +156,5 @@ public class MesXslRubberQuickTestStdServiceImpl } //update-end---author:jiangxh ---date:20260525 for:【MES】原材料检验标准密炼PS批准时关联实验标准置已批准----------- - private static Integer resolveTenantId(MesXslRubberQuickTestStd context) { - if (context != null && context.getTenantId() != null) { - return context.getTenantId(); - } - String ts = TenantContext.getTenant(); - if (oConvertUtils.isEmpty(ts)) { - try { - ts = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest()); - } catch (Exception ignored) { - } - } - if (oConvertUtils.isEmpty(ts)) { - return null; - } - try { - return Integer.parseInt(ts.trim()); - } catch (NumberFormatException e) { - return null; - } - } //update-end---author:jiangxh ---date:20260525 for:【MES】胶料快检实验标准名称同租户唯一、主子保存----------- } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestTypeServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestTypeServiceImpl.java index 7bd38b4..ebb5299 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestTypeServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslRubberQuickTestTypeServiceImpl.java @@ -2,12 +2,10 @@ package org.jeecg.modules.xslmes.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.exception.JeecgBootException; -import org.jeecg.common.util.SpringContextUtils; -import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.xslmes.common.MesXslTenantUtils; import org.jeecg.modules.xslmes.entity.MesXslRubberQuickTestType; import org.jeecg.modules.xslmes.mapper.MesXslRubberQuickTestTypeMapper; import org.jeecg.modules.xslmes.service.IMesXslRubberQuickTestTypeService; @@ -22,7 +20,7 @@ public class MesXslRubberQuickTestTypeServiceImpl //update-begin---author:jiangxh ---date:20260522 for:【MES】胶料快检实验类型编号001递增、名称同租户唯一----------- @Override public String generateNextTypeCode(MesXslRubberQuickTestType context) { - Integer tenantId = resolveTenantId(context); + Integer tenantId = MesXslTenantUtils.resolveTenantId(context != null ? context.getTenantId() : null); Integer max = baseMapper.selectMaxNumericTypeCode(tenantId); int next = (max == null ? 0 : max) + 1; if (next > 999) { @@ -36,7 +34,7 @@ public class MesXslRubberQuickTestTypeServiceImpl if (oConvertUtils.isEmpty(typeName)) { return false; } - Integer tenantId = resolveTenantId(context); + Integer tenantId = MesXslTenantUtils.resolveTenantId(context != null ? context.getTenantId() : null); LambdaQueryWrapper w = new LambdaQueryWrapper<>(); w.eq(MesXslRubberQuickTestType::getTypeName, typeName.trim()); w.and( @@ -84,25 +82,5 @@ public class MesXslRubberQuickTestTypeServiceImpl } } - private static Integer resolveTenantId(MesXslRubberQuickTestType context) { - if (context != null && context.getTenantId() != null) { - return context.getTenantId(); - } - String ts = TenantContext.getTenant(); - if (oConvertUtils.isEmpty(ts)) { - try { - ts = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest()); - } catch (Exception ignored) { - } - } - if (oConvertUtils.isEmpty(ts)) { - return null; - } - try { - return Integer.parseInt(ts.trim()); - } catch (NumberFormatException e) { - return null; - } - } //update-end---author:jiangxh ---date:20260522 for:【MES】胶料快检实验类型编号001递增、名称同租户唯一----------- } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslSparePartServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslSparePartServiceImpl.java index 2efab2a..6d90a0b 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslSparePartServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslSparePartServiceImpl.java @@ -2,11 +2,9 @@ package org.jeecg.modules.xslmes.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.CommonConstant; -import org.jeecg.common.util.SpringContextUtils; -import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.xslmes.common.MesXslTenantUtils; import org.jeecg.modules.xslmes.entity.MesXslSparePart; import org.jeecg.modules.xslmes.mapper.MesXslSparePartMapper; import org.jeecg.modules.xslmes.service.IMesXslSparePartService; @@ -21,7 +19,7 @@ public class MesXslSparePartServiceImpl extends ServiceImpl w = new LambdaQueryWrapper<>(); w.eq(MesXslSparePart::getSparePartName, sparePartName.trim()); w.and( @@ -38,25 +36,5 @@ public class MesXslSparePartServiceImpl extends ServiceImpl 0; } - private static Integer resolveTenantId(MesXslSparePart context) { - if (context != null && context.getTenantId() != null) { - return context.getTenantId(); - } - String ts = TenantContext.getTenant(); - if (oConvertUtils.isEmpty(ts)) { - try { - ts = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest()); - } catch (Exception ignored) { - } - } - if (oConvertUtils.isEmpty(ts)) { - return null; - } - try { - return Integer.parseInt(ts.trim()); - } catch (NumberFormatException e) { - return null; - } - } //update-end---author:jiangxh ---date:20260515 for:【MES】备品件名称同租户不可重复;仅统计未删除(del_flag=0 或 null)----------- } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslSparePartsCategoryServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslSparePartsCategoryServiceImpl.java index 6b5b6eb..b3d1b13 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslSparePartsCategoryServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslSparePartsCategoryServiceImpl.java @@ -2,11 +2,9 @@ package org.jeecg.modules.xslmes.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.CommonConstant; -import org.jeecg.common.util.SpringContextUtils; -import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.xslmes.common.MesXslTenantUtils; import org.jeecg.modules.xslmes.entity.MesXslSparePartsCategory; import org.jeecg.modules.xslmes.mapper.MesXslSparePartsCategoryMapper; import org.jeecg.modules.xslmes.service.IMesXslSparePartsCategoryService; @@ -22,7 +20,7 @@ public class MesXslSparePartsCategoryServiceImpl extends ServiceImpl w = new LambdaQueryWrapper<>(); w.eq(MesXslSparePartsCategory::getCategoryName, categoryName.trim()); w.and( @@ -60,25 +58,5 @@ public class MesXslSparePartsCategoryServiceImpl extends ServiceImpl defHttp.get({ url: Api.list, params }); + +export const queryById = (params: { id: string }) => defHttp.get({ url: Api.queryById, params }); + +export const saveSetting = (params) => defHttp.post({ url: Api.edit, params }); diff --git a/jeecgboot-vue3/src/views/xslmes/mesXslRackTrainCountSetting/MesXslRackTrainCountSetting.data.ts b/jeecgboot-vue3/src/views/xslmes/mesXslRackTrainCountSetting/MesXslRackTrainCountSetting.data.ts new file mode 100644 index 0000000..d007c87 --- /dev/null +++ b/jeecgboot-vue3/src/views/xslmes/mesXslRackTrainCountSetting/MesXslRackTrainCountSetting.data.ts @@ -0,0 +1,75 @@ +import { BasicColumn, FormSchema } from '/@/components/Table'; + +export const STATUS_DICT = 'xslmes_rack_train_count_setting_status'; + +export const columns: BasicColumn[] = [ + { title: '示方编号', align: 'center', dataIndex: 'specCode', width: 180, ellipsis: true }, + { title: '机台名称', align: 'center', dataIndex: 'machineName', width: 160, ellipsis: true }, + { title: '设定车数', align: 'center', dataIndex: 'setTrainCount', width: 100 }, + { + title: '状态', + align: 'center', + dataIndex: 'status', + width: 100, + customRender: ({ text }) => { + if (text === '1' || text === 1) return '已设定'; + if (text === '0' || text === 0) return '未设定'; + return '-'; + }, + }, + { title: '修改人', align: 'center', dataIndex: 'updateBy', width: 110 }, + { title: '修改时间', align: 'center', dataIndex: 'updateTime', width: 165 }, + { title: '创建人', align: 'center', dataIndex: 'createBy', width: 110 }, + { title: '创建时间', align: 'center', dataIndex: 'createTime', width: 165 }, +]; + +export const searchFormSchema: FormSchema[] = [ + { label: '示方编号', field: 'specCode', component: 'JInput', colProps: { span: 6 } }, + { + label: '机台名称', + field: 'machineId', + component: 'JDictSelectTag', + componentProps: { + dictCode: 'mes_xsl_equipment_ledger,equipment_name,id', + placeholder: '请选择机台', + }, + colProps: { span: 6 }, + }, + { + label: '状态', + field: 'status', + component: 'JDictSelectTag', + componentProps: { dictCode: STATUS_DICT, placeholder: '全部' }, + colProps: { span: 6 }, + }, + { label: '关键字', field: 'keyword', component: 'Input', colProps: { span: 6 }, componentProps: { placeholder: '示方编号/机台名称' } }, +]; + +export const formSchema: FormSchema[] = [ + { label: '', field: 'id', component: 'Input', show: false }, + { label: '', field: 'mixingSpecId', component: 'Input', show: false }, + { label: '示方编号', field: 'specCode', component: 'Input', componentProps: { disabled: true } }, + { label: '机台名称', field: 'machineName', component: 'Input', componentProps: { disabled: true } }, + { + label: '设定车数', + field: 'setTrainCount', + component: 'InputNumber', + required: true, + componentProps: { + min: 0, + precision: 0, + style: { width: '100%' }, + placeholder: '请输入设定车数', + }, + }, + { + label: '状态', + field: 'status', + component: 'JDictSelectTag', + componentProps: { dictCode: STATUS_DICT, disabled: true }, + }, + { label: '修改人', field: 'updateBy', component: 'Input', componentProps: { disabled: true } }, + { label: '修改时间', field: 'updateTime', component: 'Input', componentProps: { disabled: true } }, + { label: '创建人', field: 'createBy', component: 'Input', componentProps: { disabled: true } }, + { label: '创建时间', field: 'createTime', component: 'Input', componentProps: { disabled: true } }, +]; diff --git a/jeecgboot-vue3/src/views/xslmes/mesXslRackTrainCountSetting/MesXslRackTrainCountSettingList.vue b/jeecgboot-vue3/src/views/xslmes/mesXslRackTrainCountSetting/MesXslRackTrainCountSettingList.vue new file mode 100644 index 0000000..c16ff39 --- /dev/null +++ b/jeecgboot-vue3/src/views/xslmes/mesXslRackTrainCountSetting/MesXslRackTrainCountSettingList.vue @@ -0,0 +1,78 @@ + + + diff --git a/jeecgboot-vue3/src/views/xslmes/mesXslRackTrainCountSetting/components/MesXslRackTrainCountSettingModal.vue b/jeecgboot-vue3/src/views/xslmes/mesXslRackTrainCountSetting/components/MesXslRackTrainCountSettingModal.vue new file mode 100644 index 0000000..4b87ab8 --- /dev/null +++ b/jeecgboot-vue3/src/views/xslmes/mesXslRackTrainCountSetting/components/MesXslRackTrainCountSettingModal.vue @@ -0,0 +1,66 @@ + + +