This commit is contained in:
zt
2025-03-21 20:26:14 +08:00
parent e7657de323
commit dd1228fd59
13 changed files with 102 additions and 27 deletions

View File

@ -61,6 +61,12 @@ public class AppBgtProjectRecruitApplyController extends BaseController {
return AjaxResult.success(iBgtProjectRecruitApplyService.appAllList(dto)); return AjaxResult.success(iBgtProjectRecruitApplyService.appAllList(dto));
} }
@ApiOperation("HTML务工者列表")
@GetMapping("/htmlList")
public AjaxResult<List<BgtProjectRecruitApplyVO>> htmlList(Long recruitId) {
return AjaxResult.success(iBgtProjectRecruitApplyService.htmlList(recruitId));
}
@ApiOperation("App务工者个人详情") @ApiOperation("App务工者个人详情")
@GetMapping() @GetMapping()
public AjaxResult<WgzAppPersonalBasicInformationRes> userPersonalBasicInformation(@Validated WgzAppPersonalBasicInformationReq req) { public AjaxResult<WgzAppPersonalBasicInformationRes> userPersonalBasicInformation(@Validated WgzAppPersonalBasicInformationReq req) {
@ -100,6 +106,14 @@ public class AppBgtProjectRecruitApplyController extends BaseController {
return AjaxResult.success(iBgtProjectRecruitApplyService.check(id)); return AjaxResult.success(iBgtProjectRecruitApplyService.check(id));
} }
@ApiOperation("App务工者退场判定")
@GetMapping("/quitCheck/{id}")
public AjaxResult<Boolean> quitCheck(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return AjaxResult.success(iBgtProjectRecruitApplyService.quitCheck(id));
}
@ApiOperation("App务工者退场") @ApiOperation("App务工者退场")
@Log(title = "App务工者退场", businessType = BusinessType.UPDATE) @Log(title = "App务工者退场", businessType = BusinessType.UPDATE)
@ -110,6 +124,9 @@ public class AppBgtProjectRecruitApplyController extends BaseController {
return AjaxResult.success(iBgtProjectRecruitApplyService.quit(id)); return AjaxResult.success(iBgtProjectRecruitApplyService.quit(id));
} }
@ApiOperation("取消务工者选择") @ApiOperation("取消务工者选择")
@Log(title = "取消务工者选择", businessType = BusinessType.UPDATE) @Log(title = "取消务工者选择", businessType = BusinessType.UPDATE)
@RepeatSubmit @RepeatSubmit

View File

@ -62,6 +62,11 @@ public class AppBgtProjectRecruitController extends BaseController {
return AjaxResult.success(iBgtProjectRecruitService.appQueryList()); return AjaxResult.success(iBgtProjectRecruitService.appQueryList());
} }
@ApiOperation(value = "HTML招工列表",notes = "1.查询包工头招工列表 状态为通过(1)和报名(0)")
@GetMapping("/htmlList")
public AjaxResult<List<BgtProjectRecruit>> htmlList(Long userId) {
return AjaxResult.success(iBgtProjectRecruitService.htmlList(userId));
}
/** /**
* 获取包工头招工详细信息 * 获取包工头招工详细信息

View File

@ -144,10 +144,13 @@ public class TemplateDownloadController {
public static void zipFolder(File folder, File zipFile) throws IOException { public static void zipFolder(File folder, File zipFile) throws IOException {
try (ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(zipFile))) { try (ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(zipFile))) {
// 添加根文件夹 // 去掉添加根文件夹这一步
zipOut.putNextEntry(new ZipEntry(folder.getName() + "/")); File[] subFiles = folder.listFiles();
zipOut.closeEntry(); if (subFiles != null) {
zipFilesInFolder(folder, folder.getName(), zipOut); for (File subFile : subFiles) {
zipFilesInFolder(subFile, subFile.getName(), zipOut);
}
}
} }
} }

View File

@ -21,6 +21,8 @@ public enum RecruitStatus
this.info = info; this.info = info;
} }
public String getCode() public String getCode()
{ {
return code; return code;

View File

@ -102,7 +102,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
.authorizeRequests() .authorizeRequests()
// 对于登录login 验证码captchaImage 允许匿名访问 // 对于登录login 验证码captchaImage 允许匿名访问
.antMatchers("/login", "/app/login", "/captchaImage","/demo/tress/all").anonymous() .antMatchers("/login", "/app/login", "/captchaImage","/demo/tress/all").anonymous()
.antMatchers("/app/login","/wgz/app/wgzRegister").permitAll() .antMatchers("/app/login","/wgz/app/wgzRegister","/app/bgt/recruit/htmlList","/app/bgt/apply/htmlList").permitAll()
.antMatchers( .antMatchers(
HttpMethod.GET, HttpMethod.GET,
"/*.html", "/*.html",

View File

@ -4,17 +4,13 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
@Data @Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("总体考勤情况-工资结算-基础信息") @ApiModel("总体考勤情况-工资结算-基础信息")
public class BgtPayCalculationDetailBaseVO { public class BgtPayCalculationDetailBaseVO {
@ApiModelProperty("姓名") @ApiModelProperty("姓名")
private String username; private String username;
@ -58,4 +54,7 @@ public class BgtPayCalculationDetailBaseVO {
@ApiModelProperty("务工者Id") @ApiModelProperty("务工者Id")
@JsonFormat(shape = JsonFormat.Shape.STRING) @JsonFormat(shape = JsonFormat.Shape.STRING)
private Long userId; private Long userId;
@ApiModelProperty("是否能结算")
private Boolean isPay;
} }

View File

@ -31,6 +31,8 @@ public interface BgtProjectRecruitApplyMapper extends BaseMapperPlus<BgtProjectR
List<BgtProjectRecruitApplyVO> appQueryList(@Param("dto") BgtProjectRecruitApplyQueryDTO dto); List<BgtProjectRecruitApplyVO> appQueryList(@Param("dto") BgtProjectRecruitApplyQueryDTO dto);
List<BgtProjectRecruitApplyVO> htmlList(@Param("recruitId") Long recruitId);
// Page<BgtProjectRecruitApplyVO> dayAttendanceList(@Param("page")Page<BgtAttendanceDayDTO> queryDTOPage,@Param("dto") BgtAttendanceDayDTO dto); // Page<BgtProjectRecruitApplyVO> dayAttendanceList(@Param("page")Page<BgtAttendanceDayDTO> queryDTOPage,@Param("dto") BgtAttendanceDayDTO dto);
// 总体考勤情况-人员出勤情况 // 总体考勤情况-人员出勤情况

View File

@ -81,6 +81,8 @@ public interface IBgtProjectRecruitApplyService extends IServicePlus<BgtProjectR
*/ */
List<BgtProjectRecruitApplyVO> appAllList(BgtProjectRecruitApplyQueryDTO dto); List<BgtProjectRecruitApplyVO> appAllList(BgtProjectRecruitApplyQueryDTO dto);
List<BgtProjectRecruitApplyVO> htmlList(Long recruitId);
/** /**
* LC-APP相关 * LC-APP相关
* ================================================================================================================= * =================================================================================================================
@ -118,6 +120,11 @@ public interface IBgtProjectRecruitApplyService extends IServicePlus<BgtProjectR
*/ */
Boolean check(Long id); Boolean check(Long id);
/**
* 退场检查
*/
Boolean quitCheck(Long id);
/** /**
* 指定日期所有人员出勤情况 * 指定日期所有人员出勤情况
*/ */

View File

@ -76,6 +76,11 @@ public interface IBgtProjectRecruitService extends IServicePlus<BgtProjectRecrui
*/ */
List<BgtProjectRecruit> appQueryList(); List<BgtProjectRecruit> appQueryList();
/**
* 查询我发布的所有招工
*/
List<BgtProjectRecruit> htmlList(Long userId);
/** /**
* 查询单个 * 查询单个
*/ */

View File

@ -212,6 +212,12 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
return baseMapper.appQueryList(dto); return baseMapper.appQueryList(dto);
} }
@Override
public List<BgtProjectRecruitApplyVO> htmlList(Long recruitId) {
return baseMapper.htmlList(recruitId);
}
@Override @Override
public List<WgzAppUserAllRecruitmentTwo> userAllRecruitment(Long userId,String type) { public List<WgzAppUserAllRecruitmentTwo> userAllRecruitment(Long userId,String type) {
List<WgzAppUserAllRecruitmentTwo> res = baseMapper.userAllRecruitment(userId,type); List<WgzAppUserAllRecruitmentTwo> res = baseMapper.userAllRecruitment(userId,type);
@ -312,6 +318,17 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
return annexService.checkEntry(recruitApply.getUserId(), recruitApply.getRecruitId()); return annexService.checkEntry(recruitApply.getUserId(), recruitApply.getRecruitId());
} }
@Override
public Boolean quitCheck(Long id) {
BgtProjectRecruitApply recruitApply = getById(id);
//检查是否还有申请未审批
Boolean reissueacard = wgzReissueacardService.isThereAnyApplicationsInReview(recruitApply.getRecruitId(), recruitApply.getUserId());
Boolean leave = wgzLeaveService.isThereAnyApplicationsInReview(recruitApply.getRecruitId(), recruitApply.getUserId());
Boolean dailyClock = dailyClockService.isThereAnyApplicationsInReview(recruitApply.getRecruitId(), recruitApply.getUserId());
Boolean payCalculation = payCalculationService.isThereAnyApplicationsInReview(recruitApply.getRecruitId(), recruitApply.getUserId());
return reissueacard || leave || dailyClock || payCalculation;
}
/** /**
* LC-APP相关 * LC-APP相关
* ================================================================================================================= * =================================================================================================================
@ -454,13 +471,8 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
recruit.setStatus(RecruitStatus.PROGRESS.getCode()); recruit.setStatus(RecruitStatus.PROGRESS.getCode());
iBgtProjectRecruitService.updateById(recruit); iBgtProjectRecruitService.updateById(recruit);
} }
//检查是否还有申请未审批
Boolean reissueacard = wgzReissueacardService.isThereAnyApplicationsInReview(recruitApply.getRecruitId(), recruitApply.getUserId());
Boolean leave = wgzLeaveService.isThereAnyApplicationsInReview(recruitApply.getRecruitId(), recruitApply.getUserId());
Boolean dailyClock = dailyClockService.isThereAnyApplicationsInReview(recruitApply.getRecruitId(), recruitApply.getUserId());
Boolean payCalculation = payCalculationService.isThereAnyApplicationsInReview(recruitApply.getRecruitId(), recruitApply.getUserId());
if(reissueacard || leave || dailyClock || payCalculation){ if(quitCheck(id)){
throw new BaseException("当前用户还有未审批的申请,无法退场!"); throw new BaseException("当前用户还有未审批的申请,无法退场!");
} }

View File

@ -196,12 +196,28 @@ public class BgtProjectRecruitServiceImpl extends ServicePlusImpl<BgtProjectRecr
.orderByDesc(BgtProjectRecruit::getCreateTime)); .orderByDesc(BgtProjectRecruit::getCreateTime));
} }
@Override
public List<BgtProjectRecruit> htmlList(Long userId) {
return list(Wrappers.<BgtProjectRecruit>lambdaQuery()
.eq(BgtProjectRecruit::getUserId, userId)
.ne(BgtProjectRecruit::getStatus, RecruitStatus.OVERDUE.getCode())
.orderByDesc(BgtProjectRecruit::getCreateTime));
}
@Override @Override
public BgtProjectRecruitDetailVO appQueryById(Long id) { public BgtProjectRecruitDetailVO appQueryById(Long id) {
BgtProjectRecruit recruit = getById(id); BgtProjectRecruit recruit = getById(id);
BgtProjectRecruitDetailVO vo = BeanUtil.toBean(recruit, BgtProjectRecruitDetailVO.class); BgtProjectRecruitDetailVO vo = BeanUtil.toBean(recruit, BgtProjectRecruitDetailVO.class);
FbsProjectTask task = fbsProjectTaskService.getById(vo.getTaskId()); FbsProjectTask task = fbsProjectTaskService.getById(vo.getTaskId());
vo.setTaskName(task.getTaskName()); vo.setTaskName(task.getTaskName());
// int count = bgtProjectRecruitApplyService.count(Wrappers.<BgtProjectRecruitApply>lambdaQuery()
// .eq(BgtProjectRecruitApply::getRecruitId, vo.getId())
// .in(BgtProjectRecruitApply::getStatus, RecruitApplyStatus.getFull()));
// if(count >= vo.getRecruitStaffNum()){
// vo.setStatus(RecruitStatus.FULL.getCode());
// }
return vo; return vo;
} }

View File

@ -510,8 +510,11 @@ public class WgzPayCalculationServiceImpl extends ServicePlusImpl<WgzPayCalculat
addSum = addSum.add(multiply); addSum = addSum.add(multiply);
} }
vo.setPayAmount(addSum); vo.setPayAmount(addSum);
vo.setResidueAmount(vo.getAllAmount().subtract(vo.getPayAmount())); vo.setResidueAmount(vo.getAllAmount().subtract(vo.getPayAmount()));
//未结算天数
Integer days = attendanceService.attendanceDetail(userId, recruitId, null);
vo.setIsPay(days>0);
return vo; return vo;
} }
@ -604,17 +607,9 @@ public class WgzPayCalculationServiceImpl extends ServicePlusImpl<WgzPayCalculat
vo.setWorkingState(recruitApply.getStatus().equals("5")?"1":"2"); vo.setWorkingState(recruitApply.getStatus().equals("5")?"1":"2");
//出勤天数 //出勤天数
//天数 //未结算天数
Integer i = attendanceService.attendanceDetail(userId, recruitId, null); Integer i = attendanceService.attendanceDetail(userId, recruitId, null);
//已结算天数
List<WgzPayCalculation> list = list(Wrappers.<WgzPayCalculation>lambdaQuery()
.eq(WgzPayCalculation::getUserId, userId)
.eq(WgzPayCalculation::getRecruitId, recruitId)
.eq(WgzPayCalculation::getAuditorType, AuditStatus.PASS.getCode()));
if(CollectionUtil.isNotEmpty(list)) {
int sum = list.stream().mapToInt(WgzPayCalculation::getNum).sum();
i = i - sum;
}
if(i<=0){ if(i<=0){
throw new BaseException("工资已全部结算完毕"); throw new BaseException("工资已全部结算完毕");
} }

View File

@ -64,6 +64,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
order by bpra.create_time desc,bpra.status asc order by bpra.create_time desc,bpra.status asc
</select> </select>
<select id="htmlList" resultType="com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO">
select
wu.user_id,
wu.username
from bgt_project_recruit_apply bpra
left join wgz_user wu on bpra.user_id = wu.user_id
where bpra.recruit_id = #{recruitId}
order by bpra.create_time desc,bpra.status asc
</select>
<select id="dayAttendanceList" resultType="com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO"> <select id="dayAttendanceList" resultType="com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO">
select bpra.id, select bpra.id,
bpra.entry_time, bpra.entry_time,