Browse Source

只能查看已经授权的bu数据

ecss-tx
han\hanst 3 weeks ago
parent
commit
421123f767
  1. 56
      src/main/java/com/xujie/sys/modules/pms/controller/ProofingInformationController.java
  2. 3
      src/main/java/com/xujie/sys/modules/pms/data/ProofDocumentData.java
  3. 14
      src/main/java/com/xujie/sys/modules/pms/service/Impl/ProofingInformationServiceImpl.java
  4. 2
      src/main/java/com/xujie/sys/modules/pms/service/ProofingInformationService.java
  5. 4
      src/main/java/com/xujie/sys/modules/sift/adapter/EamProjectUploadsCountAdapter.java
  6. 30
      src/main/resources/mapper/pms/ProofingInformationMapper.xml

56
src/main/java/com/xujie/sys/modules/pms/controller/ProofingInformationController.java

@ -198,7 +198,12 @@ public class ProofingInformationController {
@PostMapping(value = "/searchProjectUploadsDocumentList")
@ResponseBody
public R searchProjectUploadsDocumentList(@RequestBody ProofDocumentData data) {
String userId = String.valueOf(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId());
SysUserEntity currentUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal();
String userId = String.valueOf(currentUser.getUserId());
data.setUsername(currentUser.getUsername());
if (data.getSite() == null || data.getSite().trim().isEmpty()) {
data.setSite(currentUser.getSite());
}
PageUtils page = proofingInformationService.getPendingUploads(userId, data);
List<ProofDocumentData> list = loadUploadFilterList();
return R.ok().put("page", page).put("list", list);
@ -207,16 +212,27 @@ public class ProofingInformationController {
@PostMapping(value = "/searchAllProjectUploadsDocumentList")
@ResponseBody
public R searchAllProjectUploadsDocumentList(@RequestBody ProofDocumentData data) {
String userId = String.valueOf(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId());
SysUserEntity currentUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal();
String userId = String.valueOf(currentUser.getUserId());
data.setUsername(currentUser.getUsername());
if (data.getSite() == null || data.getSite().trim().isEmpty()) {
data.setSite(currentUser.getSite());
}
PageUtils page = proofingInformationService.getAllUploads(userId, data);
List<ProofDocumentData> list = loadUploadFilterList();
return R.ok().put("page", page).put("list", list);
List<ProofDocumentData> pjmUserList = loadPjmUserList(data == null ? null : data.getSite());
return R.ok().put("page", page).put("list", list).put("pjmUserList", pjmUserList);
}
@PostMapping(value = "/searchProjectOverUploadsDocumentList")
@ResponseBody
public R searchProjectOverUploadsDocumentList(@RequestBody ProofDocumentData data) {
String userId = String.valueOf(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId());
SysUserEntity currentUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal();
String userId = String.valueOf(currentUser.getUserId());
data.setUsername(currentUser.getUsername());
if (data.getSite() == null || data.getSite().trim().isEmpty()) {
data.setSite(currentUser.getSite());
}
PageUtils page = proofingInformationService.getOverdueUploads(userId,data);
List<ProofDocumentData> list = loadUploadFilterList();
return R.ok().put("page", page).put("list", list);
@ -226,7 +242,9 @@ public class ProofingInformationController {
@PostMapping(value = "/queryProjectUploadsDocumentList")
@ResponseBody
public R queryProjectUploadsDocumentList(@RequestBody QuerySavedVo querySavedVo) {
String userId = String.valueOf(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId());
SysUserEntity currentUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal();
String userId = String.valueOf(currentUser.getUserId());
querySavedVo.setUserName(currentUser.getUsername());
if (querySavedVo.getQuerySavedDetailList() != null && !querySavedVo.getQuerySavedDetailList().isEmpty()) {
String sql = queryCriteriaConstructorDefault.lastConditionalStatement(querySavedVo);
querySavedVo.setSql(sql);
@ -241,7 +259,9 @@ public class ProofingInformationController {
@PostMapping(value = "/queryAllProjectUploadsDocumentList")
@ResponseBody
public R queryAllProjectUploadsDocumentList(@RequestBody QuerySavedVo querySavedVo) {
String userId = String.valueOf(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId());
SysUserEntity currentUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal();
String userId = String.valueOf(currentUser.getUserId());
querySavedVo.setUserName(currentUser.getUsername());
if (querySavedVo.getQuerySavedDetailList() != null && !querySavedVo.getQuerySavedDetailList().isEmpty()) {
String sql = queryCriteriaConstructorDefault.lastConditionalStatement(querySavedVo);
querySavedVo.setSql(sql);
@ -250,13 +270,16 @@ public class ProofingInformationController {
PageUtils page = proofingInformationService.queryAllUploads(pages,querySavedVo,userId);
List<ProofDocumentData> list = loadUploadFilterList();
return R.ok().put("page", page).put("list", list);
List<ProofDocumentData> pjmUserList = loadPjmUserList(null);
return R.ok().put("page", page).put("list", list).put("pjmUserList", pjmUserList);
}
@PostMapping(value = "/queryProjectOverUploadsDocumentList")
@ResponseBody
public R queryProjectOverUploadsDocumentList(@RequestBody QuerySavedVo querySavedVo) {
String userId = String.valueOf(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId());
SysUserEntity currentUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal();
String userId = String.valueOf(currentUser.getUserId());
querySavedVo.setUserName(currentUser.getUsername());
if (querySavedVo.getQuerySavedDetailList() != null && !querySavedVo.getQuerySavedDetailList().isEmpty()) {
String sql = queryCriteriaConstructorDefault.lastConditionalStatement(querySavedVo);
querySavedVo.setSql(sql);
@ -274,6 +297,23 @@ public class ProofingInformationController {
return proofingInformationService.getAllUploadsList();
}
/**
* 待上传页面全部视图权限依赖 access_role.role_no=R002PjM人员名单统一在后端返回给前端复用
*/
private List<ProofDocumentData> loadPjmUserList(String preferredSite) {
String site = preferredSite;
if (site == null || site.trim().isEmpty()) {
SysUserEntity currentUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal();
site = currentUser == null ? null : currentUser.getSite();
}
if (site == null || site.trim().isEmpty()) {
return new ArrayList<>();
}
ProofDocumentData queryData = new ProofDocumentData();
queryData.setSite(site.trim());
return proofingInformationService.queryPlmUserList(queryData);
}
@PostMapping(value = "/searchConfirmProgressList")
@ResponseBody
public R searchConfirmProgressList(@RequestBody ProjectProductionValidationDocumentData inData) {

3
src/main/java/com/xujie/sys/modules/pms/data/ProofDocumentData.java

@ -79,6 +79,9 @@ public class ProofDocumentData extends ProofingInformationData {
@TableField(exist = false)
private Integer userId;
@TableField(exist = false)
private String username;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@TableField(exist = false)

14
src/main/java/com/xujie/sys/modules/pms/service/Impl/ProofingInformationServiceImpl.java

@ -518,13 +518,23 @@ public class ProofingInformationServiceImpl implements ProofingInformationServic
return proofingInformationMapper.getAllConfirmationsList(userId, inData);
}
@Override
public List<ProofDocumentData> queryPlmUserList(ProofDocumentData inData) {
if (inData == null || inData.getSite() == null || inData.getSite().trim().isEmpty()) {
return Collections.emptyList();
}
return proofingInformationMapper.queryPlmUser(inData);
}
@Override
public PageUtils queryAllProofing(String userId, ProofDocumentData inData) {
List<ProofDocumentData> plmUserList = proofingInformationMapper.queryPlmUser(inData);
List<ProofDocumentData> plmUserList = queryPlmUserList(inData);
// 拿到plmUserList中的userId
List<String> userIdList = new ArrayList<>();
for (ProofDocumentData proofDocumentData : plmUserList) {
userIdList.add(proofDocumentData.getUserId().toString());
if (proofDocumentData.getUserId() != null) {
userIdList.add(proofDocumentData.getUserId().toString());
}
}
// 判断userId是否在userIdList中
if (userIdList.contains(userId)) {

2
src/main/java/com/xujie/sys/modules/pms/service/ProofingInformationService.java

@ -78,6 +78,8 @@ public interface ProofingInformationService extends IService<ProofingInformation
PageUtils queryAllProofing(String userId, ProofDocumentData inData);
List<ProofDocumentData> queryPlmUserList(ProofDocumentData inData);
List<ProofDocumentData> getUploadedFlagByPart(ProofingInformationData data);
List<ProofDocumentData> getCopyDocumentFileList(ProofDocumentData data);

4
src/main/java/com/xujie/sys/modules/sift/adapter/EamProjectUploadsCountAdapter.java

@ -32,6 +32,10 @@ public class EamProjectUploadsCountAdapter extends AbstractMenuUrlQueryAdapter {
if (querySavedVo.getQuerySavedDetailList() != null && !querySavedVo.getQuerySavedDetailList().isEmpty()) {
querySavedVo.setSql(queryCriteriaConstructorDefault.lastConditionalStatement(querySavedVo));
}
// 兼容历史查询记录只存 userId 的场景确保后端可按 AccessBu(username) 做授权 BU 过滤
if (!StringUtils.hasText(querySavedVo.getUserName()) && StringUtils.hasText(querySavedVo.getUserId())) {
querySavedVo.setUserName(querySavedVo.getUserId());
}
String userId = StringUtils.hasText(querySavedVo.getUserId()) ? querySavedVo.getUserId() : querySavedVo.getUserName();
Page<ProofDocumentData> page = new Page<>(1, 1);
String menuName = getMenuName(querySavedVo.getMenuId());

30
src/main/resources/mapper/pms/ProofingInformationMapper.xml

@ -271,6 +271,11 @@
SELECT * FROM view_plm_toupload_list_byUser
<where>
status != '草稿' AND RelatedPerson = #{userId}
AND (site + '-' + bu_no) IN (
SELECT (site + '-' + bu_no)
FROM AccessBu
WHERE username = #{query.username}
)
<if test="query.projectNo != null and query.projectNo != ''">
AND (
project_no like '%' + #{query.projectNo} + '%'
@ -398,6 +403,11 @@
WHERE status != '草稿'
AND Request_date < GETDATE()
AND RelatedPerson = #{userId}
AND (site + '-' + bu_no) IN (
SELECT (site + '-' + bu_no)
FROM AccessBu
WHERE username = #{query.username}
)
]]>
<if test="query.projectNo != null and query.projectNo != ''">
<![CDATA[
@ -564,6 +574,11 @@
SELECT * FROM view_plm_toupload_list_byUser
<where>
status != '草稿'
AND (site + '-' + bu_no) IN (
SELECT (site + '-' + bu_no)
FROM AccessBu
WHERE username = #{query.username}
)
<if test="query.projectNo != null and query.projectNo != ''">
AND (
project_no like '%' + #{query.projectNo} + '%'
@ -682,6 +697,11 @@
SELECT * FROM view_plm_toupload_list_byUser
<where>
status != '草稿' AND RelatedPerson = #{user.userId}
AND (site + '-' + bu_no) IN (
SELECT (site + '-' + bu_no)
FROM AccessBu
WHERE username = #{params.userName}
)
<if test="params.sql != null and params.sql != ''">
${params.sql}
</if>
@ -694,6 +714,11 @@
WHERE status != '草稿'
AND Request_date < GETDATE()
AND RelatedPerson = #{user.userId}
AND (site + '-' + bu_no) IN (
SELECT (site + '-' + bu_no)
FROM AccessBu
WHERE username = #{params.userName}
)
]]>
<if test="params.sql != null and params.sql != ''">
<![CDATA[
@ -708,6 +733,11 @@
SELECT * FROM view_plm_toupload_list_byUser
<where>
status != '草稿'
AND (site + '-' + bu_no) IN (
SELECT (site + '-' + bu_no)
FROM AccessBu
WHERE username = #{params.userName}
)
<if test="params.sql != null and params.sql != ''">
${params.sql}
</if>

Loading…
Cancel
Save