优化
This commit is contained in:
		| @ -237,9 +237,9 @@ | |||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		/** | 		/** | ||||||
| 		 * 【日报】日报打卡 | 		 * 【日报】日报打卡|补卡 | ||||||
| 		 */ | 		 */ | ||||||
| 		@ApiOperation("【日报】日报打卡") | 		@ApiOperation("【日报】日报打卡|补卡") | ||||||
| 		//@PreAuthorize("@ss.hasPermi('wgzApp:user:userDailyClock')") | 		//@PreAuthorize("@ss.hasPermi('wgzApp:user:userDailyClock')") | ||||||
| 		@RepeatSubmit | 		@RepeatSubmit | ||||||
| 		@PostMapping("/WgzUserDailyClock") | 		@PostMapping("/WgzUserDailyClock") | ||||||
|  | |||||||
| @ -23,6 +23,9 @@ public class WgzAppDailyClockReq implements Serializable { | |||||||
| 	@ApiModelProperty("日报状态(0正常 1补卡)") | 	@ApiModelProperty("日报状态(0正常 1补卡)") | ||||||
| 	private String status; | 	private String status; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("补卡理由(status为1传递)") | ||||||
|  | 	private String reason; | ||||||
|  |  | ||||||
| 	@ApiModelProperty("status为1时,补卡日期") | 	@ApiModelProperty("status为1时,补卡日期") | ||||||
| 	private LocalDateTime rqData; | 	private LocalDateTime rqData; | ||||||
|  |  | ||||||
|  | |||||||
| @ -88,4 +88,13 @@ public class WgzAppCheckDailyNewspaperRes implements Serializable { | |||||||
| 	@ApiModelProperty("头像地址") | 	@ApiModelProperty("头像地址") | ||||||
| 	private String avatarName; | 	private String avatarName; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("日报状态(0正常 1补卡)") | ||||||
|  | 	private String status; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("补卡理由") | ||||||
|  | 	private String reason; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("招工主题") | ||||||
|  | 	private String recruitName; | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -37,7 +37,10 @@ public class WgzAppUserDailyRecordRes implements Serializable { | |||||||
| 	@ApiModelProperty("今日完成工作") | 	@ApiModelProperty("今日完成工作") | ||||||
| 	private String finishToday; | 	private String finishToday; | ||||||
|  |  | ||||||
| 	@ApiModelProperty("审核状态(0未读 1未审核 2已审核)") | 	@ApiModelProperty("审核状态(0未读 1待审核 2已审核)") | ||||||
| 	private String auditorType; | 	private String auditorType; | ||||||
|  |  | ||||||
|  | 	@ApiModelProperty("日报状态(0正常 1补卡)") | ||||||
|  | 	private String status; | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -117,6 +117,11 @@ public class WgzAttendance implements Serializable { | |||||||
|     @ApiModelProperty("类型(0正常 1迟到 2早退 3上班缺卡 4下班缺卡 5补卡 6请假)") |     @ApiModelProperty("类型(0正常 1迟到 2早退 3上班缺卡 4下班缺卡 5补卡 6请假)") | ||||||
|     private String exceptionType; |     private String exceptionType; | ||||||
|  |  | ||||||
|  | 	/** 结算标识 */ | ||||||
|  |     @Excel(name = "结算标识" ) | ||||||
|  |     @ApiModelProperty("结算标识") | ||||||
|  |     private Integer settlement; | ||||||
|  |  | ||||||
|     /** 删除标志(0代表存在 2代表删除) */ |     /** 删除标志(0代表存在 2代表删除) */ | ||||||
|     @Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除") |     @Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除") | ||||||
|     @ApiModelProperty("删除标志(0代表存在 2代表删除)") |     @ApiModelProperty("删除标志(0代表存在 2代表删除)") | ||||||
|  | |||||||
| @ -111,6 +111,11 @@ public class WgzDailyClock implements Serializable { | |||||||
| 	@ApiModelProperty("日报状态(0正常 1补卡)") | 	@ApiModelProperty("日报状态(0正常 1补卡)") | ||||||
| 	private String status; | 	private String status; | ||||||
|  |  | ||||||
|  | 	/** 补卡理由 */ | ||||||
|  | 	@Excel(name = "补卡理由") | ||||||
|  | 	@ApiModelProperty("补卡理由") | ||||||
|  | 	private String reason; | ||||||
|  |  | ||||||
|     /** 删除标志(0代表存在 2代表删除) */ |     /** 删除标志(0代表存在 2代表删除) */ | ||||||
|     @Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除") |     @Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除") | ||||||
|     @ApiModelProperty("删除标志(0代表存在 2代表删除)") |     @ApiModelProperty("删除标志(0代表存在 2代表删除)") | ||||||
|  | |||||||
| @ -185,11 +185,14 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe | |||||||
| 		LocalDateTime now = LocalDateTime.now(); //当前完整年月日时分秒 | 		LocalDateTime now = LocalDateTime.now(); //当前完整年月日时分秒 | ||||||
| 		LocalTime localTime = now.toLocalTime(); //获取时分秒 | 		LocalTime localTime = now.toLocalTime(); //获取时分秒 | ||||||
| 		if (we != null) { | 		if (we != null) { | ||||||
|  | 			//如果是上班缺卡的话,那么就可以直接打下班卡 | ||||||
|  | 			if (!(we.getMissedIn() ==1)) { | ||||||
| 				//获取上次打卡时间与这次打卡时间的间隔是否超过3分钟 | 				//获取上次打卡时间与这次打卡时间的间隔是否超过3分钟 | ||||||
| 				boolean flag = isMinutesDifferenceGreaterThanThree(we.getClockInTime(), now); | 				boolean flag = isMinutesDifferenceGreaterThanThree(we.getClockInTime(), now); | ||||||
| 				if (!flag) { | 				if (!flag) { | ||||||
| 					throw new RuntimeException("打卡时间间隔不能少于3分钟"); | 					throw new RuntimeException("打卡时间间隔不能少于3分钟"); | ||||||
| 				} | 				} | ||||||
|  | 			} | ||||||
| 			wgzAttendance.setId(we.getId()); | 			wgzAttendance.setId(we.getId()); | ||||||
| 			wgzAttendance.setClockOutTime(now); | 			wgzAttendance.setClockOutTime(now); | ||||||
| 			LocalTime endWorkTime = appById.getEndWorkTime(); //下班 | 			LocalTime endWorkTime = appById.getEndWorkTime(); //下班 | ||||||
| @ -243,8 +246,17 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe | |||||||
| 		} else { | 		} else { | ||||||
| 			res.setClockingCondition(1); //下班 | 			res.setClockingCondition(1); //下班 | ||||||
| 			if (wgzAttendance.getLeaveMarkId() == null && wgzAttendance.getClockInTime() != null && wgzAttendance.getClockOutTime() != null) { | 			if (wgzAttendance.getLeaveMarkId() == null && wgzAttendance.getClockInTime() != null && wgzAttendance.getClockOutTime() != null) { | ||||||
|  | 				res.setClockingCondition(3); //已完成 () | ||||||
|  | 			}else if(wgzAttendance.getLeaveMarkId() == null){ | ||||||
|  | 				//打了上班,下班缺卡  =  完成 | ||||||
|  | 				if (wgzAttendance.getClockInTime() != null && wgzAttendance.getMissedOut() == 1) { | ||||||
| 					res.setClockingCondition(3); //已完成 | 					res.setClockingCondition(3); //已完成 | ||||||
| 				} | 				} | ||||||
|  | 				//上班缺卡,打了下班  =  完成 | ||||||
|  | 				if (wgzAttendance.getMissedIn() == 1 && wgzAttendance.getClockOutTime() != null) { | ||||||
|  | 					res.setClockingCondition(3); //已完成 | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
| 			if (wgzAttendance.getLeaveMarkId() != null && wgzAttendance.getLeaveMarkId() != 0) { | 			if (wgzAttendance.getLeaveMarkId() != null && wgzAttendance.getLeaveMarkId() != 0) { | ||||||
| 				res.setClockingCondition(2); //请假 | 				res.setClockingCondition(2); //请假 | ||||||
| 			} | 			} | ||||||
| @ -311,14 +323,16 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe | |||||||
| 				LocalDate clockDate = wa.getDate(); | 				LocalDate clockDate = wa.getDate(); | ||||||
| 				if (clockDate.equals(date)) { | 				if (clockDate.equals(date)) { | ||||||
| 					//上班 | 					//上班 | ||||||
| 					if (wa.getClockInTime() != null) { | 					if (wa.getClockInTime() != null || wa.getMissedIn()== 1) { | ||||||
| 						two.setNum(1); | 						two.setNum(1); | ||||||
| 						two.setSb(sbOrXb(wa, 1)); | 						two.setSb(sbOrXb(wa, 1)); | ||||||
| 					} | 					} | ||||||
| 					//下班 | 					//下班 | ||||||
| 					if (wa.getClockOutTime() != null) { | 					if (wa.getClockOutTime() != null || wa.getMissedOut()== 1) { | ||||||
| 						two.setNum(2); | 						two.setNum(2); | ||||||
|  | 						if (wa.getClockOutTime() != null && wa.getClockOutTime() != null ) { | ||||||
| 							two.setManHour(calculateWorkingHours(wa.getClockInTime(), wa.getClockOutTime())); | 							two.setManHour(calculateWorkingHours(wa.getClockInTime(), wa.getClockOutTime())); | ||||||
|  | 						} | ||||||
| 						two.setXb(sbOrXb(wa, 2)); | 						two.setXb(sbOrXb(wa, 2)); | ||||||
| 					} | 					} | ||||||
| 				} | 				} | ||||||
| @ -381,6 +395,7 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe | |||||||
| 	public Integer attendanceDetail(Long userId, Long recruitId, Integer num) { | 	public Integer attendanceDetail(Long userId, Long recruitId, Integer num) { | ||||||
| 		LambdaQueryWrapper<WgzAttendance> apply = new LambdaQueryWrapper<WgzAttendance>(). | 		LambdaQueryWrapper<WgzAttendance> apply = new LambdaQueryWrapper<WgzAttendance>(). | ||||||
| 			eq(WgzAttendance::getUserId, userId). | 			eq(WgzAttendance::getUserId, userId). | ||||||
|  | 			eq(WgzAttendance::getSettlement, 0). //为0就表示当天工资还未结算 | ||||||
| 				eq(WgzAttendance::getRecruitId, recruitId).and(wrapper -> wrapper | 				eq(WgzAttendance::getRecruitId, recruitId).and(wrapper -> wrapper | ||||||
| 				.isNotNull(WgzAttendance::getClockInTime) | 				.isNotNull(WgzAttendance::getClockInTime) | ||||||
| 				.or() | 				.or() | ||||||
| @ -393,6 +408,22 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe | |||||||
| 		return baseMapper.selectCount(apply); | 		return baseMapper.selectCount(apply); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | //	@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); | ||||||
|  | //		if (num != null && num > 0) { //表示查询指定天数的打卡记录,否则查询所有 | ||||||
|  | //			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) { | ||||||
| @ -566,6 +597,10 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe | |||||||
| 			if (wa.getExceptionType().contains("5")) { | 			if (wa.getExceptionType().contains("5")) { | ||||||
| 				sbb.setClockingCondition(5); | 				sbb.setClockingCondition(5); | ||||||
| 			} | 			} | ||||||
|  | 			//缺卡 | ||||||
|  | 			if (wa.getMissedIn()==1) { | ||||||
|  | 				sbb.setClockingCondition(3); | ||||||
|  | 			} | ||||||
| 			// 获取上班补卡信息 | 			// 获取上班补卡信息 | ||||||
| 			setReissueacardInfo(sbb, wa, 0); | 			setReissueacardInfo(sbb, wa, 0); | ||||||
| 		} | 		} | ||||||
| @ -579,6 +614,10 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe | |||||||
| 			if (wa.getExceptionType().contains("6")) { | 			if (wa.getExceptionType().contains("6")) { | ||||||
| 				sbb.setClockingCondition(6); | 				sbb.setClockingCondition(6); | ||||||
| 			} | 			} | ||||||
|  | 			//缺卡 | ||||||
|  | 			if (wa.getMissedOut()==1) { | ||||||
|  | 				sbb.setClockingCondition(4); | ||||||
|  | 			} | ||||||
| 			// 获取下班补卡信息 | 			// 获取下班补卡信息 | ||||||
| 			setReissueacardInfo(sbb, wa, 1); | 			setReissueacardInfo(sbb, wa, 1); | ||||||
| 		} | 		} | ||||||
|  | |||||||
| @ -274,7 +274,7 @@ public class WgzDailyClockServiceImpl extends ServicePlusImpl<WgzDailyClockMappe | |||||||
| 				setTableId(dc.getId()). | 				setTableId(dc.getId()). | ||||||
| 				setTableName(SqlHelper.table(WgzDailyClock.class).getTableName()). | 				setTableName(SqlHelper.table(WgzDailyClock.class).getTableName()). | ||||||
| 				setMessageLargeType(BGT_LARGE_OTHER). | 				setMessageLargeType(BGT_LARGE_OTHER). | ||||||
| 				setMessageSmallType(BGT_SMALL_MAKE_UP); | 				setMessageSmallType(BGT_SMALL_REPORT_MAKE_UP); | ||||||
| 			if (!iBgtMessageService.sendAMessage(bgtMessage)){ | 			if (!iBgtMessageService.sendAMessage(bgtMessage)){ | ||||||
| 				throw new RuntimeException("发送日报补卡消息失败!"); | 				throw new RuntimeException("发送日报补卡消息失败!"); | ||||||
| 			} | 			} | ||||||
| @ -302,6 +302,9 @@ public class WgzDailyClockServiceImpl extends ServicePlusImpl<WgzDailyClockMappe | |||||||
| 		//2、获取日报的审核人信息 | 		//2、获取日报的审核人信息 | ||||||
| 		BgtUser by = userService.selectUserByUserId(byId.getAuditorUserId()); | 		BgtUser by = userService.selectUserByUserId(byId.getAuditorUserId()); | ||||||
| 		res.setAvatarName(by.getAvatarName()).setUsername(by.getUsername()); | 		res.setAvatarName(by.getAvatarName()).setUsername(by.getUsername()); | ||||||
|  | 		//3、获取招工主题 | ||||||
|  | 		BgtProjectRecruit byId1 = recruitService.getById(byId.getRecruitId()); | ||||||
|  | 		res.setRecruitName(byId1.getRecruitName()); | ||||||
| 		return res; | 		return res; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | |||||||
| @ -40,10 +40,7 @@ import org.springframework.transaction.annotation.Transactional; | |||||||
| import java.math.BigDecimal; | import java.math.BigDecimal; | ||||||
| import java.time.LocalDate; | import java.time.LocalDate; | ||||||
| import java.time.LocalDateTime; | import java.time.LocalDateTime; | ||||||
| import java.util.Collection; | import java.util.*; | ||||||
| import java.util.HashMap; |  | ||||||
| import java.util.List; |  | ||||||
| import java.util.Map; |  | ||||||
|  |  | ||||||
| import static com.ruoyi.common.constants.BgtMessageConstant.*; | import static com.ruoyi.common.constants.BgtMessageConstant.*; | ||||||
| import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.*; | import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.*; | ||||||
| @ -172,76 +169,122 @@ public class WgzPayCalculationServiceImpl extends ServicePlusImpl<WgzPayCalculat | |||||||
| 		SysUser user = SecurityUtils.getLoginUser().getUser(); | 		SysUser user = SecurityUtils.getLoginUser().getUser(); | ||||||
| 		BgtProjectRecruitApply recruitApply = iBgtProjectRecruitApplyService.selectByUserIdProjectRecruitApplyId(user.getUserId()); | 		BgtProjectRecruitApply recruitApply = iBgtProjectRecruitApplyService.selectByUserIdProjectRecruitApplyId(user.getUserId()); | ||||||
| 		BgtProjectRecruit recruit = iBgtProjectRecruitService.getAppById(recruitApply.getId()); | 		BgtProjectRecruit recruit = iBgtProjectRecruitService.getAppById(recruitApply.getId()); | ||||||
| 		//2、结算数据之前,需要先获取以往结算的数据(如果没有就说明第一次结算),然后得到剩余结算天数,再从剩余天数重新进行数据结算 | 		//2、查看当前申请结算的天数是否大于剩余天数 | ||||||
| 		Integer num = 0; | 		LambdaQueryWrapper<WgzAttendance> attWra = new LambdaQueryWrapper<WgzAttendance>(). | ||||||
| 		LocalDate byNumGetDate = null; | 			eq(WgzAttendance::getUserId, user.getUserId()). | ||||||
| 		WgzPayCalculation wgzts = baseMapper.selectOne(Wrappers.<WgzPayCalculation>lambdaQuery(). | 			eq(WgzAttendance::getSettlement, 0). //为0就表示当天工资还未结算 | ||||||
| 			eq(WgzPayCalculation::getUserId, user.getUserId()). | 				eq(WgzAttendance::getRecruitId, recruitApply.getRecruitId()).and(wrapper -> wrapper | ||||||
| 			eq(WgzPayCalculation::getRecruitId, recruitApply.getId()). | 				.isNotNull(WgzAttendance::getClockInTime) | ||||||
| 			orderByDesc(WgzPayCalculation::getCreateTime). | 				.or() | ||||||
| 			last("LIMIT 1") | 				.isNotNull(WgzAttendance::getClockOutTime) | ||||||
| 			); | 			); | ||||||
| 		if (wgzts != null) {//得到最后一次的结算截止时间和剩余未结算天数 | 		List<WgzAttendance> attList = iWgzAttendanceService.list( | ||||||
| 			byNumGetDate = wgzts.getCutOffTime(); | 			attWra.orderByAsc(WgzAttendance::getDate) | ||||||
| 			num = iWgzAttendanceService.findByDateGetDateList(user.getUserId(), recruitApply.getRecruitId(), byNumGetDate).size(); | 			.last("LIMIT " + req.getNum()) | ||||||
|  | 		); | ||||||
|  | 		if (attList.size() < req.getNum()) { //判断剩余天数是否满足当前结算天数 | ||||||
|  | 			throw new RuntimeException("您剩余可结算天数为:"+attList.size()+"天,您当前想要结算的天数为:"+req.getNum()+"天,剩余天数不足!"); | ||||||
|  | 		} | ||||||
|  | 		//3、把需要结算的数据标记为已结算 | ||||||
|  | 		List<WgzAttendance> objects = new ArrayList<>(); | ||||||
|  | 		for (WgzAttendance data : attList) { | ||||||
|  | 			objects.add(new WgzAttendance() | ||||||
|  | 				.setId(data.getId()) | ||||||
|  | 				.setSettlement(1) | ||||||
|  | 			); | ||||||
|  | 		} | ||||||
|  | 		//4、将结算的数据 | ||||||
|  |  | ||||||
|  |  | ||||||
| 		}else{//得到即将结算截止的日期和剩余未结算天数 |  | ||||||
| 			byNumGetDate = iWgzAttendanceService.findByNumGetDate(user.getUserId(), recruitApply.getRecruitId(), req.getNum()); |  | ||||||
| 			num = iWgzAttendanceService.attendanceDetail(user.getUserId(), recruitApply.getRecruitId(), null); |  | ||||||
| 		} |  | ||||||
| 		if (num < req.getNum()) { //判断剩余天数是否满足当前结算天数 |  | ||||||
| 			throw new RuntimeException("您剩余可结算天数为:"+num+"天,您当前想要结算的天数为:"+req.getNum()+"天,剩余天数不足!"); |  | ||||||
| 		} |  | ||||||
| 		//4、组装数据 | 		//4、组装数据 | ||||||
| 		WgzPayCalculation wgzPayCalculation = new WgzPayCalculation(); | 		WgzPayCalculation wgzPayCalculation = new WgzPayCalculation(); | ||||||
| 		BeanUtils.copyProperties(req,wgzPayCalculation); | 		BeanUtils.copyProperties(req,wgzPayCalculation); | ||||||
| 		wgzPayCalculation. | 		wgzPayCalculation. | ||||||
| 			setUserId(user.getUserId()). | 			setUserId(user.getUserId()). | ||||||
| 			setUserName(user.getUserName()). | 			setUserName(user.getUserName()). | ||||||
| 			setAuditorUserId(recruit.getUserId()). | 			setAuditorUserId(recruit.getUserId()); | ||||||
| 			setCutOffTime(byNumGetDate); |  | ||||||
| 		//5、获取附件信息并插入 | 		//5、获取附件信息并插入 | ||||||
| 		iWgzPayCalculationFilesService.saveBatch(req.getPayCalculation()); | 		iWgzPayCalculationFilesService.saveBatch(req.getPayCalculation()); | ||||||
| 		//6、插入工资结算信息 | 		//6、插入工资结算信息 | ||||||
| 		boolean save = save(wgzPayCalculation); |  | ||||||
| 		if (save) { |  | ||||||
| 			WgzUser byId = wgzUserService.findByUserId(user.getUserId()); |  | ||||||
| 			Map<String, String> mp = new HashMap<>(); |  | ||||||
| 			mp.put("projectName", recruit.getRecruitName()); |  | ||||||
| 			mp.put("userName", byId.getUsername()); |  | ||||||
| 			mp.put("num", String.valueOf(wgzPayCalculation.getNum())); |  | ||||||
| 			mp.put("money", String.valueOf(new BigDecimal(wgzPayCalculation.getNum()).multiply(wgzPayCalculation.getRecruitAmount()))); |  | ||||||
| 			WgzMessage wgzMessage = new WgzMessage(). |  | ||||||
| 				setSenderType(USERTYPE_SYSTEM). |  | ||||||
| 				setRecipientType(USERTYPE_WGZ). |  | ||||||
| 				setRecipientId(user.getUserId()). |  | ||||||
| 				setHeadline(WgzAndBgtMessageConstant.wgzMessage(mp,"111")). |  | ||||||
| 				setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp,"112")). |  | ||||||
| 				setTableId(wgzPayCalculation.getId()). |  | ||||||
| 				setTableName(SqlHelper.table(WgzPayCalculation.class).getTableName()). |  | ||||||
| 				setMessageLargeType(LARGE_SALARY); |  | ||||||
| 			if (!iWgzMessageService.sendAMessage(wgzMessage)){ |  | ||||||
| 				throw new RuntimeException("系统工资结算消息发送失败!"); |  | ||||||
| 			} |  | ||||||
| 			BgtMessage bgtMessage = new BgtMessage(). |  | ||||||
| 				setSenderType(USERTYPE_WGZ). |  | ||||||
| 				setSenderId(user.getUserId()). |  | ||||||
| 				setRecipientType(USERTYPE_BGT). |  | ||||||
| 				setRecipientId(recruit.getUserId()). |  | ||||||
| 				setHeadline(WgzAndBgtMessageConstant.wgzMessage(mp,"209")). |  | ||||||
| 				setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp,"210")). |  | ||||||
| 				setTableId(wgzPayCalculation.getId()). |  | ||||||
| 				setTableName(SqlHelper.table(WgzPayCalculation.class).getTableName()). |  | ||||||
| 				setMessageLargeType(BGT_LARGE_OTHER). |  | ||||||
| 				setMessageSmallType(BGT_SMALL_PAY); |  | ||||||
| 			if (!iBgtMessageService.sendAMessage(bgtMessage)){ |  | ||||||
| 				throw new RuntimeException("发送补卡消息失败!"); |  | ||||||
| 			} |  | ||||||
| 			return true; |  | ||||||
| 		} |  | ||||||
| 		return save(wgzPayCalculation); | 		return save(wgzPayCalculation); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | //	@Override | ||||||
|  | //	@Transactional | ||||||
|  | //	public Boolean userApplyForPayrollSettlementAdd(WgzApplyForPayrollSettlementAddReq req) { | ||||||
|  | //		//1、获取当前人 | ||||||
|  | //		SysUser user = SecurityUtils.getLoginUser().getUser(); | ||||||
|  | //		BgtProjectRecruitApply recruitApply = iBgtProjectRecruitApplyService.selectByUserIdProjectRecruitApplyId(user.getUserId()); | ||||||
|  | //		BgtProjectRecruit recruit = iBgtProjectRecruitService.getAppById(recruitApply.getId()); | ||||||
|  | //		//2、结算数据之前,需要先获取以往结算的数据(如果没有就说明第一次结算),然后得到剩余结算天数,再从剩余天数重新进行数据结算 | ||||||
|  | //		Integer num = 0; | ||||||
|  | //		LocalDate byNumGetDate = null; | ||||||
|  | //		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) {//得到最后一次的结算截止时间和剩余未结算天数 | ||||||
|  | //			byNumGetDate = wgzts.getCutOffTime(); | ||||||
|  | //			num = iWgzAttendanceService.findByDateGetDateList(user.getUserId(), recruitApply.getRecruitId(), byNumGetDate).size(); | ||||||
|  | //		}else{//得到即将结算截止的日期和剩余未结算天数 | ||||||
|  | //			byNumGetDate = iWgzAttendanceService.findByNumGetDate(user.getUserId(), recruitApply.getRecruitId(), req.getNum()); | ||||||
|  | //			num = iWgzAttendanceService.attendanceDetail(user.getUserId(), recruitApply.getRecruitId(), null); | ||||||
|  | //		} | ||||||
|  | //		if (num < req.getNum()) { //判断剩余天数是否满足当前结算天数 | ||||||
|  | //			throw new RuntimeException("您剩余可结算天数为:"+num+"天,您当前想要结算的天数为:"+req.getNum()+"天,剩余天数不足!"); | ||||||
|  | //		} | ||||||
|  | //		//4、组装数据 | ||||||
|  | //		WgzPayCalculation wgzPayCalculation = new WgzPayCalculation(); | ||||||
|  | //		BeanUtils.copyProperties(req,wgzPayCalculation); | ||||||
|  | //		wgzPayCalculation. | ||||||
|  | //			setUserId(user.getUserId()). | ||||||
|  | //			setUserName(user.getUserName()). | ||||||
|  | //			setAuditorUserId(recruit.getUserId()). | ||||||
|  | //			setCutOffTime(byNumGetDate); | ||||||
|  | //		//5、获取附件信息并插入 | ||||||
|  | //		iWgzPayCalculationFilesService.saveBatch(req.getPayCalculation()); | ||||||
|  | //		//6、插入工资结算信息 | ||||||
|  | //		boolean save = save(wgzPayCalculation); | ||||||
|  | //		if (save) { | ||||||
|  | //			WgzUser byId = wgzUserService.findByUserId(user.getUserId()); | ||||||
|  | //			Map<String, String> mp = new HashMap<>(); | ||||||
|  | //			mp.put("projectName", recruit.getRecruitName()); | ||||||
|  | //			mp.put("userName", byId.getUsername()); | ||||||
|  | //			mp.put("num", String.valueOf(wgzPayCalculation.getNum())); | ||||||
|  | //			mp.put("money", String.valueOf(new BigDecimal(wgzPayCalculation.getNum()).multiply(wgzPayCalculation.getRecruitAmount()))); | ||||||
|  | //			WgzMessage wgzMessage = new WgzMessage(). | ||||||
|  | //				setSenderType(USERTYPE_SYSTEM). | ||||||
|  | //				setRecipientType(USERTYPE_WGZ). | ||||||
|  | //				setRecipientId(user.getUserId()). | ||||||
|  | //				setHeadline(WgzAndBgtMessageConstant.wgzMessage(mp,"111")). | ||||||
|  | //				setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp,"112")). | ||||||
|  | //				setTableId(wgzPayCalculation.getId()). | ||||||
|  | //				setTableName(SqlHelper.table(WgzPayCalculation.class).getTableName()). | ||||||
|  | //				setMessageLargeType(LARGE_SALARY); | ||||||
|  | //			if (!iWgzMessageService.sendAMessage(wgzMessage)){ | ||||||
|  | //				throw new RuntimeException("系统工资结算消息发送失败!"); | ||||||
|  | //			} | ||||||
|  | //			BgtMessage bgtMessage = new BgtMessage(). | ||||||
|  | //				setSenderType(USERTYPE_WGZ). | ||||||
|  | //				setSenderId(user.getUserId()). | ||||||
|  | //				setRecipientType(USERTYPE_BGT). | ||||||
|  | //				setRecipientId(recruit.getUserId()). | ||||||
|  | //				setHeadline(WgzAndBgtMessageConstant.wgzMessage(mp,"209")). | ||||||
|  | //				setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp,"210")). | ||||||
|  | //				setTableId(wgzPayCalculation.getId()). | ||||||
|  | //				setTableName(SqlHelper.table(WgzPayCalculation.class).getTableName()). | ||||||
|  | //				setMessageLargeType(BGT_LARGE_OTHER). | ||||||
|  | //				setMessageSmallType(BGT_SMALL_PAY); | ||||||
|  | //			if (!iBgtMessageService.sendAMessage(bgtMessage)){ | ||||||
|  | //				throw new RuntimeException("发送补卡消息失败!"); | ||||||
|  | //			} | ||||||
|  | //			return true; | ||||||
|  | //		} | ||||||
|  | //		return save(wgzPayCalculation); | ||||||
|  | //	} | ||||||
|  |  | ||||||
| 	@Override | 	@Override | ||||||
| 	public TableDataInfo<WgzAppApplyForPayrollSettlementListRes> userApplyForPayrollSettlementList(WgzAppApplyForPayrollSettlementListReq req) { | 	public TableDataInfo<WgzAppApplyForPayrollSettlementListRes> userApplyForPayrollSettlementList(WgzAppApplyForPayrollSettlementListReq req) { | ||||||
| 		Page<WgzAppApplyForPayrollSettlementListReq> pe = new Page<>(); | 		Page<WgzAppApplyForPayrollSettlementListReq> pe = new Page<>(); | ||||||
|  | |||||||
| @ -206,7 +206,7 @@ public class WgzReissueacardServiceImpl extends ServicePlusImpl<WgzReissueacardM | |||||||
| 				setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp, "208")). | 				setSubheading(WgzAndBgtMessageConstant.wgzMessage(mp, "208")). | ||||||
| 				setTableId(wgzReissueacard.getId()). | 				setTableId(wgzReissueacard.getId()). | ||||||
| 				setTableName(SqlHelper.table(BgtProjectRecruitApply.class).getTableName()). | 				setTableName(SqlHelper.table(BgtProjectRecruitApply.class).getTableName()). | ||||||
| 				setMessageLargeType(BGT_TYPE_SIGN_UP). | 				setMessageLargeType(BGT_LARGE_OTHER). | ||||||
| 				setMessageSmallType(BGT_SMALL_MAKE_UP); | 				setMessageSmallType(BGT_SMALL_MAKE_UP); | ||||||
| 			if (!iBgtMessageService.sendAMessage(bgtMessage)) { | 			if (!iBgtMessageService.sendAMessage(bgtMessage)) { | ||||||
| 				throw new RuntimeException("发送补卡消息失败!"); | 				throw new RuntimeException("发送补卡消息失败!"); | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user