Преглед на файлове

修复专业审核bug, 权限导出时单个功能不显示的Bug,日报待审核状态的也算填报工时

seyason преди 2 години
родител
ревизия
253f6ec4ce

+ 11 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/PermissionServiceImpl.java

@@ -343,9 +343,10 @@ public class PermissionServiceImpl extends ServiceImpl<PermissionMapper, Permiss
     @Override
     public HttpRespMsg exportData(Integer role, Integer companyId) {
         HttpRespMsg msg = getAuthority(role, companyId);
+        SysRole roleItem = sysRoleMapper.selectById(role);
         List<SysModule> menuList= (List<SysModule>) msg.data;
         HSSFWorkbook wb=new HSSFWorkbook();
-        HSSFSheet sheet=wb.createSheet("权限数据统计");
+        HSSFSheet sheet=wb.createSheet(roleItem.getRolename()+"_权限表");
         //设置每一列的列宽
         sheet.setColumnWidth(0,256*15);
         sheet.setColumnWidth(1,256*20);
@@ -395,7 +396,14 @@ public class PermissionServiceImpl extends ServiceImpl<PermissionMapper, Permiss
                     row.createCell(1).setCellValue(functionList.get(j).getName());
                     row.createCell(2).setCellValue(functionList.get(j).getRemarks());
                 }
-            }else {
+            } else if (functionList.size() == 1){
+                //该模块只有一个功能, 只要一行就行了
+                row = sheet.createRow(startRow);
+                row.createCell(0).setCellValue(menuList.get(i).getName());
+                row.createCell(1).setCellValue(functionList.get(0).getName());
+                row.createCell(2).setCellValue(functionList.get(0).getRemarks());
+            } else {
+                //没有功能,取子模块展示
                 row = sheet.createRow(startRow);
                 row.createCell(0).setCellValue(menuList.get(i).getName());
                 List<SysModule> children = menuList.get(i).getChildren();
@@ -410,7 +418,7 @@ public class PermissionServiceImpl extends ServiceImpl<PermissionMapper, Permiss
         }
         //导出excel
         String result="系统提示:Excel文件导出成功!";
-        String title= "权限数据统计_"+System.currentTimeMillis();
+        String title= roleItem.getRolename()+"权限表_"+System.currentTimeMillis();
         String fileName= title+".xls";
         try {
             File dir = null;

+ 19 - 10
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -2778,19 +2778,24 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 int pid = (Integer)item.get("id");
                 item.put("curcostList", currentcostList.stream().filter(cur->cur.getProjectId() == pid));
                 List proRealCost = new ArrayList();
+                BigDecimal totalFeeman = new BigDecimal(0.0);
                 for (int m=0;m<realCostData.size(); m++) {
                     HashMap realCostItem = (HashMap)realCostData.get(m);
                     if ((int)realCostItem.get("projectId") == pid) {
                         proRealCost.add(realCostItem);
+                        totalFeeman = totalFeeman.add((BigDecimal)realCostItem.get("cost"));
                     }
                 }
                 item.put("realcostList", proRealCost);
-                BigDecimal baseCost=new BigDecimal(String.valueOf(item.get("baseCost")));
-                baseCost=baseCost.subtract((BigDecimal) item.get("feeMan"));
-                BigDecimal baseCurcost=new BigDecimal(String.valueOf(item.get("baseCurcost")));
-                baseCurcost=baseCurcost.subtract((BigDecimal) item.get("feeMan"));
+                //重新给feeman赋值,因为这个表要统计的已发生工时成本含待审核的
+                item.put("feeMan", totalFeeman);
+                BigDecimal baseCost = new BigDecimal(String.valueOf(item.get("baseCost")));
+                baseCost = baseCost.subtract(totalFeeman);
+                BigDecimal baseCurcost = new BigDecimal(String.valueOf(item.get("baseCurcost")));
+                baseCurcost = baseCurcost.subtract(totalFeeman);
                 item.put("remainingBudget",baseCost);
                 item.put("currentRemainingBudget",baseCurcost);
+
             }
         }
 
