Forráskód Böngészése

日报的项目审核详细日志记录

seyason 2 éve
szülő
commit
005a5c00b3

+ 21 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportLogDetailController.java

@@ -0,0 +1,21 @@
+package com.management.platform.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-09-19
+ */
+@RestController
+@RequestMapping("/report-log-detail")
+public class ReportLogDetailController {
+
+}
+

+ 91 - 94
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/WeiXinCorpController.java

@@ -748,9 +748,6 @@ public class WeiXinCorpController {
                         if (name == null) {
                             name = userId;
                         }
-                        if (name.length() > 10) {
-                            name = "未知";
-                        }
                         User user = new User()
                                 .setId(id.toString())
                                 .setRoleId(managerRole.getId())
@@ -763,97 +760,97 @@ public class WeiXinCorpController {
                         userMapper.insert(user);
                     }
 
-//                    int companyId = company.getId();
-//                    //获取公司根部门人员,也就是没有分配部门的人员
-//                    int companyRootDeptId = 1;
-//                    JSONArray unAssignedUserList = getDeptUserSimple(curCorpAccessToken, companyRootDeptId);
-//                    for (int m=0;m<unAssignedUserList.size(); m++) {
-//                        JSONObject userJson = unAssignedUserList.getJSONObject(m);
-//                        String curUserid = userJson.getString("userid");
-//                        log.info("userid="+curUserid+", name=" + userJson.getString("name")+", mobile="+userJson.getString("mobile"));
-//                        //不存在的人员, 进行插入
-//                        User user = new User();
-//
-//                        user.setId(SnowFlake.nextId()+"")
-//                                .setRole(0)//默认普通员工
-//                                .setCompanyId(companyId)
-//                                .setName(userJson.getString("name"))
-//                                .setCorpwxUserid(curUserid)
-//                                .setColor(ColorUtil.randomColor());
-//
-//                        //检查用户是否已经存在
-//                        if (userMapper.selectCount(new QueryWrapper<User>().eq("corpwx_userid", curUserid)) == 0) {
-//                            userMapper.insert(user);
-//                        }
-//                    }
-
-                    //获取部门
-//                    JSONObject deptObj = getDepartments(curCorpAccessToken);
-//                    JSONArray deptObjJSONArray = deptObj.getJSONArray("department");
-//
-//                    List<Department> sysDeptList = new ArrayList<>();
-//                    for (int i=0;i<deptObjJSONArray.size(); i++) {
-//                        int deptId = deptObjJSONArray.getJSONObject(i).getIntValue("id");
-//                        Department department = new Department();
-//                        department.setDepartmentName(deptObjJSONArray.getJSONObject(i).getString("name"));
-//                        department.setCompanyId(companyId);
-//                        departmentMapper.insert(department);
-//                        sysDeptList.add(department);
-//                        deptObjJSONArray.getJSONObject(i).put("sys_dept_id", department.getDepartmentId());
-//                        Integer departmentId = department.getDepartmentId();
-//                        JSONArray userList = getDeptUserSimple(curCorpAccessToken, deptId);
-//                        for (int m=0;m<userList.size(); m++) {
-//                            JSONObject userJson = userList.getJSONObject(m);
-//                            String curUserid = userJson.getString("userid");
-//                            log.info("userid="+curUserid+", name=" + userJson.getString("name")+", mobile="+userJson.getString("mobile"));
-//                            //不存在的人员, 进行插入
-//                            User user = new User();
-//
-//                            user.setId(SnowFlake.nextId()+"")
-//                                    .setRole(0)//默认普通员工
-//                                    .setCompanyId(companyId)
-//                                    .setDepartmentId(departmentId)
-//                                    .setName(userJson.getString("name"))
-//                                    .setCorpwxUserid(curUserid)
-//                                    .setColor(ColorUtil.randomColor());
-//
-//                            //检查用户是否已经存在
-//                            if (userMapper.selectCount(new QueryWrapper<User>().eq("corpwx_userid", curUserid)) == 0) {
-//                                userMapper.insert(user);
-//                            } else {
-//                                //更新信息
-//                                User oldUser = userMapper.selectList(new QueryWrapper<User>().eq("corpwx_userid", curUserid).eq("company_id", companyId).orderByDesc("create_time")).get(0);
-//                                oldUser.setName(userJson.getString("name"));
-//                                oldUser.setDepartmentId(departmentId);
-//
-//                                userMapper.updateById(oldUser);
-//                            }
-//                        }
-//                    }
-
-                    //再来更新部门的层级关系
-//                    List<Department> needUpdateDepts = new ArrayList<>();
-//                    for (int i=0;i<deptObjJSONArray.size(); i++) {
-//                        JSONObject deptJson = deptObjJSONArray.getJSONObject(i);
-//                        int pid = deptJson.getInteger("parentid");
-//                        if (pid != 1) {
-//                            //根部门Id = 1
-//                            int sysDeptId = deptJson.getInteger("sys_dept_id");
-//                            Department department = sysDeptList.stream().filter(d -> d.getDepartmentId().equals(sysDeptId)).findFirst().get();
-//                            //从deptjson数组中寻找parent item
-//                            for (int m=0;m<deptObjJSONArray.size(); m++) {
-//                                JSONObject item = deptObjJSONArray.getJSONObject(m);
-//                                if (item.getInteger("id").equals(pid)) {
-//                                    department.setSuperiorId(item.getInteger("sys_dept_id"));
-//                                    break;
-//                                }
-//                            }
-//                            needUpdateDepts.add(department);
-//                        }
-//                    }
-//                    if (needUpdateDepts.size() > 0) {
-//                        departmentService.updateBatchById(needUpdateDepts);
-//                    }
+                    int companyId = company.getId();
+                    //获取公司根部门人员,也就是没有分配部门的人员
+                    int companyRootDeptId = 1;
+                    JSONArray unAssignedUserList = getDeptUserSimple(curCorpAccessToken, companyRootDeptId);
+                    for (int m=0;m<unAssignedUserList.size(); m++) {
+                        JSONObject userJson = unAssignedUserList.getJSONObject(m);
+                        String curUserid = userJson.getString("userid");
+                        log.info("userid="+curUserid+", name=" + userJson.getString("name")+", mobile="+userJson.getString("mobile"));
+                        //不存在的人员, 进行插入
+                        User user = new User();
+
+                        user.setId(SnowFlake.nextId()+"")
+                                .setRole(0)//默认普通员工
+                                .setCompanyId(companyId)
+                                .setName(userJson.getString("name"))
+                                .setCorpwxUserid(curUserid)
+                                .setColor(ColorUtil.randomColor());
+
+                        //检查用户是否已经存在
+                        if (userMapper.selectCount(new QueryWrapper<User>().eq("corpwx_userid", curUserid)) == 0) {
+                            userMapper.insert(user);
+                        }
+                    }
+
+//                    获取部门
+                    JSONObject deptObj = getDepartments(curCorpAccessToken);
+                    JSONArray deptObjJSONArray = deptObj.getJSONArray("department");
+
+                    List<Department> sysDeptList = new ArrayList<>();
+                    for (int i=0;i<deptObjJSONArray.size(); i++) {
+                        int deptId = deptObjJSONArray.getJSONObject(i).getIntValue("id");
+                        Department department = new Department();
+                        department.setDepartmentName(deptObjJSONArray.getJSONObject(i).getString("name"));
+                        department.setCompanyId(companyId);
+                        departmentMapper.insert(department);
+                        sysDeptList.add(department);
+                        deptObjJSONArray.getJSONObject(i).put("sys_dept_id", department.getDepartmentId());
+                        Integer departmentId = department.getDepartmentId();
+                        JSONArray userList = getDeptUserSimple(curCorpAccessToken, deptId);
+                        for (int m=0;m<userList.size(); m++) {
+                            JSONObject userJson = userList.getJSONObject(m);
+                            String curUserid = userJson.getString("userid");
+                            log.info("userid="+curUserid+", name=" + userJson.getString("name")+", mobile="+userJson.getString("mobile"));
+                            //不存在的人员, 进行插入
+                            User user = new User();
+
+                            user.setId(SnowFlake.nextId()+"")
+                                    .setRole(0)//默认普通员工
+                                    .setCompanyId(companyId)
+                                    .setDepartmentId(departmentId)
+                                    .setName(userJson.getString("name"))
+                                    .setCorpwxUserid(curUserid)
+                                    .setColor(ColorUtil.randomColor());
+
+                            //检查用户是否已经存在
+                            if (userMapper.selectCount(new QueryWrapper<User>().eq("corpwx_userid", curUserid)) == 0) {
+                                userMapper.insert(user);
+                            } else {
+                                //更新信息
+                                User oldUser = userMapper.selectList(new QueryWrapper<User>().eq("corpwx_userid", curUserid).eq("company_id", companyId).orderByDesc("create_time")).get(0);
+                                oldUser.setName(userJson.getString("name"));
+                                oldUser.setDepartmentId(departmentId);
+
+                                userMapper.updateById(oldUser);
+                            }
+                        }
+                    }
+
+//                    再来更新部门的层级关系
+                    List<Department> needUpdateDepts = new ArrayList<>();
+                    for (int i=0;i<deptObjJSONArray.size(); i++) {
+                        JSONObject deptJson = deptObjJSONArray.getJSONObject(i);
+                        int pid = deptJson.getInteger("parentid");
+                        if (pid != 1) {
+                            //根部门Id = 1
+                            int sysDeptId = deptJson.getInteger("sys_dept_id");
+                            Department department = sysDeptList.stream().filter(d -> d.getDepartmentId().equals(sysDeptId)).findFirst().get();
+                            //从deptjson数组中寻找parent item
+                            for (int m=0;m<deptObjJSONArray.size(); m++) {
+                                JSONObject item = deptObjJSONArray.getJSONObject(m);
+                                if (item.getInteger("id").equals(pid)) {
+                                    department.setSuperiorId(item.getInteger("sys_dept_id"));
+                                    break;
+                                }
+                            }
+                            needUpdateDepts.add(department);
+                        }
+                    }
+                    if (needUpdateDepts.size() > 0) {
+                        departmentService.updateBatchById(needUpdateDepts);
+                    }
                 } else {
                     //企业已经存在
                     Integer companyId = data.getCompanyId();

+ 71 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ReportLogDetail.java

@@ -0,0 +1,71 @@
+package com.management.platform.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-09-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class ReportLogDetail extends Model<ReportLogDetail> {
+
+    private static final long serialVersionUID=1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 日报的id
+     */
+    @TableField("report_id")
+    private Integer reportId;
+
+    /**
+     * 审核内容
+     */
+    @TableField("msg")
+    private String msg;
+
+    /**
+     * 操作人id
+     */
+    @TableField("operator_id")
+    private String operatorId;
+
+    /**
+     * 操作日期
+     */
+    @TableField("operate_date")
+    private LocalDateTime operateDate;
+
+    @TableField("company_id")
+    private Integer companyId;
+
+    /**
+     * 日报所属工作日期
+     */
+    @TableField("work_date")
+    private LocalDate workDate;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ReportLogDetailMapper.java

@@ -0,0 +1,16 @@
+package com.management.platform.mapper;
+
+import com.management.platform.entity.ReportLogDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-09-19
+ */
+public interface ReportLogDetailMapper extends BaseMapper<ReportLogDetail> {
+
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ReportLogDetailService.java

@@ -0,0 +1,16 @@
+package com.management.platform.service;
+
+import com.management.platform.entity.ReportLogDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-09-19
+ */
+public interface ReportLogDetailService extends IService<ReportLogDetail> {
+
+}

+ 1 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DepartmentServiceImpl.java

@@ -502,6 +502,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
                     User user = new User();
                     user.setId((String)map.get(("id")));
                     user.setName((String)map.get("user"));
+                    user.setJobNumber((String)map.get("jobNumber"));
                     userList.add(user);
                     //这个名字尚未装进数组中
                     List<Map<String, Object>> tempList = new ArrayList<>();

+ 20 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportLogDetailServiceImpl.java

@@ -0,0 +1,20 @@
+package com.management.platform.service.impl;
+
+import com.management.platform.entity.ReportLogDetail;
+import com.management.platform.mapper.ReportLogDetailMapper;
+import com.management.platform.service.ReportLogDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-09-19
+ */
+@Service
+public class ReportLogDetailServiceImpl extends ServiceImpl<ReportLogDetailMapper, ReportLogDetail> implements ReportLogDetailService {
+
+}

+ 110 - 25
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -80,6 +80,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     @Resource
     private TaskGroupMapper taskGroupMapper;
     @Resource
+    private ReportLogDetailMapper reportLogDetailMapper;
+    @Resource
+    private ReportLogDetailService reportLogDetailService;
+    @Resource
     private ProjectAuditorMapper projectAuditorMapper;
     @Resource
     private SysFunctionMapper sysFunctionMapper;
@@ -808,6 +812,17 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         log.setCompanyId(report.getCompanyId());
         log.setReportIds(reportIds);
         reportLogMapper.insert(log);
+        for (Integer reportId : ids) {
+            ReportLogDetail detail = new ReportLogDetail();
+            detail.setCompanyId(log.getCompanyId());
+            detail.setMsg(log.getMsg());
+            detail.setOperateDate(log.getOperateDate());
+            detail.setOperatorId(log.getOperatorId());
+            detail.setReportId(reportId);
+            detail.setWorkDate(log.getCreateDate());
+            reportLogDetailMapper.insert(detail);
+        }
+
     }
 
     //保存提交日报的记录
@@ -815,6 +830,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         if (reportList.size() == 0) return;
         Report r = reportList.get(0);
         List<ReportLog> addLogList = new ArrayList<>();
+        List<ReportLogDetail> addLogDetailList = new ArrayList<>();
         //待审核或者直接通过的(代填时state可能是直接通过)
         if (r.getState() == 0 || r.getState() == 1) {
             Integer companyId = r.getCompanyId();
@@ -824,6 +840,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 ReportLog log = new ReportLog();
                 log.setCreatorId(report.getCreatorId());
                 log.setCreateDate(report.getCreateDate());
+                ReportLogDetail detail = new ReportLogDetail();
+                detail.setWorkDate(log.getCreateDate());
+                detail.setReportId(report.getId());
+                detail.setCompanyId(companyId);
                 //去重
                 Optional<ReportLog> oldLog = addLogList.stream().filter(add -> add.getCreateDate().isEqual(log.getCreateDate()) && add.getCreatorId().equals(log.getCreatorId())).findFirst();
                 if (!oldLog.isPresent()) {
@@ -846,12 +866,23 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     log.setCompanyId(companyId);
                     log.setReportIds(report.getId()+"");
                     addLogList.add(log);
+                    detail.setOperatorId(log.getOperatorId());
+                    detail.setOperateDate(log.getOperateDate());
+                    detail.setMsg(log.getMsg());
+
                 } else {
                     ReportLog reportLog = oldLog.get();
                     reportLog.setReportIds(reportLog.getReportIds()+","+report.getId());
+                    detail.setOperatorId(reportLog.getOperatorId());
+                    detail.setOperateDate(reportLog.getOperateDate());
+                    detail.setMsg(reportLog.getMsg());
                 }
+
+                addLogDetailList.add(detail);
             }
             reportLogService.saveBatch(addLogList);
+            //详细保存
+            reportLogDetailService.saveBatch(addLogDetailList);
         }
     }
 
