瀏覽代碼

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

seyason 3 年之前
父節點
當前提交
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>
  * </p>
  *
  *
  * @author Seyason
  * @author Seyason
- * @since 2022-06-24
+ * @since 2022-06-27
  */
  */
 @Data
 @Data
 @EqualsAndHashCode(callSuper = false)
 @EqualsAndHashCode(callSuper = false)
@@ -260,6 +260,12 @@ public class TimeType extends Model<TimeType> {
     @TableField("fill_ahead")
     @TableField("fill_ahead")
     private Integer fillAhead;
     private Integer fillAhead;
 
 
+    /**
+     * 0-当天 1-第二天 2-第三天
+     */
+    @TableField("timeliness")
+    private Integer timeliness;
+
     @TableField(exist = false)
     @TableField(exist = false)
     private List<User> userList;
     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.io.*;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.sql.Timestamp;
 import java.sql.Timestamp;
-import java.text.DateFormat;
 import java.text.DecimalFormat;
 import java.text.DecimalFormat;
 import java.text.NumberFormat;
 import java.text.NumberFormat;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
-import java.time.Duration;
 import java.time.LocalDate;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.LocalTime;
@@ -3090,25 +3088,20 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     @Override
     @Override
     public HttpRespMsg getUserReportTimelinessRate(HttpServletRequest request, String startDate, String endDate, Integer departmentId, String userId,Integer pageIndex,Integer pageSize) {
     public HttpRespMsg getUserReportTimelinessRate(HttpServletRequest request, String startDate, String endDate, Integer departmentId, String userId,Integer pageIndex,Integer pageSize) {
         HttpRespMsg msg=new HttpRespMsg();
         HttpRespMsg msg=new HttpRespMsg();
-        DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
         DecimalFormat dft =  new DecimalFormat("0%");
         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);
         List<LocalDateTime> dateTimeList = getDays(sDate, eDate);
-        Duration duration=Duration.between(sDate,eDate);
         //去掉非工作日
         //去掉非工作日
-        long days = duration.toDays();
+        long days =dateTimeList.size();
         for (LocalDateTime localDateTime : dateTimeList) {
         for (LocalDateTime localDateTime : dateTimeList) {
-            if(WorkDayCalculateUtils.isWorkDay(localDateTime.toLocalDate())){
+            if(!WorkDayCalculateUtils.isWorkDay(localDateTime.toLocalDate())){
                 days-=1;
                 days-=1;
             }
             }
         }
         }
-        System.out.println(days);
         Integer companyId= userMapper.selectById(request.getHeader("token")).getCompanyId();
         Integer companyId= userMapper.selectById(request.getHeader("token")).getCompanyId();
         TimeType timeType = timeTypeMapper.selectById(companyId);
         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);
         List<Map<String,Object>> reportList=reportMapper.getUserReportTimelinessRate(companyId,startDate,endDate);
         System.out.println(reportList);
         System.out.println(reportList);
         QueryWrapper<User> queryWrapper=new QueryWrapper();
         QueryWrapper<User> queryWrapper=new QueryWrapper();
@@ -3149,12 +3142,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     Timestamp timestamp = (Timestamp) map.get("createTime");
                     Timestamp timestamp = (Timestamp) map.get("createTime");
                     LocalDate createDate = LocalDate.parse(String.valueOf(date));
                     LocalDate createDate = LocalDate.parse(String.valueOf(date));
                     LocalDate createTimeDate =timestamp.toLocalDateTime().toLocalDate();
                     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++;
                         num++;
                     }
                     }
                 }
                 }
@@ -3278,8 +3273,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         return allList;
         return allList;
     }
     }
     private  List<LocalDateTime> getDays(LocalDateTime start, LocalDateTime end) {
     private  List<LocalDateTime> getDays(LocalDateTime start, LocalDateTime end) {
-        List<LocalDateTime> result = new ArrayList<LocalDateTime>();
+        List<LocalDateTime> result = new ArrayList();
         while (start.isBefore(end)) {
         while (start.isBefore(end)) {
+            result.add(start);
             result.add(start.plusDays(1));
             result.add(start.plusDays(1));
             start=start.plusDays(1);
             start=start.plusDays(1);
         }
         }

文件差異過大導致無法顯示
+ 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>
                 </template>
             </el-table-column>
             </el-table-column>
             <!-- 000000 -->
             <!-- 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">
                 <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 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>
                     <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){
             showColumn(list){
-                if(this.permissions.projectManagement){
+                if(!this.permissions.projectManagement){
                     let creat = false
                     let creat = false
                     let incha = false
                     let incha = false
                     for(let i in list){
                     for(let i in list){
@@ -2056,7 +2056,7 @@ a {
                         }
                         }
                     }
                     }
                 }else {
                 }else {
-                    return '0'
+                    return '300'
                 }
                 }
             },
             },
 
 

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

@@ -88,7 +88,7 @@
                         <span style="float:right;">
                         <span style="float:right;">
                             <el-link type="primary" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReport(-1,0)">填写日报</el-link>
                             <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 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" 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" 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>
                             <el-link type="primary" style="margin-right:10px;" :underline="false" @click="showExportDialog">导出日报</el-link>
@@ -237,7 +237,7 @@
         </div>
         </div>
 
 
         <!-- 填写日报的dialog -->
         <!-- 填写日报的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 ref="workForm" :model="workForm" :rules="workRules" label-width="120px">
                 <el-form-item label="选择人员" v-if="isSubstitude">
                 <el-form-item label="选择人员" v-if="isSubstitude">
                     <el-input @focus="showChooseMembTree" v-model="workForm.userNames"
                     <el-input @focus="showChooseMembTree" v-model="workForm.userNames"
@@ -1321,6 +1321,7 @@
                 fillMembList:[],
                 fillMembList:[],
                 membListVisible: false,
                 membListVisible: false,
                 isBatch:0,//是否是批量填报
                 isBatch:0,//是否是批量填报
+                editTitle: ['填写日报','批量填报','批量代填'],
                 weekDay : ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
                 weekDay : ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
                 statusStyle:["waiting", "filledReportStyle", "RejectStyle", "waitSubmitStyle"],
                 statusStyle:["waiting", "filledReportStyle", "RejectStyle", "waitSubmitStyle"],
                 fillStatusList: [],
                 fillStatusList: [],