新增签到月份检索,加班时间折算,项目数据月份检索,
This commit is contained in:
@@ -61,7 +61,6 @@ public class EmployeeFilesController extends BaseController {
|
|||||||
/**
|
/**
|
||||||
* 新增文件档案管理
|
* 新增文件档案管理
|
||||||
*/
|
*/
|
||||||
@Log(title = "文件档案管理", businessType = BusinessType.INSERT)
|
|
||||||
@RepeatSubmit()
|
@RepeatSubmit()
|
||||||
@PostMapping()
|
@PostMapping()
|
||||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody UserFilesVo filesVo) {
|
public R<Void> add(@Validated(AddGroup.class) @RequestBody UserFilesVo filesVo) {
|
||||||
|
|||||||
@@ -129,8 +129,8 @@ public class SysOaFinanceController extends BaseController {
|
|||||||
* 最近6个月的支出/收入情况
|
* 最近6个月的支出/收入情况
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("oa:finance:list")
|
@SaCheckPermission("oa:finance:list")
|
||||||
@PostMapping("/findFinanceByMonth")
|
@GetMapping("/findFinanceByMonth")
|
||||||
public R<List<Object>> findFinanceByMonth(SysOaFinanceBo bo) {
|
public R<List<Object>> findFinanceByMonth(SysOaFinanceBo bo,@RequestParam Map<String, Object> params) {
|
||||||
LocalDate now = LocalDate.now();
|
LocalDate now = LocalDate.now();
|
||||||
/* 建立一个数组 */
|
/* 建立一个数组 */
|
||||||
int[] integers = {0,1, 2, 3, 4, 5};
|
int[] integers = {0,1, 2, 3, 4, 5};
|
||||||
@@ -152,8 +152,8 @@ public class SysOaFinanceController extends BaseController {
|
|||||||
outMap.put("financeType", '0');
|
outMap.put("financeType", '0');
|
||||||
outMap.put("beginTime", firstDay);
|
outMap.put("beginTime", firstDay);
|
||||||
outMap.put("endTime", lastDay);
|
outMap.put("endTime", lastDay);
|
||||||
outMap.put("payType",bo.getPayType());
|
outMap.put("payType",params.get("payType"));
|
||||||
outMap.put("receiveAccountId",bo.getReceiveAccountId());
|
outMap.put("receiveAccountId",params.get("receiveAccountId"));
|
||||||
BigDecimal financeOutReduce = iSysOaFinanceService.findFinanceByTime(bo, outMap);
|
BigDecimal financeOutReduce = iSysOaFinanceService.findFinanceByTime(bo, outMap);
|
||||||
|
|
||||||
//收入
|
//收入
|
||||||
@@ -161,8 +161,8 @@ public class SysOaFinanceController extends BaseController {
|
|||||||
comeMap.put("financeType", '1');
|
comeMap.put("financeType", '1');
|
||||||
comeMap.put("beginTime", firstDay);
|
comeMap.put("beginTime", firstDay);
|
||||||
comeMap.put("endTime", lastDay);
|
comeMap.put("endTime", lastDay);
|
||||||
comeMap.put("payType",bo.getPayType());
|
comeMap.put("payType",params.get("payType"));
|
||||||
comeMap.put("receiveAccountId",bo.getReceiveAccountId());
|
comeMap.put("receiveAccountId",params.get("receiveAccountId"));
|
||||||
BigDecimal financeComeReduce = iSysOaFinanceService.findFinanceByTime(bo, comeMap);
|
BigDecimal financeComeReduce = iSysOaFinanceService.findFinanceByTime(bo, comeMap);
|
||||||
//收入减支出
|
//收入减支出
|
||||||
BigDecimal subtract = financeComeReduce.subtract(financeOutReduce);
|
BigDecimal subtract = financeComeReduce.subtract(financeOutReduce);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.ruoyi.oa.controller;
|
package com.ruoyi.oa.controller;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@@ -81,9 +82,9 @@ public class SysOaProjectController extends BaseController {
|
|||||||
* 获取项目管理详细信息
|
* 获取项目管理详细信息
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@GetMapping("/projectDataByMonth")
|
@GetMapping("/projectDataByMonth/{date}")
|
||||||
public R<List<SysOaProjectVo>> getProjectDataByMonth() {
|
public R<List<SysOaProjectVo>> getProjectDataByMonth(@PathVariable("date") Date date) {
|
||||||
return R.ok(iSysOaProjectService.getProjectDataByMonth());
|
return R.ok(iSysOaProjectService.getProjectDataByMonth(date));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -29,6 +29,9 @@ public class LaborCostData extends BaseEntity {
|
|||||||
// 小时计时长
|
// 小时计时长
|
||||||
private Double hourWorkTime;
|
private Double hourWorkTime;
|
||||||
|
|
||||||
|
// 加班时间
|
||||||
|
private Double overtime;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,13 +6,13 @@ import com.ruoyi.common.core.validate.EditGroup;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import javax.validation.constraints.*;
|
import javax.validation.constraints.*;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目管理业务对象 sys_oa_project
|
* 项目管理业务对象 sys_oa_project
|
||||||
@@ -162,4 +162,7 @@ public class SysOaProjectBo extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private String color;
|
private String color;
|
||||||
|
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date date;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,4 +82,7 @@ public class SysOaAttendanceVo extends SysOaAttendance {
|
|||||||
// 小时计单个工作时间
|
// 小时计单个工作时间
|
||||||
private Double hourWorkTimes;
|
private Double hourWorkTimes;
|
||||||
|
|
||||||
|
|
||||||
|
private Double overTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
|||||||
import com.ruoyi.common.core.domain.PageQuery;
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -55,7 +56,7 @@ public interface ISysOaProjectService {
|
|||||||
* 获取每个项目当月的人力资源成本(人天)
|
* 获取每个项目当月的人力资源成本(人天)
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<SysOaProjectVo> getProjectDataByMonth();
|
List<SysOaProjectVo> getProjectDataByMonth(Date date);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -217,8 +217,8 @@ public class SysOaAttendanceServiceImpl implements ISysOaAttendanceService {
|
|||||||
List<SysOaProjectVo> projectVos = new ArrayList<>();
|
List<SysOaProjectVo> projectVos = new ArrayList<>();
|
||||||
Double workTimes = 0.0;
|
Double workTimes = 0.0;
|
||||||
Double hourWorkTimes = 0.0;
|
Double hourWorkTimes = 0.0;
|
||||||
|
Double overTime = 0.0;
|
||||||
for (SysOaAttendanceVo oaAttendanceVo : sysOaAttendanceVos) {
|
for (SysOaAttendanceVo oaAttendanceVo : sysOaAttendanceVos) {
|
||||||
|
|
||||||
// 出差问题解决
|
// 出差问题解决
|
||||||
if (oaAttendanceVo.getProjectId() != 0 && oaAttendanceVo.getProjectId() != 1) {
|
if (oaAttendanceVo.getProjectId() != 0 && oaAttendanceVo.getProjectId() != 1) {
|
||||||
SysOaProjectVo sysOaProjectVo = projectService.queryById(oaAttendanceVo.getProjectId());
|
SysOaProjectVo sysOaProjectVo = projectService.queryById(oaAttendanceVo.getProjectId());
|
||||||
@@ -228,8 +228,10 @@ public class SysOaAttendanceServiceImpl implements ISysOaAttendanceService {
|
|||||||
projectVos.add(sysOaProjectVo);
|
projectVos.add(sysOaProjectVo);
|
||||||
workTimes += oaAttendanceVo.getWorkTimes();
|
workTimes += oaAttendanceVo.getWorkTimes();
|
||||||
hourWorkTimes += oaAttendanceVo.getHourWorkTimes();
|
hourWorkTimes += oaAttendanceVo.getHourWorkTimes();
|
||||||
|
overTime+=oaAttendanceVo.getOverTime();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 此为所有小时计的综合
|
||||||
projectVos.stream().distinct().collect(Collectors.toList());
|
projectVos.stream().distinct().collect(Collectors.toList());
|
||||||
LaborCostData laborCostData = new LaborCostData();
|
LaborCostData laborCostData = new LaborCostData();
|
||||||
laborCostData.setProjects(projectVos);
|
laborCostData.setProjects(projectVos);
|
||||||
@@ -237,6 +239,8 @@ public class SysOaAttendanceServiceImpl implements ISysOaAttendanceService {
|
|||||||
laborCostData.setSysUser(sysUser);
|
laborCostData.setSysUser(sysUser);
|
||||||
laborCostData.setWorkTimes(workTimes);
|
laborCostData.setWorkTimes(workTimes);
|
||||||
laborCostData.setHourWorkTime(hourWorkTimes);
|
laborCostData.setHourWorkTime(hourWorkTimes);
|
||||||
|
// 加班时间
|
||||||
|
laborCostData.setOvertime(overTime);
|
||||||
costDataList.add(laborCostData);
|
costDataList.add(laborCostData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -133,11 +133,12 @@ public class SysOaProjectServiceImpl implements ISysOaProjectService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<SysOaProjectVo> getProjectDataByMonth() {
|
public List<SysOaProjectVo> getProjectDataByMonth(Date date) {
|
||||||
Date date = new Date();
|
System.out.println(date);
|
||||||
|
if (date==null){
|
||||||
List<SysOaProjectVo> projectVos = baseMapper.getProjectDataByMonth(getFirstDay(date),getLastDay(date));
|
date = new Date();
|
||||||
return projectVos;
|
}
|
||||||
|
return baseMapper.getProjectDataByMonth(getFirstDay(date),getLastDay(date));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
|
|
||||||
|
|
||||||
<select id="selectVoListAndTime" resultType="com.ruoyi.oa.domain.vo.SysOaAttendanceVo">
|
<select id="selectVoListAndTime" resultType="com.ruoyi.oa.domain.vo.SysOaAttendanceVo">
|
||||||
select ANY_VALUE(id),
|
SELECT ANY_VALUE(id),
|
||||||
user_id,
|
user_id,
|
||||||
ANY_VALUE(attendance_day),
|
ANY_VALUE(attendance_day),
|
||||||
project_id,
|
project_id,
|
||||||
@@ -109,15 +109,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
ANY_VALUE(update_by),
|
ANY_VALUE(update_by),
|
||||||
ANY_VALUE(remark),
|
ANY_VALUE(remark),
|
||||||
ANY_VALUE(del_flag),
|
ANY_VALUE(del_flag),
|
||||||
count(*) as count,
|
count(id) AS count,
|
||||||
sum(day_length) as work_times,
|
SUM(day_length) + CEILING(SUM(hour) / 9) AS work_times,
|
||||||
sum(hour) as hour_work_times
|
(SUM(day_length) + CEILING(SUM(hour) / 9)) * 9 AS hour_work_times,
|
||||||
from sys_oa_attendance soa
|
FLOOR(SUM(hour) / 9) AS overTime
|
||||||
where user_id = #{userId}
|
FROM sys_oa_attendance soa
|
||||||
and #{lastDay} > create_time
|
WHERE user_id = #{userId}
|
||||||
and create_time > #{firstDay}
|
AND #{lastDay} > create_time
|
||||||
and del_flag = '0'
|
AND create_time > #{firstDay}
|
||||||
group by soa.project_id
|
AND del_flag = '0'
|
||||||
|
GROUP BY soa.project_id
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectUserListAndAttendanceListAndProjectListByUserIds"
|
<select id="selectUserListAndAttendanceListAndProjectListByUserIds"
|
||||||
|
|||||||
Reference in New Issue
Block a user