提交 e73dcfb1 authored 作者: 任建彩's avatar 任建彩

更新

上级 63b54ffa
package com.zrqx.olive.personnel.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.common.CommonPage;
import com.common.CommonResult;
import com.common.PageParamRequest;
import com.zrqx.olive.personnel.request.PersonnelRequest;
import com.zrqx.olive.personnel.request.StatisticsTaskTime;
import com.zrqx.olive.ttask.request.TaskRequest;
import com.zrqx.olive.ttask.service.TaskService;
import com.zrqx.olive.ttask.vo.TaskVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@RestController
@RequestMapping("api/admin/personnel")
@Api(tags = "人员管理")
public class PersonnelController {
@Autowired
private TaskService taskService;
@ApiOperation(value = "在职人员列表")
@RequestMapping(value = "/list", method = RequestMethod.GET)
public CommonResult<CommonPage<StatisticsTaskTime>> getPersonnelList(@Validated PersonnelRequest taskRequest,
@Validated PageParamRequest pageParamRequest) {
return CommonResult.success(CommonPage.restPage(taskService.getPersonnelList(taskRequest, pageParamRequest)));
}
}
package com.zrqx.olive.personnel.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.common.CommonResult;
import com.zrqx.olive.personnel.request.SaveOrUpdateLevelForm;
import com.zrqx.olive.personnel.service.UserTaskLevelService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@RestController
@RequestMapping("/level")
@Api("基准工时")
public class UserLevelController {
@Autowired
private UserTaskLevelService service;
@ApiOperation(value = "人员-工时统计修改/添加基础工时")
@PostMapping("/saveOrUpdate/level")
public CommonResult<Boolean> saveOrUpdate(@RequestBody SaveOrUpdateLevelForm form){
return CommonResult.success(service.saveOrUpdate(form));
}
}
package com.zrqx.olive.personnel.dao;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zrqx.olive.personnel.model.UserTaskLevel;
import com.zrqx.olive.personnel.request.QueryLevelForm;
/**
* 后台管理员表 Mapper 接口
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public interface UserTaskLevelDao extends BaseMapper<UserTaskLevel> {
@Select("<script>"
+ " select id from zt_user where realname = #{name} "
+ "</script>")
Integer selectUserId(@Param("name") String name);
@Select("<script>"
+ " select sum(level) from user_info where 1=1 "
+ " eq(name,form.name) "
+ "<if test = 'form.startTime!=null'>"
+ " AND createTime &gt;= concat(#{form.startTime}) "
+ "</if>"
+ "<if test = 'form.endTime!=null'>"
+ " AND createTime &lt;= concat(#{form.endTime}) "
+ "</if>"
+ "</script>")
Integer getSumLevel(@Param("form") QueryLevelForm form);
}
package com.zrqx.olive.personnel.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("user_task_level")
@ApiModel(value="UserTaskLevel对象", description="基础工时表")
public class UserTaskLevel {
@ApiModelProperty(value = "后台管理员表ID")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty("userId")
private Integer userId;
@ApiModelProperty("用户名")
private String name;
@ApiModelProperty("标准工时")
private Integer level;
@ApiModelProperty("创建时间年月")
private String createTime;
}
package com.zrqx.olive.personnel.request;
import java.io.Serializable;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "PersonnelRequest对象", description = "人员管理表")
public class PersonnelRequest implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "部门名称")
private String departmentName;
@ApiModelProperty(value = "成员名称")
private String userName;
@ApiModelProperty(value = "开始日期")
private String startTime;
@ApiModelProperty(value = "结束日期")
private String endTime;
@ApiModelProperty(value = "人员类型 1在职 2离职" )
private String isType;
}
package com.zrqx.olive.personnel.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("QueryLevelForm")
public class QueryLevelForm {
@ApiModelProperty("开始时间")
private String startTime;
@ApiModelProperty("结束时间")
private String endTime;
@ApiModelProperty("用户名称")
private String name;
}
package com.zrqx.olive.personnel.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("SaveOrUpdateLevelForm")
public class SaveOrUpdateLevelForm {
@ApiModelProperty("用户名")
private String name;
@ApiModelProperty("标准工时")
private Integer level;
@ApiModelProperty("创建时间年月")
private String createTime;
}
package com.zrqx.olive.personnel.request;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "StatisticsTaskTime对象", description = "人员管理表")
public class StatisticsTaskTime {
@ApiModelProperty("id,新增时不需要填写")
private Integer id;
@ApiModelProperty(value = "部门id")
private Integer departmentId;
@ApiModelProperty(value = "部门名称")
private Integer departmentName;
@ApiModelProperty("最终工时")
private BigDecimal totalTime;
@ApiModelProperty("工时基准量")
private Integer taskLevel;
}
package com.zrqx.olive.personnel.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zrqx.olive.personnel.model.UserTaskLevel;
import com.zrqx.olive.personnel.request.QueryLevelForm;
import com.zrqx.olive.personnel.request.SaveOrUpdateLevelForm;
/**
* SystemAdminService 接口
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public interface UserTaskLevelService extends IService<UserTaskLevel> {
Boolean saveOrUpdate(SaveOrUpdateLevelForm form);
Integer getSumLevel(QueryLevelForm form);
}
package com.zrqx.olive.personnel.service.impl;
import java.util.List;
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.utils.ArrayUtils;
import com.zrqx.olive.personnel.dao.UserTaskLevelDao;
import com.zrqx.olive.personnel.model.UserTaskLevel;
import com.zrqx.olive.personnel.request.QueryLevelForm;
import com.zrqx.olive.personnel.request.SaveOrUpdateLevelForm;
import com.zrqx.olive.personnel.service.UserTaskLevelService;
/**
* SystemAdminServiceImpl 接口实现
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Service
public class UserTaskLevelServiceImpl extends ServiceImpl<UserTaskLevelDao, UserTaskLevel> implements UserTaskLevelService {
@Resource
private UserTaskLevelDao mapper;
@Override
public Boolean saveOrUpdate(SaveOrUpdateLevelForm form) {
// 查看该用户在基准工时表中是否存在 添加或修改
QueryWrapper<UserTaskLevel> qw = new QueryWrapper<UserTaskLevel>();
if(StringUtils.isNoneBlank(form.getName())) {
qw.eq("name", form.getName());
}
if(StringUtils.isNoneBlank(form.getCreateTime())) {
qw.eq("create_time", form.getCreateTime());
}
List<UserTaskLevel> list = mapper.selectList(qw);
if (ArrayUtils.empty(list)) {//不存在,添加
Integer userId = mapper.selectUserId(form.getName());
UserTaskLevel ul = new UserTaskLevel();
BeanUtils.copyProperties(form, ul);
ul.setUserId(userId);
mapper.insert(ul);
}else {//存在,修改(不考虑同名同姓)
UserTaskLevel ul = mapper.selectOne(qw);
BeanUtils.copyProperties(form, ul);
ul.setLevel(form.getLevel());
mapper.updateById(ul);
}
return true;
}
@Override
public Integer getSumLevel(QueryLevelForm form) {
return mapper.getSumLevel(form);
}
}
......@@ -2,6 +2,7 @@ package com.zrqx.olive.project.controller;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -66,9 +67,12 @@ public class CustomerController {
}
@ApiOperation(value = "查询全部客户" , notes ="查询全部客户")
@RequestMapping(value = "/list", method = RequestMethod.GET)
public CommonResult<List<Customer>> queryList(){
public CommonResult<List<Customer>> queryList(String customer){
QueryWrapper<Customer> qw = new QueryWrapper<Customer>();
qw.orderByDesc("px");
if(StringUtils.isNotBlank(customer)) {
qw.like("customer", customer);
}
List<Customer> list = service.list(qw);
return CommonResult.success(list);
}
......
......@@ -19,15 +19,16 @@ import com.common.CheckAdminToken;
import com.common.CommonPage;
import com.common.CommonResult;
import com.common.PageParamRequest;
import com.github.pagehelper.PageInfo;
import com.utils.excelutil.BaseException;
import com.zrqx.olive.project.model.ProjectRecord;
import com.zrqx.olive.project.model.ProjectType;
import com.zrqx.olive.project.model.StatisticsProject;
import com.zrqx.olive.project.request.ProjectRecordRequest;
import com.zrqx.olive.project.request.QueryProjectRequest;
import com.zrqx.olive.project.request.SaveProjectRequest;
import com.zrqx.olive.project.request.StatisticsProjectRequest;
import com.zrqx.olive.project.service.ProjectRecordService;
import com.zrqx.olive.project.service.ProjectTypeService;
import com.zrqx.olive.project.service.StatisticsProjectService;
import com.zrqx.olive.project.vo.ProjectListVo;
import com.zrqx.olive.project.vo.ProjectListVo1;
......@@ -35,6 +36,7 @@ import com.zrqx.olive.project.vo.ProjectRecordListVo;
import com.zrqx.olive.project.vo.ProjectVo;
import com.zrqx.olive.system.response.SystemAdminResponse;
import com.zrqx.olive.system.service.SystemAdminService;
import com.zrqx.olive.timeApply.model.TimeApplyType;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
......@@ -55,6 +57,8 @@ public class ProjectController {
private SystemAdminService systemAdminService;
@Autowired
private CheckAdminToken checkAdminToken;
@Autowired
private ProjectTypeService typeService;
@ApiOperation(value = "新增/修改", notes = "新增一个")
@RequestMapping(value = "/save", method = RequestMethod.POST)
......@@ -86,6 +90,12 @@ public class ProjectController {
}
return CommonResult.success();
}
@ApiOperation(value = "项目类型",notes = "项目类型")
@GetMapping("/getType")
public CommonResult<List<ProjectType>> getType() {
return CommonResult.success(typeService.list());
}
@ApiOperation(value = "查询", notes = "根据ID查询")
@GetMapping(value = "/getId")
public CommonResult<ProjectVo> getByOid(String oid) {
......
package com.zrqx.olive.project.dao;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zrqx.olive.project.model.ProjectType;
@Mapper
public interface ProjectTypeDao extends BaseMapper<ProjectType> {
}
package com.zrqx.olive.project.model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_project_type")
@ApiModel(value="ProjectType对象", description="历史记录")
public class ProjectType {
@ApiModelProperty(value = "后台管理员表ID")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value = "名称" )
private String name;
@ApiModelProperty("类型")
private Integer type;
}
package com.zrqx.olive.project.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zrqx.olive.project.model.ProjectType;
public interface ProjectTypeService extends IService<ProjectType> {
}
package com.zrqx.olive.project.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zrqx.olive.project.dao.ProjectTypeDao;
import com.zrqx.olive.project.model.ProjectType;
import com.zrqx.olive.project.service.ProjectTypeService;
@Service
public class ProjectTypeServiceImpl extends ServiceImpl<ProjectTypeDao, ProjectType> implements ProjectTypeService {
@Autowired
private ProjectTypeDao mapper;
}
package com.zrqx.olive.system.model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import org.springframework.data.annotation.Transient;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import org.springframework.data.annotation.Transient;
/**
* 后台管理员表
* +----------------------------------------------------------------------
......@@ -88,4 +90,10 @@ public class SystemAdmin implements Serializable {
@Transient
@ApiModelProperty(value = "是否选中 true是 0false")
private Boolean type;
@ApiModelProperty(value = "人员类型 1在职 2离职" )
private String isType;
@ApiModelProperty("工时基准量")
private BigDecimal taskLevel;
}
......@@ -11,6 +11,7 @@ import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 后台管理员表
......@@ -64,4 +65,10 @@ public class SystemAdminAddRequest implements Serializable {
@ApiModelProperty(value = "部门")
private String departmentId;
@ApiModelProperty(value = "人员类型 1在职 2离职" )
private String isType;
@ApiModelProperty("工时基准量")
private BigDecimal taskLevel;
}
......@@ -10,6 +10,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
......@@ -80,4 +81,10 @@ public class SystemAdminRequest implements Serializable {
private String departmentId;
@ApiModelProperty(value = "部门名称")
private String departmentName;
@ApiModelProperty(value = "人员类型 1在职 2离职" )
private String isType;
@ApiModelProperty("工时基准量")
private BigDecimal taskLevel;
}
......@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
......@@ -58,6 +59,13 @@ public class SystemAdminResponse implements Serializable {
//部门名称
@ApiModelProperty(value = "部门Id" )
private Integer departmentId;
@ApiModelProperty(value = "部门名称" )
private String departmentName;
@ApiModelProperty(value = "人员类型 1在职 2离职" )
private String isType;
@ApiModelProperty("工时基准量")
private BigDecimal taskLevel;
}
package com.zrqx.olive.timeApply.controller;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
......@@ -17,7 +18,6 @@ import com.common.CheckAdminToken;
import com.common.CommonResult;
import com.common.PageParamRequest;
import com.github.pagehelper.PageInfo;
import com.utils.DateUtils;
import com.zrqx.olive.project.model.StatisticsProject;
import com.zrqx.olive.project.model.Team;
import com.zrqx.olive.project.service.StatisticsProjectService;
......@@ -25,10 +25,12 @@ import com.zrqx.olive.project.service.TeamService;
import com.zrqx.olive.system.response.SystemAdminResponse;
import com.zrqx.olive.system.service.SystemAdminService;
import com.zrqx.olive.timeApply.model.TimeApplyChange;
import com.zrqx.olive.timeApply.model.TimeApplyType;
import com.zrqx.olive.timeApply.request.CheckTimeApplyStatusForm;
import com.zrqx.olive.timeApply.request.TimeApplyChangeForm;
import com.zrqx.olive.timeApply.request.TimeApplyForm;
import com.zrqx.olive.timeApply.service.TimeApplyChangeService;
import com.zrqx.olive.timeApply.service.TimeApplyTypeService;
import com.zrqx.olive.timeApply.vo.TimeApplyChangeVo;
import com.zrqx.olive.timeApply.vo.TimeApplyTableVo;
import com.zrqx.olive.timeApply.vo.TimeApplyVo;
......@@ -53,6 +55,8 @@ public class TimeApplyChangeController {
private StatisticsProjectService projectService;
@Autowired
private TeamService teamService;
@Autowired
private TimeApplyTypeService timeApplyTypeService;
@ApiOperation("查询审核成功申请页列表")
......@@ -71,13 +75,13 @@ public class TimeApplyChangeController {
return CommonResult.success(timeApplyChangeService.pageTimeApply(systemAdminResponse,pageParam));
}
/*
* @ApiOperation(value = "根据id查详情",notes = "根据id查详情")
*
* @GetMapping("/timeApply/get") public CommonResult<TimeApply111>
* getById(Integer id) { return
* CommonResult.success(timeApplyChangeService.getById(id)); }
*/
@ApiOperation(value = "查询申请工时类型",notes = "查询申请工时类型")
@GetMapping("/timeApply/getType")
public CommonResult<List<TimeApplyType>> getTimeApplyType() {
return CommonResult.success(timeApplyTypeService.list());
}
@ApiOperation(value = "删除",notes = "删除")
@PostMapping("/timeApply/delete")
......
package com.zrqx.olive.timeApply.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zrqx.olive.timeApply.model.TimeApplyType;
public interface TimeApplyTypeDao extends BaseMapper<TimeApplyType>{
}
package com.zrqx.olive.timeApply.model;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("time_apply_type")
@ApiModel(value="TimeApplyType对象", description="工时申请类型")
public class TimeApplyType {
@ApiModelProperty(value = "后台管理员表ID")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value = "名称" )
private String name;
@ApiModelProperty("类型")
private Integer type;
}
package com.zrqx.olive.timeApply.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zrqx.olive.timeApply.model.TimeApplyType;
public interface TimeApplyTypeService extends IService<TimeApplyType> {
}
......@@ -16,9 +16,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.common.CommonResult;
import com.common.PageParamRequest;
import com.enums.CheckStatusEnum;
import com.enums.ProjectStatusEnum;
......@@ -68,7 +66,6 @@ public class TimeApplyChangeServiceImpl extends ServiceImpl<TimeApplyChangeDao,T
list.forEach(vo ->{
Double time = timeApplyChangeMapper.selectforTime(vo.getProjectId()) == null ? 0.0 : timeApplyChangeMapper.selectforTime(vo.getProjectId());
if(time!=null && time!=0.0 ) {
//BigDecimal add = vo.getTotalApplyTime().add(new BigDecimal(time));
vo.setTotalApplyTime(new BigDecimal(time));
}
......@@ -188,18 +185,6 @@ public class TimeApplyChangeServiceImpl extends ServiceImpl<TimeApplyChangeDao,T
vo.setTotalApplyTime(totalApplyTime);
}
}
/* Double designApplyTimeChange = timeApplyChangeService.selectforTimeByName(id,timeApply.getDepartmentName()) == null ? 0.0 : timeApplyChangeService.selectforTimeByName(id,timeApply.getDepartmentName());
BigDecimal designApplyTimeChangeValue = timeApply.getDesignApplyTime().add(new BigDecimal(designApplyTimeChange));
vo.setDesignApplyTimeChange(designApplyTimeChangeValue);
Double productApplyTimeChange = timeApplyChangeService.selectforTimeByName(id,"产品") == null ? 0.0 : timeApplyChangeService.selectforTimeByName(id,"产品");
BigDecimal productApplyTimeChangeValue =timeApply.getProductApplyTime().add(new BigDecimal(productApplyTimeChange));
vo.setProductApplyTimeChange(productApplyTimeChangeValue);
Double developApplyTimeChange = timeApplyChangeService.selectforTimeByName(id,"开发") == null ? 0.0 : timeApplyChangeService.selectforTimeByName(id,"开发");
BigDecimal developApplyTimeChangeValue = timeApply.getDevelopApplyTime().add(new BigDecimal(developApplyTimeChange));
vo.setDevelopApplyTimeChange(developApplyTimeChangeValue);
BigDecimal totalApplyTimeChange =designApplyTimeChangeValue.add(productApplyTimeChangeValue).add(developApplyTimeChangeValue);
vo.setTotalApplyTimeChange(totalApplyTimeChange);*/
return vo;
}
@Override
......@@ -235,15 +220,6 @@ public class TimeApplyChangeServiceImpl extends ServiceImpl<TimeApplyChangeDao,T
}else if ("5".equals(vo.getStatus2())) {
vo.setStatus2Zh("审核不通过");
}
/*
* SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
* if(vo.getCreateTime()!=null) { String createTime =
* sf.format(vo.getCreateTime()); vo.setCreateTime(createTime); }
* if(vo.getCheckTime1()!=null) { String checkTime1 =
* sf.format(vo.getCheckTime1()); vo.setCheckTime1(checkTime1); }
* if(vo.getCheckTime2()!=null) { String checkTime2 =
* sf.format(vo.getCheckTime2()); vo.setCheckTime2(checkTime2); }
*/
};
return new PageInfo<TimeApplyChangeVo>(list);
}
......@@ -261,28 +237,6 @@ public class TimeApplyChangeServiceImpl extends ServiceImpl<TimeApplyChangeDao,T
timeApplyChangeMapper.insert(form);
StatisticsProject project = projectDao.selectById(form.getProjectId());
project.setTotalApplyTime(form.getChangeTime());
/*
* QueryWrapper<TimeApplyChange> queryWrapper = new
* QueryWrapper<TimeApplyChange>(); queryWrapper.eq("project_id",
* form.getProjectId()); List<TimeApplyChange> list1 =
* timeApplyChangeMapper.selectList(queryWrapper); for (TimeApplyChange
* timeApplyChange : list1) { TimeApplyTableListVo vo1 = new
* TimeApplyTableListVo(); Double designApplyTimeChange =
* timeApplyChangeMapper.timeApplyChangeMapper(form.getProjectId(),
* timeApplyChange.getDepartmentName()) == null ? 0.0 :
* timeApplyChangeMapper.timeApplyChangeMapper(form.getProjectId(),
* timeApplyChange.getDepartmentName()); BigDecimal applyTimeChangeValue =
* timeApplyChange.getChangeTime().add(new BigDecimal(designApplyTimeChange));
* vo1.setApplyTime(applyTimeChangeValue);
* vo1.setDepartmentId(timeApplyChange.getDepartmentId());
* vo1.setDepartmentName(timeApplyChange.getDepartmentName());
* teamRequest.add(vo1); } if(teamRequest!=null && teamRequest.size()>0) {
* BigDecimal totalApplyTime = new BigDecimal("0.0"); //获取list集合中总工时 for (int i
* = 0; i < teamRequest.size(); i++) { BigDecimal
* time=teamRequest.get(i).getApplyTime();
* totalApplyTime=totalApplyTime.add(time);
* projectListVo.setTotal(totalApplyTime); } }
*/
return true;
}
}
package com.zrqx.olive.timeApply.service.impl;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zrqx.olive.timeApply.dao.TimeApplyTypeDao;
import com.zrqx.olive.timeApply.model.TimeApplyType;
import com.zrqx.olive.timeApply.service.TimeApplyTypeService;
@Service
public class TimeApplyTypeServiceImpl extends ServiceImpl<TimeApplyTypeDao,TimeApplyType> implements TimeApplyTypeService {
@Resource
private TimeApplyTypeDao timeApplyTypeDao;
}
......@@ -9,6 +9,8 @@ import org.apache.ibatis.annotations.Select;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zrqx.olive.article.model.Article;
import com.zrqx.olive.personnel.request.PersonnelRequest;
import com.zrqx.olive.personnel.request.StatisticsTaskTime;
import com.zrqx.olive.project.model.Customer;
import com.zrqx.olive.project.request.QueryCustomerRequest;
import com.zrqx.olive.ttask.model.Task;
......@@ -204,9 +206,6 @@ public interface TaskDao extends BaseMapper<Task> {
+ "<if test = 'userId!=null and userId!=\"\"'> "
+ " AND a.user_id = #{userId} "
+ "</if>"
+ "<if test = 'departmentId ==null and departmentId==\"\"'> "
+ " and department_id is not null "
+ "</if>"
+ "</script>")
BigDecimal querySurplus(String id,Integer userId,Integer departmentId);
@Select("<script>"
......@@ -274,4 +273,26 @@ public interface TaskDao extends BaseMapper<Task> {
+ "</if>"
+ "</script>")
BigDecimal totalTime(@Param("request")TaskRequest request);
@Select("<script>"
+ " SELECT b.id,b.real_name,c.department_name,SUM(working_hours) from t_task a INNER JOIN eb_system_admin b on a.user_id=b.id "
+ " INNER JOIN sys_department c on b.department_id=c.id where 1=1 and a.task_status=3 "
+ "<if test = 'taskRequest.departmentName!=null'> "
+ " and c.department_name like concat('%',#{taskRequest.departmentName},'%') "
+ "</if>"
+ "<if test = 'request.userName!=null'> "
+ " and b.real_name like concat('%',#{taskRequest.userName},'%') "
+ "</if>"
+ "<if test = 'taskRequest.startTime!=null'>"
+ " AND a.complete_Time &gt;= concat(#{taskRequest.startTime}, ' 00:00:00' ) "
+ "</if>"
+ "<if test = 'taskRequest.endTime!=null'>"
+ " AND a.complete_Time &lt;= concat(#{taskRequest.endTime}, ' 23:59:59' ) "
+ "</if>"
+ "<if test = 'taskRequest.isType!=null'>"
+ " AND a.is_type = #{taskRequest.isType} "
+ "</if>"
+ " and a.user_id is not null GROUP BY b.real_name ORDER BY department_name DESC"
+ "</script>")
List<StatisticsTaskTime> getPersonnelList(PersonnelRequest taskRequest);
}
......@@ -4,19 +4,15 @@ import java.io.IOException;
import java.math.BigDecimal;
import java.util.List;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.multipart.MultipartFile;
import com.baomidou.mybatisplus.extension.service.IService;
import com.common.CommonResult;
import com.common.MyRecord;
import com.common.PageParamRequest;
import com.github.pagehelper.PageInfo;
import com.utils.excelutil.BaseException;
import com.zrqx.olive.article.model.Article;
import com.zrqx.olive.article.request.ArticleSearchRequest;
import com.zrqx.olive.article.vo.ArticleVo;
import com.zrqx.olive.personnel.request.PersonnelRequest;
import com.zrqx.olive.personnel.request.StatisticsTaskTime;
import com.zrqx.olive.ttask.model.Task;
import com.zrqx.olive.ttask.request.TaskForm;
import com.zrqx.olive.ttask.request.TaskRequest;
......@@ -50,4 +46,13 @@ public interface TaskService extends IService<Task> {
BigDecimal querySurplus(String id,Integer userId,Integer departmentId);
BigDecimal totalTime(TaskRequest taskRequest);
/***
* 在职人员统计
* @Title: TaskService.java
* @Package com.zrqx.olive.ttask.service
* @Description: TODO
* @author 任建彩
* @date 2021年9月16日
*/
PageInfo<StatisticsTaskTime> getPersonnelList(PersonnelRequest taskRequest, PageParamRequest pageParamRequest);
}
......@@ -24,6 +24,11 @@ import com.zrqx.olive.article.service.ArticleService;
import com.zrqx.olive.article.vo.ArticleVo;
import com.zrqx.olive.category.model.Category;
import com.zrqx.olive.category.service.CategoryService;
import com.zrqx.olive.personnel.dao.UserTaskLevelDao;
import com.zrqx.olive.personnel.model.UserTaskLevel;
import com.zrqx.olive.personnel.request.PersonnelRequest;
import com.zrqx.olive.personnel.request.QueryLevelForm;
import com.zrqx.olive.personnel.request.StatisticsTaskTime;
import com.zrqx.olive.project.model.DiyType;
import com.zrqx.olive.project.model.Team;
import com.zrqx.olive.project.service.DiyTypeService;
......@@ -49,6 +54,8 @@ import javax.annotation.Resource;
import java.io.IOException;
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
......@@ -81,6 +88,9 @@ public class TaskServiceImpl extends ServiceImpl<TaskDao, Task> implements TaskS
@Autowired
private TeamService teamService;
@Autowired
private UserTaskLevelDao userTaskLevelDao;
/**
* 列表
......@@ -280,4 +290,34 @@ public class TaskServiceImpl extends ServiceImpl<TaskDao, Task> implements TaskS
// TODO Auto-generated method stub
return dao.totalTime(taskRequest);
}
@Override
public PageInfo<StatisticsTaskTime> getPersonnelList(PersonnelRequest taskRequest,
PageParamRequest pageParamRequest) {
if(pageParamRequest.getOrderBy()==null) {
pageParamRequest.setOrderBy("create_time desc");
}
PageHelper.startPage(pageParamRequest.getPage(), pageParamRequest.getLimit(),
pageParamRequest.getOrderBy());
List<StatisticsTaskTime> list = dao.getPersonnelList(taskRequest);
for (StatisticsTaskTime statisticsTaskTime : list) {
Integer level = getLevel(taskRequest);
statisticsTaskTime.setTaskLevel(level);
}
return new PageInfo<StatisticsTaskTime>(list);
}
//查基准工时
public Integer getLevel(PersonnelRequest taskRequest) {
QueryLevelForm query1 = new QueryLevelForm();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate start = LocalDate.parse(taskRequest.getStartTime(), formatter);
LocalDate end = LocalDate.parse(taskRequest.getEndTime(), formatter);
DateTimeFormatter ff = DateTimeFormatter.ofPattern("yyyy-MM");
query1.setStartTime(start.format(ff));
query1.setEndTime(end.format(ff));
query1.setName(taskRequest.getUserName());
Integer sumLevel = userTaskLevelDao.getSumLevel(query1);
return sumLevel;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论