Ver código fonte

日报导出格式修改,增加单价,工价,个人汇总

seyason 1 ano atrás
pai
commit
e05640eae2

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

@@ -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();

+ 2 - 2
fhKeeper/formulahousekeeper/management-workshop/src/main/resources/mapper/ReportMapper.xml

@@ -425,9 +425,9 @@
     </select>
     <select id="getReportList" resultType="java.util.Map">
         select p.plan_type as planType,u.name as userName,u.job_number as jobNumber,d.department_id as departmentId,p.product_scheduling_num as productSchedulingNum,
-        p.task_change_notice_num as taskChangeNoticeNum,r.steel_num_array as steelNumArray,r.working_time as workingTime,p.product_name as productName,
+        p.task_change_notice_num as taskChangeNoticeNum,r.steel_num_array as steelNumArray,r.working_time as workingTime,p.product_name as productName,r.finish_num as finishNum,
         pp.name as procedureName,r.progress as progress,(CASE r.check_type WHEN 0 THEN '自检' WHEN 1 THEN '互检' ELSE '专检' END ) as checkType ,uu.name as checkerName,
-        date_format(r.create_date,'%Y-%m-%d') as createDate,date_format(r.create_time,'%Y-%m-%d %T') as reportTime  from report r
+        date_format(r.create_date,'%Y-%m-%d') as createDate,date_format(r.create_time,'%Y-%m-%d %T') as reportTime, pp.unit_price as unitPrice,r.cost  from report r
         left join plan p on p.id=r.plan_id
         left join department d on d.department_id=p.station_id
         left join user u on r.creator_id=u.id