2023年6月19日 修复统计功能
This commit is contained in:
parent
a646537084
commit
59869baa6b
|
|
@ -0,0 +1,76 @@
|
||||||
|
package org.jeecg.modules.kc.grab.SynchronizationService;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.google.common.collect.Maps;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.compress.utils.Lists;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.jeecg.modules.kc.grab.SynchronizationService.base.BaseSync;
|
||||||
|
import org.jeecg.modules.kc.grab.SynchronizationService.tools.ChangeTingKeTongJi;
|
||||||
|
import org.jeecg.modules.kc.grab.imports.entity.Xxhbbkjxtkpj;
|
||||||
|
import org.jeecg.modules.kc.grab.imports.entity.Xxhbsynclog;
|
||||||
|
import org.jeecg.modules.kc.grab.imports.service.IXxhbbkjxtkpjService;
|
||||||
|
import org.jeecg.modules.kc.ktgl.entity.KcKetangbiao;
|
||||||
|
import org.jeecg.modules.kc.ktgl.service.IKcKetangbiaoService;
|
||||||
|
import org.jeecg.modules.kc.qa.entity.KcEvaluation;
|
||||||
|
import org.jeecg.modules.kc.qa.entity.KcEvaluations;
|
||||||
|
import org.jeecg.modules.kc.qa.service.IKcEvaluationService;
|
||||||
|
import org.jeecg.modules.kc.qa.service.IKcEvaluationansService;
|
||||||
|
import org.jeecg.modules.kc.qa.service.IKcEvaluationqueService;
|
||||||
|
import org.jeecg.modules.kc.qa.service.IKcEvaluationsService;
|
||||||
|
import org.quartz.JobExecutionContext;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 同步旧版本调查问卷
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
public class SyncTingKeTongJi extends BaseSync {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ChangeTingKeTongJi changeTingKeTongJi;
|
||||||
|
|
||||||
|
//----------------------------------旧系统------------------------------------------
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 若参数变量名修改 QuartzJobController中也需对应修改
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(JobExecutionContext jobExecutionContext) {
|
||||||
|
start();
|
||||||
|
run(getParamMap());
|
||||||
|
end();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 有参定时任务实现
|
||||||
|
* @param param
|
||||||
|
*/
|
||||||
|
public void run(Map<String, Object> param){
|
||||||
|
String xqxn = "";
|
||||||
|
if(param != null){
|
||||||
|
if(param.containsKey("xqxn")){
|
||||||
|
xqxn = (String)param.get("xqxn");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
changeTingKeTongJi.changeTingKeTongji(xqxn);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 无参定时任务实现
|
||||||
|
*/
|
||||||
|
public void run(){
|
||||||
|
run(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -14,6 +14,8 @@ import org.jeecg.modules.kc.grab.imports.entity.Xxhbuser;
|
||||||
import org.jeecg.modules.kc.grab.imports.service.IXxhbuserService;
|
import org.jeecg.modules.kc.grab.imports.service.IXxhbuserService;
|
||||||
import org.jeecg.modules.kc.kcSysConfig.entity.KcSysConfig;
|
import org.jeecg.modules.kc.kcSysConfig.entity.KcSysConfig;
|
||||||
import org.jeecg.modules.kc.kcSysConfig.service.IKcSysConfigService;
|
import org.jeecg.modules.kc.kcSysConfig.service.IKcSysConfigService;
|
||||||
|
import org.jeecg.modules.kc.kcXqxnHistory.entity.KcXqxnHistory;
|
||||||
|
import org.jeecg.modules.kc.kcXqxnHistory.service.IKcXqxnHistoryService;
|
||||||
import org.jeecg.modules.kc.qa.entity.KcEvaluation;
|
import org.jeecg.modules.kc.qa.entity.KcEvaluation;
|
||||||
import org.jeecg.modules.kc.qa.service.IKcEvaluationService;
|
import org.jeecg.modules.kc.qa.service.IKcEvaluationService;
|
||||||
import org.jeecg.modules.kc.tksf.kctkcstj.entity.KcTkcstj;
|
import org.jeecg.modules.kc.tksf.kctkcstj.entity.KcTkcstj;
|
||||||
|
|
@ -38,8 +40,7 @@ import java.util.Set;
|
||||||
public class ChangeTingKeTongJi {
|
public class ChangeTingKeTongJi {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IKcSysConfigService kcSysConfigService;
|
private IKcXqxnHistoryService kcXqxnHistoryService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IKcTkcstjService kcTkcstjService;
|
private IKcTkcstjService kcTkcstjService;
|
||||||
|
|
||||||
|
|
@ -49,29 +50,45 @@ public class ChangeTingKeTongJi {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IXxhbuserService xxhbuserService;
|
private IXxhbuserService xxhbuserService;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private IKcEvaluationService kcEvaluationService;//正在使用问题(回答主表)
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IKcTingkeService kcTingkeService;
|
private IKcTingkeService kcTingkeService;
|
||||||
|
|
||||||
public KcSysConfig getXqConfig(){
|
|
||||||
return kcSysConfigService.getById("1");
|
|
||||||
|
public KcXqxnHistory getXqConfig(){
|
||||||
|
return getXqConfig(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public KcXqxnHistory getXqConfig(String xqxn){
|
||||||
|
QueryWrapper<KcXqxnHistory> qw = new QueryWrapper<>();
|
||||||
|
qw.eq(StringUtils.isNotBlank(xqxn),"title",xqxn);
|
||||||
|
qw.orderByDesc("end_time");
|
||||||
|
qw.last("limit 1");
|
||||||
|
return kcXqxnHistoryService.getOne(qw);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void changeTingKeTongji(){
|
public void changeTingKeTongji(){
|
||||||
//全部
|
updateTingKeTongJiByUserId(null,null);
|
||||||
updateTingKeTongJiByUserId(null);
|
}
|
||||||
|
|
||||||
|
public void changeTingKeTongji(String xqxn){
|
||||||
|
updateTingKeTongJiByUserId(xqxn,null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateTingKeTongJiByUserId(String userId){
|
public void updateTingKeTongJiByUserId(String userId){
|
||||||
KcSysConfig common = getXqConfig();
|
updateTingKeTongJiByUserId(null,userId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateTingKeTongJiByUserId(String xqxnt, String userId){
|
||||||
|
KcXqxnHistory common = getXqConfig(xqxnt);
|
||||||
if(common != null) {
|
if(common != null) {
|
||||||
//Map<String, KcTkcstj> tongJiMap = Maps.newHashMap();
|
//Map<String, KcTkcstj> tongJiMap = Maps.newHashMap();
|
||||||
//清洗数据核心
|
//清洗数据核心
|
||||||
String startSj = common.getBxqkssj();
|
Date startSjDate = common.getStartTime();
|
||||||
String endSj = common.getBxqjssj();
|
Date endSjDate = common.getEndTime();
|
||||||
String xqxn = common.getFlag1();
|
String startSj = DateUtil.format(startSjDate,DatePattern.NORM_DATETIME_FORMAT);
|
||||||
|
String endSj = DateUtil.format(endSjDate,DatePattern.NORM_DATETIME_FORMAT);
|
||||||
|
String xqxn = common.getTitle();
|
||||||
|
|
||||||
Set<String> tjSet = Sets.newHashSet();
|
Set<String> tjSet = Sets.newHashSet();
|
||||||
//此法会造成数据变多,,改为新方法统计
|
//此法会造成数据变多,,改为新方法统计
|
||||||
|
|
@ -101,21 +118,19 @@ public class ChangeTingKeTongJi {
|
||||||
// }
|
// }
|
||||||
// });
|
// });
|
||||||
|
|
||||||
QueryWrapper<KcEvaluation> evaQw = new QueryWrapper<>();
|
QueryWrapper<KcTingke> evaQw = new QueryWrapper<>();
|
||||||
evaQw.select("count(upuserid) as pkNum,upuserid");
|
evaQw.select("count(userid) as pkNum,userid");
|
||||||
evaQw.eq(StringUtils.isNotBlank(userId),"upuserid",userId);
|
evaQw.eq(StringUtils.isNotBlank(userId),"userid",userId);
|
||||||
evaQw.apply("up_date >= STR_TO_DATE('"+ startSj +"', '%Y-%m-%d') ");
|
evaQw.apply("tingketime >= STR_TO_DATE('"+ startSj +"', '%Y-%m-%d') ");
|
||||||
evaQw.apply("up_date <= STR_TO_DATE('"+ endSj +"', '%Y-%m-%d') ");
|
evaQw.apply("tingketime <= STR_TO_DATE('"+ endSj +"', '%Y-%m-%d') ");
|
||||||
evaQw.isNotNull("minkcid");
|
evaQw.isNotNull("kechengbiaoid");
|
||||||
evaQw.groupBy("upuserid");
|
evaQw.groupBy("userid");
|
||||||
evaQw.orderByAsc("up_date");
|
evaQw.orderByAsc("tingketime");
|
||||||
List<KcEvaluation> countTjList = kcEvaluationService.list(evaQw);
|
List<KcTingke> countTjList = kcTingkeService.list(evaQw);
|
||||||
|
|
||||||
//Map<String, KcEvaluation> countTj = Maps.newHashMap();
|
//Map<String, KcEvaluation> countTj = Maps.newHashMap();
|
||||||
countTjList.forEach(x -> {
|
countTjList.forEach(x -> {
|
||||||
Integer ixuserId = x.getUpuserid();
|
tjSet.add(x.getUserid());
|
||||||
String xuserId = String.valueOf(ixuserId);
|
|
||||||
tjSet.add(xuserId);
|
|
||||||
//countTj.put(x.getUserid(),x);
|
//countTj.put(x.getUserid(),x);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -153,6 +168,8 @@ public class ChangeTingKeTongJi {
|
||||||
}else{
|
}else{
|
||||||
x.setTkyq(String.valueOf(xtkyq));
|
x.setTkyq(String.valueOf(xtkyq));
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
x.setZwmc(currentZwmc + "、" + x.getZwmc());
|
||||||
}
|
}
|
||||||
tksfMap.put(x.getGh(),x);
|
tksfMap.put(x.getGh(),x);
|
||||||
}else {
|
}else {
|
||||||
|
|
@ -189,8 +206,7 @@ public class ChangeTingKeTongJi {
|
||||||
countTjList.forEach(x-> {
|
countTjList.forEach(x-> {
|
||||||
KcTkcstj tj = new KcTkcstj();
|
KcTkcstj tj = new KcTkcstj();
|
||||||
//填充所在单位
|
//填充所在单位
|
||||||
Integer ixuserId = x.getUpuserid();
|
String xuserId = x.getUserid();
|
||||||
String xuserId = String.valueOf(ixuserId);
|
|
||||||
|
|
||||||
tj.setXnxq(xqxn);
|
tj.setXnxq(xqxn);
|
||||||
tj.setJgh(xuserId);
|
tj.setJgh(xuserId);
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,14 @@
|
||||||
package org.jeecg.modules.kc.qa.controller;
|
package org.jeecg.modules.kc.qa.controller;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.apache.shiro.SecurityUtils;
|
import org.apache.shiro.SecurityUtils;
|
||||||
|
|
@ -14,6 +17,7 @@ import org.jeecg.common.system.query.QueryGenerator;
|
||||||
import org.jeecg.common.system.vo.LoginUser;
|
import org.jeecg.common.system.vo.LoginUser;
|
||||||
import org.jeecg.modules.kc.grab.SynchronizationService.tools.ChangeTingKeTongJi;
|
import org.jeecg.modules.kc.grab.SynchronizationService.tools.ChangeTingKeTongJi;
|
||||||
import org.jeecg.modules.kc.kcSysConfig.entity.KcSysConfig;
|
import org.jeecg.modules.kc.kcSysConfig.entity.KcSysConfig;
|
||||||
|
import org.jeecg.modules.kc.kcXqxnHistory.entity.KcXqxnHistory;
|
||||||
import org.jeecg.modules.kc.qa.entity.KcEvaluation;
|
import org.jeecg.modules.kc.qa.entity.KcEvaluation;
|
||||||
import org.jeecg.modules.kc.qa.entity.KcEvaluationPkmx;
|
import org.jeecg.modules.kc.qa.entity.KcEvaluationPkmx;
|
||||||
import org.jeecg.modules.kc.qa.entity.KcEvaluations;
|
import org.jeecg.modules.kc.qa.entity.KcEvaluations;
|
||||||
|
|
@ -79,10 +83,12 @@ public class KcEvaluationController extends JeecgController<KcEvaluation, IKcEva
|
||||||
HttpServletRequest req) {
|
HttpServletRequest req) {
|
||||||
QueryWrapper<KcEvaluation> queryWrapper = QueryGenerator.initQueryWrapper(kcEvaluation, req.getParameterMap());
|
QueryWrapper<KcEvaluation> queryWrapper = QueryGenerator.initQueryWrapper(kcEvaluation, req.getParameterMap());
|
||||||
if(StringUtils.isNotBlank(kcEvaluation.getXnxq())){
|
if(StringUtils.isNotBlank(kcEvaluation.getXnxq())){
|
||||||
KcSysConfig common = changeTingKeTongJi.getXqConfig();
|
KcXqxnHistory common = changeTingKeTongJi.getXqConfig();
|
||||||
String startSj = common.getBxqkssj();
|
Date startSjDate = common.getStartTime();
|
||||||
String endSj = common.getBxqjssj();
|
Date endSjDate = common.getEndTime();
|
||||||
String xqxn = common.getFlag1();
|
String startSj = DateUtil.format(startSjDate, DatePattern.NORM_DATETIME_FORMAT);
|
||||||
|
String endSj = DateUtil.format(endSjDate,DatePattern.NORM_DATETIME_FORMAT);
|
||||||
|
String xqxn = common.getTitle();
|
||||||
if(StringUtils.equals(xqxn,kcEvaluation.getXnxq())){
|
if(StringUtils.equals(xqxn,kcEvaluation.getXnxq())){
|
||||||
queryWrapper.apply("up_date >= STR_TO_DATE('"+ startSj +"', '%Y-%m-%d') ");
|
queryWrapper.apply("up_date >= STR_TO_DATE('"+ startSj +"', '%Y-%m-%d') ");
|
||||||
queryWrapper.apply("up_date <= STR_TO_DATE('"+ endSj +"', '%Y-%m-%d') ");
|
queryWrapper.apply("up_date <= STR_TO_DATE('"+ endSj +"', '%Y-%m-%d') ");
|
||||||
|
|
@ -112,10 +118,12 @@ public class KcEvaluationController extends JeecgController<KcEvaluation, IKcEva
|
||||||
HttpServletRequest req) {
|
HttpServletRequest req) {
|
||||||
QueryWrapper<KcEvaluation> queryWrapper = QueryGenerator.initQueryWrapper("a",kcEvaluation, req.getParameterMap());
|
QueryWrapper<KcEvaluation> queryWrapper = QueryGenerator.initQueryWrapper("a",kcEvaluation, req.getParameterMap());
|
||||||
if(StringUtils.isNotBlank(kcEvaluation.getXnxq())){
|
if(StringUtils.isNotBlank(kcEvaluation.getXnxq())){
|
||||||
KcSysConfig common = changeTingKeTongJi.getXqConfig();
|
KcXqxnHistory common = changeTingKeTongJi.getXqConfig();
|
||||||
String startSj = common.getBxqkssj();
|
Date startSjDate = common.getStartTime();
|
||||||
String endSj = common.getBxqjssj();
|
Date endSjDate = common.getEndTime();
|
||||||
String xqxn = common.getFlag1();
|
String startSj = DateUtil.format(startSjDate,DatePattern.NORM_DATETIME_FORMAT);
|
||||||
|
String endSj = DateUtil.format(endSjDate,DatePattern.NORM_DATETIME_FORMAT);
|
||||||
|
String xqxn = common.getTitle();
|
||||||
if(StringUtils.equals(xqxn,kcEvaluation.getXnxq())){
|
if(StringUtils.equals(xqxn,kcEvaluation.getXnxq())){
|
||||||
queryWrapper.apply("a.up_date >= STR_TO_DATE('"+ startSj +"', '%Y-%m-%d') ");
|
queryWrapper.apply("a.up_date >= STR_TO_DATE('"+ startSj +"', '%Y-%m-%d') ");
|
||||||
queryWrapper.apply("a.up_date <= STR_TO_DATE('"+ endSj +"', '%Y-%m-%d') ");
|
queryWrapper.apply("a.up_date <= STR_TO_DATE('"+ endSj +"', '%Y-%m-%d') ");
|
||||||
|
|
|
||||||
|
|
@ -250,5 +250,7 @@ public class KcTingke implements Serializable {
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String kcbh;
|
private String kcbh;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String pkNum;
|
||||||
// private java.lang.String tingketime;
|
// private java.lang.String tingketime;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue