ソースを参照

测试修改mld

yusm 1 ヶ月 前
コミット
ed2b61359f

+ 6 - 4
fhKeeper/formulahousekeeper/management-platform-mld/src/main/java/com/management/platform/controller/TaskController.java

@@ -280,10 +280,10 @@ public class TaskController {
                     conflictExecutor.append(ex.getExecutorName()).append(",");
                 }
             });
-            if (conflictExecutor.length() > 0) {
-                conflictExecutor.deleteCharAt(conflictExecutor.length() - 1);
-                msg.setError("执行人[" + conflictExecutor.toString() + "]在其他任务上有时间冲突");
-            }
+//            if (conflictExecutor.length() > 0) {
+//                conflictExecutor.deleteCharAt(conflictExecutor.length() - 1);
+//                msg.setError("执行人[" + conflictExecutor.toString() + "]在其他任务上有时间冲突");
+//            }
             if (msg.code.equals("error")) {
                 return msg;
             }
@@ -1286,6 +1286,8 @@ public class TaskController {
         taskCommentService.remove(new QueryWrapper<TaskComment>().eq("task_id", id));
         deleteSubTask(task);
 
+        //删除任务分配工时
+        taskDailyAllocateService.remove(new QueryWrapper<TaskDailyAllocate>().eq("task_id", id));
 
         //删除里程碑,需要重新计算项目进度
 //        if (task.getTaskType() == 1) {

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform-mld/src/main/java/com/management/platform/controller/TaskDailyAllocateController.java

@@ -38,8 +38,8 @@ public class TaskDailyAllocateController {
 
     //查询该时间段里面分配工时列表
     @RequestMapping("/viewUserTaskSchedule")
-    public HttpRespMsg viewUserTaskSchedule(Integer taskId, String userId, String startTime, String endTime) {
-        return taskDailyAllocateService.viewUserTaskSchedule(taskId, userId, startTime, endTime, request);
+    public HttpRespMsg viewUserTaskSchedule(Integer taskId, String userId, String startDate, String endDate) {
+        return taskDailyAllocateService.viewUserTaskSchedule(taskId, userId, startDate, endDate, request);
     }
 
     //判断是否冲突

+ 21 - 0
fhKeeper/formulahousekeeper/management-platform-mld/src/main/java/com/management/platform/entity/TaskDailyAllocate.java

@@ -80,6 +80,27 @@ public class TaskDailyAllocate extends Model<TaskDailyAllocate> {
     @TableField("over_work_hour")
     private Double overWorkHour;
 
+    @TableField(exist = false)
+    private String name;
+
+    @TableField(exist = false)
+    private String typeName;
+
+    @TableField(exist = false)
+    private String endDate;
+
+    @TableField(exist = false)
+    private String startDate;
+
+    @TableField(exist = false)
+    private Integer taskPlanType;
+
+    @TableField(exist = false)
+    private Integer taskStatus;
+
+
+
+
 
     @Override
     protected Serializable pkVal() {

+ 33 - 9
fhKeeper/formulahousekeeper/management-platform-mld/src/main/java/com/management/platform/service/impl/TaskServiceImpl.java

@@ -120,6 +120,9 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
     @Resource
     private TaskDailyAllocateService taskDailyAllocateService;
 
+    @Resource
+    private TaskDailyAllocateMapper taskDailyAllocateMapper;
+
     @Resource
     private InformationService informationService;
     @Autowired
@@ -943,11 +946,8 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
                         initworkHourExector=hoursDifference;
                         taskExecutor.setProjectId(task.getProjectId());
 
-                        Integer count = taskMapper.getUserConflitTaskCount(user.getId(), task.getId(), task.getStartDate(), task.getEndDate());
+//                        Integer count = taskMapper.getUserConflitTaskCount(user.getId(), task.getId(), task.getStartDate(), task.getEndDate());
 //                        List<Task> taskConflitList = taskMapper.getTaskConflitList(user.getId(), task.getId(), task.getStartDate(), task.getEndDate());
-                        if (count > 0) {
-                            throw new Exception("第" + (rowIndex + 1) + "行,执行人" + user.getName() + "在其他任务上有时间冲突");
-                        }
 
                         Optional<Project> projectFirst = allProjectList.stream().filter(t -> t.getId().equals(task.getProjectId())).findFirst();
                         projectFirst.ifPresent(project -> taskExecutor.setFirstAuditorId(project.getInchargerId()));
@@ -970,6 +970,11 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
                     taskMapper.updateById(task);
 
                     taskDailyAllocate.setTaskId(task.getId());
+
+                    int count=taskDailyAllocateService.getConflict(taskDailyAllocate, request);
+                    if (count > 0) {
+                        throw new Exception("第" + (rowIndex + 1) + "行,执行人" + executorStr + "在每日工时分配上有时间冲突");
+                    }
                     taskDailyAllocateService.save(taskDailyAllocate);
 
                     //给第一审核人发送信息提醒
@@ -1113,10 +1118,6 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
                         taskExecutor.setPlanHours(initworkHourExector);//todo 每个执行人的计划工时,要累加
                         taskExecutor.setProjectId(initProjectId);
 
-                        Integer count = taskMapper.getUserConflitTaskCount(user.getId(), initTaskId, initStartDate, initEndDate);
-                        if (count > 0) {
-                            throw new Exception("第" + (rowIndex + 1) + "行,执行人" + user.getName() + "在其他任务上有时间冲突");
-                        }
 
                         Integer finalInitProjectId = initProjectId;
                         Optional<Project> projectFirst = allProjectList.stream().filter(t -> t.getId().equals(finalInitProjectId)).findFirst();
@@ -1132,6 +1133,11 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
                         taskDailyAllocate.setTaskId(initTaskId);
                         taskDailyAllocate.setUserId(first.get().getId());
 
+                        int count=taskDailyAllocateService.getConflict(taskDailyAllocate, request);
+                        if (count > 0) {
+                            throw new Exception("第" + (rowIndex + 1) + "行,执行人" + first.get().getName() + "在每日工时分配上有时间冲突");
+                        }
+
                         initUserStr=executorStr;
                         initExectorIds = getString(initExectorIds, first.get().getId());
                         initExectorColors=getString(initExectorColors, first.get().getColor());
@@ -1878,7 +1884,25 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
     public HttpRespMsg viewUserTaskSchedule(Integer taskId, String userId, String startDate, String endDate, HttpServletRequest request) {
         HttpRespMsg msg = new HttpRespMsg();
         DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-        msg.data = taskMapper.getUserTaskTimeList(taskId, userId, LocalDateTime.parse(startDate, dtf), LocalDateTime.parse(endDate, dtf));
+//        msg.data = taskMapper.getUserTaskTimeList(taskId, userId, LocalDateTime.parse(startDate, dtf), LocalDateTime.parse(endDate, dtf));
+        ArrayList<TaskDailyAllocate> userTaskTimeList = taskDailyAllocateMapper.getUserTaskTimeList(taskId, userId, LocalDateTime.parse(startDate, dtf), LocalDateTime.parse(endDate, dtf));
+        if (!userTaskTimeList.isEmpty()){
+            for (TaskDailyAllocate allocate : userTaskTimeList) {
+                LocalDate allocateDate = allocate.getAllocateDate();
+                LocalTime startTime = allocate.getStartTime();
+                LocalTime endTime = allocate.getEndTime();
+
+                LocalDateTime startDateTime = LocalDateTime.of(allocateDate, startTime);
+                LocalDateTime endDateTime = LocalDateTime.of(allocateDate, endTime);
+
+                DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+                String formattedStart = startDateTime.format(formatter);
+                String formattedEnd = endDateTime.format(formatter);
+                allocate.setStartDate(formattedStart);
+                allocate.setEndDate(formattedEnd);
+            }
+        }
+        msg.data=userTaskTimeList;
         return msg;
     }
 

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform-mld/src/main/resources/mapper/TaskDailyAllocateMapper.xml

@@ -20,7 +20,7 @@
     </sql>
 
     <select id="getUserTaskTimeList" resultType="com.management.platform.entity.TaskDailyAllocate">
-        SELECT tda.*,p.project_name projectName,t.name taskName
+        SELECT tda.*,p.project_name name,t.name typeName,t.task_status taskStatus
         FROM task_daily_allocate tda
         LEFT JOIN task  t ON t.id = tda.`task_id`
         left join project p on p.id = t.`project_id`