Commit 43ce33f1 authored by cq990612's avatar cq990612

优化代码结构

parent c3104827
......@@ -36,7 +36,7 @@ public enum BASE_RESP_CODE_ENUM {
FILE_INCORRETC_FORMAT("615", "文件格式不正确"),
RECORD_WORD_REPEAT("616", "字段名称重复"),
WORD_NAME_REPEAT("617", "字段名称请勿重复"),
QUERY_USER_INFO_FAIL("618", "获取用户信息失败"),
QUERY_USER_INFO_FAIL("618", "该用户不存在"),
WORK_ORDER_ALREADY_COMMIT("619", "工单已填报,不能重复填报"),
WORK_TIME_OVER_NOW_DAY("620", "工单日期不能大于当天"),
INSERT_WORK_COLLECT_DATA_FAIL("621", "插入工时单汇总信息失败"),
......
......@@ -22,6 +22,14 @@ import java.util.Map;
public interface WorkTimeOrderMapper extends BaseMapper<WorkTimeOrder> {
/**
* 功能:获取某个月的数据
* @param userId
* @param workMonth
* @return
*/
List<WorkTimeOrder> geByMonth(@Param("userId")Integer userId,@Param("workMonth") Date workMonth ,@Param("status")Integer status);
List<WorkTimeOrder> getByDay(@Param("userId") Integer userId,@Param("workDay") Date workDay);
int save(WorkTimeOrder workTimeOrder);
......
......@@ -71,8 +71,6 @@
AND DATE_FORMAT(work_day, '%Y%m') = DATE_FORMAT(#{workMonth} ,'%Y%m')
</if>
</where>
</select>
</mapper>
......@@ -195,5 +195,25 @@
select distinct(work_day)
from <include refid="table"/>
where work_day >= #{firstDayOfMonth} AND user_id = #{userId}
</select>
<select id="geByMonth" resultType="cn.wisenergy.model.app.WorkTimeOrder">
SELECT
<include refid="Base_Column_List"/>
FROM
<include refid="table"/>
<where>
<if test="null != userId">
AND user_id = #{userId}
</if>
<if test="null != workMonth">
AND DATE_FORMAT(work_day, '%Y%m') = DATE_FORMAT(#{workMonth} ,'%Y%m')
</if>
<if test="null != status">
AND status = #{status}
</if>
</where>
</select>
</mapper>
......@@ -64,7 +64,6 @@ public class WorkCollectServiceImpl implements WorkCollectService {
if (null == userId || StringUtils.isEmpty(workMonth)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
List<CalendarDto> calendarDtoList = workCollectMapper.getWorkMonth(userId, workMonth);
if (CollectionUtils.isEmpty(calendarDtoList)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_INFO_IS_NULL);
......
......@@ -72,7 +72,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
public List<WorkProject> getNameById(List<Integer> ids) {
log.info("WorkProjectServiceImpl[]getNameById[]input.param.ids:" + ids);
if (CollectionUtils.isEmpty(ids)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
return null;
}
List<WorkProject> workProjects = workProjectMapper.selectBatchIds(ids);
if (CollectionUtils.isEmpty(workProjects)) {
......@@ -96,12 +96,11 @@ public class WorkProjectServiceImpl implements WorkProjectService {
QueryWrapper<WorkProject> wrapper = new QueryWrapper<>();
wrapper.eq("manager_id", id);
List<WorkProject> workProjects = workProjectMapper.selectList(wrapper);
if (CollectionUtils.isEmpty(workProjects)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.MANAGER_NOT_PROJECT);
}
if (!CollectionUtils.isEmpty(workProjects)) {
return workProjectToDto(workProjects);
}
return null;
}
// WorkProject转ProjectDto
private List<ProjectDto> workProjectToDto(List<WorkProject> workProjects) {
......
......@@ -125,21 +125,33 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
// 今日总工时
int totalTime = 0;
// 被驳回原因
String reason = "";
StringBuilder reason = new StringBuilder();
// 今日被驳回次数
int rejectMonth = 0;
subtotalDto.setUserId(userId);
subtotalDto.setWorkDay(workDay);
for (WorkTimeOrder wto : workTimeOrders) {
totalTime += wto.getWorkTime();
if (null != wto.getReason()) {
reason = workProjectService.getById(wto.getProjectId()).getProjectName() + ":" + wto.getReason() + ";";
if (null != wto.getReason() && REJECTED.equals(wto.getStatus()) && reason.toString().equals("")) {
if (PROJECT.equals(wto.getType()) || BUSINESS_OPPORTUNITY.equals(wto.getType())) {
reason.append(workProjectService.getById(wto.getProjectId()).getProjectName()).append(":").append(wto.getReason()).append(";");
}
if (!PROJECT.equals(wto.getType()) && !BUSINESS_OPPORTUNITY.equals(wto.getType())) {
for (ProjectTypeEnum value : ProjectTypeEnum.values()) {
if (value.getType().equals(wto.getType())) {
reason.append(value.getTypeName()).append(":").append(wto.getReason()).append(";");
}
}
}
}
if (REJECTED.equals(wto.getStatus())) {
rejectMonth += 1;
}
List<WorkTimeOrder> timeOrders = workTimeOrderMapper.geByMonth(userId, workDay, REJECTED);
if (!CollectionUtils.isEmpty(timeOrders)) {
rejectMonth = timeOrders.size();
}
subtotalDto.setReason(reason);
subtotalDto.setReason(reason.toString());
subtotalDto.setTotalTime(totalTime);
subtotalDto.setRejectMonth(rejectMonth);
return subtotalDto;
......@@ -155,7 +167,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
@Override
public List<WorkTimeOrder> getByDayToDto(Integer userId, Date workDay) {
log.info("WorkTimeOrderServiceImpl[]getByDayToDto[]input.param.userId:{},workDay:{}" + userId, workDay);
List<WorkTimeOrder> workTimeOrders = getByDay(userId, workDay);
if (CollectionUtils.isEmpty(workTimeOrders)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_INFO_IS_NULL);
......@@ -239,9 +250,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if (null == dto.getStatus() || 0 == dto.getStatus()) {
dto.setStatus(COMPLETED);
}
if (LEAVE.equals(type) || COMPENSATORY_LEAVE.equals(type)) {
dto.setStatus(APPROVED);
}
if (null != dto.getStatus() && REJECTED.equals(dto.getStatus())) {
dto.setStatus(RE_SUBMIT);
}
......@@ -423,7 +431,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if (CollectionUtils.isEmpty(workTimeOrders)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_END);
}
return getDto(workTimeOrders);
}
// 部门经理
......@@ -440,7 +447,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
return getDto(workTimeOrders);
}
return null;
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_END);
}
// 封装可填报的数据
......@@ -564,6 +571,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>();
wrapper.eq("reviewer_id", userId);
wrapper.eq("status", REJECTED);
wrapper.orderByDesc("work_day");
List<WorkTimeOrder> workTimeOrders = workTimeOrderMapper.selectList(wrapper);
if (CollectionUtils.isEmpty(workTimeOrders)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_INFO_IS_NULL);
......@@ -592,12 +600,14 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if (0 != user.getLevel()) {
List<ProjectManagerDto> projectManagerDtos = new ArrayList<>();
List<ProjectDto> projectDtos = workProjectService.getByManagerId(userId);
if (!CollectionUtils.isEmpty(projectDtos)) {
ProjectManagerDto projectManagerDto;
for (ProjectDto projectDto : projectDtos) {
projectManagerDto = new ProjectManagerDto();
BeanUtils.copyProperties(projectDto, projectManagerDto);
projectManagerDtos.add(projectManagerDto);
}
}
List<WorkType> WorkTypes = workTypeService.getByManagerId(userId);
ProjectManagerDto projectManagerDto1;
for (WorkType workType : WorkTypes) {
......@@ -632,34 +642,23 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
for (ProjectTypeEnum value : ProjectTypeEnum.values()) {
projectInfoDto = new ProjectInfoDto().setType(value.getType()).setTypeName(value.getTypeName()).setDeptManagerName(deptManagerName);
if (1 == value.getReviewer()) {
if (!CollectionUtils.isEmpty(projectIds)) {
List<ProjectDto> projectDtos = new ArrayList<>();
for (WorkProject project : projects) {
if (project.getType().equals(value.getType())) {
ProjectDto projectDto = new ProjectDto();
BeanUtils.copyProperties(project,projectDto);
BeanUtils.copyProperties(project, projectDto);
projectDto.setManagerName(workUserService.getById(project.getManagerId()).getName());
projectDtos.add(projectDto);
}
}
projectInfoDto.setProjectDto(projectDtos);
projectList.add(projectInfoDto);
}
}
if (!CollectionUtils.isEmpty(projectIds)) {
List<ProjectDto> projectDto1 = new ArrayList<>();
List<ProjectDto> projectDto2 = new ArrayList<>();
WorkProject workProject;
for (Integer projectId : projectIds) {
workProject = workProjectService.getById(projectId);
if (PROJECT.equals(workProject.getType())) {
projectDto1.add(projectToProjectDto(workProject));
}
if (BUSINESS_OPPORTUNITY.equals(workProject.getType())) {
projectDto2.add(projectToProjectDto(workProject));
}
projectList.add(projectInfoDto);
}
}
return projectList;
}
......@@ -834,7 +833,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
dto.setStatus(status);
// 如果是请假或者调休直接通过
if (LEAVE.equals(dto.getType()) || COMPENSATORY_LEAVE.equals(dto.getType())) {
dto.setStatus(APPROVED);
dto.setProjectName(null);
dto.setProjectId(null);
}
......@@ -873,9 +871,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
// 部门经理
if (2 == level) {
System.out.println(type);
types = type == null ? Arrays.asList(5, 6, 7) : new ArrayList<>(Collections.singletonList(type));
System.out.println(types);
workTimeOrders = workTimeOrderMapper.queryByPage(status, null, types);
}
List<WorkTimeOrderDto> workTimeOrderDtos = new ArrayList<>();
......
......@@ -40,29 +40,29 @@ public class Examine {
private WorkCollectService workCollectService;
@Autowired
private WorkSubmitAdoptMapper workSubmitAdoptMapper;
private static WorkSubmitAdoptMapper workSubmitAdoptMapper;
private final static Integer COMPLETED = StatusEnum.COMPLETED.getCode();
private final static Integer RE_SUBMIT = StatusEnum.RE_SUBMIT.getCode();
private final static Integer AUTOMATIC_AUDIT = StatusEnum.AUTOMATIC_AUDIT.getCode();
// 每天凌晨自动审核
@Scheduled(cron = "0 0 0 * * ?")
@Scheduled(cron = "0 0 0 * * ?" )
public void autoExamine() {
log.info("admin[]config[]auto[]Examine[]autoExamine");
// 获取系统默认值
WorkSubmitAdopt workSubmitAdopt = workSubmitAdoptMapper.selectById(1);
Integer autoAdopt = workSubmitAdopt.getAutoAdopt();
Integer autoAdopt = workSubmitAdopt.getSubmitTime();
// 更新work_time_order表
Date yesterdayDate = getAutoExamineDay(autoAdopt);
Date now = DateUtil.getToday();
QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>();
wrapper.in("status", COMPLETED,RE_SUBMIT);
wrapper.in("status", COMPLETED, RE_SUBMIT);
wrapper.le("work_day", yesterdayDate);
List<WorkTimeOrder> workTimeOrders = workTimeOrderMapper.selectList(wrapper);
UpdateWrapper<WorkTimeOrder> wtoWrapper = new UpdateWrapper<>();
wtoWrapper.in("status", COMPLETED,RE_SUBMIT);
wtoWrapper.in("status", COMPLETED, RE_SUBMIT);
wtoWrapper.le("work_day", yesterdayDate);
WorkTimeOrder workTimeOrder1 = new WorkTimeOrder();
workTimeOrder1.setStatus(AUTOMATIC_AUDIT);
......@@ -79,13 +79,13 @@ public class Examine {
public static Date getAutoExamineDay(Integer day) {
day = -(day + 1);
day = -day;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
c.setTime(new Date());
c.add(Calendar.DATE, day);
Date start = c.getTime();
String qyt= format.format(start);
String qyt = format.format(start);
System.out.println(qyt);
return DateUtil.convertStrToDate(qyt, "yyyy-MM-dd");
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment