Merge remote-tracking branch 'origin/qms/develop' into qms/develop
This commit is contained in:
commit
8c20a832f9
|
|
@ -1,6 +1,7 @@
|
||||||
package com.nflg.qms.admin.controller;
|
package com.nflg.qms.admin.controller;
|
||||||
|
|
||||||
import com.nflg.qms.admin.service.QmsIssueTicketControllerService;
|
import com.nflg.qms.admin.service.QmsIssueTicketControllerService;
|
||||||
|
import com.nflg.wms.common.constant.Constant;
|
||||||
import com.nflg.wms.common.pojo.ApiResult;
|
import com.nflg.wms.common.pojo.ApiResult;
|
||||||
import com.nflg.wms.common.pojo.PageData;
|
import com.nflg.wms.common.pojo.PageData;
|
||||||
import com.nflg.wms.common.pojo.qo.QmsIncomingInspectionTaskNonconformanceSearchQO;
|
import com.nflg.wms.common.pojo.qo.QmsIncomingInspectionTaskNonconformanceSearchQO;
|
||||||
|
|
@ -37,7 +38,7 @@ public class QmsIncomingInspectionTaskNonconformanceController extends BaseContr
|
||||||
public ApiResult<PageData<QmsIncomingInspectionTaskNonconformanceVO>> search(@Valid @RequestBody QmsIncomingInspectionTaskNonconformanceSearchQO request) {
|
public ApiResult<PageData<QmsIncomingInspectionTaskNonconformanceVO>> search(@Valid @RequestBody QmsIncomingInspectionTaskNonconformanceSearchQO request) {
|
||||||
User user = userService.getById(UserUtil.getUserId());
|
User user = userService.getById(UserUtil.getUserId());
|
||||||
request.setPurchaseGroup(user.getPurchasingGroup());
|
request.setPurchaseGroup(user.getPurchasingGroup());
|
||||||
request.setIsWarehouseManager(UserUtil.getRoles().contains("CANGKUGUANLIYUAN"));
|
request.setIsWarehouseManager(UserUtil.getRoles().contains(Constant.ROLE_CODE_CANGKUGUANLIYUAN));
|
||||||
return ApiResult.success(nonconformanceService.search(request));
|
return ApiResult.success(nonconformanceService.search(request));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.nflg.wms.common.constant.Constant;
|
||||||
import com.nflg.wms.common.constant.STATE;
|
import com.nflg.wms.common.constant.STATE;
|
||||||
import com.nflg.wms.common.exception.NflgException;
|
import com.nflg.wms.common.exception.NflgException;
|
||||||
import com.nflg.wms.common.pojo.PageData;
|
import com.nflg.wms.common.pojo.PageData;
|
||||||
|
|
@ -75,6 +76,9 @@ public class QmsIssueTicketControllerService {
|
||||||
@Resource
|
@Resource
|
||||||
private WmsIncomingInspectionTaskCallbackService wmsIncomingInspectionTaskCallbackService;
|
private WmsIncomingInspectionTaskCallbackService wmsIncomingInspectionTaskCallbackService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IRoleService roleService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发起巡检工单
|
* 发起巡检工单
|
||||||
* 1. 校验工单存在且来源类型为巡检(sourceType=2)
|
* 1. 校验工单存在且来源类型为巡检(sourceType=2)
|
||||||
|
|
@ -124,12 +128,12 @@ public class QmsIssueTicketControllerService {
|
||||||
.map(String::trim)
|
.map(String::trim)
|
||||||
.map(Long::valueOf)
|
.map(Long::valueOf)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
if (CollectionUtil.isNotEmpty(imageIds)) {
|
if (CollectionUtil.isNotEmpty(imageIds)) {
|
||||||
List<FileUploadRecord> fileRecords = fileUploadRecordService.lambdaQuery()
|
List<FileUploadRecord> fileRecords = fileUploadRecordService.lambdaQuery()
|
||||||
.in(FileUploadRecord::getId, imageIds)
|
.in(FileUploadRecord::getId, imageIds)
|
||||||
.list();
|
.list();
|
||||||
|
|
||||||
for (FileUploadRecord record : fileRecords) {
|
for (FileUploadRecord record : fileRecords) {
|
||||||
VUtil.trueThrowBusinessError(StrUtil.isBlank(record.getFileName()))
|
VUtil.trueThrowBusinessError(StrUtil.isBlank(record.getFileName()))
|
||||||
.throwMessage("图片文件名不能为空");
|
.throwMessage("图片文件名不能为空");
|
||||||
|
|
@ -436,7 +440,7 @@ public class QmsIssueTicketControllerService {
|
||||||
// 构建返回值
|
// 构建返回值
|
||||||
final Map<Long, FileUploadRecord> finalImageMap = imageMap;
|
final Map<Long, FileUploadRecord> finalImageMap = imageMap;
|
||||||
final Map<Long, QmsPdiDetectionRulesStatusItem> finalStatusItemMap = statusItemMap;
|
final Map<Long, QmsPdiDetectionRulesStatusItem> finalStatusItemMap = statusItemMap;
|
||||||
|
|
||||||
return failedItems.stream().map(item -> {
|
return failedItems.stream().map(item -> {
|
||||||
QmsPdiInspectionResultVO vo = new QmsPdiInspectionResultVO();
|
QmsPdiInspectionResultVO vo = new QmsPdiInspectionResultVO();
|
||||||
vo.setId(item.getId());
|
vo.setId(item.getId());
|
||||||
|
|
@ -457,7 +461,7 @@ public class QmsIssueTicketControllerService {
|
||||||
if (statusItem != null) {
|
if (statusItem != null) {
|
||||||
vo.setComponentsDes(statusItem.getComponentsDes());
|
vo.setComponentsDes(statusItem.getComponentsDes());
|
||||||
vo.setInspectionContent(statusItem.getInspectionContent());
|
vo.setInspectionContent(statusItem.getInspectionContent());
|
||||||
|
|
||||||
// 解析检测示例图
|
// 解析检测示例图
|
||||||
if (StrUtil.isNotBlank(statusItem.getInspectionImage())) {
|
if (StrUtil.isNotBlank(statusItem.getInspectionImage())) {
|
||||||
List<QmsPdiTaskRecordDetailVO.FileDetailVO> exampleImageList = Arrays.stream(statusItem.getInspectionImage().split(","))
|
List<QmsPdiTaskRecordDetailVO.FileDetailVO> exampleImageList = Arrays.stream(statusItem.getInspectionImage().split(","))
|
||||||
|
|
@ -658,12 +662,12 @@ public class QmsIssueTicketControllerService {
|
||||||
.map(FileUploadVO::getId)
|
.map(FileUploadVO::getId)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
if (CollectionUtil.isNotEmpty(imageIds)) {
|
if (CollectionUtil.isNotEmpty(imageIds)) {
|
||||||
List<FileUploadRecord> fileRecords = fileUploadRecordService.lambdaQuery()
|
List<FileUploadRecord> fileRecords = fileUploadRecordService.lambdaQuery()
|
||||||
.in(FileUploadRecord::getId, imageIds)
|
.in(FileUploadRecord::getId, imageIds)
|
||||||
.list();
|
.list();
|
||||||
|
|
||||||
for (FileUploadRecord record : fileRecords) {
|
for (FileUploadRecord record : fileRecords) {
|
||||||
VUtil.trueThrowBusinessError(StrUtil.isBlank(record.getFileName()))
|
VUtil.trueThrowBusinessError(StrUtil.isBlank(record.getFileName()))
|
||||||
.throwMessage("图片文件名不能为空");
|
.throwMessage("图片文件名不能为空");
|
||||||
|
|
@ -754,8 +758,8 @@ public class QmsIssueTicketControllerService {
|
||||||
.set(QmsIssueTicket::getImageIds, request.getImages() == null
|
.set(QmsIssueTicket::getImageIds, request.getImages() == null
|
||||||
? ""
|
? ""
|
||||||
: StrUtil.join(",", request.getImages().stream()
|
: StrUtil.join(",", request.getImages().stream()
|
||||||
.map(com.nflg.wms.common.pojo.vo.FileUploadVO::getId)
|
.map(com.nflg.wms.common.pojo.vo.FileUploadVO::getId)
|
||||||
.toList()))
|
.toList()))
|
||||||
.set(QmsIssueTicket::getRemark, request.getRemark())
|
.set(QmsIssueTicket::getRemark, request.getRemark())
|
||||||
.set(QmsIssueTicket::getUpdateUserId, currentUserId)
|
.set(QmsIssueTicket::getUpdateUserId, currentUserId)
|
||||||
.set(QmsIssueTicket::getUpdateUserName, currentUserName)
|
.set(QmsIssueTicket::getUpdateUserName, currentUserName)
|
||||||
|
|
@ -1054,6 +1058,15 @@ public class QmsIssueTicketControllerService {
|
||||||
issueTicketToDoService.saveBatch(todoItems);
|
issueTicketToDoService.saveBatch(todoItems);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (detail.getInspectionType() == 1) {
|
||||||
|
List<User> users = roleService.getUsersByCode(Constant.ROLE_CODE_CANGKUGUANLIYUAN);
|
||||||
|
List<QmsIssueTicketToDo> todoItems = users.stream().map(user -> new QmsIssueTicketToDo()
|
||||||
|
.setTicketId(entity.getId())
|
||||||
|
.setHandlerUserId(user.getId())
|
||||||
|
).toList();
|
||||||
|
if (CollectionUtil.isNotEmpty(todoItems)) {
|
||||||
|
issueTicketToDoService.saveBatch(todoItems);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1095,52 +1108,55 @@ public class QmsIssueTicketControllerService {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询关联的来料检测任务详情及检验记录
|
// 查询关联的来料检测任务详情及检验记录
|
||||||
if (Objects.nonNull(entity.getSourceId())) {
|
// 来料检测任务详情
|
||||||
// 来料检测任务详情
|
QmsIncomingInspectionTaskVO taskDetail = incomingInspectionTaskControllerService.getDetail(entity.getSourceId());
|
||||||
QmsIncomingInspectionTaskVO taskDetail = incomingInspectionTaskControllerService.getDetail(entity.getSourceId());
|
vo.setTaskDetail(taskDetail);
|
||||||
vo.setTaskDetail(taskDetail);
|
|
||||||
|
|
||||||
List<QmsIssueTicketInspectionRecordItemVO> datas = incomingInspectionTaskControllerService.getNonconformanceDataGroups(entity.getSourceId());
|
List<QmsIssueTicketInspectionRecordItemVO> datas = incomingInspectionTaskControllerService.getNonconformanceDataGroups(entity.getSourceId());
|
||||||
List<QmsIssueTicketInspectionRecordItemVO> records = new ArrayList<>();
|
List<QmsIssueTicketInspectionRecordItemVO> records = new ArrayList<>();
|
||||||
datas.forEach(record -> {
|
datas.forEach(record -> {
|
||||||
QmsIssueTicketInspectionRecordItemVO r = records.stream()
|
QmsIssueTicketInspectionRecordItemVO r = records.stream()
|
||||||
.filter(item -> item.getId().equals(record.getId()))
|
.filter(item -> item.getId().equals(record.getId()))
|
||||||
.findFirst()
|
.findFirst()
|
||||||
.orElseGet(() -> {
|
.orElseGet(() -> {
|
||||||
QmsIssueTicketInspectionRecordItemVO r1 = new QmsIssueTicketInspectionRecordItemVO()
|
QmsIssueTicketInspectionRecordItemVO r1 = new QmsIssueTicketInspectionRecordItemVO()
|
||||||
.setId(record.getId())
|
.setId(record.getId())
|
||||||
.setName(record.getName())
|
.setName(record.getName())
|
||||||
.setLegend(record.getLegend())
|
.setLegend(record.getLegend())
|
||||||
.setUnqualifiedQty(0)
|
.setUnqualifiedQty(0)
|
||||||
.setImageIds(record.getImageIds());
|
.setImageIds(record.getImageIds());
|
||||||
records.add(r1);
|
records.add(r1);
|
||||||
return r1;
|
return r1;
|
||||||
});
|
|
||||||
r.setUnqualifiedQty(r.getUnqualifiedQty() + record.getUnqualifiedQty());
|
|
||||||
if (StrUtil.isNotBlank(r.getImageIds())) {
|
|
||||||
r.setImageIds(StrUtil.join(",", r.getImageIds(), record.getImageIds()));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
records.stream()
|
|
||||||
.filter(record -> StrUtil.isNotBlank(record.getImageIds()))
|
|
||||||
.forEach(record -> {
|
|
||||||
if (StrUtil.isNotBlank(record.getImageIds())) {
|
|
||||||
record.setImages(fileUploadRecordService.lambdaQuery()
|
|
||||||
.in(FileUploadRecord::getId, Arrays.stream(StrUtil.splitToLong(record.getImageIds(), ",")).boxed().toList())
|
|
||||||
.list()
|
|
||||||
.stream()
|
|
||||||
.map(file -> new FileUploadVO()
|
|
||||||
.setId(file.getId())
|
|
||||||
.setFileName(file.getFileName())
|
|
||||||
.setUrl(file.getUrl())
|
|
||||||
)
|
|
||||||
.collect(Collectors.toList())
|
|
||||||
);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
vo.setRecords(records);
|
r.setUnqualifiedQty(r.getUnqualifiedQty() + record.getUnqualifiedQty());
|
||||||
}
|
if (StrUtil.isNotBlank(r.getImageIds())) {
|
||||||
|
r.setImageIds(StrUtil.join(",", r.getImageIds(), record.getImageIds()));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
records.stream()
|
||||||
|
.filter(record -> StrUtil.isNotBlank(record.getImageIds()))
|
||||||
|
.forEach(record -> {
|
||||||
|
if (StrUtil.isNotBlank(record.getImageIds())) {
|
||||||
|
record.setImages(fileUploadRecordService.lambdaQuery()
|
||||||
|
.in(FileUploadRecord::getId, Arrays.stream(StrUtil.splitToLong(record.getImageIds(), ",")).boxed().toList())
|
||||||
|
.list()
|
||||||
|
.stream()
|
||||||
|
.map(file -> new FileUploadVO()
|
||||||
|
.setId(file.getId())
|
||||||
|
.setFileName(file.getFileName())
|
||||||
|
.setUrl(file.getUrl())
|
||||||
|
)
|
||||||
|
.collect(Collectors.toList())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
vo.setRecords(records);
|
||||||
|
|
||||||
|
if (taskDetail.getInspectionType() == 0) {
|
||||||
|
vo.setWithApprovalAuthority(StrUtil.equals(UserUtil.getPurchaseGroup(), taskDetail.getPurchaseGroup()));
|
||||||
|
} else if (taskDetail.getInspectionType() == 1) {
|
||||||
|
vo.setWithApprovalAuthority(UserUtil.getRoles().contains(Constant.ROLE_CODE_CANGKUGUANLIYUAN));
|
||||||
|
}
|
||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1438,7 +1454,7 @@ public class QmsIssueTicketControllerService {
|
||||||
vo.setCreateUserName(ticket.getCreateUserName());
|
vo.setCreateUserName(ticket.getCreateUserName());
|
||||||
vo.setCreateTime(ticket.getCreateTime());
|
vo.setCreateTime(ticket.getCreateTime());
|
||||||
vo.setCreator(ticket.getCreateUserName());
|
vo.setCreator(ticket.getCreateUserName());
|
||||||
|
|
||||||
// 工单类型:根据sourceType转换
|
// 工单类型:根据sourceType转换
|
||||||
if (ticket.getSourceType() != null) {
|
if (ticket.getSourceType() != null) {
|
||||||
switch (ticket.getSourceType()) {
|
switch (ticket.getSourceType()) {
|
||||||
|
|
@ -1641,7 +1657,7 @@ public class QmsIssueTicketControllerService {
|
||||||
vo.setRootCause(rootCause);
|
vo.setRootCause(rootCause);
|
||||||
vo.setTemporaryMeasures(temporaryMeasures);
|
vo.setTemporaryMeasures(temporaryMeasures);
|
||||||
vo.setPermanentMeasures(permanentMeasures);
|
vo.setPermanentMeasures(permanentMeasures);
|
||||||
|
|
||||||
// 构建相关人员签字(按部门,只返回已审批的)
|
// 构建相关人员签字(按部门,只返回已审批的)
|
||||||
Map<String, QmsPdiTicketMyDetailVO.SignatureInfo> signatures = buildSignatures(processes);
|
Map<String, QmsPdiTicketMyDetailVO.SignatureInfo> signatures = buildSignatures(processes);
|
||||||
vo.setSignatures(signatures);
|
vo.setSignatures(signatures);
|
||||||
|
|
@ -1721,24 +1737,24 @@ public class QmsIssueTicketControllerService {
|
||||||
*/
|
*/
|
||||||
private Map<String, QmsPdiTicketMyDetailVO.SignatureInfo> buildSignatures(List<QmsIssueTicketProcess> processes) {
|
private Map<String, QmsPdiTicketMyDetailVO.SignatureInfo> buildSignatures(List<QmsIssueTicketProcess> processes) {
|
||||||
Map<String, QmsPdiTicketMyDetailVO.SignatureInfo> signatures = new HashMap<>();
|
Map<String, QmsPdiTicketMyDetailVO.SignatureInfo> signatures = new HashMap<>();
|
||||||
|
|
||||||
for (QmsIssueTicketProcess process : processes) {
|
for (QmsIssueTicketProcess process : processes) {
|
||||||
// 只返回已审批的记录(approvalStatus 不为 null)
|
// 只返回已审批的记录(approvalStatus 不为 null)
|
||||||
if (process.getApprovalStatus() == null) {
|
if (process.getApprovalStatus() == null) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询处理人的部门信息
|
// 查询处理人的部门信息
|
||||||
if (process.getHandlerUserId() != null) {
|
if (process.getHandlerUserId() != null) {
|
||||||
UserInterior userInterior = userInteriorService.lambdaQuery()
|
UserInterior userInterior = userInteriorService.lambdaQuery()
|
||||||
.eq(UserInterior::getUserId, process.getHandlerUserId())
|
.eq(UserInterior::getUserId, process.getHandlerUserId())
|
||||||
.one();
|
.one();
|
||||||
|
|
||||||
if (userInterior != null && userInterior.getDeptId() != null) {
|
if (userInterior != null && userInterior.getDeptId() != null) {
|
||||||
Department department = departmentService.getById(userInterior.getDeptId());
|
Department department = departmentService.getById(userInterior.getDeptId());
|
||||||
if (department != null) {
|
if (department != null) {
|
||||||
String deptName = department.getName();
|
String deptName = department.getName();
|
||||||
|
|
||||||
// 查询部门领导
|
// 查询部门领导
|
||||||
Department leaderDept = departmentService.getById(userInterior.getDeptId());
|
Department leaderDept = departmentService.getById(userInterior.getDeptId());
|
||||||
String leaderName = null;
|
String leaderName = null;
|
||||||
|
|
@ -1748,31 +1764,31 @@ public class QmsIssueTicketControllerService {
|
||||||
leaderName = leaderUser.getUserName();
|
leaderName = leaderUser.getUserName();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果领导未审批,跳过
|
// 如果领导未审批,跳过
|
||||||
if (StrUtil.isBlank(leaderName)) {
|
if (StrUtil.isBlank(leaderName)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 构建签名:姓名(状态)
|
// 构建签名:姓名(状态)
|
||||||
String statusText = convertApprovalStatus(process.getApprovalStatus());
|
String statusText = convertApprovalStatus(process.getApprovalStatus());
|
||||||
String signature = leaderName + "(" + statusText + ")";
|
String signature = leaderName + "(" + statusText + ")";
|
||||||
|
|
||||||
// 构建签字信息
|
// 构建签字信息
|
||||||
QmsPdiTicketMyDetailVO.SignatureInfo signatureInfo = new QmsPdiTicketMyDetailVO.SignatureInfo();
|
QmsPdiTicketMyDetailVO.SignatureInfo signatureInfo = new QmsPdiTicketMyDetailVO.SignatureInfo();
|
||||||
signatureInfo.setDeptName(deptName);
|
signatureInfo.setDeptName(deptName);
|
||||||
signatureInfo.setApprovalOpinion(process.getApprovalOpinion());
|
signatureInfo.setApprovalOpinion(process.getApprovalOpinion());
|
||||||
signatureInfo.setApprovalTime(process.getApprovalTime() != null
|
signatureInfo.setApprovalTime(process.getApprovalTime() != null
|
||||||
? process.getApprovalTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))
|
? process.getApprovalTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))
|
||||||
: null);
|
: null);
|
||||||
signatureInfo.setSignature(signature);
|
signatureInfo.setSignature(signature);
|
||||||
|
|
||||||
signatures.put(deptName, signatureInfo);
|
signatures.put(deptName, signatureInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return signatures;
|
return signatures;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1786,14 +1802,22 @@ public class QmsIssueTicketControllerService {
|
||||||
return "未审批";
|
return "未审批";
|
||||||
}
|
}
|
||||||
switch (status) {
|
switch (status) {
|
||||||
case 0: return "通过";
|
case 0:
|
||||||
case 1: return "驳回";
|
return "通过";
|
||||||
case 2: return "重检";
|
case 1:
|
||||||
case 3: return "报废";
|
return "驳回";
|
||||||
case 4: return "维修";
|
case 2:
|
||||||
case 5: return "挑选使用";
|
return "重检";
|
||||||
case 6: return "让渡使用";
|
case 3:
|
||||||
default: return "未知";
|
return "报废";
|
||||||
|
case 4:
|
||||||
|
return "维修";
|
||||||
|
case 5:
|
||||||
|
return "挑选使用";
|
||||||
|
case 6:
|
||||||
|
return "让渡使用";
|
||||||
|
default:
|
||||||
|
return "未知";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,4 +39,9 @@ public class Constant {
|
||||||
public static final String DICTIONARY_AD_TYPE ="AdvertisementType";
|
public static final String DICTIONARY_AD_TYPE ="AdvertisementType";
|
||||||
|
|
||||||
public static final String DICTIONARY_AD_POSITION ="AdvertisementPosition";
|
public static final String DICTIONARY_AD_POSITION ="AdvertisementPosition";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 仓库管理员角色代码
|
||||||
|
*/
|
||||||
|
public static final String ROLE_CODE_CANGKUGUANLIYUAN="CANGKUGUANLIYUAN";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -133,6 +133,11 @@ public class QmsIssueTicketDetailVO {
|
||||||
*/
|
*/
|
||||||
private LocalDateTime completeTime;
|
private LocalDateTime completeTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否有审批权限
|
||||||
|
*/
|
||||||
|
private boolean withApprovalAuthority = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 来料检测任务详情
|
* 来料检测任务详情
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ public class UserUtil {
|
||||||
return UserType.findByValue(Integer.parseInt(StpUtil.getExtra(Constant.LOGIN_EXTRA_USER_TYPE).toString()));
|
return UserType.findByValue(Integer.parseInt(StpUtil.getExtra(Constant.LOGIN_EXTRA_USER_TYPE).toString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getPurchaseGropu(){
|
public static String getPurchaseGroup(){
|
||||||
return (String) StpUtil.getExtra(Constant.LOGIN_EXTRA_PURCHASING_GROUP);
|
return (String) StpUtil.getExtra(Constant.LOGIN_EXTRA_PURCHASING_GROUP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import com.nflg.wms.common.pojo.qo.RoleSearchQO;
|
||||||
import com.nflg.wms.common.pojo.vo.MenuVO;
|
import com.nflg.wms.common.pojo.vo.MenuVO;
|
||||||
import com.nflg.wms.common.pojo.vo.RoleVO;
|
import com.nflg.wms.common.pojo.vo.RoleVO;
|
||||||
import com.nflg.wms.repository.entity.Role;
|
import com.nflg.wms.repository.entity.Role;
|
||||||
|
import com.nflg.wms.repository.entity.User;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -23,4 +24,6 @@ public interface RoleMapper extends BaseMapper<Role> {
|
||||||
IPage<RoleVO> search(RoleSearchQO request, Page<?> objectPage);
|
IPage<RoleVO> search(RoleSearchQO request, Page<?> objectPage);
|
||||||
|
|
||||||
List<MenuVO> getMenusByRoleCodes(Long serviceId, Long userId);
|
List<MenuVO> getMenusByRoleCodes(Long serviceId, Long userId);
|
||||||
|
|
||||||
|
List<User> getUsersByCode(String code);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import com.nflg.wms.common.pojo.qo.RoleUpdateQO;
|
||||||
import com.nflg.wms.common.pojo.vo.MenuVO;
|
import com.nflg.wms.common.pojo.vo.MenuVO;
|
||||||
import com.nflg.wms.common.pojo.vo.RoleVO;
|
import com.nflg.wms.common.pojo.vo.RoleVO;
|
||||||
import com.nflg.wms.repository.entity.Role;
|
import com.nflg.wms.repository.entity.Role;
|
||||||
|
import com.nflg.wms.repository.entity.User;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -31,4 +32,6 @@ public interface IRoleService extends IService<Role> {
|
||||||
void enable(EnableQO request, String userName);
|
void enable(EnableQO request, String userName);
|
||||||
|
|
||||||
List<MenuVO> getMenusByRoleCodes(Long serviceId, Long userId);
|
List<MenuVO> getMenusByRoleCodes(Long serviceId, Long userId);
|
||||||
|
|
||||||
|
List<User> getUsersByCode(String code);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import com.nflg.wms.common.pojo.vo.RoleVO;
|
||||||
import com.nflg.wms.common.util.VUtil;
|
import com.nflg.wms.common.util.VUtil;
|
||||||
import com.nflg.wms.repository.entity.Menu;
|
import com.nflg.wms.repository.entity.Menu;
|
||||||
import com.nflg.wms.repository.entity.Role;
|
import com.nflg.wms.repository.entity.Role;
|
||||||
|
import com.nflg.wms.repository.entity.User;
|
||||||
import com.nflg.wms.repository.mapper.RoleMapper;
|
import com.nflg.wms.repository.mapper.RoleMapper;
|
||||||
import com.nflg.wms.repository.service.IAuditLogService;
|
import com.nflg.wms.repository.service.IAuditLogService;
|
||||||
import com.nflg.wms.repository.service.IMenuService;
|
import com.nflg.wms.repository.service.IMenuService;
|
||||||
|
|
@ -108,6 +109,11 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IR
|
||||||
return menus;
|
return menus;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<User> getUsersByCode(String code) {
|
||||||
|
return baseMapper.getUsersByCode(code);
|
||||||
|
}
|
||||||
|
|
||||||
private void bindParent(MenuVO menu, List<MenuVO> datas) {
|
private void bindParent(MenuVO menu, List<MenuVO> datas) {
|
||||||
if (!Objects.equals(0L, menu.getParentId())) {
|
if (!Objects.equals(0L, menu.getParentId())) {
|
||||||
Menu mp = menuService.getById(menu.getParentId());
|
Menu mp = menuService.getById(menu.getParentId());
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.nflg.wms.repository.mapper.RoleMapper">
|
<mapper namespace="com.nflg.wms.repository.mapper.RoleMapper">
|
||||||
|
|
||||||
<select id="search" resultType="com.nflg.wms.common.pojo.vo.RoleVO">
|
<select id="search" resultType="com.nflg.wms.common.pojo.vo.RoleVO">
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM role
|
FROM role
|
||||||
|
|
@ -17,7 +16,7 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getMenusByRoleCodes" resultType="com.nflg.wms.common.pojo.vo.MenuVO">
|
<select id="getMenusByRoleCodes" resultType="com.nflg.wms.common.pojo.vo.MenuVO">
|
||||||
SELECT DISTINCT m.id, m.name, m.url, m.component, m.parent_id AS "parentId", m.show,m.sort
|
SELECT DISTINCT m.id, m.name, m.url, m.component, m.parent_id AS "parentId", m.show, m.sort
|
||||||
FROM role r
|
FROM role r
|
||||||
INNER JOIN role_menu_map rmm ON r.id = rmm.role_id
|
INNER JOIN role_menu_map rmm ON r.id = rmm.role_id
|
||||||
INNER JOIN menu m ON rmm.menu_id = m.id
|
INNER JOIN menu m ON rmm.menu_id = m.id
|
||||||
|
|
@ -28,4 +27,12 @@
|
||||||
AND m.service_desc_id = #{serviceId}
|
AND m.service_desc_id = #{serviceId}
|
||||||
order by m.id
|
order by m.id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getUsersByCode" resultType="com.nflg.wms.repository.entity.User">
|
||||||
|
SELECT u.*
|
||||||
|
FROM role r
|
||||||
|
INNER JOIN user_role_map urm ON r."id" = urm.role_id
|
||||||
|
INNER JOIN "user" u ON urm.user_id = u."id"
|
||||||
|
WHERE r.code = #{code}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue