编写工资结算
This commit is contained in:
@ -34,6 +34,8 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
|
|
||||||
import javax.validation.constraints.NotEmpty;
|
import javax.validation.constraints.NotEmpty;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.time.LocalTime;
|
import java.time.LocalTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -363,7 +365,46 @@ public class WgzAppController {
|
|||||||
@ApiOperation("【首页】【项目进行中】 项目进行中")
|
@ApiOperation("【首页】【项目进行中】 项目进行中")
|
||||||
@PreAuthorize("@ss.hasPermi('wgzApp:user:userUnderway')")
|
@PreAuthorize("@ss.hasPermi('wgzApp:user:userUnderway')")
|
||||||
@GetMapping("/WgzAppUserUnderway")
|
@GetMapping("/WgzAppUserUnderway")
|
||||||
public TableDataInfo<WgzAppRegisteredProjectRes> userUnderway(@Validated WgzAppUnderwayReq req) {
|
public TableDataInfo<WgzAppUnderwayRes> userUnderway(@Validated WgzAppUnderwayReq req) {
|
||||||
|
return iBgtProjectRecruitApplyService.userUnderway(req);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 【首页】【项目进行中】 项目进行中·申请工资结算(查询)
|
||||||
|
*/
|
||||||
|
@ApiOperation("【首页】【项目进行中】 项目进行中·申请工资结算(查询)")
|
||||||
|
@PreAuthorize("@ss.hasPermi('wgzApp:user:userApplyForPayrollSettlementFind')")
|
||||||
|
@GetMapping("/WgzAppUserApplyForPayrollSettlementFind")
|
||||||
|
public AjaxResult<WgzApplyForPayrollSettlementFindRes> userApplyForPayrollSettlementFind(@Validated WgzApplyForPayrollSettlementFindReq req) {
|
||||||
|
Long appUserId = SecurityUtils.getAppUserId();
|
||||||
|
BgtProjectRecruitApply by = iBgtProjectRecruitApplyService.selectByUserIdProjectRecruitApplyId(appUserId);
|
||||||
|
BgtProjectRecruit appById = iBgtProjectRecruitService.getAppById(by.getId());
|
||||||
|
//1、查询入场时间、退场时间、单天金额
|
||||||
|
BigDecimal recruitAmount = appById.getRecruitAmount();
|
||||||
|
//2、查询实际考勤时间(只要有打卡就算出勤一条,异常也视为正常出勤,也就是说只要有上班or下班至少有一个有数据,那就证明出勤ok)
|
||||||
|
Integer i = iWgzAttendanceService.attendanceDetail(appUserId, appById.getId(), 1);
|
||||||
|
if (i == 0){
|
||||||
|
throw new RuntimeException("您还未打卡");
|
||||||
|
}
|
||||||
|
//3、单天金额*实际考勤总天数=实际工资
|
||||||
|
BigDecimal totalAmount = recruitAmount.multiply(BigDecimal.valueOf(i));
|
||||||
|
WgzApplyForPayrollSettlementFindRes res = new WgzApplyForPayrollSettlementFindRes().
|
||||||
|
setEntryTime(by.getEntryTime()).
|
||||||
|
setLeaveTime(by.getLeaveTime()).
|
||||||
|
setAmount(recruitAmount).
|
||||||
|
setNum(i).
|
||||||
|
setTotalAmount(totalAmount);
|
||||||
|
return AjaxResult.success(res);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 【首页】【项目进行中】 项目进行中·申请工资结算(新增)
|
||||||
|
*/
|
||||||
|
@ApiOperation("【首页】【项目进行中】 项目进行中·申请工资结算(新增)")
|
||||||
|
@PreAuthorize("@ss.hasPermi('wgzApp:user:userApplyForPayrollSettlementAdd')")
|
||||||
|
@GetMapping("/WgzAppUserApplyForPayrollSettlementAdd")
|
||||||
|
public AjaxResult<WgzApplyForPayrollSettlementFindRes> userApplyForPayrollSettlementAdd(@Validated WgzApplyForPayrollSettlementFindReq req) {
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
package com.ruoyi.bgt.mapper;
|
package com.ruoyi.bgt.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
|
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
|
||||||
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO;
|
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO;
|
||||||
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
|
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
|
||||||
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
|
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
|
||||||
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
|
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
|
||||||
|
import com.ruoyi.wgz.bo.req.WgzAppUnderwayReq;
|
||||||
|
import com.ruoyi.wgz.bo.res.WgzAppUnderwayRes;
|
||||||
import org.apache.ibatis.annotations.CacheNamespace;
|
import org.apache.ibatis.annotations.CacheNamespace;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
@ -21,4 +24,7 @@ import java.util.List;
|
|||||||
public interface BgtProjectRecruitApplyMapper extends BaseMapperPlus<BgtProjectRecruitApply> {
|
public interface BgtProjectRecruitApplyMapper extends BaseMapperPlus<BgtProjectRecruitApply> {
|
||||||
|
|
||||||
List<BgtProjectRecruitApplyVO> appQueryList(@Param("dto") BgtProjectRecruitApplyQueryDTO dto);
|
List<BgtProjectRecruitApplyVO> appQueryList(@Param("dto") BgtProjectRecruitApplyQueryDTO dto);
|
||||||
|
|
||||||
|
// 获取指定项目下的所有成员(分页)
|
||||||
|
Page<WgzAppUnderwayRes> underwayPage (@Param("page") Page<WgzAppUnderwayReq> page, @Param("userId") Long userId);
|
||||||
}
|
}
|
||||||
|
@ -7,9 +7,11 @@ import com.ruoyi.bgt.domain.vo.BgtProjectRecruitVO;
|
|||||||
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
|
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
|
||||||
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
|
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
|
||||||
import com.ruoyi.wgz.bo.req.WgzAppRegisteredProjectReq;
|
import com.ruoyi.wgz.bo.req.WgzAppRegisteredProjectReq;
|
||||||
|
import com.ruoyi.wgz.bo.req.WgzAppUnderwayReq;
|
||||||
import com.ruoyi.wgz.bo.res.WgzAppCancelRegistrationProjectDetailsRes;
|
import com.ruoyi.wgz.bo.res.WgzAppCancelRegistrationProjectDetailsRes;
|
||||||
import com.ruoyi.wgz.bo.res.WgzAppProjectDetailsRes;
|
import com.ruoyi.wgz.bo.res.WgzAppProjectDetailsRes;
|
||||||
import com.ruoyi.wgz.bo.res.WgzAppRegisteredProjectRes;
|
import com.ruoyi.wgz.bo.res.WgzAppRegisteredProjectRes;
|
||||||
|
import com.ruoyi.wgz.bo.res.WgzAppUnderwayRes;
|
||||||
import com.ruoyi.wgz.bo.rests.WgzAppCancelRegistrationProjectDetailsTwo;
|
import com.ruoyi.wgz.bo.rests.WgzAppCancelRegistrationProjectDetailsTwo;
|
||||||
import org.apache.ibatis.annotations.CacheNamespace;
|
import org.apache.ibatis.annotations.CacheNamespace;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
@ -30,7 +32,9 @@ public interface BgtProjectRecruitMapper extends BaseMapperPlus<BgtProjectRecrui
|
|||||||
|
|
||||||
WgzAppProjectDetailsRes userProjectDetails(@Param("id") Long id);
|
WgzAppProjectDetailsRes userProjectDetails(@Param("id") Long id);
|
||||||
|
|
||||||
|
// 获取指定用户已申请的项目信息
|
||||||
Page<WgzAppRegisteredProjectRes> userRegisteredProject(@Param("page") Page<WgzAppRegisteredProjectReq> page,@Param("userId") Long userId);
|
Page<WgzAppRegisteredProjectRes> userRegisteredProject(@Param("page") Page<WgzAppRegisteredProjectReq> page,@Param("userId") Long userId);
|
||||||
|
|
||||||
|
// 获取指定项目下的所有成员
|
||||||
List<WgzAppCancelRegistrationProjectDetailsTwo> GetsTheMembersUnderTheCurrentProject (@Param("recruitId") Long recruitId);
|
List<WgzAppCancelRegistrationProjectDetailsTwo> GetsTheMembersUnderTheCurrentProject (@Param("recruitId") Long recruitId);
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,9 @@ import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO;
|
|||||||
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
|
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
|
||||||
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
|
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.wgz.bo.req.WgzAppUnderwayReq;
|
||||||
|
import com.ruoyi.wgz.bo.res.WgzAppUnderwayRes;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -89,5 +92,10 @@ public interface IBgtProjectRecruitApplyService extends IServicePlus<BgtProjectR
|
|||||||
*/
|
*/
|
||||||
Boolean userCancelRegistration(Long recruitId);
|
Boolean userCancelRegistration(Long recruitId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目进行中
|
||||||
|
*/
|
||||||
|
TableDataInfo<WgzAppUnderwayRes> userUnderway(@Validated WgzAppUnderwayReq req);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,9 @@ import com.ruoyi.common.exception.BaseException;
|
|||||||
import com.ruoyi.common.service.IAnnexService;
|
import com.ruoyi.common.service.IAnnexService;
|
||||||
import com.ruoyi.common.utils.PageUtils;
|
import com.ruoyi.common.utils.PageUtils;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
import com.ruoyi.wgz.bo.req.WgzAppRegisteredProjectReq;
|
||||||
|
import com.ruoyi.wgz.bo.req.WgzAppUnderwayReq;
|
||||||
|
import com.ruoyi.wgz.bo.res.WgzAppUnderwayRes;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@ -176,4 +179,14 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
|
|||||||
return baseMapper.deleteById(new LambdaQueryWrapper<BgtProjectRecruitApply>().eq(BgtProjectRecruitApply::getRecruitId, recruitId)) >0;
|
return baseMapper.deleteById(new LambdaQueryWrapper<BgtProjectRecruitApply>().eq(BgtProjectRecruitApply::getRecruitId, recruitId)) >0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<WgzAppUnderwayRes> userUnderway(WgzAppUnderwayReq req) {
|
||||||
|
Long userId = SecurityUtils.getAppUserId();
|
||||||
|
Page<WgzAppUnderwayReq> pe = new Page<>();
|
||||||
|
pe.setCurrent(req.getPageNum());
|
||||||
|
pe.setSize(req.getPageSize());
|
||||||
|
return PageUtils.buildDataInfo(baseMapper.underwayPage(pe, userId));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,15 +2,19 @@ package com.ruoyi.wgz.bo.req;
|
|||||||
|
|
||||||
import com.ruoyi.common.bo.PageReq;
|
import com.ruoyi.common.bo.PageReq;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
@ApiModel("项目进行中请求对象")
|
@ApiModel("项目进行中请求对象")
|
||||||
public class WgzAppUnderwayReq extends PageReq {
|
public class WgzAppUnderwayReq extends PageReq {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,21 @@
|
|||||||
|
package com.ruoyi.wgz.bo.req;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ApiModel("工作结算查询请求对象")
|
||||||
|
public class WgzApplyForPayrollSettlementFindReq implements Serializable {
|
||||||
|
@ApiModelProperty("招工ID")
|
||||||
|
private Long recruitId;
|
||||||
|
|
||||||
|
@ApiModelProperty("工资结算天数")
|
||||||
|
private int num;
|
||||||
|
}
|
@ -0,0 +1,55 @@
|
|||||||
|
package com.ruoyi.wgz.bo.res;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ApiModel("项目进行中返回对象")
|
||||||
|
public class WgzAppUnderwayRes implements Serializable {
|
||||||
|
|
||||||
|
@ApiModelProperty("主键ID")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty("项目ID")
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
@ApiModelProperty("招工名称")
|
||||||
|
private String recruitName;
|
||||||
|
|
||||||
|
@ApiModelProperty("创建时间")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("封面图(多个逗号分隔)")
|
||||||
|
private String coverPlan;
|
||||||
|
|
||||||
|
@ApiModelProperty("招工数量")
|
||||||
|
private Integer recruitStaffNum;
|
||||||
|
|
||||||
|
@ApiModelProperty("招工金额")
|
||||||
|
private BigDecimal recruitAmount;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务ID")
|
||||||
|
private Long taskId;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务名称")
|
||||||
|
private String taskName;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务地址")
|
||||||
|
private String taskAddress;
|
||||||
|
|
||||||
|
@ApiModelProperty("招工要求")
|
||||||
|
private String recruitRequirement;
|
||||||
|
|
||||||
|
@ApiModelProperty("已报名数量")
|
||||||
|
private Integer numberOfRegistered;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,32 @@
|
|||||||
|
package com.ruoyi.wgz.bo.res;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ApiModel("工资结算查询返回")
|
||||||
|
public class WgzApplyForPayrollSettlementFindRes implements Serializable {
|
||||||
|
@ApiModelProperty("进场时间")
|
||||||
|
private LocalDate entryTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("离场时间")
|
||||||
|
private LocalDate leaveTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("单天金额")
|
||||||
|
private BigDecimal amount;
|
||||||
|
|
||||||
|
@ApiModelProperty("出勤天数")
|
||||||
|
private Integer num;
|
||||||
|
|
||||||
|
@ApiModelProperty("总的金额")
|
||||||
|
private BigDecimal TotalAmount;
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
package com.ruoyi.wgz.bo.rests;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
public class GetsTheMembersUnderTheCurrentProject implements Serializable {
|
||||||
|
}
|
@ -21,6 +21,9 @@ public class WgzAppCancelRegistrationProjectDetailsTwo implements Serializable {
|
|||||||
@ApiModelProperty("务工者ID")
|
@ApiModelProperty("务工者ID")
|
||||||
private Long userId;
|
private Long userId;
|
||||||
|
|
||||||
|
@ApiModelProperty("0报名 1包工同意 2包工头拒绝(截止时间)3务工者同意 4务工者拒绝 5进场 6离场")
|
||||||
|
private String status;
|
||||||
|
|
||||||
@ApiModelProperty("务工者名称")
|
@ApiModelProperty("务工者名称")
|
||||||
private String username;
|
private String username;
|
||||||
|
|
||||||
|
@ -114,5 +114,9 @@ public interface IWgzAttendanceService extends IServicePlus<WgzAttendance> {
|
|||||||
*/
|
*/
|
||||||
BgtAttendanceVO attendanceDetail(BgtAttendanceDTO dto);
|
BgtAttendanceVO attendanceDetail(BgtAttendanceDTO dto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 考勤详情,查询指定用户指定项目的指定天数考勤情况统计(如若用户输入20,但实际只有2天出勤)
|
||||||
|
*/
|
||||||
|
Integer attendanceDetail(Long userId,Long recruitId, Integer num);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -309,6 +309,20 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer attendanceDetail(Long userId,Long recruitId, Integer num){
|
||||||
|
LambdaQueryWrapper<WgzAttendance> apply = new LambdaQueryWrapper<WgzAttendance>().
|
||||||
|
eq(WgzAttendance::getUserId, userId).
|
||||||
|
eq(WgzAttendance::getRecruitId, recruitId).and(wrapper -> wrapper
|
||||||
|
.isNotNull(WgzAttendance::getClockInTime)
|
||||||
|
.or()
|
||||||
|
.isNotNull(WgzAttendance::getClockOutTime)
|
||||||
|
);
|
||||||
|
apply.orderByAsc(WgzAttendance::getDate);
|
||||||
|
apply.last("LIMIT " + num);
|
||||||
|
return baseMapper.selectCount(apply);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<BgtAttendanceCountVO> countByTaskId(Long taskId, LocalDate beginDate, LocalDate endDate) {
|
public List<BgtAttendanceCountVO> countByTaskId(Long taskId, LocalDate beginDate, LocalDate endDate) {
|
||||||
return baseMapper.countByTaskId(taskId, beginDate, endDate);
|
return baseMapper.countByTaskId(taskId, beginDate, endDate);
|
||||||
|
@ -29,4 +29,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="underwayPage" resultType="com.ruoyi.wgz.bo.res.WgzAppUnderwayRes">
|
||||||
|
SELECT
|
||||||
|
b.*,
|
||||||
|
c.task_name,
|
||||||
|
c.task_address,
|
||||||
|
c.task_img,
|
||||||
|
(SELECT count(1) FROM bgt_project_recruit_apply WHERE recruit_id = a.id) as numberOfRegistered
|
||||||
|
FROM
|
||||||
|
bgt_project_recruit_apply as a
|
||||||
|
LEFT JOIN bgt_project_recruit as b on(a.recruit_id = b.id and b.del_flag = 0 )
|
||||||
|
LEFT JOIN fbs_project_task as c ON (b.task_id = c.id AND c.del_flag = 0)
|
||||||
|
WHERE
|
||||||
|
a.user_id = #{userId} AND
|
||||||
|
a.status IN ('3', '5')AND
|
||||||
|
a.del_flag = 0
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
@ -56,21 +56,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
|
|
||||||
<select id="userRegisteredProject" resultType="com.ruoyi.wgz.bo.res.WgzAppRegisteredProjectRes">
|
<select id="userRegisteredProject" resultType="com.ruoyi.wgz.bo.res.WgzAppRegisteredProjectRes">
|
||||||
SELECT
|
SELECT
|
||||||
a.*,
|
b.*,
|
||||||
b.task_name,
|
c.task_name,
|
||||||
b.task_address,
|
c.task_address,
|
||||||
b.task_img,
|
c.task_img,
|
||||||
(SELECT count(1) FROM bgt_project_recruit_apply WHERE recruit_id = a.id) as numberOfRegistered
|
(SELECT count(1) FROM bgt_project_recruit_apply WHERE recruit_id = a.id) as numberOfRegistered
|
||||||
FROM
|
FROM
|
||||||
bgt_project_recruit as a
|
bgt_project_recruit_apply as a
|
||||||
LEFT JOIN fbs_project_task as b ON (a.task_id = b.id AND b.del_flag = 0)
|
LEFT JOIN bgt_project_recruit as b on(a.recruit_id = b.id and b.del_flag = 0 )
|
||||||
|
LEFT JOIN fbs_project_task as c ON (b.task_id = c.id AND c.del_flag = 0)
|
||||||
WHERE
|
WHERE
|
||||||
a.id = #{id} AND a.del_flag = 0
|
a.user_id = #{id} AND
|
||||||
|
(a.status = '0' or a.status = '1') AND
|
||||||
|
a.del_flag = 0
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="GetsTheMembersUnderTheCurrentProject" resultType="com.ruoyi.wgz.bo.rests.WgzAppCancelRegistrationProjectDetailsTwo">
|
<select id="GetsTheMembersUnderTheCurrentProject" resultType="com.ruoyi.wgz.bo.rests.WgzAppCancelRegistrationProjectDetailsTwo">
|
||||||
SELECT
|
SELECT
|
||||||
a.user_id,
|
a.user_id,
|
||||||
|
a.status,
|
||||||
b.username,
|
b.username,
|
||||||
b.avatar_name,
|
b.avatar_name,
|
||||||
b.score
|
b.score
|
||||||
|
Reference in New Issue
Block a user