Browse Source

代填时,获取代填的人员的天数

seyason 1 year ago
parent
commit
b87749a303

+ 15 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java

@@ -1987,7 +1987,7 @@ public class ReportController {
      * @return
      */
     @RequestMapping("/getWorkDays")
-    public HttpRespMsg getWorkDays(String startDate, String endDate) {
+    public HttpRespMsg getWorkDays(String startDate, String endDate, String userId) {
         HttpRespMsg msg = new HttpRespMsg();
         String token = request.getHeader("TOKEN");
         if (token == null) {
@@ -2018,6 +2018,20 @@ public class ReportController {
                     //msg.setError("日期间隔不得超过365天");
                     msg.setError(MessageUtils.message("date.dateThan365"));
                 } else {
+                    //如果传了人,需要按照人员的入职离职日期来过滤
+                    if (userId != null) {
+                        User user = userService.getById(userId);
+                        if (user != null) {
+                            LocalDate entryDate = user.getInductionDate();
+                            LocalDate leaveDate = user.getInactiveDate();
+                            if (entryDate != null && entryDate.isAfter(localStartDate)) {
+                                startDate = dateTimeFormatter.format(entryDate);
+                            }
+                            if (user.getIsActive() == 0 && leaveDate != null && leaveDate.isBefore(localEndDate)) {
+                                endDate = dateTimeFormatter.format(leaveDate);
+                            }
+                        }
+                    }
                     msg.data = WorkDayCalculateUtils.getWorkDaysCountInRange(startDate, endDate, timeType.getIncludeWeekends());
                 }
             }

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectAddcostRecordServiceImpl.java

@@ -49,7 +49,6 @@ public class ProjectAddcostRecordServiceImpl extends ServiceImpl<ProjectAddcostR
 
     @Override
     public HttpRespMsg add(ProjectAddcostRecord item, String itemList) {
-        projectAddcostRecordMapper.insert(item);
         List<ProjectAddcostItem> list = JSONArray.parseArray(itemList, ProjectAddcostItem.class);
         List<ProjectCurrentcost> curList = projectCurrentcostMapper.selectList(new QueryWrapper<ProjectCurrentcost>().eq("project_id", item.getProjectId()));
         DecimalFormat df = new DecimalFormat("#.00");
@@ -74,6 +73,7 @@ public class ProjectAddcostRecordServiceImpl extends ServiceImpl<ProjectAddcostR
                 }
             }
         }
+        projectAddcostRecordMapper.insert(item);
         list.forEach(li->{
             li.setRecordId(item.getId());
             li.setProjectId(item.getProjectId());

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

@@ -152,7 +152,7 @@
     <select id="getTaskTimeCompare" resultType="java.util.Map">
         SELECT t.id , t.name AS name ,IFNULL(SUM(te.plan_hours),0) AS planHours, IFNULL(SUM(r.`working_time`),0) AS workHours FROM
         task_executor te
-        LEFT JOIN USER u ON te.executor_id=u.id
+        LEFT JOIN user u ON te.executor_id=u.id
         LEFT JOIN task t ON t.id=te.task_id
         LEFT JOIN report r ON r.task_id=t.id AND r.state=1
         LEFT JOIN project p ON p.id=t.project_id

+ 6 - 3
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -3287,11 +3287,14 @@
                 if(this.isBatch == 0) {
                     return
                 }
-                
-                this.http.post('/report/getWorkDays',{ 
+                var reqParam = { 
                     startDate: this.workForm.createDate[0],
                     endDate: this.workForm.createDate[1]
-                },
+                };
+                if (this.isSubstitude && this.workForm.userId != null && this.workForm.userId.length>0) {
+                    reqParam.userId = this.workForm.userId[0];
+                }
+                this.http.post('/report/getWorkDays',reqParam,
                 res => {
                     if (res.code == "ok") {
                         this.jsDay = res.data

+ 2 - 1
fhKeeper/formulahousekeeper/timesheet_h5/src/utils/index.js

@@ -1,5 +1,6 @@
 import {
-    Toast
+    Toast,
+    Dialog
 } from 'vant';
 
 export const loading = (flag) => {