Commit bafc6208 authored by cq990612's avatar cq990612

优化代码结构

parent dee443dd
...@@ -28,7 +28,7 @@ public enum BASE_RESP_CODE_ENUM { ...@@ -28,7 +28,7 @@ public enum BASE_RESP_CODE_ENUM {
FILE_NOT_NULL("608", "上传文件不能为空"), FILE_NOT_NULL("608", "上传文件不能为空"),
STATISTICS_RECORD_DATA_FAIL("609", "统计档案数据失败"), STATISTICS_RECORD_DATA_FAIL("609", "统计档案数据失败"),
EQUIPMENT_INFO_IS_NULL("610", "设备信息为空"), EQUIPMENT_INFO_IS_NULL("610", "设备信息为空"),
QUERY_WORK_ORDER_DATA_IS_NULL("611", "获取工单数据为空"), QUERY_DATA_IS_NULL("611", "获取数据为空"),
WORK_TIME_NOT_OVER_EIGHT("611", "每日累计工时不超过8小时"), WORK_TIME_NOT_OVER_EIGHT("611", "每日累计工时不超过8小时"),
USER_ACCOUNT_ALREADY_EXIST("612", "用户账号已存在"), USER_ACCOUNT_ALREADY_EXIST("612", "用户账号已存在"),
USER_PHONE_ALREADY_EXIST("613", "该手机号已被注册"), USER_PHONE_ALREADY_EXIST("613", "该手机号已被注册"),
...@@ -67,6 +67,13 @@ public enum BASE_RESP_CODE_ENUM { ...@@ -67,6 +67,13 @@ public enum BASE_RESP_CODE_ENUM {
NO_WORK_ORDERS_HAVE_BEEN_REJECTED("645", "暂无驳回未提交工单"), NO_WORK_ORDERS_HAVE_BEEN_REJECTED("645", "暂无驳回未提交工单"),
LEAVE_JOB_USER("646","账号状态异常,请联系管理员"), LEAVE_JOB_USER("646","账号状态异常,请联系管理员"),
ItemType_Does_NotMatch("647","工时类型和项目名称不匹配"), ItemType_Does_NotMatch("647","工时类型和项目名称不匹配"),
PROJECT_NOT_USER("648", "该项目还没有参与人员"),
theNewContent_IsEqual_ToTheOriginal_Content("649","更新内容与旧内容一致,更新失败"),
REASON_CANNOT_BE_EMPTY("650", "更变原因不能为空"),
START_NOT_THAN_END_DATE("651", "开始时间不能大于结束时间"),
HOLIDAY_NOT_IS_NULL("652", "该节假日已经不存在,请刷新页面!"),
ORDINARY_MEMBERS_ARE_MANAGEMENT("653", "普通成员不能有管理角色,请取消普通成员选项"),
REPEAT_WITH_OLDTIME("654", "日期与旧时间冲突"),
; ;
......
package cn.wisenergy.mapper; package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkDept; import cn.wisenergy.model.app.WorkDept;
import cn.wisenergy.model.dto.OrganizationStructureDto;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List; import java.util.List;
...@@ -17,4 +18,6 @@ import java.util.Map; ...@@ -17,4 +18,6 @@ import java.util.Map;
public interface WorkDeptMapper extends BaseMapper<WorkDept> { public interface WorkDeptMapper extends BaseMapper<WorkDept> {
List<WorkDept> getDeptByCondition(Map<String, Object> map); List<WorkDept> getDeptByCondition(Map<String, Object> map);
List<OrganizationStructureDto> getAllDeptByAllCentre();
} }
...@@ -2,6 +2,9 @@ package cn.wisenergy.mapper; ...@@ -2,6 +2,9 @@ package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkProjectChange; import cn.wisenergy.model.app.WorkProjectChange;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* <p> * <p>
...@@ -13,4 +16,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +16,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface WorkProjectChangeMapper extends BaseMapper<WorkProjectChange> { public interface WorkProjectChangeMapper extends BaseMapper<WorkProjectChange> {
int insertBatch(@Param("workProjectChanges") List<WorkProjectChange> workProjectChanges);
List<WorkProjectChange> getByProjectId(Integer projectId);
} }
...@@ -2,6 +2,7 @@ package cn.wisenergy.mapper; ...@@ -2,6 +2,7 @@ package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkProject; import cn.wisenergy.model.app.WorkProject;
import cn.wisenergy.model.dto.ManagerProjectsDto; import cn.wisenergy.model.dto.ManagerProjectsDto;
import cn.wisenergy.model.vo.ModifyProjectVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -25,8 +26,25 @@ public interface WorkProjectMapper extends BaseMapper<WorkProject> { ...@@ -25,8 +26,25 @@ public interface WorkProjectMapper extends BaseMapper<WorkProject> {
*/ */
List<WorkProject> getProjectsByCriteria(Map<String, Object> map); List<WorkProject> getProjectsByCriteria(Map<String, Object> map);
/**
* 获取项目
* @param ids 项目id
* @param isConclusion 是否结项
* @return 项目实体类
*/
List<WorkProject> getProjectsByIds(@Param("ids") List<Integer> ids, @Param("isConclusion") Integer isConclusion); List<WorkProject> getProjectsByIds(@Param("ids") List<Integer> ids, @Param("isConclusion") Integer isConclusion);
/**
* 获取可以管理的项目/商机
* @param userId 拥挤id
* @param type 类型
* @param isConclusion 是否结项
* @param deptIds 所属部门
* @return
*/
List<ManagerProjectsDto> getManagerProjectsDto(@Param("userId") Integer userId, @Param("type") Integer type, @Param("isConclusion") Integer isConclusion,@Param("deptIds") List<Integer> deptIds); List<ManagerProjectsDto> getManagerProjectsDto(@Param("userId") Integer userId, @Param("type") Integer type, @Param("isConclusion") Integer isConclusion,@Param("deptIds") List<Integer> deptIds);
int updateIsConclusionById(Integer id);
int updateProject(ModifyProjectVo modifyProjectVo);
} }
...@@ -2,6 +2,7 @@ package cn.wisenergy.mapper; ...@@ -2,6 +2,7 @@ package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkUser; import cn.wisenergy.model.app.WorkUser;
import cn.wisenergy.model.dto.StatisticsTableDto; import cn.wisenergy.model.dto.StatisticsTableDto;
import cn.wisenergy.model.dto.UserRoleDto;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List; import java.util.List;
...@@ -35,4 +36,6 @@ public interface WorkUserMapper extends BaseMapper<WorkUser> { ...@@ -35,4 +36,6 @@ public interface WorkUserMapper extends BaseMapper<WorkUser> {
*/ */
List<StatisticsTableDto> getStatisticsTableDtos(List<Integer> userIds); List<StatisticsTableDto> getStatisticsTableDtos(List<Integer> userIds);
List<UserRoleDto> getUserRoleDto();
} }
package cn.wisenergy.mapper; package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkUserProject; import cn.wisenergy.model.app.WorkUserProject;
import cn.wisenergy.model.dto.UserProjectDto;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* <p> * <p>
...@@ -13,4 +17,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +17,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface WorkUserProjectMapper extends BaseMapper<WorkUserProject> { public interface WorkUserProjectMapper extends BaseMapper<WorkUserProject> {
List<UserProjectDto> getUserByProjectId(Integer projectId);
int deleteByProjectId(Integer projectId);
int insertBatch(@Param("userIds") List<Integer> userIds,@Param("projectId") Integer projectId);
} }
...@@ -2,6 +2,7 @@ package cn.wisenergy.mapper; ...@@ -2,6 +2,7 @@ package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkUserRole; import cn.wisenergy.model.app.WorkUserRole;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
...@@ -9,4 +10,8 @@ import java.util.List; ...@@ -9,4 +10,8 @@ import java.util.List;
public interface WorkUserRoleMapper extends BaseMapper<WorkUserRole> { public interface WorkUserRoleMapper extends BaseMapper<WorkUserRole> {
List<Integer> getRole(Integer userId); List<Integer> getRole(Integer userId);
int deleteByUserId(Integer userId);
int insertBatch(@Param("userId") Integer userId,@Param("roleIds") List<Integer> roleIds);
} }
...@@ -13,6 +13,16 @@ ...@@ -13,6 +13,16 @@
<result column="modify_time" property="modifyTime" /> <result column="modify_time" property="modifyTime" />
</resultMap> </resultMap>
<resultMap id="CentreDeptMap" type="cn.wisenergy.model.dto.OrganizationStructureDto">
<id column="centre_id" property="centreId" />
<result column="centre_name" property="centreName"/>
<collection property="deptUserDtos" ofType="cn.wisenergy.model.dto.DeptUserDto">
<id column="dept_id" property="deptId"/>
<result column="dept_name" property="deptName"/>
</collection>
</resultMap>
<sql id="table"> <sql id="table">
work_dept work_dept
</sql> </sql>
...@@ -48,4 +58,11 @@ ...@@ -48,4 +58,11 @@
</where> </where>
</select> </select>
<select id="getAllDeptByAllCentre" resultMap="CentreDeptMap">
select c.id as 'centre_id',c.centre_name as 'centre_name',d.id as 'dept_id',d.dept_name as 'dept_name'
from work_centre c LEFT JOIN work_dept d ON c.id = d.centre_id
ORDER BY c.id,d.id
</select>
</mapper> </mapper>
...@@ -10,12 +10,31 @@ ...@@ -10,12 +10,31 @@
<result column="modify_after" property="modifyAfter" /> <result column="modify_after" property="modifyAfter" />
<result column="modify_before" property="modifyBefore" /> <result column="modify_before" property="modifyBefore" />
<result column="reason" property="reason" /> <result column="reason" property="reason" />
<result column="change_date" property="changeDate" /> <result column="modify_time" property="modifyTime" />
</resultMap> </resultMap>
<!-- 通用查询结果列 --> <!-- 通用查询结果列 -->
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, project_id, type, content, reason, change_date id, project_id, `type`, modify_after,modify_before, reason, modify_time
</sql> </sql>
<sql id="not_id_Column_List">
project_id, `type`, modify_after,modify_before, reason, modify_time
</sql>
<insert id="insertBatch">
INSERT INTO work_project_change
(<include refid="not_id_Column_List"/> )
VALUES
<foreach collection ="workProjectChanges" item="workProjectChange" separator =",">
(#{workProjectChange.projectId}, #{workProjectChange.type},#{workProjectChange.modifyAfter},#{workProjectChange.modifyBefore},#{workProjectChange.reason},#{workProjectChange.modifyTime})
</foreach >
</insert>
<select id="getByProjectId" resultType="cn.wisenergy.model.app.WorkProjectChange">
SELECT <include refid="Base_Column_List"/>
FROM work_project_change
WHERE project_id = #{projectId}
</select>
</mapper> </mapper>
...@@ -37,13 +37,46 @@ ...@@ -37,13 +37,46 @@
<if test="deptId != null">and dept_id = #{deptId}</if> <if test="deptId != null">and dept_id = #{deptId}</if>
<if test="workTime != null">and work_time =#{workTime}</if> <if test="workTime != null">and work_time =#{workTime}</if>
<if test="costBudget != null">and cost_budget = #{costBudget}</if> <if test="costBudget != null">and cost_budget = #{costBudget}</if>
<if test="isConclusion != null">and is_onclusion =#{isConclusion}</if> <if test="isConclusion != null">and is_conlusion =#{isConclusion}</if>
<if test="startTime != null">and start_time =#{startTime}</if> <if test="startTime != null">and start_time =#{startTime}</if>
<if test="endTime != null">and end_time =#{endTime}</if> <if test="endTime != null">and end_time =#{endTime}</if>
<if test="createTime != null">and create_time &gt;= #{createTime}</if> <if test="createTime != null">and create_time &gt;= #{createTime}</if>
<if test="modifyTime != null">and modify_time &gt;= modifyTime</if> <if test="modifyTime != null">and modify_time &gt;= modifyTime</if>
</sql> </sql>
<update id="updateIsConclusionById">
UPDATE
<include refid="table"/>
SET is_conclusion = 0
WHERE id = #{id}
</update>
<update id="updateProject">
UPDATE
<include refid="table"/>
<set>
<if test="null != startTime">
start_time = #{startTime},
</if>
<if test="null != endTime">
end_time = #{endTime},
</if>
<if test="null != workTime">
work_time = #{workTime},
</if>
<if test="null != costBudget">
cost_budget =#{costBudget}
</if>
</set>
<where>
<if test="null != projectId">
id = #{projectId}
</if>
</where>
</update>
<select id="getProjectsByCriteria" resultMap="BaseResultMap" parameterType="map"> <select id="getProjectsByCriteria" resultMap="BaseResultMap" parameterType="map">
select <include refid="Base_Column_List"/> select <include refid="Base_Column_List"/>
from <include refid="table"/> from <include refid="table"/>
...@@ -74,7 +107,7 @@ ...@@ -74,7 +107,7 @@
<select id="getManagerProjectsDto" resultType="cn.wisenergy.model.dto.ManagerProjectsDto"> <select id="getManagerProjectsDto" resultType="cn.wisenergy.model.dto.ManagerProjectsDto">
select p.id,p.oa_project_id,p.project_name,p.type,p.create_time,p.is_conclusion, select p.id,p.oa_project_id,p.project_name,p.type,p.create_time,p.is_conclusion,
GROUP_CONCAT(DISTINCT(u.name)) as 'Participants',p.cost_budget,p.work_time,p.start_time,p.end_time, GROUP_CONCAT(DISTINCT(u.name)) as 'Participants',p.cost_budget,p.work_time,p.start_time,p.end_time,
SUM(o.work_time)/8 as 'currentLaborCost',SUM(o.work_time) as 'totalCurrentWorkingHours', ROUND(SUM(o.work_time)/8,2) as 'currentLaborCost',ROUND(SUM(o.work_time),2) as 'totalCurrentWorkingHours',
if(now() BETWEEN p.start_time and p.end_time,'否','是') as 'isItOverdue', if(now() BETWEEN p.start_time and p.end_time,'否','是') as 'isItOverdue',
if(p.create_time = p.modify_time,'否','是') as 'isThereABudgetChange' if(p.create_time = p.modify_time,'否','是') as 'isThereABudgetChange'
from work_project p LEFT JOIN work_time_order o on p.id = o.project_id from work_project p LEFT JOIN work_time_order o on p.id = o.project_id
......
...@@ -21,6 +21,16 @@ ...@@ -21,6 +21,16 @@
<result column="modify_time" property="modifyTime" /> <result column="modify_time" property="modifyTime" />
</resultMap> </resultMap>
<resultMap id="UserRoleMap" type="cn.wisenergy.model.dto.UserRoleDto">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="status" property="status"/>
<collection property="workRoles" ofType="cn.wisenergy.model.app.WorkRole">
<id column="role_id" property="id"/>
<result column="role_name" property="name"/>
</collection>
</resultMap>
<sql id="table"> <sql id="table">
work_user work_user
</sql> </sql>
...@@ -94,10 +104,20 @@ ...@@ -94,10 +104,20 @@
</foreach> </foreach>
</select> </select>
<update id="updateUserInfo" parameterType="cn.wisenergy.model.app.WorkUser"> <update id="updateUserInfo" parameterType="cn.wisenergy.model.app.WorkUser">
update <include refid="table"/> update <include refid="table"/>
set <include refid="updateCondition"/> set <include refid="updateCondition"/>
where id = #{id} where id = #{id}
</update> </update>
<select id="getUserRoleDto" resultMap="UserRoleMap">
select u.id as 'id',u.name as 'name',u.status as 'status',r.id as 'role_id',r.name as 'role_name'
from work_user u LEFT JOIN work_user_role ur ON u.id = ur.user_id
LEFT JOIN work_role r on ur.role_id = r.id
</select>
</mapper> </mapper>
...@@ -9,9 +9,33 @@ ...@@ -9,9 +9,33 @@
<result column="project_id" property="projectId" /> <result column="project_id" property="projectId" />
</resultMap> </resultMap>
<resultMap id="MinUserMap" type="cn.wisenergy.model.dto.UserProjectDto">
<id column="user_id" property="id"/>
<result column="name" property="name"/>
<result column="project_id" property="projectId"/>
</resultMap>
<!-- 通用查询结果列 --> <!-- 通用查询结果列 -->
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, user_id, project_id id, user_id, project_id
</sql> </sql>
<insert id="insertBatch">
INSERT INTO work_user_project
(user_id,project_id)
VALUES
<foreach collection ="userIds" item="userId" separator =",">
( #{userId}, #{projectId})
</foreach >
</insert>
<delete id="deleteByProjectId">
DELETE
FROM work_user_project
WHERE project_id = #{projectId}
</delete>
<select id="getUserByProjectId" resultMap="MinUserMap" >
SELECT p.user_id,u.name,p.project_id
FROM work_user_project p JOIN work_user u ON p.user_id = u.id
WHERE project_id = #{projectId}
</select>
</mapper> </mapper>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.wisenergy.mapper.WorkUserRoleMapper"> <mapper namespace="cn.wisenergy.mapper.WorkUserRoleMapper">
<insert id="insertBatch">
INSERT INTO work_user_role
(user_id,role_id)
VALUES
<foreach collection ="roleIds" item="roleId" separator =",">
( #{userId}, #{roleId})
</foreach >
</insert>
<delete id="deleteByUserId">
DELETE
FROM work_user_role
WHERE user_id = #{userId}
</delete>
<select id="getRole" resultType="java.lang.Integer"> <select id="getRole" resultType="java.lang.Integer">
......
...@@ -2,6 +2,7 @@ package cn.wisenergy.model.app; ...@@ -2,6 +2,7 @@ package cn.wisenergy.model.app;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -29,9 +30,11 @@ public class WorkHoliday implements Serializable { ...@@ -29,9 +30,11 @@ public class WorkHoliday implements Serializable {
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
private Integer id; private Integer id;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
@ApiModelProperty(name = "dayStart",value = "开始日期") @ApiModelProperty(name = "dayStart",value = "开始日期")
private Date dayStart; private Date dayStart;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
@ApiModelProperty(name = "dayEnd",value = "结束日期") @ApiModelProperty(name = "dayEnd",value = "结束日期")
private Date dayEnd; private Date dayEnd;
......
...@@ -46,7 +46,7 @@ public class WorkProject implements Serializable { ...@@ -46,7 +46,7 @@ public class WorkProject implements Serializable {
private Integer deptId; private Integer deptId;
@ApiModelProperty(name = "workTime",value = "工时预算") @ApiModelProperty(name = "workTime",value = "工时预算")
private Integer workTime; private BigDecimal workTime;
@ApiModelProperty(name = "costBudget",value = "成本预算,以万为单位") @ApiModelProperty(name = "costBudget",value = "成本预算,以万为单位")
private BigDecimal costBudget; private BigDecimal costBudget;
......
...@@ -2,10 +2,12 @@ package cn.wisenergy.model.app; ...@@ -2,10 +2,12 @@ package cn.wisenergy.model.app;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
...@@ -20,6 +22,7 @@ import java.util.Date; ...@@ -20,6 +22,7 @@ import java.util.Date;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@Accessors (chain = true)
@ApiModel(value="WorkProjectChange", description="项目更改类") @ApiModel(value="WorkProjectChange", description="项目更改类")
public class WorkProjectChange implements Serializable { public class WorkProjectChange implements Serializable {
...@@ -44,10 +47,11 @@ public class WorkProjectChange implements Serializable { ...@@ -44,10 +47,11 @@ public class WorkProjectChange implements Serializable {
@ApiModelProperty(name = "reason",value = "变更原因") @ApiModelProperty(name = "reason",value = "变更原因")
private String reason; private String reason;
@ApiModelProperty(name = "changeDate",value = "变更日期") @JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
@ApiModelProperty(name = "modify_time",value = "变更日期")
private Date modifyTime; private Date modifyTime;
private Date changeDate;
} }
package cn.wisenergy.model.dto;
import cn.wisenergy.model.app.WorkRole;
import lombok.Data;
import java.util.List;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class AllRoleAndUserRoleDto {
List<UserRoleDto> userRoleDtos;
List<WorkRole> workRoles;
}
package cn.wisenergy.model.dto;
import lombok.Data;
import java.util.List;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class DeptUserDto {
private Integer deptId;
private String deptName;
private List<ResultUser> resultUsers;
}
package cn.wisenergy.model.dto;
import cn.wisenergy.model.app.WorkHoliday;
import cn.wisenergy.model.app.WorkSubmitAdopt;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
@Accessors(chain = true)
public class HolidayAndAutoDto {
List<WorkHoliday> workHolidays;
WorkSubmitAdopt workSubmitAdopt;
}
package cn.wisenergy.model.dto;
import lombok.Data;
import java.util.List;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class OrganizationStructureDto {
private Integer CentreId;
private String CentreName;
private List<DeptUserDto> deptUserDtos;
}
package cn.wisenergy.model.dto;
import lombok.Data;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class UserProjectDto {
private Integer id;
private String name;
private Integer projectId;
}
package cn.wisenergy.model.dto;
import cn.wisenergy.model.app.WorkRole;
import lombok.Data;
import java.util.List;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class UserRoleDto {
private Integer id;
private String name;
private Integer status;
private List<WorkRole> workRoles;
}
package cn.wisenergy.model.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="ModifyProjectVo", description="项目编辑VO")
public class ModifyProjectVo {
private Integer projectId;
private List<Integer> userIds;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
private Date startTime;
private String startTimeReason;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
private Date endTime;
private String endTimeReason;
private BigDecimal workTime;
private String workTimeReason;
private BigDecimal costBudget;
private String costBudgetReason;
}
package cn.wisenergy.service; package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkDept; import cn.wisenergy.model.app.WorkDept;
import cn.wisenergy.model.dto.OrganizationStructureDto;
import java.util.List; import java.util.List;
...@@ -22,4 +23,6 @@ public interface WorkDeptService { ...@@ -22,4 +23,6 @@ public interface WorkDeptService {
* @return * @return
*/ */
List<WorkDept> getDeptInfo(Integer deptId); List<WorkDept> getDeptInfo(Integer deptId);
List<OrganizationStructureDto> getAllDeptByAllCentreId();
} }
package cn.wisenergy.service; package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkHoliday;
import cn.wisenergy.model.dto.HolidayAndAutoDto;
import java.util.Date; import java.util.Date;
/** /**
* <p> * <p>
* 服务类 * 服务类
* </p> * </p>
* *
* @author chenqi * @author chenqi
* @since 2021-01-19 * @since 2021-01-19
*/ */
public interface WorkHolidayService { public interface WorkHolidayService {
Boolean isHoliday(Date date);} Boolean isHoliday(Date date);
Boolean addHoliday(WorkHoliday workHoliday);
Boolean modifyHoliday(WorkHoliday workHoliday);
Boolean deleteHoliday(Integer id);
HolidayAndAutoDto getHolidayAll();
}
package cn.wisenergy.service; package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkProjectChange; import cn.wisenergy.model.app.WorkProjectChange;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/** /**
* <p> * <p>
...@@ -13,4 +14,17 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -13,4 +14,17 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface WorkProjectChangeService { public interface WorkProjectChangeService {
/**
* 批量插入
* @param workProjectChanges 集合
* @return 布尔值
*/
Boolean insertbatch(List<WorkProjectChange> workProjectChanges);
/**
* 根据项目id查看更变记录
* @param projectId 项目id
* @return 集合
*/
List<WorkProjectChange> getByProjectId(Integer projectId);
} }
...@@ -3,6 +3,7 @@ package cn.wisenergy.service; ...@@ -3,6 +3,7 @@ package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkProject; import cn.wisenergy.model.app.WorkProject;
import cn.wisenergy.model.dto.ProjectDto; import cn.wisenergy.model.dto.ProjectDto;
import cn.wisenergy.model.vo.GetManagerProjectsVo; import cn.wisenergy.model.vo.GetManagerProjectsVo;
import cn.wisenergy.model.vo.ModifyProjectVo;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import java.util.List; import java.util.List;
...@@ -56,4 +57,14 @@ public interface WorkProjectService { ...@@ -56,4 +57,14 @@ public interface WorkProjectService {
* @return 分页 * @return 分页
*/ */
PageInfo getManagerProjects(GetManagerProjectsVo gmpv); PageInfo getManagerProjects(GetManagerProjectsVo gmpv);
/**
* 结束项目/商机
* @param userId 管理id
* @param projectId 项目/商机id
* @return 布尔值
*/
Boolean endProject(Integer userId,Integer projectId);
Boolean modifyProject(ModifyProjectVo modifyProjectVo);
} }
...@@ -19,4 +19,6 @@ public interface WorkSubmitAdoptService { ...@@ -19,4 +19,6 @@ public interface WorkSubmitAdoptService {
* @return WorkSubmitAdopt * @return WorkSubmitAdopt
*/ */
WorkSubmitAdopt getById(Integer id); WorkSubmitAdopt getById(Integer id);
Boolean modifyAuto(WorkSubmitAdopt workSubmitAdopt);
} }
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.UserProjectDto;
import java.util.List; import java.util.List;
...@@ -22,4 +23,15 @@ public interface WorkUserProjectService { ...@@ -22,4 +23,15 @@ public interface WorkUserProjectService {
List<Integer> getProjectIdByUserId(Integer userId); List<Integer> getProjectIdByUserId(Integer userId);
List<WorkProject> getUserManageProject(Integer userId); List<WorkProject> getUserManageProject(Integer userId);
/**
* 根据项目id获取参与人数
* @param projectId 项目id
* @return dto
*/
List<UserProjectDto> getUserProjectByProjectId(Integer projectId);
Boolean deleteByProjectId(Integer projectId);
Boolean insertBatch(List<Integer> userIds, Integer projectId);
} }
package cn.wisenergy.service; package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkUser; import cn.wisenergy.model.app.WorkUser;
import cn.wisenergy.model.dto.AllRoleAndUserRoleDto;
import cn.wisenergy.model.dto.OrganizationStructureDto;
import cn.wisenergy.model.dto.ResultUser; import cn.wisenergy.model.dto.ResultUser;
import java.util.List; import java.util.List;
...@@ -46,4 +48,14 @@ public interface WorkUserService { ...@@ -46,4 +48,14 @@ public interface WorkUserService {
* @return 用户传输对象 * @return 用户传输对象
*/ */
ResultUser changePassword(Integer userId, String oldPassword, String newPassword); ResultUser changePassword(Integer userId, String oldPassword, String newPassword);
/**
* 获取组织架构
* @return
*/
List<OrganizationStructureDto> getOrganizationStructure();
AllRoleAndUserRoleDto getUserRoleDto();
Boolean modifyRole(Integer userId, List<Integer> roleIds);
} }
...@@ -5,10 +5,12 @@ import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM; ...@@ -5,10 +5,12 @@ 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;
import cn.wisenergy.model.app.WorkDept; import cn.wisenergy.model.app.WorkDept;
import cn.wisenergy.model.dto.OrganizationStructureDto;
import cn.wisenergy.service.WorkDeptService; import cn.wisenergy.service.WorkDeptService;
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 java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -55,4 +57,14 @@ public class WorkDeptServiceImpl implements WorkDeptService { ...@@ -55,4 +57,14 @@ public class WorkDeptServiceImpl implements WorkDeptService {
} }
return workDepts; return workDepts;
} }
@Override
public List<OrganizationStructureDto> getAllDeptByAllCentreId() {
log.info("WorkDeptServiceImpl[]getAllDeptByAllCentreId[]");
List<OrganizationStructureDto> allDeptByAllCentre = workDeptMapper.getAllDeptByAllCentre();
if (CollectionUtils.isEmpty(allDeptByAllCentre)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DEPT_IS_NULL);
}
return allDeptByAllCentre;
}
} }
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.WorkHolidayMapper; import cn.wisenergy.mapper.WorkHolidayMapper;
import cn.wisenergy.model.app.WorkHoliday; import cn.wisenergy.model.app.WorkHoliday;
import cn.wisenergy.model.app.WorkSubmitAdopt;
import cn.wisenergy.model.dto.HolidayAndAutoDto;
import cn.wisenergy.service.WorkHolidayService; import cn.wisenergy.service.WorkHolidayService;
import cn.wisenergy.service.WorkSubmitAdoptService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
...@@ -12,20 +21,28 @@ import java.util.List; ...@@ -12,20 +21,28 @@ import java.util.List;
/** /**
* <p> * <p>
* 服务实现类 * 服务实现类
* </p> * </p>
* *
* @author chenqi * @author chenqi
* @since 2021-01-19 * @since 2021-01-19
*/ */
@Service @Service
@Slf4j
public class WorkHolidayServiceImpl implements WorkHolidayService { public class WorkHolidayServiceImpl implements WorkHolidayService {
@Autowired @Autowired
private WorkHolidayMapper workHolidayMapper; private WorkHolidayMapper workHolidayMapper;
@Autowired
private WorkSubmitAdoptService workSubmitAdoptService;
@Override @Override
public Boolean isHoliday(Date date) { public Boolean isHoliday(Date date) {
log.info("WorkHolidayServiceImpl[]workHolidayMapper[]input.param.date:{}" + date);
if (null == date) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
calendar.setTime(date); calendar.setTime(date);
List<WorkHoliday> workHolidays = workHolidayMapper.selectList(null); List<WorkHoliday> workHolidays = workHolidayMapper.selectList(null);
...@@ -33,15 +50,99 @@ public class WorkHolidayServiceImpl implements WorkHolidayService { ...@@ -33,15 +50,99 @@ public class WorkHolidayServiceImpl implements WorkHolidayService {
if (!yearMonthBetween(date, holiday.getDayStart(), holiday.getDayEnd())) { if (!yearMonthBetween(date, holiday.getDayStart(), holiday.getDayEnd())) {
continue; continue;
} }
// 节假日
if (1 == holiday.getDayType()) { if (1 == holiday.getDayType()) {
return true; return true;
} }
// 工作日
if (0 == holiday.getDayType()) {
return false;
}
} }
return calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY || return calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY ||
calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY; calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY;
} }
@Override
public Boolean addHoliday(WorkHoliday workHoliday) {
log.info("WorkHolidayServiceImpl[]addHoliday[]input.param.workHoliday:{}" + workHoliday);
verificationDate(workHoliday);
if (isItRedundant(workHoliday, null)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.REPEAT_WITH_OLDTIME);
}
int insert = workHolidayMapper.insert(workHoliday);
return insert > 0;
}
@Transactional
@Override
public Boolean modifyHoliday(WorkHoliday workHoliday) {
log.info("WorkHolidayServiceImpl[]modifyHoliday[]input.param.workHoliday:{}" + workHoliday);
verificationDate(workHoliday);
if (null == workHoliday.getId()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
WorkHoliday workHolidayById = workHolidayMapper.selectById(workHoliday);
if (null == workHolidayById) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.HOLIDAY_NOT_IS_NULL);
}
if (isItRedundant(workHoliday, workHolidayById.getId())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.REPEAT_WITH_OLDTIME);
}
int i = workHolidayMapper.updateById(workHoliday);
return i > 0;
}
@Transactional
@Override
public Boolean deleteHoliday(Integer id) {
log.info("WorkHolidayServiceImpl[]deleteHoliday[]input.param.id:{}" + id);
if (null == id) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
WorkHoliday workHoliday = workHolidayMapper.selectById(id);
if (null == workHoliday) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.HOLIDAY_NOT_IS_NULL);
}
int i = workHolidayMapper.deleteById(id);
return i > 0;
}
@Override
public HolidayAndAutoDto getHolidayAll() {
log.info("WorkHolidayServiceImpl[]getHolidayAll[]");
HolidayAndAutoDto holidayAndAutoDto = new HolidayAndAutoDto();
List<WorkHoliday> workHolidays = workHolidayMapper.selectList(new QueryWrapper<>());
WorkSubmitAdopt submitAdopt = workSubmitAdoptService.getById(1);
holidayAndAutoDto.setWorkHolidays(workHolidays).setWorkSubmitAdopt(submitAdopt);
return holidayAndAutoDto;
}
private void verificationDate(WorkHoliday workHoliday) {
if (null == workHoliday) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
if (null == workHoliday.getDayStart()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
if (null == workHoliday.getDayEnd()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
if (null == workHoliday.getDayType()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
if (null == workHoliday.getDes()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
if (workHoliday.getDayStart().compareTo(workHoliday.getDayEnd()) > 0) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.START_NOT_THAN_END_DATE);
}
}
/* // 获取某时间段内的所有日期 /* // 获取某时间段内的所有日期
public List<Date> findDates(Date dBegin, Date dEnd) { public List<Date> findDates(Date dBegin, Date dEnd) {
List<Date> lDate = new ArrayList<>(); List<Date> lDate = new ArrayList<>();
...@@ -61,13 +162,42 @@ public class WorkHolidayServiceImpl implements WorkHolidayService { ...@@ -61,13 +162,42 @@ public class WorkHolidayServiceImpl implements WorkHolidayService {
return lDate; return lDate;
} }
*/ */
/** 判断某个时间是否在时间段内*/
private static boolean yearMonthBetween(Date nowDate, Date startDate, Date endDate) {
/**
* 判断某个时间是否在时间段内
*/
private static boolean yearMonthBetween(Date nowDate, Date startDate, Date endDate) {
long nowTime = nowDate.getTime(); long nowTime = nowDate.getTime();
long startTime = startDate.getTime(); long startTime = startDate.getTime();
long endTime = endDate.getTime(); long endTime = endDate.getTime();
return nowTime >= startTime && nowTime <= endTime; return nowTime >= startTime && nowTime <= endTime;
} }
/**
* 判断某个时间段是否在另一个时间段
*/
private boolean isItRedundant(WorkHoliday workHoliday, Integer id) {
List<WorkHoliday> workHolidays = workHolidayMapper.selectList(new QueryWrapper<>());
if (CollectionUtils.isEmpty(workHolidays)) {
return false;
}
long d1 = workHoliday.getDayStart().getTime();
long d2 = workHoliday.getDayEnd().getTime();
long v = d2 - d1;
long start;
long end;
for (WorkHoliday workHoliday1 : workHolidays) {
if (workHoliday1.getId().equals(id)) {
continue;
}
start = workHoliday1.getDayStart().getTime();
end = workHoliday1.getDayEnd().getTime();
if ((d1-start>=0 && d2-end<=0) ||(d1-start<=0&&d2-end>=0) ||(d1-start<=0 && d2-start>=0)|| (d1-start>=0 &&d1-end<=0)) {
return true;
}
}
return false;
}
} }
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.WorkProjectChangeMapper;
import cn.wisenergy.model.app.WorkProjectChange;
import cn.wisenergy.service.WorkProjectChangeService; import cn.wisenergy.service.WorkProjectChangeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
/** /**
* <p> * <p>
...@@ -12,6 +21,44 @@ import org.springframework.stereotype.Service; ...@@ -12,6 +21,44 @@ import org.springframework.stereotype.Service;
* @since 2021-01-19 * @since 2021-01-19
*/ */
@Service @Service
@Slf4j
public class WorkProjectChangeServiceImpl implements WorkProjectChangeService { public class WorkProjectChangeServiceImpl implements WorkProjectChangeService {
@Autowired
private WorkProjectChangeMapper workProjectChangeMapper;
/**
* 批量插入
*
* @param workProjectChanges 集合
* @return 布尔值
*/
@Override
public Boolean insertbatch(List<WorkProjectChange> workProjectChanges) {
log.info("WorkProjectChangeServiceImpl[]insertbatch[]input.param.List<workProjectChanges>:{}"+workProjectChanges);
if (CollectionUtils.isEmpty(workProjectChanges)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
int i = workProjectChangeMapper.insertBatch(workProjectChanges);
return i!=0;
}
/**
* 根据项目id查看更变记录
*
* @param projectId 项目id
* @return 集合
*/
@Override
public List<WorkProjectChange> getByProjectId(Integer projectId) {
log.info("WorkProjectChangeServiceImpl[]getByProjectId[]input.param。projectId:{}"+projectId);
if (null == projectId) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
List<WorkProjectChange> workProjectChanges = workProjectChangeMapper.getByProjectId(projectId);
if (CollectionUtils.isEmpty(workProjectChanges)) {
return null;
}
return workProjectChanges;
}
} }
...@@ -8,10 +8,11 @@ import cn.wisenergy.service.WorkSubmitAdoptService; ...@@ -8,10 +8,11 @@ import cn.wisenergy.service.WorkSubmitAdoptService;
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.transaction.annotation.Transactional;
/** /**
* <p> * <p>
* 服务实现类 * 服务实现类
* </p> * </p>
* *
* @author chenqi * @author chenqi
...@@ -23,6 +24,7 @@ public class WorkSubmitAdoptServiceImpl implements WorkSubmitAdoptService { ...@@ -23,6 +24,7 @@ public class WorkSubmitAdoptServiceImpl implements WorkSubmitAdoptService {
@Autowired @Autowired
private WorkSubmitAdoptMapper workSubmitAdoptMapper; private WorkSubmitAdoptMapper workSubmitAdoptMapper;
/** /**
* 功能: 获取自动审批和默认填报限制 * 功能: 获取自动审批和默认填报限制
* *
...@@ -41,4 +43,23 @@ public class WorkSubmitAdoptServiceImpl implements WorkSubmitAdoptService { ...@@ -41,4 +43,23 @@ public class WorkSubmitAdoptServiceImpl implements WorkSubmitAdoptService {
} }
return workSubmitAdopt; return workSubmitAdopt;
} }
@Transactional
@Override
public Boolean modifyAuto(WorkSubmitAdopt workSubmitAdopt) {
log.info("WorkSubmitAdoptServiceImpl[]getById[]input.param.workSubmitAdopt:" + workSubmitAdopt);
if (null == workSubmitAdopt || null == workSubmitAdopt.getSubmitTime() || null == workSubmitAdopt.getAutoExamine() || null == workSubmitAdopt.getId()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
WorkSubmitAdopt workSubmitAdopt1 = workSubmitAdoptMapper.selectById(workSubmitAdopt.getId());
if (null == workSubmitAdopt1) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.QUERY_DATA_IS_NULL);
}
workSubmitAdopt.setAutoAdopt(1);
workSubmitAdopt.setId(1);
int i = workSubmitAdoptMapper.updateById(workSubmitAdopt);
return i > 0;
}
} }
...@@ -7,6 +7,7 @@ import cn.wisenergy.mapper.WorkUserProjectMapper; ...@@ -7,6 +7,7 @@ import cn.wisenergy.mapper.WorkUserProjectMapper;
import cn.wisenergy.model.app.WorkProject; import cn.wisenergy.model.app.WorkProject;
import cn.wisenergy.model.app.WorkUser; import cn.wisenergy.model.app.WorkUser;
import cn.wisenergy.model.app.WorkUserProject; import cn.wisenergy.model.app.WorkUserProject;
import cn.wisenergy.model.dto.UserProjectDto;
import cn.wisenergy.model.enums.ManagerEnum; import cn.wisenergy.model.enums.ManagerEnum;
import cn.wisenergy.service.WorkUserProjectService; import cn.wisenergy.service.WorkUserProjectService;
import cn.wisenergy.service.WorkUserService; import cn.wisenergy.service.WorkUserService;
...@@ -92,4 +93,43 @@ public class WorkUserProjectServiceImpl implements WorkUserProjectService { ...@@ -92,4 +93,43 @@ public class WorkUserProjectServiceImpl implements WorkUserProjectService {
//查询 //查询
return workProjectMapper.selectList(wrapper); return workProjectMapper.selectList(wrapper);
} }
/**
* 根据项目id获取参与人数
*
* @param projectId 项目id
* @return dto
*/
@Override
public List<UserProjectDto> getUserProjectByProjectId(Integer projectId) {
log.info("WorkUserProjectServiceImpl[]getUserProjectByProjectId[]input.param.projectId:{}" + projectId);
if (null == projectId) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
List<UserProjectDto> userByProjectId = workUserProjectMapper.getUserByProjectId(projectId);
if (CollectionUtils.isEmpty(userByProjectId)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.PROJECT_NOT_USER);
}
return userByProjectId;
}
@Override
public Boolean deleteByProjectId(Integer projectId) {
log.info("WorkUserProjectServiceImpl[]deleteByProjectId[]input.param.projectId:{}" + projectId);
if (null == projectId) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
int i = workUserProjectMapper.deleteByProjectId(projectId);
return i != 0;
}
@Override
public Boolean insertBatch(List<Integer> userIds, Integer projectId) {
log.info("WorkUserProjectServiceImpl[]deleteByProjectId[]input.param.userIds:{}projectId:{}" + userIds,projectId);
if (CollectionUtils.isEmpty(userIds) || null == projectId) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
int i = workUserProjectMapper.insertBatch(userIds, projectId);
return i != 0;
}
} }
...@@ -4,21 +4,28 @@ package cn.wisenergy.service.impl; ...@@ -4,21 +4,28 @@ package cn.wisenergy.service.impl;
import cn.wisenergy.common.utils.Md5Util; 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.WorkRoleMapper;
import cn.wisenergy.mapper.WorkUserMapper; import cn.wisenergy.mapper.WorkUserMapper;
import cn.wisenergy.mapper.WorkUserRoleMapper;
import cn.wisenergy.model.app.WorkRole;
import cn.wisenergy.model.app.WorkSubmitAdopt; import cn.wisenergy.model.app.WorkSubmitAdopt;
import cn.wisenergy.model.app.WorkUser; import cn.wisenergy.model.app.WorkUser;
import cn.wisenergy.model.dto.ResultUser; import cn.wisenergy.model.dto.*;
import cn.wisenergy.model.enums.ManagerEnum; import cn.wisenergy.model.enums.ManagerEnum;
import cn.wisenergy.service.WorkDeptService;
import cn.wisenergy.service.WorkSubmitAdoptService; import cn.wisenergy.service.WorkSubmitAdoptService;
import cn.wisenergy.service.WorkUserService; import cn.wisenergy.service.WorkUserService;
import cn.wisenergy.service.utils.UserRoleLevelUtils;
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.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.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.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -39,6 +46,15 @@ public class WorkUserServiceImpl implements WorkUserService { ...@@ -39,6 +46,15 @@ public class WorkUserServiceImpl implements WorkUserService {
@Autowired @Autowired
private WorkSubmitAdoptService workSubmitAdoptService; private WorkSubmitAdoptService workSubmitAdoptService;
@Autowired
private WorkDeptService workDeptService;
@Autowired
private WorkRoleMapper workRoleMapper;
@Autowired
private WorkUserRoleMapper workUserRoleMapper;
private static final String LOGIN_SOURCE = "PC"; private static final String LOGIN_SOURCE = "PC";
// 用户在职状态码 // 用户在职状态码
...@@ -99,6 +115,83 @@ public class WorkUserServiceImpl implements WorkUserService { ...@@ -99,6 +115,83 @@ public class WorkUserServiceImpl implements WorkUserService {
return getResultUser(user); return getResultUser(user);
} }
@Override
public List<OrganizationStructureDto> getOrganizationStructure() {
log.info("WorkUserServiceImpl[]getOrganizationStructure[]");
List<OrganizationStructureDto> allDeptByAllCentreId = workDeptService.getAllDeptByAllCentreId();
QueryWrapper<WorkUser> wrapper = new QueryWrapper<>();
wrapper.eq("status", 1);
List<WorkUser> workUsers = workUserMapper.selectList(wrapper);
if (CollectionUtils.isEmpty(workUsers)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DEPT_NOT_HAVE_USER);
}
ResultUser resultUser ;
for (OrganizationStructureDto organizationStructureDto : allDeptByAllCentreId) {
List<DeptUserDto> deptUserDtos = organizationStructureDto.getDeptUserDtos();
for (DeptUserDto deptUserDto : deptUserDtos) {
List<ResultUser> ResultUsers = new ArrayList<>();
for (WorkUser workUser : workUsers) {
if (workUser.getDeptId().equals(deptUserDto.getDeptId())) {
resultUser = getResultUser(workUser);
ResultUsers.add(resultUser);
}
}
deptUserDto.setResultUsers(ResultUsers);
}
}
return allDeptByAllCentreId;
}
@Override
public AllRoleAndUserRoleDto getUserRoleDto() {
log.info("WorkUserServiceImpl[]getUserRoleDto[]");
List<UserRoleDto> userRoleDtos = workUserMapper.getUserRoleDto();
if (CollectionUtils.isEmpty(userRoleDtos)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.QUERY_DATA_IS_NULL);
}
List<WorkRole> workRoles = new ArrayList<>();
WorkRole workRole = workRoleMapper.selectById(0);
workRoles.add(workRole);
for (UserRoleDto userRoleDto : userRoleDtos) {
if (CollectionUtils.isEmpty(userRoleDto.getWorkRoles())) {
userRoleDto.setWorkRoles(workRoles);
}
}
List<WorkRole> allWorkRole = UserRoleLevelUtils.getAllWorkRole();
if (CollectionUtils.isEmpty(allWorkRole)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.QUERY_DATA_IS_NULL);
}
AllRoleAndUserRoleDto allRoleAndUserRoleDto = new AllRoleAndUserRoleDto();
allRoleAndUserRoleDto.setUserRoleDtos(userRoleDtos);
allRoleAndUserRoleDto.setWorkRoles(allWorkRole);
return allRoleAndUserRoleDto;
}
@Transactional
@Override
public Boolean modifyRole(Integer userId, List<Integer> roleIds) {
log.info("WorkUserServiceImpl[]modifyRole[].input.param.userId:{},roleIds:{}" + userId,roleIds);
WorkUser workUser = workUserMapper.selectById(userId);
if (null == workUser) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.QUERY_DATA_IS_NULL);
}
workUserRoleMapper.deleteByUserId(userId);
if (1 == roleIds.size() && 0 == roleIds.get(0)) {
return true;
}
if (roleIds.size() > 1) {
for (Integer roleId : roleIds) {
if (roleId == 0) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.ORDINARY_MEMBERS_ARE_MANAGEMENT);
}
}
}
workUserRoleMapper.insertBatch(userId, roleIds);
return true;
}
@Override @Override
public ResultUser login(String loginName, String password, String source) { public ResultUser login(String loginName, String password, String source) {
log.info("WorkUserServiceImpl[]login[].input.param" + loginName + password + source); log.info("WorkUserServiceImpl[]login[].input.param" + loginName + password + source);
......
...@@ -88,11 +88,11 @@ public class UserRoleLevelUtils { ...@@ -88,11 +88,11 @@ public class UserRoleLevelUtils {
return levelIds; return levelIds;
} }
public static List<WorkLevel> getlevelByIds(List<Integer> ids) { public static List<WorkLevel> getlevelByIds(List<Integer> levelIds) {
if (CollectionUtils.isEmpty(ids)) { if (CollectionUtils.isEmpty(levelIds)) {
return null; return null;
} }
List<WorkLevel> workLevels =utils. workLevelMapper.selectBatchIds(ids); List<WorkLevel> workLevels =utils. workLevelMapper.selectBatchIds(levelIds);
if (CollectionUtils.isEmpty(workLevels)) { if (CollectionUtils.isEmpty(workLevels)) {
return null; return null;
} }
......
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.model.app.WorkHoliday;
import cn.wisenergy.model.app.WorkSubmitAdopt;
import cn.wisenergy.model.dto.AllRoleAndUserRoleDto;
import cn.wisenergy.model.dto.HolidayAndAutoDto;
import cn.wisenergy.service.WorkHolidayService;
import cn.wisenergy.service.WorkSubmitAdoptService;
import cn.wisenergy.service.WorkUserService;
import cn.wisenergy.web.admin.controller.common.BaseController;
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.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* @author 玛卡巴卡
*/
@RestController
@RequestMapping(value = "/systemManager")
@Slf4j
@Api(tags = "系统管理")
public class SystemController extends BaseController {
@Autowired
private WorkHolidayService workHolidayService;
@Autowired
private WorkSubmitAdoptService workSubmitAdoptService;
@Autowired
private WorkUserService workUserService;
@ApiOperation(value = "添加工作日历", notes = "添加工作日历", httpMethod = "POST")
@ApiImplicitParam(name = "workHoliday", value = "节假日实体类",dataType = "WorkHoliday",required = true)
@PostMapping("/addHoliday")
public Result<Boolean> addHoliday(@RequestBody WorkHoliday workHoliday) {
log.info("SystemController[]addHoliday[]input.param.workHoliday:{}" + workHoliday);
Boolean aBoolean = workHolidayService.addHoliday(workHoliday);
return getResult(aBoolean);
}
@ApiOperation(value = "编辑工作日历", notes = "编辑工作日历", httpMethod = "PUT")
@ApiImplicitParam(name = "workHoliday", value = "节假日实体类",dataType = "WorkHoliday",required = true)
@PutMapping("/modifyHoliday")
public Result<Boolean> modifyHoliday(@RequestBody WorkHoliday workHoliday) {
log.info("SystemController[]modifyHoliday[]input.param.workHoliday:{}" + workHoliday);
Boolean aBoolean = workHolidayService.modifyHoliday(workHoliday);
return getResult(aBoolean);
}
@ApiOperation(value = "删除工作日历", notes = "删除工作日历", httpMethod = "DELETE")
@ApiImplicitParam(name = "id", value = "节假日id",dataType = "int",required = true)
@DeleteMapping("/deleteHoliday")
public Result<Boolean> deleteHoliday(Integer id) {
log.info("SystemController[]deleteHoliday[]input.param.id:{}" + id);
Boolean aBoolean = workHolidayService.deleteHoliday(id);
return getResult(aBoolean);
}
@ApiOperation(value = "获取工作日历和审批时限", notes = "获取工作日历和审批时限", httpMethod = "GET")
@GetMapping("/getHolidayAndAuto")
public Result<HolidayAndAutoDto> getHolidayAndAuto() {
log.info("SystemController[]getHolidayAndAuto[]" );
HolidayAndAutoDto holidayAll = workHolidayService.getHolidayAll();
return getResult(holidayAll);
}
@ApiOperation(value = "修改审批时限", notes = "修改审批时限", httpMethod = "PUT")
@ApiImplicitParam(name = "workSubmitAdopt",value = "审批时限",required = true)
@PutMapping("/modifyAuto")
public Result<Boolean> modifyAuto(@RequestBody WorkSubmitAdopt workSubmitAdopt) {
log.info("SystemController[]modifyAuto[]input.param.workSubmitAdopt:{}" + workSubmitAdopt);
Boolean aBoolean = workSubmitAdoptService.modifyAuto(workSubmitAdopt);
return getResult(aBoolean);
}
@ApiOperation(value = "获取账号列表", notes = "获取账号列表", httpMethod = "GET")
@GetMapping("/getAllRole")
public Result<AllRoleAndUserRoleDto> getAllRole() {
log.info("SystemController[]getAllRole[]");
AllRoleAndUserRoleDto allRoleAndUserRoleDto = workUserService.getUserRoleDto();
return getResult(allRoleAndUserRoleDto);
}
@ApiOperation(value = "设置角色", notes = "设置角色", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId",value = "用户id",dataType = "int",required = true),
@ApiImplicitParam(name = "roleIds", value = "角色ids", dataType = "String", required = true)
})
@PostMapping("/modifyRole")
public Result<Boolean> modifyRole(Integer userId,String roleIds) {
log.info("SystemController[]modifyRole[]input.param.userId:{},roleIds:{}" + userId, roleIds);
if (null == userId || StringUtils.isBlank(roleIds)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
String[] split = roleIds.split("\\,");
Integer[] newIds = (Integer[]) ConvertUtils.convert(split, Integer.class);
List<Integer> lists = new ArrayList<>(Arrays.asList(newIds));
Boolean aBoolean = workUserService.modifyRole(userId, lists);
return getResult(aBoolean);
}
}
package cn.wisenergy.web.admin.controller.app; package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.utils.exception.Result; import cn.wisenergy.common.utils.exception.Result;
import cn.wisenergy.model.app.WorkProjectChange;
import cn.wisenergy.model.dto.ManagerProjectsDto; import cn.wisenergy.model.dto.ManagerProjectsDto;
import cn.wisenergy.model.vo.GetManagerProjectsVo; import cn.wisenergy.model.vo.GetManagerProjectsVo;
import cn.wisenergy.model.vo.ModifyProjectVo;
import cn.wisenergy.service.WorkProjectChangeService;
import cn.wisenergy.service.WorkProjectService; import cn.wisenergy.service.WorkProjectService;
import cn.wisenergy.web.admin.controller.common.BaseController; import cn.wisenergy.web.admin.controller.common.BaseController;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
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.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import java.util.List;
import org.springframework.web.bind.annotation.RestController;
/** /**
* @description: * @description:
...@@ -30,6 +33,9 @@ public class WorkProjectController extends BaseController { ...@@ -30,6 +33,9 @@ public class WorkProjectController extends BaseController {
@Autowired @Autowired
private WorkProjectService workProjectService; private WorkProjectService workProjectService;
@Autowired
private WorkProjectChangeService workProjectChangeService;
@ApiOperation(value = "项目/商机基础信息", notes = "项目/商机基础信息", httpMethod = "POST") @ApiOperation(value = "项目/商机基础信息", notes = "项目/商机基础信息", httpMethod = "POST")
@ApiImplicitParam(name = "gmpv",value = "获取管理的项目/商机",dataType = "GetManagerProjectsVo") @ApiImplicitParam(name = "gmpv",value = "获取管理的项目/商机",dataType = "GetManagerProjectsVo")
@PostMapping(value = "/getProject") @PostMapping(value = "/getProject")
...@@ -39,6 +45,35 @@ public class WorkProjectController extends BaseController { ...@@ -39,6 +45,35 @@ public class WorkProjectController extends BaseController {
return getResult(managerProjeets); return getResult(managerProjeets);
} }
@ApiOperation(value = "结束项目/商机", notes = "结束项目/商机", httpMethod = "PUT")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId",value = "管理员id",dataType = "int"),
@ApiImplicitParam(name = "projectId",value = "项目id",dataType = "int")
})
@PutMapping(value = "/endProject")
public Result<Boolean> endProject(Integer userId,Integer projectId) {
log.info("WorkProjectController[]endProject[]input.param.userId:{},projectId:{}" + userId,projectId);
Boolean aBoolean = workProjectService.endProject(userId,projectId);
return getResult(aBoolean);
}
@ApiOperation(value = "编辑项目/商机", notes = "编辑项目/商机", httpMethod = "POST")
@ApiImplicitParam(name = "modifyProjectVo", value = "编辑内容", dataType = "ModifyProjectVo", required = true)
@PostMapping(value = "/modifyProject")
public Result<Boolean> modifyProject(@RequestBody ModifyProjectVo modifyProjectVo) {
log.info("WorkProjectController[]endProject[]input.param.modifyProjectVo:{}" + modifyProjectVo);
Boolean aBoolean = workProjectService.modifyProject(modifyProjectVo);
return getResult(aBoolean);
}
@ApiOperation(value = "查看项目/商机详情", notes = "查看项目/商机详情", httpMethod = "GET")
@ApiImplicitParam(name = "projectId", value = "项目id", dataType = "int", required = true)
@GetMapping(value = "/getProjectInfo")
public Result<WorkProjectChange> getProjectInfo(Integer projectId) {
log.info("WorkProjectController[]getProjectInfo[]input.param.projectId:{}" + projectId);
List<WorkProjectChange> workProjectChanges = workProjectChangeService.getByProjectId(projectId);
return getResult(workProjectChanges);
}
} }
package cn.wisenergy.web.admin.controller.app; package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.utils.exception.*; import cn.wisenergy.common.utils.exception.*;
import cn.wisenergy.model.dto.OrganizationStructureDto;
import cn.wisenergy.model.dto.ResultUser; import cn.wisenergy.model.dto.ResultUser;
import cn.wisenergy.service.WorkUserService; import cn.wisenergy.service.WorkUserService;
import cn.wisenergy.web.admin.controller.common.BaseController; import cn.wisenergy.web.admin.controller.common.BaseController;
...@@ -15,6 +16,8 @@ import org.springframework.web.bind.annotation.GetMapping; ...@@ -15,6 +16,8 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/** /**
* @description: * @description:
* @author: nh * @author: nh
...@@ -72,4 +75,12 @@ public class WorkUserController extends BaseController { ...@@ -72,4 +75,12 @@ public class WorkUserController extends BaseController {
return getResult(resultUser); return getResult(resultUser);
} }
@ApiOperation(value = "组织架构", notes = "组织架构", httpMethod = "GET")
@GetMapping(value = "/getOrganizationStructureDto")
public Result<List<OrganizationStructureDto>> getOrganizationStructureDto(){
List<OrganizationStructureDto> organizationStructure = workUserService.getOrganizationStructure();
return getResult(organizationStructure);
}
} }
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