@@ -859,6 +890,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     private void saveApproveReportLog(List<Report> reportList, String operatorId, String opName) {
         Report r = reportList.get(0);
         List<ReportLog> addLogList = new ArrayList<>();
+        List<ReportLogDetail> addLogDetailList = new ArrayList<>();
         Integer companyId = r.getCompanyId();
 //        List<Integer> projectIds = reportList.stream().map(Report::getProjectId).collect(Collectors.toList());
 //        List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().select("id, project_name").in("id", projectIds));
@@ -879,14 +911,24 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 ReportLog reportLog = oldLog.get();
                 reportLog.setReportIds(reportLog.getReportIds()+","+report.getId());
             }
+            ReportLogDetail detail = new ReportLogDetail();
+            detail.setReportId(report.getId());
+            detail.setWorkDate(log.getCreateDate());
+            detail.setOperatorId(log.getOperatorId());
+            detail.setOperateDate(log.getOperateDate());
+            detail.setCompanyId(log.getCompanyId());
+            detail.setMsg(log.getMsg());
+            addLogDetailList.add(detail);
         }
         reportLogService.saveBatch(addLogList);
+        reportLogDetailService.saveBatch(addLogDetailList);
     }
 
     //保存审核日报的记录
     private void saveDenyReportLog(List<Report> reportList, String operatorId, String opName,  String reason) {
         Report r = reportList.get(0);
         List<ReportLog> addLogList = new ArrayList<>();
+        List<ReportLogDetail> addLogDetailList = new ArrayList<>();
         Integer companyId = r.getCompanyId();
         //操作审核通过
         for (Report report : reportList) {
@@ -905,8 +947,17 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 ReportLog reportLog = oldLog.get();
                 reportLog.setReportIds(reportLog.getReportIds()+","+report.getId());
             }
+            ReportLogDetail detail = new ReportLogDetail();
+            detail.setReportId(report.getId());
+            detail.setWorkDate(log.getCreateDate());
+            detail.setOperatorId(log.getOperatorId());
+            detail.setOperateDate(log.getOperateDate());
+            detail.setCompanyId(log.getCompanyId());
+            detail.setMsg(log.getMsg());
+            addLogDetailList.add(detail);
         }
         reportLogService.saveBatch(addLogList);
