From 25b569753afb9939e5610f6ba0d31a40f5e79388 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 27 十月 2025 15:01:58 +0800
Subject: [PATCH] bug修改
---
ruoyi-system/src/main/java/com/ruoyi/system/query/ProjectPhaseListQuery.java | 5 +
ruoyi-system/src/main/java/com/ruoyi/system/query/SysUserQuery.java | 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 10 +++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java | 40 ++++++++++++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotifationUserController.java | 7 ++
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 13 ++-
ruoyi-system/src/main/resources/mapper/system/ProjectMainMapper.xml | 13 +++
ruoyi-system/src/main/java/com/ruoyi/system/vo/ProjectMainListVO.java | 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ProjectMainController.java | 14 ++--
ruoyi-system/src/main/resources/mapper/system/OaNotificationMapper.xml | 11 ++-
ruoyi-system/src/main/java/com/ruoyi/system/query/ProjectMainListQuery.java | 2
ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotification.java | 24 -------
12 files changed, 97 insertions(+), 47 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotifationUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotifationUserController.java
index e33b0f2..306d098 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotifationUserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotifationUserController.java
@@ -20,6 +20,7 @@
import com.ruoyi.system.vo.system.NotificationDetailVO;
import com.ruoyi.system.vo.system.NotificationUserDetailVO;
import com.ruoyi.system.vo.system.NotificationVO;
+import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import jdk.nashorn.internal.parser.Token;
import org.springframework.beans.BeanUtils;
@@ -41,6 +42,7 @@
* @since 2025-09-15
*/
@RestController
+@Api("我的消息通知")
@RequestMapping("/oa-notifation-user")
public class OaNotifationUserController {
@Resource
@@ -70,7 +72,10 @@
@GetMapping(value = "/detail")
public R<NotificationDetailVO> detail(String id) {
NotificationDetailVO notificationDetailVO = new NotificationDetailVO();
- OaNotification oaNotification = oaNotificationService.getById(id);
+ OaNotificationUser on = oaNotifationUserService.getById(id);
+ on.setReadStatus( true);
+ oaNotifationUserService.updateById(on);
+ OaNotification oaNotification = oaNotificationService.getById(on.getNotificationId());
BeanUtils.copyProperties(oaNotification, notificationDetailVO);
// StringBuilder deptName = new StringBuilder();
// List<TDept> tDepts = deptService.list();
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java
index 5b77a38..5814450 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java
@@ -63,10 +63,14 @@
@DeleteMapping(value = "/delete")
public R delete(@RequestParam String ids) {
List<String> notificationIds = Arrays.asList(ids.split(","));
+ List<Integer> idsList = new ArrayList<>();
+ for (String notificationId : notificationIds) {
+ idsList.add(Integer.parseInt(notificationId));
+ }
// 删除后 将已发送的消息通知一并删除
- oaNotificationService.removeBatchByIds(notificationIds);
+ oaNotificationService.removeBatchByIds(idsList);
oaNotifationUserService.remove(new LambdaQueryWrapper<OaNotificationUser>()
- .in(OaNotificationUser::getNotificationId,notificationIds));
+ .in(OaNotificationUser::getNotificationId,idsList));
return R.ok();
}
@Log(title = "消息通知-新增消息", businessType = BusinessType.INSERT)
@@ -98,6 +102,38 @@
oaNotifationUserService.saveBatch(oaNotificationUsers);
return R.ok();
}
+ @Log(title = "消息通知-编辑消息", businessType = BusinessType.UPDATE)
+ @ApiOperation(value = "编辑消息")
+ @PostMapping(value = "/edit")
+ public R<Boolean> edit( @RequestBody OaNotification dto) {
+ oaNotificationService.updateById(dto);
+ // 删除消息通知
+ oaNotifationUserService.remove(new LambdaQueryWrapper<OaNotificationUser>()
+ .eq(OaNotificationUser::getNotificationId,dto.getId()));
+ ArrayList<OaNotificationUser> oaNotificationUsers = new ArrayList<>();
+ // 发送消息通知
+ if (dto.getType()){
+ // 指定人员发送
+ Arrays.asList(dto.getUserIds().split(","))
+ .forEach(userId -> {
+ OaNotificationUser oaNotificationUser = new OaNotificationUser();
+ oaNotificationUser.setUserId(Integer.parseInt(userId));
+ oaNotificationUser.setNotificationId(dto.getId());
+ oaNotificationUsers.add(oaNotificationUser);
+ });
+ }else{
+ // 所有人发送
+ List<SysUser> sysUsers = sysUserService.selectAllList();
+ sysUsers.forEach(sysUser -> {
+ OaNotificationUser oaNotificationUser = new OaNotificationUser();
+ oaNotificationUser.setUserId(sysUser.getUserId().intValue());
+ oaNotificationUser.setNotificationId(dto.getId());
+ oaNotificationUsers.add(oaNotificationUser);
+ });
+ }
+ oaNotifationUserService.saveBatch(oaNotificationUsers);
+ return R.ok();
+ }
@ApiOperation(value = "消息通知详情")
@GetMapping(value = "/detail")
public R<NotificationDetailVO> detail(String id) {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ProjectMainController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ProjectMainController.java
index 5dda629..5b90df9 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ProjectMainController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ProjectMainController.java
@@ -114,7 +114,7 @@
.eq(ProjectInvestment::getProjectId, id)
.eq(ProjectInvestment::getInvestmentType, 2)
.last("limit 1").one();
- projectMain.setProjectInvestment1(projectInvestment2);
+ projectMain.setProjectInvestment2(projectInvestment2);
return R.ok(projectMain);
}
@Log(title = "储备项目-删除", businessType = BusinessType.DELETE)
@@ -136,11 +136,13 @@
@Log(title = "项目阶段-添加事项", businessType = BusinessType.INSERT)
@PostMapping(value = "/addSettleItem")
public R<Boolean> addSettleItem(@RequestBody ProjectSettleItem entity) {
- if (StringUtils.hasLength(entity.getFileUrl())){
- entity.setStatus(3);
- }else{
- if (entity.getSettleTime().isBefore(LocalDate.now())) {
- entity.setStatus(2);
+ if (entity.getStatus()==null){
+ if (StringUtils.hasLength(entity.getFileUrl())){
+ entity.setStatus(3);
+ }else{
+ if (entity.getSettleTime().isBefore(LocalDate.now())) {
+ entity.setStatus(2);
+ }
}
}
projectSettleItemService.save(entity);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotification.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotification.java
index 085f1fd..cdef697 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotification.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotification.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -26,7 +27,7 @@
@EqualsAndHashCode(callSuper = false)
@TableName("oa_notification")
@ApiModel(value="OaNotification对象", description="通知表")
-public class OaNotification implements Serializable {
+public class OaNotification extends BaseModel {
private static final long serialVersionUID = 1L;
@@ -46,28 +47,7 @@
@TableField("type")
private Boolean type;
- @ApiModelProperty(value = "创建时间")
- @TableField("create_time")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
- private LocalDateTime createTime;
- @ApiModelProperty(value = "创建人")
- @TableField("create_by")
- private String createBy;
-
- @ApiModelProperty(value = "更新时间")
- @TableField("update_time")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
- private LocalDateTime updateTime;
-
- @ApiModelProperty(value = "更新人")
- @TableField("update_by")
- private String updateBy;
-
- @ApiModelProperty(value = "是否删除 0-否,1-是")
- @TableField("disabled")
- @TableLogic
- private Boolean disabled;
@ApiModelProperty(value = "通知部门ids 逗号拼接")
@TableField("dept_ids")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/ProjectMainListQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/ProjectMainListQuery.java
index b14a16f..9d648dc 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/ProjectMainListQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/ProjectMainListQuery.java
@@ -17,5 +17,7 @@
private String projectCode;
@ApiModelProperty(value = "项目类型")
private String projectType;
+ @ApiModelProperty(value = "状态 储备项目列表传1 协同传0")
+ private Integer status;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/ProjectPhaseListQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/ProjectPhaseListQuery.java
index 035f134..92b8031 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/ProjectPhaseListQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/ProjectPhaseListQuery.java
@@ -1,5 +1,6 @@
package com.ruoyi.system.query;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -10,13 +11,13 @@
public class ProjectPhaseListQuery extends BasePage {
- @ApiModelProperty(value = "项目名称")
- private Integer status;
@ApiModelProperty(value = "项目id")
private String projectId;
@ApiModelProperty(value = "事项标题")
private String settleName;
@ApiModelProperty(value = "所属项目阶段 1前期2实施3验收4运营")
private Integer stage;
+ @ApiModelProperty(value = "事项类型 1项目事项 2款项记录")
+ private Integer settleType;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/SysUserQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/SysUserQuery.java
index c188d92..17501bb 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/SysUserQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/SysUserQuery.java
@@ -19,5 +19,7 @@
private String deptName;
@ApiModelProperty(value = "角色名称")
private String roleName;
+ @ApiModelProperty(value = "角色ids 前端忽略")
+ private List<Long> roleIds;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 703ce01..0b43374 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -639,6 +639,16 @@
@Override
public PageInfo<SysUserVO> pageList(SysUserQuery query) {
+ if (org.springframework.util.StringUtils.hasLength(query.getRoleName())){
+ List<SysRole> sysRoles = roleMapper.selectRoleAll();
+ List<Long> roleIds = sysRoles.stream().filter(e -> e.getRoleName().contains(query.getRoleName()))
+ .map(SysRole::getRoleId).collect(Collectors.toList());
+ if (roleIds.isEmpty()){
+ return new PageInfo<>();
+ }
+ query.setRoleIds(roleIds);
+
+ }
PageInfo<SysUserVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
List<SysUserVO> list = userMapper.pageList(query,pageInfo);
if(CollectionUtils.isEmpty(list)){
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/ProjectMainListVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/ProjectMainListVO.java
index 4089219..53cb437 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/ProjectMainListVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/ProjectMainListVO.java
@@ -13,8 +13,7 @@
@Data
@ApiModel(value = "储备项目列表返回VO")
public class ProjectMainListVO extends ProjectMain {
- @ApiModelProperty(value = "项目进度")
- private String projectProgress;
+
}
diff --git a/ruoyi-system/src/main/resources/mapper/system/OaNotificationMapper.xml b/ruoyi-system/src/main/resources/mapper/system/OaNotificationMapper.xml
index 538d0f5..6eec53d 100644
--- a/ruoyi-system/src/main/resources/mapper/system/OaNotificationMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/OaNotificationMapper.xml
@@ -25,9 +25,9 @@
<if test="query.title != null and query.title != ''">
and title like concat('%',#{query.title},'%')
</if>
- <if test="deptIds != null and deptIds.size() > 0">
+ <if test="query.deptIds != null and query.deptIds.size() > 0">
AND (
- <foreach collection="deptIds" item="deptId" separator=" OR ">
+ <foreach collection="query.deptIds" item="deptId" separator=" OR ">
FIND_IN_SET(#{deptId}, dept_ids)
</foreach>
)
@@ -36,14 +36,15 @@
order by create_time desc
</select>
<select id="pageListUser" resultType="com.ruoyi.system.vo.system.NotificationVO">
- select t1.read_status as readStatus,t1.notification_id notificationId,t2.* from oa_notification t2
+ select t1.id as id,t1.read_status as readStatus,t1.notification_id notificationId,t2.*,t2.id as notificationId from oa_notification_user t1
+ left join oa_notification t2 on t1.notification_id = t2.id
where 1=1
<if test="query.title != null and query.title != ''">
and t2.title like concat('%',#{query.title},'%')
</if>
- <if test="deptIds != null and deptIds.size() > 0">
+ <if test="query.deptIds != null and query.deptIds.size() > 0">
AND (
- <foreach collection="deptIds" item="deptId" separator=" OR ">
+ <foreach collection="query.deptIds" item="deptId" separator=" OR ">
FIND_IN_SET(#{deptId}, t2.dept_ids)
</foreach>
)
diff --git a/ruoyi-system/src/main/resources/mapper/system/ProjectMainMapper.xml b/ruoyi-system/src/main/resources/mapper/system/ProjectMainMapper.xml
index ae45aeb..6ca148d 100644
--- a/ruoyi-system/src/main/resources/mapper/system/ProjectMainMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/ProjectMainMapper.xml
@@ -39,7 +39,7 @@
id, project_name, project_type, project_code, create_time, create_by, update_time, update_by, disabled, platform_name, build_type, different_countries, build, build_address_detail, build_detail, national_standard_industry, industry, is_private_investment, private_investment_amount, investment_amount, start_time, end_time, construction_scale, construction_content, remark, responsible_unit, project_unit, status
</sql>
<select id="pageList" resultType="com.ruoyi.system.vo.ProjectMainListVO">
- select t1.*,"未动工" as projectProgress from project_main t1
+ select t1.* from project_main t1
where 1=1
<if test="query.projectName != null and query.projectName != ''">
AND (t1.project_name like concat('%', #{query.projectName}, '%'))
@@ -50,17 +50,26 @@
<if test="query.projectCode != null and query.projectCode != ''">
AND (t1.project_code like concat('%', #{query.projectCode}))
</if>
+ <if test="query.status == 1">
+ AND (t1.status = 1)
+ </if>
+ <if test="query.status != 1">
+ AND (t1.status != 1)
+ </if>
and t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
order by t1.create_time desc
</select>
<select id="pageListPhase" resultType="com.ruoyi.system.vo.ProjectPhaseListVO">
- select t1.*,t2.nick_name,t3.dept_name as deptName from project_settle_item
+ select t1.*,t2.nick_name,t3.dept_name as deptName from project_settle_item t1
left join sys_user t2 on t2.user_id = t1.user_id
left join t_dept t3 on t3.id = t2.dept_id
where 1=1
<if test="query.stage != null and query.stage != ''">
AND (t1.stage = #{query.stage})
</if>
+ <if test="query.settleType != null and query.settleType != ''">
+ AND (t1.settle_type = #{query.settleType})
+ </if>
<if test="query.projectId != null and query.projectId != ''">
AND (t1.project_id = #{query.projectId})
</if>
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
index 9926cc8..da14eff 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -246,18 +246,21 @@
<if test="query.nickName != null and query.nickName != ''">
AND u.nick_name LIKE concat('%',#{query.nickName},'%')
</if>
- <if test="query.roleName != null and query.roleName != ''">
- AND r.role_name LIKE concat('%',#{query.roleName},'%')
+
+ <if test="query.roleIds != null and query.roleIds.size()>0">
+ AND ur.role_id IN
+ <foreach collection="query.roleIds" separator="," item="id" open="(" close=")">
+ #{id}
+ </foreach>
</if>
+
<if test="query.phonenumber != null and query.phonenumber != ''">
AND u.phonenumber LIKE concat('%',#{query.phonenumber},'%')
</if>
<if test="query.deptName != null and query.deptName != ''">
AND t1.dept_name LIKE concat('%',#{query.deptName},'%')
</if>
- <if test="query.roleName != null and query.roleName != ''">
- AND t1.dept_name LIKE concat('%',#{query.roleName},'%')
- </if>
+
and u.user_id!=1
ORDER BY u.create_time DESC
</select>
--
Gitblit v1.7.1