2023年7月28日 修改身份配置和导出

This commit is contained in:
bai 2023-07-28 23:45:53 +08:00
parent 4927809cc5
commit bd5c9503ec
5 changed files with 225 additions and 79 deletions

View File

@ -81,6 +81,21 @@ public class KcExportConfigTpkwcqkjzglxController extends JeecgController<KcExpo
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param kcExportConfigTpkwcqkjzglx
* @return
*/
@AutoLog(value = "kc_export_config_tpkwcqkjzglx-编辑")
@ApiOperation(value="kc_export_config_tpkwcqkjzglx-编辑", notes="kc_export_config_tpkwcqkjzglx-编辑")
// @RequiresPermissions("config:kc_export_config_tpkwcqkjzglx:edit")
@RequestMapping(value = "/editAll", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> editAll(@RequestBody KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx) {
kcExportConfigTpkwcqkjzglxService.editAll(kcExportConfigTpkwcqkjzglx);
return Result.OK("编辑成功!");
}
/**
* 编辑
*
@ -95,7 +110,7 @@ public class KcExportConfigTpkwcqkjzglxController extends JeecgController<KcExpo
kcExportConfigTpkwcqkjzglxService.updateById(kcExportConfigTpkwcqkjzglx);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*

View File

@ -3,6 +3,7 @@ package org.jeecg.modules.kc.config.export;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.vo.DictModel;
@ -52,6 +53,45 @@ public class Export extends BaseExport {
private ChangeTingKeTongJi changeTingKeTongJi = SpringContextHolder.getBean(ChangeTingKeTongJi.class);
@Data
public class GroupConfig{
private String key;//唯组合到这个键里
private String name;//显示的名称
private String dictKey;// 10,20,30字典的值
}
private Map<String,List<GroupConfig>> groupConfigMap = Maps.newLinkedHashMap();
private GroupConfig genConfig(String key, String name, String dictKey){
GroupConfig config = new GroupConfig();
config.setKey(key);
config.setName(name);
config.setDictKey(dictKey);
return config;
}
private void putGroupConfigMap(String key, GroupConfig config){
if(groupConfigMap.containsKey(key)){
List<GroupConfig> list = groupConfigMap.get(key);
list.add(config);
}else{
List<GroupConfig> list = Lists.newArrayList();
list.add(config);
groupConfigMap.put(key,list);
}
}
private void initGroupConfigMap(){
groupConfigMap = Maps.newLinkedHashMap();
GroupConfig config;
config = genConfig("oneList","学院(部)教务委员会委员","340");putGroupConfigMap(config.getKey(),config);
config = genConfig("twoList","行政负责人、教学副院(部)长及系(专业)负责人","220");putGroupConfigMap(config.getKey(),config);
config = genConfig("threeListSize","其他党政领导及辅导员","110");putGroupConfigMap(config.getKey(),config);
config = genConfig("threeListSize","其他党政领导及辅导员","210");putGroupConfigMap(config.getKey(),config);
config = genConfig("threeListSize","其他党政领导及辅导员","270");putGroupConfigMap(config.getKey(),config);
config = genConfig("threeListSize","其他党政领导及辅导员","280");putGroupConfigMap(config.getKey(),config);
config = genConfig("fourListSize","其他专任教师","1");putGroupConfigMap(config.getKey(),config);
}
// /**
// *
// * 功能说明 : 将导出的文档片段按照list返回
@ -86,16 +126,15 @@ public class Export extends BaseExport {
public WordOperator export(KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx, String xqxnParam) throws Exception{
String templateName = "exp1\\tpkqk.docx";
Map<String, List<List<String>>> mainMapList = Maps.newHashMap();
initGroupConfigMap();
WordOperator wo = ExportWord.getWordOperator(templateName);
//********************************@A.单个内容替换***************************************************/
//********************************取数据***********************************************************/
Map<String, Object> result = Maps.newHashMap();
//取配置表中的用户
QueryWrapper<KcExportConfigTpkwcqkjzglx> queryWrapper = QueryGenerator.initQueryWrapper("a", kcExportConfigTpkwcqkjzglx,null);
queryWrapper.eq(StringUtils.isNotBlank(kcExportConfigTpkwcqkjzglx.getDwmc()),"b.dwmc",kcExportConfigTpkwcqkjzglx.getDwmc());
QueryWrapper<KcExportConfigTpkwcqkjzglx> queryWrapper = QueryGenerator.initQueryWrapper(kcExportConfigTpkwcqkjzglx,null);
// queryWrapper.eq(StringUtils.isNotBlank(kcExportConfigTpkwcqkjzglx.getDwmc()),"b.dwmc",kcExportConfigTpkwcqkjzglx.getDwmc());
List<KcExportConfigTpkwcqkjzglx> KcExportConfigTpkwcqkjzglxList = kcExportConfigTpkwcqkjzglxService.list(queryWrapper);
Map<String, List<KcExportConfigTpkwcqkjzglx>> ghMap = KcExportConfigTpkwcqkjzglxList.stream().collect(Collectors.groupingBy(KcExportConfigTpkwcqkjzglx::getGh));
Map<String, List<KcExportConfigTpkwcqkjzglx>> typeMap = KcExportConfigTpkwcqkjzglxList.stream().collect(Collectors.groupingBy(KcExportConfigTpkwcqkjzglx::getTklx));
@ -127,97 +166,143 @@ public class Export extends BaseExport {
// uqw.in("gh",typeMap.keySet());
// List<Xxhbuser> xxhbuserList = xxhbuserService.list(uqw);
List<KcExportConfigTpkwcqkjzglx> oneList = typeMap.get("1");
if(oneList == null || oneList.isEmpty()) oneList = Lists.newArrayList();
Map<String,List<KcExportConfigTpkwcqkjzglx>> allListMap = Maps.newLinkedHashMap();
List<KcExportConfigTpkwcqkjzglx> twoList = Lists.newArrayList();
List<KcExportConfigTpkwcqkjzglx> twoList1 = typeMap.get("2");
List<KcExportConfigTpkwcqkjzglx> twoList2 = typeMap.get("3");
List<KcExportConfigTpkwcqkjzglx> twoList3 = typeMap.get("4");
groupConfigMap.forEach((k,v) -> {
v.forEach(x -> {
if(typeMap.containsKey(x.getDictKey())){
// allListMap.put(k,typeMap.get(x.getDictKey()));
if(allListMap.containsKey(k)){
List<KcExportConfigTpkwcqkjzglx> list = allListMap.get(k);
list.addAll(typeMap.get(x.getDictKey()));
}else{
List<KcExportConfigTpkwcqkjzglx> list = Lists.newArrayList();
list.addAll(typeMap.get(x.getDictKey()));
allListMap.put(k,list);
}
}else{
allListMap.put(k,Lists.newArrayList());
}
});
});
if(twoList1 != null && !twoList1.isEmpty()) {
twoList.addAll(twoList1);
}
if(twoList2 != null && !twoList2.isEmpty()) {
twoList.addAll(twoList2);
}
if(twoList3 != null && !twoList3.isEmpty()) {
twoList.addAll(twoList3);
}
List<KcExportConfigTpkwcqkjzglx> threeList = Lists.newArrayList();
List<KcExportConfigTpkwcqkjzglx> threeList1 = typeMap.get("5");
List<KcExportConfigTpkwcqkjzglx> threeList2 = typeMap.get("6");
// List<KcExportConfigTpkwcqkjzglx> oneList = typeMap.get("1");
// if(oneList == null || oneList.isEmpty()) oneList = Lists.newArrayList();
if(threeList1 != null && !threeList1.isEmpty()) {
threeList.addAll(threeList1);
}
if(threeList2 != null && !threeList2.isEmpty()) {
threeList.addAll(threeList2);
}
// List<KcExportConfigTpkwcqkjzglx> twoList = Lists.newArrayList();
// List<KcExportConfigTpkwcqkjzglx> twoList1 = typeMap.get("2");
// List<KcExportConfigTpkwcqkjzglx> twoList2 = typeMap.get("3");
// List<KcExportConfigTpkwcqkjzglx> twoList3 = typeMap.get("4");
//
// if(twoList1 != null && !twoList1.isEmpty()) {
// twoList.addAll(twoList1);
// }
// if(twoList2 != null && !twoList2.isEmpty()) {
// twoList.addAll(twoList2);
// }
// if(twoList3 != null && !twoList3.isEmpty()) {
// twoList.addAll(twoList3);
// }
//
// List<KcExportConfigTpkwcqkjzglx> threeList = Lists.newArrayList();
// List<KcExportConfigTpkwcqkjzglx> threeList1 = typeMap.get("5");
// List<KcExportConfigTpkwcqkjzglx> threeList2 = typeMap.get("6");
//
// if(threeList1 != null && !threeList1.isEmpty()) {
// threeList.addAll(threeList1);
// }
// if(threeList2 != null && !threeList2.isEmpty()) {
// threeList.addAll(threeList2);
// }
//********************************取数据END*********************************************************/
//********************************通用*************************************************************/
//xym 学院名称
result.put("xqxn",xqxnParam);
result.put("xym",kcExportConfigTpkwcqkjzglx.getDwmc());//学院名称
result.put("xqxn",xqxnParam);//学期学年
//填进去数量
result.put("oneListSize", StringUtils.defaultString(String.valueOf(oneList.size()),"0"));
result.put("twoListSize", StringUtils.defaultString(String.valueOf(twoList.size()),"0"));
result.put("threeListSize", StringUtils.defaultString(String.valueOf(threeList.size()),"0"));
//fourListSize
allListMap.forEach((k,v) -> {
result.put(k + "Size", StringUtils.defaultString(String.valueOf(v.size()),"0"));
});
// result.put("oneListSize", StringUtils.defaultString(String.valueOf(oneList.size()),"0"));
// result.put("twoListSize", StringUtils.defaultString(String.valueOf(twoList.size()),"0"));
// result.put("threeListSize", StringUtils.defaultString(String.valueOf(threeList.size()),"0"));
// result.put("fourListSize", StringUtils.defaultString(String.valueOf(threeList.size()),"0"));
//********************************表头END**********************************************************/
wo.replaceTextPlus(result);
//********************************@A.单个内容替换END**************************************************/
int index = 0;
final int[] index = {4};
List<List<String>> mainList = Lists.newArrayList();
oneList.forEach(x -> {
if(tktjMap.containsKey(x.getGh())) {
List<String> tmpList = new ArrayList<>();
mainList.add(tmpList);
KcTkcstj tkcstj = tktjMap.get(x.getGh());
tmpList.add(null);
tmpList.add(StringUtils.defaultString(tkcstj.getJsxm(),x.getXm()));
tmpList.add(tkcstj.getTkxttj());
}
allListMap.forEach((k,v) -> {
v.forEach(x -> {
if(tktjMap.containsKey(x.getGh())) {
List<String> tmpList = new ArrayList<>();
mainList.add(tmpList);
KcTkcstj tkcstj = tktjMap.get(x.getGh());
// tmpList.add(null);
int ytkcs = Integer.parseInt(StringUtils.defaultString(x.getYtkcs(),"0"));
if(ghMap.containsKey(x.getGh())){
List<KcExportConfigTpkwcqkjzglx> list = ghMap.get(x.getGh());
if(list != null && !list.isEmpty()){
for(KcExportConfigTpkwcqkjzglx e : list){
int c = Integer.parseInt(StringUtils.defaultString(e.getYtkcs(),"0"));
if(c > ytkcs) {
ytkcs = c;
}
}
}
}
tmpList.add(x.getXm());
tmpList.add(formatDictTxt(x.getTklx(),"tpkwcqkjzglx"));
tmpList.add(String.valueOf(ytkcs));//取最大值
tmpList.add(tkcstj.getTkxttj());
}
});
WordOperator.fillNullCall(mainList,v,2,3);
//从固定位置开始添加1为第二个表格第二个1为固定位置
wo.insert2Table(0, index[0], true, mainList);
index[0] += mainList.size() + 2;
mainList.clear();
});
index = 4;
WordOperator.fillNullCall(mainList,oneList,2,3);
//从固定位置开始添加1为第二个表格第二个1为固定位置
wo.insert2Table(0, index, true, mainList);
index += mainList.size() + 2;
mainList.clear();
twoList.forEach(x -> {
if(tktjMap.containsKey(x.getGh())) {
List<String> tmpList = new ArrayList<>();
mainList.add(tmpList);
KcTkcstj tkcstj = tktjMap.get(x.getGh());
tmpList.add(null);
tmpList.add(StringUtils.defaultString(tkcstj.getJsxm(),x.getXm()));
tmpList.add(tkcstj.getTkxttj());
}
});
//从固定位置开始添加1为第二个表格第二个1为固定位置
WordOperator.fillNullCall(mainList,twoList,2,3);
wo.insert2Table(0, index, true, mainList);
index += mainList.size() + 2;
mainList.clear();
threeList.forEach(x -> {
if(tktjMap.containsKey(x.getGh())) {
List<String> tmpList = new ArrayList<>();
mainList.add(tmpList);
KcTkcstj tkcstj = tktjMap.get(x.getGh());
tmpList.add(null);
tmpList.add(StringUtils.defaultString(tkcstj.getJsxm(),x.getXm()));
tmpList.add(tkcstj.getTkxttj());
}
});
//从固定位置开始添加1为第二个表格第二个1为固定位置
WordOperator.fillNullCall(mainList,threeList,2,3);
wo.insert2Table(0, index, true, mainList);
// mainList.clear();
// twoList.forEach(x -> {
// if(tktjMap.containsKey(x.getGh())) {
// List<String> tmpList = new ArrayList<>();
// mainList.add(tmpList);
// KcTkcstj tkcstj = tktjMap.get(x.getGh());
// tmpList.add(null);
// tmpList.add(StringUtils.defaultString(tkcstj.getJsxm(),x.getXm()));
// tmpList.add(tkcstj.getTkxttj());
// }
// });
// //从固定位置开始添加1为第二个表格第二个1为固定位置
// WordOperator.fillNullCall(mainList,twoList,2,3);
// wo.insert2Table(0, index[0], true, mainList);
//
// index[0] += mainList.size() + 2;
// mainList.clear();
// threeList.forEach(x -> {
// if(tktjMap.containsKey(x.getGh())) {
// List<String> tmpList = new ArrayList<>();
// mainList.add(tmpList);
// KcTkcstj tkcstj = tktjMap.get(x.getGh());
// tmpList.add(null);
// tmpList.add(StringUtils.defaultString(tkcstj.getJsxm(),x.getXm()));
// tmpList.add(tkcstj.getTkxttj());
// }
// });
// //从固定位置开始添加1为第二个表格第二个1为固定位置
// WordOperator.fillNullCall(mainList,threeList,2,3);
// wo.insert2Table(0, index[0], true, mainList);
return wo;
}
}

View File

@ -11,4 +11,5 @@ import org.jeecg.modules.kc.config.entity.KcExportConfigTpkwcqkjzglx;
*/
public interface IKcExportConfigTpkwcqkjzglxService extends IService<KcExportConfigTpkwcqkjzglx> {
void editAll(KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx);
}

View File

@ -1,11 +1,20 @@
package org.jeecg.modules.kc.config.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang.StringUtils;
import org.jeecg.modules.kc.config.entity.KcExportConfigTpkwcqkjzglx;
import org.jeecg.modules.kc.config.mapper.KcExportConfigTpkwcqkjzglxMapper;
import org.jeecg.modules.kc.config.service.IKcExportConfigTpkwcqkjzglxService;
import org.jeecg.modules.kc.tksf.kctksfyq.entity.KcTksfyq;
import org.jeecg.modules.kc.tksf.kctksfyq.service.IKcTksfyqService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
/**
* @Description: kc_export_config_tpkwcqkjzglx
* @Author: jeecg-boot
@ -15,4 +24,40 @@ import org.springframework.stereotype.Service;
@Service
public class KcExportConfigTpkwcqkjzglxServiceImpl extends ServiceImpl<KcExportConfigTpkwcqkjzglxMapper, KcExportConfigTpkwcqkjzglx> implements IKcExportConfigTpkwcqkjzglxService {
@Autowired
private IKcTksfyqService kcTksfyqService;
@Override
public void editAll(KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx) {
//结构名称
if(StringUtils.isNotBlank(kcExportConfigTpkwcqkjzglx.getTklx())){
List<String> zwmcs = Arrays.asList(kcExportConfigTpkwcqkjzglx.getTklx().split(","));
// QueryWrapper<KcExportConfigTpkwcqkjzglx> qw = new QueryWrapper<>();
// qw.in("tklx",zwmcs);
// remove(qw);
zwmcs.forEach(x -> {
kcExportConfigTpkwcqkjzglx.setTklx(x);
kcExportConfigTpkwcqkjzglx.setId(null);
UpdateWrapper uw = new UpdateWrapper();
uw.set("ytkcs",kcExportConfigTpkwcqkjzglx.getYtkcs());
uw.eq("tklx",x);
update(uw);
});
}
//结构名称
if(StringUtils.isNotBlank(kcExportConfigTpkwcqkjzglx.getTklx())){
List<String> zwmcs = Arrays.asList(kcExportConfigTpkwcqkjzglx.getTklx().split(","));
QueryWrapper<KcTksfyq> qw = new QueryWrapper<>();
qw.in("zwmc",zwmcs);
kcTksfyqService.remove(qw);
zwmcs.forEach(x -> {
KcTksfyq kcTksfyq = new KcTksfyq();
kcTksfyq.setZwmc(x);
kcTksfyq.setId(null);
kcTksfyqService.save(kcTksfyq);
});
}
}
}

View File

@ -1,37 +1,41 @@
{xqxn}学期听评课制度落实情况
{xym}学院(部){xqxn}学期听评课制度落实情况
听课制度落实清空
学院党政领导、学院教务委员会委员、专业负责人、基层教学组织负责人、辅导员、专任教师等人员的听评课情况建议学院党政领导关注思政课的课堂教学效果。具体要求详见《本科教育教学质量管理实施办法》附件4、《关于本科教学听课制度的规定》附件5
{xqxn}学期听课情况:
学院(部)教务委员会委员人数:{oneListSize}人
姓名
职务
课次数
应评课次数
实际评课次数
z
z
Z
z
z
行政负责人、教学副院(部)长及系(专业)负责人等人数:{twoListSize}人
姓名
职务
课次数
应评课次数
实际评课次数
z
z
z
z
其他党政领导及辅导员人数:{threeListSize}人
姓名
职务
课次数
应评课次数
实际评课次数
z
z
z
z
其他专任教师:{fourListSize}人
姓名
职称
应评课次数
实际评课次数
z
z
z
z