Commit 24848fff authored by cq990612's avatar cq990612

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	wisenergy-common/src/main/java/cn/wisenergy/common/utils/exception/BASE_RESP_CODE_ENUM.java
#	wisenergy-mapper/src/main/java/cn/wisenergy/mapper/WorkCollectMapper.java
#	wisenergy-mapper/src/main/java/cn/wisenergy/mapper/WorkDeptMapper.java
#	wisenergy-mapper/src/main/java/cn/wisenergy/mapper/WorkProjectMapper.java
#	wisenergy-mapper/src/main/java/cn/wisenergy/mapper/WorkSbumitAdoptMapper.java
#	wisenergy-mapper/src/main/java/cn/wisenergy/mapper/WorkTimeOrderMapper.java
#	wisenergy-mapper/src/main/java/cn/wisenergy/mapper/WorkUserDeptMapper.java
#	wisenergy-mapper/src/main/java/cn/wisenergy/mapper/WorkUserMapper.java
#	wisenergy-mapper/src/main/resources/mapper/WorkCollectMapper.xml
#	wisenergy-mapper/src/main/resources/mapper/WorkDeptMapper.xml
#	wisenergy-mapper/src/main/resources/mapper/WorkProjectChangeMapper.xml
#	wisenergy-mapper/src/main/resources/mapper/WorkProjectMapper.xml
#	wisenergy-mapper/src/main/resources/mapper/WorkSbumitAdoptMapper.xml
#	wisenergy-mapper/src/main/resources/mapper/WorkTimeOrderMapper.xml
#	wisenergy-mapper/src/main/resources/mapper/WorkUserDeptMapper.xml
#	wisenergy-mapper/src/main/resources/mapper/WorkUserMapper.xml
#	wisenergy-model/src/main/java/cn/wisenergy/model/app/WorkDept.java
#	wisenergy-model/src/main/java/cn/wisenergy/model/app/WorkProject.java
#	wisenergy-model/src/main/java/cn/wisenergy/model/app/WorkProjectChange.java
#	wisenergy-model/src/main/java/cn/wisenergy/model/app/WorkTimeOrder.java
#	wisenergy-model/src/main/java/cn/wisenergy/model/app/WorkUser.java
#	wisenergy-model/src/main/java/cn/wisenergy/model/app/WorkUserProject.java
#	wisenergy-service/src/main/java/cn/wisenergy/service/WorkCollectService.java
#	wisenergy-service/src/main/java/cn/wisenergy/service/WorkDeptService.java
#	wisenergy-service/src/main/java/cn/wisenergy/service/WorkHolidayService.java
#	wisenergy-service/src/main/java/cn/wisenergy/service/WorkProjectService.java
#	wisenergy-service/src/main/java/cn/wisenergy/service/WorkSbumitAdoptService.java
#	wisenergy-service/src/main/java/cn/wisenergy/service/WorkTimeOrderService.java
#	wisenergy-service/src/main/java/cn/wisenergy/service/WorkUserDeptService.java
#	wisenergy-service/src/main/java/cn/wisenergy/service/WorkUserProjectService.java
#	wisenergy-service/src/main/java/cn/wisenergy/service/WorkUserService.java
#	wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkCollectServiceImpl.java
#	wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkDeptServiceImpl.java
#	wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkHolidayServiceImpl.java
#	wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkProjectServiceImpl.java
#	wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkSbumitAdoptServiceImpl.java
#	wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkTimeOrderServiceImpl.java
#	wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkUserDeptServiceImpl.java
#	wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkUserProjectServiceImpl.java
#	wisenergy-service/src/main/java/cn/wisenergy/service/impl/WorkUserServiceImpl.java
#	wisenergy-web-admin/src/main/java/cn/wisenergy/web/admin/controller/app/WorkCollectController.java
#	wisenergy-web-admin/src/main/java/cn/wisenergy/web/admin/controller/app/WorkUserController.java
#	wisenergy-web-admin/src/main/java/cn/wisenergy/web/admin/controller/common/BaseController.java
#	wisenergy-web-admin/src/main/resources/application-dev.yml
#	wisenergy-web-admin/src/main/resources/application.yml
parents a3ba0140 f3cff5c8
...@@ -52,7 +52,8 @@ public enum BASE_RESP_CODE_ENUM { ...@@ -52,7 +52,8 @@ public enum BASE_RESP_CODE_ENUM {
WORK_ORDER_END("630", "该项目的工单已经全部审批"), WORK_ORDER_END("630", "该项目的工单已经全部审批"),
DEPT_IS_NULL("631","该部门不存在"), DEPT_IS_NULL("631","该部门不存在"),
MANAGER_NOT_PROJECT("632","该管理没有可管理的项目"), MANAGER_NOT_PROJECT("632","该管理没有可管理的项目"),
; DEPT_NOT_FOUND("627", "部门信息未找到");
/** /**
* 错误编码 * 错误编码
*/ */
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" 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 />
</facet>
<facet type="web" name="Web">
<configuration>
<webroots />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" /> <output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" /> <output-test url="file://$MODULE_DIR$/target/test-classes" />
...@@ -35,6 +45,10 @@ ...@@ -35,6 +45,10 @@
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.1.7.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.1.7.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-context:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.1.7.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: net.sf.json-lib:json-lib:jdk15:2.4" level="project" />
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.8.0" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.1" level="project" />
<orderEntry type="library" name="Maven: net.sf.ezmorph:ezmorph:1.0.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-undertow:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-undertow:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.undertow:undertow-core:2.0.20.Final" level="project" /> <orderEntry type="library" name="Maven: io.undertow:undertow-core:2.0.20.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.xnio:xnio-api:3.3.8.Final" level="project" /> <orderEntry type="library" name="Maven: org.jboss.xnio:xnio-api:3.3.8.Final" level="project" />
...@@ -68,8 +82,6 @@ ...@@ -68,8 +82,6 @@
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.7.RELEASE" level="project" /> <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.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: 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.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: 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" /> <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.2.0" level="project" />
...@@ -137,8 +149,6 @@ ...@@ -137,8 +149,6 @@
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-cipher:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-cipher:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-core:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-core:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-ogdl:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-ogdl:1.4.0" level="project" />
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.3" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-event:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-event:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-spring:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-spring:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-web:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-web:1.4.0" level="project" />
......
...@@ -21,6 +21,11 @@ ...@@ -21,6 +21,11 @@
<artifactId>wisenergy-model</artifactId> <artifactId>wisenergy-model</artifactId>
<version>${moduleVersion.wisenergy-model}</version> <version>${moduleVersion.wisenergy-model}</version>
</dependency> </dependency>
<dependency>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
<version>1.4</version>
</dependency>
</dependencies> </dependencies>
<!-- MAVEN构建 --> <!-- MAVEN构建 -->
......
...@@ -3,6 +3,8 @@ package cn.wisenergy.mapper; ...@@ -3,6 +3,8 @@ package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkDept; import cn.wisenergy.model.app.WorkDept;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/** /**
* <p> * <p>
* Mapper 接口 * Mapper 接口
...@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface WorkDeptMapper extends BaseMapper<WorkDept> { public interface WorkDeptMapper extends BaseMapper<WorkDept> {
List<WorkDept> getDeptById(Integer deptId);
} }
...@@ -3,6 +3,9 @@ package cn.wisenergy.mapper; ...@@ -3,6 +3,9 @@ package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkProject; import cn.wisenergy.model.app.WorkProject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
/** /**
* <p> * <p>
* Mapper 接口 * Mapper 接口
...@@ -13,4 +16,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +16,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface WorkProjectMapper extends BaseMapper<WorkProject> { public interface WorkProjectMapper extends BaseMapper<WorkProject> {
/**
* 条件查询项目集合
* @param map
* @return
*/
List<WorkProject> getProjectsByCriteria(Map<String, Object> map);
} }
package cn.wisenergy.mapper; package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkSbumitAdopt; import cn.wisenergy.model.app.WorkSubmitAdopt;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/** /**
...@@ -11,6 +11,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -11,6 +11,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @author chenqi * @author chenqi
* @since 2021-01-19 * @since 2021-01-19
*/ */
public interface WorkSbumitAdoptMapper extends BaseMapper<WorkSbumitAdopt> { public interface WorkSbumitAdoptMapper extends BaseMapper<WorkSubmitAdopt> {
} }
...@@ -27,4 +27,27 @@ public interface WorkTimeOrderMapper extends BaseMapper<WorkTimeOrder> { ...@@ -27,4 +27,27 @@ public interface WorkTimeOrderMapper extends BaseMapper<WorkTimeOrder> {
int updateStatusById(Integer reviewerId,Integer id, String reason); int updateStatusById(Integer reviewerId,Integer id, String reason);
List<WorkTimeOrder> queryByPage(@Param("status") Integer status,@Param("projectId") Integer projectId,@Param("types") List<Integer> types); List<WorkTimeOrder> queryByPage(@Param("status") Integer status,@Param("projectId") Integer projectId,@Param("types") List<Integer> types);
/**
* 根据填报项目类型获取次数和工时汇总
* @param userId
* @return
*/
MonthlyWorkingHoursStatistics collectByProjectType(Integer userId,Integer projectType, String currentMonthFirstDay);
/**
*
* @param year
* @param month
* @param userId
* @return
*/
List<DayWorkTimeAndType> listByDateAndUserId(Integer year, Integer month, Integer userId);
/**
* 根据条件获取大于某时间的工单数量
* @param map
* @return
*/
Integer getCountByCondition(HashMap<String, Object> map);
} }
...@@ -3,6 +3,8 @@ package cn.wisenergy.mapper; ...@@ -3,6 +3,8 @@ package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkUserDept; import cn.wisenergy.model.app.WorkUserDept;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/** /**
* <p> * <p>
* Mapper 接口 * Mapper 接口
...@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface WorkUserDeptMapper extends BaseMapper<WorkUserDept> { public interface WorkUserDeptMapper extends BaseMapper<WorkUserDept> {
List<Integer> listByDeptId(Integer deptId);
} }
...@@ -3,6 +3,8 @@ package cn.wisenergy.mapper; ...@@ -3,6 +3,8 @@ package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkUser; import cn.wisenergy.model.app.WorkUser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.Map;
/** /**
* <p> * <p>
* Mapper 接口 * Mapper 接口
...@@ -13,4 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface WorkUserMapper extends BaseMapper<WorkUser> { public interface WorkUserMapper extends BaseMapper<WorkUser> {
WorkUser getUserInfo(Map<String, Object> map);
WorkUser getUserById(Integer userId);
} }
...@@ -4,19 +4,15 @@ ...@@ -4,19 +4,15 @@
<!-- 通用查询映射结果 --> <!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="cn.wisenergy.model.app.WorkCollect"> <resultMap id="BaseResultMap" type="cn.wisenergy.model.app.WorkCollect">
<id column="id" property="id"/> <id column="id" property="id" />
<result column="user_id" property="userId"/> <result column="user_id" property="userId" />
<result column="work_day" property="workDay"/> <result column="work_day" property="workDay" />
<result column="total_time" property="totalTime"/> <result column="total_time" property="totalTime" />
<result column="status" property="status"/> <result column="status" property="status" />
<result column="create_time" property="createTime"/> <result column="create_time" property="createTime" />
<result column="modify_time" property="modifyTime"/> <result column="modify_time" property="modifyTime" />
</resultMap> </resultMap>
<sql id="vals">
#{userId},#{workDay},#{totalTime},#{status},now(),now()
</sql>
<!-- 通用查询结果列 --> <!-- 通用查询结果列 -->
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, user_id, work_day, total_time, status, create_time, modify_time id, user_id, work_day, total_time, status, create_time, modify_time
......
...@@ -6,13 +6,33 @@ ...@@ -6,13 +6,33 @@
<resultMap id="BaseResultMap" type="cn.wisenergy.model.app.WorkDept"> <resultMap id="BaseResultMap" type="cn.wisenergy.model.app.WorkDept">
<id column="id" property="id" /> <id column="id" property="id" />
<result column="dept_name" property="deptName" /> <result column="dept_name" property="deptName" />
<result column="oa_dept_id" property="oaDeptId"/>
<result column="create_time" property="createTime" /> <result column="create_time" property="createTime" />
<result column="modify_time" property="modifyTime" /> <result column="modify_time" property="modifyTime" />
</resultMap> </resultMap>
<sql id="table">
work_dept
</sql>
<sql id="cols_all">
id, <include refid="cols_exclude_id"/>
</sql>
<sql id="cols_exclude_id">
dept_name, create_time, modify_time
</sql>
<sql id="criteria">
<if test="deptName != null">AND dept_name = #{deptName}</if>
<if test="createTime != null">AND create_time = #{createTime}</if>
<if test="modifyTime != null">AND modify_time = #{modifyTime}</if>
</sql>
<!-- 通用查询结果列 --> <!-- 通用查询结果列 -->
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, dept_name, create_time, modify_time id, oa_dept_id, dept_name, create_time, modify_time
</sql> </sql>
</mapper> </mapper>
...@@ -7,7 +7,8 @@ ...@@ -7,7 +7,8 @@
<id column="id" property="id" /> <id column="id" property="id" />
<result column="project_id" property="projectId" /> <result column="project_id" property="projectId" />
<result column="type" property="type" /> <result column="type" property="type" />
<result column="content" property="content" /> <result column="modify_after" property="modifyAfter" />
<result column="modify_before" property="modifyBefore" />
<result column="reason" property="reason" /> <result column="reason" property="reason" />
<result column="change_date" property="changeDate" /> <result column="change_date" property="changeDate" />
</resultMap> </resultMap>
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<!-- 通用查询映射结果 --> <!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="cn.wisenergy.model.app.WorkProject"> <resultMap id="BaseResultMap" type="cn.wisenergy.model.app.WorkProject">
<id column="id" property="id" /> <id column="id" property="id" />
<result column="peoject_num" property="peojectNum" /> <result column="oa_project_number" property="oaProjectNumber" />
<result column="project_name" property="projectName" /> <result column="project_name" property="projectName" />
<result column="type" property="type" /> <result column="type" property="type" />
<result column="manager_id" property="managerId" /> <result column="manager_id" property="managerId" />
...@@ -13,14 +13,45 @@ ...@@ -13,14 +13,45 @@
<result column="dept_id" property="deptId" /> <result column="dept_id" property="deptId" />
<result column="work_time" property="workTime" /> <result column="work_time" property="workTime" />
<result column="cost_budget" property="costBudget" /> <result column="cost_budget" property="costBudget" />
<result column="project_status" property="projectStatus" /> <result column="is_conclusion" property="isConclusion" />
<result column="start_time" property="startTime" />
<result column="end_time" property="endTime" />
<result column="create_time" property="createTime" /> <result column="create_time" property="createTime" />
<result column="modify_time" property="modifyTime" /> <result column="modify_time" property="modifyTime" />
</resultMap> </resultMap>
<!-- 通用查询结果列 --> <!-- 通用查询结果列 -->
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, peoject_num, project_name, type, manager_id, manager_name, dept_id, work_time, cost_budget, project_status, create_time, modify_time id, oa_project_number, project_name, type, manager_id, manager_name, dept_id, work_time, cost_budget, is_conclusion,start_time,end_time, create_time, modify_time
</sql> </sql>
<sql id="table">
work_project
</sql>
<!--查询条件-->
<sql id="criteria">
<if test="id != null">and id = #{id}</if>
<if test="oaProjectNumber != null">and oa_project_number = #{oaProjectNumber}</if>
<if test="projectName != null">and project_name = #{projectName}</if>
<if test="type != null">and type =#{type}</if>
<if test="managerId != null">and manager_id = #{managerId}</if>
<if test="managerName != null">and manager_name = #{managerName}</if>
<if test="dept_id != null">and dept_id = #{dept_id}</if>
<if test="workTime != null">and work_time =#{workTime}</if>
<if test="costBudget != null">and cost_budget = #{costBudget}</if>
<if test="isConclusion != null">and is_onclusion =#{isConclusion},</if>
<if test="startTime != null">and start_time =#{startTime},</if>
<if test="endTime != null">and end_time =#{endTime},</if>
<if test="createTime != null">and create_time &gt;= #{createTime}</if>
<if test="modifyTime != null">and #{modifyTime} &gt;= modify_time</if>
</sql>
<select id="getProjectsByCriteria" resultMap="BaseResultMap" parameterType="map">
select <include refid="Base_Column_List"/>
from <include refid="table"/>
<where>
<include refid="criteria"/>
</where>
</select>
</mapper> </mapper>
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<mapper namespace="cn.wisenergy.mapper.WorkSbumitAdoptMapper"> <mapper namespace="cn.wisenergy.mapper.WorkSbumitAdoptMapper">
<!-- 通用查询映射结果 --> <!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="cn.wisenergy.model.app.WorkSbumitAdopt"> <resultMap id="BaseResultMap" type="cn.wisenergy.model.app.WorkSubmitAdopt">
<id column="id" property="id" /> <id column="id" property="id" />
<result column="submit_time" property="submitTime" /> <result column="submit_time" property="submitTime" />
<result column="auto_adopt" property="autoAdopt" /> <result column="auto_adopt" property="autoAdopt" />
......
...@@ -4,102 +4,104 @@ ...@@ -4,102 +4,104 @@
<!-- 通用查询映射结果 --> <!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="cn.wisenergy.model.app.WorkTimeOrder"> <resultMap id="BaseResultMap" type="cn.wisenergy.model.app.WorkTimeOrder">
<id column="work_id" property="workId"/> <id column="work_id" property="workId" />
<result column="user_id" property="userId"/> <result column="user_id" property="userId" />
<result column="user_name" property="userName"/> <result column="user_name" property="userName" />
<result column="project_id" property="projectId"/> <result column="project_id" property="projectId" />
<result column="project_name" property="projectName"/> <result column="project_name" property="projectName" />
<result column="dept_id" property="deptId"/> <result column="dept_id" property="deptId" />
<result column="work_time" property="workTime"/> <result column="work_time" property="workTime" />
<result column="work_day" property="workDay"/> <result column="work_day" property="workDay" />
<result column="status" property="status"/> <result column="status" property="status" />
<result column="reviewer_id" property="reviewerId"/> <result column="reviewer_id" property="reviewerId" />
<result column="des" property="des"/> <result column="des" property="des" />
<result column="reason" property="reason"/> <result column="reason" property="reason" />
<result column="type" property="type"/> <result column="type" property="type" />
<result column="is_overtime" property="isOvertime"/> <result column="is_overtime" property="isOvertime" />
<result column="create_time" property="createTime"/> <result column="create_time" property="createTime" />
<result column="modify_time" property="modifyTime"/> <result column="modify_time" property="modifyTime" />
</resultMap> </resultMap>
<!-- 通用查询结果列 --> <resultMap id="dayWorkTimeAndType" type="cn.wisenergy.model.dto.DayWorkTimeAndType">
<sql id="Base_Column_List"> <result property="day" column="day(work_day)"/>
work_id, user_id, user_name, project_id, project_name, dept_id, work_time, work_day, status, reviewer_id, des, reason, type, is_overtime, create_time, modify_time <result property="type" column="type"/>
</sql> <result property="workTime" column="sum(work_time)"/>
<sql id="vals"> </resultMap>
#{userId},#{userName},#{projectId},#{projectName},#{deptId},#{workTime},#{workDay},#{status},#{reviewerId},#{des},#{reason},#{type},#{isOvertime},now(),now()
</sql>
<sql id="cols_exclude_id">
user_id, user_name, project_id, project_name, dept_id, work_time, work_day, status, reviewer_id, des, reason, type, is_overtime, create_time, modify_time
</sql>
<resultMap id="monthlyWorkHourStatistics" type="cn.wisenergy.model.dto.MonthlyWorkingHoursStatistics">
<result property="projectType" column="type"/>
<result property="count" column="count(1)"/>
<result property="workTime" column="sum(work_time)"/>
</resultMap>
<sql id="table"> <sql id="table">
work_time_order work_time_order
</sql> </sql>
<insert id="save" keyProperty="workId" useGeneratedKeys="true">
insert into
<include refid="table"/>
(<include refid="cols_exclude_id"/>)
value(
<include refid="vals"/>
)
</insert>
<update id="updateByIds">
UPDATE
<include refid="table"/>
SET status = 2,reviewer_id = #{reviewerId}
WHERE work_id IN
<foreach collection="ids" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
</update>
<update id="updateStatusById">
UPDATE
<include refid="table"/>
SET status = 3,reason = #{reason},reviewer_id = #{reviewerId},modify_time=now()
WHERE work_id = #{id}
</update>
<sql id="criteria">
<if test="workId != null">and work_id = #{workId}</if>
<if test="userId != null">and user_id = #{userId}</if>
<if test="userName != null">and user_name = #{userName}</if>
<if test="projectId != null">and project_id =#{projectId}</if>
<if test="projectName != null">and project_name = #{projectName}</if>
<if test="deptId != null">and dept_id = #{deptId}</if>
<if test="workTime != null">and work_time = #{workTime}</if>
<if test="workDay != null">and work_day = #{workDay}</if>
<if test=" status != null">and `status` = #{status}</if>
<if test=" reviewerId != null">and reviewer_id = #{reviewerId}</if>
<if test="des != null">and des =#{des}</if>
<if test="reason != null">and reason = #{reason}</if>
<if test="type != null">and type = #{type}</if>
<if test="isOvertime != null">and is_overtime = #{isOvertime}</if>
<if test="createTime != null">and create_time &gt;= #{createTime}</if>
<if test="modifyTime != null">and #{modifyTime} &gt;= modify_time</if>
</sql>
<select id="getByDay" resultType="cn.wisenergy.model.app.WorkTimeOrder">
SELECT <include refid="Base_Column_List"/>
FROM <include refid="table"/>
<where>
<if test="null !=userId">
<if test="null != userId">
AND user_id = #{userId}
</if>
<if test="null != workDay">
AND DATE_FORMAT(work_day, '%Y%m%d') = DATE_FORMAT(#{workDay} ,'%Y%m%d')
</if>
</if>
</where>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
work_id, user_id, user_name, project_id, project_name, dept_id, work_time, work_day, status, reviewer_id, des, reason, type, is_overtime, create_time, modify_time
</sql>
<select id="collectByProjectType" resultMap="monthlyWorkHourStatistics">
select type,count(1),sum(work_time)
from <include refid="table"/>
where user_id = #{userId} AND type = #{projectType} AND work_day >=#{currentMonthFirstDay}
</select>
<select id="listByDateAndUserId" resultMap="dayWorkTimeAndType">
select user_id,day(work_day),CASE when `type` = 3 then 1 when `type` = 4 then 2 else 0 end AS `type`, sum(work_time)
from <include refid="table"/>
where year(work_day) = #{year} AND month(work_day) = #{month} AND user_id = #{userId} AND status in (2,5)
group by user_id,day(work_day), CASE when `type` = 3 then 1 when `type` = 4 then 2 else 0 end
order by day(work_day)
</select> </select>
<select id="queryByPage" resultType="cn.wisenergy.model.app.WorkTimeOrder">
SELECT <select id="getCountByCondition" resultType="integer" parameterType="map">
<include refid="Base_Column_List"/> select count(1)
FROM from <include refid="table"/>
<include refid="table"/>
<where> <where>
<if test="null != projectId"> <include refid="criteria"/>
AND project_id = #{projectId} <if test="startDay != null">
AND work_day>=#{startDay}
</if>
<if test="projectIds != null">
AND project_id IN
<foreach collection="projectIds" item="projectId" open="(" close=")" separator=",">
#{projectId}
</foreach>
</if> </if>
<if test="null != status"> <if test="statusArray != null">
AND status = #{status} AND `status` IN
<foreach collection="statusArray" item="workStatus" open="(" close=")" separator=",">#{workStatus}</foreach>
</if> </if>
<if test="null != types"> <if test="typeArray != null">
AND type IN AND `type` IN
<foreach collection="types" item="type" open="(" close=")" separator=","> <foreach collection="typeArray" item="type" open="(" close=")" separator=",">
#{type} #{type}
</foreach> </foreach>
</if> </if>
</where> </where>
ORDER BY work_day,project_name DESC
</select> </select>
</mapper> </mapper>
...@@ -9,9 +9,27 @@ ...@@ -9,9 +9,27 @@
<result column="dept_id" property="deptId" /> <result column="dept_id" property="deptId" />
</resultMap> </resultMap>
<sql id="table">
work_user_dept
</sql>
<sql id="cols_all">
id, <include refid="cols_exclude_id"/>
</sql>
<sql id="cols_exclude_id">
user_id, dept_id
</sql>
<!-- 通用查询结果列 --> <!-- 通用查询结果列 -->
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, user_id, dept_id id, user_id, dept_id
</sql> </sql>
<select id="listByDeptId" resultType="integer" parameterType="integer">
select user_id
from <include refid="table"/>
where dept_id = #{deptId}
</select>
</mapper> </mapper>
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
<!-- 通用查询映射结果 --> <!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="cn.wisenergy.model.app.WorkUser"> <resultMap id="BaseResultMap" type="cn.wisenergy.model.app.WorkUser">
<id column="id" property="id" /> <id column="id" property="id" />
<result column="oa_user_id" property="oaUserId" />
<result column="dept_id" property="deptId" /> <result column="dept_id" property="deptId" />
<result column="name" property="name" /> <result column="name" property="name" />
<result column="login_name" property="loginName" /> <result column="login_name" property="loginName" />
...@@ -20,9 +21,67 @@ ...@@ -20,9 +21,67 @@
<result column="modify_time" property="modifyTime" /> <result column="modify_time" property="modifyTime" />
</resultMap> </resultMap>
<!-- 通用查询结果列 --> <sql id="table">
<sql id="Base_Column_List"> work_user
id, dept_id, name, login_name, password, phone, email, role, type, status, wx_id, level, create_time, modify_time
</sql> </sql>
<sql id="cols_all">
id,
<include refid="cols_exclude_id"/>
</sql>
<sql id="cols_exclude_id">
name, oa_user_id, login_name, phone, dept_id, email, role ,type,status,wx_id,level,create_time,modify_time
</sql>
<sql id="values">
#{name},#{oaUserId},#{loginName},#{phone},#{deptId},#{email},#{role},#{type},#{status},#{wxId},#{level},now(),now()
</sql>
<sql id="updateCondition">
<if test="name != null">name = #{name},</if>
<if test="oaUserId != null">oa_user_id = #{oaUserId},</if>
<if test="loginName != null">login_name = #{loginName},</if>
<if test="phone != null">phone =#{phone},</if>
<if test="deptId != null">dept_id = #{deptId},</if>
<if test="email != null">email = #{email},</if>
<if test="role != null">role = #{role},</if>
<if test="type != null">type =#{type},</if>
<if test="status != null">status = #{status},</if>
<if test="wxId != null">wx_id =#{wxId},</if>
<if test="level != null">level = #{level},</if>
modify_time =now()
</sql>
<sql id="criteria">
<if test="id != null">and id = #{id}</if>
<if test="oaUserId != null">and oa_user_id = #{oaUserId}</if>
<if test="name != null">and name = #{name}</if>
<if test="loginName != null">and login_name = #{loginName}</if>
<if test="phone != null">and phone =#{phone}</if>
<if test="deptId != null">and dept_id = #{deptId}</if>
<if test="email != null">and email = #{email}</if>
<if test="role != null">and role = #{role}</if>
<if test="type != null">and type =#{type}</if>
<if test="status != null">and status = #{status}</if>
<if test="wxId != null">and wx_id =#{wxId},</if>
<if test="level != null">and level = #{level}</if>
<if test="createTime != null">and create_time &gt;= #{createTime}</if>
<if test="modifyTime != null">and #{modifyTime} &gt;= modify_time</if>
</sql>
<select id="getUserInfo" resultMap="BaseResultMap" parameterType="map" >
select <include refid="cols_all"/>
from <include refid="table"/>
<where>
<include refid="criteria"/>
</where>
</select>
<select id="getUserById" resultMap="BaseResultMap" parameterType="map" >
select <include refid="cols_all"/>
from <include refid="table"/>
where id = #{userId}
</select>
</mapper> </mapper>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" 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 />
</facet>
<facet type="web" name="Web">
<configuration>
<webroots />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" /> <output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" /> <output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$"> <content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/target" /> <excludeFolder url="file://$MODULE_DIR$/target" />
</content> </content>
<orderEntry type="inheritedJdk" /> <orderEntry type="inheritedJdk" />
...@@ -14,7 +24,6 @@ ...@@ -14,7 +24,6 @@
<orderEntry type="module" module-name="wisenergy-common" /> <orderEntry type="module" module-name="wisenergy-common" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" /> <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" /> <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
...@@ -39,6 +48,10 @@ ...@@ -39,6 +48,10 @@
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.1.7.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.1.7.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-context:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.1.7.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: net.sf.json-lib:json-lib:jdk15:2.4" level="project" />
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.8.0" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.1" level="project" />
<orderEntry type="library" name="Maven: net.sf.ezmorph:ezmorph:1.0.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-undertow:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-undertow:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.undertow:undertow-core:2.0.20.Final" level="project" /> <orderEntry type="library" name="Maven: io.undertow:undertow-core:2.0.20.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.xnio:xnio-api:3.3.8.Final" level="project" /> <orderEntry type="library" name="Maven: org.jboss.xnio:xnio-api:3.3.8.Final" level="project" />
...@@ -72,26 +85,13 @@ ...@@ -72,26 +85,13 @@
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.7.RELEASE" level="project" /> <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.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: 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.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" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.1.2" level="project" /> <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.1.2" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.4" level="project" /> <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.4" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.4" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.2.10" level="project" /> <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.2.10" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.2.10" level="project" /> <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.2.10" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.8" level="project" /> <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.8" level="project" />
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:1.2" level="project" />
<orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.16" level="project" /> <orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.16" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.1.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.1.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.1.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.1.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.1.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.1.22" level="project" /> <orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.1.22" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:druid:1.1.22" level="project" /> <orderEntry type="library" name="Maven: com.alibaba:druid:1.1.22" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.1.5.RELEASE" level="project" />
...@@ -137,12 +137,24 @@ ...@@ -137,12 +137,24 @@
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-cipher:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-cipher:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-core:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-core:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-ogdl:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-ogdl:1.4.0" level="project" />
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.3" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-event:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-event:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-spring:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-spring:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-web:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-web:1.4.0" level="project" />
<orderEntry type="library" name="Maven: cn.hutool:hutool-all:4.6.7" level="project" /> <orderEntry type="library" name="Maven: cn.hutool:hutool-all:4.6.7" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-generator:3.4.1" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.4.0" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.4.0" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.4.0" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.5" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.4.0" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.4.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.1.5.RELEASE" 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" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.velocity:velocity-engine-core:2.0" level="project" />
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:1.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.8.1" level="project" /> <orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.8.1" level="project" />
<orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" /> <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
<orderEntry type="library" name="Maven: commons-pool:commons-pool:1.6" level="project" /> <orderEntry type="library" name="Maven: commons-pool:commons-pool:1.6" level="project" />
......
...@@ -29,10 +29,10 @@ public class WorkDept implements Serializable { ...@@ -29,10 +29,10 @@ public class WorkDept implements Serializable {
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
private Integer id; private Integer id;
@ApiModelProperty(name = "deptName",value = "部门名称(行业应用、平台产品、业务探索、解决方案本部、遵义巴)") @ApiModelProperty(name = "deptName",value = "部门名称( '大数据产品及应用部''软件集成部''解决方案中心本部''遵义业务部'畅发科技''智慧城市部' '智慧勘察研发部' '汽车业务部')")
private String deptName; private String deptName;
@ApiModelProperty(name = "oaDeptId",value = "OA") @ApiModelProperty(name = "oaDeptId", value = "oa中的部门编号")
private String oaDeptId; private String oaDeptId;
@ApiModelProperty(name = "createTime",value = "创建时间") @ApiModelProperty(name = "createTime",value = "创建时间")
...@@ -41,8 +41,5 @@ public class WorkDept implements Serializable { ...@@ -41,8 +41,5 @@ public class WorkDept implements Serializable {
@ApiModelProperty(name = "modifyTime",value = "修改时间") @ApiModelProperty(name = "modifyTime",value = "修改时间")
private Date modifyTime; private Date modifyTime;
@ApiModelProperty(name = "deptManagerId", value = "部门经理id")
private Integer deptManagerId;
} }
...@@ -54,7 +54,7 @@ public class WorkProject implements Serializable { ...@@ -54,7 +54,7 @@ public class WorkProject implements Serializable {
@ApiModelProperty(name = "costBudget",value = "成本预算,以万为单位") @ApiModelProperty(name = "costBudget",value = "成本预算,以万为单位")
private BigDecimal costBudget; private BigDecimal costBudget;
@ApiModelProperty(name = "projectStatus",value = "是否结项:0:结项,1:未结束") @ApiModelProperty(name = "isConclusion",value = "是否结项 :0:项目已结束、1:项目未结束")
private Integer isConclusion; private Integer isConclusion;
@ApiModelProperty(name = "startTime",value = "项目开始时间") @ApiModelProperty(name = "startTime",value = "项目开始时间")
...@@ -69,8 +69,5 @@ public class WorkProject implements Serializable { ...@@ -69,8 +69,5 @@ public class WorkProject implements Serializable {
@ApiModelProperty(name = "modifyTime",value = "修改时间") @ApiModelProperty(name = "modifyTime",value = "修改时间")
private Date modifyTime; private Date modifyTime;
@ApiModelProperty(name = "oaPeojectNumbel",value = "oa中的项目编号")
private String oaPeojectNumbel;
} }
...@@ -35,17 +35,19 @@ public class WorkProjectChange implements Serializable { ...@@ -35,17 +35,19 @@ public class WorkProjectChange implements Serializable {
@ApiModelProperty(name = "type",value = "1:成本预算变更,2:工时预算变更") @ApiModelProperty(name = "type",value = "1:成本预算变更,2:工时预算变更")
private Integer type; private Integer type;
@ApiModelProperty(name = "modifyBefore",value = "修改后预算之前")
private String modifyBefore;
@ApiModelProperty(name = "modifyAfter",value = "修改后的预算") @ApiModelProperty(name = "modifyAfter",value = "修改后的预算")
private String modifyAfter; private String modifyAfter;
@ApiModelProperty(name = "modifyBefore",value = "修改前的预算")
private String modifyBefore;
@ApiModelProperty(name = "reason",value = "变更原因") @ApiModelProperty(name = "reason",value = "变更原因")
private String reason; private String reason;
@ApiModelProperty(name = "changeDate",value = "变更日期") @ApiModelProperty(name = "changeDate",value = "变更日期")
private Date modifyTime; private Date modifyTime;
private Date changeDate;
} }
package cn.wisenergy.model.app;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author chenqi
* @since 2021-01-19
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="WorkSubmitAdopt", description="自动提交审核类")
public class WorkSubmitAdopt implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(name = "id",value = "主键id")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(name = "submitTime",value = "工时提交时限")
private Integer submitTime;
@ApiModelProperty(name = "autoAdopt",value = "工时自动审批时限")
private Integer autoAdopt;
}
...@@ -65,7 +65,7 @@ public class WorkTimeOrder implements Serializable { ...@@ -65,7 +65,7 @@ public class WorkTimeOrder implements Serializable {
@ApiModelProperty(name = "type",value = "1:项目,2:商机,3:请假,4:调休,5:外部商务、技术交流 6:内部培训、技术准备、管理 7:其他非项目/商机工作") @ApiModelProperty(name = "type",value = "1:项目,2:商机,3:请假,4:调休,5:外部商务、技术交流 6:内部培训、技术准备、管理 7:其他非项目/商机工作")
private Integer type; private Integer type;
@ApiModelProperty(name = "isOvertime",value = "工时类型:0:正常工时,1:加班") @ApiModelProperty(name = "isOvertime",value = "0:正常工时,1:加班")
private Integer isOvertime; private Integer isOvertime;
@ApiModelProperty(name = "createTime",value = "工单创建时间") @ApiModelProperty(name = "createTime",value = "工单创建时间")
......
...@@ -29,6 +29,11 @@ public class WorkUser implements Serializable { ...@@ -29,6 +29,11 @@ public class WorkUser implements Serializable {
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
private Integer id; private Integer id;
@ApiModelProperty(name = "oaUserId",value = "oa中的用户编号")
private String oaUserId;
@ApiModelProperty(name = "deptId",value = "部门id") @ApiModelProperty(name = "deptId",value = "部门id")
private Integer deptId; private Integer deptId;
......
...@@ -35,6 +35,4 @@ public class WorkUserProject implements Serializable { ...@@ -35,6 +35,4 @@ public class WorkUserProject implements Serializable {
private Integer projectId; private Integer projectId;
} }
package cn.wisenergy.model.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @description: 月审批
* @author: nh
* @create: 2021-01-19 16:00
**/
@Data
public class ApprovalStatistics implements Serializable {
private static final long serialVersionUID = -8541322571924444314L;
/**
* 已审批条数
*/
private Integer approvalCount;
/**
* 未审批条数
*/
private Integer notApprovalCount;
/**
* 驳回未重报
*/
private Integer rejectNotSubmit;
}
package cn.wisenergy.model.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @description: 一天的工时信息
* @author: nh
* @create: 2021-01-20 13:36
**/
@Data
public class DayWorkTimeAndType implements Serializable {
private static final long serialVersionUID = 1198786417184957375L;
private Integer day;
/**
* 工时类型,0:正常,1:请假,2:调休
*/
private Integer type;
private Integer workTime;
}
package cn.wisenergy.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description: 获取部门员工一个月每天工时接口参数
* @author: nh
* @create: 2021-01-20 16:04
**/
@Data
@ApiModel(value = "GetMonthlyCollectParam", description = "获取部门员工一个月每天工时接口参数")
public class GetMonthlyCollectParam {
/**
* 年
*/
@ApiModelProperty(name = "year", value = "年")
private Integer year;
/**
* 月
*/
@ApiModelProperty(name = "month", value = "月")
private Integer month;
/**
* 用户主键
*/
@ApiModelProperty(name = "userId", value = "用户主键")
private Integer userId;
/**
* 部门主键
*/
@ApiModelProperty(name = "deptId", value = "部门主键")
private Integer deptId;
/**
* 当前页码
*/
@ApiModelProperty(name = "currentPage", value = "当前页码")
private Integer currentPage;
/**
* 每页的数量
*/
@ApiModelProperty(name = "size", value = "每页的数量")
private Integer size;
}
package cn.wisenergy.model.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @description:
* @author: nh
* @create: 2021-01-19 15:47
**/
@Data
public class MonthlyWorkingHoursStatistics implements Serializable {
private static final long serialVersionUID = -8216457470821285624L;
/**
* 商机/项目
*/
private Integer projectType;
/**
* 填报次数
*/
private Integer count;
/**
* 填报工时
*/
private Integer workTime;
}
package cn.wisenergy.model.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @description: 月汇总信息
* @author: nh
* @create: 2021-01-19 17:22
**/
@Data
public class StatisticsTableDto implements Serializable {
private static final long serialVersionUID = -7581698349760684467L;
private Integer userId;
private String userName;
List<DayWorkTimeAndType> dayWorkTimeAndTypeList;
}
package cn.wisenergy.model.enums;
/**
* @program: springboot
* @description:
* @author: 聂某
* @create: 2020-12-23 16:58
**/
public enum ManagerEnum {
NOT_MANAGER(0, "该用户不是管理员"),
IS_PROJECT_DIRECTOR(1,"用户是项目/商机负责人"),
IS_DEPARTMENT_DIRECTOR(2,"用户是部门负责人"),
IS_CENTRE_DIRECTOR(3,"用户是中心负责人"),
IS_SYSTEM_MANAGER(4,"用户是系统负责人");
private Integer code;
private String msg;
ManagerEnum(Integer code, String msg){
this.code = code;
this.msg = msg;
}
public Integer getCode(){
return code;
}
public String getMsg(){
return msg;
}
}
package cn.wisenergy.model.enums;
public enum ProjectTypeEnum {
PROJECT(0, "该项目类型是项目"),
BUSINESS_OPPORTUNITY(1,"该项目类型是商机");
private Integer code;
private String msg;
ProjectTypeEnum(Integer code, String msg){
this.code = code;
this.msg = msg;
}
public Integer getCode(){
return code;
}
public String getMsg(){
return msg;
}
}
package cn.wisenergy.model.enums;
public enum WorkOrderStatus {
WAIT_AUDIT(1, "待审核"),
ALREADY_AUDIT(2, "已审核"),
TURN_DOWN(3, "驳回"),
RE_SUBMIT(4, "重新提交"),
AUTO_AUDIT(5, "自动审核");
private Integer code;
private String desc;
WorkOrderStatus(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
package cn.wisenergy.model.enums;
public enum WorkOrderType {
PROJECT(1, "项目"),
BUSINESS(2, "商机"),
LEAVE(3, "请假"),
CONMPENSATORY_LEAVE(4, "调休"),
EXTERNAL_WORK(5, "外部商务、技术交流"),
INTERNAL_WORK(6, "内部培训、技术准备、管理"),
OTHER_NOT_PROJECT_BUSINESS(7, "其他非项目、商机工作");
private Integer code;
private String desc;
WorkOrderType(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" 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 />
</facet>
<facet type="web" name="Web">
<configuration>
<webroots />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" /> <output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" /> <output-test url="file://$MODULE_DIR$/target/test-classes" />
...@@ -12,7 +22,6 @@ ...@@ -12,7 +22,6 @@
<orderEntry type="module" module-name="wisenergy-common" /> <orderEntry type="module" module-name="wisenergy-common" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" /> <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" /> <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
...@@ -37,6 +46,10 @@ ...@@ -37,6 +46,10 @@
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.1.7.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.1.7.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-context:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.1.7.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: net.sf.json-lib:json-lib:jdk15:2.4" level="project" />
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.8.0" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.1" level="project" />
<orderEntry type="library" name="Maven: net.sf.ezmorph:ezmorph:1.0.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-undertow:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-undertow:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.undertow:undertow-core:2.0.20.Final" level="project" /> <orderEntry type="library" name="Maven: io.undertow:undertow-core:2.0.20.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.xnio:xnio-api:3.3.8.Final" level="project" /> <orderEntry type="library" name="Maven: org.jboss.xnio:xnio-api:3.3.8.Final" level="project" />
...@@ -70,26 +83,13 @@ ...@@ -70,26 +83,13 @@
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.7.RELEASE" level="project" /> <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.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: 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.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" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.1.2" level="project" /> <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.1.2" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.4" level="project" /> <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.4" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.4" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.2.10" level="project" /> <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.2.10" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.2.10" level="project" /> <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.2.10" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.8" level="project" /> <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.8" level="project" />
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:1.2" level="project" />
<orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.16" level="project" /> <orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.16" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.1.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.1.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.1.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.1.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.1.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.1.22" level="project" /> <orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.1.22" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:druid:1.1.22" level="project" /> <orderEntry type="library" name="Maven: com.alibaba:druid:1.1.22" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.1.5.RELEASE" level="project" />
...@@ -135,8 +135,6 @@ ...@@ -135,8 +135,6 @@
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-cipher:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-cipher:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-core:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-core:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-ogdl:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-ogdl:1.4.0" level="project" />
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.3" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-event:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-event:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-spring:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-spring:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-web:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-web:1.4.0" level="project" />
...@@ -148,6 +146,21 @@ ...@@ -148,6 +146,21 @@
<orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:2.3.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:2.3.0" level="project" />
<orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" /> <orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
<orderEntry type="library" name="Maven: cn.hutool:hutool-all:4.6.7" level="project" /> <orderEntry type="library" name="Maven: cn.hutool:hutool-all:4.6.7" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-generator:3.4.1" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.4.0" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.4.0" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.4.0" level="project" />
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:3.2" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.5" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.4.0" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.4.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.1.5.RELEASE" 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" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.velocity:velocity-engine-core:2.0" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.26" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.8.1" level="project" /> <orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.8.1" level="project" />
<orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" /> <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
<orderEntry type="library" name="Maven: commons-pool:commons-pool:1.6" level="project" /> <orderEntry type="library" name="Maven: commons-pool:commons-pool:1.6" level="project" />
...@@ -166,7 +179,6 @@ ...@@ -166,7 +179,6 @@
<orderEntry type="library" name="Maven: com.alibaba:easyexcel:2.2.6" level="project" /> <orderEntry type="library" name="Maven: com.alibaba:easyexcel:2.2.6" level="project" />
<orderEntry type="library" name="Maven: cglib:cglib:3.1" level="project" /> <orderEntry type="library" name="Maven: cglib:cglib:3.1" level="project" />
<orderEntry type="library" name="Maven: org.ow2.asm:asm:4.2" level="project" /> <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: org.ehcache:ehcache:3.6.3" level="project" />
</component> </component>
</module> </module>
\ No newline at end of file
package cn.wisenergy.service;
import cn.wisenergy.model.dto.GetMonthlyCollectParam;
import com.github.pagehelper.PageInfo;
public interface StatisticsService {
/**
* 获取部门所有员工每天工时
* @param param 参数对象
* @return
*/
PageInfo getMonthlyCollect(GetMonthlyCollectParam param);
}
...@@ -2,6 +2,8 @@ package cn.wisenergy.service; ...@@ -2,6 +2,8 @@ package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkDept; import cn.wisenergy.model.app.WorkDept;
import java.util.List;
/** /**
* <p> * <p>
* 服务类 * 服务类
...@@ -13,4 +15,10 @@ import cn.wisenergy.model.app.WorkDept; ...@@ -13,4 +15,10 @@ import cn.wisenergy.model.app.WorkDept;
public interface WorkDeptService { public interface WorkDeptService {
WorkDept getById(Integer id); WorkDept getById(Integer id);
/**
* 获取所有部门的信息
* @param userId
* @return
*/
List<WorkDept> getDeptInfo(Integer userId, Integer deptId);
} }
...@@ -11,6 +11,4 @@ import java.util.Date; ...@@ -11,6 +11,4 @@ import java.util.Date;
* @since 2021-01-19 * @since 2021-01-19
*/ */
public interface WorkHolidayService { public interface WorkHolidayService {
Boolean isHoliday(Date date);}
Boolean isHoliday(Date date);
}
package cn.wisenergy.service; package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkProject; import cn.wisenergy.model.app.WorkProject;
import cn.wisenergy.model.dto.ProjectDto;
import java.util.List; import java.util.List;
...@@ -35,4 +34,9 @@ public interface WorkProjectService { ...@@ -35,4 +34,9 @@ public interface WorkProjectService {
List<ProjectDto> getByManagerId(Integer id); List<ProjectDto> getByManagerId(Integer id);
* 获取用户管理项目
* @param userId
* @return
*/
List<WorkProject> getUserManageProjects(Integer userId);
} }
...@@ -9,16 +9,20 @@ import cn.wisenergy.model.dto.WorkTimeOrderDto; ...@@ -9,16 +9,20 @@ import cn.wisenergy.model.dto.WorkTimeOrderDto;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* <p>
* 服务类
* </p>
* *
* @author chenqi * @author chenqi
* @since 2021-01-19 * @since 2021-01-19
*/ */
public interface WorkTimeOrderService { public interface WorkTimeOrderService {
/**
* 获取用户本月填报和审批情况,权限为填报时只有填报情况
* @param userId
* @return
*/
List<Object> getMonthlyStatistics(Integer userId);
/** /**
* 功能; 获取某日填报信息 * 功能; 获取某日填报信息
......
package cn.wisenergy.service; package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkProject;
import java.util.List; import java.util.List;
/** /**
...@@ -18,4 +20,5 @@ public interface WorkUserProjectService { ...@@ -18,4 +20,5 @@ public interface WorkUserProjectService {
* @return * @return
*/ */
List<Integer> getProjectIdByUserId(Integer userId); List<Integer> getProjectIdByUserId(Integer userId);
List<WorkProject> getUserManageProject(Integer userId);
} }
package cn.wisenergy.service; package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkUser; import cn.wisenergy.model.app.WorkUser;
import java.util.List; import java.util.List;
/** /**
...@@ -13,6 +12,22 @@ import java.util.List; ...@@ -13,6 +12,22 @@ import java.util.List;
* @since 2021-01-19 * @since 2021-01-19
*/ */
public interface WorkUserService { public interface WorkUserService {
/**
* 用户登录
* @param loginName 登录名
* @param password 密码
* @param source 登录来源
* @return
*/
WorkUser login(String loginName, String password, String source);
/**
* 获取用户信息
* @param id 用户主键
* @return
*/
WorkUser getUserById(Integer id);
WorkUser getById(Integer id); WorkUser getById(Integer id);
WorkUser getDeptManagerByIds(List<Integer> ids); WorkUser getDeptManagerByIds(List<Integer> ids);
......
package cn.wisenergy.service.impl;
import cn.wisenergy.common.utils.DateUtil;
import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.WorkTimeOrderMapper;
import cn.wisenergy.mapper.WorkUserDeptMapper;
import cn.wisenergy.model.app.WorkUser;
import cn.wisenergy.model.dto.DayWorkTimeAndType;
import cn.wisenergy.model.dto.GetMonthlyCollectParam;
import cn.wisenergy.model.dto.StatisticsTableDto;
import cn.wisenergy.model.enums.ManagerEnum;
import cn.wisenergy.service.StatisticsService;
import cn.wisenergy.service.WorkUserService;
import com.alibaba.excel.util.StringUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @description:
* @author: nh
* @create: 2021-01-19 17:19
**/
@Service
@Slf4j
public class StatisticsServiceImpl implements StatisticsService {
@Autowired
WorkUserService workUserService;
@Autowired
WorkTimeOrderMapper workOrderMapper;
@Autowired
WorkUserDeptMapper workUserDeptMapper;
@Override
public PageInfo getMonthlyCollect(GetMonthlyCollectParam param) {
log.info("StatisticsServiceImpl[]getMonthlyCollect[]input.param" + param);
if (param == null) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
//管理员用户
WorkUser user = workUserService.getUserById(param.getUserId());
if (user.getLevel() != ManagerEnum.IS_SYSTEM_MANAGER.getCode()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN);
}
//默认时间为当月
Integer year = param.getYear();
Integer month = param.getMonth();
if (StringUtils.isEmpty(param.getYear()) || StringUtils.isEmpty(param.getMonth())) {
Date now = new Date();
year = DateUtil.getYear(now);
month = DateUtil.getMonth(now)+1;
}
//默认部门主键为1
Integer deptId = param.getDeptId();
if (param.getDeptId() == null) {
deptId = 1;
}
//默认当前页码为1,每页数量为10
if (param.getCurrentPage() == null) {
param.setCurrentPage(1);
}
if (param.getSize() == null) {
param.setSize(10);
}
//分页获取部门下所有员工主键
PageHelper.startPage(param.getCurrentPage(), param.getSize());
List<Integer> userIdList = workUserDeptMapper.listByDeptId(deptId);
PageInfo pageInfo = new PageInfo(userIdList);
//获取员工一个月中已审核、自动审核的工单单日汇总汇总
ArrayList<StatisticsTableDto> statisticsTableDtos = new ArrayList<>();
for (Integer id : userIdList) {
WorkUser workUser = workUserService.getUserById(id);
//获取当月每天工时信息
List<DayWorkTimeAndType> dayWorkTimeAndTypes = workOrderMapper.listByDateAndUserId(year, month, id);
//将一天中类型不为请假和调休的工时累加
//封装成对象
StatisticsTableDto statisticsTableDto = new StatisticsTableDto();
statisticsTableDto.setUserId(id);
statisticsTableDto.setUserName(workUser.getName());
statisticsTableDto.setDayWorkTimeAndTypeList(dayWorkTimeAndTypes);
statisticsTableDtos.add(statisticsTableDto);
}
pageInfo.setList(statisticsTableDtos);
return pageInfo;
}
}
...@@ -15,6 +15,12 @@ import org.springframework.stereotype.Service; ...@@ -15,6 +15,12 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import cn.wisenergy.service.WorkCollectService;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
......
package cn.wisenergy.service.impl; package cn.wisenergy.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM; import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.BaseCustomException; import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.WorkDeptMapper; import cn.wisenergy.mapper.WorkDeptMapper;
...@@ -9,6 +10,8 @@ import lombok.extern.slf4j.Slf4j; ...@@ -9,6 +10,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* <p> * <p>
* 服务实现类 * 服务实现类
...@@ -22,17 +25,27 @@ import org.springframework.stereotype.Service; ...@@ -22,17 +25,27 @@ import org.springframework.stereotype.Service;
public class WorkDeptServiceImpl implements WorkDeptService { public class WorkDeptServiceImpl implements WorkDeptService {
@Autowired @Autowired
private WorkDeptMapper workDeptMapper; WorkUserService workUserService;
@Autowired
WorkDeptMapper workDeptMapper;
@Override @Override
public WorkDept getById(Integer id) { public List<WorkDept> getDeptInfo(Integer userId, Integer deptId) {
log.info("WorkDeptServiceImpl[]getById[]input.param.id" + id); log.info("WorkDeptServiceImpl[]getAllDeptInfo" + userId);
if (null == id) { if (userId == null || deptId == null) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
} }
WorkDept workDept = workDeptMapper.selectById(id); //判断用户权限
if (null == workDept) { WorkUser user = workUserService.getUserById(userId);
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DEPT_IS_NULL); if (user.getLevel() == ManagerEnum.NOT_MANAGER.getCode()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN);
}
//获取部门信息
List<WorkDept> workDepts = workDeptMapper.getDeptById(deptId);
if (CollectionUtil.isEmpty(workDepts)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DEPT_NOT_FOUND);
} }
return workDept; return workDepts;
} }
} }
package cn.wisenergy.service.impl; package cn.wisenergy.service.impl;
import cn.wisenergy.mapper.WorkHolidayMapper;
import cn.wisenergy.model.app.WorkHoliday;
import cn.wisenergy.service.WorkHolidayService; import cn.wisenergy.service.WorkHolidayService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/** /**
* <p> * <p>
* 服务实现类 * 服务实现类
...@@ -75,5 +67,4 @@ public class WorkHolidayServiceImpl implements WorkHolidayService { ...@@ -75,5 +67,4 @@ public class WorkHolidayServiceImpl implements WorkHolidayService {
return nowTime >= startTime && nowTime <= endTime; return nowTime >= startTime && nowTime <= endTime;
} }
} }
...@@ -4,11 +4,11 @@ import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM; ...@@ -4,11 +4,11 @@ import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.BaseCustomException; import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.WorkProjectMapper; import cn.wisenergy.mapper.WorkProjectMapper;
import cn.wisenergy.model.app.WorkProject; import cn.wisenergy.model.app.WorkProject;
import cn.wisenergy.model.dto.ProjectDto; import cn.wisenergy.model.app.WorkUser;
import cn.wisenergy.model.enums.ManagerEnum;
import cn.wisenergy.service.WorkProjectService; import cn.wisenergy.service.WorkProjectService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import cn.wisenergy.service.WorkUserService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
......
package cn.wisenergy.service.impl; package cn.wisenergy.service.impl;
import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.WorkSbumitAdoptMapper;
import cn.wisenergy.model.app.WorkSbumitAdopt;
import cn.wisenergy.service.WorkSbumitAdoptService; import cn.wisenergy.service.WorkSbumitAdoptService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
......
package cn.wisenergy.service.impl; package cn.wisenergy.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.wisenergy.common.utils.DateUtil; import cn.wisenergy.common.utils.DateUtil;
import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.WorkTimeOrderMapper; import cn.wisenergy.mapper.WorkTimeOrderMapper;
import cn.wisenergy.model.app.*; import cn.wisenergy.model.app.*;
import cn.wisenergy.model.dto.CreateWorkOrderDto; import cn.wisenergy.model.dto.CreateWorkOrderDto;
...@@ -24,6 +24,22 @@ import java.util.ArrayList; ...@@ -24,6 +24,22 @@ import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import cn.wisenergy.model.app.WorkProject;
import cn.wisenergy.model.app.WorkUser;
import cn.wisenergy.model.dto.ApprovalStatistics;
import cn.wisenergy.model.dto.MonthlyWorkingHoursStatistics;
import cn.wisenergy.model.enums.ManagerEnum;
import cn.wisenergy.model.enums.ProjectTypeEnum;
import cn.wisenergy.model.enums.WorkOrderStatus;
import cn.wisenergy.model.enums.WorkOrderType;
import cn.wisenergy.service.WorkProjectService;
import cn.wisenergy.service.WorkTimeOrderService;
import cn.wisenergy.service.WorkUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
/** /**
* <p> * <p>
...@@ -37,31 +53,84 @@ import java.util.List; ...@@ -37,31 +53,84 @@ import java.util.List;
@Slf4j @Slf4j
public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
@Autowired
private WorkTimeOrderMapper workTimeOrderMapper;
@Autowired
private WorkProjectService workProjectService;
@Autowired
private WorkSbumitAdoptService workSbumitAdoptService;
@Autowired
private WorkCollectService workCollectService;
@Autowired @Autowired
private WorkUserService workUserService; private WorkUserService workUserService;
@Autowired @Autowired
private WorkHolidayService workHolidayService; private WorkProjectService workProjectService;
@Autowired
private WorkUserDeptService workUserDeptService;
@Autowired @Autowired
private WorkUserProjectService workUserProjectService; private WorkTimeOrderMapper workTimeOrderMapper;
@Autowired @Override
public ArrayList<Object> getMonthlyStatistics(Integer userId) {
log.info("WorkTimeOrderServiceImpl[]getMonthlyStatistics[]input.param" + userId);
WorkUser user = workUserService.getUserById(userId);
//本月第一天
Date firstDayOfMonth = DateUtil.getCurrentFirstDayOfMonth();
//返回数据对象
ArrayList<Object> objects = new ArrayList<>();
//用户是项目或部门级别
if (user.getLevel() == ManagerEnum.IS_PROJECT_DIRECTOR.getCode() ||
user.getLevel() == ManagerEnum.IS_DEPARTMENT_DIRECTOR.getCode()) {
HashMap<String, Object> map = new HashMap<>();
//以审批人、审核状态、开始时间查询本月审批数量
map.put("reviewerId", userId);
map.put("status", WorkOrderStatus.ALREADY_AUDIT.getCode());
map.put("startDay", firstDayOfMonth);
Integer completedCount = workTimeOrderMapper.getCountByCondition(map);
//本月驳回未重报数量
map.replace("status", WorkOrderStatus.TURN_DOWN.getCode());
Integer rejectAndNotResubmit = workTimeOrderMapper.getCountByCondition(map);
//项目级别,获取所管理项目,
if (user.getLevel() == ManagerEnum.IS_PROJECT_DIRECTOR.getCode()) {
List<WorkProject> projects = workProjectService.getUserManageProjects(userId);
ArrayList<Integer> projectIds = new ArrayList<>();
for (WorkProject project : projects) {
projectIds.add(project.getId());
}
if (CollectionUtil.isNotEmpty(projectIds)) {
map.put("projectIds", projectIds);
}
}
//部门级别
if (user.getLevel() == ManagerEnum.IS_DEPARTMENT_DIRECTOR.getCode()) {
map.put("deptId", user.getDeptId());
//填报项目类型编码
int[] workOrderTypeArray = {WorkOrderType.EXTERNAL_WORK.getCode(), WorkOrderType.INTERNAL_WORK.getCode(), WorkOrderType.OTHER_NOT_PROJECT_BUSINESS.getCode()};
map.put("typeArray", workOrderTypeArray);
}
//待审核包括:新提交和重新提交的
ArrayList<Integer> statusArray = new ArrayList<>();
statusArray.add(WorkOrderStatus.WAIT_AUDIT.getCode());
statusArray.add(WorkOrderStatus.RE_SUBMIT.getCode());
map.remove("reviewerId");
map.remove("status");
map.put("statusArray", statusArray);
//本月未审批数量
Integer notCompletedCount = workTimeOrderMapper.getCountByCondition(map);
//所有查询结果封装进对象
ApprovalStatistics approvalStatistics = new ApprovalStatistics();
approvalStatistics.setApprovalCount(completedCount);
approvalStatistics.setRejectNotSubmit(rejectAndNotResubmit);
approvalStatistics.setNotApprovalCount(notCompletedCount);
objects.add(approvalStatistics);
}
//用户是普通用户或项目级别用户
ArrayList<MonthlyWorkingHoursStatistics> statisticsArrayList = new ArrayList<>();
if (user.getLevel() == ManagerEnum.NOT_MANAGER.getCode() ||
user.getLevel() == ManagerEnum.IS_PROJECT_DIRECTOR.getCode()) {
String currentDayOfMonth = DateUtil.convertDateToYMDStr(DateUtil.getCurrentFirstDayOfMonth());
//统计项目类型工单填报次数、总工时
MonthlyWorkingHoursStatistics statistics1 = workTimeOrderMapper.collectByProjectType(userId, ProjectTypeEnum.PROJECT.getCode(), currentDayOfMonth);
statisticsArrayList.add(statistics1);
//统计商机类型工单填报次数、总工时
MonthlyWorkingHoursStatistics statistics2 = workTimeOrderMapper.collectByProjectType(userId, ProjectTypeEnum.BUSINESS_OPPORTUNITY.getCode(), currentDayOfMonth);
statisticsArrayList.add(statistics2);
objects.add(statisticsArrayList);
}
return objects;
}
private WorkDeptService workDeptService; private WorkDeptService workDeptService;
......
...@@ -2,7 +2,13 @@ package cn.wisenergy.service.impl; ...@@ -2,7 +2,13 @@ package cn.wisenergy.service.impl;
import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM; import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.BaseCustomException; import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.WorkProjectMapper;
import cn.wisenergy.mapper.WorkUserProjectMapper; import cn.wisenergy.mapper.WorkUserProjectMapper;
import cn.wisenergy.model.app.WorkProject;
import cn.wisenergy.model.app.WorkUser;
import cn.wisenergy.model.enums.ManagerEnum;
import cn.wisenergy.service.WorkUserProjectService;
import cn.wisenergy.service.WorkUserService;
import cn.wisenergy.model.app.WorkUserProject; import cn.wisenergy.model.app.WorkUserProject;
import cn.wisenergy.service.WorkUserProjectService; import cn.wisenergy.service.WorkUserProjectService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -12,6 +18,7 @@ import org.springframework.stereotype.Service; ...@@ -12,6 +18,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -52,4 +59,39 @@ public class WorkUserProjectServiceImpl implements WorkUserProjectService { ...@@ -52,4 +59,39 @@ public class WorkUserProjectServiceImpl implements WorkUserProjectService {
} }
return list; return list;
} }
private WorkUserService workUserService;
@Autowired
WorkUserProjectMapper workUserProjectMapper;
@Autowired
WorkProjectMapper workProjectMapper;
@Override
public List<WorkProject> getUserManageProject(Integer userId) {
log.info("WorkUserProjectServiceImpl[]getUserManageProject[]input.param" + userId);
if (userId == null) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
WorkUser user = workUserService.getUserById(userId);
if (user.getLevel() != ManagerEnum.IS_PROJECT_DIRECTOR.getCode() || user.getLevel() != ManagerEnum.IS_DEPARTMENT_DIRECTOR.getCode()) {
return null;
}
QueryWrapper<WorkProject> wrapper = new QueryWrapper<>();
//项目负责人查看管理项目
if (user.getLevel() == ManagerEnum.IS_PROJECT_DIRECTOR.getCode()) {
wrapper.eq("manager_id", user.getId());
}
//部门负责人查看部门项目
if (user.getLevel() == ManagerEnum.IS_DEPARTMENT_DIRECTOR.getCode()) {
wrapper.eq("dept_id", user.getDeptId());
}
//项目未结
wrapper.eq("is_conclusion", 0);
//查询
List<WorkProject> workProjects = workProjectMapper.selectList(wrapper);
return workProjects;
}
} }
package cn.wisenergy.service.impl; package cn.wisenergy.service.impl;
import cn.wisenergy.common.utils.Md5Util;
import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM; import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.BaseCustomException; import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.WorkDeptMapper;
import cn.wisenergy.mapper.WorkUserMapper; import cn.wisenergy.mapper.WorkUserMapper;
import cn.wisenergy.model.app.WorkUser; import cn.wisenergy.model.app.WorkUser;
import cn.wisenergy.model.enums.ManagerEnum;
import cn.wisenergy.service.WorkUserService; import cn.wisenergy.service.WorkUserService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* <p> * <p>
* 服务实现类 * 服务实现类
* </p>
*
* @author chenqi * @author chenqi
* @since 2021-01-19 * @since 2021-01-19
*/ */
@Service @Service
@Slf4j @Slf4j
public class WorkUserServiceImpl implements WorkUserService { public class WorkUserServiceImpl implements WorkUserService {
@Autowired @Autowired
private WorkUserMapper workUserMapper; private WorkUserMapper workUserMapper;
@Override @Override
...@@ -51,5 +55,52 @@ public class WorkUserServiceImpl implements WorkUserService { ...@@ -51,5 +55,52 @@ public class WorkUserServiceImpl implements WorkUserService {
wrapper.in("id",ids); wrapper.in("id",ids);
WorkUser workUser = workUserMapper.selectOne(wrapper); WorkUser workUser = workUserMapper.selectOne(wrapper);
return workUser; return workUser;
@Autowired
private WorkDeptMapper workDeptMapper;
private static final String LOGIN_SOURCE = "PC";
@Override
public WorkUser login(String loginName, String password, String source) {
log.info("WorkUserServiceImpl[]login[].input.param" + loginName + password + source);
if (StringUtils.isEmpty(loginName) || StringUtils.isEmpty(password)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
//MD5加密
String md5Password = Md5Util.digestMD5(password);
HashMap<String, Object> map = new HashMap<>();
map.put("loginName", loginName);
map.put("password", md5Password);
WorkUser user = workUserMapper.getUserInfo(map);
if (null == user) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.USER_PHONE_IS_ERROR);
}
//如果登录来源是PC,判断用户是不是管理员
if (LOGIN_SOURCE.equals(source)) {
if (user.getLevel() == ManagerEnum.NOT_MANAGER.getCode()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN);
}
}
return user;
}
@Override
public WorkUser getUserById(Integer userId) {
log.info("UserServiceImpl[]getUserById[]input.param.userId" + userId);
if (null == userId) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
WorkUser user = workUserMapper.getUserById(userId);
//查询失败
if (null == user) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.QUERY_USER_INFO_FAIL);
}
log.info("UserServiceImpl[]getUserById[]get.user.info.success");
return user;
} }
} }
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" 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 />
</facet>
<facet type="web" name="Web">
<configuration>
<webroots />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" /> <output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" /> <output-test url="file://$MODULE_DIR$/target/test-classes" />
...@@ -14,7 +24,6 @@ ...@@ -14,7 +24,6 @@
<orderEntry type="module" module-name="wisenergy-common" /> <orderEntry type="module" module-name="wisenergy-common" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.11.2" level="project" /> <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.11.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.11.2" level="project" /> <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.11.2" level="project" />
...@@ -37,6 +46,10 @@ ...@@ -37,6 +46,10 @@
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.1.7.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.1.7.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-context:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.1.7.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: net.sf.json-lib:json-lib:jdk15:2.4" level="project" />
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.8.0" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.1" level="project" />
<orderEntry type="library" name="Maven: net.sf.ezmorph:ezmorph:1.0.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-undertow:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-undertow:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.undertow:undertow-core:2.0.20.Final" level="project" /> <orderEntry type="library" name="Maven: io.undertow:undertow-core:2.0.20.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.xnio:xnio-api:3.3.8.Final" level="project" /> <orderEntry type="library" name="Maven: org.jboss.xnio:xnio-api:3.3.8.Final" level="project" />
...@@ -70,26 +83,13 @@ ...@@ -70,26 +83,13 @@
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.7.RELEASE" level="project" /> <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.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: 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.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" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.1.2" level="project" /> <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.1.2" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.4" level="project" /> <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.4" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.4" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.2.10" level="project" /> <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.2.10" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.2.10" level="project" /> <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.2.10" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.8" level="project" /> <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.8" level="project" />
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:1.2" level="project" />
<orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.16" level="project" /> <orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.16" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.1.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.1.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.1.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.1.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.1.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.1.22" level="project" /> <orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.1.22" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:druid:1.1.22" level="project" /> <orderEntry type="library" name="Maven: com.alibaba:druid:1.1.22" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.1.5.RELEASE" level="project" />
...@@ -135,12 +135,24 @@ ...@@ -135,12 +135,24 @@
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-cipher:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-cipher:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-core:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-core:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-ogdl:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-ogdl:1.4.0" level="project" />
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.3" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-event:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-event:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-spring:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-spring:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.shiro:shiro-web:1.4.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.shiro:shiro-web:1.4.0" level="project" />
<orderEntry type="library" name="Maven: cn.hutool:hutool-all:4.6.7" level="project" /> <orderEntry type="library" name="Maven: cn.hutool:hutool-all:4.6.7" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-generator:3.4.1" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.4.0" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.4.0" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.4.0" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.5" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.4.0" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.4.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.1.5.RELEASE" 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" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.velocity:velocity-engine-core:2.0" level="project" />
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:1.4" level="project" />
<orderEntry type="library" name="Maven: com.hikvision.ga:artemis-http-client:1.1.3" level="project" /> <orderEntry type="library" name="Maven: com.hikvision.ga:artemis-http-client:1.1.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" /> <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" /> <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
......
package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.model.app.WorkDept;
import cn.wisenergy.model.dto.GetMonthlyCollectParam;
import cn.wisenergy.service.StatisticsService;
import cn.wisenergy.service.WorkDeptService;
import cn.wisenergy.web.admin.controller.common.BaseController;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @description:
* @author: nh
* @create: 2021-01-19 17:13
**/
@RestController
@RequestMapping(value = "/statistics")
@Slf4j
@Api(tags = "月统计报表")
public class StatisticsController extends BaseController {
@Autowired
StatisticsService statisticsService;
@Autowired
WorkDeptService workDeptService;
@ApiOperation(value = "获取部门员工一个月每天的工时", notes = "获取部门员工一个月每天的工时")
@GetMapping("/getMonthlyCollect")
public PageInfo getMonthlyCollect(GetMonthlyCollectParam param) {
log.info("StatisticsController[]getMonthlyCollect[]input.param" + param);
PageInfo monthlyCollect = statisticsService.getMonthlyCollect(param);
return monthlyCollect;
}
@ApiOperation(value = "获取部门信息", notes = "获取部门信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "用户主键", required = true),
@ApiImplicitParam(name = "deptId", value = "部门主键", required = true)
})
@GetMapping("getDeptInfo")
public List<WorkDept> getDeptInfo(Integer userId, Integer deptId) {
log.info("StatisticsController[]getDeptInfo[]input.param" + userId + deptId);
if (userId == null) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
List<WorkDept> workDepts = workDeptService.getDeptInfo(userId, deptId);
return workDepts;
}
}
...@@ -24,9 +24,9 @@ import java.util.List; ...@@ -24,9 +24,9 @@ import java.util.List;
* @QQ1799796883 * @QQ1799796883
*/ */
@RestController @RestController
@Slf4j
@Api(tags = "小程序工单日历模块")
@RequestMapping(value = "/work/collect") @RequestMapping(value = "/work/collect")
@Api(tags = "小程序工单日历模块")
@Slf4j
public class WorkCollectController extends BaseController { public class WorkCollectController extends BaseController {
@Autowired @Autowired
......
package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.common.utils.exception.Result;
import cn.wisenergy.service.WorkTimeOrderService;
import cn.wisenergy.web.admin.controller.common.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
/**
* @description:
* @author: nh
* @create: 2021-01-19 16:05
**/
@RestController
@RequestMapping(value = "/workOrder")
@Slf4j
@Api(tags = "工单模块")
public class WorkOrderController extends BaseController {
@Autowired
WorkTimeOrderService workOrderService;
@ApiOperation(value = "获取本月工时统计", notes = "获取本月工时统计")
@ApiImplicitParam(name = "userId", value = "用户主键",dataType = "integer", required = true)
@GetMapping("getMonthlyWorkingHours")
public Result<ArrayList<Object>> getMonthlyWorkingHours(Integer userId){
log.info("WorkOrderController[]getMonthlyWorkingHours[]input.param" + userId);
if (userId == null) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
ArrayList<Object> monthlyStatistics = workOrderService.getMonthlyStatistics(userId);
return getResult(monthlyStatistics);
}
}
package cn.wisenergy.web.admin.controller.app;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RestController;
/**
* @description:
* @author: nh
* @create: 2021-01-20 16:47
**/
@RestController
@Api(tags = "项目模块")
@Slf4j
public class WorkProjectController {
}
...@@ -2,6 +2,8 @@ package cn.wisenergy.web.admin.controller.app; ...@@ -2,6 +2,8 @@ package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.utils.exception.CustomException; import cn.wisenergy.common.utils.exception.CustomException;
import cn.wisenergy.common.utils.exception.RESP_CODE_ENUM; import cn.wisenergy.common.utils.exception.RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.common.utils.exception.Result; import cn.wisenergy.common.utils.exception.Result;
import cn.wisenergy.model.app.WorkUser; import cn.wisenergy.model.app.WorkUser;
import cn.wisenergy.service.WorkUserService; import cn.wisenergy.service.WorkUserService;
...@@ -13,6 +15,8 @@ import lombok.extern.slf4j.Slf4j; ...@@ -13,6 +15,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.ApiImplicitParams;
import org.apache.commons.lang.StringUtils;
/** /**
* @Authotr:陈奇 * @Authotr:陈奇
* @QQ1799796883 * @QQ1799796883
...@@ -32,8 +36,23 @@ public class WorkUserController extends BaseController { ...@@ -32,8 +36,23 @@ public class WorkUserController extends BaseController {
if (null == id) { if (null == id) {
throw new CustomException(RESP_CODE_ENUM.INPUT_PARAM_IS_NULL); throw new CustomException(RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
} }
WorkUser workUser = workUserService.getById(id); WorkUser user = workUserService.getUserById(id);
return getResult(workUser); return getResult(user);
} }
@ApiOperation(value = "用户登录", notes = "用户登录", httpMethod = "GET")
@ApiImplicitParams({
@ApiImplicitParam(name = "loginName", value = "登录名", dataType = "string", required = true),
@ApiImplicitParam(name = "password", value = "密码", dataType = "string", required = true),
@ApiImplicitParam(name = "source", value = "登录来源:PC/WAP", dataType = "string", required = true)
})
@GetMapping(value = "login")
public Result<WorkUser> login(String loginName, String password, String source) {
log.info("WorkUserController[]login[]input.param" + loginName + password + source);
if (StringUtils.isEmpty(loginName) || StringUtils.isEmpty(password) || StringUtils.isEmpty(loginName)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
WorkUser workUser = workUserService.login(loginName, password, source);
return getResult(workUser);
}
} }
package cn.wisenergy.web.admin.controller.common; package cn.wisenergy.web.admin.controller.common;
import cn.wisenergy.common.utils.exception.*; import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.common.utils.exception.Result;
import cn.wisenergy.web.admin.utils.CustomException;
import cn.wisenergy.web.admin.utils.RESP_CODE_ENUM;
import net.sf.json.JSONObject; import net.sf.json.JSONObject;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.exception.ExceptionUtils; import org.apache.commons.lang.exception.ExceptionUtils;
......
package cn.wisenergy.web.admin.utils;
/**
* 接口异常对象
*/
public class CustomException extends RuntimeException {
private static final long serialVersionUID = -4974461182923482972L;
// 错误编码
private String errorCode;
// 错误编码信息
private String errorMsg;
/**
* 应用接口有参构造函数
*
* @param errorCode 错误编码
* @param errorMsg 错误信息
*/
public CustomException(String errorCode, String errorMsg) {
super("errorCode:" + errorCode + " errorMsg:" + errorMsg);
this.errorCode = errorCode;
this.errorMsg = errorMsg;
}
/**
* 应用接口有参构造函数
*
* @param respCodeEnum 基本响应枚举类
*/
public CustomException(RESP_CODE_ENUM respCodeEnum) {
super(respCodeEnum.getMsg());
this.errorCode = respCodeEnum.getCode();
this.errorMsg = respCodeEnum.getMsg();
}
/**
* 获取错误编码
*/
public String getErrorCode() {
return errorCode;
}
/**
* 设置错误编码
*/
public void setErrorCode(String errorCode) {
this.errorCode = errorCode;
}
/**
* 获取异常编码
*/
public String getErrorMsg() {
return errorMsg;
}
/**
* 设置异常编码
*/
public void setErrorMsg(String errorMsg) {
this.errorMsg = errorMsg;
}
}
package cn.wisenergy.web.admin.utils;
/**
* 响应编码
*/
public enum RESP_CODE_ENUM {
/* ******************** 业务自定义异常 ********************* */
RSA_PRIVATE_KEY_ERROR("1001", "生成RSA非对称加密公钥出错"),
RSA_NOT_EXIST("1002", "RSA非对称加密公钥不存在"),
RSA_DECRYPTION_ERROR("1003", "RSA解密错误"),
TOKEN_IS_NOT_EXIST("1004", "TOKEN已失效"),
REQUIRED_IDENTIFY_NOT_EXIST("1005", "请求标识对象不存在"),
ILLEGAL_PARAMETER("1006", "非法参数"),
MISS_PARAMETER("1007", "缺少必须的参数"),
ACCT_NOT_EXIST("1008", "账号不存在"),
ACCT_OR_ACCOPASS_ERROR("1009", "账号或密码错误"),
ACCT_HAS_FROZEN("1010", "账号已禁用"),
NOT_LOGIN_ERROR("1011", "用户未登录"),
CAPTCHA_CODE_INVALID("1012", "验证码失效"),
CAPTCHA_CODE_ERROR("1013", "验证码错误"),
NO_DATA("1014", "数据为空"),
CAPTCHA_EXIST("1015", "验证码已发送,请稍等"),
LOGIN_FAILURE("1016", "登录已失效,请重新登录"),
PHONE_ERROE("1017", "绑定手机号错误"),
RECORD_WORD_ADD_FAIL("1018", "字段添加失败"),
INPUT_PARAM_IS_NULL("1019", "入参为空"),
CREATE_WORK_ORDER_FAIL("1020", "创建工单失败"),
QUERY_WORK_ORDER_INFO_FAIL("1021", "获取工单信息失败"),
QUERY_WORK_ORDER_LISt_FAIL("1021", "获取工单列表失败"),
AUDIT_WORK_ORDER_FAIL("1022","审核工单失败"),
QUERY_USER_INFO_FAIL("1023","获取用户信息失败")
;
// 错误编码
private String code;
// 错误信息
private String msg;
// 相应编码有参构造函数
RESP_CODE_ENUM(String code, String msg) {
this.code = code;
this.msg = msg;
}
/**
* 获取编码
*/
public String getCode() {
return code;
}
/**
* 设置编码
*/
public void setCode(String code) {
this.code = code;
}
/**
* 获取编码信息
*/
public String getMsg() {
return msg;
}
/**
* 设置编码信息
*/
public void setMsg(String msg) {
this.msg = msg;
}
}
...@@ -16,7 +16,6 @@ spring: ...@@ -16,7 +16,6 @@ spring:
jackson: jackson:
time-zone: GMT+8 time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss date-format: yyyy-MM-dd HH:mm:ss
servlet: servlet:
multipart: multipart:
max-file-size: 100MB max-file-size: 100MB
...@@ -66,3 +65,6 @@ camera: ...@@ -66,3 +65,6 @@ camera:
mybatis: mybatis:
mapper-locations: classpath:/mapper/*Mapper.xml mapper-locations: classpath:/mapper/*Mapper.xml
logging:
level:
cn.wisenergy.mapper : debug
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" 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 />
</facet>
<facet type="web" name="Web">
<configuration>
<webroots />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" /> <output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" /> <output-test url="file://$MODULE_DIR$/target/test-classes" />
...@@ -16,7 +26,6 @@ ...@@ -16,7 +26,6 @@
<orderEntry type="module" module-name="wisenergy-common" /> <orderEntry type="module" module-name="wisenergy-common" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.11.2" level="project" /> <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.11.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.11.2" level="project" /> <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.11.2" level="project" />
...@@ -39,6 +48,8 @@ ...@@ -39,6 +48,8 @@
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.1.7.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.1.7.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-context:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.1.7.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: net.sf.json-lib:json-lib:jdk15:2.4" level="project" />
<orderEntry type="library" name="Maven: net.sf.ezmorph:ezmorph:1.0.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-undertow:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-undertow:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.undertow:undertow-core:2.0.20.Final" level="project" /> <orderEntry type="library" name="Maven: io.undertow:undertow-core:2.0.20.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.xnio:xnio-api:3.3.8.Final" level="project" /> <orderEntry type="library" name="Maven: org.jboss.xnio:xnio-api:3.3.8.Final" level="project" />
...@@ -72,26 +83,13 @@ ...@@ -72,26 +83,13 @@
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.7.RELEASE" level="project" /> <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.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: 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.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" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.1.2" level="project" /> <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.1.2" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.4" level="project" /> <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.4" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.4" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.2.10" level="project" /> <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.2.10" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.2.10" level="project" /> <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.2.10" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.8" level="project" /> <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.8" level="project" />
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:1.2" level="project" />
<orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.16" level="project" /> <orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.16" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.1.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.1.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.1.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.1.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.1.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.1.22" level="project" /> <orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.1.22" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:druid:1.1.22" level="project" /> <orderEntry type="library" name="Maven: com.alibaba:druid:1.1.22" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.1.5.RELEASE" level="project" />
...@@ -130,6 +128,20 @@ ...@@ -130,6 +128,20 @@
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.8" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.8" level="project" />
<orderEntry type="library" name="Maven: joda-time:joda-time:2.10.2" level="project" /> <orderEntry type="library" name="Maven: joda-time:joda-time:2.10.2" level="project" />
<orderEntry type="library" name="Maven: cn.hutool:hutool-all:4.6.7" level="project" /> <orderEntry type="library" name="Maven: cn.hutool:hutool-all:4.6.7" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-generator:3.4.1" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.4.0" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.4.0" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.4.0" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.5" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.4.0" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.4.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.1.5.RELEASE" 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" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.velocity:velocity-engine-core:2.0" level="project" />
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:1.4" level="project" />
<orderEntry type="library" name="Maven: com.hikvision.ga:artemis-http-client:1.1.3" level="project" /> <orderEntry type="library" name="Maven: com.hikvision.ga:artemis-http-client:1.1.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" /> <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" /> <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" 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