+        reportLogDetailService.saveBatch(addLogDetailList);
     }
 
     private void loadPicFromCorpWXServer(Integer companyId, List<Report> reportList) {
@@ -1809,7 +1860,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             for (Integer integer : otherCollect) {
                 Optional<Department> first = allDepartmentList.stream().filter(ad -> ad.getDepartmentId().equals(integer)).findFirst();
                 if(first.isPresent()){
-                    allMDeptList.add(first.get());
+                    if (!allMDeptList.stream().anyMatch(all->all.getDepartmentId().equals(first.get().getDepartmentId()))) {
+                        allMDeptList.add(first.get());
+                    }
                 }
             }
 
@@ -1822,10 +1875,21 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 }
             }
 
-            ArrayList realMDeptList = new ArrayList<>();
+            ArrayList<DepartmentVO> realMDeptList = new ArrayList<>();
             for (Department d : allMDeptList) {
                 realMDeptList.addAll(getSpecifiedDept(list, d.getDepartmentId()));
             }
+            //去掉第一层的部门是其他第一层部门的子部门的数据
+
+            for (int i=0;i<realMDeptList.size(); i++) {
+                DepartmentVO curDept = realMDeptList.get(i);
+                boolean exists = existsInChildDeptList(curDept.getId(), realMDeptList);
+                if (exists) {
+                    realMDeptList.remove(i);
+                    i--;
+                }
+            }
+
             list = realMDeptList;
         }
 
