Commit ac1ebe82 authored by 耿迪迪's avatar 耿迪迪

安检量统计微信接口

parent c4e5df81
...@@ -279,4 +279,15 @@ public class TTaskInspectController extends BaseController ...@@ -279,4 +279,15 @@ public class TTaskInspectController extends BaseController
ExcelUtil<InspectNumStatisticByInspectorExportVo> util = new ExcelUtil<>(InspectNumStatisticByInspectorExportVo.class); ExcelUtil<InspectNumStatisticByInspectorExportVo> util = new ExcelUtil<>(InspectNumStatisticByInspectorExportVo.class);
return util.exportExcel(list, "安检量统计数据"); return util.exportExcel(list, "安检量统计数据");
} }
/**
* 微信安检量统计
* @param param 入参
* @return
*/
@PostMapping("/inspectNumStatisticByInspectorForWeiXin")
public AjaxResult inspectNumStatisticByInspectorForWeiXin(@RequestBody Map<String,String> param){
return AjaxResult.success(tTaskInspectService.inspectNumStatisticByInspector(param));
}
} }
...@@ -11,7 +11,7 @@ public class InspectNumStatisticByInspectorExportVo { ...@@ -11,7 +11,7 @@ public class InspectNumStatisticByInspectorExportVo {
@Excel(name="姓名") @Excel(name="姓名")
private String inspector; private String inspector;
/** 待安检单数 */ /** 待安检单数 */
@Excel(name="待安检单数") //@Excel(name="待安检单数")
private String noInspectNum; private String noInspectNum;
/** 正常安检 */ /** 正常安检 */
@Excel(name="正常安检") @Excel(name="正常安检")
......
...@@ -114,4 +114,11 @@ public interface TTaskInspectMapper ...@@ -114,4 +114,11 @@ public interface TTaskInspectMapper
* @return * @return
*/ */
List<Map<String,Object>> inspectNumStatisticByInspector(Map<String,String> param); List<Map<String,Object>> inspectNumStatisticByInspector(Map<String,String> param);
/**
* 根据任务安检量统计
* @param param 入参
* @return
*/
Map<String,Object> inspectNumStatisticByTask(Map<String,String> param);
} }
package com.zehong.system.service; package com.zehong.system.service;
import java.util.List;
import java.util.Map;
import com.zehong.system.domain.TTaskInspect; import com.zehong.system.domain.TTaskInspect;
import com.zehong.system.domain.vo.InspectNumStatisticByInspectorExportVo; import com.zehong.system.domain.vo.InspectNumStatisticByInspectorExportVo;
import com.zehong.system.domain.vo.UserTaskInspect; import com.zehong.system.domain.vo.UserTaskInspect;
import com.zehong.system.domain.vo.Userinstpect; import com.zehong.system.domain.vo.Userinstpect;
import java.util.List;
import java.util.Map;
/** /**
* 安检任务执行Service接口 * 安检任务执行Service接口
* *
...@@ -113,4 +113,12 @@ public interface ITTaskInspectService ...@@ -113,4 +113,12 @@ public interface ITTaskInspectService
* @return * @return
*/ */
List<InspectNumStatisticByInspectorExportVo> inspectNumStatisticByInspectorExport(Map<String,String> param); List<InspectNumStatisticByInspectorExportVo> inspectNumStatisticByInspectorExport(Map<String,String> param);
/**
* 微信安检量统计
* @param param 入参
* @return
*/
Map<String,Object> inspectNumStatisticByInspectorForWeiXin(Map<String,String> param);
} }
...@@ -22,6 +22,7 @@ import com.zehong.system.mapper.TTaskInspectMapper; ...@@ -22,6 +22,7 @@ import com.zehong.system.mapper.TTaskInspectMapper;
import com.zehong.system.domain.TTaskInspect; import com.zehong.system.domain.TTaskInspect;
import com.zehong.system.service.ITTaskInspectService; import com.zehong.system.service.ITTaskInspectService;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
/** /**
* 安检任务执行Service业务层处理 * 安检任务执行Service业务层处理
...@@ -228,8 +229,8 @@ public class TTaskInspectServiceImpl implements ITTaskInspectService ...@@ -228,8 +229,8 @@ public class TTaskInspectServiceImpl implements ITTaskInspectService
public List<Map<String,Object>> inspectNumStatisticByInspector(Map<String,String> param){ public List<Map<String,Object>> inspectNumStatisticByInspector(Map<String,String> param){
//根据安检人和安检任务汇总 //根据安检人和安检任务汇总
List<Map<String,Object>> statisticResult = tTaskInspectMapper.inspectNumStatisticByInspector(param); List<Map<String,Object>> statisticResult = tTaskInspectMapper.inspectNumStatisticByInspector(param);
//根据任务汇总同一个任务下的安检数量汇总并计算未安检量 //根据任务汇总同一个任务下的安检数量汇总并计算未安检量(2026-03-10 pc端去掉未安检数)
statisticNoInspectNum(statisticResult,param); //statisticNoInspectNum(statisticResult,param);
//根据安检人汇总安检量 //根据安检人汇总安检量
return statisticInspectByInspector(statisticResult); return statisticInspectByInspector(statisticResult);
} }
...@@ -335,4 +336,24 @@ public class TTaskInspectServiceImpl implements ITTaskInspectService ...@@ -335,4 +336,24 @@ public class TTaskInspectServiceImpl implements ITTaskInspectService
} }
return export; return export;
} }
/**
* 安检量统计
* @param param 入参
* @return
*/
@Override
public Map<String,Object> inspectNumStatisticByInspectorForWeiXin(Map<String,String> param){
Map<String,Object> result = new HashMap<>();
//根据安检人和安检任务汇总
List<Map<String,Object>> statisticResult = tTaskInspectMapper.inspectNumStatisticByInspector(param);
//根据任务汇总同一个任务下的安检数量汇总并计算未安检量(2026-03-10 pc端去掉未安检数)
//statisticNoInspectNum(statisticResult,param);
//根据安检人汇总安检量
List<Map<String,Object>> inspectorList = statisticInspectByInspector(statisticResult);
result.put("inspectStatisticInfo", CollectionUtils.isEmpty(inspectorList) ? new HashMap<>() : inspectorList.get(0));
result.put("taskStatisticInfo",tTaskInspectMapper.inspectNumStatisticByTask(param));
return result;
}
} }
...@@ -456,4 +456,66 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -456,4 +456,66 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where> </where>
GROUP BY inspect.member_id,inspect.task_id; GROUP BY inspect.member_id,inspect.task_id;
</select> </select>
<select id="inspectNumStatisticByTask" parameterType="Map" resultType="Map">
SELECT
sum(statistic.totalUserNum) AS totalUserNum,
sum(totalInspectNum) as totalInspectNum,
sum(statistic.totalUserNum) - sum(totalInspectNum) as noInspectNum
FROM(
SELECT
task.title,
IFNULL(user_counts.totalUserNum, 0) AS totalUserNum,
COUNT(DISTINCT inspect.id) AS totalInspectNum
FROM
t_task task
LEFT JOIN(
SELECT
i.id,
i.task_id,
i.member_id,
i. STATUS,
i.danger,
i.create_time,
i.receive_id
FROM
t_task_inspect i
INNER JOIN (
SELECT
receive_id,
MAX(id) AS max_id
FROM
t_task_inspect
WHERE
`status` != - 1
GROUP BY
receive_id
) latest ON i.id = latest.max_id
) inspect ON inspect.task_id = task.id
LEFT JOIN (
SELECT
relation.task_id,
COUNT(DISTINCT us.id) AS totalUserNum
FROM
t_task_relation_info relation
LEFT JOIN t_user us ON us.village = relation.relation_id
WHERE
relation.type = '1' and us.village = 108
GROUP BY
relation.task_id
) user_counts ON user_counts.task_id = task.id
LEFT JOIN t_task_relation_info relation ON relation.task_id = task.id and relation.type = '2'
LEFT JOIN t_group_member_info gr ON gr.group_id = relation.relation_id
<if test="village != null or street != null">
LEFT JOIN t_user u ON u.id = inspect.receive_id
</if>
<where>
task.status = 0
<if test="village != null"> and u.village = #{village}</if>
<if test="street != null"> and u.street = #{street}</if>
<if test="memberId != null"> and gr.user_id = #{memberId}</if>
</where>
GROUP BY task.id
)statistic
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
<el-table v-loading="loading" :data="inspectStatisticInfoList"> <el-table v-loading="loading" :data="inspectStatisticInfoList">
<el-table-column label="姓名" align="center" prop="inspector"/> <el-table-column label="姓名" align="center" prop="inspector"/>
<el-table-column label="待安检单数" align="center" prop="noInspectNum"/> <!--<el-table-column label="待安检单数" align="center" prop="noInspectNum"/>-->
<el-table-column label="正常安检" align="center" prop="normalInspectNum"/> <el-table-column label="正常安检" align="center" prop="normalInspectNum"/>
<el-table-column label="拒绝安检" align="center" prop="refuseInspectNum"/> <el-table-column label="拒绝安检" align="center" prop="refuseInspectNum"/>
<el-table-column label="燃气停用" align="center" prop="stopInspectNum"/> <el-table-column label="燃气停用" align="center" prop="stopInspectNum"/>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment