浏览代码

年假规则新增

main
父节点
当前提交
13838d3085

+ 36
- 0
zs-manager/src/main/java/com/ruoyi/zhushi/controller/NjBalanceManageController.java 查看文件

@@ -0,0 +1,36 @@
package com.ruoyi.zhushi.controller;

import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.zhushi.entity.NjBalanceManageDTO;
import com.ruoyi.zhushi.entity.NjRuleConfigDTO;
import com.ruoyi.zhushi.service.NjBalanceManageService;
import com.ruoyi.zhushi.service.NjRuleConfigService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

/**
* 打卡控制台
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/nj/balance/manage")
@Slf4j
public class NjBalanceManageController extends BaseController {

@Autowired
private NjBalanceManageService njBalanceManageService;


// 查询当前用户考勤组
@GetMapping("/query")
public TableDataInfo<NjBalanceManageDTO> query(NjBalanceManageDTO njBalanceManageDTO) {
return njBalanceManageService.queryPageList(njBalanceManageDTO);
}

}

+ 52
- 0
zs-manager/src/main/java/com/ruoyi/zhushi/controller/NjRuleConfigController.java 查看文件

@@ -0,0 +1,52 @@
package com.ruoyi.zhushi.controller;

import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.zhushi.entity.DkCheckInRecordDTO;
import com.ruoyi.zhushi.entity.NjRuleConfigDTO;
import com.ruoyi.zhushi.service.NjRuleConfigService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

/**
* 打卡控制台
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/nj/rule/config")
@Slf4j
public class NjRuleConfigController extends BaseController {

@Autowired
private NjRuleConfigService njRuleConfigService;


// 查询当前用户考勤组
@GetMapping("/queryRuleConfig")
public TableDataInfo<NjRuleConfigDTO> queryRule(NjRuleConfigDTO njRuleConfigDTO) {
return njRuleConfigService.queryRuleConfig(njRuleConfigDTO);
}

// 新增规则
@PostMapping("/addRuleConfig")
public R<Boolean> addRule(@RequestBody NjRuleConfigDTO njRuleConfigDTO) {
return R.ok(njRuleConfigService.addRule(njRuleConfigDTO));
}

// 删除规则
@GetMapping("/delRule")
public R<Integer> delRule(@RequestParam("id") long id) {
return R.ok(njRuleConfigService.delRule(id));
}

// 删除用户
@DeleteMapping("/delUser/{id}")
public R<Void> delUser(@PathVariable Long id) {
return toAjax(njRuleConfigService.delUser(id));
}
}

+ 44
- 0
zs-manager/src/main/java/com/ruoyi/zhushi/entity/NjBalanceManage.java 查看文件

@@ -0,0 +1,44 @@
package com.ruoyi.zhushi.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;

@Data
@TableName("nj_balance_manage")
public class NjBalanceManage extends BaseEntity {
@TableId(value = "id", type = IdType.AUTO)
private long id;

@TableField(value = "`user_id`")
private long userId;

@TableField(value = "`user_name`")
private String userName;

@TableField(value = "`nick_name`")
private String nickName;

@TableField(value = "`dept_name`")
private String deptName;

@TableField(value = "`annual_leave`")
private BigDecimal annualLeave;

@TableField(value = "`used_day`")
private BigDecimal usedDay;

@TableField(value = "`unused_day`")
private BigDecimal unusedDay;

@TableField(value = "`last_year_unused_day`")
private BigDecimal lastYearUnusedDay;

@TableField(value = "`is_enable`")
private Boolean isEnable;
}

+ 41
- 0
zs-manager/src/main/java/com/ruoyi/zhushi/entity/NjBalanceManageDTO.java 查看文件

@@ -0,0 +1,41 @@
package com.ruoyi.zhushi.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;

@Data
public class NjBalanceManageDTO extends BaseEntity {
private long id;

private long userId;


private String userName;


private String nickName;


private String deptName;


private BigDecimal annualLeave;


private BigDecimal usedDay;


private BigDecimal unusedDay;


private BigDecimal lastYearUnusedDay;


private Boolean isEnable;
}

+ 37
- 0
zs-manager/src/main/java/com/ruoyi/zhushi/entity/NjRuleConfig.java 查看文件

@@ -0,0 +1,37 @@
package com.ruoyi.zhushi.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

@Data
@TableName("nj_rule_config")
public class NjRuleConfig extends BaseEntity {
@TableId(value = "id", type = IdType.AUTO)
private long id;

@TableField(value = "`rule_name`")
private String ruleName;

@TableField(value = "`calculation_method`")
private Integer calculationMethod;

@TableField(value = "`annualLeave_tiers`")
private Integer annualLeaveTiers;

@TableField(value = "`validity_period`")
private Boolean validityPeriod;

@TableField(value = "`allow_half_day`")
private Boolean allowHalfDay;

@TableField(value = "`applicable_range`")
private Boolean applicableRange;

@TableField(value = "`generation_cycle`")
private Boolean generationCycle;

}

+ 34
- 0
zs-manager/src/main/java/com/ruoyi/zhushi/entity/NjRuleConfigAndUser.java 查看文件

@@ -0,0 +1,34 @@
package com.ruoyi.zhushi.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

@Data
@TableName("nj_rule_config_and_user")
public class NjRuleConfigAndUser extends BaseEntity {
@TableId(value = "id", type = IdType.AUTO)
private long id;

@TableField(value = "`nj_rule_config_id`")
private long njRuleConfigId;

@TableField(value = "`rule_name`")
private String ruleName;

@TableField(value = "`user_id`")
private long userId;

@TableField(value = "`user_name`")
private String userName;

@TableField(value = "`nick_name`")
private String nickName;

@TableField(value = "`dept_name`")
private String deptName;

}

+ 32
- 0
zs-manager/src/main/java/com/ruoyi/zhushi/entity/NjRuleConfigAndUserDTO.java 查看文件

@@ -0,0 +1,32 @@
package com.ruoyi.zhushi.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

@Data

public class NjRuleConfigAndUserDTO extends BaseEntity {

private long id;


private long njRuleConfigId;


private String ruleName;

private long userId;

private String userName;


private String nickName;


private String deptName;

}

+ 28
- 0
zs-manager/src/main/java/com/ruoyi/zhushi/entity/NjRuleConfigDTO.java 查看文件

@@ -0,0 +1,28 @@
package com.ruoyi.zhushi.entity;

import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

import java.util.List;

@Data
public class NjRuleConfigDTO extends BaseEntity {
private long id;

private String ruleName;

private Integer calculationMethod;

private Integer annualLeaveTiers;

private Boolean validityPeriod;

private Boolean allowHalfDay;

private Boolean applicableRange;

private Boolean generationCycle;

private List<DkUsers> members;

}

+ 12
- 0
zs-manager/src/main/java/com/ruoyi/zhushi/mapper/NjBalanceManageMapper.java 查看文件

@@ -0,0 +1,12 @@
package com.ruoyi.zhushi.mapper;

import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.ruoyi.zhushi.entity.NjBalanceManage;
import com.ruoyi.zhushi.entity.NjBalanceManageDTO;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface NjBalanceManageMapper extends BaseMapperPlus<NjBalanceManageMapper, NjBalanceManage, NjBalanceManageDTO> {


}

+ 12
- 0
zs-manager/src/main/java/com/ruoyi/zhushi/mapper/NjRuleConfigAndUserMapper.java 查看文件

@@ -0,0 +1,12 @@
package com.ruoyi.zhushi.mapper;

import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.ruoyi.zhushi.entity.NjRuleConfigAndUser;
import com.ruoyi.zhushi.entity.NjRuleConfigAndUserDTO;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface NjRuleConfigAndUserMapper extends BaseMapperPlus<NjRuleConfigAndUserMapper, NjRuleConfigAndUser, NjRuleConfigAndUserDTO> {


}

+ 12
- 0
zs-manager/src/main/java/com/ruoyi/zhushi/mapper/NjRuleConfigMapper.java 查看文件

@@ -0,0 +1,12 @@
package com.ruoyi.zhushi.mapper;

import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.ruoyi.zhushi.entity.NjRuleConfig;
import com.ruoyi.zhushi.entity.NjRuleConfigDTO;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface NjRuleConfigMapper extends BaseMapperPlus<NjRuleConfigMapper, NjRuleConfig, NjRuleConfigDTO> {


}

+ 10
- 0
zs-manager/src/main/java/com/ruoyi/zhushi/service/NjBalanceManageService.java 查看文件

@@ -0,0 +1,10 @@
package com.ruoyi.zhushi.service;

import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.zhushi.entity.NjBalanceManageDTO;

public interface NjBalanceManageService {

TableDataInfo<NjBalanceManageDTO> queryPageList(NjBalanceManageDTO njBalanceManageDTO);

}

+ 15
- 0
zs-manager/src/main/java/com/ruoyi/zhushi/service/NjRuleConfigService.java 查看文件

@@ -0,0 +1,15 @@
package com.ruoyi.zhushi.service;

import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.zhushi.entity.NjRuleConfigDTO;

public interface NjRuleConfigService {

TableDataInfo<NjRuleConfigDTO> queryRuleConfig(NjRuleConfigDTO njRuleConfigDTO);

public Boolean addRule(NjRuleConfigDTO njRuleConfigDTO);

public int delRule(long id);

public int delUser(long id);
}

+ 28
- 0
zs-manager/src/main/java/com/ruoyi/zhushi/service/impl/NjBalanceManageServiceImpl.java 查看文件

@@ -0,0 +1,28 @@
package com.ruoyi.zhushi.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.zhushi.entity.NjBalanceManage;
import com.ruoyi.zhushi.entity.NjBalanceManageDTO;
import com.ruoyi.zhushi.mapper.NjBalanceManageMapper;
import com.ruoyi.zhushi.service.NjBalanceManageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class NjBalanceManageServiceImpl implements NjBalanceManageService {

@Autowired
private NjBalanceManageMapper njBalanceManageMapper;

@Override
public TableDataInfo<NjBalanceManageDTO> queryPageList(NjBalanceManageDTO njBalanceManageDTO) {
LambdaQueryWrapper<NjBalanceManage> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(njBalanceManageDTO.getUserName()!= null, NjBalanceManage::getUserName, njBalanceManageDTO.getUserName());
queryWrapper.eq(njBalanceManageDTO.getNickName()!= null, NjBalanceManage::getNickName, njBalanceManageDTO.getNickName());
List<NjBalanceManageDTO> njBalanceManageDTOS = njBalanceManageMapper.selectVoList(queryWrapper, NjBalanceManageDTO.class);
return TableDataInfo.build(njBalanceManageDTOS);
}
}

+ 83
- 0
zs-manager/src/main/java/com/ruoyi/zhushi/service/impl/NjRuleConfigServiceImpl.java 查看文件

@@ -0,0 +1,83 @@
package com.ruoyi.zhushi.service.impl;

import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Translation;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.zhushi.entity.*;
import com.ruoyi.zhushi.mapper.NjRuleConfigAndUserMapper;
import com.ruoyi.zhushi.mapper.NjRuleConfigMapper;
import com.ruoyi.zhushi.service.NjRuleConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

@Service
public class NjRuleConfigServiceImpl implements NjRuleConfigService {

@Autowired
private NjRuleConfigMapper njRuleConfigMapper;

@Autowired
private NjRuleConfigAndUserMapper njRuleConfigAndUserMapper;

@Override
public TableDataInfo<NjRuleConfigDTO> queryRuleConfig(NjRuleConfigDTO njRuleConfigDTO) {

LambdaQueryWrapper<NjRuleConfig> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.eq(null != njRuleConfigDTO.getRuleName(), NjRuleConfig::getRuleName, njRuleConfigDTO.getRuleName());
List<NjRuleConfigDTO> njRuleConfigDTOS = njRuleConfigMapper.selectVoList(queryWrapper, NjRuleConfigDTO.class);
njRuleConfigDTOS.forEach(nj -> {
if(!nj.getApplicableRange()){
List<DkUsers> users = new ArrayList<>();
LambdaQueryWrapper<NjRuleConfigAndUser> njRuleConfigAndUserLambdaQueryWrapper = Wrappers.lambdaQuery();
njRuleConfigAndUserLambdaQueryWrapper.eq(NjRuleConfigAndUser::getNjRuleConfigId, nj.getId());
List<NjRuleConfigAndUserDTO> njRuleConfigAndUserDTOS = njRuleConfigAndUserMapper.selectVoList(njRuleConfigAndUserLambdaQueryWrapper, NjRuleConfigAndUserDTO.class);
njRuleConfigAndUserDTOS.forEach(njRuleConfigAndUser -> {
DkUsers dkUsers = new DkUsers();
BeanUtil.copyProperties(njRuleConfigAndUser, dkUsers);
users.add(dkUsers);
});
nj.setMembers(users);
}
});

return TableDataInfo.build(njRuleConfigDTOS);
}

@Override
public Boolean addRule(NjRuleConfigDTO njRuleConfigDTO) {
NjRuleConfig njRuleConfig = new NjRuleConfig();
BeanUtil.copyProperties(njRuleConfigDTO, njRuleConfig);
njRuleConfigMapper.insertOrUpdate(njRuleConfig);

List<NjRuleConfigAndUser> njRuleConfigAndUsers = new ArrayList<>();
if(null != njRuleConfigDTO.getMembers() && njRuleConfigDTO.getMembers().size() > 0){
njRuleConfigDTO.getMembers()
.forEach(user -> {
NjRuleConfigAndUser njRuleConfigAndUser = new NjRuleConfigAndUser();
njRuleConfigAndUser.setNjRuleConfigId(njRuleConfig.getId());
njRuleConfigAndUser.setRuleName(njRuleConfig.getRuleName());
njRuleConfigAndUser.setUserId(user.getUserId());
njRuleConfigAndUser.setUserName(user.getUserName());
njRuleConfigAndUser.setNickName(user.getNickName());
njRuleConfigAndUsers.add(njRuleConfigAndUser);
});
}
return njRuleConfigAndUserMapper.insertOrUpdateBatch(njRuleConfigAndUsers);

}

@Override
public int delRule(long id) {
return njRuleConfigMapper.deleteById(id);
}

@Override
public int delUser(long id) {
return njRuleConfigAndUserMapper.deleteById(id);
}
}

正在加载...
取消
保存