Commit a9617f98 authored by cq990612's avatar cq990612

优化代码结构

parent 583e7ba6
...@@ -22,6 +22,9 @@ public interface WorkUserMapper extends BaseMapper<WorkUser> { ...@@ -22,6 +22,9 @@ public interface WorkUserMapper extends BaseMapper<WorkUser> {
WorkUser getUserInfo(Map<String, Object> map); WorkUser getUserInfo(Map<String, Object> map);
List<WorkUser> getUserSortByStatus(Map<String, Object> map);
/** /**
* 根据id获取用户一些基本信息 * 根据id获取用户一些基本信息
* @param userId * @param userId
......
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
<select id="getAllDeptByAllCentre" resultMap="CentreDeptMap"> <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' 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 from work_centre c LEFT JOIN work_dept d ON c.id = d.centre_id
ORDER BY c.id,d.id ORDER BY c.id,d.sort
</select> </select>
<select id="getById" resultMap="BaseResultMap"> <select id="getById" resultMap="BaseResultMap">
......
...@@ -139,7 +139,7 @@ ...@@ -139,7 +139,7 @@
<select id="getManagerProjectsDto" resultType="cn.wisenergy.model.dto.ManagerProjectsDto"> <select id="getManagerProjectsDto" resultType="cn.wisenergy.model.dto.ManagerProjectsDto">
select select
p.id,p.oa_project_id,p.project_name,p.business_id,p.business_name,p.manager_id,d.dept_name,lu.manager_name,p.dept_id,p.modify_time,p.type,p.create_time,p.is_conclusion, p.id,p.oa_project_id,p.project_name,p.business_id,p.business_name,p.manager_id,d.dept_name,lu.manager_name,p.dept_id,p.modify_time,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) ORDER BY CONVERT( u.name USING gbk )) as 'participants',p.cost_budget,p.work_time,p.start_time,p.end_time,
if(cost is NULL,0,0 + cast(cost as char)) as 'currentLaborCost',if(total_time is NULL,0,0 + cast(total_time as if(cost is NULL,0,0 + cast(cost as char)) as 'currentLaborCost',if(total_time is NULL,0,0 + cast(total_time as
char)) as 'totalCurrentWorkingHours', char)) as 'totalCurrentWorkingHours',
if(p.end_time>=curdate(),'否','是') as 'isItOverdue', if(p.end_time>=curdate(),'否','是') as 'isItOverdue',
......
...@@ -136,4 +136,15 @@ LEFT JOIN work_role r on ur.role_id = r.id ...@@ -136,4 +136,15 @@ LEFT JOIN work_role r on ur.role_id = r.id
WHERE ur.user_id = #{id} WHERE ur.user_id = #{id}
</select> </select>
<select id="getUserSortByStatus" resultType="cn.wisenergy.model.app.WorkUser">
select <include refid="cols_all"/>
from <include refid="table"/>
<where>
<if test="null != status">
status = #{status}
</if>
</where>
ORDER BY CONVERT( `name` USING gbk )
</select>
</mapper> </mapper>
...@@ -43,6 +43,6 @@ ORDER BY rank desc ...@@ -43,6 +43,6 @@ ORDER BY rank desc
</if> </if>
group by r.user_id group by r.user_id
</where> </where>
ORDER BY CONVERT( u.name USING GBK ) ASC
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -5,10 +5,10 @@ import com.baomidou.mybatisplus.annotation.TableId; ...@@ -5,10 +5,10 @@ import com.baomidou.mybatisplus.annotation.TableId;
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 java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.Objects;
/** /**
* <p> * <p>
...@@ -19,7 +19,6 @@ import java.util.Date; ...@@ -19,7 +19,6 @@ import java.util.Date;
* @since 2021-01-19 * @since 2021-01-19
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "WorkTimeOrder", description = "工时单实体类") @ApiModel(value = "WorkTimeOrder", description = "工时单实体类")
public class WorkTimeOrder implements Serializable { public class WorkTimeOrder implements Serializable {
...@@ -68,10 +67,36 @@ public class WorkTimeOrder implements Serializable { ...@@ -68,10 +67,36 @@ public class WorkTimeOrder implements Serializable {
@ApiModelProperty(name = "modifyTime", value = "工单修改时间") @ApiModelProperty(name = "modifyTime", value = "工单修改时间")
private Date modifyTime; private Date modifyTime;
@ApiModelProperty(name = "rejectTime", value = "驳回时间")
@ApiModelProperty(name = "rejectTime",value = "驳回时间")
private Date rejectTime; private Date rejectTime;
@Override
public boolean equals(Object o) {
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()) &&
getUserId().equals(that.getUserId()) &&
getProjectId().equals(that.getProjectId()) &&
getWorkTime().equals(that.getWorkTime()) &&
getWorkDay().equals(that.getWorkDay()) &&
getStatus().equals(that.getStatus()) &&
getDes().equals(that.getDes()) &&
getType().equals(that.getType());
} else {
return getWorkId().equals(that.getWorkId()) &&
getUserId().equals(that.getUserId()) &&
getWorkTime().equals(that.getWorkTime()) &&
getWorkDay().equals(that.getWorkDay()) &&
getStatus().equals(that.getStatus()) &&
getDes().equals(that.getDes()) &&
getType().equals(that.getType());
}
}
@Override
public int hashCode() {
return Objects.hash(getWorkId(), getUserId(), getProjectId(), getWorkTime(), getWorkDay(), getStatus(), getDes(), getType());
}
} }
...@@ -6,11 +6,12 @@ package cn.wisenergy.model.enums; ...@@ -6,11 +6,12 @@ package cn.wisenergy.model.enums;
*/ */
public enum ChangeTypeEnum { public enum ChangeTypeEnum {
COSTBUDGET(1, "成本预算(万元)"), COSTBUDGET(1, "成本预算(万元)"),
WORKINGHOURSBUDGET(2, "工时预算(人/天)"), WORKINGHOURSBUDGET(2, "工时预算(人*天)"),
STARTINGTIME(3, "预计开始时间"), STARTINGTIME(3, "预计开始时间"),
ENDTIME(4, "预计结束时间"), ENDTIME(4, "预计结束时间"),
MANAGER(5,"项目/商机负责人"), MANAGER(5,"项目/商机负责人"),
DEPARTMENT(6,"项目/商机所属部门") DEPARTMENT(6, "项目/商机所属部门"),
PARTICIPANTS(7, "7:参与人员"),
; ;
......
...@@ -25,4 +25,11 @@ public class GetManagerProjectsVo { ...@@ -25,4 +25,11 @@ public class GetManagerProjectsVo {
@ApiModelProperty(name = "isConclusion",value = "是否结项:0:结项,1:未结束") @ApiModelProperty(name = "isConclusion",value = "是否结项:0:结项,1:未结束")
private Integer isConclusion; private Integer isConclusion;
/* @ApiModelProperty(name = "deptId",value = "部门id")
private Integer deptId;
@ApiModelProperty(name = "projectId", value = "项目id")
private Integer projectId;*/
} }
...@@ -26,6 +26,8 @@ public class ModifyProjectVo { ...@@ -26,6 +26,8 @@ public class ModifyProjectVo {
private List<Integer> userIds; private List<Integer> userIds;
private String userIdsReason;
private Integer deptId; private Integer deptId;
private String deptIdReason; private String deptIdReason;
......
...@@ -6,6 +6,7 @@ import cn.wisenergy.model.dto.OrganizationDto; ...@@ -6,6 +6,7 @@ import cn.wisenergy.model.dto.OrganizationDto;
import cn.wisenergy.model.dto.ResultUser; import cn.wisenergy.model.dto.ResultUser;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* <p> * <p>
...@@ -60,4 +61,6 @@ public interface WorkUserService { ...@@ -60,4 +61,6 @@ public interface WorkUserService {
Boolean modifyRole(Integer userId, List<Integer> roleIds,Integer status); Boolean modifyRole(Integer userId, List<Integer> roleIds,Integer status);
Boolean reSetPassword(Integer userId); Boolean reSetPassword(Integer userId);
List<WorkUser> getByMap(Map<String, Object> map);
} }
...@@ -317,7 +317,7 @@ public class WorkProjectServiceImpl implements WorkProjectService { ...@@ -317,7 +317,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
} }
} }
// 验证项目 // 验证项目
verificationItem(modifyProjectVo, workProject,null); verificationItem(modifyProjectVo, workProject, userIds);
// 2.更新表数据 // 2.更新表数据
...@@ -395,6 +395,47 @@ public class WorkProjectServiceImpl implements WorkProjectService { ...@@ -395,6 +395,47 @@ public class WorkProjectServiceImpl implements WorkProjectService {
workProjectChange.setReason(modifyProjectVo.getCostBudgetReason()); workProjectChange.setReason(modifyProjectVo.getCostBudgetReason());
workProjectChanges.add(workProjectChange); workProjectChanges.add(workProjectChange);
} }
if (!StringUtils.isBlank(modifyProjectVo.getUserIdsReason())) {
if (!userIds.equals(modifyProjectVo.getUserIds())) {
HashMap<String, Object> map = new HashMap<>();
map.put("status", 1);
List<WorkUser> byMap = workUserService.getByMap(map);
StringBuffer before = new StringBuffer();
StringBuffer after = new StringBuffer();
String userModifyBefore = "";
String userModifyAfter = "";
if (!CollectionUtils.isEmpty(byMap)) {
for (WorkUser workUser : byMap) {
if (!CollectionUtils.isEmpty(userIds)) {
for (Integer userId : userIds) {
if (userId.equals(workUser.getId())) {
before.append(workUser.getName()).append(",");
}
}
}
if (!CollectionUtils.isEmpty(modifyProjectVo.getUserIds())) {
for (Integer userId : modifyProjectVo.getUserIds()) {
if (userId.equals(workUser.getId())) {
after.append(workUser.getName()).append(",");
}
}
}
}
userModifyBefore = before.length() > 0 ? before.deleteCharAt(before.length() - 1).toString() : "";
userModifyAfter = after.length() > 0 ? after.deleteCharAt(after.length() - 1).toString() : "";
}
WorkProjectChange workProjectChange = new WorkProjectChange();
workProjectChange.setProjectId(modifyProjectVo.getProjectId());
workProjectChange.setModifyTime(new Date());
workProjectChange.setChangeType(7);
workProjectChange.setModifyBefore(userModifyBefore);
workProjectChange.setModifyAfter(userModifyAfter);
workProjectChange.setReason(modifyProjectVo.getUserIdsReason());
workProjectChanges.add(workProjectChange);
}
}
if (!CollectionUtils.isEmpty(workProjectChanges)) { if (!CollectionUtils.isEmpty(workProjectChanges)) {
workProjectChangeService.insertbatch(workProjectChanges); workProjectChangeService.insertbatch(workProjectChanges);
} }
...@@ -534,6 +575,7 @@ public class WorkProjectServiceImpl implements WorkProjectService { ...@@ -534,6 +575,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.theNewContent_IsEqual_ToTheOriginal_Content); throw new BaseCustomException(BASE_RESP_CODE_ENUM.theNewContent_IsEqual_ToTheOriginal_Content);
} }
} }
// 校验工时预算 // 校验工时预算
if (null != modifyProjectVo.getWorkTime()) { if (null != modifyProjectVo.getWorkTime()) {
if (BigDecimal.ZERO.compareTo(modifyProjectVo.getWorkTime()) > 0) { if (BigDecimal.ZERO.compareTo(modifyProjectVo.getWorkTime()) > 0) {
...@@ -564,14 +606,13 @@ public class WorkProjectServiceImpl implements WorkProjectService { ...@@ -564,14 +606,13 @@ public class WorkProjectServiceImpl implements WorkProjectService {
} }
} }
if (!(userIds.containsAll(modifyProjectVo.getUserIds()) &&
/*if (null == modifyProjectVo.getStartTime() && null == modifyProjectVo.getEndTime() && null == modifyProjectVo.getCostBudget() && null == modifyProjectVo.getWorkTime() && workProject.getDeptId().equals(modifyProjectVo.getDeptId()) && workProject.getManagerId().equals(modifyProjectVo.getManagerId()) ) { modifyProjectVo.getUserIds().containsAll(userIds))) {
if (StringUtils.isBlank(modifyProjectVo.getUserIdsReason())) {
if (userIds.containsAll(modifyProjectVo.getUserIds()) && throw new BaseCustomException(BASE_RESP_CODE_ENUM.REASON_CANNOT_BE_EMPTY);
modifyProjectVo.getUserIds().containsAll(userIds)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.theNewContent_IsEqual_ToTheOriginal_Content);
} }
}*/ }
} }
} }
...@@ -210,6 +210,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -210,6 +210,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
int totalTime = 0; int totalTime = 0;
List<WorkTimeOrder> addList = new ArrayList<>(); List<WorkTimeOrder> addList = new ArrayList<>();
List<WorkType> workTypes = workTypeService.getAll(null); List<WorkType> workTypes = workTypeService.getAll(null);
List<Integer> notDeleteOrder = new ArrayList<>();
// 3.验证填报类型项目是否已经结项 // 3.验证填报类型项目是否已经结项
orderIsEnd(workTimeOrders, workTypes); orderIsEnd(workTimeOrders, workTypes);
...@@ -240,7 +241,15 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -240,7 +241,15 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if (!dto.getStatus().equals(workTimeOrder1.getStatus())) { if (!dto.getStatus().equals(workTimeOrder1.getStatus())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.ORDER_EXAMINE); throw new BaseCustomException(BASE_RESP_CODE_ENUM.ORDER_EXAMINE);
} }
notDeleteOrder.add(workTimeOrder1.getWorkId());
continue; continue;
} else {
WorkTimeOrder order = new WorkTimeOrder();
BeanUtils.copyProperties(dto, order);
if (workTimeOrder1.equals(order)) {
notDeleteOrder.add(workTimeOrder1.getWorkId());
continue;
}
} }
} }
BeanUtils.copyProperties(workTimeOrder, dto); BeanUtils.copyProperties(workTimeOrder, dto);
...@@ -270,10 +279,12 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -270,10 +279,12 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
UpdateWrapper<WorkTimeOrder> wrapper = new UpdateWrapper<>(); UpdateWrapper<WorkTimeOrder> wrapper = new UpdateWrapper<>();
wrapper.eq("user_id", workTimeOrders.get(0).getUserId()); wrapper.eq("user_id", workTimeOrders.get(0).getUserId());
wrapper.eq("work_day", workTimeOrders.get(0).getWorkDay()); wrapper.eq("work_day", workTimeOrders.get(0).getWorkDay());
wrapper.notIn("status", 2, 5); wrapper.notIn(!CollectionUtils.isEmpty(notDeleteOrder), "work_id", notDeleteOrder);
workTimeOrderMapper.delete(wrapper); workTimeOrderMapper.delete(wrapper);
for (WorkTimeOrder workTimeOrder : addList) { if (!CollectionUtils.isEmpty(addList)) {
workTimeOrderMapper.save(workTimeOrder); for (WorkTimeOrder workTimeOrder : addList) {
workTimeOrderMapper.save(workTimeOrder);
}
} }
// 10.更新collect表 // 10.更新collect表
int status = statusYes(workTimeOrders.get(0).getUserId(), workTimeOrders.get(0).getWorkDay()); int status = statusYes(workTimeOrders.get(0).getUserId(), workTimeOrders.get(0).getWorkDay());
...@@ -296,7 +307,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -296,7 +307,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
} }
private void orderIsEnd(List<WorkTimeOrderDto> workTimeOrders,List<WorkType> workTypes) { private void orderIsEnd(List<WorkTimeOrderDto> workTimeOrders, List<WorkType> workTypes) {
if (!CollectionUtils.isEmpty(workTimeOrders) || !CollectionUtils.isEmpty(workTypes)) { if (!CollectionUtils.isEmpty(workTimeOrders) || !CollectionUtils.isEmpty(workTypes)) {
List<WorkProject> projectsByIds = workProjectMapper.getProjectsByIds(null, 0); List<WorkProject> projectsByIds = workProjectMapper.getProjectsByIds(null, 0);
if (!CollectionUtils.isEmpty(projectsByIds)) { if (!CollectionUtils.isEmpty(projectsByIds)) {
...@@ -305,14 +316,14 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -305,14 +316,14 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
for (WorkProject projectsById : projectsByIds) { for (WorkProject projectsById : projectsByIds) {
if (projectsById.getId().equals(workTimeOrder.getProjectId())) { if (projectsById.getId().equals(workTimeOrder.getProjectId())) {
throw new BaseCustomException("666", projectsById.getProjectName()+"已经结束,请重新选择填报"); throw new BaseCustomException("666", projectsById.getProjectName() + "已经结束,请重新选择填报");
} }
} }
}else{ } else {
for (WorkType workType : workTypes) { for (WorkType workType : workTypes) {
if (workType.getStatus().equals(0)) { if (workType.getStatus().equals(0)) {
if (workType.getId().equals(workTimeOrder.getType())) { if (workType.getId().equals(workTimeOrder.getType())) {
throw new BaseCustomException("667",workType.getName()+"已经结束,请重新选择填报"); throw new BaseCustomException("667", workType.getName() + "已经结束,请重新选择填报");
} }
} }
} }
......
...@@ -127,6 +127,7 @@ public class WorkUserServiceImpl implements WorkUserService { ...@@ -127,6 +127,7 @@ public class WorkUserServiceImpl implements WorkUserService {
List<OrganizationStructureDto> allDeptByAllCentreId = workDeptService.getAllDeptByAllCentreId(); List<OrganizationStructureDto> allDeptByAllCentreId = workDeptService.getAllDeptByAllCentreId();
QueryWrapper<WorkUser> wrapper = new QueryWrapper<>(); QueryWrapper<WorkUser> wrapper = new QueryWrapper<>();
wrapper.eq("status", 1); wrapper.eq("status", 1);
wrapper.orderByAsc("CONVERT( name USING gbk )");
List<WorkUser> workUsers = workUserMapper.selectList(wrapper); List<WorkUser> workUsers = workUserMapper.selectList(wrapper);
if (CollectionUtils.isEmpty(workUsers)) { if (CollectionUtils.isEmpty(workUsers)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DEPT_NOT_HAVE_USER); throw new BaseCustomException(BASE_RESP_CODE_ENUM.DEPT_NOT_HAVE_USER);
...@@ -303,6 +304,12 @@ public class WorkUserServiceImpl implements WorkUserService { ...@@ -303,6 +304,12 @@ public class WorkUserServiceImpl implements WorkUserService {
return i>0; return i>0;
} }
@Override
public List<WorkUser> getByMap(Map<String, Object> map) {
log.info("WorkUserServiceImpl[]getUserInfo[].input.param.map" + map);
return workUserMapper.getUserSortByStatus(map);
}
@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);
......
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