|
@@ -24,6 +24,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.time.LocalDate;
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -46,8 +47,44 @@ public class TaskesTimateServiceImpl extends ZtBaseServiceImpl<TaskesTimateEntit
|
|
|
|
|
|
// 部门id分类
|
|
|
private static HashMap<String, Object> deptMap = new HashMap<>();
|
|
|
+ // 禅道数据库zt_dept拿的数据
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 1 WEB开发部
|
|
|
+ * 2 技术研发部
|
|
|
+ * 24 行政部
|
|
|
+ * 4 平面美术部
|
|
|
+ * 5 三维美术部
|
|
|
+ * 6 品牌策划部
|
|
|
+ * 7 图像算法部
|
|
|
+ * 8 硬件部
|
|
|
+ * 9 市场部
|
|
|
+ * 23 对外合作部
|
|
|
+ * 11 测试部
|
|
|
+ * 12 三维创意部
|
|
|
+ * 13 应用程序部
|
|
|
+ * 14 知识产权部
|
|
|
+ * 15 财务部
|
|
|
+ * 16 总经理办公室
|
|
|
+ * 17 芜湖市场部
|
|
|
+ * 18 芜湖项目策划部
|
|
|
+ * 19 芜湖技术部
|
|
|
+ * 20 人力资源部
|
|
|
+ * 21 供应链管理部
|
|
|
+ * 22 产品部
|
|
|
+ * 25 芜湖人事行政部
|
|
|
+ * 26 数据计算部
|
|
|
+ * 27 项目策划部
|
|
|
+ * 28 智慧城市事业部
|
|
|
+ * 29 项目管理部
|
|
|
+ * 30 数字营销事业部
|
|
|
+ * 31 生产部
|
|
|
+ * 32 海外事业部
|
|
|
+ * 33 政企事业部
|
|
|
+ */
|
|
|
static {
|
|
|
- deptMap.put("age", "");
|
|
|
+ deptMap.put("age", "1,11");
|
|
|
+// deptMap.put("age", "1,2,4,5,6,7,8,44,12,13,22,29");
|
|
|
deptMap.put("wufu", "17,18,19,25");
|
|
|
}
|
|
|
|
|
@@ -58,34 +95,7 @@ public class TaskesTimateServiceImpl extends ZtBaseServiceImpl<TaskesTimateEntit
|
|
|
return Result.success(new PageInfo<>(this.findAll()));
|
|
|
}
|
|
|
|
|
|
-// @Override
|
|
|
-// public Result<FinanceMonthVo> allProjectEffortByMonthExcel(String date) {
|
|
|
-//
|
|
|
-// long start = System.currentTimeMillis();
|
|
|
-// List<FinanceMonthVo> effortVos = entityMapper.allProjectEffortByMonth(date);
|
|
|
-// long end = System.currentTimeMillis();
|
|
|
-// log.info("sql耗时: {}s", (end-start)/1000);
|
|
|
-// String time = DateUtil.format(new Date(), "yyyyMMdd_HHmmss");
|
|
|
-// String savePath = configConstant.serverBasePath + time + ".xlsx";
|
|
|
-// HashMap<String, String> rowTitle = new HashMap<>();
|
|
|
-//
|
|
|
-// rowTitle.put("slack", "工号");
|
|
|
-//// rowTitle.put("project", "项目id");
|
|
|
-// rowTitle.put("code", "项目号");
|
|
|
-// rowTitle.put("projectName", "项目名称");
|
|
|
-// rowTitle.put("account", "账号");
|
|
|
-// rowTitle.put("realname", "姓名");
|
|
|
-// rowTitle.put("consumed", "消耗时间(天)");
|
|
|
-// ExcelUtils.createExcel(effortVos, savePath, rowTitle);
|
|
|
-//
|
|
|
-// String domain = configConstant.serverDomain + time + ".xlsx";
|
|
|
-// log.info("url: {}", domain);
|
|
|
-//
|
|
|
-// HashMap<String, Object> result = new HashMap<>();
|
|
|
-// result.put("size", effortVos.size());
|
|
|
-// result.put("domain", domain);
|
|
|
-// return Result.success(domain);
|
|
|
-// }
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public Result<FinanceMonthVo> allProjectEffortByMonthExcel(String date) {
|
|
@@ -293,9 +303,30 @@ public class TaskesTimateServiceImpl extends ZtBaseServiceImpl<TaskesTimateEntit
|
|
|
builder.append(" order by a.account asc");
|
|
|
|
|
|
List<DetailVo> effortVos = entityMapper.excelByYearDetail(builder.toString());
|
|
|
+
|
|
|
+// groupByProject(effortVos);
|
|
|
+
|
|
|
+
|
|
|
return Result.success(createExcel(effortVos));
|
|
|
}
|
|
|
|
|
|
+// private void groupByProject(List<DetailVo> vos){
|
|
|
+// HashMap<String, Double> map = new HashMap<>();
|
|
|
+// for (DetailVo vo : vos) {
|
|
|
+// String key = vo.getProjectName();
|
|
|
+// String consumed = vo.getConsumed();
|
|
|
+// Double val = Double.valueOf(consumed);
|
|
|
+// Double o = map.get(key);
|
|
|
+// if (o != null){
|
|
|
+// val = o + val;
|
|
|
+// }
|
|
|
+// map.put(key, val);
|
|
|
+//
|
|
|
+//
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
+
|
|
|
|
|
|
private HashMap<String, Object> createExcel(List rows){
|
|
|
|