qingzhangyin 2 anni fa
parent
commit
7b94f54181

+ 32 - 2
src/main/java/com/palmnest/application/dto/output/RepairBillStateStatisticsDto.java

@@ -35,6 +35,13 @@ public class RepairBillStateStatisticsDto {
     private int billTodayEndTotal; //今日完成数
     private BigDecimal fillTodayEndRate; //今日完成率
 
+    private BigDecimal avgBillTime; //平均接单耗时
+    private BigDecimal avgCompleteTime;//平均完成耗时
+    private String avgStar;//平均评星
+
+
+
+
     public Integer getOrgId() {
         return orgId;
     }
@@ -218,6 +225,29 @@ public class RepairBillStateStatisticsDto {
 	public void setFillTodayEndRate(BigDecimal fillTodayEndRate) {
 		this.fillTodayEndRate = fillTodayEndRate;
 	}
-    
-    
+
+
+    public BigDecimal getAvgBillTime() {
+        return avgBillTime;
+    }
+
+    public void setAvgBillTime(BigDecimal avgBillTime) {
+        this.avgBillTime = avgBillTime;
+    }
+
+    public BigDecimal getAvgCompleteTime() {
+        return avgCompleteTime;
+    }
+
+    public void setAvgCompleteTime(BigDecimal avgCompleteTime) {
+        this.avgCompleteTime = avgCompleteTime;
+    }
+
+    public String getAvgStar() {
+        return avgStar;
+    }
+
+    public void setAvgStar(String avgStar) {
+        this.avgStar = avgStar;
+    }
 }

+ 2 - 0
src/main/java/com/palmnest/service/repair/RepairBillStatisticsManager.java

@@ -64,6 +64,8 @@ public interface RepairBillStatisticsManager  {
 
 	WebPageResultDto getPeoplecOrderListExcel(List<Map<String, Object>> list) throws IOException;
 
+	WebPageResultDto getBillCommentListExcel(List<Map<String, Object>> list) throws IOException;
+
 
 	Page getBillCommentList(Map<String, Object> conditions,int type,int pageNo,int pageSize);
 }

+ 43 - 0
src/main/java/com/palmnest/service/repair/impl/RepairBillStatisticsManagerImpl.java

@@ -510,6 +510,35 @@ public class RepairBillStatisticsManagerImpl implements RepairBillStatisticsMana
     }
 
     @Override
+    public WebPageResultDto getBillCommentListExcel(List<Map<String, Object>> list) throws IOException {
+
+        String sheetName;
+        if (list != null && list.size() > 0) {
+            sheetName = "工单评价统计";
+            String[] titles = {
+                    "运营中心","项目","时间","平均星级","五星工单数","四星工单数","三星工单数","二星工单数","一星工单数"
+            };
+
+            String[] fieldNames = {
+                    "centerName",
+                    "orgName",
+                    "dateInfo",
+                    "avgStar",
+                    "fiveStar",
+                    "fourStar",
+                    "threeStar",
+                    "twoStar",
+                    "oneStar"
+            };
+
+            String path = exportBillCommentListExcel(list, sheetName, titles, fieldNames);
+            return new WebPageResultDto("200", "成功", path);
+        } else {
+            return new WebPageResultDto("100", "数据为空,无法导出", null);
+        }
+    }
+
+    @Override
     public Page getBillCommentList(Map<String, Object> conditions, int type, int pageNo, int pageSize) {
         return repairBillManager.getBillCommentList(conditions, type, pageNo, pageSize);
     }
@@ -524,4 +553,18 @@ public class RepairBillStatisticsManagerImpl implements RepairBillStatisticsMana
         ExcelUtils.exportExcel(file, wb, sheetName, list, titles, fieldNames);
         return path;
     }
+
+
+
+
+    public String exportBillCommentListExcel(List<Map<String, Object>> list, String sheetName, String[] titles, String[] fieldNames) throws IOException {
+
+        HSSFWorkbook wb = new HSSFWorkbook();
+        String path = setPath("upload/billCommentList.xls"); //工单评价统计
+        File file = new File(new ExcelUtils().getPath(path));
+        System.out.println("path:" + path);
+
+        ExcelUtils.exportExcel(file, wb, sheetName, list, titles, fieldNames);
+        return path;
+    }
 }

+ 46 - 0
src/main/java/com/palmnest/webapp/controller/backstage/RepairBillStatisticsController.java

@@ -572,4 +572,50 @@ public class RepairBillStatisticsController extends BaseFormController {
 
     }
 
+    /**
+     * 工单评价统计导出
+     * @return
+     */
+    @RequestMapping(value = "/getBillCommentListExcel")
+    @ResponseBody
+    public WebPageResultDto getBillCommentListExcel(@ModelAttribute PeoplecOrderDto repairDto, HttpServletRequest request)
+            throws IOException {
+
+        LOG.info("工单评价统计导出-RepairBillStatisticsController.getBillCommentListExcel repairDto:" + JSON.toJSONString(repairDto) + " ");
+
+        try {
+            if (2 == repairDto.getType() && StringUtil.isNotEmpty(repairDto.getDate())) {
+                //当类型为季度时
+                Map<String, String> map = getQuarter(repairDto.getDate());
+                if (map != null) {
+                    repairDto.setDate(map.get("year"));
+                    repairDto.setEndDate(map.get("quarter"));
+                }
+            }
+            if (3 == repairDto.getType().intValue() && StringUtil.isNotEmpty(repairDto.getDate())) {
+                //当类型为季度时
+                Map<String, String> map = getQuarter(repairDto.getDate());
+                if (map != null) {
+                    repairDto.setDate(map.get("year"));
+                    repairDto.setEndDate(map.get("quarter"));
+                }
+            }
+            String dateString=StringUtil.getDateString(repairDto.getType(), repairDto.getDate(), repairDto.getEndDate(),1);
+            Map<String,Object> conditions=BeanUtils.beanToMap(repairDto);
+            conditions.put("dateString",dateString);
+            Page page =  statisticsManager.getBillCommentList(conditions,repairDto.getType().intValue(),1, 9999);
+
+            List<Map<String, Object>> list  = page.getItems();
+
+            //生成Excel
+            WebPageResultDto dto = statisticsManager.getBillCommentListExcel(list);
+            return dto;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return new WebPageResultDto(AppConstants.REPAIR_BILL_LIST_ERROR, "人员工单统计导出异常",
+                    LogExceptionStackUtil.LogExceptionStack(e));
+        }
+
+    }
+
 }