123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package cn.com.qmth.im.bean;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.LinkedHashMap;
- import java.util.List;
- import java.util.Map;
- import org.apache.commons.collections4.CollectionUtils;
- import org.apache.log4j.LogManager;
- import org.apache.log4j.Logger;
- import org.apache.poi.xssf.usermodel.XSSFRow;
- import org.apache.poi.xssf.usermodel.XSSFSheet;
- import org.apache.poi.xssf.usermodel.XSSFWorkbook;
- import cn.com.qmth.im.config.Param;
- import cn.com.qmth.im.multithread.Producer;
- public class DeleteQuestionProducer extends Producer<DeleteQuestionDto, DeleteQuestionConsumer> {
- private static Logger logger = LogManager.getLogger(DeleteQuestionProducer.class);
- @Override
- protected void produce(Map<String, Object> param) throws Exception {
- logger.info("***************************任务生产开始");
- List<QuestionId> ids = readSubject();
- if (CollectionUtils.isEmpty(ids)) {
- logger.warn("***************************!!没有需要处理的数据");
- }
- logger.info("***************************总题数:" + ids.size());
- Map<String, List<QuestionId>> map = new LinkedHashMap<>();
- for (QuestionId id : ids) {
- List<QuestionId> tem = map.get(id.getCourseCode());
- if (tem == null) {
- tem = new ArrayList<>();
- map.put(id.getCourseCode(), tem);
- }
- tem.add(id);
- }
- setTotal(map.size());
- logger.info("***************************总科目数:" + map.size());
- for (List<QuestionId> dto : map.values()) {
- offer(new DeleteQuestionDto(dto));
- }
- logger.info("***************************任务生产结束");
- }
- private static List<QuestionId> readSubject() {
- List<QuestionId> list = new ArrayList<>();
- XSSFWorkbook wb = null;
- try {
- wb = new XSSFWorkbook(Param.dataDir + "/duplicatequestion.xlsx");
- XSSFSheet sheet = wb.getSheetAt(0);
- int rows = sheet.getLastRowNum();
- for (int i = 1; i <= rows; i++) {
- XSSFRow row = sheet.getRow(i);
- String valid = row.getCell(9).getStringCellValue().trim();
- if ("否".equals(valid)) {
- QuestionId c = new QuestionId();
- String courseCode = row.getCell(1).getStringCellValue().trim();
- String uid = row.getCell(7).getStringCellValue().trim();
- String qid = row.getCell(8).getStringCellValue().trim();
- c.setCourseCode(courseCode);
- c.setUnitId(uid);
- c.setQuestionId(qid);
- list.add(c);
- }
- }
- } catch (IOException e) {
- throw new RuntimeException(e);
- } finally {
- if (wb != null) {
- try {
- wb.close();
- } catch (IOException e) {
- }
- }
- }
- return list;
- }
- @Override
- protected String getTaskName() {
- return "删除试题";
- }
- }
|