From d80d1e4b3c66b60624f4c69201da2d0e0dd240fc Mon Sep 17 00:00:00 2001 From: bianyadong Date: Thu, 9 May 2024 16:16:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=B9=E8=AE=AD=E8=BF=94=E5=9B=9E=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/dao/EmployeeTrainingDAO.java | 13 ++++++ .../mapper/EmployeeTrainingMapper.xml | 1 + .../com/cool/store/vo/EmployeeTrainingVO.java | 2 +- .../impl/EmployeeTrainingServiceImpl.java | 5 ++- .../impl/TempUserDetailServiceImpl.java | 2 +- .../store/service/impl/VodServiceImpl.java | 2 +- .../com/cool/store/job/XxlJobHandler.java | 41 +++++++++++++++++-- 7 files changed, 58 insertions(+), 8 deletions(-) diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java index 28e815606..1244648b8 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java @@ -1,13 +1,16 @@ package com.cool.store.dao; +import com.cool.store.entity.AssessmentDataDO; import com.cool.store.entity.EmployeeTrainingDO; import com.cool.store.mapper.EmployeeTrainingMapper; import com.cool.store.vo.EmployeeTrainingVO; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; +import tk.mybatis.mapper.entity.Example; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** @@ -64,4 +67,14 @@ public class EmployeeTrainingDAO { return employeeTrainingMapper.assessmentUserList(name, practicalAssessmentUserId, assessmentStatus, estimatedAssessmentBeginTime, estimatedAssessmentEndTime, actualAssessmentBeginTime, actualAssessmentEndTime); } + + public List theoreticalList() { + List statusList = new ArrayList<>(); + statusList.add(2); + statusList.add(3); + Example example = new Example(EmployeeTrainingDO.class); + example.createCriteria().andCondition("assessment_num = assessment_total_num").andEqualTo("theoretical_exam_status", 0) + .andIn("assessment_status", statusList); + return employeeTrainingMapper.selectByExample(example); + } } diff --git a/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml index 46499d631..eb56ee1f6 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml @@ -115,6 +115,7 @@ u.shop_id as shopId, s.shop_name as shopName, u.id_card as idCard, + u.register_time as registerTime, e.id as employeeTrainingId, e.training_store_id as trainingStoreId, e.training_teacher_user_id as trainingTeacherUserId, diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java index 839aafdb4..316597514 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java @@ -63,7 +63,7 @@ public class EmployeeTrainingVO { @ApiModelProperty("实操考试分值") private Integer practicalExamScore; - @ApiModelProperty("考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过") + @ApiModelProperty("考核状态 -1 未开始 0-培训中 1-带考核 2-考核通过 3-考核不通过") private Integer assessmentStatus; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java index bff5a572d..fbae23f81 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java @@ -265,7 +265,10 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { list.forEach(item -> { item.setTrainingStoreName(storeNameMap.get(item.getTrainingStoreId())); item.setRegionNodeName(regionNameMap.get(item.getRegionId())); - + if(item.getAssessmentStatus() == null){ + //培训未开始 + item.setAssessmentStatus(-1); + } }); return list; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java index f0ec22dff..d3d78d689 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java @@ -116,7 +116,7 @@ public class TempUserDetailServiceImpl implements TempUserDetailService { tempUserDetailDO.setIdCardNegativeUrl(tempUserDetailRequest.getEmblemPhoto()); tempUserDetailDO.setIdCardPositiveUrl(tempUserDetailRequest.getIdNumPhoto()); tempUserDetailDO.setHealthCertificateUrl(tempUserDetailRequest.getHealthCertificate()); - tempUserDetailDO.setRegisterTime(new Date()); + tempUserDetailDO.setRegisterTime(tempUserDetailRequest.getRegisterTime()); tempUserDetailDO.setSubmitTime(new Date()); tempUserDetailDO.setSource("create"); tempUserDetailDAO.insertSelective(tempUserDetailDO); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/VodServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/VodServiceImpl.java index 5705abb3a..37576d4b3 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/VodServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/VodServiceImpl.java @@ -159,7 +159,7 @@ public class VodServiceImpl implements VodService { smallVideoDTO.setVideoUrlBefore(smallVideoDTO.getVideoUrlBefore().replace("http://", "https://")); } SmallVideoParam smallVideoParam = JSONObject.parseObject(notCompleteCache, SmallVideoParam.class); - if (UploadTypeEnum.TB_DATA_STA_TABLE_COLUMN.getValue().equals(smallVideoParam.getUploadType())) { + if (UploadTypeEnum.ASSESSMENT_DATA_CONTENT.getValue().equals(smallVideoParam.getUploadType())) { //检查项提交 dealVideo(smallVideoDTO, smallVideoParam); //保存完删除缓存 diff --git a/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java b/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java index 0b5666b30..d8cc72d9f 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java @@ -4,13 +4,11 @@ import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; import com.cool.store.constants.CommonConstants; import com.cool.store.dao.*; +import com.cool.store.dto.StaffExamInfoDTO; import com.cool.store.dto.decoration.ConstructionScheduleDTO; import com.cool.store.dto.openPreparation.OpenPlanShopInfoDTO; import com.cool.store.dto.xfsgFirstOderDTO; -import com.cool.store.entity.AcceptanceInfoDO; -import com.cool.store.entity.LeaseBaseInfoDO; -import com.cool.store.entity.LineInterviewDO; -import com.cool.store.entity.ShopStageInfoDO; +import com.cool.store.entity.*; import com.cool.store.enums.*; import com.cool.store.enums.point.ShopSubStageEnum; import com.cool.store.enums.point.ShopSubStageStatusEnum; @@ -23,6 +21,7 @@ import com.cool.store.response.xfsgFirstOderListResponse; import com.cool.store.service.CoolStoreStartFlowService; import com.cool.store.service.DecorationService; import com.cool.store.service.PreparationService; +import com.cool.store.service.XfsgEhrService; import com.cool.store.service.impl.CommonService; import com.cool.store.utils.poi.DateUtils; import com.cool.store.utils.poi.StringUtils; @@ -76,6 +75,14 @@ public class XxlJobHandler { private DecorationService decorationService; @Resource private CommonService commonService; + @Resource + private EmployeeTrainingDAO employeeTrainingDAO; + @Resource + private XfsgEhrService xfsgEhrService; + @Resource + private TempUserDetailDAO tempUserDetailDAO; + @Resource + private EnterpriseUserDAO enterpriseUserDAO; /** * 每天都将待体验门店信息变更到体验中 @@ -266,4 +273,30 @@ public class XxlJobHandler { XxlJobHelper.handleSuccess(); } + @XxlJob("theoreticalExam") + public void theoreticalExam() { + log.info("------理论考试更新------"); + List theoreticalList = employeeTrainingDAO.theoreticalList(); + if (CollectionUtils.isEmpty(theoreticalList)) { + log.info("------今日没有待更新数据------"); + return; + } + for (EmployeeTrainingDO employeeTrainingDO : theoreticalList) { + TempUserDetailDO tempUserDetailDO = tempUserDetailDAO.selectById(employeeTrainingDO.getXfsgUserDetailId()); + + EnterpriseUserDO enterpriseUserDO = enterpriseUserDAO.getUserInfoByThirdOaUniqueFlag(tempUserDetailDO.getIdCard()); + //查询理论分支并更新 + StaffExamInfoDTO staffExamInfoDTO = xfsgEhrService.getUserExamInfo(enterpriseUserDO.getJobnumber()); + if (staffExamInfoDTO != null && StringUtils.isNotBlank(staffExamInfoDTO.getExamResult()) + && StringUtils.isNotBlank(staffExamInfoDTO.getExamScore())) { + + employeeTrainingDO.setTheoreticalExamScore(StringUtils.isNotBlank(staffExamInfoDTO.getExamScore()) ? Integer.valueOf(staffExamInfoDTO.getExamScore()) : null); + employeeTrainingDO.setTheoreticalExamStatus(ExamStatusEnum.matchCodeByDesc(staffExamInfoDTO.getExamResult())); + employeeTrainingDAO.updateByPrimaryKeySelective(employeeTrainingDO); + } + + } + XxlJobHelper.handleSuccess(); + } + }