Parcourir la source

工作台代码提交,培训任务时间均分

jingyuanchao il y a 2 ans
Parent
commit
10dd786aa5

+ 12 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/utils/DateUtils.java

@@ -240,6 +240,9 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
 
     public static Map<Integer, DateRange> splitDateRange(@NotNull Date startTime, @NotNull Date endTime, int count) {
         Map<Integer, DateRange> dateRanges = new HashMap<>();
+        //设置毫秒为0
+        startTime = DateTime.of(startTime).setField(DateField.MILLISECOND, 0);
+        endTime = DateTime.of(endTime).setField(DateField.MILLISECOND, 0);
         long start = startTime.getTime();
         long end = endTime.getTime();
         if (start >= end || (end - start) < 1000L * count) {
@@ -300,6 +303,15 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
         return list;
     }
 
+    public static Date getPreciseTime(Date date) {
+        // 日历对象
+        Calendar c = Calendar.getInstance();
+        // 设置时间
+        c.setTime(date);
+        // 设置毫秒值为0
+        c.set(Calendar.MILLISECOND, 0);
+        return c.getTime();
+    }
 
     public static void main(String[] args) throws ParseException {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

+ 5 - 3
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/CoreEduTrainingTaskServiceImpl.java

@@ -333,14 +333,16 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
         List<CoreEduTrainingPlanToRole> planRoleList = plan.getPlanRoleList();
         List<CoreEduTrainingTask> taskList = new ArrayList<>();
         List<CoreEduTrainingTaskToRole> taskRoleList = new ArrayList<>();
+        Map<Integer, DateRange> dateRangeMap = DateUtils.splitDateRange(start, end, plan.getExecTimes());
         for (SysOrg org : orgList) {
-            for (int i = 0; i < plan.getExecTimes(); i++) {
+            for (int i = 1; i <= plan.getExecTimes(); i++) {
+                DateRange dateRange = dateRangeMap.get(i);
                 CoreEduTrainingTask trainingTask = new CoreEduTrainingTask();
                 trainingTask.setId(IdWorker.getId());
                 trainingTask.setPlanId(plan.getId());
                 trainingTask.setPlanCycle(plan.getPlanCycle());
-                trainingTask.setStartDate(start);
-                trainingTask.setEndDate(end);
+                trainingTask.setStartDate(DateUtils.getPreciseTime(dateRange.getStartTime()));
+                trainingTask.setEndDate(DateUtils.getPreciseTime(dateRange.getEndTime()));
                 trainingTask.setContent(null);
                 trainingTask.setTitle(plan.getPlanName());
                 trainingTask.setNote(null);

+ 2 - 2
soc-modules/soc-modules-core/src/main/resources/mapper/drill/CoreDrillTaskMapper.xml

@@ -279,7 +279,7 @@
     </update>
 
     <select id="selectCurUserTaskList" resultType="com.xunmei.common.core.domain.panel.vo.PanelListVo">
-        select distinct t.id as id, title as taskName,t.start_date startTime,t.end_date as endTime
+        select distinct t.id as id, title as taskName,t.start_date startTime,t.end_date as endTime,t.status
         from core_drill_task t inner join core_drill_task_to_role tr  on t.id=tr.drill_task_id
         where t.org_id =#{request.orgId} and  tr.role_id in
         <foreach collection="request.roleIdList" item="roleId" open="(" separator="," close=")">
@@ -306,7 +306,7 @@
     </select>
 
     <select id="selectWaitEvaluateTaskList" resultType="com.xunmei.common.core.domain.panel.vo.PanelListVo">
-        select distinct t.id as id, title as taskName,t.start_date startTime,t.end_date as endTime
+        select distinct t.id as id, title as taskName,t.start_date startTime,t.end_date as endTime,t.status
         from core_drill_task t
         where  t.status =2
         and t.org_path like concat(#{request.orgPath},'%')

+ 1 - 1
soc-modules/soc-modules-core/src/main/resources/mapper/edu/CoreEduTrainingTaskMapper.xml

@@ -190,7 +190,7 @@
     </update>
 
     <select id="selectCurUserTaskList" resultType="com.xunmei.common.core.domain.panel.vo.PanelListVo">
-        select distinct t.id as id, title as taskName,t.start_date startTime,t.end_date as endTime
+        select distinct t.id as id, title as taskName,t.start_date startTime,t.end_date as endTime,t.status
         from core_edu_training_task t inner join core_edu_training_task_to_role tr on t.id=tr.edu_training_task_id
         where t.org_id =#{request.orgId} and  tr.role_id in
         <foreach collection="request.roleIdList" item="roleId" open="(" separator="," close=")">

+ 1 - 1
soc-modules/soc-modules-core/src/main/resources/mapper/resumption/ResumptionMapper.xml

@@ -198,7 +198,7 @@
 
     <select id="selectCurUserTaskList" resultType="com.xunmei.common.core.domain.panel.vo.PanelListVo">
 
-        select distinct t.id as id, name as taskName,t.plan_start_time as startTime,t.plan_end_time as endTime
+        select distinct t.id as id, name as taskName,t.plan_start_time as startTime,t.plan_end_time as endTime,t.status
         from core_resumption t where  t.org_id =#{request.orgId} and  t.role_id in
         <foreach collection="request.roleIdList" item="roleId" open="(" separator="," close=")">
             #{roleId}

+ 1 - 1
soc-modules/soc-modules-core/src/main/resources/mapper/retrieval/CoreMonitoringRetrievalTaskMapper.xml

@@ -425,7 +425,7 @@
     </update>
 
     <select id="selectCurUserTaskList" resultType="com.xunmei.common.core.domain.panel.vo.PanelListVo">
-     select distinct t.id as id, task_name as taskName,t.plan_start_time as startTime,t.plan_end_time as endTime
+     select distinct t.id as id, task_name as taskName,t.plan_start_time as startTime,t.plan_end_time as endTime,t.status
         from core_monitoring_retrieval_task t where t.org_id =#{request.orgId} and  t.role_id in
          <foreach collection="request.roleIdList" item="roleId" open="(" separator="," close=")">
             #{roleId}

+ 1 - 1
soc-modules/soc-modules-core/src/main/resources/mapper/safetycheck/CoreSafetyTaskMapper.xml

@@ -733,7 +733,7 @@
     </select>
 
     <select id="selectCurUserTaskList" resultType="com.xunmei.common.core.domain.panel.vo.PanelListVo">
-        select distinct t.id as id, title as taskName,t.plan_start_time as startTime,t.plan_end_time as endTime
+        select distinct t.id as id, title as taskName,t.plan_start_time as startTime,t.plan_end_time as endTime,t.status
         from core_safety_task t where t.org_id =#{request.orgId} and  t.role_id in
         <foreach collection="request.roleIdList" item="roleId" open="(" separator="," close=")">
             #{roleId}