diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/entity/WjxDjxx.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/entity/WjxDjxx.java index 4f3cb7a5..d8703c07 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/entity/WjxDjxx.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/entity/WjxDjxx.java @@ -85,6 +85,9 @@ public class WjxDjxx { @TableField(exist = false) private List wjxDjxxTmxxList; + @ApiModelProperty(value = "任务编号") + @TableField(exist = false) + private String rwbh; @ApiModelProperty(value = "学期学年") @TableField(exist = false) private String xqxn; @@ -102,4 +105,8 @@ public class WjxDjxx { @TableField(exist = false) private Date endTime; + @ApiModelProperty(value = "是否完成") + @TableField(exist = false) + private String isFinished; + } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/entity/WjxDjxxTmlbPage.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/entity/WjxDjxxTmlbPage.java index 4becc665..c851b7b3 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/entity/WjxDjxxTmlbPage.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/entity/WjxDjxxTmlbPage.java @@ -40,6 +40,8 @@ public class WjxDjxxTmlbPage { private java.lang.Integer wjType; /**选择项*/ private String itemSelected; + /**正确答案*/ + private String wjAnswer; /**提交内容*/ @Excel(name = "提交内容", width = 15) @ApiModelProperty(value = "提交内容") diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/mapper/WjxDjxxMapper.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/mapper/WjxDjxxMapper.java index d5c73b94..ff4d016d 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/mapper/WjxDjxxMapper.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/mapper/WjxDjxxMapper.java @@ -27,4 +27,5 @@ public interface WjxDjxxMapper extends BaseMapper { WjxDjxx findDjxx(@Param("id")String id,@Param("userId")String userId); List findDjtmxx(@Param("vid")String vid,@Param("jid")String jid); List findDjjgsPage(Page page, WjxDjxx params); + List findUnDjjgsPage(Page page, WjxDjxx params); } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/mapper/xml/WjxDjxxMapper.xml b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/mapper/xml/WjxDjxxMapper.xml index 90e767c8..5f457932 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/mapper/xml/WjxDjxxMapper.xml +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/mapper/xml/WjxDjxxMapper.xml @@ -88,13 +88,13 @@ + + \ No newline at end of file diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/service/impl/WjxDjxxServiceImpl.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/service/impl/WjxDjxxServiceImpl.java index 83b07341..96ce7ed7 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/service/impl/WjxDjxxServiceImpl.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/service/impl/WjxDjxxServiceImpl.java @@ -69,14 +69,20 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl StringBuffer submitDataSb = new StringBuffer(); for(WjxDjxxTmlbPage wjxDjxxTmlbPage:list){ Integer WjIndex = wjxDjxxTmlbPage.getWjIndex(); - String itemSelected = wjxDjxxTmlbPage.getItemSelected().replaceAll(",","|").trim(); - if(itemSelected == null || itemSelected.equals("null") || itemSelected.equals("")){ - if(wjxDjxxTmlbPage.getWjType().equals("5")){ - itemSelected = "(跳过)"; - }else{ + Integer wjType = wjxDjxxTmlbPage.getWjType(); + String itemSelected = ""; + if(wjType == 3 || wjType == 4){ + itemSelected = wjxDjxxTmlbPage.getItemSelected().replaceAll(",","|").trim(); + if(itemSelected == null || itemSelected.equals("null") || itemSelected.equals("")){ itemSelected = "-3"; } } + if(wjType == 5){ + itemSelected = wjxDjxxTmlbPage.getWjAnswer(); + if(itemSelected == null || itemSelected.equals("null") || itemSelected.equals("")){ + itemSelected = "(跳过)"; + } + } submitDataSb.append(WjIndex); submitDataSb.append("$"); submitDataSb.append(itemSelected); @@ -107,7 +113,7 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl Map 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); @@ -133,24 +139,46 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl JSONObject answerItemJson = answer.getJSONObject("answer_items"); for(String key2 : answerItemJson.keySet()){ JSONObject answerItem = answerItemJson.getJSONObject(key2); - Integer wjIndex = answerItem.getInteger("q_index"); - String wjTitle = answerItem.getString("title"); - JSONArray itemIndex = answerItem.getJSONArray("item_index"); - Double itemScore = answerItem.getDouble("item_value"); - String answerText = answerItem.getString("answer_text"); WjxDjxxTmxx wjxDjxxTmxx = new WjxDjxxTmxx(); wjxDjxxTmxx.setVid(answerVid); wjxDjxxTmxx.setJid(jidAns); wjxDjxxTmxx.setUserId(user.getUsername()); wjxDjxxTmxx.setCreateBy(user.getUsername()); wjxDjxxTmxx.setCreateTime(new Date()); - wjxDjxxTmxx.setWjIndex(wjIndex); - wjxDjxxTmxx.setWjTitle(wjTitle); - wjxDjxxTmxx.setItemScore(itemScore); - wjxDjxxTmxx.setAnswerText(answerText); - for(Object index : itemIndex){ - Integer ti = (Integer) index; - wjxDjxxTmxx.setItemIndex(ti); + + 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"); + 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); + baseMapper.addDjTmxx(wjxDjxxTmxx); + } + }else{ + String id = new DefaultIdentifierGenerator().nextId(new WjxDjxxTmxx()).toString(); + wjxDjxxTmxx.setId(id); + baseMapper.addDjTmxx(wjxDjxxTmxx); + } + }else{ String id = new DefaultIdentifierGenerator().nextId(new WjxDjxxTmxx()).toString(); wjxDjxxTmxx.setId(id); baseMapper.addDjTmxx(wjxDjxxTmxx); @@ -301,11 +329,18 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl @Override public Page findDjjgsPage(WjxDjxx wjxDjxx, Page page){ - List list = baseMapper.findDjjgsPage(page,wjxDjxx); - for(WjxDjxx djxx:list){ - djxx.setAnswerSfm(convertSecondsToHMS(djxx.getAnswerSeconds())); + if(wjxDjxx.getIsFinished().equals("1")){ + //完成答卷的 + List list = baseMapper.findDjjgsPage(page,wjxDjxx); + for(WjxDjxx djxx:list){ + djxx.setAnswerSfm(convertSecondsToHMS(djxx.getAnswerSeconds())); + } + page.setRecords(list); + }else{ + //未完成答卷的 + List list = baseMapper.findUnDjjgsPage(page,wjxDjxx); + page.setRecords(list); } - page.setRecords(list); return page; } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/controller/WjxWjxxController.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/controller/WjxWjxxController.java index 5960bdea..234f9192 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/controller/WjxWjxxController.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/controller/WjxWjxxController.java @@ -56,13 +56,34 @@ public class WjxWjxxController extends JeecgController @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(wjxWjxx, req.getParameterMap()); - queryWrapper.orderByDesc("create_time"); - queryWrapper.orderByAsc("start_time"); - Page page = new Page(pageNo, pageSize); - IPage pageList = wjxWjxxService.page(page, queryWrapper); +// QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(wjxWjxx, req.getParameterMap()); +// queryWrapper.orderByDesc("create_time"); +// queryWrapper.orderByAsc("start_time"); +// Page page = new Page(pageNo, pageSize); +// IPage pageList = wjxWjxxService.page(page, queryWrapper); + Page pageList = wjxWjxxService.findPage(wjxWjxx, new Page<>(pageNo, pageSize)); return Result.OK(pageList); } + + /** + * 学生问卷分页列表查询 + * + * @param wjxWjxx + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "问卷信息-分页列表查询") + @ApiOperation(value="问卷信息-分页列表查询", notes="问卷信息-分页列表查询") + @GetMapping(value = "/stuList") + public Result> queryPageStuList(WjxWjxx wjxWjxx, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + Page pageList = wjxWjxxService.findStuPage(wjxWjxx, new Page<>(pageNo, pageSize)); + return Result.OK(pageList); + } /** * 添加 @@ -185,8 +206,8 @@ public class WjxWjxxController extends JeecgController @ApiOperation(value="发布问卷", notes="发布问卷") @GetMapping(value = "/fbwj") - public Result fbwj(@RequestParam(name="id",required=true) String id) { - String res = wjxWjxxService.fbwj(id); + public Result fbwj(@RequestParam(name="id",required=true) String id,@RequestParam(name="wjlx",required=true) String wjlx) { + String res = wjxWjxxService.fbwj(id,wjlx); return Result.OK(res); } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/entity/WjxWjxx.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/entity/WjxWjxx.java index c11c1efa..145847db 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/entity/WjxWjxx.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/entity/WjxWjxx.java @@ -1,15 +1,11 @@ package org.jeecg.modules.kc.wjxWjxx.entity; import java.io.Serializable; -import java.io.UnsupportedEncodingException; import java.util.Date; -import java.math.BigDecimal; -import java.util.List; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; -import org.jeecg.modules.kc.wjxWjxxTmlb.entity.WjxWjxxTmxx; import org.springframework.format.annotation.DateTimeFormat; import org.jeecgframework.poi.excel.annotation.Excel; import org.jeecg.common.aspect.annotation.Dict; @@ -92,6 +88,12 @@ public class WjxWjxx implements Serializable { private String kcmc; @ApiModelProperty(value = "选课人数") private String xkrs; + @ApiModelProperty(value = "已完成人数") + @TableField(exist = false) + private Integer ywcrs; + @ApiModelProperty(value = "未完成人数") + @TableField(exist = false) + private Integer wwcrs; @ApiModelProperty(value = "开始时间") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @@ -100,5 +102,13 @@ public class WjxWjxx implements Serializable { @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date endTime; - + @ApiModelProperty(value = "答卷状态标识") + @TableField(exist = false) + private String flag;// -1 未答卷 0已答卷 1已答卷查询 + @ApiModelProperty(value = "学生学号") + @TableField(exist = false) + private String userId; + @ApiModelProperty(value = "答卷ID") + @TableField(exist = false) + private String djId; } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/mapper/WjxWjxxMapper.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/mapper/WjxWjxxMapper.java index 88713279..bfee682d 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/mapper/WjxWjxxMapper.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/mapper/WjxWjxxMapper.java @@ -1,10 +1,10 @@ package org.jeecg.modules.kc.wjxWjxx.mapper; import java.util.List; - import org.apache.ibatis.annotations.Param; import org.jeecg.modules.kc.wjxWjxx.entity.WjxWjxx; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; /** * @Description: 问卷信息 @@ -13,6 +13,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; * @Version: V1.0 */ public interface WjxWjxxMapper extends BaseMapper { + List findPage(Page page,WjxWjxx param); + List findStuPage(Page page,WjxWjxx param); WjxWjxx kcxx(@Param("rwbh")String rwbh,@Param("xqxn")String xqxn); void updateVid(@Param("id")String id,@Param("vid")String vid); } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/mapper/xml/WjxWjxxMapper.xml b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/mapper/xml/WjxWjxxMapper.xml index 4b5c16bc..03c6505b 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/mapper/xml/WjxWjxxMapper.xml +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/mapper/xml/WjxWjxxMapper.xml @@ -2,6 +2,77 @@ + + + +