ard-work/src/main/java/com/ruoyi/app/position/controller/ArdAppPositionController.java
@@ -166,6 +166,16 @@ List<SysUser> offLineList=new ArrayList<>(); for(SysUser sysUser:list) { ArdAppPosition ardAppPosition = ardAppPositionService.selectLastArdAppPositionByUserId(sysUser.getUserId()); if(ardAppPosition!=null) { Map<String, Object> params =new HashMap<>(); params.put("longitude", ardAppPosition.getLongitude()); params.put("lagitude", ardAppPosition.getLatitude()); params.put("altitude", ardAppPosition.getAltitude()); params.put("bearing", ardAppPosition.getBearing()); sysUser.setParams(params); } Boolean online = rongCloudService.checkOnline(sysUser.getUserId()); if(online) { ard-work/src/main/java/com/ruoyi/app/position/mapper/ArdAppPositionMapper.java
@@ -19,7 +19,14 @@ * @return app位置 */ public ArdAppPosition selectArdAppPositionById(String id); /** * 按用户id查询最后的位置信息 * * @param userId app用户主键 * @return app位置 */ public ArdAppPosition selectLastArdAppPositionByUserId(String userId); /** * 查询app位置列表 * ard-work/src/main/java/com/ruoyi/app/position/service/IArdAppPositionService.java
@@ -19,7 +19,13 @@ * @return app位置 */ public ArdAppPosition selectArdAppPositionById(String id); /** * 按用户id查询最后的位置信息 * * @param userId app用户主键 * @return app位置 */ public ArdAppPosition selectLastArdAppPositionByUserId(String userId); /** * 查询app位置列表 * ard-work/src/main/java/com/ruoyi/app/position/service/impl/ArdAppPositionServiceImpl.java
@@ -32,7 +32,16 @@ public ArdAppPosition selectArdAppPositionById(String id) { return ardAppPositionMapper.selectArdAppPositionById(id); } /** * 按用户id查询最后的位置信息 * * @param userId app用户主键 * @return app位置 */ @Override public ArdAppPosition selectLastArdAppPositionByUserId(String userId){ return ardAppPositionMapper.selectLastArdAppPositionByUserId(userId); } /** * 查询app位置列表 * ard-work/src/main/java/com/ruoyi/app/task/controller/ArdAppTaskController.java
@@ -51,7 +51,6 @@ @PreAuthorize("@ss.hasPermi('app:task:list')") @GetMapping("/listWithDetail") public TableDataInfo userlist(ArdAppTask ardAppTask) { startPage(); List<ArdAppTask> ardAppTasks = ardAppTaskService.selectArdAppTaskListWithDetail(ardAppTask); return getDataTable(ardAppTasks); } ard-work/src/main/java/com/ruoyi/app/task/domain/ArdAppTaskDetail.java
@@ -54,9 +54,35 @@ @Excel(name = "任务ID") private String taskId; /** * 状态(0未完成 1已完成) */ @Excel(name = "状态", readConverterExp = "0=未完成,1=已完成") private String status; /** 打卡图片url */ @Excel(name = "打卡图片url") private String clockInPicUrl; /** app任务详情图片信息 */ private List<ArdAppTaskDetailPic> ardAppTaskDetailPic; public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getClockInPicUrl() { return clockInPicUrl; } public void setClockInPicUrl(String clockInPicUrl) { this.clockInPicUrl = clockInPicUrl; } public List<ArdAppTaskDetailPic> getArdAppTaskDetailPic() { return ardAppTaskDetailPic; } ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java
@@ -1,6 +1,8 @@ package com.ruoyi.app.task.service.impl; import java.util.List; import com.github.pagehelper.PageHelper; import com.ruoyi.app.task.domain.ArdAppTaskDetail; import com.ruoyi.app.taskdetail.domain.ArdAppTaskDetailPic; import com.ruoyi.app.tasktext.domain.ArdAppTaskText; @@ -9,7 +11,9 @@ import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.uuid.IdUtils; import org.springframework.stereotype.Service; import java.util.ArrayList; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.SecurityUtils; import org.springframework.transaction.annotation.Transactional; @@ -17,6 +21,7 @@ import com.ruoyi.app.task.mapper.ArdAppTaskMapper; import com.ruoyi.app.task.domain.ArdAppTask; import com.ruoyi.app.task.service.IArdAppTaskService; import javax.annotation.Resource; /** @@ -54,6 +59,7 @@ public List<ArdAppTask> selectArdAppTaskList(ArdAppTask ardAppTask) { return ardAppTaskMapper.selectArdAppTaskList(ardAppTask); } /** * 查询app任务详情管理列表 * @@ -63,7 +69,31 @@ @Override public List<ArdAppTask> selectArdAppTaskListWithDetail(ArdAppTask ardAppTask) { ardAppTask.setUserId(SecurityUtils.getUserId()); return ardAppTaskMapper.selectArdAppTaskListWithDetail(ardAppTask); List<ArdAppTask> list1 = ardAppTaskMapper.selectArdAppTaskListWithDetail(ardAppTask); List<ArdAppTask>list=new ArrayList<>(); list.addAll(list1); return list; // boolean flag=false; // List<ArdAppTask> ardAppTasks = ardAppTaskMapper.selectArdAppTaskList(ardAppTask); // ardAppTask.setUserId(SecurityUtils.getUserId()); // List<ArdAppTask> ardAppTasksNew=new ArrayList<>(); // for (ArdAppTask appTask : ardAppTasks) { // ArdAppTask task = ardAppTaskMapper.selectArdAppTaskById(appTask.getId()); // List<ArdAppTaskDetail> ardAppTaskDetailListNew = new ArrayList<>(); // List<ArdAppTaskDetail> ardAppTaskDetailList = task.getArdAppTaskDetailList(); // for (ArdAppTaskDetail appTaskDetail : ardAppTaskDetailList) { // if (appTaskDetail.getUserId().equals(ardAppTask.getUserId())) { // ardAppTaskDetailListNew.add(appTaskDetail); // flag=true; // } // } // if(flag) { // appTask.setArdAppTaskDetailList(ardAppTaskDetailListNew); // ardAppTasksNew.add(appTask); // } // flag=false; // } // return ardAppTasksNew; } /** @@ -166,6 +196,7 @@ List<ArdAppTaskDetail> list = new ArrayList<ArdAppTaskDetail>(); for (ArdAppTaskDetail ardAppTaskDetail : ardAppTaskDetailList) { ardAppTaskDetail.setId(IdUtils.simpleUUID()); ardAppTaskDetail.setStatus("0"); ardAppTaskDetail.setTaskId(id); ardAppTaskDetail.setUserId(userId); list.add(ardAppTaskDetail); @@ -185,8 +216,7 @@ public void insertArdAppTaskText(ArdAppTask ardAppTask) { String userId = ardAppTask.getUserId(); String text = ardAppTask.getText(); if(StringUtils.isEmpty(text)) { if (StringUtils.isEmpty(text)) { return; } ArdAppTaskText ardAppTaskText = new ArdAppTaskText(); ard-work/src/main/resources/mapper/app/ArdAppPositionMapper.xml
@@ -29,7 +29,12 @@ <include refid="selectArdAppPositionVo"/> where id = #{id} </select> <select id="selectLastArdAppPositionByUserId" parameterType="String" resultMap="ArdAppPositionResult"> <include refid="selectArdAppPositionVo"/> where user_id = #{userId} order by create_time desc limit 1 </select> <insert id="insertArdAppPosition" parameterType="ArdAppPosition"> insert into ard_app_position <trim prefix="(" suffix=")" suffixOverrides=","> ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
@@ -32,6 +32,8 @@ <result property="text" column="sub1_text"/> <result property="voice" column="sub1_voice"/> <result property="taskId" column="sub1_task_id"/> <result property="status" column="sub1_status"/> <result property="clockInPicUrl" column="sub1_clock_in_pic_url"/> </resultMap> <resultMap type="ArdAppTaskPic" id="ArdAppTaskPicResult"> <result property="id" column="sub2_id"/> @@ -69,6 +71,13 @@ <if test="name != null and name != ''">and name like '%'||#{name}||'%'</if> <if test="text != null and text != ''">and text = #{text}</if> <if test="voice != null and voice != ''">and voice = #{voice}</if> <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 --> and create_time >= to_timestamp(#{params.beginTime},'yyyy-MM-DD HH24:MI:ss') </if> <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 --> and create_time <= to_timestamp(#{params.endTime},'yyyy-MM-DD HH24:MI:ss') </if> <if test="userId != null and userId != ''">and user_id = #{userId}</if> <!-- 数据范围过滤 --> ${params.dataScope} </where> @@ -94,11 +103,19 @@ c.altitude as sub1_altitude, c.user_id as sub1_user_id, c.text as sub1_text, c.voice as sub1_voice c.voice as sub1_voice, c.status as sub1_status, c.clock_in_pic_url as sub1_clock_in_pic_url from ard_app_task a left join ard_app_task_pic b on b.task_id = a.id left join ard_app_task_detail c on c.task_id = a.id where c.user_id = #{userId} <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 --> and a.create_time >= to_timestamp(#{params.beginTime},'yyyy-MM-DD HH24:MI:ss') </if> <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 --> and a.create_time <= to_timestamp(#{params.endTime},'yyyy-MM-DD HH24:MI:ss') </if> </select> <select id="selectArdAppTaskById" parameterType="String" resultMap="ArdAppTaskSubResult"> select a.id, @@ -163,7 +180,9 @@ c.altitude as sub_altitude, c.user_id as sub_user_id, c.text as sub_text, c.voice as sub_voice c.voice as sub_voice, c.status as sub_status, c.clock_in_pic_url as sub_clock_in_pic_url from ard_app_task a left join ard_app_task_detail c on c.task_id = a.id where a.id = #{id} @@ -260,16 +279,18 @@ </delete> <insert id="batchArdAppTaskDetail"> insert into ard_app_task_detail( id, name, longitude, latitude, altitude, user_id, text, voice, task_id) values insert into ard_app_task_detail( id, name, longitude, latitude, altitude, user_id, text, voice, task_id,status,clock_in_pic_url) values <foreach item="item" index="index" collection="list" separator=","> ( #{item.id}, #{item.name}, #{item.longitude}, #{item.latitude}, #{item.altitude}, #{item.userId}, #{item.text}, #{item.voice}, #{item.taskId}) #{item.text}, #{item.voice}, #{item.taskId}, #{item.status}, #{item.clockInPicUrl}) </foreach> </insert> <update id="updateArdAppTaskDetail" parameterType="ArdAppTaskDetail"> update ard_app_task_detail <trim prefix="SET" suffixOverrides=","> <if test="status != null">status = #{status},</if> <if test="clockInPicUrl != null">clock_in_pic_url = #{clockInPicUrl},</if> <if test="text != null">text = #{text},</if> <if test="voice != null">voice = #{voice},</if> </trim> ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
@@ -140,6 +140,7 @@ */ private String rongCloudToken; public SysUser() { }