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