Commit 695400e5 authored by cq990612's avatar cq990612

优化代码结构

parent 1d32b8f2
......@@ -48,7 +48,7 @@ public enum BASE_RESP_CODE_ENUM {
DELETE_OLD_WORK_ORDER_FAIL("626","删除旧工单数据失败"),
WORK_DAY_THAN_DATE("627","超过3天的工单不能补报"),
DES_NOT_NULL("628","工作简述不能为空"),
WORK_PROJECT_IS_NULL("629","项目为空"),
WORK_PROJECT_IS_NULL("629","项目或商机为空"),
WORK_ORDER_END("630", "该项目暂无待审批工单"),
DEPT_IS_NULL("631","该部门不存在"),
MANAGER_NOT_PROJECT("632","该管理没有可管理的项目"),
......@@ -76,7 +76,11 @@ public enum BASE_RESP_CODE_ENUM {
REPEAT_WITH_OLDTIME("654", "日期与旧时间冲突"),
BUDGET_CANNOT_BELESSTHAN_ZERO("655", "预算不能小于0"),
ITEMOADUPLICATE("656", "项目OA重复"),
NO_AUTHORITY("657","暂无该权限")
NO_AUTHORITY("657", "暂无该权限"),
THEPERIOD_CANNOT_BELESS_THANONEDAY("658", "设置的期限不能小于1天"),
DUPLICATE_HOLIDAY_NAME("659", "节假日名称重复"),
;
......
......@@ -18,4 +18,6 @@ import java.util.List;
public interface WorkHolidayMapper extends BaseMapper<WorkHoliday> {
List<WorkHoliday> getByDate(@Param("startDay") Date startDay,@Param("endDay") Date endDay);
List<WorkHoliday> getByTypeAndStartDate(@Param("type") Integer type,@Param("date") Date date);
}
......@@ -26,5 +26,11 @@
where (year(day_start) = year(#{startDay}) AND month(day_start) = month(#{startDay})) OR
(year(day_end) = year(#{endDay}) AND month(day_end) = month(#{endDay}))
</select>
<select id="getByTypeAndStartDate" resultType="cn.wisenergy.model.app.WorkHoliday">
SELECT <include refid="Base_Column_List"/>
FROM <include refid="table"/>
WHERE year(day_start) = year(#{date}) AND day_type = #{type}
</select>
</mapper>
......@@ -35,6 +35,7 @@
SELECT <include refid="Base_Column_List"/>
FROM work_project_change
WHERE project_id = #{projectId}
ORDER BY modify_time DESC
</select>
</mapper>
......@@ -116,31 +116,47 @@
</where>
</select>
<select id="getManagerProjectsDto" resultType="cn.wisenergy.model.dto.ManagerProjectsDto">
select p.id,p.oa_project_id,p.project_name,p.type,p.create_time,p.is_conclusion,
GROUP_CONCAT(DISTINCT(u.name)) as 'Participants',p.cost_budget,p.work_time,p.start_time,p.end_time,
ROUND(SUM(o.work_time)/8,2) as 'currentLaborCost',ROUND(SUM(o.work_time),2) as 'totalCurrentWorkingHours',
if(now() BETWEEN p.start_time and p.end_time,'否','是') as 'isItOverdue',
if(p.create_time = p.modify_time,'否','是') as 'isThereABudgetChange'
select p.id,p.oa_project_id,p.project_name,p.type,p.create_time,p.is_conclusion,
GROUP_CONCAT(DISTINCT(u.name)) as 'participants',p.cost_budget,p.work_time,p.start_time,p.end_time,
ROUND(SUM(o.work_time)/8,2) as 'currentLaborCost',ROUND(SUM(o.work_time),2) as 'totalCurrentWorkingHours',
if(now() BETWEEN p.start_time and p.end_time,'否','是') as 'isItOverdue',
if(p.create_time = p.modify_time,'否','是') as 'isThereABudgetChange'
from work_project p LEFT JOIN work_time_order o on p.id = o.project_id
LEFT JOIN work_user u on p.manager_id = u.id
<where>
LEFT JOIN work_user_project up ON p.id = up.project_id
LEFT JOIN work_user u on u.id = up.user_id
<where>
<if test="null != userId">
AND p.manager_id = #{userId}
</if>
<if test="null !=type">
AND p.type = #{type}
AND p.type = #{type}
</if>
<if test="null !=isConclusion">
AND p.is_conclusion = #{isConclusion}
</if>
<if test="deptIds != null">
OR p.dept_id IN
OR (p.dept_id IN
<foreach collection="deptIds" item="deptId" separator="," open="(" close=")">
#{deptId}
</foreach>
<if test="null !=isConclusion">
AND p.is_conclusion = #{isConclusion}
</if>
<if test="null !=type">
AND p.type = #{type}
</if>
)
</if>
</where>
GROUP BY p.id
</where>
GROUP BY p.id
</select>
......
......@@ -170,7 +170,7 @@
AND dept_id = #{deptId}
</if>
</where>
ORDER BY work_day DESC
ORDER BY work_day DESC
</select>
<!-- 通用查询结果列 -->
......
......@@ -22,5 +22,5 @@ public interface WorkHolidayService {
Boolean deleteHoliday(Integer id);
HolidayAndAutoDto getHolidayAll(Integer userId);
HolidayAndAutoDto getHoliday(Integer userId);
}
......@@ -55,7 +55,7 @@ public interface WorkTimeOrderService {
* @param status 状态
* @return 自定义dto
*/
PageInfo<WorkTimeOrderDto> getExamine(Integer userId, Integer projectId, Integer type, Integer page, Integer size, Integer status);
PageInfo<WorkTimeOrderDto> getExamine(Integer userId, Integer projectId, Integer type, Integer page, Integer pageSize, Integer status);
/**
* 功能:获取小程序待审批
......
......@@ -70,6 +70,14 @@ public class WorkHolidayServiceImpl implements WorkHolidayService {
public Boolean addHoliday(WorkHoliday workHoliday) {
log.info("WorkHolidayServiceImpl[]addHoliday[]input.param.workHoliday:{}" + workHoliday);
verificationDate(workHoliday);
List<WorkHoliday> holidays = workHolidayMapper.getByTypeAndStartDate(1, new Date());
if (!CollectionUtils.isEmpty(holidays)) {
for (WorkHoliday holiday : holidays) {
if (workHoliday.getDes().equals(holiday.getDes())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DUPLICATE_HOLIDAY_NAME);
}
}
}
if (isItRedundant(workHoliday, null)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.REPEAT_WITH_OLDTIME);
}
......@@ -82,10 +90,22 @@ public class WorkHolidayServiceImpl implements WorkHolidayService {
@Override
public Boolean modifyHoliday(WorkHoliday workHoliday) {
log.info("WorkHolidayServiceImpl[]modifyHoliday[]input.param.workHoliday:{}" + workHoliday);
workHoliday.setDayType(1);
verificationDate(workHoliday);
if (null == workHoliday.getId()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
List<WorkHoliday> holidays = workHolidayMapper.getByTypeAndStartDate(1, new Date());
if (!CollectionUtils.isEmpty(holidays)) {
for (WorkHoliday holiday : holidays) {
if (holiday.getId().equals(workHoliday.getId())) {
continue;
}
if (workHoliday.getDes().equals(holiday.getDes())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DUPLICATE_HOLIDAY_NAME);
}
}
}
WorkHoliday workHolidayById = workHolidayMapper.selectById(workHoliday);
if (null == workHolidayById) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.HOLIDAY_NOT_IS_NULL);
......@@ -113,15 +133,13 @@ public class WorkHolidayServiceImpl implements WorkHolidayService {
}
@Override
public HolidayAndAutoDto getHolidayAll(Integer userId) {
public HolidayAndAutoDto getHoliday(Integer userId) {
log.info("WorkHolidayServiceImpl[]getHolidayAll[]input.param.userId:{}" + userId);
if (!UserRoleLevelUtils.isManagerLevel(userId, LevelEnum.SYSTEMSETTINGS.getLevelName())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN);
}
HolidayAndAutoDto holidayAndAutoDto = new HolidayAndAutoDto();
QueryWrapper<WorkHoliday> wrapper = new QueryWrapper<>();
wrapper.eq("day_type", 1);
List<WorkHoliday> workHolidays = workHolidayMapper.selectList(wrapper);
List<WorkHoliday> workHolidays = workHolidayMapper.getByTypeAndStartDate(1, new Date());
WorkSubmitAdopt submitAdopt = workSubmitAdoptService.getById(1);
holidayAndAutoDto.setWorkHolidays(workHolidays).setWorkSubmitAdopt(submitAdopt);
return holidayAndAutoDto;
......
......@@ -16,12 +16,16 @@ import cn.wisenergy.model.enums.ManagerEnum;
import cn.wisenergy.model.vo.CreateProjectVo;
import cn.wisenergy.model.vo.GetManagerProjectsVo;
import cn.wisenergy.model.vo.ModifyProjectVo;
import cn.wisenergy.service.*;
import cn.wisenergy.service.WorkProjectChangeService;
import cn.wisenergy.service.WorkProjectService;
import cn.wisenergy.service.WorkUserProjectService;
import cn.wisenergy.service.WorkUserService;
import cn.wisenergy.service.utils.UserRoleLevelUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -224,8 +228,8 @@ public class WorkProjectServiceImpl implements WorkProjectService {
int page = gmpv.getPage() == null ? 1 : gmpv.getPage();
int pageSize = gmpv.getPageSize() == null ? 10 : gmpv.getPageSize();
int isConclusion = gmpv.getIsConclusion() == null ? 1 : gmpv.getIsConclusion();
int type = gmpv.getType() == null ? 1 : gmpv.getType();
Integer isConclusion = gmpv.getIsConclusion();
Integer type = gmpv.getType() == null ? 1 : gmpv.getType();
PageHelper.startPage(page, pageSize);
List<ManagerProjectsDto> managerProjectsDto;
......@@ -305,10 +309,11 @@ public class WorkProjectServiceImpl implements WorkProjectService {
// 2.更新表数据
// 更新workProject数据
if (null != modifyProjectVo.getStartTimeReason() ||
null != modifyProjectVo.getEndTimeReason() ||
null != modifyProjectVo.getWorkTimeReason() ||
null != modifyProjectVo.getCostBudgetReason()) {
if (!StringUtils.isBlank(modifyProjectVo.getStartTimeReason()) ||
!StringUtils.isBlank(modifyProjectVo.getEndTimeReason()) ||
!StringUtils.isBlank(modifyProjectVo.getWorkTimeReason()) ||
!StringUtils.isBlank(modifyProjectVo.getCostBudgetReason())
) {
int i = workProjectMapper.updateProject(modifyProjectVo);
if (i == 0) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.UPDATE_DATA_FAIL);
......@@ -319,7 +324,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
WorkProjectChange workProjectChange = new WorkProjectChange();
workProjectChange.setProjectId(modifyProjectVo.getProjectId());
workProjectChange.setModifyTime(new Date());
if (null != modifyProjectVo.getStartTimeReason()) {
if (!StringUtils.isBlank(modifyProjectVo.getStartTimeReason())) {
workProjectChange.setChangeType(3);
workProjectChange.setModifyBefore(DateUtil.convertDateToStr(modifyProjectVo.getStartTime(),"yyyy-MM-dd"));
workProjectChange.setModifyAfter(DateUtil.convertDateToStr(modifyProjectVo.getStartTime(),"yyyy-MM-dd"));
......@@ -329,7 +334,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
if (null != modifyProjectVo.getEndTime()) {
workProjectChange.setChangeType(4);
workProjectChange.setModifyBefore(DateUtil.convertDateToStr(modifyProjectVo.getEndTime(),"yyyy-MM-dd"));
workProjectChange.setModifyAfter(modifyProjectVo.getEndTime().toString());
workProjectChange.setModifyAfter(DateUtil.convertDateToStr(modifyProjectVo.getEndTime(),"yyyy-MM-dd"));
workProjectChange.setReason(modifyProjectVo.getEndTimeReason());
workProjectChanges.add(workProjectChange);
}
......@@ -424,24 +429,43 @@ public class WorkProjectServiceImpl implements WorkProjectService {
*/
private void verificationItem(ModifyProjectVo modifyProjectVo, WorkProject workProject, List<Integer> userIds) {
if (null != modifyProjectVo.getStartTime()) {
if (null == modifyProjectVo.getStartTimeReason()) {
if (StringUtils.isBlank(modifyProjectVo.getStartTimeReason())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.REASON_CANNOT_BE_EMPTY);
}
if (null == modifyProjectVo.getEndTime()) {
if (modifyProjectVo.getStartTime().compareTo(workProject.getEndTime()) > 0) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.START_NOT_THAN_END_DATE);
}
}else{
if (modifyProjectVo.getStartTime().compareTo(modifyProjectVo.getEndTime()) > 0) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.START_NOT_THAN_END_DATE);
}
}
if (workProject.getStartTime().compareTo(modifyProjectVo.getStartTime()) == 0) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.theNewContent_IsEqual_ToTheOriginal_Content);
}
}
if (null != modifyProjectVo.getEndTime()) {
if (null == modifyProjectVo.getEndTimeReason()) {
if (StringUtils.isBlank(modifyProjectVo.getEndTimeReason())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.REASON_CANNOT_BE_EMPTY);
}
if (null != modifyProjectVo.getStartTime()) {
if (modifyProjectVo.getStartTime().compareTo(modifyProjectVo.getEndTime()) > 0) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.START_NOT_THAN_END_DATE);
}
}else{
if (workProject.getStartTime().compareTo(modifyProjectVo.getEndTime()) > 0) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.START_NOT_THAN_END_DATE);
}
}
if (workProject.getEndTime().compareTo(modifyProjectVo.getEndTime()) == 0) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.theNewContent_IsEqual_ToTheOriginal_Content);
}
}
if (null != modifyProjectVo.getCostBudget()) {
if (null == modifyProjectVo.getCostBudget()) {
if (StringUtils.isBlank(modifyProjectVo.getCostBudgetReason())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.REASON_CANNOT_BE_EMPTY);
}
if (workProject.getCostBudget().equals(modifyProjectVo.getCostBudget())) {
......@@ -449,7 +473,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
}
}
if (null != modifyProjectVo.getWorkTime()) {
if (null == modifyProjectVo.getWorkTime()) {
if (StringUtils.isBlank( modifyProjectVo.getWorkTimeReason())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.REASON_CANNOT_BE_EMPTY);
}
if (workProject.getWorkTime().equals(modifyProjectVo.getWorkTime())) {
......
......@@ -55,6 +55,9 @@ public class WorkSubmitAdoptServiceImpl implements WorkSubmitAdoptService {
if (null == workSubmitAdopt1) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.QUERY_DATA_IS_NULL);
}
if (workSubmitAdopt.getAutoExamine() < 1 || workSubmitAdopt.getSubmitTime() <1) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.THEPERIOD_CANNOT_BELESS_THANONEDAY);
}
workSubmitAdopt.setAutoAdopt(1);
workSubmitAdopt.setId(1);
int i = workSubmitAdoptMapper.updateById(workSubmitAdopt);
......
......@@ -349,13 +349,13 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
* @return 自定义dto
*/
@Override
public PageInfo<WorkTimeOrderDto> getExamine(Integer userId, Integer projectId, Integer type, Integer page, Integer size, Integer status) {
log.info("WorkOrderServiceImpl[]getExamine[]input.param.userId:{},projectId:{},type:{},page:{},size:{},status:{}" + userId, projectId, type, page, size, status);
public PageInfo<WorkTimeOrderDto> getExamine(Integer userId, Integer projectId, Integer type, Integer page, Integer pageSize, Integer status) {
log.info("WorkOrderServiceImpl[]getExamine[]input.param.userId:{},projectId:{},type:{},page:{},size:{},status:{}" + userId, projectId, type, page, pageSize, status);
// 判断当前用户是否是管理员
isManager(userId);
WorkUser user = workUserService.getById(userId);
// PC端
return pageExamine(user, projectId, type, page, size, status);
return pageExamine(user, projectId, type, page, pageSize, status);
}
/**
......@@ -749,18 +749,19 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
// 审批分页
private PageInfo<WorkTimeOrderDto> pageExamine(WorkUser user, Integer projectId, Integer type, Integer page, Integer size, Integer status) {
log.info("WorkOrderServiceImpl[]pageExamine[]input.param.user:{},projectId:{},type:{},page:{},size:{},status:{}" + user, projectId, type, page, size, status);
private PageInfo<WorkTimeOrderDto> pageExamine(WorkUser user, Integer projectId, Integer type, Integer page, Integer pageSize, Integer status) {
log.info("WorkOrderServiceImpl[]pageExamine[]input.param.user:{},projectId:{},type:{},page:{},pageSize:{},status:{}" + user, projectId, type, page, pageSize, status);
page = page == null ? 1 : page;
size = size == null ? 10 : size;
pageSize = pageSize == null ? 10 : pageSize;
if (null == projectId && null == type) {
List<ProjectManagerDto> projectManagerDto = getProjectDto(user.getId()).getProjectManagerDto();
projectId = projectManagerDto.get(0).getId();
type = projectManagerDto.get(0).getType();
}
Page<WorkTimeOrderDto> pageHelper = PageHelper.startPage(page, size);
Page<WorkTimeOrderDto> pageHelper = null;
List<WorkTimeOrder> workTimeOrders = null;
if (UserRoleLevelUtils.isManagerLevel(user.getId(), LevelEnum.EXAMINE.getLevelName())) {
pageHelper = PageHelper.startPage(page, pageSize);
Integer deptId = user.getDeptId();
workTimeOrders = workTimeOrderMapper.queryByPage(status, projectId, type, deptId);
}
......
......@@ -74,7 +74,7 @@ public class SystemController extends BaseController {
@GetMapping("/getHolidayAndAuto")
public Result<HolidayAndAutoDto> getHolidayAndAuto(Integer userId) {
log.info("SystemController[]getHolidayAndAuto[]input.param.userId:{}" + userId);
HolidayAndAutoDto holidayAll = workHolidayService.getHolidayAll(userId);
HolidayAndAutoDto holidayAll = workHolidayService.getHoliday(userId);
return getResult(holidayAll);
}
......
......@@ -79,12 +79,12 @@ public class WorkTimeOrderController extends BaseController {
@ApiImplicitParam(name = "status", value = "PC端审批状态", dataType = "int"),
})
@GetMapping(value = "/getExamine")
public Result<PageInfo<WorkTimeOrderDto>> getExamine(Integer userId, Integer projectId, Integer type, Integer page, Integer size, Integer status) {
log.info("WorkTimeOrderController[]getExamine[]input.param.userId:{},projectId:{},type:{},page:{},size:{},status:{}" + userId, projectId, type, page, size, status);
public Result<PageInfo<WorkTimeOrderDto>> getExamine(Integer userId, Integer projectId, Integer type, Integer page, Integer pageSize, Integer status) {
log.info("WorkTimeOrderController[]getExamine[]input.param.userId:{},projectId:{},type:{},page:{},pageSize:{},status:{}" + userId, projectId, type, page, pageSize, status);
if (null == userId) {
throw new CustomException(RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
PageInfo<WorkTimeOrderDto> examine = workTimeOrderService.getExamine(userId, projectId, type, page, size, status);
PageInfo<WorkTimeOrderDto> examine = workTimeOrderService.getExamine(userId, projectId, type, page, pageSize, status);
return getResult(examine);
}
......
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