Min 1 年之前
父节点
当前提交
cd60dd6c9f

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

@@ -1897,13 +1897,13 @@ public class ReportController {
     }
 
     @RequestMapping("/getNoReportUserList")
-    public HttpRespMsg getNoReportUserList(HttpServletRequest request, String startDate, String endDate) {
-        return reportService.getNoReportUserList(request, startDate, endDate);
+    public HttpRespMsg getNoReportUserList(HttpServletRequest request, String startDate, String endDate,Integer noReportDeptId) {
+        return reportService.getNoReportUserList(request, startDate, endDate,noReportDeptId);
     }
 
     @RequestMapping("/exportNoReportUserList")
-    public HttpRespMsg exportNoReportUserList(HttpServletRequest request, String startDate, String endDate) {
-        return reportService.exportNoReportUserList(request, startDate, endDate);
+    public HttpRespMsg exportNoReportUserList(HttpServletRequest request, String startDate, String endDate,Integer noReportDeptId) {
+        return reportService.exportNoReportUserList(request, startDate, endDate,noReportDeptId);
     }
 
     @RequestMapping("/exportUserDailyWorkTime")

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/vo/ProjectVO.java

@@ -20,5 +20,7 @@ public class ProjectVO extends Project {
     String statusName;
     String projectMainName;
     String levelName;
+    String projectAuditorName;
+    String projectAuditorId;
     List<Map<String,Object>> providerInfoList;
 }

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ReportService.java

@@ -82,11 +82,11 @@ public interface ReportService extends IService<Report> {
 
     HttpRespMsg getlastWeekFillTime(String userId);
 
-    HttpRespMsg getNoReportUserList(HttpServletRequest request, String startDate, String endDate);
+    HttpRespMsg getNoReportUserList(HttpServletRequest request, String startDate, String endDate,Integer noReportDeptId);
 
     List<Map<String, Object>> getNotFullReportUserList(Integer companyId, LocalDate startDate, LocalDate endDate);
 
-    HttpRespMsg exportNoReportUserList(HttpServletRequest request, String startDate, String endDate);
+    HttpRespMsg exportNoReportUserList(HttpServletRequest request, String startDate, String endDate,Integer noReportDeptId);
 
     HttpRespMsg approveAllImport(HttpServletRequest request);
 

+ 11 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -618,6 +618,17 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             }
             long end = System.currentTimeMillis();
             List<String> stringList = providerCategoryList.stream().map(ProviderCategory::getProviderCategoryName).distinct().collect(Collectors.toList());
+            //处理项目日报审核人
+            if(projectIds.size()>0){
+                List<ProjectAuditor> projectAuditorList = projectAuditorMapper.selectList(new LambdaQueryWrapper<ProjectAuditor>().in(ProjectAuditor::getProjectId, projectIds));
+                list.forEach(l->{
+                    Optional<ProjectAuditor> first = projectAuditorList.stream().filter(p -> p.getProjectId().equals(l.getId())).findFirst();
+                    if(first.isPresent()){
+                        l.setProjectAuditorName(first.get().getAuditorName());
+                        l.setProjectAuditorId(first.get().getAuditorId());
+                    }
+                });
+            }
             //stringList.add("未分类");
             stringList.add(MessageUtils.message("excel.unclassified"));
             Long total = projectIPage.getTotal();

+ 13 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -5641,12 +5641,18 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     }
 
     @Override
-    public HttpRespMsg getNoReportUserList(HttpServletRequest request, String startDate, String endDate) {
+    public HttpRespMsg getNoReportUserList(HttpServletRequest request, String startDate, String endDate,Integer noReportDeptId) {
         HttpRespMsg msg = new HttpRespMsg();
         User user = userMapper.selectById(request.getHeader("TOKEN"));
         List<User> allRangeUserList = new ArrayList<>();
         Integer companyId = user.getCompanyId();
         WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", companyId));
+        //获取部门的所有子部门
+        List<Department> departments = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id",companyId));
+        List<Integer> branchDepartment = null;
+        if(noReportDeptId != null){
+            branchDepartment = departmentService.getBranchDepartment(Integer.valueOf(noReportDeptId),departments);
+        }
         List<Map<String, Object>> list = null;
         //分角色权限:管理员看全部的,部门负责人看自己部门的,个人只能看自己的。
         List<SysRichFunction> functionList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "查看全公司工时");
@@ -5713,6 +5719,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         List<Report> deniedReportList = reportMapper.selectList(new QueryWrapper<Report>().eq("company_id", companyId).eq("state", 2).between("create_date", startDate, endDate));
         List<Report> waitingSubmitReportList = reportMapper.selectList(new QueryWrapper<Report>().eq("company_id", companyId).eq("state", 3).between("create_date", startDate, endDate));
         //按人员过滤
+        if(branchDepartment!=null&&branchDepartment.size()>0){
+            List<Integer> finalBranchDepartment = branchDepartment;
+            allRangeUserList=allRangeUserList.stream().filter(at-> finalBranchDepartment.contains(at.getDepartmentId())).collect(Collectors.toList());
+        }
         for (User curUser: allRangeUserList){
                 for (int i=0;i<=cnt; i++) {
                     LocalDate date = localStart.plusDays(i);
@@ -5874,8 +5884,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     }
 
     @Override
-    public HttpRespMsg exportNoReportUserList(HttpServletRequest request, String startDate, String endDate) {
-        HttpRespMsg msg = getNoReportUserList(request, startDate, endDate);
+    public HttpRespMsg exportNoReportUserList(HttpServletRequest request, String startDate, String endDate,Integer noReportDeptId) {
+        HttpRespMsg msg = getNoReportUserList(request, startDate, endDate,noReportDeptId);
         String token = request.getHeader("TOKEN");
         TimeType timeType = timeTypeMapper.selectById(userMapper.selectById(token).getCompanyId());
         WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", userMapper.selectById(token).getCompanyId()));

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

@@ -347,6 +347,14 @@
                     <span>¥{{Number(scope.row.contractAmount).toFixed(2)}}</span>
                 </template>
             </el-table-column>
+            <!-- 日报审核人 -->
+            <el-table-column prop="projectAuditorName" :label="'日报审核人'" sortable="custom" min-width="150" v-if="user.company.companyName=='成都明夷电子科技有限公司'">
+                <template slot-scope="scope">
+                    <el-link type="primary" :underline="false" @click="showUser(scope.row.projectAuditorId)">
+                            {{scope.row.projectAuditorName}}
+                    </el-link>
+                </template>
+            </el-table-column>
             <!-- 供应商 -->
             <!-- <el-table-column prop="providerNames" label="供应商" min-width="190" v-if="user.company.packageProvider">
             </el-table-column> -->

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

@@ -1487,6 +1487,10 @@
               
             </div>
             <div>
+                <div style="margin-top:10px;">
+                <el-cascader v-if="user.userNameNeedTranslate != 1" v-model="deptIdForNoReport" placeholder="请选择部门" :options="departmentList" :props="{ checkStrictly: true, value: 'id' }" clearable style="width: 350px;" @change="showMonthNotWorkTime()"></el-cascader>
+                <vueCascader :size="'medium'" :widthStr="'350'" :clearable="true" :subject="departmentList" :radios="true" :distinction="'1'" @vueCasader="vueCasader" v-if="user.userNameNeedTranslate == 1" :selectNameChuan="$t('other.allDepartments')" @change="showMonthNotWorkTime()"></vueCascader>
+                </div>
                 <el-input style="float:left;width:22%" v-if="user.userNameNeedTranslate != '1'" v-model="searchKeyword" class="input-with-select" :placeholder="$t('defaultText.pleaseEnterNametoSearch')" clearable="true" size="small">
                     <el-button slot="append" @click="searchScreen(1)" icon="el-icon-search"></el-button>
                 </el-input>
@@ -2200,7 +2204,8 @@
                 nodeModelData: localStorage.getItem('nodeModelDataKey') ? JSON.parse(localStorage.getItem('nodeModelDataKey')) : [],
 
                 weekIndex: 1,
-                weekParentData: {}
+                weekParentData: {},
+                deptIdForNoReport:[],
             };
         },
         watch: {
@@ -3654,12 +3659,13 @@
     // },
     showMonthNotWorkTime() {
       this.monthTotalPage = 0,
-        this.tbload = true
+      this.tbload = true,
       this.http.post(
         "/report/getNoReportUserList",
         {
           startDate: this.WorktimeDatepickValue[0],
           endDate: this.WorktimeDatepickValue[1],
+          noReportDeptId:this.deptIdForNoReport.length>0?this.deptIdForNoReport[this.deptIdForNoReport.length-1]:null
         },
         (res) => {
           if (res.code == "ok") {