Преглед изворни кода

获取公司打卡数据修改

anderx пре 2 месеци
родитељ
комит
8a78550199

+ 4 - 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ProjectTaskController.java

@@ -547,12 +547,13 @@ public class ProjectTaskController extends BaseController {
      * 获取公司打卡数据
      */
     @GetMapping("/getCompanyClock")
-    public TableDataInfo getCompanyClock(String usci){
+    public AjaxResult getCompanyClock(String usci,Integer year,Integer month){
         SysDept sysDept = sysDeptService.selectByusci(usci);
         Long deptId = sysDept.getDeptId();
         startPage();
-        List<CompanyClockBo> companyClock = projectStaffRecordService.getCompanyClock(deptId);
-        return getDataTable(companyClock);
+        pushRdDataBo res = projectStaffRecordService.getCompanyClock(deptId,year,month);
+        res.setUsci(usci);
+        return AjaxResult.success(res);
     }
 
     /**

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/project/bo/pushRdDataListBo.java

@@ -1,6 +1,6 @@
 package com.ruoyi.project.bo;
 
-public class pushRdDataListBo {
+public class PushRdDataListBo {
     private String projectNumber;
     private String adminKyId;
     private String recordTime;

+ 3 - 3
ruoyi-system/src/main/java/com/ruoyi/project/bo/pushRdDataBo.java

@@ -4,7 +4,7 @@ import java.util.List;
 
 public class pushRdDataBo {
 
-    private List<pushRdDataListBo> rdList;
+    private List<PushRdDataListBo> rdList;
     private String usci;
 
     public String getUsci() {
@@ -15,11 +15,11 @@ public class pushRdDataBo {
         this.usci = usci;
     }
 
-    public List<pushRdDataListBo> getRdList() {
+    public List<PushRdDataListBo> getRdList() {
         return rdList;
     }
 
-    public void setRdList(List<pushRdDataListBo> rdList) {
+    public void setRdList(List<PushRdDataListBo> rdList) {
         this.rdList = rdList;
     }
 }

+ 2 - 1
ruoyi-system/src/main/java/com/ruoyi/project/mapper/ProjectStaffRecordMapper.java

@@ -4,6 +4,7 @@ import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.project.bo.MyMonthDays;
 import com.ruoyi.project.bo.ProjectStaffRecordInput;
 import com.ruoyi.project.bo.ProjectStaffRecordOut;
+import com.ruoyi.project.bo.PushRdDataListBo;
 import com.ruoyi.project.domain.CompanyClockBo;
 import com.ruoyi.project.domain.ProjectStaffRecord;
 import org.apache.ibatis.annotations.Param;
@@ -59,7 +60,7 @@ public interface ProjectStaffRecordMapper {
 
     List<ProjectStaffRecord> getMonthClock(@Param("id") Integer id, @Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate);
 
-    List<CompanyClockBo> getCompanyClock(Integer deptId);
+    List<PushRdDataListBo> getCompanyClock(@Param("deptId") Integer deptId, @Param("startDate") String startDate, @Param("endDate") String endDate);
 
     ProjectStaffRecord selectByPidAndAidAndTime(@Param("pid") Long pid, @Param("aid") Long aid, @Param("recordTime") Date recordTime);
 }

+ 2 - 7
ruoyi-system/src/main/java/com/ruoyi/project/service/ProjectStaffRecordService.java

@@ -2,16 +2,11 @@ package com.ruoyi.project.service;
 
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.OutMontClockBo;
-import com.ruoyi.project.bo.ProjectStaffRecordInput;
-import com.ruoyi.project.bo.ProjectStaffRecordOut;
-import com.ruoyi.project.bo.UserClockDataBo;
-import com.ruoyi.project.bo.batchExamineRecordInput;
-import com.ruoyi.project.domain.CompanyClockBo;
+import com.ruoyi.project.bo.*;
 import com.ruoyi.project.domain.ProjectStaffRecord;
 import com.ruoyi.project.domain.ProjectStaffRecordLog;
 
 import javax.servlet.http.HttpServletResponse;
-import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
@@ -57,6 +52,6 @@ public interface ProjectStaffRecordService {
 
     Object getNewMonthClock(Integer id, String yearMonth, String duration);
 
-    List<CompanyClockBo> getCompanyClock(Long deptId);
+    pushRdDataBo getCompanyClock(Long deptId, Integer year, Integer month);
 
 }

+ 9 - 3
ruoyi-system/src/main/java/com/ruoyi/project/service/impl/ProjectStaffRecordServiceImpl.java

@@ -15,7 +15,6 @@ import com.ruoyi.common.utils.bean.BeanValidators;
 import com.ruoyi.common.utils.file.FileUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.project.bo.*;
-import com.ruoyi.project.domain.CompanyClockBo;
 import com.ruoyi.project.domain.ProjectStaffRecord;
 import com.ruoyi.project.domain.ProjectStaffRecordLog;
 import com.ruoyi.project.domain.ProjectTask;
@@ -1183,8 +1182,15 @@ public class ProjectStaffRecordServiceImpl implements ProjectStaffRecordService
     }
 
     @Override
-    public List<CompanyClockBo>  getCompanyClock(Long deptId) {
-        return projectStaffRecordMapper.getCompanyClock(Math.toIntExact(deptId));
+    public pushRdDataBo  getCompanyClock(Long deptId, Integer year, Integer month) {
+        pushRdDataBo res= new pushRdDataBo();
+        String firsDay = DateUtils.firsDayOfMonth(year, month);
+        String lastDay = DateUtils.lastDayOfMonth(year, month);
+        lastDay=lastDay+" 23:59:59";
+        List<PushRdDataListBo> rdList =projectStaffRecordMapper.getCompanyClock(Math.toIntExact(deptId),
+                firsDay, lastDay);
+        res.setRdList(rdList);
+        return res;
     }
 
 

+ 1 - 8
ruoyi-system/src/main/java/com/ruoyi/project/service/impl/ProjectTaskServiceImpl.java

@@ -1,6 +1,5 @@
 package com.ruoyi.project.service.impl;
 
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysDept;
@@ -24,7 +23,6 @@ import com.ruoyi.project.mapper.ProjectTaskMapper;
 import com.ruoyi.project.service.ProjectTaskService;
 import com.ruoyi.system.domain.SysUserRole;
 import com.ruoyi.system.mapper.SysDeptMapper;
-import com.ruoyi.system.mapper.SysRoleMapper;
 import com.ruoyi.system.mapper.SysUserMapper;
 import com.ruoyi.system.mapper.SysUserRoleMapper;
 import com.ruoyi.system.service.ISysDeptService;
@@ -33,23 +31,18 @@ import org.apache.poi.xwpf.usermodel.XWPFParagraph;
 import org.apache.poi.xwpf.usermodel.XWPFRun;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
 import javax.validation.Validator;
-import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
-import java.util.zip.ZipOutputStream;
 
 import static java.lang.Thread.sleep;
 
@@ -615,7 +608,7 @@ public class ProjectTaskServiceImpl   implements ProjectTaskService {
         Map<String,ProjectTask> projectMap=new HashMap();
         Map<String,SysUser> userMap=new HashMap();
         if (!in.getRdList().isEmpty()){
-            List<pushRdDataListBo> rdList = in.getRdList();
+            List<PushRdDataListBo> rdList = in.getRdList();
             rdList.stream().forEach(e -> {
                 ProjectStaffRecord p = new ProjectStaffRecord();
                 if (e.getProjectNumber() != null){

+ 7 - 22
ruoyi-system/src/main/resources/mapper/project/ProjectStaffRecordMapper.xml

@@ -350,28 +350,12 @@
         and pid = #{id}
         and record_time between #{startDate} and #{endDate}
     </select>
-    <select id="getCompanyClock" resultType="com.ruoyi.project.domain.CompanyClockBo">
-        select a.id,
-               a.aid,
-               a.pid,
-               a.name,
-               a.process_status processStatus,
-               a.content,
-               a.annex_url annexUrl,
-               a.create_time createTime,
-               a.project_status projectStatus,
-               a.duration,
-               a.examine_id examineId,
-               a.examine_time examineTime,
-               a.examine_name examineName,
-               a.record_time recordTime,
-               a.examine_content examineContent,
-               a.init_duration initDuration,
-               a.check_duration checkDuration,
-               a.check_status checkStatus,
-               a.tianhe_type tianheType,
-               a.tianhe_url tianheUrl,
-               d.name projectName
+    <select id="getCompanyClock" resultType="com.ruoyi.project.bo.PushRdDataListBo">
+        select
+            d.project_number projectNumber,
+            b.ky_id adminKyId,
+            date_format(a.record_time, '%Y-%m-%d') recordTime,
+            a.duration duration
         from project_staff_record a
                  left join sys_user b on a.aid = b.user_id
                  left join sys_dept c on b.dept_id = c.dept_id
@@ -379,6 +363,7 @@
         where a.process_status = 2
           and a.duration >= 0
           and (c.dept_id = #{deptId} or find_in_set(#{deptId}, c.ancestors))
+        and a.record_time between #{startDate} and #{endDate}
     </select>
     <select id="selectByPidAndAidAndTime" resultType="com.ruoyi.project.domain.ProjectStaffRecord">
         select