Ver código fonte

审核记录添加项目名称 工时报告导出按照部门

yurk 2 anos atrás
pai
commit
95c6edddd3

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java

@@ -92,8 +92,8 @@ public class ReportController {
      * date 日期 格式yyyy-mm-dd
      */
     @RequestMapping("/exportReport")
-    public HttpRespMsg exportReport(String startDate, String endDate, Integer projectId,@RequestParam(defaultValue = "0") Integer stateKey) {
-        return reportService.exportReport(startDate, endDate, projectId,stateKey, request);
+    public HttpRespMsg exportReport(String startDate, String endDate, Integer projectId,@RequestParam(defaultValue = "0") Integer stateKey,Integer departmentId) {
+        return reportService.exportReport(startDate, endDate, projectId,stateKey,departmentId, request);
     }
 
 

+ 10 - 10
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/Report.java

@@ -1,16 +1,9 @@
 package com.management.platform.entity;
 
-import java.math.BigDecimal;
 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 java.util.HashMap;
-import java.util.List;
-
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.management.platform.entity.vo.WorktimeItem;
 import lombok.Data;
@@ -18,6 +11,13 @@ import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.HashMap;
+import java.util.List;
+
 /**
  * <p>
  * 
@@ -333,7 +333,7 @@ public class Report extends Model<Report> {
 
 
     @Override
-    protected Serializable pkVal() {
+    protected Serializable pkVal(){
         return this.id;
     }
 

+ 9 - 9
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ReportAuditLog.java

@@ -1,25 +1,24 @@
 package com.management.platform.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.TableField;
-import java.io.Serializable;
-import java.util.List;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
 /**
  * <p>
  * 
  * </p>
  *
  * @author Seyason
- * @since 2022-03-24
+ * @since 2022-06-13
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -38,7 +37,6 @@ public class ReportAuditLog extends Model<ReportAuditLog> {
     private String userName;
 
     @TableField("indate")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
     private LocalDateTime indate;
 
     @TableField("company_id")
@@ -56,6 +54,8 @@ public class ReportAuditLog extends Model<ReportAuditLog> {
     @TableField("audit_channel")
     private Integer auditChannel;
 
+    @TableField("project_name")
+    private String projectName;
 
     @TableField(exist = false)
     private List<ReportAlogMembdate> membdateList;

+ 7 - 7
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/TimeType.java

@@ -1,16 +1,16 @@
 package com.management.platform.entity;
 
-import java.math.BigDecimal;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableField;
-import java.io.Serializable;
-import java.util.List;
-
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+
 /**
  * <p>
  * 
@@ -158,7 +158,7 @@ public class TimeType extends Model<TimeType> {
      * 工时填报数值收集字段是否必填
      */
     @TableField("custom_data_status")
-    private String customDataStatus;
+    private Integer customDataStatus;
 
     /**
      * 财务成本导入是否需要审核

+ 5 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ReportMapper.java

@@ -24,7 +24,8 @@ public interface ReportMapper extends BaseMapper<Report> {
                                                      @Param("userId") String userId,
                                                      @Param("endDate") String endDate,
                                                      @Param("projectId") Integer projectId,
-                                                     @Param("stateKey") Integer stateKey
+                                                     @Param("stateKey") Integer stateKey,
+                                                     @Param("departmentId")Integer departmentId
                                                  );
 
     List<HashMap<String, Object>> getProjectMembReportByDate(@Param("startDate") String startDate,
@@ -32,13 +33,14 @@ public interface ReportMapper extends BaseMapper<Report> {
                                                      @Param("leaderId") String leaderId,
                                                      @Param("endDate") String endDate,
                                                      @Param("projectId") Integer projectId,
-                                                     @Param("stateKey") Integer stateKey);
+                                                     @Param("stateKey") Integer stateKey,
+                                                     @Param("departmentId")Integer departmentId);
 
     //获取部门下的人员的日报
     List<HashMap<String, Object>> getDeptMembReportByDate(@Param("startDate") String startDate,
                                                              @Param("companyId") Integer companyId,
                                                              @Param("deptIds") List<Integer> deptIds,
-                                                             @Param("endDate") String endDate, @Param("projectId") Integer projectId,@Param("stateKey")Integer stateKey);
+                                                             @Param("endDate") String endDate, @Param("projectId") Integer projectId,@Param("stateKey")Integer stateKey,@Param("departmentId")Integer departmentId);
 
     //按当前人员获取本人报告
     List<Map<String, Object>> getReportByDate(@Param("date") String date, @Param("id") String id);

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ReportService.java

@@ -23,7 +23,7 @@ import java.util.List;
 public interface ReportService extends IService<Report> {
     HttpRespMsg getReportList(String date, Integer deptId, String userId, HttpServletRequest request);
 
-    HttpRespMsg exportReport(@RequestParam String startDate, @RequestParam String endDate, Integer projectId,Integer stateKey, HttpServletRequest request);
+    HttpRespMsg exportReport(@RequestParam String startDate, @RequestParam String endDate, Integer projectId,Integer stateKey,Integer departmentId, HttpServletRequest request);
 
     HttpRespMsg getReport(String date, HttpServletRequest request);
 

+ 24 - 10
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -1012,7 +1012,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     } else {
                         Report report = reportMapper.selectById(ids.get(0));
                         //部门待审核,部门审核通过
-                        if (report.getDepartmentAuditState() == 0) {
+                        if (report.getDepartmentAuditState() == 0){
                             report = new Report();
                             report.setDepartmentAuditState(1);
                             reportMapper.update(report, new QueryWrapper<Report>().in("id", ids));
@@ -1154,7 +1154,11 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                         }
                     }
                 }
-
+                List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>().in("id", ids));
+                List<Integer> collect = reportList.stream().map(rl -> rl.getProjectId()).distinct().collect(Collectors.toList());
+                List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().in("id", collect));
+                List<String> stringList = projectList.stream().map(pl -> pl.getProjectName()).distinct().collect(Collectors.toList());
+                String s = org.apache.commons.lang3.StringUtils.join(stringList, ",");
                 //对导入审核,添加记录
                 int channel = oldState == -1?0:1; //0-导入审核, 项目报告审核
                 ReportAuditLog log = new ReportAuditLog();
@@ -1163,6 +1167,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 log.setResult("通过");
                 log.setUserId(user.getId());
                 log.setUserName(user.getName());
+                log.setProjectName(s);
                 reportAuditLogMapper.insert(log);
                 //员工的日期
                 ReportAlogMembdate membdate = new ReportAlogMembdate();
@@ -1370,7 +1375,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             }
 
             informationMapper.insert(new Information().setType(0).setContent(date).setUserId(fillUserId).setMsg(str));
-
             //对导入审核,添加记录
             int channel = oldState == -1?0:1; //0-导入审核, 项目报告审核
             ReportAuditLog log = new ReportAuditLog();
@@ -1379,6 +1383,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             log.setResult("驳回"+(StringUtils.isEmpty(reason)?"":"("+reason+")"));
             log.setUserId(user.getId());
             log.setUserName(user.getName());
+            log.setProjectName(pNames);
             reportAuditLogMapper.insert(log);
             //员工的日期
             ReportAlogMembdate membdate = new ReportAlogMembdate();
@@ -1705,7 +1710,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     reportService.updateBatchById(updateReportList);
                 }
             }
-
+            List<Integer> collect = allReports.stream().map(ar -> ar.getProjectId()).distinct().collect(Collectors.toList());
+            List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().in("id", collect));
+            List<String> stringList = projectList.stream().map(pl -> pl.getProjectName()).distinct().collect(Collectors.toList());
+            String s = org.apache.commons.lang3.StringUtils.join(stringList, ",");
             int channel = oldState == -1?0:1; //0-导入审核, 项目报告审核
             //需要进行审核记录保存
             ReportAuditLog log = new ReportAuditLog();
@@ -1714,6 +1722,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             log.setResult("批量通过");
             log.setUserId(user.getId());
             log.setUserName(user.getName());
+            log.setProjectName(s);
             reportAuditLogMapper.insert(log);
             //当前所有员工的日期
             List<ReportAlogMembdate> membList = new ArrayList<>();
@@ -1783,7 +1792,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                         item.setAuditState(2);
                         reportProfessionProgressService.update(item, new QueryWrapper<ReportProfessionProgress>().in("report_id", ids).in("profession_id", collect));
                     }
-
                 } else {
                     Report report = reportMapper.selectById(ids.get(0));
                     //部门待审核,部门审核驳回
@@ -1799,12 +1807,18 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         int oldState = oneReport.getState();
         int channel = oldState == -1?0:1; //0-导入审核, 项目报告审核
         //需要进行审核记录保存
+        List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>().in("id", ids));
+        List<Integer> collect = reportList.stream().map(rl -> rl.getProjectId()).distinct().collect(Collectors.toList());
+        List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().in("id", collect));
+        List<String> stringList = projectList.stream().map(pl -> pl.getProjectName()).distinct().collect(Collectors.toList());
+        String s = org.apache.commons.lang3.StringUtils.join(stringList, ",");
         ReportAuditLog log = new ReportAuditLog();
         log.setAuditChannel(channel);//导入审核
         log.setCompanyId(company.getId());
         log.setResult("批量驳回");
         log.setUserId(user.getId());
         log.setUserName(user.getName());
+        log.setProjectName(s);
         reportAuditLogMapper.insert(log);
         List<Report> allReports = reportMapper.selectList(new QueryWrapper<Report>().in("id", ids));
         List<User> allUsers = userMapper.selectList(new QueryWrapper<User>().eq("company_id", company.getId()));
@@ -2585,7 +2599,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
 
     //导出报告
     @Override
-    public HttpRespMsg exportReport(@RequestParam String startDate, @RequestParam String endDate, Integer projectId,Integer stateKey, HttpServletRequest request) {
+    public HttpRespMsg exportReport(@RequestParam String startDate, @RequestParam String endDate, Integer projectId,Integer stateKey,Integer departmentId, HttpServletRequest request) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         try {
             String userId = request.getHeader("Token");
@@ -2693,17 +2707,17 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                         allSubDepts.addAll(getSubDepts(dept, allDeptList));
                     }
                     List<Integer> collect = allSubDepts.stream().map(Department::getDepartmentId).collect(Collectors.toList());
-                    allReportByDate = reportMapper.getDeptMembReportByDate(startDate, null, collect, endDate, projectId,stateKey);
+                    allReportByDate = reportMapper.getDeptMembReportByDate(startDate, null, collect, endDate, projectId,stateKey,departmentId);
                 }
 
                 List<HashMap<String, Object>> reportsFromProjects = null;
                 //检查是否是项目负责人
                 int cnt = projectMapper.selectCount(new QueryWrapper<Project>().eq("incharger_id", user.getId()));
                 if (cnt > 0) {
-                    reportsFromProjects = reportMapper.getProjectMembReportByDate(startDate, null, user.getId(), endDate, projectId,stateKey);
+                    reportsFromProjects = reportMapper.getProjectMembReportByDate(startDate, null, user.getId(), endDate, projectId,stateKey,departmentId);
                 } else {
                     //普通员工只能看自己的
-                    reportsFromProjects = reportMapper.getAllReportByDate(startDate, null, user.getId(), endDate, projectId,stateKey);
+                    reportsFromProjects = reportMapper.getAllReportByDate(startDate, null, user.getId(), endDate, projectId,stateKey,departmentId);
                 }
                 if (allReportByDate == null) {
                     allReportByDate = reportsFromProjects;
@@ -2723,7 +2737,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
 //            }
             else {
                 //看公司所有人的
-                allReportByDate = reportMapper.getAllReportByDate(startDate, user.getCompanyId(), null, endDate, projectId,stateKey);
+                allReportByDate = reportMapper.getAllReportByDate(startDate, user.getCompanyId(), null, endDate, projectId,stateKey,departmentId);
             }
             if (timeType.getMultiWorktime() == 1) {
                 java.text.DecimalFormat df = new java.text.DecimalFormat("#0.00");

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

@@ -11,11 +11,12 @@
         <result column="company_id" property="companyId" />
         <result column="result" property="result" />
         <result column="audit_channel" property="auditChannel" />
+        <result column="project_name" property="projectName" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, user_id, user_name, indate, company_id, result, audit_channel
+        id, user_id, user_name, indate, company_id, result, audit_channel, project_name
     </sql>
 
 </mapper>

+ 9 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportMapper.xml

@@ -85,6 +85,9 @@
         <if test="userId != null">
             AND a.creator_id = #{userId}
         </if>
+        <if test="departmentId != null">
+            AND department.department_id = #{departmentId}
+        </if>
 
         ORDER BY a.creator_id, a.create_date desc
     </select>
@@ -156,6 +159,9 @@
         <if test="leaderId != null">
             AND b.incharger_id = #{leaderId}
         </if>
+        <if test="departmentId != null">
+            AND department.department_id = #{departmentId}
+        </if>
 
         ORDER BY a.creator_id, a.create_date desc
     </select>
@@ -189,6 +195,9 @@
         <if test="projectId != null">
             AND a.project_id = #{projectId}
         </if>
+        <if test="departmentId != null">
+            AND department.department_id = #{departmentId}
+        </if>
         <if test="deptIds != null">
             AND c.department_id in
             <foreach collection="deptIds" item="deptId" separator="," close=")" open="(" index="index">