Commit 7a45539d authored by liaoanyuan's avatar liaoanyuan

增加工单筛选条件和工时导出信息

parent c6872d2d
......@@ -82,6 +82,8 @@
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-test:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.xmlunit:xmlunit-core:2.6.2" level="project" />
<orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.2.0" level="project" />
......
......@@ -79,4 +79,11 @@ public interface WorkProjectMapper extends BaseMapper<WorkProject> {
WorkProject getByProjectOaId( @Param("oaId") String oaId);
/**
* 改变项目状态为恢复
* @param id 项目id
* @return
*/
int updateIsConclusionById2(Integer id);
}
......@@ -112,6 +112,20 @@ public interface WorkTimeOrderMapper extends BaseMapper<WorkTimeOrder> {
List<ProjectWorkTimeStatisticsDto> getProjectStatisticsDetail(Map<String, Object> map);
/**
* 查询用户的商机数和项目数
* @param map
* @return
*/
List<WorkTimeOrder> selectPeojectNumbers(Map<String, Object> map);
/**
* 查询加班数
* @param map
* @return
*/
List<WorkTimeOrder> getIsOvertime(Map<String, Object> map);
int countByWorkDay(@Param("userId") Integer userId, @Param("startDate") String startDate, @Param("enbDate") String endDate);
int addManyLeaveOrder(@Param("workTimeOrders") List<WorkTimeOrder> workTimeOrders);
......
......@@ -21,8 +21,9 @@
AND DATE_FORMAT(oc.change_date, '%Y%m%d') &lt;= DATE_FORMAT(#{endDate} ,'%Y%m%d')
</if>
<if test="userName !=null">
AND (u2.name like concat('%',#{userName},'%')
OR u1.name like concat('%',#{userName},'%'))
AND (u1.name like concat('%',#{userName},'%') or
p.project_name like concat('%',#{userName},'%') or
u2.name like concat('%',#{userName},'%'))
</if>
AND oc.project_id IN
......@@ -50,8 +51,9 @@
AND DATE_FORMAT(oc.change_date, '%Y%m%d') &lt;= DATE_FORMAT(#{endDate} ,'%Y%m%d')
</if>
<if test="userName !=null">
AND (u2.name like concat('%',#{userName},'%')
OR u1.name like concat('%',#{userName},'%'))
AND (u1.name like concat('%',#{userName},'%') or
p.project_name like concat('%',#{userName},'%') or
u2.name like concat('%',#{userName},'%'))
</if>
)
</if>
......
......@@ -57,6 +57,13 @@
WHERE id = #{id}
</update>
<update id="updateIsConclusionById2">
UPDATE
<include refid="table"/>
SET is_conclusion = 1, conclusion_time = now()
WHERE id = #{id}
</update>
<update id="updateProject">
UPDATE
<include refid="table"/>
......@@ -158,7 +165,8 @@
<if test="null != key and key!=''">
AND (
p.project_name like concat('%',#{key},'%') OR
lu.manager_name like concat('%',#{key},'%')
lu.manager_name like concat('%',#{key},'%') or
p.business_id like concat('%',#{key},'%')
)
</if>
</if>
......@@ -180,7 +188,8 @@
<if test="null != key and key!=''">
AND (
p.project_name like concat('%',#{key},'%') OR
lu.manager_name like concat('%',#{key},'%')
lu.manager_name like concat('%',#{key},'%') or
p.business_id like concat('%',#{key},'%')
)
</if>
)
......
......@@ -528,7 +528,8 @@
AND o.work_day &lt;= #{endDate}
</if>
<if test="userName !=null">
AND u.name like concat('%',#{userName},'%')
AND (u.name like concat('%',#{userName},'%') or
p.project_name like concat('%',#{userName},'%'))
</if>
</if>
<if test="types !=null and types.size()>0 ">
......@@ -547,7 +548,8 @@
AND o.work_day &lt;= #{endDate}
</if>
<if test="userName !=null">
AND u.name like concat('%',#{userName},'%')
AND (u.name like concat('%',#{userName},'%') or
p.project_name like concat('%',#{userName},'%'))
</if>
)
</if>
......@@ -561,4 +563,40 @@
FROM work_time_order
WHERE work_day >= #{startDate} AND work_day &lt;= #{enbDate} AND user_id = #{userId}
</select>
<select id="selectPeojectNumbers" resultMap="BaseResultMap" parameterType="map">
select project_id,user_id,`type`
from work_time_order
<where>
<if test="deptId !=null">
dept_id =#{deptId}
</if>
AND type IN (1,2)
<if test="userId !=null">
AND user_id=#{userId}
</if>
<if test="startDate !=null">
AND work_day >= #{startDate}
</if>
<if test="endDate !=null">
AND work_day &lt;= #{endDate}
</if>
</where>
GROUP BY project_id,user_id
</select>
<select id="getIsOvertime" resultMap="BaseResultMap" parameterType="map">
select project_id,user_id,`type`,is_overtime
from work_time_order
<where>
<if test="deptId !=null">
dept_id =#{deptId}
</if>
AND year(work_day) = #{year} AND month(work_day) = #{month} AND (status = 2 OR status=5)
<if test="userId !=null">
AND user_id=#{userId}
</if>
</where>
group by day(work_day),is_overtime
</select>
</mapper>
......@@ -7,10 +7,6 @@
<facet type="web" name="Web">
<configuration>
<webroots />
<sourceRoots>
<root url="file://$MODULE_DIR$/src/main/java" />
<root url="file://$MODULE_DIR$/src/main/resources" />
</sourceRoots>
</configuration>
</facet>
</component>
......@@ -18,9 +14,8 @@
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
......@@ -91,6 +86,8 @@
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-test:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.xmlunit:xmlunit-core:2.6.2" level="project" />
<orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.2.0" level="project" />
......
......@@ -35,6 +35,12 @@ public class DayWorkTimeAndType implements Serializable {
@ApiModelProperty(name = "type", value = "工时类型,正常,请假,调休")
private String type;
/**
* 工时类型,正常,请假,调休
*/
@ApiModelProperty(name = "type", value = "工时类型,正常,请假,调休")
private String isOvertime;
/**
* 工时
*/
......
package cn.wisenergy.model.dto;
import lombok.Data;
import java.io.Serializable;
@Data
public class ProjectNumbers implements Serializable {
private static final long serialVersionUID = 5380242876701694128L;
//项目数
private Integer projectNumbers;
//商机数
private Integer businessNumbers;
}
......@@ -36,6 +36,18 @@ public class StatisticsTableDto implements Serializable {
@ApiModelProperty(name = "userName", value = "用户姓名")
private String userName;
/**
* 用户姓名
*/
@ApiModelProperty(name = "overtimes", value = "员工的加班天数")
private Integer overtimes;
/**
* 用户姓名
*/
@ApiModelProperty(name = "underreportings", value = "漏报天数")
private Integer underreportings;
/**
* 一天工时类型和工时的集合
*/
......
......@@ -49,7 +49,13 @@ public class UserWorkTimeStatisticsByProject implements Serializable{
@ApiModelProperty(name = "projectWorkTimeAndType", value = "项目工时列表")
private List<ProjectWorkTimeAndType> projectWorkTimeAndType;
/**
* 用户项目商机数
* @param obj
* @return
*/
@ApiModelProperty(name = "projectNumbers", value = "用户的项目和商机数")
private ProjectNumbers projectNumbers;
@Override
public boolean equals(Object obj) {
......
......@@ -84,6 +84,8 @@
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-test:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.xmlunit:xmlunit-core:2.6.2" level="project" />
<orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.2.0" level="project" />
......
......@@ -35,5 +35,7 @@
<orderEntry type="library" name="Maven: org.ow2.asm:asm:4.2" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.26" level="project" />
<orderEntry type="library" name="Maven: org.ehcache:ehcache:3.6.3" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.2" level="project" />
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:1.0" level="project" />
</component>
</module>
\ No newline at end of file
......@@ -82,4 +82,11 @@ public interface WorkProjectService {
List<DeptOfProjectAndOrderType> getProjectOfFind(Integer userId);
PageInfo queryOaProject(Integer userId, Integer typeId, String projectNameOrNo, Integer currentPage, Integer pageSize);
/**
* 改变项目状态为恢复
* @param projectId 项目id
* @return
*/
Boolean updateIsConclusionById2(Integer userId, Integer projectId);
}
......@@ -158,6 +158,7 @@ public class WorkHolidayServiceImpl implements WorkHolidayService {
if (!CollectionUtils.isEmpty(workTypes)) {
holidayAndAutoDto.setWorkTypes(workTypes);
}
return holidayAndAutoDto;
}
......
......@@ -292,6 +292,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
if (null == workProject) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_PROJECT_IS_NULL);
}
workProjectMapper.updateIsConclusionById(projectId);
// 插入更变日志
......@@ -911,6 +912,35 @@ public class WorkProjectServiceImpl implements WorkProjectService {
return pageInfo;
}
@Override
public Boolean updateIsConclusionById2(Integer userId, Integer projectId) {
log.info("WorkProjectServiceImpl[]endProject[]input.param.userId:{},projectId:{}" + userId, projectId);
if (!UserRoleLevelUtils.isManagerLevel(userId, LevelEnum.PROJECT_MANAGER.getLevelName())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN);
}
if (null == projectId) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
WorkProject workProject = workProjectMapper.selectById(projectId);
if (null == workProject) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_PROJECT_IS_NULL);
}
workProjectMapper.updateIsConclusionById2(projectId);
// 插入更变日志
List<WorkProjectChange> workProjectChanges = new ArrayList<>();
WorkProjectChange workProjectChange = new WorkProjectChange();
workProjectChange.setProjectId(projectId);
workProjectChange.setReviserId(userId);
workProjectChange.setModifyTime(new Date());
workProjectChange.setOperationType(2);
workProjectChanges.add(workProjectChange);
workProjectChangeService.insertbatch(workProjectChanges);
return true;
}
private PageInfo<ManagerProjectsDto> returnPageInfo(List<ManagerProjectsDto> managerProjectsDto) {
if (CollectionUtils.isEmpty(managerProjectsDto)) {
......
......@@ -82,6 +82,8 @@
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-test:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.xmlunit:xmlunit-core:2.6.2" level="project" />
<orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.2.0" level="project" />
......
......@@ -68,13 +68,13 @@ public class ShiroConfig {
LinkedHashMap<String, String> map = new LinkedHashMap<>();
map.put("/login", "anon");
map.put("/swagger-ui.html","anon");
map.put("/swagger/**","anon");
//map.put("/swagger-ui.html","anon");
//map.put("/swagger/**","anon");
map.put("/webjars/**", "anon");
map.put("/swagger-resources/**","anon");
//map.put("/swagger-resources/**","anon");
map.put("/v2/**","anon");
map.put("/static/**", "anon");
map.put("/**", "kickout");
//map.put("/**", "kickout");
map.put("/wxLogout", "wxLogout");
shiroFilterFactoryBean.setFilterChainDefinitionMap(map);
......
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" version="4">
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="Spring" name="Spring">
<configuration />
......@@ -80,6 +80,8 @@
<orderEntry type="library" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-test:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.xmlunit:xmlunit-core:2.6.2" level="project" />
<orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.2.0" level="project" />
......
......@@ -64,6 +64,18 @@ public class WorkProjectController extends BaseController {
return getResult(aBoolean);
}
@ApiOperation(value = "恢复项目/商机", notes = "恢复项目/商机", httpMethod = "PUT")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId",value = "管理员id",dataType = "int"),
@ApiImplicitParam(name = "projectId",value = "项目id",dataType = "int")
})
@PutMapping(value = "/startProject")
public Result<Boolean> cProject(Integer userId,Integer projectId) {
log.info("WorkProjectController[]startProject[]input.param.userId:{},projectId:{}" + userId,projectId);
Boolean aBoolean = workProjectService.updateIsConclusionById2(userId,projectId);
return getResult(aBoolean);
}
@ApiOperation(value = "编辑项目/商机", notes = "编辑项目/商机", httpMethod = "PUT")
@ApiImplicitParam(name = "modifyProjectVo", value = "编辑内容", dataType = "ModifyProjectVo", required = true)
......
......@@ -80,6 +80,8 @@
<orderEntry type="library" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-test:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.xmlunit:xmlunit-core:2.6.2" level="project" />
<orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.2.0" level="project" />
......
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