Commit 641f02bd authored by cq990612's avatar cq990612

优化代码结构

parent b3cd19af
......@@ -19,7 +19,7 @@ public interface WorkCollectMapper extends BaseMapper<WorkCollect> {
List<CalendarDto> getWorkMonth(Integer userId, Date workMonth);
int inserWorkCollect(WorkCollect workCollect);
int insertWorkCollect(WorkCollect workCollect);
int updateStatusOrTotalTime(Integer id, Integer status, Integer totalTime);
}
......@@ -32,7 +32,7 @@
<sql id="CalendarDto_List" >
user_id, work_day,status
</sql>
<insert id="inserWorkCollect">
<insert id="insertWorkCollect">
INSERT INTO
<include refid="table"/>
(<include refid="cols_exclude_id"/>)
......
......@@ -50,6 +50,13 @@ public interface WorkCollectService {
*/
WorkCollect getByUserIdAndWorkDay(Integer userId, Date workDay);
/**
*
* 功能:修改某日的审批工时情况
* @param workCollect 实体类
* @return 是否成功
*/
Boolean update(WorkCollect workCollect);
}
......@@ -14,7 +14,8 @@ public interface WorkSubmitAdoptService {
/**
* 功能: 获取自动审批和默认填报限制
* @param id 用户id
*
* @param id id
* @return WorkSubmitAdopt
*/
WorkSubmitAdopt getById(Integer id);
......
......@@ -83,7 +83,7 @@ public interface WorkTimeOrderService {
* @param ids 工单
* @return 是否成功
*/
Boolean examinsByIds(Integer reviewerId, List<Integer> ids);
Boolean examineByIds(Integer reviewerId, List<Integer> ids);
/**
* 功能: 驳回
......
......@@ -16,9 +16,10 @@ public interface WorkUserProjectService {
/**
* 功能:根据userId获取项目id
* @param userId
* @return
* @param userId 用户id
* @return 项目id
*/
List<Integer> getProjectIdByUserId(Integer userId);
List<WorkProject> getUserManageProject(Integer userId);
}
......@@ -90,7 +90,7 @@ public class WorkCollectServiceImpl implements WorkCollectService {
if (null == workCollect) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
int insertRow = workCollectMapper.inserWorkCollect(workCollect);
int insertRow = workCollectMapper.insertWorkCollect(workCollect);
if (insertRow == 0) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INSERT_DATA_IS_FAIL);
}
......@@ -120,6 +120,12 @@ public class WorkCollectServiceImpl implements WorkCollectService {
return workCollect;
}
/**
*
* 功能:修改某日的审批工时情况
* @param workCollect 实体类
* @return 是否成功
*/
@Override
public Boolean update(WorkCollect workCollect) {
log.info("WorkCollectServiceImpl[]getByUserIdAndWorkDay[]input.param.workCollect:{}, " + workCollect);
......
......@@ -44,10 +44,10 @@ public class WorkDeptServiceImpl implements WorkDeptService {
public List<WorkDept> getDeptInfo(Integer deptId) {
log.info("WorkDeptServiceImpl[]getAllDeptInfo" + deptId);
//获取部门信息
List<WorkDept> workDepts = workDeptMapper.getDeptById(deptId);
if (CollectionUtil.isEmpty(workDepts)) {
List<WorkDept> workDept = workDeptMapper.getDeptById(deptId);
if (CollectionUtil.isEmpty(workDept)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DEPT_NOT_FOUND);
}
return workDepts;
return workDept;
}
}
......@@ -6,7 +6,6 @@ import cn.wisenergy.service.WorkHolidayService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
......@@ -38,16 +37,12 @@ public class WorkHolidayServiceImpl implements WorkHolidayService {
return true;
}
}
if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY ||
calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY
) {
return true;
}
return calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY ||
calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY;
return false;
}
// 获取某时间段内的所有日期
/* // 获取某时间段内的所有日期
public List<Date> findDates(Date dBegin, Date dEnd) {
List<Date> lDate = new ArrayList<>();
lDate.add(dBegin);
......@@ -65,9 +60,9 @@ public class WorkHolidayServiceImpl implements WorkHolidayService {
}
return lDate;
}
*/
// 判断某个时间是否在时间段内
public static boolean yearMonthBetween(Date nowDate, Date startDate, Date endDate) {
private static boolean yearMonthBetween(Date nowDate, Date startDate, Date endDate) {
long nowTime = nowDate.getTime();
long startTime = startDate.getTime();
......
......@@ -41,8 +41,8 @@ public class WorkProjectServiceImpl implements WorkProjectService {
/**
* 功能:根据项目id获取项目
*
* @param id
* @return
* @param id 项目id
* @return WorkProject
*/
@Override
public WorkProject getById(Integer id) {
......@@ -64,21 +64,17 @@ public class WorkProjectServiceImpl implements WorkProjectService {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
List<WorkProject> workProjects = workProjectMapper.selectBatchIds(ids);
ArrayList<ProjectDto> list = new ArrayList<>();
for (WorkProject workProject : workProjects) {
ProjectDto projectDto = new ProjectDto();
BeanUtils.copyProperties(workProject, projectDto);
list.add(projectDto);
if (CollectionUtils.isEmpty(workProjects)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.MANAGER_NOT_PROJECT);
}
return list;
return workProjectToDto(workProjects);
}
/**
* 功能: 查询当前用户所管理的项目
*
* @param id
* @return
* @param id 用户id
* @return dto
*/
@Override
public List<ProjectDto> getByManagerId(Integer id) {
......@@ -93,6 +89,11 @@ public class WorkProjectServiceImpl implements WorkProjectService {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.MANAGER_NOT_PROJECT);
}
return workProjectToDto(workProjects);
}
// WorkProject转ProjectDto
private List<ProjectDto> workProjectToDto(List<WorkProject> workProjects) {
List<ProjectDto> projectDtos = new ArrayList<>();
for (WorkProject workProject : workProjects) {
......@@ -104,7 +105,6 @@ public class WorkProjectServiceImpl implements WorkProjectService {
return projectDtos;
}
@Override
public List<WorkProject> getUserManageProjects(Integer userId) {
log.info("WorkProjectServiceImpl[]getUserManageProjects[]input.param" + userId);
......@@ -114,15 +114,18 @@ public class WorkProjectServiceImpl implements WorkProjectService {
WorkUser user = workUserService.getById(userId);
List<WorkProject> workProjects = new ArrayList<>();
HashMap<String, Object> map = new HashMap<>();
if (user.getLevel() == ManagerEnum.IS_PROJECT_DIRECTOR.getCode()) {
Integer level = user.getLevel();
if (level.equals(ManagerEnum.IS_PROJECT_DIRECTOR.getCode())) {
map.put("managerId", userId);
workProjects = workProjectMapper.getProjectsByCriteria(map);
}
//用户是部门级别,查询该部门下的所有项目
if (user.getLevel() == ManagerEnum.IS_DEPARTMENT_DIRECTOR.getCode()) {
if (level.equals(ManagerEnum.IS_DEPARTMENT_DIRECTOR.getCode())) {
map.put("deptId", user.getDeptId());
workProjects = workProjectMapper.getProjectsByCriteria(map);
}
return workProjects;
}
}
......@@ -26,8 +26,8 @@ public class WorkSubmitAdoptServiceImpl implements WorkSubmitAdoptService {
/**
* 功能: 获取自动审批和默认填报限制
*
* @param id
* @return
* @param id id
* @return WorkSubmitAdopt
*/
@Override
public WorkSubmitAdopt getById(Integer id) {
......
......@@ -80,11 +80,11 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if (null == userId || StringUtils.isEmpty(workDay)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
List<WorkTimeOrder> wtos = workTimeOrderMapper.getByDay(userId, workDay);
if (CollectionUtils.isEmpty(wtos)) {
List<WorkTimeOrder> workTimeOrders = workTimeOrderMapper.getByDay(userId, workDay);
if (CollectionUtils.isEmpty(workTimeOrders)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_INFO_IS_NULL);
}
return wtos;
return workTimeOrders;
}
/**
......@@ -106,15 +106,18 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_INFO_IS_NULL);
}
SubtotalDto subtotalDto = new SubtotalDto();
// 今日总工时
int totalTime = 0;
// 被驳回原因
String reason = "";
// 今日被驳回次数
int rejectMonth = 0;
subtotalDto.setUserId(userId);
subtotalDto.setWorkDay(workDay);
for (WorkTimeOrder wto : workTimeOrders) {
totalTime += wto.getWorkTime();
if (null != wto.getReason()) {
reason = wto.getProjectName() + ":" + wto.getReason() + " ";
reason = wto.getProjectName() + ":" + wto.getReason() + ";";
}
if (3 == wto.getStatus()) {
rejectMonth += 1;
......@@ -136,11 +139,11 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
@Override
public List<WorkTimeOrderDto> getByDayToDto(Integer userId, Date workDay) {
log.info("WorkTimeOrderServiceImpl[]getByDayToDto[]input.param.userId:{},workDay:{}" + userId, workDay);
List<WorkTimeOrder> wtos = getByDay(userId, workDay);
if (CollectionUtils.isEmpty(wtos)) {
List<WorkTimeOrder> workTimeOrders = getByDay(userId, workDay);
if (CollectionUtils.isEmpty(workTimeOrders)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_INFO_IS_NULL);
}
return wtoToWtod(wtos);
return wtoToWtod(workTimeOrders);
}
/**
......@@ -188,52 +191,14 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
count += orderDto.getWorkTime();
}
timeNotEight(count, workTimeOrders);
WorkSubmitAdopt workSubmitAdopt = workSbumitAdoptService.getById(1);
Integer submitTime = workSubmitAdopt.getSubmitTime();
for (WorkTimeOrderDto workTimeOrderDto : workTimeOrders) {
if (null == workTimeOrderDto.getDes()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DES_NOT_NULL);
}
WorkTimeOrder order = workTimeOrderMapper.selectById(workTimeOrderDto.getWorkId());
if (order.getWorkDay().compareTo(workTimeOrderDto.getWorkDay()) != 0) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DATE_IS_ERROR);
}
Date modifyTime = order.getModifyTime();
// 判断是否已经驳回三天
if (new Date().getTime() - DateUtil.getStartOfDay(modifyTime).getTime() > submitTime * 24 * 60 * 60 * 1000) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_DAY_THAN_DATE);
}
WorkTimeOrder workTimeOrder = new WorkTimeOrder();
BeanUtils.copyProperties(workTimeOrderDto, workTimeOrder);
workTimeOrder.setStatus(4);
// 获取用户名
workTimeOrder.setUserName(workUserService.getById(workTimeOrder.getUserId()).getName());
// 获取项目名
if (1 == workTimeOrder.getType() || 2 == workTimeOrder.getType()) {
workTimeOrder.setProjectName(workProjectService.getById(workTimeOrder.getProjectId()).getProjectName());
}
// 获取部门id
Integer deptIdByUserId = workUserDeptService.getDeptIdByUserId(workTimeOrder.getUserId());
workTimeOrder.setDeptId(deptIdByUserId);
Date workDay = workTimeOrder.getWorkDay();
// 默认正常工时
workTimeOrder.setIsOvertime(0);
if (workHolidayService.isHoliday(workDay)) {
workTimeOrder.setIsOvertime(1);
}
int iRow = workTimeOrderMapper.updateById(workTimeOrder);
if (0 == iRow) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.UPDATE_DATA_FAIL);
}
WorkCollect workCollect = new WorkCollect();
BeanUtils.copyProperties(workTimeOrder, workCollect);
workCollect.setStatus(1);
workCollect.setTotalTime(workTimeOrderDto.getWorkTime());
workCollectService.update(workCollect);
}
// 更新数据
reSubmit(workTimeOrders);
return dto.getWorkTimeOrders();
}
/**
* 功能:获取待审批数据
*
......@@ -281,8 +246,8 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
*/
@Transactional
@Override
public Boolean examinsByIds(Integer reviewerId, List<Integer> ids) {
log.info("WorkOrderServiceImpl[]examinsByIds[]input.param.ids:" + ids);
public Boolean examineByIds(Integer reviewerId, List<Integer> ids) {
log.info("WorkOrderServiceImpl[]examineByIds[]input.param.ids:" + ids);
if (CollectionUtils.isEmpty(ids)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
......@@ -448,6 +413,53 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
return -1 == i;
}
// 驳回重新填报
private void reSubmit(List<WorkTimeOrderDto> workTimeOrders) {
WorkSubmitAdopt workSubmitAdopt = workSbumitAdoptService.getById(1);
Integer submitTime = workSubmitAdopt.getSubmitTime();
for (WorkTimeOrderDto workTimeOrderDto : workTimeOrders) {
if (null == workTimeOrderDto.getDes()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DES_NOT_NULL);
}
WorkTimeOrder order = workTimeOrderMapper.selectById(workTimeOrderDto.getWorkId());
if (order.getWorkDay().compareTo(workTimeOrderDto.getWorkDay()) != 0) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DATE_IS_ERROR);
}
Date modifyTime = order.getModifyTime();
// 判断是否已经驳回三天
if (new Date().getTime() - DateUtil.getStartOfDay(modifyTime).getTime() > submitTime * 24 * 60 * 60 * 1000) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_DAY_THAN_DATE);
}
WorkTimeOrder workTimeOrder = new WorkTimeOrder();
BeanUtils.copyProperties(workTimeOrderDto, workTimeOrder);
workTimeOrder.setStatus(4);
// 获取用户名
workTimeOrder.setUserName(workUserService.getById(workTimeOrder.getUserId()).getName());
// 获取项目名
if (1 == workTimeOrder.getType() || 2 == workTimeOrder.getType()) {
workTimeOrder.setProjectName(workProjectService.getById(workTimeOrder.getProjectId()).getProjectName());
}
// 获取部门id
Integer deptIdByUserId = workUserDeptService.getDeptIdByUserId(workTimeOrder.getUserId());
workTimeOrder.setDeptId(deptIdByUserId);
Date workDay = workTimeOrder.getWorkDay();
// 默认正常工时
workTimeOrder.setIsOvertime(0);
if (workHolidayService.isHoliday(workDay)) {
workTimeOrder.setIsOvertime(1);
}
int iRow = workTimeOrderMapper.updateById(workTimeOrder);
if (0 == iRow) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.UPDATE_DATA_FAIL);
}
WorkCollect workCollect = new WorkCollect();
BeanUtils.copyProperties(workTimeOrder, workCollect);
workCollect.setStatus(1);
workCollect.setTotalTime(workTimeOrder.getWorkTime());
workCollectService.update(workCollect);
}
}
private List<WorkTimeOrderDto> saveWorkOrderInfo(List<WorkTimeOrderDto> list) {
log.info("WorkOrderServiceImpl[]saveWorkOrderInfo[]input.method");
int totalTime = 0;
......@@ -461,12 +473,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if ((1 == dto.getType() || 2 == dto.getType()) && null == dto.getProjectId()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.NO_JOIN_EVERY_PROJECT_PLASE_JION);
}
if (null != dto.getProjectId()) {
dto.setProjectName(workProjectService.getById(dto.getProjectId()).getProjectName());
}
if (null == dto.getProjectId()) {
dto.setProjectName(getTypeName(dto.getType()));
}
dto.setProjectName(null!=dto.getProjectId()?workProjectService.getById(dto.getProjectId()).getProjectName():getTypeName(dto.getType()));
BeanUtils.copyProperties(dto, workTimeOrder);
......
......@@ -41,6 +41,7 @@ public class WorkUserDeptServiceImpl implements WorkUserDeptService {
if (null == workUserDept) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DEPT_NOT_HAVE_USER);
}
Integer deptId = workUserDept.getDeptId();
if (null == deptId) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DEPT_NOT_HAVE_USER);
......
......@@ -43,8 +43,8 @@ public class WorkUserProjectServiceImpl implements WorkUserProjectService {
/**
* 功能:根据userId获取项目id
*
* @param userId
* @return
* @param userId 用户id
* @return 项目id
*/
@Override
public List<Integer> getProjectIdByUserId(Integer userId) {
......@@ -73,23 +73,23 @@ public class WorkUserProjectServiceImpl implements WorkUserProjectService {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
WorkUser user = workUserService.getById(userId);
if (user.getLevel() != ManagerEnum.IS_PROJECT_DIRECTOR.getCode() || user.getLevel() != ManagerEnum.IS_DEPARTMENT_DIRECTOR.getCode()) {
Integer level = user.getLevel();
if (!level.equals(ManagerEnum.IS_PROJECT_DIRECTOR.getCode()) || !level.equals(ManagerEnum.IS_DEPARTMENT_DIRECTOR.getCode())) {
return null;
}
QueryWrapper<WorkProject> wrapper = new QueryWrapper<>();
//项目负责人查看管理项目
if (user.getLevel() == ManagerEnum.IS_PROJECT_DIRECTOR.getCode()) {
if (level.equals(ManagerEnum.IS_PROJECT_DIRECTOR.getCode())) {
wrapper.eq("manager_id", user.getId());
}
//部门负责人查看部门项目
if (user.getLevel() == ManagerEnum.IS_DEPARTMENT_DIRECTOR.getCode()) {
if (level.equals(ManagerEnum.IS_DEPARTMENT_DIRECTOR.getCode())) {
wrapper.eq("dept_id", user.getDeptId());
}
//项目未结
wrapper.eq("is_conclusion", 0);
//查询
List<WorkProject> workProjects = workProjectMapper.selectList(wrapper);
return workProjects;
return workProjectMapper.selectList(wrapper);
}
}
......@@ -62,8 +62,7 @@ public class WorkUserServiceImpl implements WorkUserService {
QueryWrapper<WorkUser> wrapper = new QueryWrapper<>();
wrapper.eq("level", 2);
wrapper.in("id", ids);
WorkUser workUser = workUserMapper.selectOne(wrapper);
return workUser;
return workUserMapper.selectOne(wrapper);
}
......@@ -108,13 +107,12 @@ public class WorkUserServiceImpl implements WorkUserService {
}
//如果登录来源是PC,判断用户是不是管理员
if (LOGIN_SOURCE.equals(source)) {
if (user.getLevel() == ManagerEnum.NOT_MANAGER.getCode()) {
if (user.getLevel().equals(ManagerEnum.NOT_MANAGER.getCode())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN);
}
}
//将用户对象转换为dto
ResultUser resultUser = getResultUser(user);
return resultUser;
return getResultUser(user);
}
@Override
......@@ -134,7 +132,7 @@ public class WorkUserServiceImpl implements WorkUserService {
}
//获取用户传输实体
public ResultUser getResultUser(WorkUser workUser) {
private ResultUser getResultUser(WorkUser workUser) {
log.info("WorkUSerServiceImpl[]getResultUser[]input.method");
ResultUser resultUser = new ResultUser();
try {
......
......@@ -19,10 +19,7 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import java.util.List;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@RestController
@RequestMapping(value = "/work/collect")
@Api(tags = "小程序工单日历模块")
......
......@@ -125,13 +125,13 @@ public class WorkTimeOrderController extends BaseController {
@ApiOperation(value = "单个或批量审批", notes = "单个或批量审批", httpMethod = "GET")
@ApiImplicitParams({//@ApiImplicitParam(name = "ids", value = "工单id", dataType = "list", required = true),
@ApiImplicitParam(name = "reviewerId", value = "审核人id", dataType = "int", required = true)})
@GetMapping(value = "/examins")
public Result<Boolean> examinsByIds(Integer reviewerId,@RequestParam List<Integer> ids) {
@GetMapping(value = "/examine")
public Result<Boolean> examineByIds(Integer reviewerId,@RequestParam List<Integer> ids) {
log.info("WorkTimeOrderController[]examinsByIds[]input.param.reviewerId:{},ids:{}" + reviewerId, ids);
if (null == reviewerId || CollectionUtils.isEmpty(ids)) {
throw new CustomException(RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
Boolean aBoolean = workTimeOrderService.examinsByIds(reviewerId, ids);
Boolean aBoolean = workTimeOrderService.examineByIds(reviewerId, ids);
return getResult(aBoolean);
}
......
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