Commit a9617f98 authored by cq990612's avatar cq990612

优化代码结构

parent 583e7ba6
......@@ -22,6 +22,9 @@ public interface WorkUserMapper extends BaseMapper<WorkUser> {
WorkUser getUserInfo(Map<String, Object> map);
List<WorkUser> getUserSortByStatus(Map<String, Object> map);
/**
* 根据id获取用户一些基本信息
* @param userId
......
......@@ -67,7 +67,7 @@
<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
ORDER BY c.id,d.sort
</select>
<select id="getById" resultMap="BaseResultMap">
......
......@@ -139,7 +139,7 @@
<select id="getManagerProjectsDto" resultType="cn.wisenergy.model.dto.ManagerProjectsDto">
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,
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
char)) as 'totalCurrentWorkingHours',
if(p.end_time>=curdate(),'否','是') as 'isItOverdue',
......
......@@ -136,4 +136,15 @@ LEFT JOIN work_role r on ur.role_id = r.id
WHERE ur.user_id = #{id}
</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>
......@@ -43,6 +43,6 @@ ORDER BY rank desc
</if>
group by r.user_id
</where>
ORDER BY CONVERT( u.name USING GBK ) ASC
</select>
</mapper>
\ No newline at end of file
......@@ -5,10 +5,10 @@ import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.util.Objects;
/**
* <p>
......@@ -19,7 +19,6 @@ import java.util.Date;
* @since 2021-01-19
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "WorkTimeOrder", description = "工时单实体类")
public class WorkTimeOrder implements Serializable {
......@@ -68,10 +67,36 @@ public class WorkTimeOrder implements Serializable {
@ApiModelProperty(name = "modifyTime", value = "工单修改时间")
private Date modifyTime;
@ApiModelProperty(name = "rejectTime",value = "驳回时间")
@ApiModelProperty(name = "rejectTime", value = "驳回时间")
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;
*/
public enum ChangeTypeEnum {
COSTBUDGET(1, "成本预算(万元)"),
WORKINGHOURSBUDGET(2, "工时预算(人/天)"),
WORKINGHOURSBUDGET(2, "工时预算(人*天)"),
STARTINGTIME(3, "预计开始时间"),
ENDTIME(4, "预计结束时间"),
MANAGER(5,"项目/商机负责人"),
DEPARTMENT(6,"项目/商机所属部门")
DEPARTMENT(6, "项目/商机所属部门"),
PARTICIPANTS(7, "7:参与人员"),
;
......
......@@ -25,4 +25,11 @@ public class GetManagerProjectsVo {
@ApiModelProperty(name = "isConclusion",value = "是否结项:0:结项,1:未结束")
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 {
private List<Integer> userIds;
private String userIdsReason;
private Integer deptId;
private String deptIdReason;
......
......@@ -6,6 +6,7 @@ import cn.wisenergy.model.dto.OrganizationDto;
import cn.wisenergy.model.dto.ResultUser;
import java.util.List;
import java.util.Map;
/**
* <p>
......@@ -60,4 +61,6 @@ public interface WorkUserService {
Boolean modifyRole(Integer userId, List<Integer> roleIds,Integer status);
Boolean reSetPassword(Integer userId);
List<WorkUser> getByMap(Map<String, Object> map);
}
......@@ -317,7 +317,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
}
}
// 验证项目
verificationItem(modifyProjectVo, workProject,null);
verificationItem(modifyProjectVo, workProject, userIds);
// 2.更新表数据
......@@ -395,6 +395,47 @@ public class WorkProjectServiceImpl implements WorkProjectService {
workProjectChange.setReason(modifyProjectVo.getCostBudgetReason());
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)) {
workProjectChangeService.insertbatch(workProjectChanges);
}
......@@ -534,6 +575,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.theNewContent_IsEqual_ToTheOriginal_Content);
}
}
// 校验工时预算
if (null != modifyProjectVo.getWorkTime()) {
if (BigDecimal.ZERO.compareTo(modifyProjectVo.getWorkTime()) > 0) {
......@@ -564,14 +606,13 @@ public class WorkProjectServiceImpl implements WorkProjectService {
}
}
/*if (null == modifyProjectVo.getStartTime() && null == modifyProjectVo.getEndTime() && null == modifyProjectVo.getCostBudget() && null == modifyProjectVo.getWorkTime() && workProject.getDeptId().equals(modifyProjectVo.getDeptId()) && workProject.getManagerId().equals(modifyProjectVo.getManagerId()) ) {
if (userIds.containsAll(modifyProjectVo.getUserIds()) &&
modifyProjectVo.getUserIds().containsAll(userIds)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.theNewContent_IsEqual_ToTheOriginal_Content);
if (!(userIds.containsAll(modifyProjectVo.getUserIds()) &&
modifyProjectVo.getUserIds().containsAll(userIds))) {
if (StringUtils.isBlank(modifyProjectVo.getUserIdsReason())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.REASON_CANNOT_BE_EMPTY);
}
}
}*/
}
}
......@@ -210,6 +210,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
int totalTime = 0;
List<WorkTimeOrder> addList = new ArrayList<>();
List<WorkType> workTypes = workTypeService.getAll(null);
List<Integer> notDeleteOrder = new ArrayList<>();
// 3.验证填报类型项目是否已经结项
orderIsEnd(workTimeOrders, workTypes);
......@@ -240,7 +241,15 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if (!dto.getStatus().equals(workTimeOrder1.getStatus())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.ORDER_EXAMINE);
}
notDeleteOrder.add(workTimeOrder1.getWorkId());
continue;
} else {
WorkTimeOrder order = new WorkTimeOrder();
BeanUtils.copyProperties(dto, order);
if (workTimeOrder1.equals(order)) {
notDeleteOrder.add(workTimeOrder1.getWorkId());
continue;
}
}
}
BeanUtils.copyProperties(workTimeOrder, dto);
......@@ -270,11 +279,13 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
UpdateWrapper<WorkTimeOrder> wrapper = new UpdateWrapper<>();
wrapper.eq("user_id", workTimeOrders.get(0).getUserId());
wrapper.eq("work_day", workTimeOrders.get(0).getWorkDay());
wrapper.notIn("status", 2, 5);
wrapper.notIn(!CollectionUtils.isEmpty(notDeleteOrder), "work_id", notDeleteOrder);
workTimeOrderMapper.delete(wrapper);
if (!CollectionUtils.isEmpty(addList)) {
for (WorkTimeOrder workTimeOrder : addList) {
workTimeOrderMapper.save(workTimeOrder);
}
}
// 10.更新collect表
int status = statusYes(workTimeOrders.get(0).getUserId(), workTimeOrders.get(0).getWorkDay());
......@@ -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)) {
List<WorkProject> projectsByIds = workProjectMapper.getProjectsByIds(null, 0);
if (!CollectionUtils.isEmpty(projectsByIds)) {
......@@ -305,14 +316,14 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
for (WorkProject projectsById : projectsByIds) {
if (projectsById.getId().equals(workTimeOrder.getProjectId())) {
throw new BaseCustomException("666", projectsById.getProjectName()+"已经结束,请重新选择填报");
throw new BaseCustomException("666", projectsById.getProjectName() + "已经结束,请重新选择填报");
}
}
}else{
} else {
for (WorkType workType : workTypes) {
if (workType.getStatus().equals(0)) {
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 {
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);
......@@ -303,6 +304,12 @@ public class WorkUserServiceImpl implements WorkUserService {
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
public ResultUser login(String loginName, String password, String 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