@@ -2816,8 +2821,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         List<ProjectBasecostSetting> settingList = projectBasecostSettingMapper.selectList(new QueryWrapper<ProjectBasecostSetting>().eq("company_id", companyId).eq("alarm_type", 1));
         for (ProjectBasecostSetting setting : settingList) {
             headList.add(setting.getName()+"成本预算");
-            headList.add(setting.getName()+"已发生成本");
-            headList.add(setting.getName()+"已发生占比");
+            headList.add(setting.getName()+"已填报成本");
+            headList.add(setting.getName()+"已填报占比");
         }
         exportList.add(headList);
 
@@ -2836,17 +2841,21 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 int pid = (Integer)item.get("id");
                 item.put("curcostList", currentcostList.stream().filter(cur->cur.getProjectId() == pid).collect(Collectors.toList()));
                 List proRealCost = new ArrayList();
+                BigDecimal totalFeeman = new BigDecimal(0.0);
                 for (int m=0;m<realCostData.size(); m++) {
                     HashMap realCostItem = (HashMap)realCostData.get(m);
                     if ((int)realCostItem.get("projectId") == pid) {
                         proRealCost.add(realCostItem);
+                        totalFeeman = totalFeeman.add((BigDecimal)realCostItem.get("cost"));
                     }
                 }
                 item.put("realcostList", proRealCost);
-                BigDecimal baseCost=new BigDecimal(String.valueOf(item.get("baseCost")));
-                baseCost=baseCost.subtract((BigDecimal) item.get("feeMan"));
-                BigDecimal baseCurcost=new BigDecimal(String.valueOf(item.get("baseCurcost")));
-                baseCurcost=baseCurcost.subtract((BigDecimal) item.get("feeMan"));
+                //重新给feeman赋值,因为这个表要统计的已发生工时成本含待审核的
+                item.put("feeMan", totalFeeman);
+                BigDecimal baseCost = new BigDecimal(String.valueOf(item.get("baseCost")));
+                baseCost = baseCost.subtract(totalFeeman);
+                BigDecimal baseCurcost = new BigDecimal(String.valueOf(item.get("baseCurcost")));
+                baseCurcost = baseCurcost.subtract(totalFeeman);
                 item.put("remainingBudget",baseCost);
                 item.put("currentRemainingBudget",baseCurcost);
             }

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

@@ -2060,7 +2060,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             nameList.forEach(n->{
                 n.put("dateStr",sdf.format((java.sql.Date)n.get("date")));
             });
-            List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
             List<Profession> professions = professionMapper.selectList(new QueryWrapper<Profession>().eq("company_id", curUser.getCompanyId()));
             for (int index=0;index<nameList.size(); index++) {
                 Map<String, Object> map2 = nameList.get(index);

+ 7 - 5
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportMapper.xml

@@ -337,6 +337,7 @@
         AND a.id in(select report_id from report_profession_progress, project_profession where
         project_profession.incharger_id = #{id}
         and report_profession_progress.profession_id = project_profession.profession_id
+        and report_profession_progress.project_id = project_profession.project_id
         and report_profession_progress.audit_state = 0)
         ORDER BY a.creator_id ASC
     </select>
@@ -420,12 +421,13 @@
         JOIN user AS b ON a.creator_id=b.id
         WHERE b.company_id=#{companyId}
         <if test="leaderId != null">
-            AND a.creator_id in (select memb_id from pp_membs where pp_id in(select id from project_profession where incharger_id = #{leaderId}))
-            AND a.project_id in (select project_id from project_profession where incharger_id = #{leaderId})
-            AND a.id in (select report_id from report_profession_progress, project_profession where
+            AND EXISTS (SELECT 1 FROM report_profession_progress, project_profession WHERE
             project_profession.incharger_id = #{leaderId}
-            and report_profession_progress.profession_id = project_profession.profession_id
-            and report_profession_progress.audit_state = 0)
+            AND report_profession_progress.profession_id = project_profession.profession_id
+            AND report_profession_progress.project_id = project_profession.project_id
+            AND report_profession_progress.audit_state = 0
+            AND report_profession_progress.`report_id` = a.id
+            )
         </if>
         ORDER BY a.create_date DESC
     </select>

+ 13 - 5
fhKeeper/formulahousekeeper/timesheet/src/views/corpreport/list.vue

@@ -402,9 +402,17 @@
                     <span>¥{{scope.row.baseCurcost | numberToCurrency}}</span>
                   </template>
                 </el-table-column>
-                <el-table-column  prop="currentRemainingBudget" label="当前剩余预算" min-width="200"></el-table-column>
-                <el-table-column  prop="remainingBudget" label="总剩余预算" min-width="200"></el-table-column>
-                <el-table-column prop="feeMan" label="已发生工时成本" min-width="160" align="right">
+                <el-table-column  prop="currentRemainingBudget" label="当前剩余预算" min-width="200"  align="right">
+                  <template slot-scope="scope">
+                    <span>¥{{scope.row.currentRemainingBudget | numberToCurrency}}</span>
+                  </template>
+                </el-table-column>
+                <el-table-column  prop="remainingBudget" label="总剩余预算" min-width="200"  align="right">
+                  <template slot-scope="scope">
+                    <span>¥{{scope.row.remainingBudget | numberToCurrency}}</span>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="feeMan" label="已填报工时成本" min-width="160" align="right">
                   <template slot-scope="scope">
                     <span :class="scope.row.baseCurcost * 0.9 < scope.row.feeMan ? 'warntext' : ''">¥{{scope.row.feeMan | numberToCurrency}}</span>
                   </template>
@@ -415,13 +423,13 @@
                       <span>¥{{budgetFilter(scope.row.curcostList,item.id) | numberToCurrency}}</span>
                     </template>
                   </el-table-column>
-                  <el-table-column :label="item.name + '已发生成本'" min-width="200" align="right">
+                  <el-table-column :label="item.name + '已填报成本'" min-width="200" align="right">
                     <template slot-scope="scope">
                       <span :class="percentageFilter(scope.row,item.id) > 90 ? 'warntext' : ''"
                       >¥{{AlreadyFilter(scope.row.realcostList,item.id) | numberToCurrency}}</span>
                     </template>
                   </el-table-column>
-                  <el-table-column :label="item.name + '已发生占比'" min-width="200" align="right">
+                  <el-table-column :label="item.name + '已填报占比'" min-width="200" align="right">
                     <template slot-scope="scope">
                       <span :class="percentageFilter(scope.row,item.id) > 90 ? 'warntext' : ''"
                       >{{percentageFilter(scope.row,item.id) == 'NaN' ? '-' : percentageFilter(scope.row,item.id) + '%'}}</span>

+ 3 - 3
fhKeeper/formulahousekeeper/timesheet/src/views/quanx/quanx.vue

@@ -33,7 +33,7 @@
                     <el-button type="primary" size="small" @click="shisha(scope.row.id), roleName = scope.row.rolename" v-if="scope.row.rolename !='超级管理员' || (scope.row.rolename =='超级管理员' && user.roleName == '超级管理员')">分配权限</el-button>
                     
                     <el-button type="danger" size="small" @click="deteHand(scope.row)" v-if="scope.row.rolename != '超级管理员'">删除</el-button>
-                    <el-button size="small" @click="exportAuthority(scope.row)" v-if="scope.row.rolename != '超级管理员'" style="margin-left:30px">导出权限</el-button>
+                    <el-button size="small" @click="exportAuthority(scope.row)" style="margin-left:30px">导出权限</el-button>
                 </div>
             </template>
         </el-table-column>
@@ -462,13 +462,13 @@ export default {
       },
       exportAuthority(row){ // 导出权限
       console.log(row);
-        this.http.post('permission/exportData',{
+        this.http.post('/permission/exportData',{
           role: row.id,
           companyId: this.user.companyId
         },res => {
           if(res.code == 'ok'){
             var a = document.createElement('a');
-            a.download = "权限数据统计.xls";
+            a.download = row.rolename+"权限表.xls";
             a.href = res.data;
             a.click();
           }else{