Parcourir la source

Merge branch 'master' of http://47.100.37.243:10080/wutt/manHourHousekeeper into master

seyason il y a 3 ans
Parent
commit
2124de122c

+ 7 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/TimeType.java

@@ -17,7 +17,7 @@ import java.util.List;
  * </p>
  *
  * @author Seyason
- * @since 2022-06-24
+ * @since 2022-06-27
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -260,6 +260,12 @@ public class TimeType extends Model<TimeType> {
     @TableField("fill_ahead")
     private Integer fillAhead;
 
+    /**
+     * 0-当天 1-第二天 2-第三天
+     */
+    @TableField("timeliness")
+    private Integer timeliness;
+
     @TableField(exist = false)
     private List<User> userList;
 

+ 14 - 18
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -35,11 +35,9 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.*;
 import java.math.BigDecimal;
 import java.sql.Timestamp;
-import java.text.DateFormat;
 import java.text.DecimalFormat;
 import java.text.NumberFormat;
 import java.text.SimpleDateFormat;
-import java.time.Duration;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
@@ -3090,25 +3088,20 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     @Override
     public HttpRespMsg getUserReportTimelinessRate(HttpServletRequest request, String startDate, String endDate, Integer departmentId, String userId,Integer pageIndex,Integer pageSize) {
         HttpRespMsg msg=new HttpRespMsg();
-        DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
         DecimalFormat dft =  new DecimalFormat("0%");
-        LocalDateTime sDate = LocalDate.parse(startDate).atTime(LocalTime.now());
-        LocalDateTime eDate = LocalDate.parse(endDate).atTime(LocalTime.now());
+        LocalDateTime sDate = LocalDate.parse(startDate).atTime(LocalTime.MIN);
+        LocalDateTime eDate = LocalDate.parse(endDate).atTime(LocalTime.MIN);
         List<LocalDateTime> dateTimeList = getDays(sDate, eDate);
-        Duration duration=Duration.between(sDate,eDate);
         //去掉非工作日
-        long days = duration.toDays();
+        long days =dateTimeList.size();
         for (LocalDateTime localDateTime : dateTimeList) {
-            if(WorkDayCalculateUtils.isWorkDay(localDateTime.toLocalDate())){
+            if(!WorkDayCalculateUtils.isWorkDay(localDateTime.toLocalDate())){
                 days-=1;
             }
         }
-        System.out.println(days);
         Integer companyId= userMapper.selectById(request.getHeader("token")).getCompanyId();
         TimeType timeType = timeTypeMapper.selectById(companyId);
-        String alertTime = timeType.getAlertTime();
-        Integer alertType = timeType.getAlertType();
-        LocalTime alert = LocalTime.parse(alertTime);
+        Integer timeliness = timeType.getTimeliness();
         List<Map<String,Object>> reportList=reportMapper.getUserReportTimelinessRate(companyId,startDate,endDate);
         System.out.println(reportList);
         QueryWrapper<User> queryWrapper=new QueryWrapper();
@@ -3149,12 +3142,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     Timestamp timestamp = (Timestamp) map.get("createTime");
                     LocalDate createDate = LocalDate.parse(String.valueOf(date));
                     LocalDate createTimeDate =timestamp.toLocalDateTime().toLocalDate();
-                    LocalTime createTime =timestamp.toLocalDateTime().toLocalTime();
-                    //根据提醒类型 判断比较昨天还是今天
-                    if(alertType==1){
-                         createDate=createDate.plusDays(1);
+                    //根据设置
+                    switch (timeliness){
+                        case 1:createDate=createDate.plusDays(1);
+                        break;
+                        case 2:createDate=createDate.plusDays(2);
+                        break;
                     }
-                    if(createTimeDate.isBefore(createDate)||(createTimeDate.isEqual(createDate)&&createTime.isBefore(alert))){
+                    if(createTimeDate.isBefore(createDate)||createTimeDate.isEqual(createDate)){
                         num++;
                     }
                 }
@@ -3278,8 +3273,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         return allList;
     }
     private  List<LocalDateTime> getDays(LocalDateTime start, LocalDateTime end) {
-        List<LocalDateTime> result = new ArrayList<LocalDateTime>();
+        List<LocalDateTime> result = new ArrayList();
         while (start.isBefore(end)) {
+            result.add(start);
             result.add(start.plusDays(1));
             start=start.plusDays(1);
         }

Fichier diff supprimé car celui-ci est trop grand
+ 2 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/TimeTypeMapper.xml


+ 3 - 3
fhKeeper/formulahousekeeper/timesheet/src/views/project/list.vue

@@ -189,7 +189,7 @@
                 </template>
             </el-table-column>
             <!-- 000000 -->
-            <el-table-column label="操作" :width="showColumnWidth" align="left" fixed="right" v-if="showColumnWidth != '0'">
+            <el-table-column label="操作" :width="showColumnWidth" align="left" fixed="right" v-if="showColumnWidth != '0' || permissions.projectManagement">
                 <template slot-scope="scope">
                     <el-button v-if="permissions.projectManagement || user.id==scope.row.creatorId" size="mini"  @click="subProject(scope.row)">子项目</el-button>
                     <el-button size="mini" v-if="permissions.projectManagement || user.id==scope.row.inchargerId || user.id==scope.row.creatorId" type="primary" @click="handleAdd(scope.$index, scope.row)">编辑</el-button>
@@ -2035,7 +2035,7 @@ a {
                 });
             },
             showColumn(list){
-                if(this.permissions.projectManagement){
+                if(!this.permissions.projectManagement){
                     let creat = false
                     let incha = false
                     for(let i in list){
@@ -2056,7 +2056,7 @@ a {
                         }
                     }
                 }else {
-                    return '0'
+                    return '300'
                 }
             },
 

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

@@ -88,7 +88,7 @@
                         <span style="float:right;">
                             <el-link type="primary" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReport(-1,0)">填写日报</el-link>
                             <el-link v-if="reportTimeType.type != 0" type="primary" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReportss()">按周填报</el-link>
-                            <el-link type="primary" v-if="permissions.reportsFillOut" style="margin-right:10px;" :underline="false" @click="isSubstitude=true; fillInReport(-1,0)">代填日报</el-link>
+                            <el-link type="primary" v-if="permissions.reportsFillOut" style="margin-right:10px;" :underline="false" @click="isSubstitude=true; fillInReport(-1,2)">代填日报</el-link>
                             <el-link type="primary" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReport(-1,1)">批量填报</el-link>
                             <el-link type="primary" v-if="permissions.importReport || user.manageDeptId != 0" style="margin-right:10px;" :underline="false" @click="imports()">工时导入</el-link>
                             <el-link type="primary" style="margin-right:10px;" :underline="false" @click="showExportDialog">导出日报</el-link>
@@ -237,7 +237,7 @@
         </div>
 
         <!-- 填写日报的dialog -->
-        <el-dialog :title="isBatch==0?'填写日报':'批量填报'" :visible.sync="dialogVisible" width="60%" :close-on-click-modal="false" @closed="guanbi()">
+        <el-dialog :title="editTitle[isBatch]" :visible.sync="dialogVisible" width="60%" :close-on-click-modal="false" @closed="guanbi()">
             <el-form ref="workForm" :model="workForm" :rules="workRules" label-width="120px">
                 <el-form-item label="选择人员" v-if="isSubstitude">
                     <el-input @focus="showChooseMembTree" v-model="workForm.userNames"
@@ -1321,6 +1321,7 @@
                 fillMembList:[],
                 membListVisible: false,
                 isBatch:0,//是否是批量填报
+                editTitle: ['填写日报','批量填报','批量代填'],
                 weekDay : ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
                 statusStyle:["waiting", "filledReportStyle", "RejectStyle", "waitSubmitStyle"],
                 fillStatusList: [],