上传文件前代码保存

This commit is contained in:
2024-11-29 14:45:56 +08:00
parent d6b81d4559
commit b443c006a7
9 changed files with 234 additions and 141 deletions

View File

@@ -141,6 +141,17 @@ public class SysOaAttendanceController extends BaseController {
return toAjax(iSysOaAttendanceService.deleteWithValidByIds(Arrays.asList(ids), true));
}
/**
* 删除人员考勤
*
* @param ids 主键串
*/
@Log(title = "人员考勤", businessType = BusinessType.DELETE)
@DeleteMapping("/all/{day}")
public R<Void> delOaAttendanceAll(@PathVariable Long day) {
return toAjax(iSysOaAttendanceService.delOaAttendanceAll(day));
}
/**
* 新增人员考勤

View File

@@ -17,4 +17,6 @@ import java.util.List;
public interface SysOaAttendanceMapper extends BaseMapperPlus<SysOaAttendanceMapper, SysOaAttendance, SysOaAttendanceVo> {
List<SysOaAttendanceVo> selectVoListAndTime(@Param("userId") Long userId, @Param("firstDay") Date firstDay, @Param("lastDay") Date lastDay);
int delOaAttendanceAll(@Param("firstDay") Date firstDay, @Param("lastDay")Date lastDay,@Param("day")Long day);
}

View File

@@ -70,4 +70,10 @@ public interface ISysOaAttendanceService {
*/
List<LaborCostData> workerCalc(Date time);
/**
* 删除当月某日所有人的签到记录
* @param day 日期
* @return
*/
int delOaAttendanceAll(Long day);
}

View File

@@ -197,21 +197,11 @@ public class SysOaAttendanceServiceImpl implements ISysOaAttendanceService {
*/
@Override
public List<LaborCostData> workerCalc(Date time) {
String firstDay = DateUtils.parseDateToStr("yyyy-MM-01", time);
String format = "yyyy-MM-";
// 计算某月的天数
Calendar calendar = Calendar.getInstance();
calendar.setTime(time);
String dateLength = String.valueOf(calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
// 将字符串拼接
format +=dateLength;
String lastDay = DateUtils.parseDateToStr(format, time);
// 查询所有的工人
List<Long> userIds = sysUserRoleMapper.selectUserIdsByRoleId(1852970465740505090L);
Date firstDay = getFirstDay(time);
Date lastDay = getLastDay(time);
List<LaborCostData> costDataList = new ArrayList<>();
for (Long userId : userIds) {
SysUserVo sysUser = BeanUtil.toBean(sysUserService.selectUserById(userId), SysUserVo.class);
@@ -219,12 +209,10 @@ public class SysOaAttendanceServiceImpl implements ISysOaAttendanceService {
sysOaAttendanceVo.setUserId(sysUser.getUserId());
// 查询某月记录
List<SysOaAttendanceVo> sysOaAttendanceVos = baseMapper.selectVoListAndTime(userId, DateUtils.parseDate(firstDay),DateUtils.parseDate(lastDay));
List<SysOaAttendanceVo> sysOaAttendanceVos = baseMapper.selectVoListAndTime(userId, firstDay,lastDay);
List<SysOaProjectVo> projectVos = new ArrayList<>();
Double workTimes = 0.0;
System.out.println(sysOaAttendanceVos);
for (SysOaAttendanceVo oaAttendanceVo : sysOaAttendanceVos) {
SysOaProjectVo sysOaProjectVo = projectService.queryById(oaAttendanceVo.getProjectId());
oaAttendanceVo.setColor(sysOaProjectVo.getColor());
@@ -247,4 +235,33 @@ public class SysOaAttendanceServiceImpl implements ISysOaAttendanceService {
return costDataList;
}
/**
* 删除当月某日所有人的记录
* @param day 日期
* @return
*/
@Override
public int delOaAttendanceAll(Long day) {
Date now = new Date();
return baseMapper.delOaAttendanceAll(getFirstDay(now),getLastDay(now),day);
}
private Date getFirstDay(Date time){
String firstDay = DateUtils.parseDateToStr("yyyy-MM-01", time);
return DateUtils.parseDate(firstDay);
}
private Date getLastDay(Date time){
String format = "yyyy-MM-";
// 计算某月的天数
Calendar calendar = Calendar.getInstance();
calendar.setTime(time);
String dateLength = String.valueOf(calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
// 将字符串拼接
format +=dateLength;
return DateUtils.parseDate(DateUtils.parseDateToStr(format, time));
}
}

View File

@@ -271,10 +271,7 @@ public class SysOaOutWarehouseServiceImpl implements ISysOaOutWarehouseService {
//其中一条
sysOaOutWarehouses.forEach(sysOaOutWarehouse -> {
//选出相对应的 库存表中那一条的数据
LambdaQueryWrapper<SysOaWarehouse> lqw2 = Wrappers.lambdaQuery();
lqw2.eq(SysOaWarehouse::getId, sysOaOutWarehouse.getWarehouseId());
SysOaWarehouse warehouse = warehouseMapper.selectOne(lqw2);
SysOaWarehouse warehouse = warehouseMapper.selectVoByIdAndXml(sysOaOutWarehouse.getWarehouseId());
// 恢复原本出库的数量
warehouse.setInventory(warehouse.getInventory() + sysOaOutWarehouse.getAmount());
warehouseMapper.updateById(warehouse);