diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/WorkCenter.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/WorkCenter.java index ccfde8f1..1e8cb048 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/WorkCenter.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/WorkCenter.java @@ -9,6 +9,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import org.springblade.core.mp.base.BaseEntity; +import org.springblade.scheduling.pojo.entity.CraftAbilityEntity; import java.io.Serial; import java.math.BigDecimal; @@ -57,6 +58,8 @@ public class WorkCenter extends BaseEntity { * 班组 */ public static final String COL_TEAM = "TEAM"; + public static final String COL_TEAM_ID = "TEAM_ID"; + /** * 面积 */ @@ -208,7 +211,7 @@ public class WorkCenter extends BaseEntity { * [交付中心]id */ @Schema(description = "[交付中心]id") - private Long jcId; + private String jcId; /** * 备注 */ @@ -219,6 +222,6 @@ public class WorkCenter extends BaseEntity { private List teamIds; @TableField(exist = false) - private List craftIds; + private List crafs; } diff --git a/blade-service-api/blade-dict-api/src/main/java/org/springblade/system/cache/DictCache.java b/blade-service-api/blade-dict-api/src/main/java/org/springblade/system/cache/DictCache.java index 6bb3c866..364a5b35 100644 --- a/blade-service-api/blade-dict-api/src/main/java/org/springblade/system/cache/DictCache.java +++ b/blade-service-api/blade-dict-api/src/main/java/org/springblade/system/cache/DictCache.java @@ -33,10 +33,12 @@ import org.springblade.system.pojo.entity.Dict; import org.springblade.system.pojo.enums.DictEnum; import org.springblade.system.feign.IDictClient; +import java.util.Collections; import java.util.List; import java.util.Optional; import static org.springblade.core.cache.constant.CacheConstant.DICT_CACHE; +import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE; /** * 字典缓存工具类 @@ -122,10 +124,20 @@ public class DictCache { * @return String */ public static String getValue(String code, Integer dictKey) { - return CacheUtil.get(DICT_CACHE, DICT_VALUE + code + StringPool.COLON, String.valueOf(dictKey), () -> { - R result = getDictClient().getValue(code, String.valueOf(dictKey)); - return result.getData(); - }, TENANT_MODE); +// return CacheUtil.get(DICT_CACHE, DICT_VALUE + code + StringPool.COLON, String.valueOf(dictKey), () -> { +// R result = getDictClient().getValue(code, String.valueOf(dictKey)); +// return result.getData(); +// }, TENANT_MODE); + + try { + return CacheUtil.get(DICT_CACHE, DICT_VALUE + code + StringPool.COLON, String.valueOf(dictKey), () -> { + R result = getDictClient().getValue(code, String.valueOf(dictKey)); + return result.getData(); + }, TENANT_MODE); + } catch (Exception e) { + // 返回默认值或空列表 + return null; + } } /** diff --git a/blade-service-api/blade-scheduling-api/src/main/java/org/springblade/scheduling/pojo/entity/CraftAbilityEntity.java b/blade-service-api/blade-scheduling-api/src/main/java/org/springblade/scheduling/pojo/entity/CraftAbilityEntity.java index cb9c2a6f..66bf877f 100644 --- a/blade-service-api/blade-scheduling-api/src/main/java/org/springblade/scheduling/pojo/entity/CraftAbilityEntity.java +++ b/blade-service-api/blade-scheduling-api/src/main/java/org/springblade/scheduling/pojo/entity/CraftAbilityEntity.java @@ -68,20 +68,22 @@ public class CraftAbilityEntity extends BaseEntity { @Schema(description = "能力类型") private Long wtId; /** - * 设备名称 + * 镀种小类 */ - @Schema(description = "设备名称") + @Schema(description = "镀种小类") private Long bpsId; @TableField(exist = false) private List ids; + @Schema(description = "面积") + private BigDecimal area; - /** - * 镀种小类 - */ - @Schema(description = "镀种小类") - private String platingSmall; - + @Schema(description = "数量") + private int quality; + @Schema(description = "批次") + private String batch; + @Schema(description = "饱和度") + private BigDecimal saturation; } diff --git a/blade-service-api/blade-system-api/src/main/java/org/springblade/system/cache/SysCache.java b/blade-service-api/blade-system-api/src/main/java/org/springblade/system/cache/SysCache.java index 75ce8ed9..4d208a69 100644 --- a/blade-service-api/blade-system-api/src/main/java/org/springblade/system/cache/SysCache.java +++ b/blade-service-api/blade-system-api/src/main/java/org/springblade/system/cache/SysCache.java @@ -34,6 +34,7 @@ import org.springblade.system.feign.ISysClient; import org.springblade.system.pojo.entity.*; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -153,10 +154,21 @@ public class SysCache { * @return 部门名 */ public static List getDeptNames(String deptIds) { - return CacheUtil.get(SYS_CACHE, DEPT_NAMES_ID, deptIds, () -> { - R> result = getSysClient().getDeptNames(deptIds); - return result.getData(); - }); +// return CacheUtil.get(SYS_CACHE, DEPT_NAMES_ID, deptIds, () -> { +// R> result = getSysClient().getDeptNames(deptIds); +// return result.getData(); +// }); + + try { + return CacheUtil.get(SYS_CACHE, DEPT_NAMES_ID, deptIds, () -> { + R> result = getSysClient().getDeptNames(deptIds); + return result.getData(); + }); + } catch (Exception e) { + // 记录日志并返回空列表或默认值 +// log.error("Failed to deserialize department names from cache", e); + return Collections.emptyList(); // 或者返回默认值 + } } /** @@ -257,10 +269,20 @@ public class SysCache { * @return 岗位名 */ public static List getPostNames(String postIds) { - return CacheUtil.get(SYS_CACHE, POST_NAMES_ID, postIds, () -> { - R> result = getSysClient().getPostNames(postIds); - return result.getData(); - }); +// return CacheUtil.get(SYS_CACHE, POST_NAMES_ID, postIds, () -> { +// R> result = getSysClient().getPostNames(postIds); +// return result.getData(); +// }); + + try { + return CacheUtil.get(SYS_CACHE, POST_NAMES_ID, postIds, () -> { + R> result = getSysClient().getPostNames(postIds); + return result.getData(); + }); + } catch (Exception e) { + // 返回默认值或空列表 + return Collections.emptyList(); + } } /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkCenterController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkCenterController.java index 623ff252..bf87d2f4 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkCenterController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkCenterController.java @@ -37,13 +37,11 @@ import org.springblade.desk.basic.wrapper.WorkCenterWrapper; import org.springblade.scheduling.pojo.entity.CraftAbilityEntity; import org.springblade.scheduling.pojo.entity.TeamSetEntity; import org.springframework.http.ResponseEntity; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -94,8 +92,12 @@ public class WorkCenterController extends BladeController { QueryWrapper qw = Condition.getQueryWrapper(workCenter, WorkCenter.class); qw.like(workCenter.containsKey("wcCode"), WorkCenter.COL_WC_CODE, Func.toStr(workCenter.get("wcCode"))); - qw.like(workCenter.containsKey("wcName"), WorkCenter.COL_WC_NAME, Func.toInt(workCenter.get("wcName"))); - qw.like(workCenter.containsKey("processes"), WorkCenter.COL_PROCESSES, Func.toInt(workCenter.get("processes"))); + qw.like(workCenter.containsKey("wcName"), WorkCenter.COL_WC_NAME, Func.toStr(workCenter.get("wcName"))); + qw.like(workCenter.containsKey("processes"), WorkCenter.COL_PROCESSES, Func.toStr(workCenter.get("processes"))); + qw.like(workCenter.containsKey("sign"), WorkCenter.COL_SIGN, Func.toStr(workCenter.get("sign"))); + qw.eq(workCenter.containsKey("leaderUser"), WorkCenter.COL_LEADER_USER, Func.toLong(workCenter.get("leaderUser"))); + qw.like(workCenter.containsKey("team"), WorkCenter.COL_TEAM, Func.toStr(workCenter.get("team"))); + qw.like(workCenter.containsKey("teamId"), WorkCenter.COL_TEAM_ID, Func.toStr(workCenter.get("teamId"))); IPage pages = service.page(Condition.getPage(query), qw); IPage pagesVO = WorkCenterWrapper.build().pageVO(pages); @@ -218,18 +220,29 @@ public class WorkCenterController extends BladeController { @PostMapping("/updateTeamId") @ApiOperationSupport(order = 31) @Operation(summary = "设置班组Id保存", description = "传入WorkCenter List") + @Transactional public R updateTeamId(@Valid @RequestBody WorkCenter workCenter) { QueryWrapper qw = Condition.getQueryWrapper(workCenter); WorkCenter detail = service.getOne(qw); List teamIds = workCenter.getTeamIds(); String result = null; + String team = null; if(null != teamIds){ result = teamIds.stream() .map(Object::toString) // 或者直接使用String::valueOf,效果相同 .collect(Collectors.joining(",")); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",teamIds); + List teams = teamService.list(queryWrapper); + + team= teams.stream() + .map(user -> String.valueOf(user.getTsName())) + .collect(Collectors.joining(",")); } detail.setTeamId(result); + detail.setTeam(team); service.updateById(detail); return R.status(true); } @@ -238,18 +251,37 @@ public class WorkCenterController extends BladeController { @PostMapping("/updateCraftAbilityId") @ApiOperationSupport(order = 31) @Operation(summary = "设置工艺Id保存", description = "传入WorkCenter List") + @Transactional public R updateCraftAbilityId(@Valid @RequestBody WorkCenter workCenter) { QueryWrapper qw = Condition.getQueryWrapper(workCenter); WorkCenter detail = service.getOne(qw); - List craftIds = workCenter.getCraftIds(); +// List craftIds = workCenter.getCraftIds(); + List crafs = workCenter.getCrafs(); String result = null; - if(null != craftIds){ - result = craftIds.stream() - .map(Object::toString) // 或者直接使用String::valueOf,效果相同 + String craftAbility = null; + if(null != crafs && crafs.size()>0){ + for(CraftAbilityEntity craft:crafs){ + craftAbilityService.updateById(craft); + } +// result= crafs.stream() +// .map(user -> String.valueOf(user.getId())) +// .collect(Collectors.joining(",")); + + result= crafs.stream() + .map(craf -> craf.getId()) + .filter(Objects::nonNull) // 过滤 null 的 role_id + .map(String::valueOf) // 转换为 String 类型(适配 joining) + .collect(Collectors.joining(",")); // 用逗号拼接 + + + + craftAbility= crafs.stream() + .map(user -> String.valueOf(user.getCaName())) .collect(Collectors.joining(",")); } detail.setCraftAbilityId(result); + detail.setCraftAbility(craftAbility); service.updateById(detail); return R.status(true); } diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/controller/UserController.java b/blade-service/blade-system/src/main/java/org/springblade/system/controller/UserController.java index f06f5e28..7ab891db 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/controller/UserController.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/controller/UserController.java @@ -136,6 +136,8 @@ public class UserController { public R> page(@Parameter(hidden = true) User user, Query query, Long deptId, BladeUser bladeUser) { IPage pages = userService.selectUserPage(Condition.getPage(query), user, deptId, (bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : bladeUser.getTenantId())); return R.data(UserWrapper.build().pageVO(pages)); +// IPage pages = userService.selectUserPageVo(Condition.getPage(query), user, deptId, (bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : bladeUser.getTenantId())); +// return R.data(pages); } /** diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/UserMapper.java b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/UserMapper.java index 2489ab40..45e1e006 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/UserMapper.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/UserMapper.java @@ -31,6 +31,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.springblade.system.pojo.entity.User; import org.springblade.system.excel.UserExcel; +import org.springblade.system.pojo.vo.UserVO; import java.util.List; @@ -52,6 +53,8 @@ public interface UserMapper extends BaseMapper { */ List selectUserPage(IPage page, @Param("user") User user, @Param("deptIdList") List deptIdList, @Param("tenantId") String tenantId); + List selectUserPageVo(IPage page, @Param("user") User user, @Param("deptIdList") List deptIdList, @Param("tenantId") String tenantId); + /** * 获取用户 * diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/UserMapper.xml b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/UserMapper.xml index e41e8eff..77209260 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/UserMapper.xml +++ b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/UserMapper.xml @@ -27,6 +27,46 @@ + + +