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

安检量统计微信接口

parent c4e5df81
......@@ -279,4 +279,15 @@ public class TTaskInspectController extends BaseController
ExcelUtil<InspectNumStatisticByInspectorExportVo> util = new ExcelUtil<>(InspectNumStatisticByInspectorExportVo.class);
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 {
@Excel(name="姓名")
private String inspector;
/** 待安检单数 */
@Excel(name="待安检单数")
//@Excel(name="待安检单数")
private String noInspectNum;
/** 正常安检 */
@Excel(name="正常安检")
......
......@@ -114,4 +114,11 @@ public interface TTaskInspectMapper
* @return
*/
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;
import java.util.List;
import java.util.Map;
import com.zehong.system.domain.TTaskInspect;
import com.zehong.system.domain.vo.InspectNumStatisticByInspectorExportVo;
import com.zehong.system.domain.vo.UserTaskInspect;
import com.zehong.system.domain.vo.Userinstpect;
import java.util.List;
import java.util.Map;
/**
* 安检任务执行Service接口
*
......@@ -113,4 +113,12 @@ public interface ITTaskInspectService
* @return
*/
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;
import com.zehong.system.domain.TTaskInspect;
import com.zehong.system.service.ITTaskInspectService;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
/**
* 安检任务执行Service业务层处理
......@@ -228,8 +229,8 @@ public class TTaskInspectServiceImpl implements ITTaskInspectService
public List<Map<String,Object>> inspectNumStatisticByInspector(Map<String,String> param){
//根据安检人和安检任务汇总
List<Map<String,Object>> statisticResult = tTaskInspectMapper.inspectNumStatisticByInspector(param);
//根据任务汇总同一个任务下的安检数量汇总并计算未安检量
statisticNoInspectNum(statisticResult,param);
//根据任务汇总同一个任务下的安检数量汇总并计算未安检量(2026-03-10 pc端去掉未安检数)
//statisticNoInspectNum(statisticResult,param);
//根据安检人汇总安检量
return statisticInspectByInspector(statisticResult);
}
......@@ -335,4 +336,24 @@ public class TTaskInspectServiceImpl implements ITTaskInspectService
}
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"
</where>
GROUP BY inspect.member_id,inspect.task_id;
</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>
\ No newline at end of file
......@@ -69,7 +69,7 @@
<el-table v-loading="loading" :data="inspectStatisticInfoList">
<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="refuseInspectNum"/>
<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