@@ -3,7 +3,9 @@ package com.ruoyi.zhushi.controller; | |||
import com.ruoyi.common.core.controller.BaseController; | |||
import com.ruoyi.common.core.domain.PageQuery; | |||
import com.ruoyi.common.core.domain.R; | |||
import com.ruoyi.common.core.page.TableDataInfo; | |||
import com.ruoyi.common.core.validate.AddGroup; | |||
import com.ruoyi.zhushi.entity.AppDTO; | |||
import com.ruoyi.zhushi.entity.DkAttendanceGroupDTO; | |||
import com.ruoyi.zhushi.entity.DkCheckInConfigDTO; | |||
import com.ruoyi.zhushi.service.DkAttendanceGroupService; | |||
@@ -30,10 +32,23 @@ public class DkAttendanceGroupController extends BaseController { | |||
@Autowired | |||
private DkAttendanceGroupService dkAttendanceGroupService; | |||
@GetMapping("/list") | |||
public TableDataInfo<DkAttendanceGroupDTO> list(DkAttendanceGroupDTO dkAttendanceGroupDTO) { | |||
return dkAttendanceGroupService.queryPageList(dkAttendanceGroupDTO); | |||
} | |||
@PostMapping("/add") | |||
public R<Void> add(@RequestBody DkAttendanceGroupDTO dkAttendanceGroupDTO) { | |||
return toAjax(dkAttendanceGroupService.add(dkAttendanceGroupDTO)); | |||
} | |||
@DeleteMapping("/del/{id}") | |||
public R<Void> del(@PathVariable Long id) { | |||
return toAjax(dkAttendanceGroupService.del(id)); | |||
} | |||
@DeleteMapping("/delUser/{id}") | |||
public R<Void> delUser(@PathVariable long id) { | |||
return toAjax(dkAttendanceGroupService.deleteConfig(id)); | |||
} | |||
} |
@@ -3,25 +3,15 @@ package com.ruoyi.zhushi.controller; | |||
import com.ruoyi.common.core.controller.BaseController; | |||
import com.ruoyi.common.core.domain.PageQuery; | |||
import com.ruoyi.common.core.domain.R; | |||
import com.ruoyi.common.core.page.TableDataInfo; | |||
import com.ruoyi.common.core.validate.AddGroup; | |||
import com.ruoyi.common.core.validate.EditGroup; | |||
import com.ruoyi.common.utils.poi.ExcelUtil; | |||
import com.ruoyi.system.domain.bo.ZsOperationWarnresultBo; | |||
import com.ruoyi.zhushi.entity.DkCheckInConfigDTO; | |||
import com.ruoyi.zhushi.entity.DkCheckInRecordDTO; | |||
import com.ruoyi.zhushi.mapper.DkConfigMapper; | |||
import com.ruoyi.zhushi.service.DkConfigService; | |||
import com.ruoyi.zhushi.service.DkService; | |||
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.*; | |||
import javax.servlet.http.HttpServletResponse; | |||
import javax.validation.constraints.NotEmpty; | |||
import java.util.Arrays; | |||
import java.util.List; | |||
/** | |||
@@ -42,7 +32,7 @@ public class DkConfigController extends BaseController { | |||
// 主页面查询 | |||
@GetMapping("/list") | |||
public List<DkCheckInConfigDTO> list(DkCheckInConfigDTO dkCheckInConfigDTO, PageQuery pageQuery) { | |||
return dkConfigService.queryList(); | |||
return dkConfigService.queryList(dkCheckInConfigDTO); | |||
} | |||
@PostMapping("/add") |
@@ -5,7 +5,7 @@ import com.ruoyi.common.core.domain.PageQuery; | |||
import com.ruoyi.common.core.page.TableDataInfo; | |||
import com.ruoyi.common.utils.poi.ExcelUtil; | |||
import com.ruoyi.zhushi.entity.DkCheckInRecordDTO; | |||
import com.ruoyi.zhushi.service.DkService; | |||
import com.ruoyi.zhushi.service.DkRecordService; | |||
import lombok.RequiredArgsConstructor; | |||
import lombok.extern.slf4j.Slf4j; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
@@ -26,11 +26,11 @@ import java.util.List; | |||
@RestController | |||
@RequestMapping("/dk/record") | |||
@Slf4j | |||
public class DkController extends BaseController { | |||
public class DkRecordController extends BaseController { | |||
@Autowired | |||
private DkService dkService; | |||
private DkRecordService dkService; | |||
// 主页面查询 |
@@ -10,13 +10,19 @@ import lombok.Data; | |||
@Data | |||
@TableName("dk_check_in_attendance_team_and_user") | |||
public class DkAttendanceGroupAndUser extends BaseEntity { | |||
@TableId(value = "id", type = IdType.ASSIGN_ID) | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private int id; | |||
@TableField(value = "`attendance_team_id`") | |||
private int attendanceTeamId; | |||
private long attendanceTeamId; | |||
@TableField(value = "`user_id`") | |||
private int userId; | |||
private long userId; | |||
@TableField(value = "`user_name`") | |||
private String userName; | |||
@TableField(value = "`dept_name`") | |||
private String deptName; | |||
} |
@@ -9,7 +9,7 @@ import java.util.List; | |||
public class DkAttendanceGroupDTO extends BaseEntity { | |||
private int id; | |||
private long id; | |||
private String name; | |||
@@ -39,7 +39,7 @@ public class DkAttendanceGroupDTO extends BaseEntity { | |||
private Integer earlyRange; | |||
private int areaId; | |||
private Long areaId; | |||
private List<DkUsers> members; | |||
private List<DkAttendanceGroupAndUser> members; | |||
} |
@@ -10,8 +10,8 @@ import lombok.Data; | |||
@Data | |||
@TableName("dk_check_in_config") | |||
public class DkCheckInConfig extends BaseEntity { | |||
@TableId(value = "id", type = IdType.ASSIGN_ID) | |||
private String id; | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private int id; | |||
@TableField(value = "`name`") | |||
private String name; | |||
@@ -19,8 +19,8 @@ public class DkCheckInConfig extends BaseEntity { | |||
@TableField(value = "`radius`") | |||
private Integer radius; | |||
@TableField(value = "`enable_status`") | |||
private String enableStatus; | |||
@TableField(value = "`enabled`") | |||
private Boolean enabled; | |||
@TableField(value = "`lng`") | |||
private String lng; |
@@ -6,7 +6,7 @@ import lombok.Data; | |||
@Data | |||
public class DkCheckInConfigDTO extends BaseEntity { | |||
private String id; | |||
private int id; | |||
private String name; | |||
@@ -15,7 +15,7 @@ public class DkCheckInConfigDTO extends BaseEntity { | |||
private Integer radius; | |||
private String enableStatus; | |||
private Boolean enabled; | |||
private String lng; |
@@ -12,11 +12,11 @@ import java.time.LocalDateTime; | |||
@Data | |||
@TableName("dk_check_in_record") | |||
public class DkCheckInRecord extends BaseEntity { | |||
@TableId(value = "id", type = IdType.ASSIGN_ID) | |||
@TableId(value = "id", type = IdType.AUTO) | |||
private String id; | |||
@TableField(value = "`sys_user_id`") | |||
private String sysUserId; | |||
private long sysUserId; | |||
@TableField(value = "`sys_user_name`") | |||
private String sysUserName; | |||
@@ -33,4 +33,7 @@ public class DkCheckInRecord extends BaseEntity { | |||
@TableField(value = "`check_in_status`") | |||
private String checkInStatus; | |||
@TableField(value = "`check_in_type`") | |||
private String checkInType; | |||
} |
@@ -8,10 +8,10 @@ public class DkUsers extends BaseEntity { | |||
private int id; | |||
private String name; | |||
private String userName; | |||
private String position; | |||
private String userId; | |||
private String employeeId; | |||
@@ -1,11 +1,14 @@ | |||
package com.ruoyi.zhushi.mapper; | |||
import com.ruoyi.common.core.mapper.BaseMapperPlus; | |||
import com.ruoyi.zhushi.entity.AppDTO; | |||
import com.ruoyi.zhushi.entity.DkAttendanceGroupAndUser; | |||
import com.ruoyi.zhushi.entity.DkAttendanceGroupAndUserDTO; | |||
import org.apache.ibatis.annotations.Mapper; | |||
import org.springframework.data.repository.query.Param; | |||
@Mapper | |||
public interface DkAttendanceGroupAndUserMapper extends BaseMapperPlus<DkAttendanceGroupAndUserMapper, DkAttendanceGroupAndUser, DkAttendanceGroupAndUserDTO> { | |||
} |
@@ -1,13 +1,14 @@ | |||
package com.ruoyi.zhushi.mapper; | |||
import com.ruoyi.common.core.mapper.BaseMapperPlus; | |||
import com.ruoyi.zhushi.entity.DkAttendanceGroup; | |||
import com.ruoyi.zhushi.entity.DkAttendanceGroupDTO; | |||
import com.ruoyi.zhushi.entity.DkCheckInConfig; | |||
import com.ruoyi.zhushi.entity.DkCheckInConfigDTO; | |||
import com.ruoyi.zhushi.entity.*; | |||
import org.apache.ibatis.annotations.Mapper; | |||
import org.springframework.data.repository.query.Param; | |||
@Mapper | |||
public interface DkAttendanceGroupMapper extends BaseMapperPlus<DkAttendanceGroupMapper, DkAttendanceGroup, DkAttendanceGroupDTO> { | |||
public AppDTO queryAttendanceGroupBYUserId(@Param("userId") long userId); | |||
} |
@@ -1,20 +0,0 @@ | |||
package com.ruoyi.zhushi.mapper; | |||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |||
import com.ruoyi.common.core.mapper.BaseMapperPlus; | |||
import com.ruoyi.system.domain.ZsOperationWarnresult; | |||
import com.ruoyi.system.domain.vo.ZsOperationWarnresultVo; | |||
import com.ruoyi.system.mapper.ZsOperationWarnresultMapper; | |||
import com.ruoyi.zhushi.entity.DkCheckInRecord; | |||
import com.ruoyi.zhushi.entity.DkCheckInRecordDTO; | |||
import com.ruoyi.zhushi.entity.ProductRanking; | |||
import org.apache.ibatis.annotations.Mapper; | |||
import org.apache.ibatis.annotations.Param; | |||
import org.apache.ibatis.annotations.Select; | |||
import java.util.List; | |||
@Mapper | |||
public interface DkMapper extends BaseMapperPlus<DkMapper, DkCheckInRecord, DkCheckInRecordDTO> { | |||
} |
@@ -0,0 +1,16 @@ | |||
package com.ruoyi.zhushi.mapper; | |||
import com.ruoyi.common.core.mapper.BaseMapperPlus; | |||
import com.ruoyi.zhushi.entity.DkCheckInRecord; | |||
import com.ruoyi.zhushi.entity.DkCheckInRecordDTO; | |||
import org.apache.ibatis.annotations.Mapper; | |||
import org.apache.ibatis.annotations.Param; | |||
import java.util.List; | |||
@Mapper | |||
public interface DkRecordMapper extends BaseMapperPlus<DkRecordMapper, DkCheckInRecord, DkCheckInRecordDTO> { | |||
public List<DkCheckInRecord> getCurrentDayRecord(@Param("userId") long userId); | |||
} |
@@ -1,11 +1,22 @@ | |||
package com.ruoyi.zhushi.service; | |||
import com.ruoyi.common.core.page.TableDataInfo; | |||
import com.ruoyi.zhushi.entity.AppDTO; | |||
import com.ruoyi.zhushi.entity.DkAttendanceGroupDTO; | |||
import com.ruoyi.zhushi.entity.DkCheckInConfigDTO; | |||
import com.ruoyi.zhushi.entity.DkCheckInRecordDTO; | |||
import java.util.List; | |||
public interface DkAttendanceGroupService { | |||
TableDataInfo<DkAttendanceGroupDTO> queryPageList(DkAttendanceGroupDTO dkAttendanceGroupDTO); | |||
public int add(DkAttendanceGroupDTO dkAttendanceGroupDTO); | |||
public int del(long id); | |||
public AppDTO queryAttendanceGroupBYUserId(long useId); | |||
public int deleteConfig(long id); | |||
} |
@@ -9,7 +9,7 @@ import java.util.List; | |||
public interface DkConfigService { | |||
public List<DkCheckInConfigDTO> queryList(); | |||
public List<DkCheckInConfigDTO> queryList(DkCheckInConfigDTO dkCheckInConfigDTO); | |||
public boolean addConfig(DkCheckInConfigDTO dkCheckInConfigDTO); | |||
@@ -10,7 +10,7 @@ import com.ruoyi.zhushi.entity.ProductRanking; | |||
import java.util.List; | |||
public interface DkService { | |||
public interface DkRecordService { | |||
TableDataInfo<DkCheckInRecordDTO> queryPageList(DkCheckInRecordDTO dkCheckInRecordDTO, PageQuery pageQuery); | |||
@@ -1,6 +1,10 @@ | |||
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.conditions.update.LambdaUpdateWrapper; | |||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; | |||
import com.ruoyi.common.core.page.TableDataInfo; | |||
import com.ruoyi.zhushi.entity.*; | |||
import com.ruoyi.zhushi.mapper.DkAttendanceGroupAndUserMapper; | |||
import com.ruoyi.zhushi.mapper.DkAttendanceGroupMapper; | |||
@@ -8,6 +12,9 @@ import com.ruoyi.zhushi.service.DkAttendanceGroupService; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; | |||
import java.util.ArrayList; | |||
import java.util.List; | |||
@Service | |||
public class DkAttendanceGroupServiceImpl implements DkAttendanceGroupService { | |||
@@ -19,16 +26,69 @@ public class DkAttendanceGroupServiceImpl implements DkAttendanceGroupService { | |||
private DkAttendanceGroupAndUserMapper dkAttendanceGroupAndUserMapper; | |||
@Override | |||
public TableDataInfo<DkAttendanceGroupDTO> queryPageList(DkAttendanceGroupDTO dkAttendanceGroupDTO) { | |||
List<DkAttendanceGroupDTO> dkAttendanceGroupDTOS = new ArrayList<>(); | |||
List<DkAttendanceGroup> dkAttendanceGroups = dkAttendanceGroupMapper.selectList(); | |||
for (DkAttendanceGroup dkAttendanceGroup : dkAttendanceGroups) { | |||
DkAttendanceGroupDTO dkAttendanceGroupDTO1 = BeanUtil.toBean(dkAttendanceGroup, DkAttendanceGroupDTO.class); | |||
LambdaQueryWrapper<DkAttendanceGroupAndUser> queryWrapper = Wrappers.lambdaQuery(); | |||
queryWrapper.eq(DkAttendanceGroupAndUser::getAttendanceTeamId, dkAttendanceGroup.getId()); | |||
List<DkAttendanceGroupAndUser> dkUsers = dkAttendanceGroupAndUserMapper.selectList(queryWrapper); | |||
dkAttendanceGroupDTO1.setMembers(dkUsers); | |||
dkAttendanceGroupDTOS.add(dkAttendanceGroupDTO1); | |||
} | |||
return TableDataInfo.build(dkAttendanceGroupDTOS); | |||
} | |||
@Override | |||
public int add(DkAttendanceGroupDTO dkAttendanceGroupDTO) { | |||
DkAttendanceGroup dkAttendanceGroup = BeanUtil.toBean(dkAttendanceGroupDTO, DkAttendanceGroup.class); | |||
dkAttendanceGroupMapper.insertOrUpdate(dkAttendanceGroup); | |||
LambdaQueryWrapper<DkAttendanceGroupAndUser> queryWrapper = Wrappers.lambdaQuery(); | |||
StringBuffer stringBuffer = new StringBuffer(); | |||
dkAttendanceGroupDTO.getMembers().forEach(e -> { | |||
DkAttendanceGroupAndUser dkAttendanceGroupAndUser = new DkAttendanceGroupAndUser(); | |||
dkAttendanceGroupAndUser.setAttendanceTeamId(dkAttendanceGroup.getId()); | |||
dkAttendanceGroupAndUser.setUserId(e.getId()); | |||
dkAttendanceGroupAndUserMapper.insertOrUpdate(dkAttendanceGroupAndUser); | |||
queryWrapper.eq(DkAttendanceGroupAndUser::getUserId, e.getUserId()); | |||
List<DkAttendanceGroupAndUser> dkAttendanceGroupAndUsers = dkAttendanceGroupAndUserMapper.selectList(queryWrapper); | |||
if(dkAttendanceGroupAndUsers.size() > 0){ | |||
stringBuffer.append(e.getUserName()+"已加入团队,"); | |||
} | |||
}); | |||
return 1; | |||
if(stringBuffer.length() > 0){ | |||
throw new RuntimeException(stringBuffer.toString()); | |||
} | |||
DkAttendanceGroup dkAttendanceGroup = BeanUtil.toBean(dkAttendanceGroupDTO, DkAttendanceGroup.class); | |||
dkAttendanceGroupMapper.insertOrUpdate(dkAttendanceGroup); | |||
if(dkAttendanceGroupDTO.getMembers() != null && dkAttendanceGroupDTO.getMembers().size() > 0){ | |||
dkAttendanceGroupDTO.getMembers().forEach(e -> { | |||
DkAttendanceGroupAndUser dkAttendanceGroupAndUser = new DkAttendanceGroupAndUser(); | |||
dkAttendanceGroupAndUser.setAttendanceTeamId(dkAttendanceGroup.getId()); | |||
dkAttendanceGroupAndUser.setUserId(e.getUserId()); | |||
dkAttendanceGroupAndUser.setUserName(e.getUserName()); | |||
dkAttendanceGroupAndUser.setDeptName(e.getDeptName()); | |||
dkAttendanceGroupAndUserMapper.insertOrUpdate(dkAttendanceGroupAndUser); | |||
}); | |||
} | |||
return dkAttendanceGroup.getId(); | |||
} | |||
@Override | |||
public int del(long id) { | |||
return dkAttendanceGroupMapper.deleteById(id); | |||
} | |||
public AppDTO queryAttendanceGroupBYUserId(long userId){ | |||
AppDTO appDTO; | |||
appDTO = dkAttendanceGroupMapper.queryAttendanceGroupBYUserId(userId); | |||
return appDTO; | |||
} | |||
@Override | |||
public int deleteConfig(long id) { | |||
// LambdaQueryWrapper<DkAttendanceGroupAndUser> queryWrapper = Wrappers.lambdaQuery(); | |||
// queryWrapper.eq(DkAttendanceGroupAndUser::getUserId, userId); | |||
return dkAttendanceGroupAndUserMapper.deleteById(id); | |||
} | |||
} |
@@ -3,27 +3,12 @@ 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.baomidou.mybatisplus.extension.plugins.pagination.Page; | |||
import com.ruoyi.common.core.domain.PageQuery; | |||
import com.ruoyi.common.core.page.TableDataInfo; | |||
import com.ruoyi.system.domain.ZsBanner; | |||
import com.ruoyi.zhushi.entity.DkCheckInConfig; | |||
import com.ruoyi.zhushi.entity.DkCheckInConfigDTO; | |||
import com.ruoyi.zhushi.entity.DkCheckInRecord; | |||
import com.ruoyi.zhushi.entity.DkCheckInRecordDTO; | |||
import com.ruoyi.zhushi.entity.*; | |||
import com.ruoyi.zhushi.mapper.DkConfigMapper; | |||
import com.ruoyi.zhushi.mapper.DkMapper; | |||
import com.ruoyi.zhushi.service.DkConfigService; | |||
import com.ruoyi.zhushi.service.DkService; | |||
import com.ruoyi.zhushi.util.TimeUtils; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; | |||
import java.text.SimpleDateFormat; | |||
import java.time.LocalDate; | |||
import java.time.LocalDateTime; | |||
import java.time.LocalTime; | |||
import java.util.Date; | |||
import java.util.List; | |||
import java.util.stream.Collectors; | |||
@@ -36,15 +21,17 @@ public class DkConfigServiceImpl implements DkConfigService { | |||
@Override | |||
public List<DkCheckInConfigDTO> queryList() { | |||
List<DkCheckInConfig> dkCheckInConfigs = dkConfigMapper.selectList(); | |||
public List<DkCheckInConfigDTO> queryList(DkCheckInConfigDTO dto) { | |||
LambdaQueryWrapper<DkCheckInConfig> queryWrapper = Wrappers.lambdaQuery(); | |||
queryWrapper.eq((dto.getEnabled() != null && dto.getEnabled()), DkCheckInConfig::getEnabled, dto.getEnabled()); | |||
List<DkCheckInConfig> dkCheckInConfigs = dkConfigMapper.selectList(queryWrapper); | |||
List<DkCheckInConfigDTO> dkCheckInConfigDTOS = dkCheckInConfigs.stream() | |||
.map(dkCheckInConfig -> { | |||
DkCheckInConfigDTO dkCheckInConfigDTO = new DkCheckInConfigDTO(); | |||
dkCheckInConfigDTO.setId(dkCheckInConfig.getId()); | |||
dkCheckInConfigDTO.setName(dkCheckInConfig.getName()); | |||
dkCheckInConfigDTO.setRadius(dkCheckInConfig.getRadius()); | |||
dkCheckInConfigDTO.setEnableStatus(dkCheckInConfig.getEnableStatus()); | |||
dkCheckInConfigDTO.setEnabled(dkCheckInConfig.getEnabled()); | |||
dkCheckInConfigDTO.setLng(dkCheckInConfig.getLng()); | |||
dkCheckInConfigDTO.setLat(dkCheckInConfig.getLat()); | |||
// 这里需要返回DTO对象 | |||
@@ -80,7 +67,7 @@ public class DkConfigServiceImpl implements DkConfigService { | |||
public int updateConfig(DkCheckInConfigDTO dkCheckInConfigDTO) { | |||
DkCheckInConfig dkCheckInConfig = new DkCheckInConfig(); | |||
dkCheckInConfig.setId(dkCheckInConfigDTO.getId()); | |||
dkCheckInConfig.setEnableStatus(dkCheckInConfigDTO.getEnableStatus()); | |||
dkCheckInConfig.setEnabled(dkCheckInConfigDTO.getEnabled()); | |||
return dkConfigMapper.updateById(dkCheckInConfig); | |||
} | |||
} |
@@ -7,8 +7,8 @@ import com.ruoyi.common.core.domain.PageQuery; | |||
import com.ruoyi.common.core.page.TableDataInfo; | |||
import com.ruoyi.zhushi.entity.DkCheckInRecord; | |||
import com.ruoyi.zhushi.entity.DkCheckInRecordDTO; | |||
import com.ruoyi.zhushi.mapper.DkMapper; | |||
import com.ruoyi.zhushi.service.DkService; | |||
import com.ruoyi.zhushi.mapper.DkRecordMapper; | |||
import com.ruoyi.zhushi.service.DkRecordService; | |||
import com.ruoyi.zhushi.util.TimeUtils; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; | |||
@@ -21,9 +21,9 @@ import java.util.Date; | |||
import java.util.List; | |||
@Service | |||
public class DkServiceImpl implements DkService { | |||
public class DkRecordServiceImpl implements DkRecordService { | |||
@Autowired | |||
private DkMapper dkMapper; | |||
private DkRecordMapper dkMapper; | |||
public String getTime() { |