逻辑变更

This commit is contained in:
2025-03-25 17:54:48 +08:00
parent 8fe084ddb7
commit 1531913a43
75 changed files with 138 additions and 59 deletions

View File

@ -2,13 +2,21 @@ package com.ruoyi.wgz.bo.req;
import com.ruoyi.common.bo.PageReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("补卡申请历史记录请求对象")
public class WgzAppReplacementCardRecordReq extends PageReq {
@ApiModelProperty("招工申请ID")
@NotNull(message = "招工申请ID")
private Long recruitApplyId;
}

View File

@ -7,6 +7,7 @@ import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Data
@ -17,4 +18,7 @@ public class WgzAppUserPunchTheCalendarRecordReq implements Serializable {
@ApiModelProperty("年月日期2025-02")
@NotBlank(message = "年月不能为空")
private String yearMonth;
@NotNull(message = "招工主键ID")
private Long recruitId;
}

View File

@ -1,11 +1,6 @@
package com.ruoyi.wgz.bo.req;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.domain.Annex;
import com.ruoyi.wgz.domain.WgzPayCalculationFiles;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -14,11 +9,9 @@ import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import javax.validation.constraints.Min;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
@Data
@ -33,6 +26,9 @@ public class WgzApplyForPayrollSettlementAddReq implements Serializable {
@ApiModelProperty("招工ID")
private Long recruitId;
@ApiModelProperty("招工申请ID")
private Long recruitApplyId;
@ApiModelProperty("任务名称")
private String taskName;

View File

@ -23,6 +23,9 @@ public class WgzApplyForPayrollSettlementAddRes implements Serializable {
@ApiModelProperty("项目ID")
private Long projectId;
@ApiModelProperty("招工申请主键ID")
private Long recruitApplyId;
//==============
@ApiModelProperty("封面图(多个逗号分隔)")
private String coverPlan;

View File

@ -27,5 +27,5 @@ public class ExaminationPaper implements Serializable {
private String sign;
private String openid;
private String userId;
}

View File

@ -34,7 +34,7 @@ public interface WgzQuestionSaveMapper extends BaseMapperPlus<WgzQuestionSave> {
//获取生成pdf所需要的数据
@Select("SELECT SUM(score) FROM wgz_question_save WHERE user_id=#{userId} AND correct=1")
double pdfSumScore (@Param("userId") Long userId);
String pdfSumScore (@Param("userId") Long userId);
//
@Select("SELECT c.question_type,c.question_text,c.OPTIONS,a.answer,c.correct_answer,a.correct,a.score,a.sign,a.id,a.pass,b.username FROM wgz_question_save AS a LEFT JOIN wgz_user AS b ON b.user_id=a.user_id LEFT JOIN wgz_question_bank AS c ON a.bank_id=c.id WHERE a.user_id=#{userId}")

View File

@ -26,7 +26,11 @@ public interface WgzReissueacardMapper extends BaseMapperPlus<WgzReissueacard> {
* @param page 分页对象
* @return 分页查询结果
*/
Page<WgzReplacementCardRecordRes> userReplacementCardRecordListPage(@Param("page") Page<WgzAppReplacementCardRecordReq> page,@Param("userId") Long userId);
Page<WgzReplacementCardRecordRes> userReplacementCardRecordListPage(
@Param("page") Page<WgzAppReplacementCardRecordReq> page,
@Param("userId") Long userId,
@Param("recruitApplyId") Long recruitApplyId
);
Page<BgtAuditResultVO> appQueryPageList(@Param("page") Page<BgtAuditListDTO> page, @Param("dto") BgtAuditListDTO dto);

View File

@ -302,7 +302,7 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe
@Override
public WgzAppPunchTheCalendarRecordRes userPunchTheCalendarRecord(WgzAppUserPunchTheCalendarRecordReq req) {
Long appUserId = SecurityUtils.getAppUserId();
BgtProjectRecruitApply by = iBgtProjectRecruitApplyService.selectByUserIdProjectRecruitApplyId(appUserId);
// BgtProjectRecruitApply by = iBgtProjectRecruitApplyService.selectByUserIdProjectRecruitApplyId(appUserId);
//1、获取当月的所有日期
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
YearMonth yearMonth = YearMonth.parse(req.getYearMonth(), formatter);
@ -318,7 +318,7 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe
//2、获取当前人、当前工地、当前月的所有考勤记录
LambdaQueryWrapper<WgzAttendance> apply = new LambdaQueryWrapper<WgzAttendance>().
eq(WgzAttendance::getUserId, appUserId).
eq(WgzAttendance::getRecruitId, by.getRecruitId()).
eq(WgzAttendance::getApplyKey, req.getRecruitId()).
apply("DATE_FORMAT(date, '%Y-%m') = {0}", req.getYearMonth());
List<WgzAttendance> wgzAttendances = baseMapper.selectList(apply);
//3、组装返回数据
@ -357,12 +357,10 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe
@Override
public WgzAppCardReplacementApplicationRes userCardReplacementApplication() {
WgzAppCardReplacementApplicationRes wgzAppCardReplacementApplicationRes = new WgzAppCardReplacementApplicationRes();
//1、获取当前用户信息
Long appUserId = SecurityUtils.getAppUserId();
//2、获取当前用户所在的工地id
BgtProjectRecruitApply by = iBgtProjectRecruitApplyService.selectByUserIdProjectRecruitApplyId(appUserId);
//3、根据工地id得到完整的工地信息
BgtProjectRecruit appById = iBgtProjectRecruitService.getAppById(by.getRecruitId());
Long id = by.getRecruitId();
BgtProjectRecruit appById = iBgtProjectRecruitService.getAppById(id);
//4、查询所有缺卡、迟到、早退的打卡记录
LambdaQueryWrapper<WgzAttendance> apply = new LambdaQueryWrapper<WgzAttendance>().
eq(WgzAttendance::getUserId, appUserId).

View File

@ -2,46 +2,43 @@ package com.ruoyi.wgz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.bgt.domain.BgtProjectRecruit;
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
import com.ruoyi.bgt.mapper.BgtProjectRecruitMapper;
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
import com.ruoyi.bgt.service.IBgtProjectRecruitService;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.domain.Annex;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.service.IAnnexService;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.core.page.PagePlus;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.service.ISysDictTypeService;
import com.ruoyi.wgz.bo.req.WgzAppConfirmRegistrationReq;
import com.ruoyi.wgz.bo.WgzMessageQueryBo;
import com.ruoyi.wgz.bo.req.WgzAppGetMessageListReq;
import com.ruoyi.wgz.bo.req.WgzAppLeaveHistoryListPageReq;
import com.ruoyi.wgz.bo.req.WgzAppReadUnreadReq;
import com.ruoyi.wgz.bo.res.WgzAppGetMessageListRes;
import com.ruoyi.wgz.bo.res.WgzAppMessageTypeStatisticsRes;
import com.ruoyi.wgz.bo.res.WgzAppRegistrationInformationRes;
import com.ruoyi.wgz.bo.rests.WgzAppMessageTypeStatisticsTwo;
import com.ruoyi.wgz.bo.rests.WgzAppUserAllRecruitmentTwo;
import com.ruoyi.wgz.domain.*;
import com.ruoyi.wgz.domain.WgzLeave;
import com.ruoyi.wgz.domain.WgzMessage;
import com.ruoyi.wgz.domain.WgzReissueacard;
import com.ruoyi.wgz.domain.WgzUser;
import com.ruoyi.wgz.mapper.WgzMessageMapper;
import com.ruoyi.wgz.service.IWgzLeaveService;
import com.ruoyi.wgz.service.IWgzMessageService;
import com.ruoyi.wgz.service.IWgzReissueacardService;
import com.ruoyi.wgz.service.IWgzUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.wgz.bo.WgzMessageQueryBo;
import com.ruoyi.wgz.mapper.WgzMessageMapper;
import com.ruoyi.wgz.service.IWgzMessageService;
import java.time.LocalDate;
import java.util.*;
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.*;
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.USERTYPE_BGT;
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.USERTYPE_WGZ;
/**
* 消息Service业务层处理
@ -237,7 +234,6 @@ public class WgzMessageServiceImpl extends ServicePlusImpl<WgzMessageMapper, Wgz
//0、待办的查询(查出指定用戶所有的待办)
String largeType = req.getLargeType();
if (largeType!=null && largeType.equals("3")){
System.out.println("?????????? "+req.getLargeType());
Page<WgzAppGetMessageListRes> pe = baseMapper.pagingQueryTheMessageList(queryDTOPage, req);
return PageUtils.buildDataInfo(pe);
}

View File

@ -20,8 +20,10 @@ import com.ruoyi.bgt.domain.vo.BgtPayCalculationDetailListVO;
import com.ruoyi.bgt.service.IBgtMessageService;
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
import com.ruoyi.bgt.service.IBgtProjectRecruitService;
import com.ruoyi.bgt.service.IBgtUserService;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.constants.WgzAndBgtMessageConstant;
import com.ruoyi.common.core.domain.entity.BgtUser;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
@ -77,6 +79,9 @@ public class WgzPayCalculationServiceImpl extends ServicePlusImpl<WgzPayCalculat
@Autowired
private IFbsProjectTaskService taskService;
@Autowired
private IBgtUserService bgtUserService;
@Autowired
private IWgzAttendanceService attendanceService;
@ -179,13 +184,21 @@ public class WgzPayCalculationServiceImpl extends ServicePlusImpl<WgzPayCalculat
//1、获取当前人
SysUser user = SecurityUtils.getLoginUser().getUser();
WgzUser byUserId = wgzUserService.findByUserId(user.getUserId());
BgtProjectRecruitApply recruitApply = iBgtProjectRecruitApplyService.selectByUserIdProjectRecruitApplyId(user.getUserId());
BgtProjectRecruit recruit = iBgtProjectRecruitService.getAppById(recruitApply.getRecruitId());
Long id = 0L;
if (req.getRecruitApplyId() == 0){
BgtProjectRecruitApply byId = iBgtProjectRecruitApplyService.selectByUserIdProjectRecruitApplyId(user.getUserId());
id = byId.getRecruitId();
}else{
BgtProjectRecruitApply byId = iBgtProjectRecruitApplyService.getById(req.getRecruitApplyId());
id = byId.getRecruitId();
}
BgtProjectRecruit recruit = iBgtProjectRecruitService.getAppById(id);
BgtUser byId1 = bgtUserService.getById(recruit.getUserId());
//2、查看当前申请结算的天数是否大于剩余天数
LambdaQueryWrapper<WgzAttendance> attWra = new LambdaQueryWrapper<WgzAttendance>().
eq(WgzAttendance::getUserId, user.getUserId()).
eq(WgzAttendance::getSettlement, 0). //为0就表示当天工资还未结算
eq(WgzAttendance::getRecruitId, recruitApply.getRecruitId()).and(wrapper -> wrapper
eq(WgzAttendance::getRecruitId, id).and(wrapper -> wrapper
.isNotNull(WgzAttendance::getClockInTime)
.or()
.isNotNull(WgzAttendance::getClockOutTime)
@ -213,10 +226,10 @@ public class WgzPayCalculationServiceImpl extends ServicePlusImpl<WgzPayCalculat
WgzPayCalculation wgzPayCalculation = new WgzPayCalculation();
BeanUtils.copyProperties(req,wgzPayCalculation);
wgzPayCalculation.
setApplyKey(recruitApply.getId()).
setApplyKey(req.getRecruitApplyId()).
setUserId(user.getUserId()).
setUserName(byUserId.getUsername()).
setAuditorUserId(recruit.getUserId());
setAuditorUserId(recruit.getUserId()).setAuditorUserName(byId1.getUsername());
boolean save = save(wgzPayCalculation);
if (!save) {
throw new RuntimeException("结算新增失败!");

View File

@ -14,9 +14,7 @@ import com.ruoyi.wgz.bo.WgzQuestionSaveQueryBo;
import com.ruoyi.wgz.bo.req.WgzAppSubmitATestPaperReq;
import com.ruoyi.wgz.bo.res.WgzAppSubmitATestPaperRes;
import com.ruoyi.wgz.bo.res.WgzAppUserScoreQuery;
import com.ruoyi.wgz.bo.rests.ExaminationPaper;
import com.ruoyi.wgz.bo.rests.PdfEntity;
import com.ruoyi.wgz.bo.rests.WgzAppSubmitATestPaperTwo;
import com.ruoyi.wgz.bo.rests.*;
import com.ruoyi.wgz.domain.WgzQuestionBank;
import com.ruoyi.wgz.domain.WgzQuestionSave;
import com.ruoyi.wgz.domain.WgzQuestionsConfiguration;
@ -26,11 +24,16 @@ import com.ruoyi.wgz.service.IWgzQuestionBankService;
import com.ruoyi.wgz.service.IWgzQuestionSaveService;
import com.ruoyi.wgz.service.IWgzQuestionsConfigurationService;
import com.ruoyi.wgz.service.IWgzUserService;
import com.sun.scenario.effect.ImageData;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.wp.usermodel.Paragraph;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@ -213,15 +216,54 @@ public class WgzQuestionSaveServiceImpl extends ServicePlusImpl<WgzQuestionSaveM
}
// 分离试卷信息
public void two(Long userId,WgzQuestionsConfiguration configurationEntity) {
public void two(Long userId,WgzQuestionsConfiguration configurationEntity) throws IOException {
//1、组装数据
List<PdfEntity> we = baseMapper.pdfSc(userId);
if (!we.isEmpty()) {
double sumScore = baseMapper.pdfSumScore(userId);
String sumScore = baseMapper.pdfSumScore(userId);
Integer s = configurationEntity.getSingleChoice();
Integer m = configurationEntity.getMultipleChoice();
Integer e = configurationEntity.getEstimate();
ExaminationPaper examinationPaper = new ExaminationPaper();
ExaminationPaper rs = new ExaminationPaper()
.setPass(we.get(0).getPass())
.setSumScore(sumScore)
.setSign(we.get(0).getSign())
.setUserId(userId.toString());
ExaminationPaperOne one = new ExaminationPaperOne();
ExaminationPaperOne two = new ExaminationPaperOne();
ExaminationPaperOne three = new ExaminationPaperOne();
one.setTopic("一、单选题,共" + s + "道题,每小题" + configurationEntity.getSingleScore() + "分,共计" + configurationEntity.getSingleScore() * s + "");
two.setTopic("二、多选题,共" + m + "道题,每小题" + configurationEntity.getMultipleScore() + "分,共计" + configurationEntity.getMultipleScore() * m + "");
three.setTopic("三、判断题,共" + e + "道题,每小题" + configurationEntity.getEstimateScore() + "分,共计" + configurationEntity.getEstimateScore() * e + "");
List<ExaminationPaperTwo> sEntity = new ArrayList<>();
List<ExaminationPaperTwo> mEntity = new ArrayList<>();
List<ExaminationPaperTwo> eEntity = new ArrayList<>();
for (PdfEntity data : we) {
ExaminationPaperTwo sy = new ExaminationPaperTwo();
sy.setQuestionText(data.getQuestionText());
sy.setOptions(data.getOptions());
sy.setAnswer(data.getAnswer());
sy.setCorrectAnswer(data.getCorrectAnswer());
sy.setCorrect(data.getCorrect());
sy.setScore(data.getScore());
if (data.getQuestionType().equals("1")) {
sEntity.add(sy);
}
if (data.getQuestionType().equals("2")) {
mEntity.add(sy);
}
if (data.getQuestionType().equals("3")) {
eEntity.add(sy);
}
}
one.setList(sEntity);
two.setList(mEntity);
three.setList(eEntity);
rs.setSingle(one);
rs.setMultiple(two);
rs.setEstimate(three);
//2、生成pdf
// generatePdf(rs);
}
// if len(we) > 0 {
// value, _ := dao.BusQuestionSave.Ctx(ctx).Where("openid", req.Openid).Where("correct", "1").Fields("sum(score)").Value()

View File

@ -228,10 +228,11 @@ public class WgzReissueacardServiceImpl extends ServicePlusImpl<WgzReissueacardM
@Override
public TableDataInfo<WgzReplacementCardRecordRes> userReplacementCardRecord(WgzAppReplacementCardRecordReq req) {
Long userId = SecurityUtils.getAppUserId();
Long recruitApplyId = req.getRecruitApplyId();
Page<WgzAppReplacementCardRecordReq> queryDTOPage = new Page<>();
queryDTOPage.setCurrent(req.getPageNum());
queryDTOPage.setSize(req.getPageSize());
return PageUtils.buildDataInfo(baseMapper.userReplacementCardRecordListPage(queryDTOPage, userId));
return PageUtils.buildDataInfo(baseMapper.userReplacementCardRecordListPage(queryDTOPage, userId,recruitApplyId));
}
@Override

View File

@ -276,10 +276,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN bgt_project_recruit as b on(b.id = a.recruit_id)
WHERE
a.user_id = #{userId}
<if test="type!=null and type!=1">
<if test="type!=null and type == 1 ">
and a.status in ("3","5","6")
</if>
<if test="type!=null and type!=2">
<if test="type!=null and type == 2 ">
and a.status in ("1","3","5","6")
</if>
and a.del_flag = "0"

View File

@ -38,7 +38,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN bgt_user b ON (a.auditor_user_id = b.user_id and b.del_flag = 0)
LEFT JOIN wgz_user c ON (a.user_id = c.user_id and c.del_flag = 0)
WHERE
a.user_id = #{userId} and a.del_flag = 0
a.user_id = #{userId} and a.apply_key = #{recruitApplyId} and a.del_flag = 0
ORDER BY
a.id DESC
</select>