Merge branch 'main' of ssh://192.168.1.205:9922/cf_devdept2/cf_imes_server

This commit is contained in:
lym
2024-06-17 16:07:38 +08:00
9 changed files with 38 additions and 21 deletions
@@ -27,6 +27,7 @@ import com.cf.imes.module.executor.dal.mysql.orderBody.OrderBodyMapper;
import com.cf.imes.module.executor.dal.mysql.orderItem.OrderItemMapper; import com.cf.imes.module.executor.dal.mysql.orderItem.OrderItemMapper;
import com.cf.imes.module.executor.dal.mysql.planitem.PlanItemMapper; import com.cf.imes.module.executor.dal.mysql.planitem.PlanItemMapper;
import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper; import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper;
import com.cf.imes.module.executor.enums.OrderStatusEnum;
import com.cf.imes.module.system.api.machine.MachineApi; import com.cf.imes.module.system.api.machine.MachineApi;
import com.cf.imes.module.system.api.machine.dto.CuttingRespDTO; import com.cf.imes.module.system.api.machine.dto.CuttingRespDTO;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -109,7 +110,7 @@ public class PlanServiceImpl implements PlanService {
// 修改对应的生产单的状态为 生产中 // 修改对应的生产单的状态为 生产中
List<Long> orderIds = JSON.parseArray(orderNos).toJavaList(Long.class); List<Long> orderIds = JSON.parseArray(orderNos).toJavaList(Long.class);
List<OrderDO> orderDOS = orderMapper.selectBatchIds(orderIds).stream().map(m -> m.setStatus(3)).collect(Collectors.toList()); List<OrderDO> orderDOS = orderMapper.selectBatchIds(orderIds).stream().map(m -> m.setStatus(OrderStatusEnum.IN_PRODUCTION.getStatus())).collect(Collectors.toList());
orderMapper.updateBatch(orderDOS); orderMapper.updateBatch(orderDOS);
Long planId = plan.getId(); Long planId = plan.getId();
@@ -200,7 +201,7 @@ public class PlanServiceImpl implements PlanService {
// 修改生产单的状态为待排单 // 修改生产单的状态为待排单
List<Long> orderIds = JSON.parseArray(planDO.getOrderNos()).toJavaList(Long.class); List<Long> orderIds = JSON.parseArray(planDO.getOrderNos()).toJavaList(Long.class);
List<OrderDO> orderDOS = orderMapper.selectBatchIds(orderIds).stream().map(m -> m.setStatus(2)).collect(Collectors.toList()); List<OrderDO> orderDOS = orderMapper.selectBatchIds(orderIds).stream().map(m -> m.setStatus(OrderStatusEnum.NO_SORT.getStatus())).collect(Collectors.toList());
orderMapper.updateBatch(orderDOS); orderMapper.updateBatch(orderDOS);
return Boolean.TRUE; return Boolean.TRUE;
@@ -309,7 +310,7 @@ public class PlanServiceImpl implements PlanService {
QueryWrapperX<OrderDO> queryWrapperX = new QueryWrapperX<>(); QueryWrapperX<OrderDO> queryWrapperX = new QueryWrapperX<>();
queryWrapperX queryWrapperX
.eq("a.organ_id",getUserOrganId()) .eq("a.organ_id",getUserOrganId())
.eq("a.status",2) .eq("a.status",OrderStatusEnum.NO_SORT.getStatus())
.eqIfPresent("a.id", pageReqVO.getOrderId()) .eqIfPresent("a.id", pageReqVO.getOrderId())
.isNull("opi.item_id") .isNull("opi.item_id")
.eqIfPresent("a.customer", pageReqVO.getConsignee()) .eqIfPresent("a.customer", pageReqVO.getConsignee())
@@ -166,7 +166,7 @@
left join order_goods ogs on op.goods_id = ogs.id and op.organ_id = ogs.organ_id left join order_goods ogs on op.goods_id = ogs.id and op.organ_id = ogs.organ_id
join order_item oi on op.id = oi.plate_id and op.organ_id = oi.organ_id join order_item oi on op.id = oi.plate_id and op.organ_id = oi.organ_id
join order_body ob on oi.body_id = ob.id and oi.organ_id = ob.organ_id join order_body ob on oi.body_id = ob.id and oi.organ_id = ob.organ_id
left join order_group og on oi.group_id = og.id = oi.organ_id = og.organ_id left join order_group og on oi.group_id = og.id and oi.organ_id = og.organ_id
where op.organ_id = #{organId} and op.order_id in where op.organ_id = #{organId} and op.order_id in
@@ -15,7 +15,7 @@ public class ProcessStepStatus {
private Boolean processStepItemStatus; private Boolean processStepItemStatus;
// 工序步骤表的类型 // 工序步骤表的类型
private Long type; private Integer type;
// 柜体id // 柜体id
private List<Long> bodyId; private List<Long> bodyId;
@@ -71,7 +71,7 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
@Override @Override
public PageResult<ProcessRespVO> getProcessPage(ProcessPageReqVO pageReqVO) { public PageResult<ProcessRespVO> getProcessPage(ProcessPageReqVO pageReqVO) {
// 模糊搜索添加条件
pageReqVO.setCustomer(insertSeparator(pageReqVO.getCustomer())); pageReqVO.setCustomer(insertSeparator(pageReqVO.getCustomer()));
pageReqVO.setCustomOrderNo(insertSeparator(pageReqVO.getCustomOrderNo())); pageReqVO.setCustomOrderNo(insertSeparator(pageReqVO.getCustomOrderNo()));
pageReqVO.setAddress(insertSeparator(pageReqVO.getAddress())); pageReqVO.setAddress(insertSeparator(pageReqVO.getAddress()));
@@ -38,7 +38,7 @@
o.custom_order_no as customOrderNo, o.custom_order_no as customOrderNo,
o.customer as customer, o.customer as customer,
o.address as address, o.address as address,
ops.status as processStatus, opsi.status as processStatus,
opsi.name as name, opsi.name as name,
ops.Name as processName, ops.Name as processName,
ops.manager as manager, ops.manager as manager,
@@ -27,11 +27,11 @@ public interface RoleMapper extends BaseMapperX<RoleDO> {
lambdaQueryWrapperX.inIfPresent(RoleDO::getOrganId,0L,loginUser.getOrganId()); lambdaQueryWrapperX.inIfPresent(RoleDO::getOrganId,0L,loginUser.getOrganId());
}*/ }*/
if(isSupAdmin && ObjectUtil.isNotNull(reqVO.getOrganId())) { if(isSupAdmin && ObjectUtil.isNotNull(reqVO.getOrganId())) {
//如果是超级管理员并且传入organId,就查看传入的组织 //如果是超级管理员并且传入organId,就查看组织id为0(内置角色)和传入的组织
lambdaQueryWrapperX.eqIfPresent(RoleDO::getOrganId, reqVO.getOrganId()); lambdaQueryWrapperX.inIfPresent(RoleDO::getOrganId, 0L, reqVO.getOrganId());
} else { } else {
//如果不是,就查看组织id为0和自身的组织 //如果不是,就查看组织id为0(内置角色)和自身的组织
lambdaQueryWrapperX.inIfPresent(RoleDO::getOrganId,0L,loginUser.getOrganId()); lambdaQueryWrapperX.inIfPresent(RoleDO::getOrganId, 0L, loginUser.getOrganId());
} }
lambdaQueryWrapperX.likeIfPresent(RoleDO::getName, reqVO.getName()) lambdaQueryWrapperX.likeIfPresent(RoleDO::getName, reqVO.getName())
@@ -11,5 +11,5 @@ public interface RedisRefreshChannelTopicConstants {
/** /**
* 刷新权限 * 刷新权限
*/ */
String PREMISSION_REFRESH = "PREMISSION_REFRESH"; String PERMISSION_REFRESH = "PERMISSION_REFRESH";
} }
@@ -3,25 +3,24 @@ package com.cf.imes.module.system.dal.redis.listener;
import com.cf.imes.framework.mq.redis.core.pubsub.AbstractRedisSimpleMessageListener; import com.cf.imes.framework.mq.redis.core.pubsub.AbstractRedisSimpleMessageListener;
import com.cf.imes.framework.security.core.service.SecurityFrameworkService; import com.cf.imes.framework.security.core.service.SecurityFrameworkService;
import com.cf.imes.module.system.dal.redis.RedisRefreshChannelTopicConstants; import com.cf.imes.module.system.dal.redis.RedisRefreshChannelTopicConstants;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.Message; import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.listener.ChannelTopic; import org.springframework.data.redis.listener.ChannelTopic;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
/** /**
* system PREMISSION_REFRESH redis监听器 * system PERMISSION_REFRESH redis监听器
* *
* @author Gqr * @author Gqr
* @since 2024/6/13 10:32 * @since 2024/6/13 10:32
*/ */
@Component @Component
public class SystemPremissionRefreshRedisListener extends AbstractRedisSimpleMessageListener { public class SystemPermissionRefreshRedisListener extends AbstractRedisSimpleMessageListener {
@Autowired private final SecurityFrameworkService securityFrameworkService;
private SecurityFrameworkService securityFrameworkService;
public SystemPremissionRefreshRedisListener() { public SystemPermissionRefreshRedisListener(SecurityFrameworkService securityFrameworkService) {
super.setTopic(new ChannelTopic(RedisRefreshChannelTopicConstants.PREMISSION_REFRESH)); super.setTopic(new ChannelTopic(RedisRefreshChannelTopicConstants.PERMISSION_REFRESH));
this.securityFrameworkService = securityFrameworkService;
} }
@Override @Override
@@ -10,6 +10,7 @@ import com.cf.imes.framework.datapermission.core.annotation.DataPermission;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.framework.organ.core.aop.OrganIgnore; import com.cf.imes.framework.organ.core.aop.OrganIgnore;
import com.cf.imes.framework.organ.core.context.OrganContextHolder; import com.cf.imes.framework.organ.core.context.OrganContextHolder;
import com.cf.imes.framework.security.core.LoginUser;
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils; import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
import com.cf.imes.module.system.api.permission.dto.DeptDataPermissionRespDTO; import com.cf.imes.module.system.api.permission.dto.DeptDataPermissionRespDTO;
import com.cf.imes.module.system.controller.admin.permission.vo.permission.PermissionAssignUserRoleReqVO; import com.cf.imes.module.system.controller.admin.permission.vo.permission.PermissionAssignUserRoleReqVO;
@@ -188,9 +189,9 @@ public class PermissionServiceImpl implements PermissionService {
// 角色菜单权限发生修改,通知刷新本地缓存 // 角色菜单权限发生修改,通知刷新本地缓存
if (CollectionUtil.isNotEmpty(createMenuIds) || CollectionUtil.isNotEmpty(deleteMenuIds)) { if (CollectionUtil.isNotEmpty(createMenuIds) || CollectionUtil.isNotEmpty(deleteMenuIds)) {
CompletableFuture.runAsync(() -> { CompletableFuture.runAsync(() -> {
redisTemplate.convertAndSend(RedisRefreshChannelTopicConstants.PREMISSION_REFRESH, ""); redisTemplate.convertAndSend(RedisRefreshChannelTopicConstants.PERMISSION_REFRESH, "");
}).exceptionally(e -> { }).exceptionally(e -> {
log.error("redis message发送失败, topic:{}, 异常:{}", RedisRefreshChannelTopicConstants.PREMISSION_REFRESH, e.getMessage()); log.error("redis message发送失败, topic:{}, 异常:{}", RedisRefreshChannelTopicConstants.PERMISSION_REFRESH, e.getMessage());
return null; return null;
}); });
} }
@@ -266,6 +267,12 @@ public class PermissionServiceImpl implements PermissionService {
@Override @Override
public Set<Long> getListRoleUsers(Long roleId, Long organId) { public Set<Long> getListRoleUsers(Long roleId, Long organId) {
// 超管查看时没有选择机构则查看本机构
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
assert loginUser != null;
if (loginUser.getIsSupAdmin() && organId == null) {
organId = loginUser.getOrganId();
}
List<UserRoleDO> userRoleDOS = userRoleMapper.selectList(new LambdaQueryWrapperX<UserRoleDO>() List<UserRoleDO> userRoleDOS = userRoleMapper.selectList(new LambdaQueryWrapperX<UserRoleDO>()
.eqIfPresent(UserRoleDO::getOrganId, organId) .eqIfPresent(UserRoleDO::getOrganId, organId)
.eq(UserRoleDO::getRoleId, roleId) .eq(UserRoleDO::getRoleId, roleId)
@@ -326,6 +333,16 @@ public class PermissionServiceImpl implements PermissionService {
if (!CollectionUtil.isEmpty(deleteMenuIds)) { if (!CollectionUtil.isEmpty(deleteMenuIds)) {
userRoleMapper.deleteListByUserIdAndRoleIdIds(userId, deleteMenuIds); userRoleMapper.deleteListByUserIdAndRoleIdIds(userId, deleteMenuIds);
} }
// 角色菜单权限发生修改,通知刷新本地缓存
if (CollectionUtil.isNotEmpty(createRoleIds) || CollectionUtil.isNotEmpty(deleteMenuIds)) {
CompletableFuture.runAsync(() -> {
redisTemplate.convertAndSend(RedisRefreshChannelTopicConstants.PERMISSION_REFRESH, "");
}).exceptionally(e -> {
log.error("redis message发送失败, topic:{}, 异常:{}", RedisRefreshChannelTopicConstants.PERMISSION_REFRESH, e.getMessage());
return null;
});
}
} }
@Override @Override