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;
|
||||
|
||||
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.PageData;
|
||||
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) {
|
||||
User user = userService.getById(UserUtil.getUserId());
|
||||
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));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil;
|
|||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.exception.NflgException;
|
||||
import com.nflg.wms.common.pojo.PageData;
|
||||
|
|
@ -75,6 +76,9 @@ public class QmsIssueTicketControllerService {
|
|||
@Resource
|
||||
private WmsIncomingInspectionTaskCallbackService wmsIncomingInspectionTaskCallbackService;
|
||||
|
||||
@Resource
|
||||
private IRoleService roleService;
|
||||
|
||||
/**
|
||||
* 发起巡检工单
|
||||
* 1. 校验工单存在且来源类型为巡检(sourceType=2)
|
||||
|
|
@ -754,8 +758,8 @@ public class QmsIssueTicketControllerService {
|
|||
.set(QmsIssueTicket::getImageIds, request.getImages() == null
|
||||
? ""
|
||||
: StrUtil.join(",", request.getImages().stream()
|
||||
.map(com.nflg.wms.common.pojo.vo.FileUploadVO::getId)
|
||||
.toList()))
|
||||
.map(com.nflg.wms.common.pojo.vo.FileUploadVO::getId)
|
||||
.toList()))
|
||||
.set(QmsIssueTicket::getRemark, request.getRemark())
|
||||
.set(QmsIssueTicket::getUpdateUserId, currentUserId)
|
||||
.set(QmsIssueTicket::getUpdateUserName, currentUserName)
|
||||
|
|
@ -1054,6 +1058,15 @@ public class QmsIssueTicketControllerService {
|
|||
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());
|
||||
vo.setTaskDetail(taskDetail);
|
||||
// 来料检测任务详情
|
||||
QmsIncomingInspectionTaskVO taskDetail = incomingInspectionTaskControllerService.getDetail(entity.getSourceId());
|
||||
vo.setTaskDetail(taskDetail);
|
||||
|
||||
List<QmsIssueTicketInspectionRecordItemVO> datas = incomingInspectionTaskControllerService.getNonconformanceDataGroups(entity.getSourceId());
|
||||
List<QmsIssueTicketInspectionRecordItemVO> records = new ArrayList<>();
|
||||
datas.forEach(record -> {
|
||||
QmsIssueTicketInspectionRecordItemVO r = records.stream()
|
||||
.filter(item -> item.getId().equals(record.getId()))
|
||||
.findFirst()
|
||||
.orElseGet(() -> {
|
||||
QmsIssueTicketInspectionRecordItemVO r1 = new QmsIssueTicketInspectionRecordItemVO()
|
||||
.setId(record.getId())
|
||||
.setName(record.getName())
|
||||
.setLegend(record.getLegend())
|
||||
.setUnqualifiedQty(0)
|
||||
.setImageIds(record.getImageIds());
|
||||
records.add(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())
|
||||
);
|
||||
}
|
||||
List<QmsIssueTicketInspectionRecordItemVO> datas = incomingInspectionTaskControllerService.getNonconformanceDataGroups(entity.getSourceId());
|
||||
List<QmsIssueTicketInspectionRecordItemVO> records = new ArrayList<>();
|
||||
datas.forEach(record -> {
|
||||
QmsIssueTicketInspectionRecordItemVO r = records.stream()
|
||||
.filter(item -> item.getId().equals(record.getId()))
|
||||
.findFirst()
|
||||
.orElseGet(() -> {
|
||||
QmsIssueTicketInspectionRecordItemVO r1 = new QmsIssueTicketInspectionRecordItemVO()
|
||||
.setId(record.getId())
|
||||
.setName(record.getName())
|
||||
.setLegend(record.getLegend())
|
||||
.setUnqualifiedQty(0)
|
||||
.setImageIds(record.getImageIds());
|
||||
records.add(r1);
|
||||
return r1;
|
||||
});
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
@ -1786,14 +1802,22 @@ public class QmsIssueTicketControllerService {
|
|||
return "未审批";
|
||||
}
|
||||
switch (status) {
|
||||
case 0: return "通过";
|
||||
case 1: return "驳回";
|
||||
case 2: return "重检";
|
||||
case 3: return "报废";
|
||||
case 4: return "维修";
|
||||
case 5: return "挑选使用";
|
||||
case 6: return "让渡使用";
|
||||
default: return "未知";
|
||||
case 0:
|
||||
return "通过";
|
||||
case 1:
|
||||
return "驳回";
|
||||
case 2:
|
||||
return "重检";
|
||||
case 3:
|
||||
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_POSITION ="AdvertisementPosition";
|
||||
|
||||
/**
|
||||
* 仓库管理员角色代码
|
||||
*/
|
||||
public static final String ROLE_CODE_CANGKUGUANLIYUAN="CANGKUGUANLIYUAN";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -133,6 +133,11 @@ public class QmsIssueTicketDetailVO {
|
|||
*/
|
||||
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()));
|
||||
}
|
||||
|
||||
public static String getPurchaseGropu(){
|
||||
public static String getPurchaseGroup(){
|
||||
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.RoleVO;
|
||||
import com.nflg.wms.repository.entity.Role;
|
||||
import com.nflg.wms.repository.entity.User;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -23,4 +24,6 @@ public interface RoleMapper extends BaseMapper<Role> {
|
|||
IPage<RoleVO> search(RoleSearchQO request, Page<?> objectPage);
|
||||
|
||||
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.RoleVO;
|
||||
import com.nflg.wms.repository.entity.Role;
|
||||
import com.nflg.wms.repository.entity.User;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -31,4 +32,6 @@ public interface IRoleService extends IService<Role> {
|
|||
void enable(EnableQO request, String userName);
|
||||
|
||||
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.repository.entity.Menu;
|
||||
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.service.IAuditLogService;
|
||||
import com.nflg.wms.repository.service.IMenuService;
|
||||
|
|
@ -108,6 +109,11 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IR
|
|||
return menus;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<User> getUsersByCode(String code) {
|
||||
return baseMapper.getUsersByCode(code);
|
||||
}
|
||||
|
||||
private void bindParent(MenuVO menu, List<MenuVO> datas) {
|
||||
if (!Objects.equals(0L, menu.getParentId())) {
|
||||
Menu mp = menuService.getById(menu.getParentId());
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
<?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">
|
||||
<mapper namespace="com.nflg.wms.repository.mapper.RoleMapper">
|
||||
|
||||
<select id="search" resultType="com.nflg.wms.common.pojo.vo.RoleVO">
|
||||
SELECT *
|
||||
FROM role
|
||||
|
|
@ -17,7 +16,7 @@
|
|||
</select>
|
||||
|
||||
<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
|
||||
INNER JOIN role_menu_map rmm ON r.id = rmm.role_id
|
||||
INNER JOIN menu m ON rmm.menu_id = m.id
|
||||
|
|
@ -28,4 +27,12 @@
|
|||
AND m.service_desc_id = #{serviceId}
|
||||
order by m.id
|
||||
</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>
|
||||
|
|
|
|||
Loading…
Reference in New Issue