From ad81c83dc8af045088599260bd64e0fb2fd196e7 Mon Sep 17 00:00:00 2001 From: daihh Date: Thu, 27 Oct 2022 22:08:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/xboe/StartRunner.java | 4 +- .../xboe/basic/entity/StudyCourseItem.java | 3 - .../basic/service/impl/ModifyServiceImpl.java | 77 ++++++++++++++++++- .../xboe/basic/service/impl/PaperItem.java | 21 +++++ .../basic/service/impl/PaperItemOption.java | 12 +++ 5 files changed, 110 insertions(+), 7 deletions(-) create mode 100644 servers/modify-221027/src/main/java/com/xboe/basic/service/impl/PaperItem.java create mode 100644 servers/modify-221027/src/main/java/com/xboe/basic/service/impl/PaperItemOption.java diff --git a/servers/modify-221027/src/main/java/com/xboe/StartRunner.java b/servers/modify-221027/src/main/java/com/xboe/StartRunner.java index 30acfabf..303c1399 100644 --- a/servers/modify-221027/src/main/java/com/xboe/StartRunner.java +++ b/servers/modify-221027/src/main/java/com/xboe/StartRunner.java @@ -27,8 +27,8 @@ public class StartRunner implements ApplicationRunner { public void run(ApplicationArguments args) throws Exception { //用于存放 kid=newId try { - - + //本地 971783273423056896,971783831047385088 + service.modifyCourseExamScore("971783273423056896","971783831047385088"); } catch (Exception e) { log.error("执行失败",e); e.printStackTrace(); diff --git a/servers/modify-221027/src/main/java/com/xboe/basic/entity/StudyCourseItem.java b/servers/modify-221027/src/main/java/com/xboe/basic/entity/StudyCourseItem.java index 31dcdde1..83286327 100644 --- a/servers/modify-221027/src/main/java/com/xboe/basic/entity/StudyCourseItem.java +++ b/servers/modify-221027/src/main/java/com/xboe/basic/entity/StudyCourseItem.java @@ -1,12 +1,9 @@ package com.xboe.basic.entity; -import java.time.LocalDateTime; - import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; -import com.fasterxml.jackson.annotation.JsonFormat; import com.xboe.core.SysConstant; import com.xboe.core.orm.IdEntity; diff --git a/servers/modify-221027/src/main/java/com/xboe/basic/service/impl/ModifyServiceImpl.java b/servers/modify-221027/src/main/java/com/xboe/basic/service/impl/ModifyServiceImpl.java index b497e337..af178ba7 100644 --- a/servers/modify-221027/src/main/java/com/xboe/basic/service/impl/ModifyServiceImpl.java +++ b/servers/modify-221027/src/main/java/com/xboe/basic/service/impl/ModifyServiceImpl.java @@ -1,10 +1,21 @@ package com.xboe.basic.service.impl; +import java.util.ArrayList; import java.util.List; +import javax.transaction.Transactional; + +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.type.CollectionType; +import com.xboe.basic.dao.StudyCourseItemDao; import com.xboe.basic.dao.StudyExamDao; import com.xboe.basic.entity.StudyExam; import com.xboe.basic.service.IModifyService; @@ -20,12 +31,74 @@ public class ModifyServiceImpl implements IModifyService { @Autowired StudyExamDao sexameDao; + @Autowired + StudyCourseItemDao scitemDao; + @Override + @Transactional public void modifyCourseExamScore(String courseId,String testId) { - //查询出所有的 - List list = sexameDao.findList(FieldFilters.eq("courseId", courseId),FieldFilters.eq("testId", testId)); + ObjectMapper mapper=new ObjectMapper(); + mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY,true); + mapper.configure(DeserializationFeature.ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT,true); + mapper.enable(DeserializationFeature.ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + + + //String json="{\"items\":[{\"id\":\"6978553381937754113\",\"type\":102,\"score\":20,\"checked\":false,\"optShow\":false,\"content\":\"3P付薪理念指?\",\"options\":[{\"id\":\"6978553498178695168\",\"content\":\"为岗位价值付薪\",\"answer\":true,\"checked\":true},{\"id\":\"6978553498178695169\",\"content\":\"为个人差异付薪 \",\"answer\":true,\"checked\":false},{\"id\":\"6978553498178695170\",\"content\":\"为绩效付薪\",\"answer\":true,\"checked\":true},{\"id\":\"6978553498178695171\",\"content\":\"为工龄付薪\",\"answer\":false,\"checked\":false}],\"userAnswer\":[\"6978553498178695168\",\"6978553498178695169\",\"6978553498178695170\"]},{\"id\":\"6978553396823339008\",\"type\":102,\"score\":20,\"checked\":false,\"optShow\":false,\"content\":\"BOE业绩贡献薪酬主要包含?\",\"options\":[{\"id\":\"6978553618722992128\",\"content\":\"及时激励金\",\"answer\":true,\"checked\":true},{\"id\":\"6978553618722992129\",\"content\":\"绩效奖金\",\"answer\":true,\"checked\":true},{\"id\":\"6978553618722992130\",\"content\":\"年度业绩奖金\",\"answer\":true,\"checked\":true},{\"id\":\"6978553618722992131\",\"content\":\"股权激励计划\",\"answer\":true,\"checked\":true}],\"userAnswer\":[\"6978553618722992128\",\"6978553618722992129\",\"6978553618722992130\",\"6978553618722992131\"]},{\"id\":\"6978553399407030272\",\"type\":102,\"score\":20,\"checked\":false,\"optShow\":false,\"content\":\"企业年金领取条件?\",\"options\":[{\"id\":\"6978553732237635584\",\"content\":\"达到国家规定的退休年龄\",\"answer\":true,\"checked\":true},{\"id\":\"6978553732241829888\",\"content\":\"出国(境)定居\",\"answer\":true,\"checked\":true},{\"id\":\"6978553732241829889\",\"content\":\"退休前身故\",\"answer\":true,\"checked\":true},{\"id\":\"6978553732241829890\",\"content\":\"经劳动能力鉴定委员会鉴定,因病(残)完全丧失劳动能力\",\"answer\":true,\"checked\":true}],\"userAnswer\":[\"6978553732237635584\",\"6978553732241829888\",\"6978553732241829889\",\"6978553732241829890\"]},{\"id\":\"6978553744212373504\",\"type\":101,\"score\":20,\"checked\":false,\"optShow\":false,\"content\":\"考勤异常申诉每月最多可申请()次?\",\"options\":[{\"id\":\"6978553808188092416\",\"content\":\"3\",\"answer\":false,\"checked\":false},{\"id\":\"6978553808188092417\",\"content\":\"4\",\"answer\":false,\"checked\":false},{\"id\":\"6978553808188092418\",\"content\":\"5\",\"answer\":true,\"checked\":true},{\"id\":\"6978553808188092419\",\"content\":\"6\",\"answer\":false,\"checked\":false}],\"userAnswer\":\"6978553808188092418\"},{\"id\":\"6978553745848152064\",\"type\":101,\"score\":20,\"checked\":false,\"optShow\":false,\"content\":\"员工签订劳动合同后办理结婚登记的,在试用期结束后可享受婚假,同时应在办理完结婚登记后()内申请。\",\"options\":[{\"id\":\"6978553896880844800\",\"content\":\"三个月\",\"answer\":false,\"checked\":false},{\"id\":\"6978553896880844801\",\"content\":\"半年\",\"answer\":false,\"checked\":false},{\"id\":\"6978553896880844802\",\"content\":\"一年\",\"answer\":true,\"checked\":true},{\"id\":\"6978553896880844803\",\"content\":\"两年\",\"answer\":false,\"checked\":false}],\"userAnswer\":\"6978553896880844802\"}]}"; + //String json="{\"items\":[{\"id\":\"6978553381937754113\",\"type\":102,\"score\":20,\"checked\":false,\"optShow\":false,\"content\":\"3P付薪理念指?\",\"options\":[{\"id\":\"6978553498178695168\",\"content\":\"为岗位价值付薪\",\"answer\":true,\"checked\":true},{\"id\":\"6978553498178695169\",\"content\":\"为个人差异付薪 \",\"answer\":true,\"checked\":false},{\"id\":\"6978553498178695170\",\"content\":\"为绩效付薪\",\"answer\":true,\"checked\":false},{\"id\":\"6978553498178695171\",\"content\":\"为工龄付薪\",\"answer\":false,\"checked\":false}],\"userAnswer\":[\"6978553498178695168\"]},{\"id\":\"6978553396823339008\",\"type\":102,\"score\":20,\"checked\":false,\"optShow\":false,\"content\":\"BOE业绩贡献薪酬主要包含?\",\"options\":[{\"id\":\"6978553618722992128\",\"content\":\"及时激励金\",\"answer\":true,\"checked\":false},{\"id\":\"6978553618722992129\",\"content\":\"绩效奖金\",\"answer\":true,\"checked\":false},{\"id\":\"6978553618722992130\",\"content\":\"年度业绩奖金\",\"answer\":true,\"checked\":false},{\"id\":\"6978553618722992131\",\"content\":\"股权激励计划\",\"answer\":true,\"checked\":true}],\"userAnswer\":[\"6978553618722992131\"]},{\"id\":\"6978553399407030272\",\"type\":102,\"score\":20,\"checked\":false,\"optShow\":false,\"content\":\"企业年金领取条件?\",\"options\":[{\"id\":\"6978553732237635584\",\"content\":\"达到国家规定的退休年龄\",\"answer\":true,\"checked\":false},{\"id\":\"6978553732241829888\",\"content\":\"出国(境)定居\",\"answer\":true,\"checked\":false},{\"id\":\"6978553732241829889\",\"content\":\"退休前身故\",\"answer\":true,\"checked\":true},{\"id\":\"6978553732241829890\",\"content\":\"经劳动能力鉴定委员会鉴定,因病(残)完全丧失劳动能力\",\"answer\":true,\"checked\":false}],\"userAnswer\":[\"6978553732241829889\"]},{\"id\":\"6978553744212373504\",\"type\":101,\"score\":20,\"checked\":false,\"optShow\":false,\"content\":\"考勤异常申诉每月最多可申请()次?\",\"options\":[{\"id\":\"6978553808188092416\",\"content\":\"3\",\"answer\":false,\"checked\":false},{\"id\":\"6978553808188092417\",\"content\":\"4\",\"answer\":false,\"checked\":false},{\"id\":\"6978553808188092418\",\"content\":\"5\",\"answer\":true,\"checked\":true},{\"id\":\"6978553808188092419\",\"content\":\"6\",\"answer\":false,\"checked\":false}],\"userAnswer\":\"6978553808188092418\"},{\"id\":\"6978553745848152064\",\"type\":101,\"score\":20,\"checked\":false,\"optShow\":false,\"content\":\"员工签订劳动合同后办理结婚登记的,在试用期结束后可享受婚假,同时应在办理完结婚登记后()内申请。\",\"options\":[{\"id\":\"6978553896880844800\",\"content\":\"三个月\",\"answer\":false,\"checked\":false},{\"id\":\"6978553896880844801\",\"content\":\"半年\",\"answer\":false,\"checked\":true},{\"id\":\"6978553896880844802\",\"content\":\"一年\",\"answer\":true,\"checked\":false},{\"id\":\"6978553896880844803\",\"content\":\"两年\",\"answer\":false,\"checked\":false}],\"userAnswer\":\"6978553896880844801\"},{\"id\":\"6991356164617457665\",\"type\":103,\"score\":5,\"checked\":false,\"optShow\":false,\"content\":\"是否\",\"options\":[{\"id\":\"6991356327297732608\",\"content\":\"正确\",\"answer\":true,\"checked\":true},{\"id\":\"6991356327297732609\",\"content\":\"错误\",\"answer\":false,\"checked\":false}],\"userAnswer\":\"6991356327297732608\"}]}"; + //查询出所有的 + try { + List list = sexameDao.findList(FieldFilters.eq("courseId", courseId),FieldFilters.eq("testId", testId)); + for(StudyExam se : list) { + String pageJson=se.getPaperJson(); + if(StringUtils.isNotBlank(pageJson)) { + float total=countTotal(mapper,pageJson); + System.out.println("最后的得分="+total); + //更新分数 + sexameDao.updateFieldById(se.getId(),"score",total); + //scitemDao.updateFieldById(se.getStudyItemId(), "score", total); + scitemDao.update("update StudyCourseItem set score=?1 where id=?2 and score items=mapper.readValue(jsonItems, collectionType); + + for(PaperItem item:items) { + if(item.getOptions()!=null && !item.getOptions().isEmpty()) { + boolean right=true; + for(PaperItemOption opt : item.getOptions()) { + if(!opt.getChecked() && opt.getAnswer()) { + right=false; + } + } + if(right) { + total+=item.getScore(); + } + } + } + return total; + } } diff --git a/servers/modify-221027/src/main/java/com/xboe/basic/service/impl/PaperItem.java b/servers/modify-221027/src/main/java/com/xboe/basic/service/impl/PaperItem.java new file mode 100644 index 00000000..add606b6 --- /dev/null +++ b/servers/modify-221027/src/main/java/com/xboe/basic/service/impl/PaperItem.java @@ -0,0 +1,21 @@ +package com.xboe.basic.service.impl; + +import java.util.List; + +import lombok.Data; + +@Data +public class PaperItem { + + private String id; + private Integer type; + private Integer score; + private Boolean checked; + private Boolean optShow; + private String content; + //private String userAnswer; + + private List options; + + +} diff --git a/servers/modify-221027/src/main/java/com/xboe/basic/service/impl/PaperItemOption.java b/servers/modify-221027/src/main/java/com/xboe/basic/service/impl/PaperItemOption.java new file mode 100644 index 00000000..34fee3a2 --- /dev/null +++ b/servers/modify-221027/src/main/java/com/xboe/basic/service/impl/PaperItemOption.java @@ -0,0 +1,12 @@ +package com.xboe.basic.service.impl; + +import lombok.Data; + +@Data +public class PaperItemOption { + + private String id; + private String content; + private Boolean answer; + private Boolean checked; +}