Commit be4bf05d authored by nie'hong's avatar nie'hong

Merge remote-tracking branch 'origin/chenqi2.0' into chenqi2.0

parents dfb6045b c85b3042
......@@ -844,6 +844,9 @@ public class DateUtil {
int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
//设置日历中月份的最大天数
cal.set(Calendar.DAY_OF_MONTH, lastDay);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
//格式化日期
return cal.getTime();
}
......
......@@ -29,17 +29,17 @@ public enum BASE_RESP_CODE_ENUM {
STATISTICS_RECORD_DATA_FAIL("609", "统计档案数据失败"),
EQUIPMENT_INFO_IS_NULL("610", "设备信息为空"),
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_PHONE_ALREADY_EXIST("613", "该手机号已被注册"),
INSERT_DATA_IS_FAIL("614", "插入数据失败"),
FILE_INCORRETC_FORMAT("615", "文件格式不正确"),
RECORD_WORD_REPEAT("616", "字段名称重复"),
WORD_NAME_REPEAT("617", "字段名称请勿重复"),
DUPLICATEPROJECTNAME("617", "项目/商机名称重复"),
QUERY_USER_INFO_FAIL("618", "该用户不存在"),
WORK_ORDER_ALREADY_COMMIT("619", "工单类型重复,不能重复填报"),
WORK_TIME_OVER_NOW_DAY("620", "工单日期不能大于当天"),
INSERT_WORK_COLLECT_DATA_FAIL("621", "插入工时单汇总信息失败"),
WORKORDERHOURS_MUSTBEGREATERTHAN0("621", "工时不能小于等于0"),
NO_JOIN_EVERY_PROJECT_PLASE_JION("622", "请选择项目名称"),
THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN("623", "您不是管理员,请登录管理员账号"),
DEPT_NOT_HAVE_USER("624", "该部门下没有人员"),
......@@ -59,7 +59,7 @@ public enum BASE_RESP_CODE_ENUM {
WORKDAY_NOT_NULL("637","工时日期不能为空"),
PROJECT_NOT_NULL("638","项目类型不能为空"),
NEW_PASSWORD_IS_HTE_SAME_OLD_PASSWORD("639","新密码不能与旧密码相同"),
PASSWORD_FORMAT_ERROR("640","密码由6到16位数字组成"),
THEWORKORDERDATE_HASEXCEEDED_THECHANGERANGE("640","该工单日期已经超出更变范围"),
INCOMPLETE_WORK_ORDER_INFORMATION("621","请填写完整的工单信息"),
HAVE_ORDER_DELETE("643", "有工单被用户删除,审批失败,请重新审批"),
ORDER_EXAMINE("644","该工单已经被审批,请刷新查看"),
......@@ -85,6 +85,8 @@ public enum BASE_RESP_CODE_ENUM {
DOWNLOAD_ERROR("668", "下载出错"),
PLEASE_CANCELTHE_MANAGEMENTROLE("669", "注销账号,请取消管理角色"),
ATLEASTONEADMINISTRATORISREQUIRED("670", "至少需要一个系统管理员!"),
PLEASESELECTANITEM("671", "请选择一个项目"),
PLEASESELECTADEPARTMENT("672","请选择一个部门")
;
......
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkDept;
import cn.wisenergy.model.dto.DeptOfProjectAndOrderType;
import cn.wisenergy.model.dto.OrganizationStructureDto;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
......@@ -26,4 +28,6 @@ public interface WorkDeptMapper extends BaseMapper<WorkDept> {
int updateManagerIdISNullById(Integer id);
List<WorkDept> getDeptByManagerId(Integer userId);
List<DeptOfProjectAndOrderType> getDeptOfProjectAndOrderType(@Param("userId") Integer userId, @Param("deptId") Integer deptId);
}
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkOrderChange;
import cn.wisenergy.model.dto.OrderChangeLogMapperDto;
import cn.wisenergy.model.dto.WorkOrderChangeLogDto;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
public interface WorkOrderChangeMapper extends BaseMapper<WorkOrderChange> {
List<WorkOrderChangeLogDto> getWorkOrderChangeLogDto(OrderChangeLogMapperDto vo);
}
......@@ -2,6 +2,7 @@ package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkProject;
import cn.wisenergy.model.dto.ManagerProjectsDto;
import cn.wisenergy.model.dto.OrderChangeTypeDto;
import cn.wisenergy.model.vo.ModifyProjectVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
......@@ -62,4 +63,9 @@ public interface WorkProjectMapper extends BaseMapper<WorkProject> {
* @return
*/
String getLastDate(Integer projectId);
/**
* 工单变更,获取管理员所管理的项目/商机和参与人员
*/
List<OrderChangeTypeDto> getOrderChangeTypeDtos(Integer userId);
}
......@@ -2,6 +2,7 @@ package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkTimeOrder;
import cn.wisenergy.model.dto.*;
import cn.wisenergy.model.vo.OrderChangeManagerVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
......@@ -107,4 +108,6 @@ public interface WorkTimeOrderMapper extends BaseMapper<WorkTimeOrder> {
List<UserWorkTimeStatisticsByProject> selectListByType(Map<String,Object> map);
List<DeptUserCollectDto> getDeptNotOrderInfo(@Param("userId") Integer userId,@Param("depts") List<Integer> depts,@Param("startDate") Date startDate, @Param("endDate") Date endDate);
List<OrderChangePageDto> getOrderChangePage(OrderChangeManagerVo vo);
}
......@@ -47,10 +47,10 @@
<set>
<if test="null != status">
status=#{status},
status=#{status},
</if>
<if test="null !=totalTime">
total_time = #{totalTime},
total_time = #{totalTime},
</if>
<if test="3 ==status ">
reject_time = now(),
......
......@@ -4,19 +4,18 @@
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="cn.wisenergy.model.app.WorkDept">
<id column="id" property="id" />
<result column="dept_name" property="deptName" />
<id column="id" property="id"/>
<result column="dept_name" property="deptName"/>
<result column="oa_dept_id" property="oaDeptId"/>
<result column="centre_id" property="centreId"/>
<result column="dept_manager_id" property="deptManagerId"/>
<result column="create_time" property="createTime" />
<result column="modify_time" property="modifyTime" />
<result column="create_time" property="createTime"/>
<result column="modify_time" property="modifyTime"/>
<result column="sort" property="sort"/>
</resultMap>
<resultMap id="CentreDeptMap" type="cn.wisenergy.model.dto.OrganizationStructureDto">
<id column="centre_id" property="centreId" />
<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"/>
......@@ -24,14 +23,24 @@
</collection>
</resultMap>
<resultMap id="ProjectAndOrderType" type="cn.wisenergy.model.dto.DeptOfProjectAndOrderType">
<id column="dept_id" property="deptId"/>
<result column="dept_name" property="deptName"/>
<collection property="projectManagerDtos" ofType="cn.wisenergy.model.dto.ProjectManagerDto">
<id column="project_id" property="id"/>
<result column="project_name" property="projectName"/>
</collection>
</resultMap>
<sql id="table">
work_dept
</sql>
<sql id="cols_all">
id, <include refid="cols_exclude_id"/>
id,
<include refid="cols_exclude_id"/>
</sql>
<sql id="cols_exclude_id">
dept_name,oa_dept_id,dept_manager_id,centre_id, create_time, modify_time,sort
</sql>
......@@ -51,18 +60,21 @@
id,dept_name, oa_dept_id,centre_id, dept_name, create_time, modify_time,sort
</sql>
<update id="updateManagerIdISNullById">
UPDATE <include refid="table"/>
UPDATE
<include refid="table"/>
SET dept_manager_id = NULL
WHERE id = #{id}
</update>
<select id="getDeptByCondition" resultMap="BaseResultMap" parameterType="integer">
select <include refid="cols_all"/>
from <include refid="table"/>
<where>
<include refid="criteria"/>
</where>
order by sort
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
<include refid="criteria"/>
</where>
order by sort
</select>
<select id="getAllDeptByAllCentre" resultMap="CentreDeptMap">
......@@ -72,16 +84,36 @@ ORDER BY c.id,d.sort
</select>
<select id="getById" resultMap="BaseResultMap">
select <include refid="cols_all"/>
from <include refid="table"/>
select
<include refid="cols_all"/>
from
<include refid="table"/>
where id =#{deptId}
</select>
<select id="getDeptByManagerId" resultType="cn.wisenergy.model.app.WorkDept">
select <include refid="cols_all"/>
from <include refid="table"/>
select
<include refid="cols_all"/>
from
<include refid="table"/>
where dept_manager_id = #{userId}
</select>
<select id="getDeptOfProjectAndOrderType" resultMap="ProjectAndOrderType">
select d.id 'dept_id',d.dept_name,p.id 'project_id',p.project_name
from work_dept d LEFT JOIN work_project p on d.id = p.dept_id
<where>
<if test="userId !=null">
AND p.manager_id = #{userId}
</if>
<if test="deptId !=null">
OR p.dept_id = #{deptId}
</if>
</where>
ORDER BY d.sort,p.id
</select>
</mapper>
<?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">
<mapper namespace="cn.wisenergy.mapper.WorkOrderChangeMapper">
<select id="getWorkOrderChangeLogDto" resultType="cn.wisenergy.model.dto.WorkOrderChangeLogDto">
select oc.change_date,CASE oc.content when 1 THEN '新增工单' when 2 THEN '删除工单' when 3 then '修改工单' end as 'content'
,oc.u1.name 'operator',d.dept_name,if(oc.project_id is null,t.name,p.project_name) 'project_name',
oc.work_day,u2.name 'user_name',oc.work_time,oc.des,oc.change_reason
from work_order_change oc LEFT JOIN work_dept d ON oc.dept_id = d.id
LEFT JOIN work_project p ON oc.project_id = p.id
LEFT JOIN work_type t ON oc.type = t.id
LEFT JOIN (SELECT id,name FROM work_user ) u1 ON u1.id =oc.operator_id
LEFT JOIN (SELECT id,name FROM work_user ) u2 ON u2.id =oc.user_id
<where>
<if test="projectIds !=null and projectIds.size()>0">
<if test="startDate !=null">
AND oc.change_date >= #{startDate}
</if>
<if test="endDate !=null">
AND oc.change_date &lt;= #{endDate}
</if>
<if test="userName !=null">
AND (u2.name like concat('%',#{userName},'%')
OR u1.name like concat('%',#{userName},'%'))
</if>
AND oc.project_id IN
<foreach collection="projectIds" item="projectId" separator="," open="(" close=")">
#{projectId}
</foreach>
</if>
<if test="types !=null and types.size()>0">
OR (oc.type IN
<foreach collection="types" item="type" separator="," open="(" close=")">
#{type}
</foreach>
<if test="deptIds !=null and deptIds.size()>0">
AND oc.dept_id IN
<foreach collection="deptIds" item="deptId" separator="," open="(" close=")">
#{deptId}
</foreach>
</if>
<if test="startDate !=null">
AND oc.change_date >= #{startDate}
</if>
<if test="endDate !=null">
AND oc.change_date &lt;= #{endDate}
</if>
<if test="userName !=null">
AND (u2.name like concat('%',#{userName},'%')
OR u1.name like concat('%',#{userName},'%'))
</if>
)
</if>
</where>
</select>
</mapper>
\ No newline at end of file
......@@ -270,5 +270,37 @@
p.id = #{projectId}
</select>
<resultMap id="orderChangeType" type="cn.wisenergy.model.dto.OrderChangeTypeDto">
<id column="type" property="type"/>
<result column="type_name" property="typeName"/>
<collection property="orderChangeProjectDtos" ofType="cn.wisenergy.model.dto.OrderChangeProjectDto">
<id column="project_id" property="projectId"/>
<result column="project_name" property="projectName"/>
<collection property="deptUserDtos" resultMap = "deptUserDto"/>
</collection>
</resultMap>
<resultMap id="deptUserDto" type="cn.wisenergy.model.dto.DeptUserDto">
<id column="dept_id" property="deptId"/>
<result column="dept_name" property="deptName"/>
<collection property="userDtos" ofType="cn.wisenergy.model.dto.UserDto">
<id column="user_id" property="id"/>
<result column="user_name" property="name"/>
</collection>
</resultMap>
<select id="getOrderChangeTypeDtos" resultMap="orderChangeType">
select p.type,t.name 'type_name',p.id 'project_id',p.project_name,up.user_id,u.name 'user_name',u.dept_id,d.dept_name
from work_project p LEFT JOIN work_user_project up on p.id = up.project_id
LEFT JOIN work_user u ON up.user_id = u.id
LEFT JOIN work_dept d ON d.id = u.dept_id
LEFT JOIN work_type t ON p.type = t.id
<where>
<if test="userId !=null">
AND p.manager_id = #{userId}
</if>
</where>
</select>
</mapper>
......@@ -56,10 +56,10 @@
<!-- 通用查询结果列 -->
<sql id="vals">
#{userId},#{projectId},#{deptId},#{workTime},#{workDay},#{status},#{reviewerId},#{des},#{reason},#{type},#{isOvertime},#{rejectTime},now()
#{userId},#{projectId},#{deptId},#{workTime},#{workDay},#{status},#{reviewerId},#{des},#{reason},#{type},#{isOvertime},#{rejectTime},now(),#{modifyTime}
</sql>
<sql id="cols_exclude_id">
user_id, project_id, dept_id, work_time, work_day, status, reviewer_id, des, reason, type, is_overtime,reject_time, create_time
user_id, project_id, dept_id, work_time, work_day, status, reviewer_id, des, reason, type, is_overtime,reject_time, create_time,modify_time
</sql>
<sql id="criteria">
......@@ -137,7 +137,7 @@
</update>
<select id="getByDay" resultType="cn.wisenergy.model.app.WorkTimeOrder">
<select id="getByDay" resultType="cn.wisenergy.model.app.WorkTimeOrder" flushCache="true">
SELECT
<include refid="Base_Column_List"/>
FROM
......@@ -258,8 +258,10 @@
IF (YEAR (work_day) = YEAR (NOW()), concat(YEAR (work_day),'年',MONTH (work_day),'月') , concat(YEAR(work_day),
'年')) AS statistics_time ,SUM(t.work_time)/8 AS
total_time, SUM(t.work_time * s.day_salary)/8 AS cost,ty.sort AS ty_sort, d.sort AS d_sort
FROM work_time_order t join work_dept d on d.id = t.dept_id join work_user_salary s on s.user_id = t.user_id join work_type ty on t.type = ty.id
WHERE t.status IN (2,5) AND s.create_time &lt; t.work_day AND s.end_time > t.work_day AND year(t.work_day) &lt; year(NOW())
FROM work_time_order t join work_dept d on d.id = t.dept_id join work_user_salary s on s.user_id = t.user_id
join work_type ty on t.type = ty.id
WHERE t.status IN (2,5) AND s.create_time &lt; t.work_day AND s.end_time > t.work_day AND year(t.work_day) &lt;
year(NOW())
<if test="firstDayOfMonth != null">
AND work_day >= #{firstDayOfMonth}
</if>
......@@ -281,8 +283,10 @@
IF (YEAR (work_day) = YEAR (NOW()), concat(YEAR (work_day),'年',MONTH (work_day),'月') , concat(YEAR(work_day),
'年')) AS statistics_time ,SUM(t.work_time)/8 AS
total_time, SUM(t.work_time * s.day_salary)/8 AS cost,ty.sort AS ty_sort, d.sort AS d_sort
FROM work_time_order t join work_dept d on d.id = t.dept_id join work_user_salary s on s.user_id = t.user_id join work_type ty on t.type = ty.id
WHERE t.status IN (2,5) AND s.create_time &lt; t.work_day AND s.end_time > t.work_day AND year(t.work_day) = year(NOW())
FROM work_time_order t join work_dept d on d.id = t.dept_id join work_user_salary s on s.user_id = t.user_id
join work_type ty on t.type = ty.id
WHERE t.status IN (2,5) AND s.create_time &lt; t.work_day AND s.end_time > t.work_day AND year(t.work_day) =
year(NOW())
<if test="firstDayOfMonth != null">
AND work_day >= #{firstDayOfMonth}
</if>
......@@ -342,13 +346,18 @@
<select id="getUserProjectWorkTimeStatistics" resultMap="userWorkTimeStatisticsByProject">
SELECT <if test="isAll">u.id AS user_id, u.`name` AS user_name,</if>
<if test="!isAll">'合计' AS user_name ,</if> t.project_id AS project_id, t.type AS work_time_type, p.project_name
SELECT
<if test="isAll">u.id AS user_id, u.`name` AS user_name,</if>
<if test="!isAll">'合计' AS user_name ,</if>
t.project_id AS project_id, t.type AS work_time_type, p.project_name
AS project_name,
IF(t.is_overtime = 0, <if test="!isAll">0</if>
<if test="isAll">null</if>, sum(t.work_time)) AS over_time, IF(t.is_overtime=1, <if test="!isAll">0</if>
IF(t.is_overtime = 0,
<if test="!isAll">0</if>
<if test="isAll">null</if>, sum(t.work_time)) AS over_time, IF(t.is_overtime=1,
<if test="!isAll">0</if>
<if test="isAll">null</if>, sum(t.work_time)) AS normal_time
from work_time_order t left join work_project p on t.project_id = p.id join work_user u on t.user_id = u.id join work_type ty on t.type = ty.id
from work_time_order t left join work_project p on t.project_id = p.id join work_user u on t.user_id = u.id join
work_type ty on t.type = ty.id
where
t.status in (2,5) AND
t.work_day &lt;= #{endDate}
......@@ -357,8 +366,10 @@
AND t.work_day >= #{startDate}
</if>
GROUP BY <if test="isAll">u.id,u.`name`,</if> t.project_id,t.type,p.project_name, t.is_overtime
ORDER BY <if test="isAll">convert(u.`name` using gbk) asc</if>
<if test="!isAll">ty.sort</if> ,t.project_id
ORDER BY
<if test="isAll">convert(u.`name` using gbk) asc</if>
<if test="!isAll">ty.sort</if>
,t.project_id
</select>
<select id="selectCountByTypeAndStatus" resultType="cn.wisenergy.model.dto.MonthlyWorkingHoursStatistics">
......@@ -373,10 +384,14 @@
</select>
<select id="selectListByType" resultMap="userWorkTimeStatisticsByProject">
SELECT <if test="isAll">u.id AS user_id, u.`name` AS user_name,</if>
<if test="!isAll">'合计' AS user_name,</if> t.type AS work_time_type,
IF(t.is_overtime = 0, <if test="!isAll">0</if>
<if test="isAll">null</if>, sum(t.work_time)) AS over_time, IF(t.is_overtime=1, <if test="!isAll">0</if>
SELECT
<if test="isAll">u.id AS user_id, u.`name` AS user_name,</if>
<if test="!isAll">'合计' AS user_name,</if>
t.type AS work_time_type,
IF(t.is_overtime = 0,
<if test="!isAll">0</if>
<if test="isAll">null</if>, sum(t.work_time)) AS over_time, IF(t.is_overtime=1,
<if test="!isAll">0</if>
<if test="isAll">null</if>, sum(t.work_time)) AS normal_time
from work_time_order t JOIN work_user u ON t.user_id = u.id
where
......@@ -415,7 +430,7 @@
<result property="createTime" column="create_time"/>
<collection property="workDay"
javaType="ArrayList"
ofType = "java.util.Date">
ofType="java.util.Date">
<result column="work_day"/>
</collection>
</resultMap>
......@@ -441,11 +456,40 @@
<foreach collection="depts" item="dept" open="(" close=")" separator=",">
#{dept}
</foreach>
</if>)
</if>
)
</where>
ORDER BY CONVERT( u.name USING gbk )
</select>
<select id="getOrderChangePage" resultType="cn.wisenergy.model.dto.OrderChangePageDto">
select o.work_id,o.project_id,p.project_name,u.name 'user_name',o.work_day,
o.work_time,t.name 'type_name',o.des,o.status
from work_time_order o LEFT JOIN work_type t on o.type = t.id
LEFT JOIN work_user u on o.user_id = u.id
LEFT JOIN work_project p on o.project_id = p.id
<where>
<if test="projectId !=null">
AND o.project_id = #{projectId}
</if>
<if test="type !=null and type>2 ">
AND o.type = #{type}
<if test="deptId !=null">
AND o.dept_id = #{deptId}
</if>
</if>
<if test="startDate !=null">
AND o.work_day >= #{startDate}
</if>
<if test="endDate !=null">
AND o.work_day &lt;= #{endDate}
</if>
<if test="userName !=null">
AND u.name like concat('%',#{userName},'%')
</if>
</where>
ORDER BY CONVERT( u.name USING gbk ), o.work_day desc
</select>
</mapper>
......@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
......@@ -20,6 +21,7 @@ import java.util.Date;
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="WorkCollect", description="工时汇总实体类")
public class WorkCollect implements Serializable {
......
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 lombok.experimental.Accessors;
import java.util.Date;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="WorkOrderChange", description="工单变更记录")
public class WorkOrderChange {
@ApiModelProperty(name = "id",value = "主键")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(name = "changeDate",value = "变更日期")
private Date changeDate;
@ApiModelProperty(name = "content",value = "操作内容:1:增加 2:删除 3:修改")
private Integer content;
@ApiModelProperty(name = "operatorId",value = "操作人id")
private Integer operatorId;
@ApiModelProperty(name = "deptId",value = "操作人部门id")
private Integer deptId;
@ApiModelProperty(name = "projectId",value = "项目id")
private Integer projectId;
@ApiModelProperty(name = "type",value = "工时类型")
private Integer type;
@ApiModelProperty(name = "workDay",value = "工单日期")
private Date workDay;
@ApiModelProperty(name = "userId",value = "填报人Id")
private Integer userId;
@ApiModelProperty(name = "workTime",value = "工时")
private Integer workTime;
@ApiModelProperty(name = "des",value = "工作说明")
private String des;
@ApiModelProperty(name = "changeReason",value = "修改原因")
private String changeReason;
}
......@@ -2,9 +2,11 @@ package cn.wisenergy.model.app;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
......@@ -19,6 +21,7 @@ import java.util.Objects;
* @since 2021-01-19
*/
@Data
@Accessors(chain = true)
@ApiModel(value = "WorkTimeOrder", description = "工时单实体类")
public class WorkTimeOrder implements Serializable {
......@@ -40,6 +43,7 @@ public class WorkTimeOrder implements Serializable {
@ApiModelProperty(name = "workTime", value = "工时(整数)")
private Integer workTime;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
@ApiModelProperty(name = "workDay", value = "工单日期")
private Date workDay;
......@@ -72,8 +76,12 @@ public class WorkTimeOrder implements Serializable {
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof WorkTimeOrder)) return false;
if (this == o) {
return true;
}
if (!(o instanceof WorkTimeOrder)) {
return false;
}
WorkTimeOrder that = (WorkTimeOrder) o;
if (null != getProjectId() && null != that.getProjectId()) {
return getWorkId().equals(that.getWorkId()) &&
......
package cn.wisenergy.model.dto;
import lombok.Data;
import java.util.List;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class DeptOfProjectAndOrderType {
private Integer deptId;
private String deptName;
List<ProjectManagerDto> projectManagerDtos;
}
......@@ -15,6 +15,5 @@ public class DeptUserDto {
private String deptName;
private List<UserDto> userDtos;
}
package cn.wisenergy.model.dto;
import lombok.Data;
import java.util.List;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class OrderChangeDto {
private List<DeptOfProjectAndOrderType> projectAndOrderTypes;
private List<OrderChangeTypeDto> orderChangeTypeDtos;
}
package cn.wisenergy.model.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class OrderChangeLogMapperDto {
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
private Date startDate;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
private Date endDate;
private String userName;
private List<Integer> deptIds;
private List<Integer> projectIds;
private List<Integer> types;
}
package cn.wisenergy.model.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class OrderChangePageDto {
private Integer workId;
private Integer projectId;
private String projectName;
private String userName;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
private Date workDay;
private Integer workTime;
private Integer status;
private String statusName;
private String typeName;
private String des;
}
package cn.wisenergy.model.dto;
import lombok.Data;
import java.util.List;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class OrderChangeProjectDto {
private Integer projectId;
private String projectName;
private List<DeptUserDto> deptUserDtos;
}
package cn.wisenergy.model.dto;
import lombok.Data;
import java.util.List;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class OrderChangeTypeDto {
private Integer type;
private String typeName;
private List<DeptUserDto> deptUserDtos;
private List<OrderChangeProjectDto> orderChangeProjectDtos;
}
package cn.wisenergy.model.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class WorkOrderChangeLogDto {
@ApiModelProperty(name = "id",value = "主键")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
@ApiModelProperty(name = "changeDate",value = "变更日期")
private Date changeDate;
@ApiModelProperty(name = "content",value = "操作内容")
private String content;
@ApiModelProperty(name = "operator",value = "操作人")
private String operator;
@ApiModelProperty(name = "deptName",value = "操作人部门")
private String deptName;
@ApiModelProperty(name = "projectName",value = "项目名称")
private String projectName;
@ApiModelProperty(name = "type",value = "工时类型")
private Integer type;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
@ApiModelProperty(name = "workDay",value = "工单日期")
private Date workDay;
@ApiModelProperty(name = "userName",value = "填报人")
private String userName;
@ApiModelProperty(name = "workTime",value = "工时")
private Integer workTime;
@ApiModelProperty(name = "des",value = "工作说明")
private String des;
@ApiModelProperty(name = "changeReason",value = "修改原因")
private String changeReason;
}
......@@ -12,7 +12,8 @@ public enum LevelEnum {
TIMEEXPORT("工时导出"),
SYSTEMSETTINGS("系统设置"),
ACCOUNTMANAGEMENT("账号管理"),
MISSING("填报缺失"),
WORKORDER_CHANGEMANAGEMENT("工单变更管理"),
WORKORDER_CHANGERECORD("工单变更记录"),
;
private String LevelName;
......
package cn.wisenergy.model.enums;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
public enum OrderChangeEnum {
CREATE(1,"新增工单"),
DELETE(2,"删除工单"),
UPDATE(3, "修改工单"),
;
private Integer content;
private String contentName;
OrderChangeEnum(Integer content, String contentName) {
this.content = content;
this.contentName = contentName;
}
public Integer getContent() {
return content;
}
public String getContentName() {
return contentName;
}}
package cn.wisenergy.model.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class OrderChangeLogVo {
private Integer page;
private Integer pageSize;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
private Date startDate;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
private Date endDate;
private String userName;
private Integer deptId;
private Integer projectId;
private Integer type;
private Integer userId;
}
package cn.wisenergy.model.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class OrderChangeManagerVo {
private Integer deptId;
private Integer projectId;
private Integer type;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
private Date startDate;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
private Date endDate;
private String userName;
private Integer page;
private Integer pageSize;
private Integer userId;
}
package cn.wisenergy.model.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class OrderChangeVo {
private Integer workId;
private Integer projectId;
private Integer type;
private Integer projectName;
private Integer userId;
private Integer userName;
private Integer operatorId;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
private Date workDay;
private Integer workTime;
private String des;
private String changeReason;
}
......@@ -62,4 +62,5 @@ public interface WorkCollectService {
Boolean updateByWorkTimeOrder(List<WorkTimeOrder> workTimeOrders);
Boolean deleteByUserIdAndWorkDay(Integer userId, Date workDay);
}
package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkDept;
import cn.wisenergy.model.dto.DeptOfProjectAndOrderType;
import cn.wisenergy.model.dto.OrganizationStructureDto;
import java.util.List;
......@@ -38,4 +39,6 @@ public interface WorkDeptService {
* @return
*/
List<WorkDept> getDeptOfProjectOfManager(Integer userId);
List<DeptOfProjectAndOrderType> getDeptOfProjectAndOrderType(Integer userId,Integer deptId);
}
package cn.wisenergy.service;
import cn.wisenergy.model.vo.OrderChangeLogVo;
import com.github.pagehelper.PageInfo;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
public interface WorkOrderChangeService {
PageInfo getOrderChangeLogPage(OrderChangeLogVo vo);
}
package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkProject;
import cn.wisenergy.model.dto.DeptOfProjectAndOrderType;
import cn.wisenergy.model.dto.OrderChangeDto;
import cn.wisenergy.model.dto.ProjectDto;
import cn.wisenergy.model.vo.CreateProjectVo;
import cn.wisenergy.model.vo.GetManagerProjectsVo;
......@@ -71,5 +73,11 @@ public interface WorkProjectService {
Boolean addProject(CreateProjectVo createProjectVo);
/**
* 获取管理员所管理的项目+后五种类型/所属部门(工单变更)
* @param userId 管理员id
*/
OrderChangeDto getProjectAndOrderTypeAndDept(Integer userId);
List<DeptOfProjectAndOrderType> getProjectOfFind(Integer userId);
}
......@@ -2,6 +2,8 @@ package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkTimeOrder;
import cn.wisenergy.model.dto.*;
import cn.wisenergy.model.vo.OrderChangeManagerVo;
import cn.wisenergy.model.vo.OrderChangeVo;
import com.github.pagehelper.PageInfo;
import java.util.Date;
......@@ -125,4 +127,19 @@ public interface WorkTimeOrderService {
* @return
*/
NotWorkSubmitOrderDto getDeptNotOrderInfo(Integer userId);
/**
* 工单变更管理分页
* @param vo 条件
* @return 分页
*/
PageInfo<OrderChangePageDto> getOrderChangePage(OrderChangeManagerVo vo);
Boolean createOrderChange(OrderChangeVo vo);
Boolean updateOrderChange(OrderChangeVo vo);
Boolean deleteOrderChange(Integer workId, Integer operator);
}
......@@ -3,6 +3,7 @@ package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkUser;
import cn.wisenergy.model.dto.AllRoleAndUserRoleDto;
import cn.wisenergy.model.dto.OrganizationDto;
import cn.wisenergy.model.dto.OrganizationStructureDto;
import cn.wisenergy.model.dto.ResultUser;
import cn.wisenergy.model.vo.GetUserListVo;
......@@ -51,6 +52,8 @@ public interface WorkUserService {
*/
ResultUser changePassword(Integer userId, String oldPassword, String newPassword);
List<OrganizationStructureDto> getOrganizationStructureDtos();
/**
* 获取组织架构
* @return
......
......@@ -17,8 +17,8 @@ import java.util.HashMap;
import java.util.List;
/**
* @Authotr:陈奇
* @QQ1799796883
* @author ASUS
*
*/
@Service
......
......@@ -16,6 +16,7 @@ import cn.wisenergy.model.dto.SubtotalDto;
import cn.wisenergy.model.enums.StatusEnum;
import cn.wisenergy.service.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -67,6 +68,8 @@ public class WorkCollectServiceImpl implements WorkCollectService {
private StatisticsService statisticsService;
private static final int NEEDSUBMITORDER = 1;
/**
* 功能: 查询某年月的填报情况
*
......@@ -96,8 +99,7 @@ public class WorkCollectServiceImpl implements WorkCollectService {
WorkUser user = workUserService.getById(userId);
// 如果查询的日期大于本月的日期,则不查询
if (1 == user.getSubmitOrder() && workMonth.compareTo(new Date())<=0) {
if (NEEDSUBMITORDER == user.getSubmitOrder() && workMonth.compareTo(new Date())<=0) {
List<Date> notCompletedByMonth = getNotCompletedByMonth(user, workMonth);
StringBuffer sb = new StringBuffer();
if (!CollectionUtils.isEmpty(notCompletedByMonth)) {
......@@ -196,7 +198,7 @@ public class WorkCollectServiceImpl implements WorkCollectService {
boolean flag = DateUtil.isYearAndMonthEqual(month, new Date());
List<Date> workDays = statisticsService.currentMonthWorkDays(month, flag);
Date createDate = DateUtils.bigDateToShortDate(user.getCreateTime());
workDays.removeIf(date1 -> date1.compareTo(createDate) < 0);
workDays.removeIf(workDay -> workDay.compareTo(createDate) < 0);
List<WorkCollect> completedCollect = workCollectMapper.getCompletedByUserIdAndMonth(user.getId(), month);
List<Date> completedDays = new ArrayList<>();
completedCollect.forEach(collect -> completedDays.add(collect.getWorkDay()));
......@@ -242,4 +244,17 @@ public class WorkCollectServiceImpl implements WorkCollectService {
return true;
}
@Override
public Boolean deleteByUserIdAndWorkDay(Integer userId, Date workDay) {
log.info("WorkCollectServiceImpl[]deleteByUserIdAndWorkDay[]input.param.userId:{}, workDay:{}" + userId, workDay);
if (null == userId || null == workDay) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
UpdateWrapper<WorkCollect> wrapper = new UpdateWrapper<>();
wrapper.eq("user_id", userId);
wrapper.eq("work_day", workDay);
int delete = workCollectMapper.delete(wrapper);
return delete>0;
}
}
......@@ -6,6 +6,7 @@ import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.WorkDeptMapper;
import cn.wisenergy.model.app.WorkDept;
import cn.wisenergy.model.app.WorkUser;
import cn.wisenergy.model.dto.DeptOfProjectAndOrderType;
import cn.wisenergy.model.dto.OrganizationStructureDto;
import cn.wisenergy.model.dto.ProjectDto;
import cn.wisenergy.model.dto.UserRoleLevelDto;
......@@ -179,4 +180,10 @@ public class WorkDeptServiceImpl implements WorkDeptService {
}
return null;
}
@Override
public List<DeptOfProjectAndOrderType> getDeptOfProjectAndOrderType(Integer userId,Integer deptId) {
log.info("WorkDeptServiceImpl[]getDeptOfProjectAndOrderType[]input.param.userId:{},deptId:{}" + userId,deptId);
return workDeptMapper.getDeptOfProjectAndOrderType(userId,deptId);
}
}
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.WorkOrderChangeMapper;
import cn.wisenergy.model.dto.DeptOfProjectAndOrderType;
import cn.wisenergy.model.dto.OrderChangeLogMapperDto;
import cn.wisenergy.model.dto.ProjectManagerDto;
import cn.wisenergy.model.dto.WorkOrderChangeLogDto;
import cn.wisenergy.model.enums.LevelEnum;
import cn.wisenergy.model.vo.OrderChangeLogVo;
import cn.wisenergy.service.WorkOrderChangeService;
import cn.wisenergy.service.WorkProjectService;
import cn.wisenergy.service.utils.UserRoleLevelUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Service
@Slf4j
public class WorkOrderChangeImpl implements WorkOrderChangeService {
@Autowired
private WorkOrderChangeMapper workOrderChangeMapper;
@Autowired
private WorkProjectService workProjectService;
@Override
public PageInfo getOrderChangeLogPage(OrderChangeLogVo vo) {
log.info("WorkOrderChangeImpl[]getOrderChangeLogPage[]input.param.OrderChangeLogVo:{}", vo);
vo.setPage(null == vo.getPage() ? 1 : vo.getPage());
vo.setPageSize(null == vo.getPageSize() ? 10 : vo.getPageSize());
if (null == vo || null == vo.getUserId()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
List<Integer> ranks = UserRoleLevelUtils.getRankByUserAndLevelName(vo.getUserId(), LevelEnum.WORKORDER_CHANGERECORD.getLevelName());
List<Integer> projectIds = new ArrayList<>();
Set<Integer> deptIds = new HashSet<>();
Set<Integer> types = new HashSet<>();
OrderChangeLogMapperDto mapperDto = new OrderChangeLogMapperDto();
List<DeptOfProjectAndOrderType> projectsAndTypes = workProjectService.getProjectOfFind(vo.getUserId());
if (CollectionUtils.isEmpty(projectsAndTypes)) {
return null;
}
if (null == vo.getDeptId()) {
for (DeptOfProjectAndOrderType projectsAndType : projectsAndTypes) {
if (!CollectionUtils.isEmpty(projectsAndType.getProjectManagerDtos())) {
for (ProjectManagerDto projectManagerDto : projectsAndType.getProjectManagerDtos()) {
if (null != projectManagerDto.getId()) {
projectIds.add(projectManagerDto.getId());
}else{
types.add(projectManagerDto.getType());
deptIds.add(projectsAndType.getDeptId());
}
}
}
}
} else if (null == vo.getProjectId() && null == vo.getType()) {
for (DeptOfProjectAndOrderType projectsAndType : projectsAndTypes) {
if (projectsAndType.getDeptId().equals(vo.getDeptId())) {
if (!CollectionUtils.isEmpty(projectsAndType.getProjectManagerDtos())) {
for (ProjectManagerDto projectManagerDto : projectsAndType.getProjectManagerDtos()) {
if (null == projectManagerDto.getId()) {
types.add(projectManagerDto.getType());
deptIds.add(projectsAndType.getDeptId());
}else{
projectIds.add(projectManagerDto.getId());
}
}
}
}
}
}else{
if (null != vo.getProjectId()) {
projectIds.add(vo.getProjectId());
}else{
types.add(vo.getType());
deptIds.add(vo.getDeptId());
}
}
BeanUtils.copyProperties(vo,mapperDto);
mapperDto.setProjectIds(projectIds);
mapperDto.setDeptIds(new ArrayList<>(deptIds));
mapperDto.setTypes(new ArrayList<>(types));
PageHelper.startPage(vo.getPage(), vo.getPageSize());
List<WorkOrderChangeLogDto> workOrderChangeLogDto = workOrderChangeMapper.getWorkOrderChangeLogDto(mapperDto);
PageInfo<WorkOrderChangeLogDto> pageInfo = new PageInfo<>(workOrderChangeLogDto);
pageInfo.setList(workOrderChangeLogDto);
return pageInfo;
}
}
......@@ -124,30 +124,7 @@ public class WorkUserServiceImpl implements WorkUserService {
public OrganizationDto getOrganizationStructure() {
log.info("WorkUserServiceImpl[]getOrganizationStructure[]");
OrganizationDto organizationDto = new OrganizationDto();
PageHelper.clearPage();
List<OrganizationStructureDto> allDeptByAllCentreId = workDeptService.getAllDeptByAllCentreId();
QueryWrapper<WorkUser> wrapper = new QueryWrapper<>();
wrapper.eq("status", 1);
wrapper.orderByAsc("CONVERT( name USING gbk )");
List<WorkUser> workUsers = workUserMapper.selectList(wrapper);
if (CollectionUtils.isEmpty(workUsers)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DEPT_NOT_HAVE_USER);
}
UserDto userDto;
for (OrganizationStructureDto organizationStructureDto : allDeptByAllCentreId) {
List<DeptUserDto> deptUserDtos = organizationStructureDto.getDeptUserDtos();
for (DeptUserDto deptUserDto : deptUserDtos) {
List<UserDto> userDtos = new ArrayList<>();
for (WorkUser workUser : workUsers) {
if (workUser.getDeptId().equals(deptUserDto.getDeptId())) {
userDto = getUserDto(workUser);
userDtos.add(userDto);
}
}
deptUserDto.setUserDtos(userDtos);
}
}
List<OrganizationStructureDto> allDeptByAllCentreId = getOrganizationStructureDtos();
organizationDto.setOrganizationStructureDtos(allDeptByAllCentreId);
List<WorkUser> users = workUserRoleMapper.getUserRoleDeptDtoByRoleId(1);
......@@ -172,6 +149,33 @@ public class WorkUserServiceImpl implements WorkUserService {
return organizationDto;
}
@Override
public List<OrganizationStructureDto> getOrganizationStructureDtos() {
List<OrganizationStructureDto> allDeptByAllCentreId = workDeptService.getAllDeptByAllCentreId();
QueryWrapper<WorkUser> wrapper = new QueryWrapper<>();
wrapper.eq("status", 1);
wrapper.orderByAsc("CONVERT( name USING gbk )");
List<WorkUser> workUsers = workUserMapper.selectList(wrapper);
if (CollectionUtils.isEmpty(workUsers)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DEPT_NOT_HAVE_USER);
}
UserDto userDto;
for (OrganizationStructureDto organizationStructureDto : allDeptByAllCentreId) {
List<DeptUserDto> deptUserDtos = organizationStructureDto.getDeptUserDtos();
for (DeptUserDto deptUserDto : deptUserDtos) {
List<UserDto> userDtos = new ArrayList<>();
for (WorkUser workUser : workUsers) {
if (workUser.getDeptId().equals(deptUserDto.getDeptId())) {
userDto = getUserDto(workUser);
userDtos.add(userDto);
}
}
deptUserDto.setUserDtos(userDtos);
}
}
return allDeptByAllCentreId;
}
@Override
public AllRoleAndUserRoleDto getUserRoleDto(GetUserListVo getUserListVo) {
......@@ -334,7 +338,7 @@ public class WorkUserServiceImpl implements WorkUserService {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.USER_LOGIN_NAME_OR_PASSWORD_IS_ERROR);
}
// 是否离职状态
if (user.getStatus() != ON_THE_JOB_STATUS) {
if (!user.getStatus().equals(ON_THE_JOB_STATUS)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.LEAVE_JOB_USER);
}
......
......@@ -3,6 +3,8 @@ package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.utils.exception.Result;
import cn.wisenergy.model.app.WorkDept;
import cn.wisenergy.model.app.WorkProjectChange;
import cn.wisenergy.model.dto.DeptOfProjectAndOrderType;
import cn.wisenergy.model.dto.OrderChangeDto;
import cn.wisenergy.model.vo.CreateProjectVo;
import cn.wisenergy.model.vo.GetManagerProjectsVo;
import cn.wisenergy.model.vo.ModifyProjectVo;
......@@ -90,8 +92,8 @@ public class WorkProjectController extends BaseController {
return getResult(aBoolean);
}
@ApiOperation(value = "获取所管理项目的部门", notes = "获取所管理项目的部门")
@ApiImplicitParam(name = "userId", value = "管理员id")
@ApiOperation(value = "获取所管理项目的部门(项目/商机管理)", notes = "获取所管理项目的部门(项目/商机管理)")
@ApiImplicitParam(name = "userId", value = "管理员id",required = true)
@GetMapping("/getDeptOfProject")
public Result<List<WorkDept>> getDeptOfProject(Integer userId) {
log.info("WorkProjectController[]getDeptOfProject[]input.param.userId" + userId);
......@@ -99,5 +101,23 @@ public class WorkProjectController extends BaseController {
return getResult(deptOfProjectOfManager);
}
@ApiOperation(value = "查询所管理的项目和所属部门(工单变更管理)", notes = "查询所管理的项目和所属部门(工单变更管理)", httpMethod = "GET")
@ApiImplicitParam(name = "userId", value = "管理员Id", dataType = "int", required = true)
@GetMapping("/getProjectAndTypeAndDept")
public Result getProjectAndOrderTypeAndDept(Integer userId) {
log.info("WorkProjectController[]getProjectAndOrderTypeAndDept[]input.param.userId" + userId);
OrderChangeDto orderChangeDto = workProjectService.getProjectAndOrderTypeAndDept(userId);
return getResult(orderChangeDto);
}
@ApiOperation(value = "查询所管理的项目和所属部门(工单变更管理记录)", notes = "查询所管理的项目和所属部门(工单变更管理记录)", httpMethod = "GET")
@ApiImplicitParam(name = "userId", value = "管理员Id", dataType = "int", required = true)
@GetMapping("/getProjectOfFind")
public Result getProjectOfFind(Integer userId) {
log.info("WorkProjectController[]getProjectAndOrderTypeAndDept[]input.param.userId" + userId);
List<DeptOfProjectAndOrderType> projectOfFind = workProjectService.getProjectOfFind(userId);
return getResult(projectOfFind);
}
}
......@@ -6,6 +6,10 @@ import cn.wisenergy.common.utils.exception.RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.Result;
import cn.wisenergy.model.app.WorkTimeOrder;
import cn.wisenergy.model.dto.*;
import cn.wisenergy.model.vo.OrderChangeLogVo;
import cn.wisenergy.model.vo.OrderChangeManagerVo;
import cn.wisenergy.model.vo.OrderChangeVo;
import cn.wisenergy.service.WorkOrderChangeService;
import cn.wisenergy.service.WorkTimeOrderService;
import cn.wisenergy.web.admin.controller.common.BaseController;
import com.github.pagehelper.PageInfo;
......@@ -31,6 +35,9 @@ public class WorkTimeOrderController extends BaseController {
@Autowired
private WorkTimeOrderService workTimeOrderService;
@Autowired
private WorkOrderChangeService workOrderChangeService;
@ApiOperation(value = "获取某日工单详情", notes = "获取某日工单详情", httpMethod = "GET")
@ApiImplicitParams({
......@@ -168,4 +175,52 @@ public class WorkTimeOrderController extends BaseController {
}
@ApiOperation(value = "工单变更管理分页",notes = "工单变更分页",httpMethod = "POST")
@ApiImplicitParam(name = "vo", value = "工单变更分页条件Vo", dataType = "OrderChangeManagerVo")
@PostMapping("/orderChangePage")
public Result orderChangePage(@RequestBody OrderChangeManagerVo vo) {
log.info("WorkTimeOrderController[]orderChangePage[]input.param.OrderChangeManagerVo:{}" + vo);
PageInfo<OrderChangePageDto> orderChangePage = workTimeOrderService.getOrderChangePage(vo);
return getResult(orderChangePage);
}
@ApiOperation(value = "新增变更工单", notes = "新增变更工单", httpMethod = "POST")
@ApiImplicitParam(name = "vo", value = "新增变更工单vo",dataType = "OrderChangeVo")
@PostMapping("/createOrderChange")
public Result createOrderChange(@RequestBody OrderChangeVo vo) {
log.info("WorkTimeOrderController[]createOrderChange[]input.param.OrderChangeVo:{}" + vo);
Boolean orderChange = workTimeOrderService.createOrderChange(vo);
return getResult(orderChange);
}
@ApiOperation(value = "修改变更工单",notes = "修改变更工单",httpMethod = "PUT")
@ApiImplicitParam(name = "vo", value = "修改变更工单vo",dataType = "OrderChangeVo")
@PutMapping("/updateOrderChange")
public Result updateOrderChange(@RequestBody OrderChangeVo vo) {
log.info("WorkTimeOrderController[]updateOrderChange[]input.param.OrderChangeVo:{}" + vo);
Boolean aBoolean = workTimeOrderService.updateOrderChange(vo);
return getResult(aBoolean);
}
@ApiOperation(value = "删除工单",notes = "删除工单",httpMethod = "DELETE")
@ApiImplicitParams({
@ApiImplicitParam(name = "workId",value = "工单id",dataType = "int",required = true),
@ApiImplicitParam(name = "operator",value = "操作者",dataType = "int",required = true)
})
@DeleteMapping("/deleteOrderChange")
public Result deleteOrderChange(Integer workId,Integer operator) {
log.info("WorkTimeOrderController[]deleteOrderChange[]input.param.workId:{},operator:{}" + workId,operator);
Boolean aBoolean = workTimeOrderService.deleteOrderChange(workId, operator);
return getResult(aBoolean);
}
@ApiOperation(value = "工单变更记录分页",notes = "工单变更记录分页",httpMethod = "POST")
@ApiImplicitParam(name = "vo", value = "工单变更记录分页条件vo",dataType = "OrderChangeLogVo")
@PostMapping("/orderChangeLogPage")
public Result orderChangeLogPage(@RequestBody OrderChangeLogVo vo) {
log.info("WorkTimeOrderController[]OrderChangeLogPage[]input.param.OrderChangeLogVo:{}" + vo);
PageInfo orderChangeLogPage = workOrderChangeService.getOrderChangeLogPage(vo);
return getResult(orderChangeLogPage);
}
}
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