Min преди 1 година
родител
ревизия
0b9e941e39

+ 43 - 18
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -5457,34 +5457,59 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
         HttpRespMsg data = getPlanDataWithStation(isFilterDept, filterDeptId, stationId, startDate, endDate, null, null);
         Map<String, Object> objectMap = (Map<String, Object>) data.data;
+        boolean isViewUser = (boolean) objectMap.get("isViewUser");
         List<Map<String, Object>> mapList = (List<Map<String, Object>>) objectMap.get("records");
         List<String> title=new ArrayList<>();
-        title.add("部门名称");
+        if (isViewUser) {
+            title.add("人员名称");
+        } else {
+            title.add("部门名称");
+        }
         List<String> headerList = (List<String>) objectMap.get("header");
         title.addAll(headerList);
         title.add("合计");
         List<List<String>> dataList=new ArrayList<>();
         dataList.add(title);
         for (Map<String, Object> map : mapList) {
-            List<String> item=new ArrayList<>();
-            item.add((String) map.get("departmentCascade"));
-            List<Map<String, Object>> deptList = (List<Map<String, Object>>) map.get("deptList");
-            for (String dateString : headerList) {
-                Optional<Map<String, Object>> first = deptList.stream().filter(d -> String.valueOf(d.get("startDate")).equals(dateString)).findFirst();
-                if(first.isPresent()){
-                    Map<String, Object> target = first.get();
-                    item.add("计划数:"+target.get("planNum")+"  "+target.get("planHour")+"分钟"+"  "+target.get("planCost")+"元"+"\n"+
-                             "实际数:"+target.get("nowNum")+"  "+target.get("nowHour")+"分钟"+"  "+target.get("nowCost")+"元"+"\n"+
-                             "进度:"+target.get("progress"));
-                }else {
-                   item.add("");
+            if(isViewUser){
+                List<String> item=new ArrayList<>();
+                item.add((String) map.get("userName"));
+                List<Map<String, Object>> deptList = (List<Map<String, Object>>) map.get("userList");
+                for (String dateString : headerList) {
+                    Optional<Map<String, Object>> first = deptList.stream().filter(d -> String.valueOf(d.get("startDate")).equals(dateString)).findFirst();
+                    if(first.isPresent()){
+                        Map<String, Object> target = first.get();
+                        item.add("计划数:"+"  "+target.get("planHour")+"分钟"+"  "+target.get("planCost")+"元"+"\n"+
+                                "实际数:"+"  "+target.get("nowHour")+"分钟"+"  "+target.get("nowCost")+"元"+"\n"
+                                );
+                    }else {
+                        item.add("");
+                    }
+                }
+                item.add("计划数:"+"  "+map.get("totalPlanHour")+"分钟"+"  "+map.get("totalPlanCost")+"元"+"\n"+
+                        "实际数:"+"  "+map.get("totalNowHour")+"分钟"+"  "+map.get("totalNowCost")+"元"+"\n"
+                        );
+                dataList.add(item);
+            }else {
+                List<String> item=new ArrayList<>();
+                item.add((String) map.get("departmentCascade"));
+                List<Map<String, Object>> deptList = (List<Map<String, Object>>) map.get("deptList");
+                for (String dateString : headerList) {
+                    Optional<Map<String, Object>> first = deptList.stream().filter(d -> String.valueOf(d.get("startDate")).equals(dateString)).findFirst();
+                    if(first.isPresent()){
+                        Map<String, Object> target = first.get();
+                        item.add("计划数:"+target.get("planNum")+"  "+target.get("planHour")+"分钟"+"  "+target.get("planCost")+"元"+"\n"+
+                                "实际数:"+target.get("nowNum")+"  "+target.get("nowHour")+"分钟"+"  "+target.get("nowCost")+"元"+"\n"+
+                                "进度:"+target.get("progress"));
+                    }else {
+                        item.add("");
+                    }
                 }
+                item.add("计划数:"+map.get("totalPlanNum")+"  "+map.get("totalPlanHour")+"分钟"+"  "+map.get("totalPlanCost")+"元"+"\n"+
+                        "实际数:"+map.get("totalNowNum")+"  "+map.get("totalNowHour")+"分钟"+"  "+map.get("totalNowCost")+"元"+"\n"+
+                        "进度:"+map.get("totalProgress"));
+                dataList.add(item);
             }
-            item.add("计划数:"+map.get("totalPlanNum")+"  "+map.get("totalPlanHour")+"分钟"+"  "+map.get("totalPlanCost")+"元"+"\n"+
-                    "实际数:"+map.get("totalNowNum")+"  "+map.get("totalNowHour")+"分钟"+"  "+map.get("totalNowCost")+"元"+"\n"+
-                    "进度:"+map.get("totalProgress"));
-            dataList.add(item);
-
         }
         Company company = companyMapper.selectById(companyId);
         String fileName=("车间工位计划表_")+company.getCompanyName()+System.currentTimeMillis();

+ 6 - 0
fhKeeper/formulahousekeeper/timesheet-workshop/src/views/statistic/index.vue

@@ -645,6 +645,7 @@ export default {
       planDataWithStationDatas:[],
       planDataWithStationHead:[],
       isViewUser:false,
+      exportDeptId:null,
 
       //筛选项
       productId:"",
@@ -1058,6 +1059,7 @@ export default {
         stationId:this.departmentIdArray[this.departmentIdArray.length - 1],
       }
       if(deptId){
+        this.exportDeptId=deptId
         param.filterDeptId=deptId
         param.isFilterDept=1
       }
@@ -1319,6 +1321,10 @@ export default {
         sl.startDate=this.rangeDatas[0];
         sl.endDate=this.rangeDatas[1];
         sl.deptId=this.departmentIdArray[this.departmentIdArray.length-1];
+        if(this.exportDeptId){
+          sl.filterDeptId=this.exportDeptId;
+          sl.isFilterDept=1
+        }
     }
         this.http.post(url, sl,
         res => {