修改bug

This commit is contained in:
yangjun 2024-10-31 11:01:58 +08:00
parent 562195db36
commit 8405d8e8ac
12 changed files with 316 additions and 14 deletions

View File

@ -66,7 +66,7 @@ public class SyncJwxt extends BaseSync {
List<Xxhbjwxtjxrw> outDataList = Lists.newArrayList();
System.out.println("---------------------------------------------------------------------------");
System.out.println("--------------第1个"+inDataList.size()+"--------------------");
System.out.println("--------------查询第1个"+inDataList.size()+"--------------------");
System.out.println("---------------------------------------------------------------------------");
//查询数据
@ -74,7 +74,7 @@ public class SyncJwxt extends BaseSync {
List<Xxhbjwxtscwjxx> out1DataList = Lists.newArrayList();
System.out.println("---------------------------------------------------------------------------");
System.out.println("--------------第2个"+in1DataList.size()+"--------------------");
System.out.println("--------------查询第2个"+in1DataList.size()+"--------------------");
System.out.println("---------------------------------------------------------------------------");
//查询数据
// List<JwxtXsmd> in2DataList = expXsmdService.list();
@ -96,12 +96,12 @@ public class SyncJwxt extends BaseSync {
//保存到胃
try {
System.out.println("---------------------------------------------------------------------------");
System.out.println("--------------第一个"+outDataList.size()+"--------------------");
System.out.println("--------------插入第一个"+outDataList.size()+"--------------------");
System.out.println("---------------------------------------------------------------------------");
impJxrwService.syncList(outDataList);
System.out.println("---------------------------------------------------------------------------");
System.out.println("--------------第二个"+out1DataList.size()+"--------------------");
System.out.println("--------------插入第二个"+out1DataList.size()+"--------------------");
System.out.println("---------------------------------------------------------------------------");
impScwjxxService.syncList(out1DataList);

View File

@ -335,5 +335,13 @@ public class WjxDjxxController extends JeecgController<WjxDjxx, IWjxDjxxService>
}
@ApiOperation(value="修复答卷结果,因时间问题导致的数据", notes="修复答卷结果,因时间问题导致的数据")
@PostMapping(value = "/updateDjjg")
public Result<String> updateDjjg(@RequestBody WjxDjxx wjxDjxx) {
String res = "提交成功!";
res = wjxDjxxService.updateDjjg(wjxDjxx);
return Result.OK(res);
}
}

View File

@ -63,4 +63,6 @@ public interface WjxDjxxMapper extends BaseMapper<WjxDjxx> {
WjxDjxxTmxx getByDjxxId(@Param("djtmid")String djtmid);
void updateScoreByJid(WjxDjxx par2);
WjxDjxx getInfoByVidUser(WjxDjxx wjxDjxx);
}

View File

@ -8,6 +8,12 @@
and user_id = #{userId}
</update>
<select id="getInfoByVidUser" parameterType="org.jeecg.modules.kc.wjxDjxx.entity.WjxDjxx" resultType="org.jeecg.modules.kc.wjxDjxx.entity.WjxDjxx">
select * from wjx_djxx
where vid = #{vid}
and user_id = #{userId}
</select>
<select id="findVid" parameterType="String" resultType="String">
SELECT vid
FROM wjx_wjxx a

View File

@ -43,4 +43,6 @@ public interface IWjxDjxxService extends IService<WjxDjxx> {
WjxDjxxTmxx getByDjxxId(String djtmid);
void cxjcWjxScore(String vid);
String updateDjjg(WjxDjxx wjxDjxx);
}

View File

@ -652,6 +652,191 @@ public class WjxDjxxServiceImpl extends ServiceImpl<WjxDjxxMapper, WjxDjxx> impl
}
}
@Override
public String updateDjjg(WjxDjxx wjxDjxxPar) {
// LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String vid = wjxDjxxPar.getVid();
if(vid ==null || vid.equals("")){
return "此试卷错误,无法提交!";
}
WjxDjxx wjxDjxx2 = baseMapper.getInfoByVidUser(wjxDjxxPar);
String submitData = wjxDjxx2.getSubmitData();
Map<String,Object> map = new HashMap<>();
map.put("vid",Integer.valueOf(vid));
Long djys = ChronoUnit.SECONDS.between(wjxDjxx2.getOpenTime().toInstant(),wjxDjxx2.getCommitTime().toInstant());
if(djys<3){
djys = 10L;
}
System.out.println("--------------------------------------------------");
System.out.println("---------------djys--"+djys+"---------------------------");
System.out.println("--------------------------------------------------");
map.put("inputcosttime", djys);
map.put("submitdata",submitData);
map.put("sojumpparm",wjxDjxx2.getUserId());//自定义链接参数用来透传用户ID
//调用接口,提交
String result = wjxUtil.openapi(map,"1001001");
String jidRes = "";
if(!result.equals("")){
JSONObject jsonResult = JSONObject.parseObject(result);
if(jsonResult.getBoolean("result")){
JSONObject dataJson = jsonResult.getJSONObject("data");
String vidRes = dataJson.getString("vid");
jidRes = dataJson.getString("jid");
String sojumpparmRes = dataJson.getString("sojumpparm");
baseMapper.updateJid(sojumpparmRes,vidRes,jidRes);
//调用接口答卷查询
Map<String,Object> selMap = new HashMap<>();
selMap.put("vid",Integer.valueOf(vid));
selMap.put("jid",Long.valueOf(jidRes));
//调用接口,查询答卷结果
String answerStr = wjxUtil.openapi(selMap,"1001002");
if(!answerStr.equals("")){
JSONObject ansJsonResult = JSONObject.parseObject(answerStr);
if(ansJsonResult.getBoolean("result")){
JSONObject ansDataJson = ansJsonResult.getJSONObject("data");
String answerVid = ansDataJson.getString("vid");
JSONObject answerJsonArray = ansDataJson.getJSONObject("answers");
for(String key1 : answerJsonArray.keySet()){
JSONObject answer = answerJsonArray.getJSONObject(key1);
String jidAns = answer.getString("jid");
Integer answerSeconds = answer.getInteger("answer_seconds");
Double score = answer.getDouble("score");
Double totalScore = answer.getDouble("total_score");
WjxDjxx wjxDjxx = new WjxDjxx();
wjxDjxx.setVid(answerVid);
wjxDjxx.setJid(jidAns);
wjxDjxx.setAnswerSeconds(answerSeconds);
wjxDjxx.setScore(score);
wjxDjxx.setTotalScore(totalScore);
//删除选项信息
baseMapper.deleteDjItem(wjxDjxx);
//处理选项
JSONObject answerItemJson = answer.getJSONObject("answer_items");
for(String key2 : answerItemJson.keySet()){
JSONObject answerItem = answerItemJson.getJSONObject(key2);
WjxDjxxTmxx wjxDjxxTmxx = new WjxDjxxTmxx();
wjxDjxxTmxx.setVid(answerVid);
wjxDjxxTmxx.setJid(jidAns);
wjxDjxxTmxx.setUserId(wjxDjxx2.getUserId());
wjxDjxxTmxx.setCreateBy(wjxDjxx2.getUserId());
wjxDjxxTmxx.setCreateTime(new Date());
if(answerItem.get("q_index")!=null){
Integer wjIndex = answerItem.getInteger("q_index");
wjxDjxxTmxx.setWjIndex(wjIndex);
}
if(answerItem.get("title")!=null){
String wjTitle = answerItem.getString("title");
wjxDjxxTmxx.setWjTitle(wjTitle);
}
if(answerItem.get("item_value")!=null){
Double itemScore = answerItem.getDouble("item_value");
wjxDjxxTmxx.setItemScore(itemScore);
}
if(answerItem.get("answer_text")!=null){
String answerText = answerItem.getString("answer_text");
wjxDjxxTmxx.setAnswerText(answerText);
}
if(answerItem.get("item_index")!=null){
JSONArray itemIndex = answerItem.getJSONArray("item_index");
QueryWrapper<WjxWjxx> wjxWjxxQueryWrapper = new QueryWrapper<>();
wjxWjxxQueryWrapper.eq("vid",vid);
wjxWjxxQueryWrapper.last("limit 1");
WjxWjxx wjxxPar= wjxWjxxMapper.selectOne(wjxWjxxQueryWrapper);
if(itemIndex.size()>0){
for(Object index : itemIndex){
Integer ti = (Integer) index;
wjxDjxxTmxx.setItemIndex(ti);
String id = new DefaultIdentifierGenerator().nextId(new WjxDjxxTmxx()).toString();
wjxDjxxTmxx.setId(id);
try {
QueryWrapper<WjxWjxxTmlb> wjxWjxxTmlbQueryWrapper = new QueryWrapper<>();
wjxWjxxTmlbQueryWrapper.eq("main_id",wjxxPar.getId());
wjxWjxxTmlbQueryWrapper.eq("wj_index",wjxDjxxTmxx.getWjIndex());
wjxWjxxTmlbQueryWrapper.last("limit 1");
WjxWjxxTmlb tmlb = wjxWjxxTmlbMapper.selectOne(wjxWjxxTmlbQueryWrapper);
wjxDjxxTmxx.setPicPath(tmlb.getPicPath());
} catch (Exception e) {
e.printStackTrace();
}
baseMapper.addDjTmxx(wjxDjxxTmxx);
}
}else{
String id = new DefaultIdentifierGenerator().nextId(new WjxDjxxTmxx()).toString();
try {
QueryWrapper<WjxWjxxTmlb> wjxWjxxTmlbQueryWrapper = new QueryWrapper<>();
wjxWjxxTmlbQueryWrapper.eq("main_id",wjxxPar.getId());
wjxWjxxTmlbQueryWrapper.eq("wj_index",wjxDjxxTmxx.getWjIndex());
wjxWjxxTmlbQueryWrapper.last("limit 1");
WjxWjxxTmlb tmlb = wjxWjxxTmlbMapper.selectOne(wjxWjxxTmlbQueryWrapper);
wjxDjxxTmxx.setPicPath(tmlb.getPicPath());
} catch (Exception e) {
e.printStackTrace();
}
wjxDjxxTmxx.setId(id);;
baseMapper.addDjTmxx(wjxDjxxTmxx);
}
}else{
String id = new DefaultIdentifierGenerator().nextId(new WjxDjxxTmxx()).toString();
try {
QueryWrapper<WjxWjxx> wjxWjxxQueryWrapper = new QueryWrapper<>();
wjxWjxxQueryWrapper.eq("vid",vid);
wjxWjxxQueryWrapper.last("limit 1");
WjxWjxx wjxxPar= wjxWjxxMapper.selectOne(wjxWjxxQueryWrapper);
QueryWrapper<WjxWjxxTmlb> wjxWjxxTmlbQueryWrapper = new QueryWrapper<>();
wjxWjxxTmlbQueryWrapper.eq("main_id",wjxxPar.getId());
wjxWjxxTmlbQueryWrapper.eq("wj_index",wjxDjxxTmxx.getWjIndex());
wjxWjxxTmlbQueryWrapper.last("limit 1");
WjxWjxxTmlb tmlb = wjxWjxxTmlbMapper.selectOne(wjxWjxxTmlbQueryWrapper);
wjxDjxxTmxx.setPicPath(tmlb.getPicPath());
} catch (Exception e) {
e.printStackTrace();
}
wjxDjxxTmxx.setId(id);;
baseMapper.addDjTmxx(wjxDjxxTmxx);
}
}
//修改答卷信息
baseMapper.updateAnswer(wjxDjxx);
}
}else{
baseMapper.updateErrMsg(wjxDjxx2.getUserId(),vid,ansJsonResult.getString("errormsg"));
return ansJsonResult.getString("errormsg");
}
}
}else{
baseMapper.updateErrMsg(wjxDjxx2.getUserId(),vid,jsonResult.getString("errormsg"));
return jsonResult.getString("errormsg");
}
}
try {
if(StringUtils.isNotBlank(jidRes)){
jsscore(jidRes);
}
}catch (Exception e){
e.printStackTrace();
}
return "提交成功!";
}
public void jsscore(String jid){
try {
WjxDjxxTmxx wjxDjxxTmxx = new WjxDjxxTmxx();

View File

@ -115,6 +115,7 @@ public class ZyInfoController extends JeecgController<ZyInfo, IZyInfoService> {
kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh());
kcKechengbiaoQueryWrapper.eq("jgh",user.getUsername());
kcKechengbiaoQueryWrapper.eq("xqxn",zyInfo.getXnxq());
// kcKechengbiaoQueryWrapper.eq("flag","0");
kcKechengbiaoQueryWrapper.last("limit 1");
KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper);
@ -630,6 +631,43 @@ public class ZyInfoController extends JeecgController<ZyInfo, IZyInfoService> {
}
@ApiOperation(value="教学大纲-分页列表查询", notes="教学大纲-分页列表查询")
@GetMapping(value = "/sysStaticList")
public Result<IPage<ZyInfoSys>> sysStaticList(ZyInfoSys zyInfoSys,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//-------------获取当前登陆人是否是管理员角色如果不是都按照教务秘书处理---------------------------
List<String> roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername());
String adminRole = "1";//0 admin 1教务秘书
for(String role :roleList){
if(org.apache.commons.lang.StringUtils.equals("admin",role)){
adminRole = "0";
break;
}
}
QueryWrapper<ZyInfoSys> queryWrapper = new QueryWrapper<ZyInfoSys>();
if(org.apache.commons.lang.StringUtils.equals("1",adminRole)){
QueryWrapper<KcExportConfigTpkwcqkjzglx> queryWrapperCon = new QueryWrapper<KcExportConfigTpkwcqkjzglx>();
queryWrapperCon.eq("gh",sysUser.getUsername());
queryWrapperCon.orderByDesc("create_time");
queryWrapperCon.last("limit 1");
KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon);
zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc());
}
if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())){
KcSysConfig kcSysConfig = kcSysConfigService.getById("1");
zyInfoSys.setXqxn(kcSysConfig.getFlag1());
}
Page<ZyInfoSys> page = new Page<ZyInfoSys>(pageNo, pageSize);
IPage<ZyInfoSys> pageList = zyInfoService.sysStaticList(page, zyInfoSys);
return Result.OK(pageList);
}
@RequestMapping(value = "/exportSysXls")
public ModelAndView exportSysXls(HttpServletRequest request, ZyInfoSys zyInfoSys) {
String title = "课程作业";

View File

@ -6,6 +6,7 @@ import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 教学大纲
@ -25,21 +26,32 @@ public class ZyInfoSys implements Serializable {
private String xqxn;
@Excel(name = "开课单位", width = 15)
private String kkdw;
@Excel(name = "课程编号", width = 15)
private String kcbh;
@Excel(name = "作业名称", width = 15)
private String zymc;
@Excel(name = "课程名称", width = 15)
private String kcmc;
@Excel(name = "开课任务编号", width = 15)
private String rwbh;
@Excel(name = "上课时间", width = 15)
private String sksj;
@Excel(name = "上课地点", width = 15)
private String skdd;
@Excel(name = "授课教师", width = 15)
private String skjs;
@Excel(name = "选课学生", width = 15)
@Excel(name = "是否完成", width = 15)
private String sfwc;
@Excel(name = "是否发布", width = 15)
private String sffb;
@Excel(name = "是否互评", width = 15)
private String sfhp;
@Excel(name = "是否查重", width = 15)
private String sfcc;
@Excel(name = "开始时间", width = 15)
private Date startTime;
@Excel(name = "结束时间", width = 15)
private Date endTime;
private String kcbh;
private String rwbh;
private String sksj;
private String skdd;
private String xkrs;
@Excel(name = "作业数量", width = 15)
private String num;
private String jgh;

View File

@ -29,4 +29,5 @@ public interface ZyInfoMapper extends BaseMapper<ZyInfo> {
List<ZyInfo> zyzb(@Param("rwbh")String rwbh, @Param("xqxn")String xqxn, @Param("teano")String teano, @Param("zyLeixing")String zyLeixing);
IPage<ZyInfoSys> sysStaticList(Page<ZyInfoSys> page,@Param("zyInfoSys") ZyInfoSys zyInfoSys);
}

View File

@ -92,4 +92,45 @@
GROUP BY
atype
</select>
<select id="sysStaticList" resultType="org.jeecg.modules.kc.zyInfo.entity.ZyInfoSys">
SELECT
distinct a.id,
a.xnxq as xqxn,a.title as zymc,d.kcmc as kcmc, a.zy_status,
IF( a.zy_status = '2', '全部完成', '未全部完成' ) as sfwc,
IF( a.zy_status = '0', '未发布', '已发布' ) as sffb,
IF( a.xshpkg = '1', '是', '否' ) as sfhp,
a.create_by as jgh,c.xm as skjs, c.dwmc as kkdw ,
if(a.sfcc = 1,'查重','不查重') as sfcc,
a.start_time,
a.end_time
FROM
zy_info a, xxhbuser c,(select kcmc,rwbh,skjs,jgh from kc_kechengbiao where xqxn = #{zyInfoSys.xqxn} GROUP BY kcmc,rwbh,skjs,jgh) d
WHERE a.create_by = c.gh and d.rwbh = a.rwbh and a.create_by = d.jgh and a.xnxq = #{zyInfoSys.xqxn} and a.title is not null
<if test="zyInfoSys.kcmc != null and zyInfoSys.kcmc != ''">
and a.kcmc like concat('%',#{zyInfoSys.kcmc},'%')
</if>
<if test='zyInfoSys.sfwc != null and zyInfoSys.sfwc != "" and zyInfoSys.sfwc == 1 '>
and a.zy_status = 2
</if>
<if test='zyInfoSys.sfwc != null and zyInfoSys.sfwc != "" and zyInfoSys.sfwc == 2 '>
and a.zy_status in (0,1)
</if>
<if test='zyInfoSys.sffb != null and zyInfoSys.sffb != "" and zyInfoSys.sffb == 1 '>
and a.zy_status in (1,2)
</if>
<if test='zyInfoSys.sffb != null and zyInfoSys.sffb != "" and zyInfoSys.sffb == 2 '>
and a.zy_status = 0
</if>
<if test="zyInfoSys.skjs != null and zyInfoSys.skjs != ''">
and c.xm like concat('%',#{zyInfoSys.skjs},'%')
</if>
<if test="zyInfoSys.kkdw != null and zyInfoSys.kkdw != ''">
and c.dwmc = #{zyInfoSys.kkdw}
</if>
ORDER BY zy_status DESC, a.title DESC
</select>
</mapper>

View File

@ -28,4 +28,6 @@ public interface IZyInfoService extends IService<ZyInfo> {
List<ZyInfo> zyzb(String rwbh, String xqxn, String teano, String zyLeixing);
void updateInfoZyStatus();
IPage<ZyInfoSys> sysStaticList(Page<ZyInfoSys> page, ZyInfoSys zyInfoSys);
}

View File

@ -157,6 +157,11 @@ public class ZyInfoServiceImpl extends ServiceImpl<ZyInfoMapper, ZyInfo> impleme
}
@Override
public IPage<ZyInfoSys> sysStaticList(Page<ZyInfoSys> page,ZyInfoSys zyInfoSys) {
return baseMapper.sysStaticList(page, zyInfoSys);
}
// appId
private static final String appId = "wx031697a8ca09a5ce";//东师