@@ -1870,6 +1934,29 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         return msg;
     }
 
+    boolean existsInChildDeptList(Integer departmentId, List<DepartmentVO> parentDeptList) {
+        boolean find = false;
+        for (DepartmentVO p : parentDeptList) {
+            if (p.getChildren() != null && p.getChildren().size() > 0) {
+                for (DepartmentVO vo : p.getChildren()) {
+                    if (vo.getId().equals(departmentId)) {
+                        find = true;
+                        break;
+                    } else {
+                        if (vo.getChildren() != null && vo.getChildren().size() > 0) {
+                            if (existsInChildDeptList(departmentId, p.getChildren())) {
+                                find = true;
+                                break;
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+        return find;
+    }
+
     @Override
     public HttpRespMsg batchApproveReport(String reportIds, Integer isDepartment, HttpServletRequest request,String evaluate) {
         String token = request.getHeader("Token");
@@ -3245,12 +3332,16 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 titles.add("任务分组");
                 titles.add("投入阶段");
             }
+            //每个日报的审批流程记录
+            List<ReportLogDetail> logDetails = new ArrayList<>();
             if (timeType.getShowFillauditTime() == 1) {
-//                titles.add("填写时间");
-//                titles.add("项目审核人");
-//                titles.add("审核时间");
+                titles.add("填写时间");
+                titles.add("项目审核人");
+                titles.add("审核时间");
                 titles.add("审核流程");
+                logDetails = reportLogDetailMapper.selectList(new QueryWrapper<ReportLogDetail>().eq("company_id", company.getId()).between("work_date", startDate, endDate));
             }
+
             titles.add("工作事项");
             if(stateKey==1){
                 titles.add("审核状态");
@@ -3458,29 +3549,22 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     index++;
                 }
                 if (timeType.getShowFillauditTime() == 1) {
-//                    row.createCell(index).setCellValue(sdf.format((Date)map.get("time")));
-//                    index++;
-//                    row.createCell(index).setCellValue((String)map.get("projectAuditorName"));
-//                    index++;
-//                    if (map.get("projectAuditTime") == null) {
-//                        row.createCell(index).setCellValue("");
-//                    } else {
-//                        row.createCell(index).setCellValue(sdf.format((Date)map.get("projectAuditTime")));
-//                    }
-//                    index++;
-                    //审核流程显示
-                    QueryWrapper<ReportLog> logQueryWrapper = new QueryWrapper<ReportLog>().eq("report_ids", (int)map.get("id"))
-                            .or().likeLeft("report_ids", ","+map.get("id"))
-                            .or().like("report_ids", ","+map.get("id")+",")
-                            .or().likeRight("report_ids", map.get("id")+",");
-                    List<ReportLog> auditLogs = reportLogMapper.selectList(logQueryWrapper);
-
-                    if (auditLogs.size() == 0) {
+                    row.createCell(index).setCellValue(sdf.format((Date)map.get("time")));
+                    index++;
+                    row.createCell(index).setCellValue((String)map.get("projectAuditorName"));
+                    index++;
+                    if (map.get("projectAuditTime") == null) {
                         row.createCell(index).setCellValue("");
                     } else {
+                        row.createCell(index).setCellValue(sdf.format((Date)map.get("projectAuditTime")));
+                    }
+                    index++;
+                    //审核流程显示
+                    List<ReportLogDetail> detailList = logDetails.stream().filter(log -> log.getReportId().equals((Integer) map.get("id"))).collect(Collectors.toList());
+                    if (detailList.size() > 0) {
                         StringBuilder sb = new StringBuilder();
                         boolean isFirst = true;
-                        for (ReportLog audit:auditLogs) {
+                        for (ReportLogDetail audit:detailList) {
                             String time = dtf.format(audit.getOperateDate());
                             String msg = time+" " + audit.getMsg();
                             if (!isFirst) {
@@ -3491,8 +3575,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                             sb.append(msg);
                         }
                         row.createCell(index).setCellValue(sb.toString());
+                    } else {
+                        row.createCell(index).setCellValue("");
                     }
-
                     index++;
                 }
                 row.createCell(index).setCellValue((String) map.get("content"));

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/DepartmentMapper.xml

@@ -37,7 +37,7 @@
 
     <!--根据人员获取成本-->
     <select id="getCostByUser" resultType="java.util.Map">
-        SELECT a.id as id, a.name AS user, c.project_name AS project, SUM(b.working_time) AS time, SUM(b.cost) AS
+        SELECT a.id as id, a.name AS user, a.job_number as jobNumber, c.project_name AS project, SUM(b.working_time) AS time, SUM(b.cost) AS
         money
         FROM user AS a
         LEFT JOIN report AS b ON a.id = b.creator_id
@@ -66,7 +66,7 @@
 
     <!-- 根据人员获取自定义的日报数值 -->
     <select id="getCustomDataByUser" resultType="java.util.Map">
-        SELECT a.id as id, a.name AS user, c.project_name AS project, IFNULL(SUM(b.custom_data),0) AS cost
+        SELECT a.id as id, a.name AS user, a.job_number as jobNumber,c.project_name AS project, IFNULL(SUM(b.custom_data),0) AS cost
         FROM user AS a
         LEFT JOIN report AS b ON a.id = b.creator_id
         LEFT JOIN project AS c ON b.project_id = c.id

+ 21 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportLogDetailMapper.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.management.platform.mapper.ReportLogDetailMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.management.platform.entity.ReportLogDetail">
+        <id column="id" property="id" />
+        <result column="report_id" property="reportId" />
+        <result column="msg" property="msg" />
+        <result column="operator_id" property="operatorId" />
+        <result column="operate_date" property="operateDate" />
+        <result column="company_id" property="companyId" />
+        <result column="work_date" property="workDate" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, report_id, msg, operator_id, operate_date, company_id, work_date
+    </sql>
+
+</mapper>