2023年6月14日 添加统计
This commit is contained in:
parent
3322f49a4d
commit
20cbcc4794
|
@ -318,8 +318,17 @@ public class KcEvaluation implements Serializable {
|
||||||
/**教工号*/
|
/**教工号*/
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private java.lang.String jgh;
|
private java.lang.String jgh;
|
||||||
/**状态*/
|
/**状态*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private java.lang.String zt;
|
||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private java.lang.String zt;
|
private String dwmc;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String xqxn;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,179 @@
|
||||||
|
package org.jeecg.modules.kc.statistics;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUnit;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.beust.jcommander.internal.Sets;
|
||||||
|
import com.google.common.collect.Maps;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import org.jeecg.common.api.vo.Result;
|
||||||
|
import org.jeecg.common.system.query.QueryGenerator;
|
||||||
|
import org.jeecg.modules.kc.grab.imports.entity.Xxhbuser;
|
||||||
|
import org.jeecg.modules.kc.grab.imports.service.IXxhbuserService;
|
||||||
|
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.service.IKcEvaluationService;
|
||||||
|
import org.jeecg.modules.kc.tksf.kctksfrzb.entity.KcTksfrzb;
|
||||||
|
import org.jeecg.modules.kc.tksf.kctksfrzb.service.IKcTksfrzbService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 调查问卷-答案表
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2023-04-09
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Api(tags="调查问卷-答案表")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/statistics")
|
||||||
|
@Slf4j
|
||||||
|
public class TingKeStatisticsController{
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IKcEvaluationService kcEvaluationService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IXxhbuserService xxhbuserService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IKcTksfrzbService kcTksfrzbService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IKcXqxnHistoryService kcXqxnHistoryService;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation(value="调查问卷-答案表-分页列表查询", notes="调查问卷-答案表-分页列表查询")
|
||||||
|
@GetMapping(value = "/getEvaluationList")
|
||||||
|
public Result<IPage<KcEvaluation>> list(KcEvaluation evaluation,
|
||||||
|
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||||
|
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||||
|
HttpServletRequest req) {
|
||||||
|
QueryWrapper<KcEvaluation> queryWrapper = QueryGenerator.initQueryWrapper(evaluation, req.getParameterMap());
|
||||||
|
queryWrapper.isNotNull("upuserid");
|
||||||
|
queryWrapper.isNotNull("minkcid");
|
||||||
|
Page<KcEvaluation> page = new Page<KcEvaluation>(pageNo, pageSize);
|
||||||
|
IPage<KcEvaluation> pageList = kcEvaluationService.page(page, queryWrapper);
|
||||||
|
|
||||||
|
//---------------------补数据1------------------------------------------
|
||||||
|
Map<Integer,String> sourceDictMap = Maps.newHashMap();
|
||||||
|
//0:门户添加,1:老系统,2:政务大厅,3后台导入
|
||||||
|
sourceDictMap.put(0,"门户添加");
|
||||||
|
sourceDictMap.put(1,"老系统");
|
||||||
|
sourceDictMap.put(2,"政务大厅");
|
||||||
|
sourceDictMap.put(3,"后台导入");
|
||||||
|
//---------------------补数据1------------------------------------------
|
||||||
|
|
||||||
|
Set<String> tjSet = Sets.newHashSet();
|
||||||
|
pageList.getRecords().forEach(x -> {
|
||||||
|
//补充信息
|
||||||
|
x.setSourceName(sourceDictMap.get(x.getSource()));//数据来源
|
||||||
|
Integer ixuserId = x.getUpuserid();
|
||||||
|
String xuserId = String.valueOf(ixuserId);
|
||||||
|
tjSet.add(xuserId);
|
||||||
|
});
|
||||||
|
//---------------------补数据2------------------------------------------
|
||||||
|
//查询所在单位
|
||||||
|
QueryWrapper<Xxhbuser> szdwQw = new QueryWrapper<>();
|
||||||
|
szdwQw.in("gh",tjSet);
|
||||||
|
List<Xxhbuser> szdwList = xxhbuserService.list(szdwQw);
|
||||||
|
Map<String, Xxhbuser> szdwMap = Maps.newHashMap();
|
||||||
|
szdwList.forEach(x -> {
|
||||||
|
szdwMap.put(x.getGh(),x);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// QueryWrapper<KcXqxnHistory> kcXqxnHistoryQueryWrapper = new QueryWrapper<KcXqxnHistory>();
|
||||||
|
List<KcXqxnHistory> kcXqxnHistoryList = kcXqxnHistoryService.list();
|
||||||
|
|
||||||
|
//查询听课身份
|
||||||
|
QueryWrapper<KcTksfrzb> tksfQw = new QueryWrapper<>();
|
||||||
|
tksfQw.in("gh",tjSet);
|
||||||
|
List<KcTksfrzb> tksfList = kcTksfrzbService.list(tksfQw);
|
||||||
|
Map<String, KcTksfrzb> tksfMap = Maps.newHashMap();
|
||||||
|
tksfList.forEach(x -> {
|
||||||
|
if(tksfMap.containsKey(x.getGh())){
|
||||||
|
//存在了,拼接职务名称,取最大的听课要求
|
||||||
|
KcTksfrzb currentData = tksfMap.get(x.getGh());
|
||||||
|
String currentZwmc = currentData.getZwmc();
|
||||||
|
String currentTkyq = currentData.getTkyq();
|
||||||
|
if(StringUtils.isNotBlank(currentTkyq)){
|
||||||
|
int tkyq = Integer.parseInt(currentTkyq);
|
||||||
|
int xtkyq = Integer.parseInt(x.getTkyq());
|
||||||
|
x.setZwmc(currentZwmc + "、" + x.getZwmc());
|
||||||
|
if(tkyq > xtkyq){
|
||||||
|
x.setTkyq(String.valueOf(tkyq));
|
||||||
|
}else{
|
||||||
|
x.setTkyq(String.valueOf(xtkyq));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tksfMap.put(x.getGh(),x);
|
||||||
|
}else {
|
||||||
|
tksfMap.put(x.getGh(),x);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//---------------------补数据2------------------------------------------
|
||||||
|
pageList.getRecords().forEach(x -> {
|
||||||
|
Integer ixuserId = x.getUpuserid();
|
||||||
|
String xuserId = String.valueOf(ixuserId);
|
||||||
|
if(szdwMap.containsKey(xuserId)){
|
||||||
|
Xxhbuser currentData = szdwMap.get(xuserId);
|
||||||
|
x.setDwmc(currentData.getDwmc());
|
||||||
|
}
|
||||||
|
if(tksfMap.containsKey(xuserId)){
|
||||||
|
KcTksfrzb currentData = tksfMap.get(xuserId);
|
||||||
|
//tj.setJsxm(currentData.getXm());
|
||||||
|
x.setTksf(currentData.getZwmc());
|
||||||
|
//tj.setYskcs(currentData.getTkyq());
|
||||||
|
}
|
||||||
|
|
||||||
|
Date upDate = x.getUpDate();
|
||||||
|
kcXqxnHistoryList.forEach(hx -> {
|
||||||
|
Date startTime = hx.getStartTime();
|
||||||
|
Date endTime = hx.getEndTime();
|
||||||
|
long betweenStartDay = DateUtil.between(startTime, upDate, DateUnit.DAY,false);
|
||||||
|
long betweenEndDay = DateUtil.between(endTime, upDate, DateUnit.DAY,false);
|
||||||
|
if(betweenStartDay >=0 && betweenEndDay <=0) {
|
||||||
|
System.out.println("在范围内");
|
||||||
|
x.setXqxn(hx.getTitle());
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
return Result.OK(pageList);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Date upDate = DateUtil.parseDateTime("2023-03-13 00:00:00");
|
||||||
|
Date startTime = DateUtil.parseDateTime("2023-05-01 00:00:00");
|
||||||
|
Date endTime = DateUtil.parseDateTime("2023-07-01 00:00:00");
|
||||||
|
long betweenStartDay = DateUtil.between(startTime, upDate, DateUnit.DAY,false);
|
||||||
|
long betweenEndDay = DateUtil.between(endTime, upDate, DateUnit.DAY,false);
|
||||||
|
|
||||||
|
if(betweenStartDay >=0 && betweenEndDay <=0) {
|
||||||
|
System.out.println("在范围内");
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println(betweenStartDay);
|
||||||
|
System.out.println(betweenEndDay);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue