Selaa lähdekoodia

FTE报表增加按照人员排序

Min 1 vuosi sitten
vanhempi
commit
288d7ea4ee

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectController.java

@@ -1260,8 +1260,8 @@ public class ProjectController {
 
     //FTE报表
     @RequestMapping("/getFTEData")
-    public HttpRespMsg getFTEData(@RequestParam Integer pageIndex, @RequestParam Integer pageSize,String monthStart,String monthEnd,String area,HttpServletRequest request){
-        return projectService.getFTEData(pageIndex,pageSize,monthStart,monthEnd,area,request);
+    public HttpRespMsg getFTEData(@RequestParam Integer pageIndex, @RequestParam Integer pageSize,String monthStart,String monthEnd,String area,String sortProp, Integer sortOrder,HttpServletRequest request){
+        return projectService.getFTEData(pageIndex,pageSize,monthStart,monthEnd,area,sortProp,sortOrder,request);
     }
 
     //导出FTE报表

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ProjectMapper.java

@@ -160,7 +160,7 @@ public interface ProjectMapper extends BaseMapper<Project> {
 
     List<Project> selectNearProject(String userId);
 
-    List<Map<String, Object>> getFTEData(Integer companyId, String startDate, String endDate, Integer start, Integer size, String area, List<Integer> branchDepartment, List<Integer> deptIds);
+    List<Map<String, Object>> getFTEData(Integer companyId, String startDate, String endDate, Integer start, Integer size, String area,String sortProp, Integer sortOrder, List<Integer> branchDepartment, List<Integer> deptIds);
 
     List<Map<String, Object>> getTimeCostByToken(Integer companyId, String startDate, String endDate);
 

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

@@ -243,7 +243,7 @@ public interface ProjectService extends IService<Project> {
 
     HttpRespMsg nearProject(HttpServletRequest request);
 
-    HttpRespMsg getFTEData(Integer pageIndex, Integer pageSize,String monthStart,String monthEnd, String area, HttpServletRequest request);
+    HttpRespMsg getFTEData(Integer pageIndex, Integer pageSize,String monthStart,String monthEnd, String area,String sortProp, Integer sortOrder, HttpServletRequest request);
 
     HttpRespMsg exportFTEData(String monthStart,String monthEnd, String area, HttpServletRequest request);
 

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

@@ -11289,7 +11289,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
 
     //获取FTE报表数据
     @Override
-    public HttpRespMsg getFTEData(Integer pageIndex, Integer pageSize,String monthStart,String monthEnd, String area, HttpServletRequest request) {
+    public HttpRespMsg getFTEData(Integer pageIndex, Integer pageSize,String monthStart,String monthEnd, String area,String sortProp, Integer sortOrder, HttpServletRequest request) {
         HttpRespMsg httpRespMsg =new HttpRespMsg();
         User targetUser = userMapper.selectById(request.getHeader("token"));
         List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "全部部门FTE报表");
@@ -11327,10 +11327,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         if(pageIndex!=null&&pageSize!=null){
             Integer size=pageSize;
             Integer start=(pageIndex-1)*size;
-            resultList=projectMapper.getFTEData(targetUser.getCompanyId(),startDate,endDate,start,size,area,null,deptIds);
-            total=projectMapper.getFTEData(targetUser.getCompanyId(),startDate,endDate,null,null,area,null,deptIds).size();
+            resultList=projectMapper.getFTEData(targetUser.getCompanyId(),startDate,endDate,start,size,area,sortProp,sortOrder,null,deptIds);
+            total=projectMapper.getFTEData(targetUser.getCompanyId(),startDate,endDate,null,null,area,sortProp,sortOrder,null,deptIds).size();
         }else{
-            resultList=projectMapper.getFTEData(targetUser.getCompanyId(),startDate,endDate,null,null,area,null,deptIds);
+            resultList=projectMapper.getFTEData(targetUser.getCompanyId(),startDate,endDate,null,null,area,sortProp,sortOrder,null,deptIds);
         }
         //固定月工时数 163.125
         double regularMonthTime=163.125;
@@ -11366,7 +11366,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         if (userCustoms.size() != 0){
             customName = userCustoms.get(0).getName();
         }
-        HttpRespMsg fteData = getFTEData(null, null, monthStart,monthEnd, area, request);
+        HttpRespMsg fteData = getFTEData(null, null, monthStart,monthEnd, area,null,null, request);
         LocalDate timeStart = LocalDate.parse(monthStart, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
         LocalDate timeEnd = LocalDate.parse(monthEnd, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
         timeStart=timeStart.with(TemporalAdjusters.firstDayOfMonth());

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

@@ -1756,7 +1756,16 @@
                 #{item}
             </foreach>
         </if>
-        order by area,id, workTime
+        <if test="sortProp!=null and sortProp!=''">
+            <choose>
+                <when test="sortOrder==0">
+                    order by id desc
+                </when>
+                <otherwise>
+                    order by id
+                </otherwise>
+            </choose>
+        </if>
         <if test="start!=null and size!=null">
             limit #{start},#{size}
         </if>

+ 19 - 2
fhKeeper/formulahousekeeper/timesheet/src/views/corpreport/list.vue

@@ -945,11 +945,11 @@
             </el-table>
 
             <!-- FTE报表 -->
-            <el-table v-if="ins == 19"  key="19" border :data="fTEDataList" highlight-current-row v-loading="listLoading" :height="+tableHeight - 1" style="width: 100%;">
+            <el-table v-if="ins == 19"  key="19" border :data="fTEDataList" highlight-current-row v-loading="listLoading" :height="+tableHeight - 1" style="width: 100%;" @sort-change="tableSort">
                 <el-table-column align="center" prop="area" :label="customName" min-width="150"></el-table-column>
                 <el-table-column align="center" prop="projectCode" label="项目编号" min-width="150"></el-table-column>
                 <el-table-column align="center" prop="projectName" label="项目名称" min-width="250"></el-table-column>
-                <el-table-column align="center" prop="userName" label="人名" min-width="150">
+                <el-table-column align="center" prop="userName" label="人名" min-width="150" sortable="custom">
                   <template slot-scope="scope">
                     <div>
                       <span v-if="user.userNameNeedTranslate == '1'">
@@ -2445,6 +2445,16 @@ export default {
         pageIndex: this.page,
         pageSize: this.size
       }
+      if(this.sortOrder){
+          if(this.sortProp == 'userName'){
+              parameter.sortProp = "id"
+          }
+          if(this.sortOrder == 'descending'){
+              parameter.sortOrder = 0
+          }else if(this.sortOrder == 'ascending'){
+              parameter.sortOrder = 1
+          }
+      }
       this.http.post('/project/getFTEData', parameter,
       res => {
           if (res.code == "ok") {
@@ -2814,6 +2824,13 @@ export default {
             });
         });
     }, 
+    tableSort({column, prop, order}){
+        if(prop == 'userName'){
+            this.sortOrder = order
+            this.sortProp = prop
+            this.getETF()
+        }
+    },
     getAllProjectCost() { 
       this.listLoading = true;
       this.http.post('/project/getAllProjectCost', {