mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-14 21:52:07 +08:00
添加机台授权逻辑,修改机台授权的实体类
This commit is contained in:
+2
-1
@@ -184,7 +184,8 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode MACHINE_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_029_001, "机台模板不存在");
|
||||
ErrorCode DEFAULT_TEMPLATE_COUNT = new ErrorCode(1_002_029_002, "默认模板数量异常");
|
||||
ErrorCode DEFAULT_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_029_003, "该类型机台默认模板不存在");
|
||||
ErrorCode DEFAULT_TEMPLATE_NOT_DELETED = new ErrorCode(1_002_029_003, "不能删除默认模板");
|
||||
ErrorCode DEFAULT_TEMPLATE_NOT_DELETED = new ErrorCode(1_002_029_004, "不能删除默认模板");
|
||||
ErrorCode NOT_TEMPLATE_AUTH = new ErrorCode(1_002_029_005, "该组织无此机台权限");
|
||||
|
||||
// ========== 标签模板 1-002-300-000 ==========
|
||||
ErrorCode LABEL_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_300_000, "标签模板不存在");
|
||||
|
||||
+10
@@ -41,5 +41,15 @@ public class CuttingRespVO {
|
||||
@Schema(description = "机台配置")
|
||||
private JSONObject machineSettingDO;
|
||||
|
||||
/**
|
||||
* 机台权限相关配置
|
||||
*/
|
||||
@Schema(description ="加工模式 开料机加工模式 默认true,显示开料机工作模式(是否排钻/造型,sc)配置")
|
||||
private Boolean showPriorFacing;
|
||||
@Schema(description = "双工位")
|
||||
private Boolean showDualWorkstation;
|
||||
@Schema(description = "自动贴标")
|
||||
private Boolean showAutoNotePrinter;
|
||||
|
||||
|
||||
}
|
||||
+4
@@ -33,6 +33,10 @@ public class CuttingSaveReqVO {
|
||||
@NotNull(message = "标签id不能空")
|
||||
private Long labelId;
|
||||
|
||||
@Schema(description = "机台模板id")
|
||||
@NotNull(message = "机台模板id")
|
||||
private Long templateId;
|
||||
|
||||
/* @Schema(description = "机台配置")
|
||||
@Valid
|
||||
private CuttingSettingDO machineSettingDO;*/
|
||||
|
||||
+5
-1
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
|
||||
import com.cf.imes.module.system.controller.admin.machine.vo.CuttingRespVO;
|
||||
import com.cf.imes.module.system.controller.admin.machine.vo.CuttingSaveReqVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machine.MachineDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machine.MachineLimitDO;
|
||||
|
||||
/**
|
||||
* @author Beal
|
||||
@@ -21,7 +22,7 @@ public class MachineConvert {
|
||||
|
||||
}
|
||||
|
||||
public static CuttingRespVO convert(MachineDO machineDO) {
|
||||
public static CuttingRespVO convert(MachineDO machineDO, MachineLimitDO machineLimitDO) {
|
||||
return CuttingRespVO.builder()
|
||||
.id(machineDO.getId())
|
||||
.machineSettingDO(JSON.parseObject(machineDO.getSetting()))
|
||||
@@ -30,6 +31,9 @@ public class MachineConvert {
|
||||
.name(machineDO.getName())
|
||||
.machineType(machineDO.getMachineType())
|
||||
.labelId(machineDO.getLabelId())
|
||||
.showAutoNotePrinter(machineLimitDO.getShowAutoNotePrinter())
|
||||
.showDualWorkstation(machineLimitDO.getShowDualWorkstation())
|
||||
.showPriorFacing(machineLimitDO.getShowPriorFacing())
|
||||
.build();
|
||||
|
||||
}
|
||||
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
package com.cf.imes.module.system.dal.dataobject.machine;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Beal
|
||||
*/
|
||||
@Data
|
||||
@TableName("system_machine_limit")
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class MachineLimitDO {
|
||||
@TableId
|
||||
private Long id;
|
||||
private Long organId;
|
||||
private Long machineId;
|
||||
private LocalDateTime createTime;
|
||||
/**
|
||||
* 加工模式 开料机加工模式 默认true,显示开料机工作模式(是否排钻/造型,sc)配置
|
||||
*/
|
||||
private Boolean showPriorFacing;
|
||||
/**
|
||||
* 双工位
|
||||
*/
|
||||
private Boolean showDualWorkstation;
|
||||
/**
|
||||
* 自动贴标
|
||||
*/
|
||||
private Boolean showAutoNotePrinter;
|
||||
}
|
||||
+7
-2
@@ -2,7 +2,6 @@ package com.cf.imes.module.system.dal.dataobject.machinetemplate;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
@@ -18,10 +17,16 @@ import java.time.LocalDateTime;
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class OrganMachineDO {
|
||||
public class MachineTemplateLimitDO {
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 组织id
|
||||
*/
|
||||
private Long organId;
|
||||
/**
|
||||
* 机台模板id
|
||||
*/
|
||||
private Long machineId;
|
||||
private LocalDateTime createTime;
|
||||
/**
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package com.cf.imes.module.system.dal.mysql.machine;
|
||||
|
||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.cf.imes.module.system.dal.dataobject.machine.MachineLimitDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @author Beal
|
||||
*/
|
||||
@Mapper
|
||||
public interface MachineLimitMapper extends BaseMapperX<MachineLimitDO> {
|
||||
}
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
package com.cf.imes.module.system.dal.mysql.machinetemplate;
|
||||
|
||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.cf.imes.module.system.dal.dataobject.machinetemplate.OrganMachineDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateLimitDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface OrganMachineMapper extends BaseMapperX<OrganMachineDO> {
|
||||
public interface MachineTemplateLimitMapper extends BaseMapperX<MachineTemplateLimitDO> {
|
||||
|
||||
}
|
||||
+47
-2
@@ -13,25 +13,37 @@ import co.elastic.clients.elasticsearch.core.search.Hit;
|
||||
import com.cf.imes.framework.es.core.dal.ESDocument;
|
||||
import com.cf.imes.framework.es.core.service.ESDocumentService;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.framework.security.core.LoginUser;
|
||||
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import com.cf.imes.module.system.controller.admin.machine.vo.*;
|
||||
import com.cf.imes.module.system.convert.machine.MachineConvert;
|
||||
import com.cf.imes.module.system.dal.dataobject.machine.DrillSettingDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machine.MachineDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machine.CuttingSettingDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machine.MachineLimitDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateLimitDO;
|
||||
import com.cf.imes.module.system.dal.mysql.machine.MachineMapper;
|
||||
import com.cf.imes.module.system.dal.mysql.machine.MachineLimitMapper;
|
||||
import com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateLimitMapper;
|
||||
import com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR;
|
||||
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.MACHINE_NOT_EXISTS;
|
||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.NOT_TEMPLATE_AUTH;
|
||||
|
||||
/**
|
||||
* 机台 Service 实现类
|
||||
@@ -57,12 +69,36 @@ public class MachineServiceImpl implements MachineService {
|
||||
@Resource
|
||||
private MachineMapper machineMapper;
|
||||
|
||||
@Resource
|
||||
private MachineLimitMapper machineLimitMapper;
|
||||
|
||||
@Resource
|
||||
private MachineTemplateLimitMapper machineTemplateLimitMapper;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Long createCutting(CuttingSaveReqVO createReqVO) {
|
||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||
assert loginUser != null;
|
||||
MachineTemplateLimitDO organMachineTemplateDO = machineTemplateLimitMapper.selectOne(new LambdaQueryWrapperX<MachineTemplateLimitDO>()
|
||||
.eq(MachineTemplateLimitDO::getMachineId, createReqVO.getTemplateId())
|
||||
.eq(MachineTemplateLimitDO::getOrganId, loginUser.getOrganId())
|
||||
);
|
||||
if (Objects.isNull(organMachineTemplateDO)) {
|
||||
throw exception(NOT_TEMPLATE_AUTH);
|
||||
}
|
||||
// 插入
|
||||
MachineDO machineDO = MachineConvert.convert(createReqVO);
|
||||
machineMapper.insert(machineDO);
|
||||
MachineLimitDO machineLimitDO = MachineLimitDO.builder()
|
||||
.organId(loginUser.getOrganId())
|
||||
.machineId(machineDO.getId())
|
||||
.showPriorFacing(organMachineTemplateDO.getShowPriorFacing())
|
||||
.showAutoNotePrinter(organMachineTemplateDO.getShowAutoNotePrinter())
|
||||
.showDualWorkstation(organMachineTemplateDO.getShowDualWorkstation())
|
||||
.build();
|
||||
|
||||
machineLimitMapper.insert(machineLimitDO);
|
||||
// 返回
|
||||
return machineDO.getId();
|
||||
}
|
||||
@@ -81,7 +117,7 @@ public class MachineServiceImpl implements MachineService {
|
||||
public void deleteCutting(Long id) {
|
||||
// 校验存在
|
||||
MachineDO machineDO = machineMapper.selectById(id);
|
||||
if (machineMapper.selectById(id) == null) {
|
||||
if (machineDO == null) {
|
||||
throw exception(MACHINE_NOT_EXISTS);
|
||||
}
|
||||
machineMapper.deleteById(id);
|
||||
@@ -102,7 +138,16 @@ public class MachineServiceImpl implements MachineService {
|
||||
if (Objects.isNull(machineDO)) {
|
||||
throw exception(MACHINE_NOT_EXISTS);
|
||||
}
|
||||
CuttingRespVO respVO = MachineConvert.convert(machineDO);
|
||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||
assert loginUser != null;
|
||||
MachineLimitDO machineLimitDO = machineLimitMapper.selectOne(new LambdaQueryWrapperX<MachineLimitDO>()
|
||||
.eq(MachineLimitDO::getMachineId, id)
|
||||
.eq(MachineLimitDO::getOrganId, loginUser.getOrganId())
|
||||
);
|
||||
if (Objects.isNull(machineLimitDO)) {
|
||||
throw exception(NOT_TEMPLATE_AUTH);
|
||||
}
|
||||
CuttingRespVO respVO = MachineConvert.convert(machineDO, machineLimitDO);
|
||||
return respVO;
|
||||
}
|
||||
|
||||
|
||||
+6
-15
@@ -10,31 +10,22 @@ import co.elastic.clients.elasticsearch.core.DeleteByQueryRequest;
|
||||
import co.elastic.clients.elasticsearch.core.SearchRequest;
|
||||
import co.elastic.clients.elasticsearch.core.SearchResponse;
|
||||
import co.elastic.clients.elasticsearch.core.search.Hit;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
||||
import com.cf.imes.framework.common.exception.ServiceException;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.es.core.dal.ESDocument;
|
||||
import com.cf.imes.framework.es.core.service.ESDocumentService;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.framework.security.core.LoginUser;
|
||||
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import com.cf.imes.module.system.controller.admin.machine.vo.*;
|
||||
import com.cf.imes.module.system.convert.machine.MachineConvert;
|
||||
import com.cf.imes.module.system.convert.machine.MachineTemplateConvert;
|
||||
import com.cf.imes.module.system.dal.dataobject.machine.CuttingSettingDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machine.MachineDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machine.UserMachineDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machinetemplate.CuttingTemplateMachineDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machinetemplate.DrillTemplateMachineDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machinetemplate.OrganMachineDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.user.AdminUserDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateLimitDO;
|
||||
import com.cf.imes.module.system.dal.mysql.machine.UserMachineMapper;
|
||||
import com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateMapper;
|
||||
import com.cf.imes.module.system.dal.mysql.machinetemplate.OrganMachineMapper;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateLimitMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -74,7 +65,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
||||
private MachineTemplateMapper machineTemplateMapper;
|
||||
|
||||
@Resource
|
||||
private OrganMachineMapper organMachineMapper;
|
||||
private MachineTemplateLimitMapper organMachineMapper;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -332,16 +323,16 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean auth(MachineOrgAuthReq vo) {
|
||||
organMachineMapper.delete(new LambdaQueryWrapperX<OrganMachineDO>().eq(OrganMachineDO::getOrganId, vo.getOrganId()));
|
||||
organMachineMapper.delete(new LambdaQueryWrapperX<MachineTemplateLimitDO>().eq(MachineTemplateLimitDO::getOrganId, vo.getOrganId()));
|
||||
|
||||
List<MachineAuth> machineAuthList = vo.getMachineAuthList();
|
||||
|
||||
if(CollectionUtil.isNotEmpty(machineAuthList)) {
|
||||
List<OrganMachineDO> organMachineDOS = new ArrayList<>();
|
||||
List<MachineTemplateLimitDO> organMachineDOS = new ArrayList<>();
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
for (MachineAuth machineAuth : machineAuthList) {
|
||||
organMachineDOS.add(
|
||||
OrganMachineDO.builder()
|
||||
MachineTemplateLimitDO.builder()
|
||||
.createTime(now)
|
||||
.organId(vo.getOrganId())
|
||||
.machineId(machineAuth.getMachineId())
|
||||
|
||||
+2
-2
@@ -269,9 +269,9 @@ public class OrganServiceImpl implements OrganService {
|
||||
throw exception(ORGAN_NOT_EXISTS);
|
||||
}
|
||||
// 内置组织,不允许删除
|
||||
if (isSystemTenant(tenant)) {
|
||||
/*if (isSystemTenant(tenant)) {
|
||||
throw exception(ORGAN_CAN_NOT_UPDATE_SYSTEM);
|
||||
}
|
||||
}*/
|
||||
return tenant;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user