api加解密,金额字段类型

This commit is contained in:
zt
2025-03-04 17:01:15 +08:00
parent f46223ae10
commit 485e86c6e4
40 changed files with 519 additions and 58 deletions

View File

@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
/**
* 包工头招工分页查询对象 bgt_project_recruit
*
@ -52,7 +54,7 @@ public class BgtProjectRecruitQueryBo extends BaseEntity {
private String recruitAddress;
/** 招工金额 */
@ApiModelProperty("招工金额")
private Integer recruitAmount;
private BigDecimal recruitAmount;
/** 招工数量 */
@ApiModelProperty("招工数量")
private Integer recruitStaffNum;

View File

@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
/**
* 包工头工资申请分页查询对象 bgt_wage_application
*
@ -49,7 +51,7 @@ public class BgtWageApplicationQueryBo extends BaseEntity {
private Long userId;
/** 申请金额 */
@ApiModelProperty("申请金额")
private Integer applicantAmount;
private BigDecimal applicantAmount;
/** 用工情况 */
@ApiModelProperty("用工情况")
private String employmentSituation;

View File

@ -12,6 +12,7 @@ import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
@ -89,7 +90,7 @@ public class BgtWageApplication implements Serializable {
/** 申请金额 */
@Excel(name = "申请金额")
@ApiModelProperty("申请金额")
private Integer applicantAmount;
private BigDecimal applicantAmount;
/** 用工情况 */
@Excel(name = "用工情况")

View File

@ -16,6 +16,11 @@ import java.time.LocalDate;
@ApiModel("App包工头总体考勤查询对象")
public class BgtAttendanceDayDTO {
@ApiModelProperty("分页大小")
private Integer pageSize;
/** 当前页数 */
@ApiModelProperty("当前页数")
private Integer pageNum;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")

View File

@ -11,7 +11,7 @@ import java.util.List;
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("App包工头总体考勤视图对象")
@ApiModel("App包工头总体考勤统计视图对象")
public class BgtAttendanceVO {
@ApiModelProperty("任务ID")
@ -38,6 +38,9 @@ public class BgtAttendanceVO {
@ApiModelProperty("外勤人数")
private Integer outDutyNum = 0;
@ApiModelProperty("早退人数")
private Integer earlyLeaveNum = 0;
@ApiModelProperty("考勤列表")
List<BgtAttendanceCountVO> countVOs;

View File

@ -62,5 +62,7 @@ public class BgtProjectRecruitApplyVO implements Serializable {
@ApiModelProperty("0报名 1包工同意 2包工头拒绝截止时间3务工者同意 4务工者拒绝 5进场 6离场")
private String status;
@ApiModelProperty("打卡状态")
private String attendanceStatus;
}

View File

@ -9,6 +9,7 @@ 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.time.LocalTime;
@ -58,7 +59,7 @@ public class BgtProjectRecruitDetailVO implements Serializable {
private String recruitAddress;
@ApiModelProperty("招工金额")
private Integer recruitAmount;
private BigDecimal recruitAmount;
@ApiModelProperty("招工数量")
private Integer recruitStaffNum;

View File

@ -8,6 +8,7 @@ import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@ -39,7 +40,7 @@ public class BgtProjectRecruitVO implements Serializable {
private String recruitAddress;
@ApiModelProperty("招工金额")
private Integer recruitAmount;
private BigDecimal recruitAmount;
@ApiModelProperty("招工数量")
private Integer recruitStaffNum;

View File

@ -7,6 +7,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
@ -38,7 +39,7 @@ public class BgtWageApplicationDetailVO {
private Integer taskStaffNum;
@ApiModelProperty("申请金额")
private Integer applicantAmount;
private BigDecimal applicantAmount;
@ApiModelProperty("申请人")
private String username;

View File

@ -6,6 +6,8 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* 包工头工资申请分页查询对象 bgt_wage_application
*
@ -26,7 +28,7 @@ public class BgtWageApplicationListVO {
private String username;
@ApiModelProperty("申请金额")
private Integer applicantAmount;
private BigDecimal applicantAmount;
@ApiModelProperty("审核状态1审核中 2已审核 3未审核")
private String auditStatus;

View File

@ -7,6 +7,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
@ -32,7 +33,7 @@ public class BgtWageApplicationVO {
private String username;
@ApiModelProperty("申请金额")
private Integer applicantAmount;
private BigDecimal applicantAmount;
@ApiModelProperty("申请时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

View File

@ -28,7 +28,7 @@ public interface BgtProjectRecruitApplyMapper extends BaseMapperPlus<BgtProjectR
List<BgtProjectRecruitApplyVO> appQueryList(@Param("dto") BgtProjectRecruitApplyQueryDTO dto);
List<BgtProjectRecruitApplyVO> todayAttendanceList(@Param("dto") BgtAttendanceDayDTO dto);
Page<BgtProjectRecruitApplyVO> dayAttendanceList(@Param("page")Page<BgtAttendanceDayDTO> queryDTOPage,@Param("dto") BgtAttendanceDayDTO dto);
// 获取指定项目下的所有成员(分页)
Page<WgzAppUnderwayRes> underwayPage (@Param("page") Page<WgzAppUnderwayReq> page,@Param("req") WgzAppUnderwayReq req);

View File

@ -98,7 +98,7 @@ public interface IBgtProjectRecruitApplyService extends IServicePlus<BgtProjectR
/**
* 指定日期打卡记录
*/
List<BgtProjectRecruitApplyVO> todayAttendanceList(BgtAttendanceDayDTO dto);
TableDataInfo<BgtProjectRecruitApplyVO> dayAttendanceList(BgtAttendanceDayDTO dto);
/**
* 退场

View File

@ -305,8 +305,12 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
return false;
}
public List<BgtProjectRecruitApplyVO> todayAttendanceList(BgtAttendanceDayDTO dto) {
return baseMapper.todayAttendanceList(dto);
public TableDataInfo<BgtProjectRecruitApplyVO> dayAttendanceList(BgtAttendanceDayDTO dto) {
Page<BgtAttendanceDayDTO> queryDTOPage = new Page<>();
queryDTOPage.setCurrent(dto.getPageNum());
queryDTOPage.setSize(dto.getPageSize());
Page<BgtProjectRecruitApplyVO> queryVOPage = baseMapper.dayAttendanceList(queryDTOPage, dto);
return PageUtils.buildDataInfo(queryVOPage);
}
@Override

View File

@ -1,5 +1,6 @@
package com.ruoyi.common.util;
import cn.hutool.core.util.StrUtil;
import com.ruoyi.bgt.domain.vo.BgtAttendanceCountVO;
import java.time.*;
@ -95,7 +96,10 @@ public class DataUtil {
/**
* 计算年龄
*/
public static int calculateAge(String birthdate) {
public static Integer calculateAge(String birthdate) {
if(StrUtil.isBlank(birthdate)){
return null;
}
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
// 将字符串解析为 LocalDate 对象
LocalDate birth = LocalDate.parse(birthdate, dateTimeFormatter);

View File

@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
/**
* 分包商项目任务分页查询对象 fbs_project_task
*
@ -49,7 +51,7 @@ public class FbsProjectTaskQueryBo extends BaseEntity {
private String taskAddress;
/** 任务金额 */
@ApiModelProperty("任务金额")
private Integer taskAmount;
private BigDecimal taskAmount;
/** 用工数量 */
@ApiModelProperty("用工数量")
private Integer taskStaffNum;

View File

@ -9,6 +9,7 @@ import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
@ -59,7 +60,7 @@ public class FbsProjectTask implements Serializable {
/** 任务金额 */
@Excel(name = "任务金额")
@ApiModelProperty("任务金额")
private Integer taskAmount;
private BigDecimal taskAmount;
/** 用工数量 */
@Excel(name = "用工数量")

View File

@ -46,7 +46,7 @@ public class AppTaskDetailVO {
/** 任务金额 */
@ApiModelProperty("任务金额")
private Integer taskAmount;
private BigDecimal taskAmount;
/** 用工数量 */
@ApiModelProperty("用工数量")

View File

@ -26,6 +26,6 @@ public class AppTaskDetailWageVO {
private BgtWageApplicationListVO wageApplication;
@ApiModelProperty("任务金额")
private Integer taskAmount;
private BigDecimal taskAmount;
}

View File

@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@ -41,7 +42,7 @@ public class AppTaskVO {
private String taskDescribe;
/** 任务金额 */
@ApiModelProperty("任务金额")
private Integer taskAmount;
private BigDecimal taskAmount;
/** 用工数量 */
@ApiModelProperty("用工数量")
private Integer taskStaffNum;

View File

@ -31,7 +31,6 @@ import com.ruoyi.fbs.domain.FbsProjectTask;
import com.ruoyi.fbs.domain.dto.AppTaskDTO;
import com.ruoyi.fbs.domain.vo.*;
import com.ruoyi.fbs.mapper.FbsProjectTaskMapper;
import com.ruoyi.fbs.service.IFbsProjectTaskApplyService;
import com.ruoyi.fbs.service.IFbsProjectTaskService;
import com.ruoyi.wgz.service.IWgzAttendanceService;
import com.ruoyi.wgz.service.IWgzPayCalculationService;
@ -43,7 +42,10 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.util.*;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -58,8 +60,6 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap
@Autowired
private IZbfProjectService zbfProjectService;
@Autowired
private IFbsProjectTaskApplyService taskApplyService;
@Autowired
private IBgtProjectRecruitService recruitService;
@Autowired
private IBgtProjectRecruitApplyService recruitApplyService;
@ -182,8 +182,8 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap
appTaskDetailVO.setWageApplication(CollectionUtil.isEmpty(wageList)?null:wageList.get(0));
//收款金额
Integer taskReceiveAmount = wageList.stream().filter(wage -> AuditStatus.PASS.getCode().equals(wage.getAuditStatus()))
.mapToInt(BgtWageApplicationListVO::getApplicantAmount)
.sum();
.map(BgtWageApplicationListVO::getApplicantAmount)
.reduce(BigDecimal.ZERO, BigDecimal::add).intValue();
appTaskDetailVO.setTaskReceiveAmount(taskReceiveAmount);
//付款金额
BigDecimal payByTaskAndBgt = payCalculationService.getPayByTaskAndBgt(byId.getId(), byId.getUserId());
@ -249,8 +249,8 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap
appTaskDetailVO.setWageApplication(CollectionUtil.isEmpty(wageList)?null:wageList.get(0));
//收款金额
Integer taskReceiveAmount = wageList.stream().filter(wage -> AuditStatus.PASS.getCode().equals(wage.getAuditStatus()))
.mapToInt(BgtWageApplicationListVO::getApplicantAmount)
.sum();
.map(BgtWageApplicationListVO::getApplicantAmount)
.reduce(BigDecimal.ZERO, BigDecimal::add).intValue();
appTaskDetailVO.setTaskReceiveAmount(taskReceiveAmount);
//付款金额
BigDecimal payByTaskAndBgt = payCalculationService.getPayByTaskAndBgt(id, SecurityUtils.getAppUserId());

View File

@ -9,6 +9,7 @@ import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@ -31,7 +32,7 @@ public class WgzAppJobListingRes implements Serializable {
private String recruitAddress;
@ApiModelProperty("招工金额")
private Long recruitAmount;
private BigDecimal recruitAmount;
@ApiModelProperty("招工数量")
private Long recruitStaffNum;

View File

@ -10,7 +10,6 @@ import com.ruoyi.bgt.domain.BgtProjectRecruit;
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
import com.ruoyi.bgt.domain.dto.BgtAttendanceDTO;
import com.ruoyi.bgt.domain.dto.BgtAttendanceDetailDTO;
import com.ruoyi.bgt.domain.dto.BgtPayCalculationDetailListVO;
import com.ruoyi.bgt.domain.vo.BgtAttendanceCountVO;
import com.ruoyi.bgt.domain.vo.BgtAttendanceDetailVO;
import com.ruoyi.bgt.domain.vo.BgtAttendanceVO;
@ -34,7 +33,6 @@ import com.ruoyi.wgz.bo.rests.WgzAppCardReplacementApplicationTwo;
import com.ruoyi.wgz.bo.rests.WgzAppPunchTheCalendarRecordThree;
import com.ruoyi.wgz.bo.rests.WgzAppPunchTheCalendarRecordTwo;
import com.ruoyi.wgz.domain.WgzAttendance;
import com.ruoyi.wgz.domain.WgzPayCalculation;
import com.ruoyi.wgz.domain.WgzUser;
import com.ruoyi.wgz.mapper.WgzAttendanceMapper;
import com.ruoyi.wgz.service.IWgzAttendanceService;
@ -418,29 +416,33 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe
endData = date;
List<BgtAttendanceCountVO> countVOS = countByTaskId(dto.getTaskId(), startData, endData);
bgtAttendanceVO.setCountVOs(DataUtil.fillMissingDates(countVOS, startData, endData));
if(CollectionUtil.isNotEmpty(countVOS)){
bgtAttendanceVO.setCountVOs(DataUtil.fillMissingDates(countVOS, startData, endData));
BgtAttendanceCountVO countVO = countVOS.stream()
.filter(vo -> vo.getDate().isEqual(date))
.findFirst().orElse(null);
bgtAttendanceVO.setReportToDutyNum(countVO.getReportToDutyNum());
bgtAttendanceVO.setTotalNum(countVO.getTotalNum());
bgtAttendanceVO.setAbsenceDutyNum(countVO.getTotalNum()-countVO.getReportToDutyNum());
if (countVO != null) {
bgtAttendanceVO.setReportToDutyNum(countVO.getReportToDutyNum());
bgtAttendanceVO.setTotalNum(countVO.getTotalNum());
bgtAttendanceVO.setAbsenceDutyNum(countVO.getTotalNum()-countVO.getReportToDutyNum());
}
}
}else if(dto.getDateType().equals(DateUtils.MONTH)){
// 获取本年开始日期
startData = date.with(TemporalAdjusters.firstDayOfYear());
endData = date.with(TemporalAdjusters.lastDayOfMonth());
List<BgtAttendanceCountVO> countVOS = countByTaskId(dto.getTaskId(), startData, endData);
if(CollectionUtil.isNotEmpty(countVOS)){
bgtAttendanceVO.setCountVOs(DataUtil.statisticsByMonth(countVOS,startData, endData));
}
bgtAttendanceVO.setCountVOs(DataUtil.statisticsByMonth(countVOS,startData, endData));
BgtAttendanceCountVO countVO = countVOS.stream()
.filter(vo -> YearMonth.from(vo.getDate()).equals(YearMonth.from(date)))
.findFirst().orElse(null);
bgtAttendanceVO.setReportToDutyNum(countVO.getReportToDutyNum());
bgtAttendanceVO.setTotalNum(countVO.getTotalNum());
bgtAttendanceVO.setAbsenceDutyNum(countVO.getAbsenceDutyNum());
if (countVO != null) {
bgtAttendanceVO.setReportToDutyNum(countVO.getReportToDutyNum());
bgtAttendanceVO.setTotalNum(countVO.getTotalNum());
bgtAttendanceVO.setAbsenceDutyNum(countVO.getAbsenceDutyNum());
}
}
getLateAndLeave(bgtAttendanceVO, startData, endData);
return bgtAttendanceVO;
@ -450,12 +452,14 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe
List<BgtProjectRecruit> bgtProjectRecruits = iBgtProjectRecruitService.getBaseMapper().selectList(Wrappers.<BgtProjectRecruit>lambdaQuery()
.eq(BgtProjectRecruit::getTaskId, vo.getTaskId()));
List<Long> recruitIds = bgtProjectRecruits.stream().map(BgtProjectRecruit::getId).collect(Collectors.toList());
Integer late = baseMapper.selectCount(Wrappers.<WgzAttendance>lambdaQuery().eq(WgzAttendance::getLate, 1)
.in(WgzAttendance::getRecruitId, recruitIds).between(WgzAttendance::getDate, startDate, endDate));
Integer leave = baseMapper.selectCount(Wrappers.<WgzAttendance>lambdaQuery().isNotNull(WgzAttendance::getLeaveMarkId)
.in(WgzAttendance::getRecruitId, recruitIds).between(WgzAttendance::getDate, startDate, endDate));
vo.setLateNum(late);
vo.setLeaveNum(leave);
if(CollectionUtil.isNotEmpty(recruitIds)){
Integer late = baseMapper.selectCount(Wrappers.<WgzAttendance>lambdaQuery().eq(WgzAttendance::getLate, 1)
.in(WgzAttendance::getRecruitId, recruitIds).between(WgzAttendance::getDate, startDate, endDate));
Integer leave = baseMapper.selectCount(Wrappers.<WgzAttendance>lambdaQuery().isNotNull(WgzAttendance::getLeaveMarkId)
.in(WgzAttendance::getRecruitId, recruitIds).between(WgzAttendance::getDate, startDate, endDate));
vo.setLateNum(late);
vo.setLeaveNum(leave);
}
}
// @Override

View File

@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
/**
* 总包方项目分包分页查询对象 zbf_project_subcontracting
*
@ -46,7 +48,7 @@ public class ZbfProjectSubcontractingQueryBo extends BaseEntity {
private String subDescribe;
/** 分包金额 */
@ApiModelProperty("分包金额")
private Integer subAmount;
private BigDecimal subAmount;
/** 资质要求 */
@ApiModelProperty("资质要求")
private String qualification;

View File

@ -9,6 +9,7 @@ import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
@ -54,7 +55,7 @@ public class ZbfProjectSubcontracting implements Serializable {
/** 分包金额 */
@Excel(name = "分包金额")
@ApiModelProperty("分包金额")
private Integer subAmount;
private BigDecimal subAmount;
/** 资质要求 */
@Excel(name = "资质要求")