From 6831e7b977681e3f6a1c619e13c2fe28e7ccc49d Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期三, 02 七月 2025 10:36:31 +0800 Subject: [PATCH] 保洁巡检本周代码 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TNoticeServiceImpl.java | 33 ++++ ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TTaskDetailController.java | 3 ruoyi-system/src/main/java/com/ruoyi/system/applet/vo/NoticeListVO.java | 17 ++ ruoyi-system/src/main/java/com/ruoyi/system/mapper/TNoticeMapper.java | 23 +++ ruoyi-system/src/main/java/com/ruoyi/system/applet/query/NoticeListQuery.java | 15 ++ ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/applet/vo/TaskUserListVO.java | 4 ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TIndexController.java | 13 + ruoyi-system/src/main/java/com/ruoyi/system/applet/dto/AppealDTO.java | 13 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTaskController.java | 2 ruoyi-system/src/main/resources/mapper/system/TTaskMapper.xml | 22 +- ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TUserController.java | 129 ++++++++++-------- ruoyi-system/src/main/java/com/ruoyi/system/service/TNoticeService.java | 20 ++ ruoyi-system/src/main/java/com/ruoyi/system/applet/vo/UserIndexVO.java | 2 ruoyi-system/src/main/resources/mapper/system/TNoticeMapper.xml | 13 + ruoyi-system/src/main/java/com/ruoyi/system/model/TTaskDetail.java | 4 ruoyi-system/src/main/java/com/ruoyi/system/model/TNotice.java | 101 ++++++++++++++ 17 files changed, 343 insertions(+), 73 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTaskController.java index 785554b..5975e5b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTaskController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTaskController.java @@ -170,7 +170,7 @@ @Log(title = "审核任务", businessType = BusinessType.UPDATE) @ApiOperation(value = "审核任务") @PostMapping(value = "/audit") - public R<Boolean> audit(@RequestBody @Valid TTaskAuditDTO dto) { + public R<Boolean> audit(@RequestBody TTaskAuditDTO dto) { dto.setAuditTime(LocalDateTime.now()); TTask byId = taskCleanerService.getById(dto.getTaskId()); if (dto.getAuditStatus()==2){ diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TIndexController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TIndexController.java index 2931add..28d0bff 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TIndexController.java +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TIndexController.java @@ -181,8 +181,19 @@ List<TTask> tasks = taskCleanerService.list(tTaskLambdaQueryWrapper); HashMap<String, Integer> taskMap = new HashMap<>(); HashMap<String, Integer> statusMap = new HashMap<>(); + statusMap.put("未执行", 0); + statusMap.put("超时", 0); + statusMap.put("待确认", 0); + statusMap.put("已驳回", 0); + statusMap.put("已完成", 0); HashMap<String, Integer> clearMap = new HashMap<>(); + clearMap.put("合格", 0); + clearMap.put("不合格", 0); HashMap<String, Integer> unqualifiedMap = new HashMap<>(); + List<TDictData> dictData = dataList.stream().filter(e -> e.getDataType() == 2).collect(Collectors.toList()); + for (TDictData dictDatum : dictData) { + unqualifiedMap.put(dictDatum.getDataContent(), 0); + } for (TTask task : tasks) { TProjectDept tProjectDept = projectDepts.stream().filter(e -> e.getId().equals(task.getProjectId())).findFirst().orElse(null); if (tProjectDept == null) continue; @@ -221,7 +232,7 @@ temp1.append("不合格"); TDictData tDictData = dataList.stream().filter(e -> e.getId().equals(tTaskDetail.getUnqualified())).findFirst().orElse(null); if (tDictData != null){ - unqualifiedMap.put(tTaskDetail.getUnqualifiedName(), unqualifiedMap.getOrDefault(tDictData.getDataContent(), 0) + 1); + unqualifiedMap.put(tDictData.getDataContent(), unqualifiedMap.getOrDefault(tDictData.getDataContent(), 0) + 1); } break; } diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TTaskDetailController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TTaskDetailController.java index c816744..eb52661 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TTaskDetailController.java +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TTaskDetailController.java @@ -5,6 +5,7 @@ import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.applet.dto.AppealDTO; import com.ruoyi.system.dto.TTaskAuditBatchDTO; import com.ruoyi.system.dto.TaskDetailDto; import com.ruoyi.system.model.TAppeal; @@ -58,7 +59,7 @@ @ApiOperation(value = "申诉") @PostMapping(value = "/appeal") - public R<Boolean> appeal(@RequestBody TAppeal dto) { + public R<Boolean> appeal(@RequestBody AppealDTO dto) { appealService.save(dto); // 添加任务详情 TTaskDetail taskDetail = new TTaskDetail(); diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TUserController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TUserController.java index 597ef3e..2c55767 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TUserController.java +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TUserController.java @@ -14,10 +14,7 @@ import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.applet.dto.*; -import com.ruoyi.system.applet.query.AppealListQuery; -import com.ruoyi.system.applet.query.KnowledgeListUserQuery; -import com.ruoyi.system.applet.query.LeaveListUserQuery; -import com.ruoyi.system.applet.query.TaskUserListQuery; +import com.ruoyi.system.applet.query.*; import com.ruoyi.system.applet.vo.*; import com.ruoyi.system.dto.KnowledgeDTO; import com.ruoyi.system.dto.TTaskAuditBatchDTO; @@ -99,7 +96,15 @@ private TFeedbackService feedbackService; @Resource private TProblemEscalationService problemEscalationService; - + @Resource + private TNoticeService noticeService; + @ApiOperation(value = "消息通知列表") + @PostMapping(value = "/noticeList") + public R<PageInfo<NoticeListVO>> noticeList(@RequestBody NoticeListQuery query) { + Long userId = tokenService.getLoginUserApplet().getUserId(); + query.setUserId(userId+""); + return R.ok(noticeService.noticeList(query)); + } /** * 生成数据 * @param id @@ -109,58 +114,58 @@ @GetMapping(value = "/testData") public R<AppealDetailVO> testData(@RequestParam String id) { - List<TAppeal> tAppeals = new ArrayList<>(); - for (int i = 0; i < 25; i++) { - TAppeal tAppeal = new TAppeal(); - tAppeal.setTaskId("1938536771253641217"); - tAppeal.setAppealPerson("152"); - tAppeal.setStatus(1); - tAppeal.setAppealContent("申诉"); - tAppeal.setPictures("https://bjxj.oss-cn-guangzhou.aliyuncs.com/bjxj/88d2d5614fe6492bba5666a7ab01e76b.png"); - tAppeals.add(tAppeal); - } - appealService.saveBatch(tAppeals); - List<TAppeal> tAppeals1 = new ArrayList<>(); - for (int i = 0; i < 25; i++) { - TAppeal tAppeal = new TAppeal(); - tAppeal.setTaskId("1938536771253641217"); - tAppeal.setAppealPerson("152"); - tAppeal.setStatus(2); - tAppeal.setAppealContent("申诉"); - tAppeal.setPictures("https://bjxj.oss-cn-guangzhou.aliyuncs.com/bjxj/88d2d5614fe6492bba5666a7ab01e76b.png"); - tAppeal.setAuditPerson("162"); - tAppeal.setAuditRemark("备注"); - tAppeal.setAuditTime(LocalDateTime.now()); - tAppeals1.add(tAppeal); - } - appealService.saveBatch(tAppeals1); - List<TAppeal> tAppeals2 = new ArrayList<>(); - for (int i = 0; i < 25; i++) { - TAppeal tAppeal = new TAppeal(); - tAppeal.setTaskId("1938536771253641217"); - tAppeal.setAppealPerson("152"); - tAppeal.setStatus(3); - tAppeal.setAppealContent("申诉"); - tAppeal.setPictures("https://bjxj.oss-cn-guangzhou.aliyuncs.com/bjxj/88d2d5614fe6492bba5666a7ab01e76b.png"); - tAppeal.setAuditPerson("162"); - tAppeal.setAuditRemark("备注"); - tAppeal.setAuditTime(LocalDateTime.now()); - tAppeals2.add(tAppeal); - } - appealService.saveBatch(tAppeals2); - List<TAppeal> tAppeals3 = new ArrayList<>(); - for (int i = 0; i < 25; i++) { - TAppeal tAppeal = new TAppeal(); - tAppeal.setTaskId("1938536771253641217"); - tAppeal.setAppealPerson("152"); - tAppeal.setStatus(4); - tAppeal.setAppealContent("申诉"); - tAppeal.setPictures("https://bjxj.oss-cn-guangzhou.aliyuncs.com/bjxj/88d2d5614fe6492bba5666a7ab01e76b.png"); - - tAppeals3.add(tAppeal); - - } - appealService.saveBatch(tAppeals3); +// List<TAppeal> tAppeals = new ArrayList<>(); +// for (int i = 0; i < 25; i++) { +// TAppeal tAppeal = new TAppeal(); +// tAppeal.setTaskId("1938536771253641217"); +// tAppeal.setAppealPerson("152"); +// tAppeal.setStatus(1); +// tAppeal.setAppealContent("申诉"); +// tAppeal.setPictures("https://bjxj.oss-cn-guangzhou.aliyuncs.com/bjxj/88d2d5614fe6492bba5666a7ab01e76b.png"); +// tAppeals.add(tAppeal); +// } +// appealService.saveBatch(tAppeals); +// List<TAppeal> tAppeals1 = new ArrayList<>(); +// for (int i = 0; i < 25; i++) { +// TAppeal tAppeal = new TAppeal(); +// tAppeal.setTaskId("1938536771253641217"); +// tAppeal.setAppealPerson("152"); +// tAppeal.setStatus(2); +// tAppeal.setAppealContent("申诉"); +// tAppeal.setPictures("https://bjxj.oss-cn-guangzhou.aliyuncs.com/bjxj/88d2d5614fe6492bba5666a7ab01e76b.png"); +// tAppeal.setAuditPerson("162"); +// tAppeal.setAuditRemark("备注"); +// tAppeal.setAuditTime(LocalDateTime.now()); +// tAppeals1.add(tAppeal); +// } +// appealService.saveBatch(tAppeals1); +// List<TAppeal> tAppeals2 = new ArrayList<>(); +// for (int i = 0; i < 25; i++) { +// TAppeal tAppeal = new TAppeal(); +// tAppeal.setTaskId("1938536771253641217"); +// tAppeal.setAppealPerson("152"); +// tAppeal.setStatus(3); +// tAppeal.setAppealContent("申诉"); +// tAppeal.setPictures("https://bjxj.oss-cn-guangzhou.aliyuncs.com/bjxj/88d2d5614fe6492bba5666a7ab01e76b.png"); +// tAppeal.setAuditPerson("162"); +// tAppeal.setAuditRemark("备注"); +// tAppeal.setAuditTime(LocalDateTime.now()); +// tAppeals2.add(tAppeal); +// } +// appealService.saveBatch(tAppeals2); +// List<TAppeal> tAppeals3 = new ArrayList<>(); +// for (int i = 0; i < 25; i++) { +// TAppeal tAppeal = new TAppeal(); +// tAppeal.setTaskId("1938536771253641217"); +// tAppeal.setAppealPerson("152"); +// tAppeal.setStatus(4); +// tAppeal.setAppealContent("申诉"); +// tAppeal.setPictures("https://bjxj.oss-cn-guangzhou.aliyuncs.com/bjxj/88d2d5614fe6492bba5666a7ab01e76b.png"); +// +// tAppeals3.add(tAppeal); +// +// } +// appealService.saveBatch(tAppeals3); return R.ok(); } @@ -259,11 +264,15 @@ taskDetailVO.setLocationIcon(byId2.getLocationIcon()); taskDetailVO.setLocationName(byId2.getLocationName()); TTaskDetail tTaskDetail = list.stream().filter(e -> e.getHandleType() == 1).findFirst().orElse(null); + TTaskDetail tTaskDetailFinish = list.stream().filter(e -> e.getHandleType() == 2).findFirst().orElse(null); if (tTaskDetail!=null && tTaskDetail.getUnqualified()!=null){ TDictData byId3 = dictDataService.getById(tTaskDetail.getUnqualified()); if (byId3!=null){ tTaskDetail.setUnqualifiedName(byId3.getDataContent()); } + } + if (tTaskDetailFinish!=null){ + tTaskDetailFinish.setFinishTime(tTaskDetailFinish.getCreateTime()); } taskDetailVO.setTaskDetail(tTaskDetail); taskDetailVO.setRecords(list); @@ -415,7 +424,7 @@ Long userRole = sysUserService.getUserRole(userId); SysRole sysRole = roleService.selectRoleById(userRole); List<SysUser> sysUsers = sysUserService.selectAllList(); - + sysRole.setRoleName("项目负责人"); SysUser auditPerson = sysUserService.selectUserById(999L); //项目负责人、部门负责人、公司成员提交由最终审批人审批; if (user.getDeptType()==2 ||sysRole.getRoleName().contains("项目负责人")||sysRole.getRoleName().contains("部门负责人")){ @@ -503,6 +512,7 @@ leaveDTO.setTemplateId(user.getTemplateId()); leaveDTO.setLeavePerson(userId+""); leaveService.save(leaveDTO); + sysRole.setRoleName("项目负责人"); //项目负责人、部门负责人、公司成员提交由最终审批人审批; if (user.getDeptType()==2 ||sysRole.getRoleName().contains("项目负责人")||sysRole.getRoleName().contains("部门负责人")){ TLeaveAudit tLeaveAudit1 = new TLeaveAudit(); @@ -577,6 +587,7 @@ SysUser sysUser = sysUserService.selectUserById(Long.parseLong(leave.getLeavePerson())); Long userRole = sysUserService.getUserRole(sysUser.getUserId()); SysRole sysRole = roleService.selectRoleById(userRole); + sysRole.setRoleName("项目负责人"); if (sysRole.getRoleName().contains("现场负责人")||sysRole.getRoleName().equals("组长")){ if (sysUser.getDeptType() == 1){ TProjectDept tProjectDept = projectDeptService.getById(sysUser.getDeptId()); @@ -601,7 +612,7 @@ leaveUserDetailVO.setLeavePersonName(sysUser.getNickName()); LeaveAuditListVO leaveAuditListVO = new LeaveAuditListVO(); List<TLeaveAudit> list = leaveAuditService.list(new LambdaQueryWrapper<TLeaveAudit>() - .eq(TLeaveAudit::getAuditId, leave.getId())); + .eq(TLeaveAudit::getLeaveId, leave.getId())); for (TLeaveAudit tLeaveAudit : list) { if (tLeaveAudit.getAuditType()==1){ LeaveAuditVO leaveAuditVO = new LeaveAuditVO(); diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java index a80a59d..d28cc0f 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java @@ -68,7 +68,7 @@ ajax.put(Constants.TOKEN, tokenService.createTokenApplet(loginUser)); ajax.put("userInfo",loginUser); ajax.put("roleName",loginUser.getRoleName()); - ajax.put("deptType",loginUser.getRoleName()); + ajax.put("deptType",loginUser.getDeptType()); return ajax; } /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/applet/dto/AppealDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/applet/dto/AppealDTO.java new file mode 100644 index 0000000..70226e7 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/applet/dto/AppealDTO.java @@ -0,0 +1,13 @@ +package com.ruoyi.system.applet.dto; + +import com.ruoyi.common.core.domain.BasePage; +import com.ruoyi.system.model.TAppeal; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "任务申诉DTO") +public class AppealDTO extends TAppeal { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/applet/query/NoticeListQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/applet/query/NoticeListQuery.java new file mode 100644 index 0000000..0d2eb9e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/applet/query/NoticeListQuery.java @@ -0,0 +1,15 @@ +package com.ruoyi.system.applet.query; + +import com.ruoyi.common.core.domain.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "消息通知分页列表query") +public class NoticeListQuery extends BasePage { + + @ApiModelProperty(value = "用户id 前端忽略") + private String userId; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/applet/vo/NoticeListVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/applet/vo/NoticeListVO.java new file mode 100644 index 0000000..f187eb7 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/applet/vo/NoticeListVO.java @@ -0,0 +1,17 @@ +package com.ruoyi.system.applet.vo; + +import com.ruoyi.system.model.TNotice; +import com.ruoyi.system.model.TTask; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel(value = "消息通知列表分页VO") +public class NoticeListVO extends TNotice { + + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/applet/vo/TaskUserListVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/applet/vo/TaskUserListVO.java index 06edcbe..e3fd6d6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/applet/vo/TaskUserListVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/applet/vo/TaskUserListVO.java @@ -13,6 +13,10 @@ @ApiModelProperty(value = "点位名称") private String locationName; + @ApiModelProperty(value = "点位地址开始") + private String locationAddress; + @ApiModelProperty(value = "点位地址结束") + private String locationAddressEnd; @ApiModelProperty(value = "点位类型名称") private String locationTypeName; @ApiModelProperty(value = "点位类型图标") diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/applet/vo/UserIndexVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/applet/vo/UserIndexVO.java index 17b8dea..d25e084 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/applet/vo/UserIndexVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/applet/vo/UserIndexVO.java @@ -8,7 +8,7 @@ import java.math.BigDecimal; @Data -@ApiModel(value = "个人中心-任务记录列表分页VO") +@ApiModel(value = "个人中心-首页顶部VO") public class UserIndexVO { @ApiModelProperty(value = "头像") diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TNoticeMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TNoticeMapper.java new file mode 100644 index 0000000..ab8a133 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TNoticeMapper.java @@ -0,0 +1,23 @@ +package com.ruoyi.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.system.applet.query.NoticeListQuery; +import com.ruoyi.system.applet.vo.NoticeListVO; +import com.ruoyi.system.model.TNotice; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * <p> + * 项目组组员 Mapper 接口 + * </p> + * + * @author 无关风月 + * @since 2025-04-12 + */ +public interface TNoticeMapper extends BaseMapper<TNotice> { + + List<NoticeListVO> noticeList(@Param("query")NoticeListQuery query, @Param("pageInfo")PageInfo<NoticeListVO> pageInfo); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TNotice.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TNotice.java new file mode 100644 index 0000000..559dcf3 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TNotice.java @@ -0,0 +1,101 @@ +package com.ruoyi.system.model; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.ruoyi.common.core.domain.BaseModel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 菌种报告库 + * </p> + * + * @author 无关风月 + * @since 2025-04-12 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("t_notice") +@ApiModel(value="TNotice对象", description="消息通知") +public class TNotice implements Serializable { + + private static final long serialVersionUID = 2553749188490103197L; + + @ApiModelProperty(value = "主键id") + @TableId("id") + private String id; + @ApiModelProperty(value = "消息所属人员id") + @TableField("user_id") + private String userId; + @ApiModelProperty(value = "消息内容") + @TableField("notice_content") + private String noticeContent; + @ApiModelProperty(value = "状态 1=未读2=已读") + @TableField("status") + private Integer status; + @ApiModelProperty(value = "对应内容id") + @TableField("data_id") + private String dataId; + @ApiModelProperty(value = "消息类型\n" + + "1任务驳回通知\n" + + "2任务审核通过通知\n" + + "3超时任务通知\n" + + "4任务申诉驳回通知\n" + + "5任务申诉通过通知\n" + + "6待审核通知\n" + + "7抄送通知\n" + + "8督察任务整改通知") + @TableField("notice_type") + private Integer noticeType; + @ApiModelProperty(value = "消息通知类型 1短信 2邮件 3微信订阅消息") + @TableField("notice_set_type") + private Integer noticeSetType; + + public static final String ID = "id"; + + public static final String CREATE_TIME = "create_time"; + + public static final String LAST_TIME = "last_time"; + + /** + * 新增执行 + */ + @ApiModelProperty(value = "记录创建人,前端忽略") + @TableField(value = "create_by", fill = FieldFill.INSERT) + private String createBy; + + /** + * 新增和更新执行 + */ + @ApiModelProperty(value = "记录修改人,前端忽略") + @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) + private String updateBy; + /** + * 删除 未删除 + */ + @JsonIgnore + @TableField("`disabled`") + @TableLogic + private Boolean disabled; + + @ApiModelProperty(value = "记录创建时间,前端忽略") + @TableField("create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + private LocalDateTime createTime; + + /** + * 最后修改时间 + */ + @ApiModelProperty(value = "记录修改时间,前端忽略") + @TableField("update_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + private LocalDateTime updateTime; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TTaskDetail.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TTaskDetail.java index e47a3a6..e9b0864 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TTaskDetail.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TTaskDetail.java @@ -70,6 +70,10 @@ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @TableField("audit_time") private LocalDateTime auditTime; + @ApiModelProperty(value = "完成时间") + @TableField(exist = false) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime finishTime; @ApiModelProperty(value = "审核状态1通过2驳回") @TableField("audit_status") diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TNoticeService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TNoticeService.java new file mode 100644 index 0000000..c406b58 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TNoticeService.java @@ -0,0 +1,20 @@ +package com.ruoyi.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.system.applet.query.NoticeListQuery; +import com.ruoyi.system.applet.vo.NoticeListVO; +import com.ruoyi.system.model.TNotice; + +/** + * <p> + * 项目组组员 服务类 + * </p> + * + * @author 无关风月 + * @since 2025-04-12 + */ +public interface TNoticeService extends IService<TNotice> { + + PageInfo<NoticeListVO> noticeList(NoticeListQuery query); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TNoticeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TNoticeServiceImpl.java new file mode 100644 index 0000000..0eb1afb --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TNoticeServiceImpl.java @@ -0,0 +1,33 @@ +package com.ruoyi.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.system.applet.query.NoticeListQuery; +import com.ruoyi.system.applet.vo.NoticeListVO; +import com.ruoyi.system.mapper.TNoticeMapper; +import com.ruoyi.system.model.TNotice; +import com.ruoyi.system.service.TNoticeService; +import com.ruoyi.system.vo.system.ProjectDeptListVO; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * <p> + * 项目组组员 服务实现类 + * </p> + * + * @author 无关风月 + * @since 2025-04-12 + */ +@Service +public class TNoticeServiceImpl extends ServiceImpl<TNoticeMapper, TNotice> implements TNoticeService { + + @Override + public PageInfo<NoticeListVO> noticeList(NoticeListQuery query) { + PageInfo<NoticeListVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); + List<NoticeListVO> list = this.baseMapper.noticeList(query,pageInfo); + pageInfo.setRecords(list); + return pageInfo; + } +} diff --git a/ruoyi-system/src/main/resources/mapper/system/TNoticeMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TNoticeMapper.xml new file mode 100644 index 0000000..d61a8cb --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/TNoticeMapper.xml @@ -0,0 +1,13 @@ +<?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.ruoyi.system.mapper.TNoticeMapper"> + + + <select id="noticeList" resultType="com.ruoyi.system.applet.vo.NoticeListVO"> + select t1.* from + t_notice t1 + where t1.user_id = #{query.userId} + and t1.`disabled` = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} + + </select> +</mapper> diff --git a/ruoyi-system/src/main/resources/mapper/system/TTaskMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TTaskMapper.xml index fc4a53e..5465914 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TTaskMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TTaskMapper.xml @@ -62,10 +62,13 @@ </select> <select id="pageListUser" resultType="com.ruoyi.system.applet.vo.TaskUserListVO"> select t1.*,t2.location_name as locationName,t3.location_name as locationTypeName, + t2.location_address as locationAddress, + t2.location_address_end as locationAddressEnd, t3.location_icon as locatioTypeIcon, t5.clear_status as clearStatus, t4.nick_name as patrolInspectorName, t4.phonenumber as phonenumber, + ROUND( 6378.138 * 2 * ASIN( SQRT( @@ -91,23 +94,24 @@ left join t_location t2 on t1.location_id = t2.id left join t_location_type t3 on t2.location_type = t3.id left join sys_user t4 on t1.patrol_inspector = t4.user_id - LEFT JOIN (SELECT t1.* + LEFT JOIN ( + SELECT t1.* FROM t_task_detail t1 - JOIN ( - SELECT task_id, MAX(create_time) AS max_time + JOIN (SELECT task_id, MAX(create_time) AS max_time FROM t_task_detail - GROUP BY task_id - ) AS t2 ON t1.task_id = t2.task_id AND t1.create_time = t2.max_time + GROUP BY task_id) AS t2 ON t1.task_id = t2.task_id AND t1.create_time = t2.max_time + where 1=1 + <if test="query.clearStatus != null"> + and t1.clear_status = #{query.clearStatus} + </if> ) t5 on t1.id = t5.task_id where 1=1 and t1.`disabled` = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} - <if test="query.clearStatus != null"> - and t2.status = #{query.clearStatus} - </if> + <if test="query.userId != null and query.userId != ''"> and t1.patrol_inspector = #{query.userId} </if> - <if test="query.startTime != null and startTime != ''"> + <if test="query.startTime != null and query.startTime != ''"> and (t1.implement_time between #{query.startTime} and #{query.endTime}) </if> </select> -- Gitblit v1.7.1