package jnpf.tmsService; import jnpf.tmsEntity.person.TmsPersonTaskLearnResult; import jnpf.tmsEntity.person.TmsPersonTaskMineForm; import jnpf.tmsEntity.person.TmsPersonTaskQuery; import jnpf.tmsEntity.person.TmsPersonTaskSignResult; import jnpf.tmsEntity.person.TmsQuizAnswerForm; import jnpf.tmsEntity.person.TmsQuizQuestionVO; import jnpf.tmsEntity.person.TmsQuizSubmitResult; import jnpf.tmsEntity.record.TmsQuizAnswerPaperVO; import java.math.BigDecimal; import java.util.List; /** * 学员个人培训任务(学完/签到/考试成绩回写)。不写个人档案目录。 */ public interface TmsPersonTaskService { List getMine(TmsPersonTaskQuery query); TmsPersonTaskMineForm getInfo(String id); TmsPersonTaskLearnResult markLearned(String id, Integer seconds); /** 在线签到:校验培训方式是否允许、是否在培训时间窗内,写入签到时间 */ TmsPersonTaskSignResult sign(String id); /** * 扫码签到:校验二维码载荷后写入签到(sign_mode=app_scan/wx_scan) * * @param qrContent 二维码原文 JSON * @param signMode app_scan / wx_scan,空则默认 app_scan */ TmsPersonTaskSignResult scanSign(String qrContent, String signMode); /** * 考试交卷回写成绩与合格标记到本表(不写 tms_person_train)。 * 无 person_task_id 时由调用方忽略。 */ void writeBackExamResult(String personTaskId, BigDecimal examScore, String passFlag); /** 签到后待答题干(不含参考答案) */ List listQuizQuestions(String personTaskId); /** 提交提问答案并自动判分 */ TmsQuizSubmitResult submitQuiz(String personTaskId, TmsQuizAnswerForm form); /** 当前学员本人的提问答卷(本人任务) */ TmsQuizAnswerPaperVO getMyQuizAnswers(String personTaskId); }