|
@@ -4678,15 +4678,22 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
List<Department> departmentList = departmentMapper.selectList(new LambdaQueryWrapper<Department>().eq(Department::getCompanyId, companyId));
|
|
|
List<Map<String,Object>> reportList=reportMapper.getReportList(startDate,endDate,planId,stateKey,departmentId,companyId);
|
|
|
List<List<String>> dataList=new ArrayList<>();
|
|
|
- String[] title={"员工","工号","所属部门","排除工单号/任务变更通知号","钢印号","工作时长","产品名称","工序名称","进度","质检类型","质检人","工作日期","填报日期"};
|
|
|
+// String[] title={"员工","工号","所属部门","排除工单号/任务变更通知号","钢印号","工作时长","产品名称","工序名称","进度","质检类型","质检人","工作日期","填报日期"};
|
|
|
+ String[] title={"所属部门","工号","员工","排除工单号/任务变更通知号","钢印号","产品名称","工序名称","进度","工作件数", "工作时长","单价","工价","汇总",
|
|
|
+ "工作日期","填报日期","质检类型","质检人"};
|
|
|
List<String> titleList=Arrays.asList(title);
|
|
|
dataList.add(titleList);
|
|
|
+
|
|
|
+ int sumCostIndex = 12;
|
|
|
+ List<String> sumLine = null;
|
|
|
+ String lastJobNum = null;
|
|
|
for (Map<String, Object> map : reportList) {
|
|
|
List<String> item=new ArrayList<>();
|
|
|
- item.add(String.valueOf(map.get("userName")));
|
|
|
- item.add(String.valueOf(map.get("jobNumber")));
|
|
|
String departmentName = convertDepartmentIdToCascade(Integer.valueOf(String.valueOf(map.get("departmentId"))), departmentList);
|
|
|
item.add(departmentName);
|
|
|
+ String curJobBNum = String.valueOf(map.get("jobNumber"));
|
|
|
+ item.add(curJobBNum);
|
|
|
+ item.add(String.valueOf(map.get("userName")));
|
|
|
Integer planType = Integer.valueOf(String.valueOf(map.get("planType")));
|
|
|
if(planType==0){
|
|
|
item.add(map.get("productSchedulingNum")==null?"":String.valueOf(map.get("productSchedulingNum")));
|
|
@@ -4694,15 +4701,33 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
item.add(map.get("taskChangeNoticeNum")==null?"":String.valueOf(map.get("taskChangeNoticeNum")));
|
|
|
}
|
|
|
item.add(map.get("steelNumArray")==null?"":String.valueOf(map.get("steelNumArray")));
|
|
|
- item.add(String.valueOf(map.get("workingTime")));
|
|
|
item.add(String.valueOf(map.get("productName")));
|
|
|
item.add(String.valueOf(map.get("procedureName")));
|
|
|
item.add(String.valueOf(map.get("progress"))+"%");
|
|
|
- item.add(String.valueOf(map.get("checkType")));
|
|
|
- item.add(map.get("checkerName")==null?"":String.valueOf(map.get("checkerName")));
|
|
|
+ item.add(String.valueOf(map.get("finishNum")));
|
|
|
+ item.add(String.valueOf(map.get("workingTime")));
|
|
|
+ item.add(String.valueOf(map.get("unitPrice")));
|
|
|
+ String cost = String.valueOf(map.get("cost"));
|
|
|
+ item.add(cost);
|
|
|
item.add(String.valueOf(map.get("createDate")));
|
|
|
item.add(String.valueOf(map.get("reportTime")));
|
|
|
+ item.add(String.valueOf(map.get("checkType")));
|
|
|
+ item.add(map.get("checkerName")==null?"":String.valueOf(map.get("checkerName")));
|
|
|
dataList.add(item);
|
|
|
+ if (lastJobNum == null || !lastJobNum.equals(curJobBNum)) {
|
|
|
+ //换新的人了
|
|
|
+ sumLine = item;
|
|
|
+ sumLine.add(sumCostIndex, cost);
|
|
|
+ lastJobNum = curJobBNum;
|
|
|
+ } else {
|
|
|
+ //当前这行的该列设置为空
|
|
|
+ item.add(sumCostIndex, "");
|
|
|
+ //更新第一行的数据
|
|
|
+ BigDecimal sumCost = new BigDecimal(sumLine.get(sumCostIndex));
|
|
|
+ sumCost = sumCost.add(new BigDecimal(cost));
|
|
|
+ sumLine.remove(sumCostIndex);
|
|
|
+ sumLine.add(sumCostIndex, sumCost.toString());
|
|
|
+ }
|
|
|
}
|
|
|
Company company = companyMapper.selectById(companyId);
|
|
|
String fileName=("日报统计导出_")+company.getCompanyName()+System.currentTimeMillis();
|