修改消息xml的req请求参数
This commit is contained in:
		@ -56,7 +56,7 @@ public class WgzApplyForPayrollSettlementAddReq implements Serializable {
 | 
			
		||||
	private BigDecimal recruitAmount;
 | 
			
		||||
 | 
			
		||||
	@ApiModelProperty("出勤天数")
 | 
			
		||||
	private Long num;
 | 
			
		||||
	private Integer num;
 | 
			
		||||
 | 
			
		||||
	@ApiModelProperty("务工状态")
 | 
			
		||||
	private String workingState;
 | 
			
		||||
 | 
			
		||||
@ -163,4 +163,7 @@ public class WgzPayCalculation implements Serializable {
 | 
			
		||||
    @ApiModelProperty("备注")
 | 
			
		||||
    private String remark;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	@ApiModelProperty("结算截止时间(后端用来判断最后一次结算的终止时间)")
 | 
			
		||||
	private LocalDate cutOffTime;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -25,7 +25,7 @@ import java.util.Map;
 | 
			
		||||
@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class)
 | 
			
		||||
public interface WgzMessageMapper extends BaseMapperPlus<WgzMessage> {
 | 
			
		||||
 | 
			
		||||
	Page<WgzAppGetMessageListRes> userGetMessageList(@Param("page") Page<WgzAppGetMessageListReq> page);
 | 
			
		||||
	Page<WgzAppGetMessageListRes> userGetMessageList(@Param("page") Page<WgzAppGetMessageListReq> page,@Param("req") WgzAppGetMessageListReq req);
 | 
			
		||||
 | 
			
		||||
	//	//根据招工id获取到招工的信息+附件
 | 
			
		||||
	WgzAppRegistrationInformationRes findByRecruitIdData(@Param("recruitId") Long recruitId);
 | 
			
		||||
 | 
			
		||||
@ -128,4 +128,10 @@ public interface IWgzAttendanceService extends IServicePlus<WgzAttendance> {
 | 
			
		||||
	 */
 | 
			
		||||
	Boolean addAMissingCardRecord (List<WgzAttendance> list);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * 获取对应用户指定天数的工资结算日期
 | 
			
		||||
	 */
 | 
			
		||||
	LocalDate findByNumGetDate(Long userId, Long recruitId,Integer num);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -10,6 +10,7 @@ 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;
 | 
			
		||||
@ -33,6 +34,7 @@ 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;
 | 
			
		||||
@ -666,4 +668,27 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe
 | 
			
		||||
	public Boolean addAMissingCardRecord(List<WgzAttendance> list) {
 | 
			
		||||
		return super.saveBatch(list);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * 获取对应用户指定天数的工资结算日期
 | 
			
		||||
	 * @param userId
 | 
			
		||||
	 * @param recruitId
 | 
			
		||||
	 * @param num 结算天数
 | 
			
		||||
	 * @return
 | 
			
		||||
	 */
 | 
			
		||||
	public LocalDate findByNumGetDate(Long userId, Long recruitId,Integer num) {
 | 
			
		||||
		LambdaQueryWrapper<WgzAttendance> wra = new LambdaQueryWrapper<>();
 | 
			
		||||
		wra.eq(WgzAttendance::getRecruitId, recruitId);
 | 
			
		||||
		wra.eq(WgzAttendance::getUserId, userId);
 | 
			
		||||
		wra.orderByAsc(WgzAttendance::getDate);
 | 
			
		||||
		// 使用 last 方法添加 limit 语句
 | 
			
		||||
		// 注意:num - 1 是因为 SQL 中的 limit 偏移量从 0 开始
 | 
			
		||||
		wra.last("LIMIT " + (num - 1) + ", 1");
 | 
			
		||||
 | 
			
		||||
		WgzAttendance attendance = baseMapper.selectOne(wra);
 | 
			
		||||
		if (attendance != null) {
 | 
			
		||||
			return attendance.getDate();
 | 
			
		||||
		}
 | 
			
		||||
		return null;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -157,7 +157,7 @@ public class WgzMessageServiceImpl extends ServicePlusImpl<WgzMessageMapper, Wgz
 | 
			
		||||
		Page<WgzAppGetMessageListReq> queryDTOPage = new Page<>();
 | 
			
		||||
		queryDTOPage.setCurrent(req.getPageNum());
 | 
			
		||||
		queryDTOPage.setSize(req.getPageSize());
 | 
			
		||||
		return PageUtils.buildDataInfo(baseMapper.userGetMessageList(queryDTOPage));
 | 
			
		||||
		return PageUtils.buildDataInfo(baseMapper.userGetMessageList(queryDTOPage,req));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -41,6 +41,7 @@ import org.springframework.stereotype.Service;
 | 
			
		||||
import org.springframework.transaction.annotation.Transactional;
 | 
			
		||||
 | 
			
		||||
import java.math.BigDecimal;
 | 
			
		||||
import java.time.LocalDate;
 | 
			
		||||
import java.time.LocalDateTime;
 | 
			
		||||
import java.util.Collection;
 | 
			
		||||
import java.util.HashMap;
 | 
			
		||||
@ -86,6 +87,9 @@ public class WgzPayCalculationServiceImpl extends ServicePlusImpl<WgzPayCalculat
 | 
			
		||||
	@Autowired
 | 
			
		||||
	private IBgtMessageService iBgtMessageService;
 | 
			
		||||
 | 
			
		||||
	@Autowired
 | 
			
		||||
	private IWgzAttendanceService iWgzAttendanceService;
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
    public WgzPayCalculation queryById(Long id){
 | 
			
		||||
        return getById(id);
 | 
			
		||||
@ -171,13 +175,33 @@ public class WgzPayCalculationServiceImpl extends ServicePlusImpl<WgzPayCalculat
 | 
			
		||||
		SysUser user = SecurityUtils.getLoginUser().getUser();
 | 
			
		||||
		BgtProjectRecruitApply recruitApply = iBgtProjectRecruitApplyService.selectByUserIdProjectRecruitApplyId(user.getUserId());
 | 
			
		||||
		BgtProjectRecruit recruit = iBgtProjectRecruitService.getAppById(recruitApply.getId());
 | 
			
		||||
//		//2、结算数据之前,需要先获取以往结算的数据,然后得到剩余结算天数,再从剩余天数重新进行数据结算
 | 
			
		||||
//		//2.1、获取以往结算的数据
 | 
			
		||||
//		WgzPayCalculation wgzts = baseMapper.selectOne(Wrappers.<WgzPayCalculation>lambdaQuery().
 | 
			
		||||
//			eq(WgzPayCalculation::getUserId, user.getUserId()).
 | 
			
		||||
//			eq(WgzPayCalculation::getRecruitId, recruitApply.getId()).
 | 
			
		||||
//			orderByDesc(WgzPayCalculation::getCreateTime).
 | 
			
		||||
//			last("LIMIT 1")
 | 
			
		||||
//		);
 | 
			
		||||
//		if (wgzts != null) {
 | 
			
		||||
//			LocalDate cutOffTime = wgzts.getCutOffTime();
 | 
			
		||||
//			Integer num = iWgzAttendanceService.attendanceDetail(user.getUserId(), recruitApply.getRecruitId(), null);
 | 
			
		||||
//		}
 | 
			
		||||
 | 
			
		||||
		//2、获取当前人一共考勤打卡了多少天,然后计算当前结算的天数得到具体是考勤打卡对应的哪一天
 | 
			
		||||
		Integer num = iWgzAttendanceService.attendanceDetail(user.getUserId(), recruitApply.getRecruitId(), null);
 | 
			
		||||
		if (num < req.getNum()) {
 | 
			
		||||
			throw new RuntimeException("你的剩余考勤天数不满足你当前想要结算的天数!");
 | 
			
		||||
		}
 | 
			
		||||
		LocalDate byNumGetDate = iWgzAttendanceService.findByNumGetDate(user.getUserId(), recruitApply.getRecruitId(), req.getNum());
 | 
			
		||||
		//2、组装数据
 | 
			
		||||
		WgzPayCalculation wgzPayCalculation = new WgzPayCalculation();
 | 
			
		||||
		BeanUtils.copyProperties(req,wgzPayCalculation);
 | 
			
		||||
		wgzPayCalculation.
 | 
			
		||||
			setUserId(user.getUserId()).
 | 
			
		||||
			setUserName(user.getUserName()).
 | 
			
		||||
			setAuditorUserId(recruit.getUserId());
 | 
			
		||||
			setAuditorUserId(recruit.getUserId()).
 | 
			
		||||
			setCutOffTime(byNumGetDate);
 | 
			
		||||
		//3、获取附件信息并插入
 | 
			
		||||
		iWgzPayCalculationFilesService.saveBatch(req.getPayCalculation());
 | 
			
		||||
		//4、插入工资结算信息
 | 
			
		||||
 | 
			
		||||
@ -35,15 +35,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
            a.table_name as tableName,
 | 
			
		||||
            a.read_status as readStatus,
 | 
			
		||||
            a.create_time as createTime
 | 
			
		||||
            <if test="page.largeType == '1'">
 | 
			
		||||
            <if test="req.largeType == '1'">
 | 
			
		||||
                ,c.recruit_name as recruitName
 | 
			
		||||
               ,c.id as recruitId
 | 
			
		||||
            </if>
 | 
			
		||||
            <if test="page.largeType == '2'">
 | 
			
		||||
            <if test="req.largeType == '2'">
 | 
			
		||||
                ,d.id as jsId
 | 
			
		||||
                ,d.recruit_name as jsName
 | 
			
		||||
            </if>
 | 
			
		||||
            <if test="page.largeType == '3' and page.smallType == '0'">
 | 
			
		||||
            <if test="req.largeType == '3' and req.smallType == '0'">
 | 
			
		||||
                ,e.id as otherId
 | 
			
		||||
                ,e.now_time as otherFillingTime
 | 
			
		||||
                ,e.reason as otherReason
 | 
			
		||||
@ -52,41 +52,41 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
            </if>
 | 
			
		||||
        FROM
 | 
			
		||||
            wgz_message as a
 | 
			
		||||
            <if test="page.largeType == '1'">
 | 
			
		||||
            <if test="req.largeType == '1'">
 | 
			
		||||
                LEFT JOIN bgt_project_recruit_apply as b ON b.id = a.table_id
 | 
			
		||||
                LEFT JOIN bgt_project_recruit as c ON c.id = b.recruit_id
 | 
			
		||||
            </if>
 | 
			
		||||
            <if test="page.largeType == '2'">
 | 
			
		||||
            <if test="req.largeType == '2'">
 | 
			
		||||
                LEFT JOIN wgz_pay_calculation as d ON d.id = a.table_id
 | 
			
		||||
            </if>
 | 
			
		||||
            <if test="page.largeType == '3' and page.smallType == '0'">
 | 
			
		||||
            <if test="req.largeType == '3' and req.smallType == '0'">
 | 
			
		||||
                LEFT JOIN wgz_reissueacard as e ON e.id = a.table_id
 | 
			
		||||
                LEFT JOIN wgz_user as f ON f.id = e.user_id
 | 
			
		||||
            </if>
 | 
			
		||||
            <if test="page.largeType == '3' and page.smallType == '1'">
 | 
			
		||||
            <if test="req.largeType == '3' and req.smallType == '1'">
 | 
			
		||||
                LEFT JOIN wgz_reissueacard as e ON e.id = a.table_id
 | 
			
		||||
                LEFT JOIN wgz_user as f ON f.id = e.user_id
 | 
			
		||||
            </if>
 | 
			
		||||
            <if test="page.largeType == '3'">
 | 
			
		||||
            <if test="req.largeType == '3'">
 | 
			
		||||
                LEFT JOIN wgz_reissueacard as e ON e.id = a.table_id
 | 
			
		||||
                LEFT JOIN wgz_user as f ON f.id = e.user_id
 | 
			
		||||
            </if>
 | 
			
		||||
        <where>
 | 
			
		||||
            a.recipient_type = "1" AND
 | 
			
		||||
            a.recipient_id = #{page.recipientId} AND
 | 
			
		||||
            a.recipient_id = #{req.recipientId} AND
 | 
			
		||||
            a.del_flag = "0"
 | 
			
		||||
            <if test="page.largeType == '1'">
 | 
			
		||||
            <if test="req.largeType == '1'">
 | 
			
		||||
                AND b.del_flag = "0"
 | 
			
		||||
                AND c.del_flag = "0"
 | 
			
		||||
            </if>
 | 
			
		||||
            <if test="page.largeType == '2'">
 | 
			
		||||
            <if test="req.largeType == '2'">
 | 
			
		||||
                AND d.del_flag = "0"
 | 
			
		||||
            </if>
 | 
			
		||||
            <if test="page.largeType == '3' and page.smallType == '0'">
 | 
			
		||||
            <if test="req.largeType == '3' and req.smallType == '0'">
 | 
			
		||||
                AND e.del_flag = "0"
 | 
			
		||||
                AND f.del_flag = "0"
 | 
			
		||||
            </if>
 | 
			
		||||
            <if test="page.largeType == '3' and page.smallType == '1'">
 | 
			
		||||
            <if test="req.largeType == '3' and req.smallType == '1'">
 | 
			
		||||
                AND a.sender_type = "0"
 | 
			
		||||
            </if>
 | 
			
		||||
        </where>
 | 
			
		||||
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 538 KiB  | 
		Reference in New Issue
	
	Block a user