项目对接
This commit is contained in:
1
xinnengyuan/.gitignore
vendored
1
xinnengyuan/.gitignore
vendored
@ -54,3 +54,4 @@ docs
|
|||||||
/file
|
/file
|
||||||
.idea/
|
.idea/
|
||||||
chat-memory/
|
chat-memory/
|
||||||
|
queries/
|
||||||
|
|||||||
@ -1,37 +1,28 @@
|
|||||||
package org.dromara.message.controller;
|
package org.dromara.message.controller;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
|
||||||
import jakarta.validation.constraints.*;
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
import org.dromara.common.satoken.utils.LoginHelper;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import org.dromara.message.domain.bo.MsgConfigAddReq;
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
import org.dromara.message.domain.bo.MsgConfigEditReq;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import org.dromara.system.domain.bo.SysDeptBo;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.dromara.system.domain.vo.SysDeptVo;
|
|
||||||
import org.dromara.system.domain.vo.SysUserVo;
|
|
||||||
import org.dromara.system.service.ISysDeptService;
|
|
||||||
import org.dromara.system.service.ISysUserService;
|
|
||||||
import org.springframework.boot.actuate.beans.BeansEndpoint;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
|
||||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
|
||||||
import org.dromara.common.log.annotation.Log;
|
|
||||||
import org.dromara.common.web.core.BaseController;
|
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
||||||
import org.dromara.common.core.domain.R;
|
import org.dromara.common.core.domain.R;
|
||||||
import org.dromara.common.core.validate.AddGroup;
|
import org.dromara.common.core.validate.AddGroup;
|
||||||
import org.dromara.common.core.validate.EditGroup;
|
import org.dromara.common.core.validate.EditGroup;
|
||||||
|
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||||
|
import org.dromara.common.log.annotation.Log;
|
||||||
import org.dromara.common.log.enums.BusinessType;
|
import org.dromara.common.log.enums.BusinessType;
|
||||||
import org.dromara.common.excel.utils.ExcelUtil;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
import org.dromara.message.domain.vo.MsgConfigVo;
|
|
||||||
import org.dromara.message.domain.bo.MsgConfigBo;
|
|
||||||
import org.dromara.message.service.IMsgConfigService;
|
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.common.web.core.BaseController;
|
||||||
|
import org.dromara.message.domain.bo.MsgConfigAddReq;
|
||||||
|
import org.dromara.message.domain.bo.MsgConfigBo;
|
||||||
|
import org.dromara.message.domain.bo.MsgConfigEditReq;
|
||||||
|
import org.dromara.message.domain.vo.MsgConfigVo;
|
||||||
|
import org.dromara.message.service.IMsgConfigService;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 消息配置
|
* 消息配置
|
||||||
@ -46,21 +37,6 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|||||||
public class MsgConfigController extends BaseController {
|
public class MsgConfigController extends BaseController {
|
||||||
|
|
||||||
private final IMsgConfigService msgConfigService;
|
private final IMsgConfigService msgConfigService;
|
||||||
private final ISysUserService userService;
|
|
||||||
private final ISysDeptService deptService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取当前用户所在上级部门ID
|
|
||||||
*/
|
|
||||||
@SaCheckPermission("message:config:allUsersOfTheDepartment")
|
|
||||||
@GetMapping("/allUsersOfTheDepartment")
|
|
||||||
public R<SysDeptBo> allUsersOfTheDepartment() {
|
|
||||||
//获取当前用户的上级部门
|
|
||||||
Long deptId = Objects.requireNonNull(LoginHelper.getLoginUser()).getDeptId();
|
|
||||||
SysDeptBo bm = deptService.selectDeptByIdBo(deptId);
|
|
||||||
//从顶级往下推两个部门
|
|
||||||
return R.ok(bm);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询消息配置列表
|
* 查询消息配置列表
|
||||||
@ -79,7 +55,7 @@ public class MsgConfigController extends BaseController {
|
|||||||
@SaCheckPermission("message:config:query")
|
@SaCheckPermission("message:config:query")
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public R<MsgConfigVo> getInfo(@NotNull(message = "主键不能为空")
|
public R<MsgConfigVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
@PathVariable Long id) {
|
@PathVariable Long id) {
|
||||||
return R.ok(msgConfigService.queryById(id));
|
return R.ok(msgConfigService.queryById(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,36 +1,35 @@
|
|||||||
package org.dromara.project.controller;
|
package org.dromara.project.controller;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
|
||||||
import jakarta.validation.constraints.*;
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
import org.dromara.contractor.domain.dto.contractor.SubContractorQueryReq;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
import org.dromara.contractor.domain.vo.contractor.SubContractorVo;
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
import org.dromara.contractor.service.ISubContractorService;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import org.dromara.project.domain.dto.attendance.*;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.dromara.project.domain.dto.projectteam.BusProjectTeamQueryReq;
|
|
||||||
import org.dromara.project.domain.vo.attendance.*;
|
|
||||||
import org.dromara.project.domain.vo.projectteam.BusProjectTeamVo;
|
|
||||||
import org.dromara.project.service.IBusProjectTeamService;
|
|
||||||
import org.dromara.system.domain.dto.FbUserListDto;
|
|
||||||
import org.dromara.system.domain.vo.SysUserVo;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
|
||||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
|
||||||
import org.dromara.common.log.annotation.Log;
|
|
||||||
import org.dromara.common.web.core.BaseController;
|
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
||||||
import org.dromara.common.core.domain.R;
|
import org.dromara.common.core.domain.R;
|
||||||
import org.dromara.common.core.validate.AddGroup;
|
import org.dromara.common.core.validate.AddGroup;
|
||||||
import org.dromara.common.core.validate.EditGroup;
|
import org.dromara.common.core.validate.EditGroup;
|
||||||
import org.dromara.common.log.enums.BusinessType;
|
|
||||||
import org.dromara.common.excel.utils.ExcelUtil;
|
import org.dromara.common.excel.utils.ExcelUtil;
|
||||||
import org.dromara.project.domain.vo.BusAttendanceVo;
|
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||||
import org.dromara.project.domain.bo.BusAttendanceBo;
|
import org.dromara.common.log.annotation.Log;
|
||||||
import org.dromara.project.service.IBusAttendanceService;
|
import org.dromara.common.log.enums.BusinessType;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.common.web.core.BaseController;
|
||||||
|
import org.dromara.contractor.domain.dto.contractor.SubContractorQueryReq;
|
||||||
|
import org.dromara.contractor.domain.vo.contractor.SubContractorVo;
|
||||||
|
import org.dromara.contractor.service.ISubContractorService;
|
||||||
|
import org.dromara.project.domain.bo.BusAttendanceBo;
|
||||||
|
import org.dromara.project.domain.dto.attendance.*;
|
||||||
|
import org.dromara.project.domain.dto.projectteam.BusProjectTeamQueryReq;
|
||||||
|
import org.dromara.project.domain.vo.BusAttendanceVo;
|
||||||
|
import org.dromara.project.domain.vo.attendance.*;
|
||||||
|
import org.dromara.project.domain.vo.projectteam.BusProjectTeamVo;
|
||||||
|
import org.dromara.project.service.IBusAttendanceService;
|
||||||
|
import org.dromara.project.service.IBusProjectTeamService;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 考勤
|
* 考勤
|
||||||
@ -92,7 +91,7 @@ public class BusAttendanceController extends BaseController {
|
|||||||
@SaCheckPermission("project:attendance:query")
|
@SaCheckPermission("project:attendance:query")
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public R<BusAttendanceVo> getInfo(@NotNull(message = "主键不能为空")
|
public R<BusAttendanceVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
@PathVariable Long id) {
|
@PathVariable Long id) {
|
||||||
return R.ok(busAttendanceService.queryById(id));
|
return R.ok(busAttendanceService.queryById(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -138,6 +137,7 @@ public class BusAttendanceController extends BaseController {
|
|||||||
public R<List<BusAttendanceClockDateForTwoWeekVo>> getClockDateForTwoWeekList(TwoWeekDto dto) {
|
public R<List<BusAttendanceClockDateForTwoWeekVo>> getClockDateForTwoWeekList(TwoWeekDto dto) {
|
||||||
return R.ok(busAttendanceService.getClockDateForTwoWeekList(dto));
|
return R.ok(busAttendanceService.getClockDateForTwoWeekList(dto));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询项目施工人员当天考勤状况
|
* 查询项目施工人员当天考勤状况
|
||||||
*/
|
*/
|
||||||
@ -150,8 +150,8 @@ public class BusAttendanceController extends BaseController {
|
|||||||
* 查询当天出勤人员
|
* 查询当天出勤人员
|
||||||
*/
|
*/
|
||||||
@GetMapping("/list/attendanceUser")
|
@GetMapping("/list/attendanceUser")
|
||||||
public TableDataInfo<AttendanceTodayUserVo> getTodayAttendanceUser(TodayUserDto dto, PageQuery pageQuery) {
|
public TableDataInfo<AttendanceTodayUserVo> getTodayAttendanceUser(TodayUserDto dto, PageQuery pageQuery) {
|
||||||
return busAttendanceService.getTodayAttendanceUser(dto,pageQuery);
|
return busAttendanceService.getTodayAttendanceUser(dto, pageQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -209,8 +209,8 @@ public class BusAttendanceController extends BaseController {
|
|||||||
* 查询分包当天出勤人员
|
* 查询分包当天出勤人员
|
||||||
*/
|
*/
|
||||||
@GetMapping("/sub/list/attendanceUser")
|
@GetMapping("/sub/list/attendanceUser")
|
||||||
public TableDataInfo<SubAttendanceTodayUserVo> getSubTodayAttendanceUser(SubTodayUserDto dto, PageQuery pageQuery) {
|
public TableDataInfo<SubAttendanceTodayUserVo> getSubTodayAttendanceUser(SubTodayUserDto dto, PageQuery pageQuery) {
|
||||||
return busAttendanceService.getSubTodayAttendanceUser(dto,pageQuery);
|
return busAttendanceService.getSubTodayAttendanceUser(dto, pageQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -168,4 +168,9 @@ public class BusProject extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private String position;
|
private String position;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xzd项目id
|
||||||
|
*/
|
||||||
|
private Long xzdProjectId;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -140,4 +140,9 @@ public class BusProjectCreateReq implements Serializable {
|
|||||||
* 所属部门列表
|
* 所属部门列表
|
||||||
*/
|
*/
|
||||||
private List<Long> deptIds;
|
private List<Long> deptIds;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xzd项目id
|
||||||
|
*/
|
||||||
|
private Long xzdProjectId;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -223,4 +223,9 @@ public class BusProjectVo implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private List<SysRoleVo> roleVos;
|
private List<SysRoleVo> roleVos;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xzd项目id
|
||||||
|
*/
|
||||||
|
private Long xzdProjectId;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -99,6 +99,7 @@ public class MqDelayTaskServiceImpl extends ServiceImpl<MqDelayTaskMapper, MqDel
|
|||||||
task.setStatus(2);
|
task.setStatus(2);
|
||||||
this.updateById(task);
|
this.updateById(task);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
log.error("执行任务失败:{}", e.getMessage(), e);
|
||||||
// 更新失败状态
|
// 更新失败状态
|
||||||
task.setRetryCount(task.getRetryCount() + 1);
|
task.setRetryCount(task.getRetryCount() + 1);
|
||||||
task.setFailReason(e.getMessage());
|
task.setFailReason(e.getMessage());
|
||||||
|
|||||||
@ -14,8 +14,12 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|||||||
import org.dromara.common.satoken.utils.LoginHelper;
|
import org.dromara.common.satoken.utils.LoginHelper;
|
||||||
import org.dromara.common.sse.dto.SseMessageDto;
|
import org.dromara.common.sse.dto.SseMessageDto;
|
||||||
import org.dromara.common.sse.utils.SseMessageUtils;
|
import org.dromara.common.sse.utils.SseMessageUtils;
|
||||||
|
import org.dromara.rabbitmq.domain.MqDelayTask;
|
||||||
|
import org.dromara.rabbitmq.enums.MqDelayTaskTypeEnum;
|
||||||
|
import org.dromara.rabbitmq.service.IMqDelayTaskService;
|
||||||
import org.dromara.safety.domain.HazardHiddenDanger;
|
import org.dromara.safety.domain.HazardHiddenDanger;
|
||||||
import org.dromara.safety.domain.HazardHiddenDangerRectify;
|
import org.dromara.safety.domain.HazardHiddenDangerRectify;
|
||||||
|
import org.dromara.safety.domain.HazardRule;
|
||||||
import org.dromara.safety.domain.bo.HazardHiddenDangerBo;
|
import org.dromara.safety.domain.bo.HazardHiddenDangerBo;
|
||||||
import org.dromara.safety.domain.bo.HazardHiddenDangerRectifyBo;
|
import org.dromara.safety.domain.bo.HazardHiddenDangerRectifyBo;
|
||||||
import org.dromara.safety.domain.dto.hiddendangerrectify.HazardHiddenDangerRectifyRectificationReq;
|
import org.dromara.safety.domain.dto.hiddendangerrectify.HazardHiddenDangerRectifyRectificationReq;
|
||||||
@ -28,6 +32,7 @@ import org.dromara.safety.mapper.HazardHiddenDangerRectifyMapper;
|
|||||||
import org.dromara.safety.service.IHazardHiddenDangerRectifyService;
|
import org.dromara.safety.service.IHazardHiddenDangerRectifyService;
|
||||||
import org.dromara.safety.service.IHazardHiddenDangerService;
|
import org.dromara.safety.service.IHazardHiddenDangerService;
|
||||||
import org.dromara.safety.service.IHazardRuleNotifyObjectService;
|
import org.dromara.safety.service.IHazardRuleNotifyObjectService;
|
||||||
|
import org.dromara.safety.service.IHazardRuleService;
|
||||||
import org.dromara.websocket.ChatServerHandler;
|
import org.dromara.websocket.ChatServerHandler;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -57,6 +62,10 @@ public class HazardHiddenDangerRectifyServiceImpl extends ServiceImpl<HazardHidd
|
|||||||
|
|
||||||
private final IHazardRuleNotifyObjectService hazardRuleNotifyObjectService;
|
private final IHazardRuleNotifyObjectService hazardRuleNotifyObjectService;
|
||||||
|
|
||||||
|
private final IHazardRuleService hazardRuleService;
|
||||||
|
|
||||||
|
private final IMqDelayTaskService mqDelayTaskService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询隐患整改情况
|
* 查询隐患整改情况
|
||||||
*
|
*
|
||||||
@ -323,33 +332,62 @@ public class HazardHiddenDangerRectifyServiceImpl extends ServiceImpl<HazardHidd
|
|||||||
if (!HazardHiddenDanger.RECTIFY.equals(hiddenDanger.getStatus())) {
|
if (!HazardHiddenDanger.RECTIFY.equals(hiddenDanger.getStatus())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 发送消息
|
// 隐患等级
|
||||||
String dangerCode = hiddenDanger.getDangerCode();
|
HazardRule rule = hazardRuleService.getById(hiddenDanger.getDangerLevelId());
|
||||||
Long rectifyUserId = hiddenDanger.getRectifyUserId();
|
String notifyMethod = rule.getNotifyMethod();
|
||||||
Long projectId = hiddenDanger.getProjectId();
|
if (notifyMethod.equals("1")) {
|
||||||
String titleRectify = "您的安全隐患工单[" + dangerCode + "]已超时,请及时处理!";
|
// 通知领导
|
||||||
try {
|
} else {
|
||||||
chatServerHandler.sendSystemMessageToUser(rectifyUserId, titleRectify, "2");
|
// 发送消息
|
||||||
SseMessageUtils.sendMessage(rectifyUserId, titleRectify);
|
String dangerCode = hiddenDanger.getDangerCode();
|
||||||
} catch (Exception e) {
|
Long rectifyUserId = hiddenDanger.getRectifyUserId();
|
||||||
log.error("异步发送系统消息失败,用户ID: {}, 消息: {}", rectifyUserId, titleRectify, e);
|
Long projectId = hiddenDanger.getProjectId();
|
||||||
}
|
String titleRectify = "您的安全隐患工单[" + dangerCode + "]已超时,请及时处理!";
|
||||||
// 发送给需要通知的对象
|
|
||||||
Set<Long> userIds = hazardRuleNotifyObjectService.queryNotifyObjectIds(hiddenDanger.getDangerLevelId(), projectId);
|
|
||||||
SseMessageDto sseDto = new SseMessageDto();
|
|
||||||
String title = "安全隐患工单[" + dangerCode + "]未进行整改,请及时关注!";
|
|
||||||
for (Long userId : userIds) {
|
|
||||||
try {
|
try {
|
||||||
chatServerHandler.sendSystemMessageToUser(userId, title, "2");
|
chatServerHandler.sendSystemMessageToUser(rectifyUserId, titleRectify, "2");
|
||||||
|
SseMessageUtils.sendMessage(rectifyUserId, titleRectify);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("异步发送系统消息失败,用户ID: {}, 消息: {}", userId, title, e);
|
log.error("异步发送系统消息失败,用户ID: {}, 消息: {}", rectifyUserId, titleRectify, e);
|
||||||
|
}
|
||||||
|
// 发送给需要通知的对象
|
||||||
|
Set<Long> userIds = hazardRuleNotifyObjectService.queryNotifyObjectIds(hiddenDanger.getDangerLevelId(), projectId);
|
||||||
|
SseMessageDto sseDto = new SseMessageDto();
|
||||||
|
String title = "安全隐患工单[" + dangerCode + "]未进行整改,请及时关注!";
|
||||||
|
for (Long userId : userIds) {
|
||||||
|
try {
|
||||||
|
chatServerHandler.sendSystemMessageToUser(userId, title, "2");
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("异步发送系统消息失败,用户ID: {}, 消息: {}", userId, title, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sseDto.setUserIds(userIds.stream().toList());
|
||||||
|
sseDto.setMessage(title);
|
||||||
|
sseDto.setRoute("");
|
||||||
|
sseDto.setProjectId(projectId);
|
||||||
|
sseDto.setIsRecord(true);
|
||||||
|
SseMessageUtils.publishMessage(sseDto);
|
||||||
|
// 重复整改
|
||||||
|
if (notifyMethod.equals("2")) {
|
||||||
|
// 获取通知时间
|
||||||
|
LocalDateTime executeTime = LocalDateTime.now();
|
||||||
|
String responseUnit = rule.getResponseUnit();
|
||||||
|
switch (responseUnit) {
|
||||||
|
case "3" -> executeTime = executeTime.plusDays(rule.getResponseTime());
|
||||||
|
case "2" -> executeTime = executeTime.plusHours(rule.getResponseTime());
|
||||||
|
case "1" -> executeTime = executeTime.plusMinutes(rule.getResponseTime());
|
||||||
|
}
|
||||||
|
// 发送整改期限数据到消息队列
|
||||||
|
MqDelayTask task = new MqDelayTask();
|
||||||
|
task.setBizType(MqDelayTaskTypeEnum.HIDDEN_DANGER.getType());
|
||||||
|
task.setBizId(bizId);
|
||||||
|
task.setExecuteTime(executeTime);
|
||||||
|
try {
|
||||||
|
mqDelayTaskService.addDelayTask(task);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("添加延迟任务失败,延迟任务: {}", task, e);
|
||||||
|
throw new ServiceException("添加延迟任务失败");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sseDto.setUserIds(userIds.stream().toList());
|
|
||||||
sseDto.setMessage(title);
|
|
||||||
sseDto.setRoute("");
|
|
||||||
sseDto.setProjectId(projectId);
|
|
||||||
sseDto.setIsRecord(true);
|
|
||||||
SseMessageUtils.publishMessage(sseDto);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
package org.dromara.system.service;
|
package org.dromara.system.service;
|
||||||
|
|
||||||
import cn.hutool.core.lang.tree.Tree;
|
import cn.hutool.core.lang.tree.Tree;
|
||||||
import org.dromara.system.domain.SysDept;
|
|
||||||
import org.dromara.system.domain.bo.SysDeptBo;
|
import org.dromara.system.domain.bo.SysDeptBo;
|
||||||
import org.dromara.system.domain.vo.SysDeptVo;
|
import org.dromara.system.domain.vo.SysDeptVo;
|
||||||
|
|
||||||
@ -60,13 +59,6 @@ public interface ISysDeptService {
|
|||||||
*/
|
*/
|
||||||
SysDeptVo selectDeptById(Long deptId);
|
SysDeptVo selectDeptById(Long deptId);
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据部门ID获取到顶级部门
|
|
||||||
*
|
|
||||||
* @return 部门信息
|
|
||||||
*/
|
|
||||||
SysDeptBo selectDeptByIdBo(Long deptId);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据部门ID查询所属项目ID列表
|
* 根据部门ID查询所属项目ID列表
|
||||||
*
|
*
|
||||||
|
|||||||
@ -35,7 +35,6 @@ import org.dromara.system.mapper.SysPostMapper;
|
|||||||
import org.dromara.system.mapper.SysRoleMapper;
|
import org.dromara.system.mapper.SysRoleMapper;
|
||||||
import org.dromara.system.mapper.SysUserMapper;
|
import org.dromara.system.mapper.SysUserMapper;
|
||||||
import org.dromara.system.service.ISysDeptService;
|
import org.dromara.system.service.ISysDeptService;
|
||||||
import org.dromara.system.service.ISysRoleService;
|
|
||||||
import org.springframework.cache.annotation.CacheEvict;
|
import org.springframework.cache.annotation.CacheEvict;
|
||||||
import org.springframework.cache.annotation.Cacheable;
|
import org.springframework.cache.annotation.Cacheable;
|
||||||
import org.springframework.cache.annotation.Caching;
|
import org.springframework.cache.annotation.Caching;
|
||||||
@ -60,8 +59,6 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
|
|||||||
private final SysUserMapper userMapper;
|
private final SysUserMapper userMapper;
|
||||||
private final SysPostMapper postMapper;
|
private final SysPostMapper postMapper;
|
||||||
|
|
||||||
private final ISysRoleService roleService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询部门管理数据
|
* 查询部门管理数据
|
||||||
*
|
*
|
||||||
@ -220,16 +217,6 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
|
|||||||
return dept;
|
return dept;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据部门ID获取到顶级部门
|
|
||||||
*
|
|
||||||
* @return 部门信息
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public SysDeptBo selectDeptByIdBo(Long deptId) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据部门ID查询所属项目ID列表
|
* 根据部门ID查询所属项目ID列表
|
||||||
*
|
*
|
||||||
|
|||||||
@ -1,7 +1,10 @@
|
|||||||
package org.dromara.xzd.biddingManagement.biaoqianlixiang.service.impl;
|
package org.dromara.xzd.biddingManagement.biaoqianlixiang.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.common.core.domain.event.ProcessDeleteEvent;
|
import org.dromara.common.core.domain.event.ProcessDeleteEvent;
|
||||||
import org.dromara.common.core.domain.event.ProcessEvent;
|
import org.dromara.common.core.domain.event.ProcessEvent;
|
||||||
@ -9,19 +12,20 @@ import org.dromara.common.core.domain.event.ProcessTaskEvent;
|
|||||||
import org.dromara.common.core.exception.ServiceException;
|
import org.dromara.common.core.exception.ServiceException;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.dromara.common.utils.BatchNumberGenerator;
|
import org.dromara.common.utils.BatchNumberGenerator;
|
||||||
import org.dromara.system.service.impl.SysOssServiceImpl;
|
import org.dromara.system.service.impl.SysOssServiceImpl;
|
||||||
|
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBidPreProject;
|
||||||
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBqlxProjectInfo;
|
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBqlxProjectInfo;
|
||||||
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdProjectRiskAssessment;
|
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo.XzdBidPreProjectBo;
|
||||||
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo.XzdBqlxProjectInfoBo;
|
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo.XzdBqlxProjectInfoBo;
|
||||||
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.dto.BiddingManagementDto;
|
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.dto.BiddingManagementDto;
|
||||||
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.dto.QuerBiddingManagementDto;
|
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.dto.QuerBiddingManagementDto;
|
||||||
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.QuerListXzdBidPreVo;
|
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.QuerListXzdBidPreVo;
|
||||||
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.QueryListXzdVo;
|
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.QueryListXzdVo;
|
||||||
|
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdBidPreProjectVo;
|
||||||
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdBqlxProjectInfoVo;
|
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdBqlxProjectInfoVo;
|
||||||
|
import org.dromara.xzd.biddingManagement.biaoqianlixiang.mapper.XzdBidPreProjectMapper;
|
||||||
|
import org.dromara.xzd.biddingManagement.biaoqianlixiang.service.IXzdBidPreProjectService;
|
||||||
import org.dromara.xzd.biddingManagement.biaoqianlixiang.service.IXzdBqlxProjectInfoService;
|
import org.dromara.xzd.biddingManagement.biaoqianlixiang.service.IXzdBqlxProjectInfoService;
|
||||||
import org.dromara.xzd.biddingManagement.biddingDocument.domain.XzdBiddingFileEstimate;
|
import org.dromara.xzd.biddingManagement.biddingDocument.domain.XzdBiddingFileEstimate;
|
||||||
import org.dromara.xzd.biddingManagement.biddingDocument.service.IXzdBiddingFileEstimateService;
|
import org.dromara.xzd.biddingManagement.biddingDocument.service.IXzdBiddingFileEstimateService;
|
||||||
@ -41,15 +45,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.context.event.EventListener;
|
import org.springframework.context.event.EventListener;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.bo.XzdBidPreProjectBo;
|
|
||||||
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdBidPreProjectVo;
|
|
||||||
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBidPreProject;
|
|
||||||
import org.dromara.xzd.biddingManagement.biaoqianlixiang.mapper.XzdBidPreProjectMapper;
|
|
||||||
import org.dromara.xzd.biddingManagement.biaoqianlixiang.service.IXzdBidPreProjectService;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@ -69,7 +66,6 @@ public class XzdBidPreProjectServiceImpl extends ServiceImpl<XzdBidPreProjectMap
|
|||||||
private final IXzdBqlxProjectInfoService iXzdBqlxProjectInfoService;
|
private final IXzdBqlxProjectInfoService iXzdBqlxProjectInfoService;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private final AreaUtil areaUtil;
|
private final AreaUtil areaUtil;
|
||||||
|
|
||||||
private final SysOssServiceImpl sysOssService;
|
private final SysOssServiceImpl sysOssService;
|
||||||
@ -77,34 +73,32 @@ public class XzdBidPreProjectServiceImpl extends ServiceImpl<XzdBidPreProjectMap
|
|||||||
//招标文件审估
|
//招标文件审估
|
||||||
@Lazy
|
@Lazy
|
||||||
@Autowired
|
@Autowired
|
||||||
private IXzdBiddingFileEstimateService xzdBiddingFileEstimateService;
|
private IXzdBiddingFileEstimateService xzdBiddingFileEstimateService;
|
||||||
|
|
||||||
//投标文件
|
//投标文件
|
||||||
@Lazy
|
@Lazy
|
||||||
@Autowired
|
@Autowired
|
||||||
private IXzdBiddingDocumentService xzdBiddingDocumentService;
|
private IXzdBiddingDocumentService xzdBiddingDocumentService;
|
||||||
|
|
||||||
//投标保证金缴纳
|
//投标保证金缴纳
|
||||||
@Lazy
|
@Lazy
|
||||||
@Autowired
|
@Autowired
|
||||||
private IXzdBidDepositPaymentService xzdBidDepositPaymentService;
|
private IXzdBidDepositPaymentService xzdBidDepositPaymentService;
|
||||||
|
|
||||||
//投标保证金收回
|
//投标保证金收回
|
||||||
@Lazy
|
@Lazy
|
||||||
@Autowired
|
@Autowired
|
||||||
private IXzdBidDepositRecoveryService xzdBidDepositRecoveryService;
|
private IXzdBidDepositRecoveryService xzdBidDepositRecoveryService;
|
||||||
|
|
||||||
//标后分析
|
//标后分析
|
||||||
@Lazy
|
@Lazy
|
||||||
@Autowired
|
@Autowired
|
||||||
private IXzdPostBidAnalysisService xzdPostBidAnalysisService;
|
private IXzdPostBidAnalysisService xzdPostBidAnalysisService;
|
||||||
|
|
||||||
//招标代理服务费支付申请
|
//招标代理服务费支付申请
|
||||||
@Lazy
|
@Lazy
|
||||||
@Autowired
|
@Autowired
|
||||||
private IXzdBiddingAgencyFeePaymentService xzdBiddingAgencyFeePaymentService;
|
private IXzdBiddingAgencyFeePaymentService xzdBiddingAgencyFeePaymentService;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询标前立项
|
* 查询标前立项
|
||||||
@ -113,13 +107,13 @@ public class XzdBidPreProjectServiceImpl extends ServiceImpl<XzdBidPreProjectMap
|
|||||||
* @return 标前立项
|
* @return 标前立项
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public QuerListXzdBidPreVo queryById(Long id){
|
public QuerListXzdBidPreVo queryById(Long id) {
|
||||||
QuerListXzdBidPreVo querListXzdBidPreVo = new QuerListXzdBidPreVo();
|
QuerListXzdBidPreVo querListXzdBidPreVo = new QuerListXzdBidPreVo();
|
||||||
XzdBidPreProjectVo xzdBidPreProjectVo = baseMapper.selectVoById(id);
|
XzdBidPreProjectVo xzdBidPreProjectVo = baseMapper.selectVoById(id);
|
||||||
XzdBqlxProjectInfo xzdBqlxProjectInfo = iXzdBqlxProjectInfoService.getBaseMapper().selectOne(new LambdaQueryWrapper<>(XzdBqlxProjectInfo.class).eq(XzdBqlxProjectInfo::getBidPreProjectId, id));
|
XzdBqlxProjectInfo xzdBqlxProjectInfo = iXzdBqlxProjectInfoService.getBaseMapper().selectOne(new LambdaQueryWrapper<>(XzdBqlxProjectInfo.class).eq(XzdBqlxProjectInfo::getBidPreProjectId, id));
|
||||||
|
|
||||||
XzdBqlxProjectInfoVo res = new XzdBqlxProjectInfoVo();
|
XzdBqlxProjectInfoVo res = new XzdBqlxProjectInfoVo();
|
||||||
if (xzdBqlxProjectInfo != null){
|
if (xzdBqlxProjectInfo != null) {
|
||||||
BeanUtils.copyProperties(xzdBqlxProjectInfo, res);
|
BeanUtils.copyProperties(xzdBqlxProjectInfo, res);
|
||||||
}
|
}
|
||||||
querListXzdBidPreVo.setXzdBqlxProjectInfoVo(res);
|
querListXzdBidPreVo.setXzdBqlxProjectInfoVo(res);
|
||||||
@ -141,12 +135,12 @@ public class XzdBidPreProjectServiceImpl extends ServiceImpl<XzdBidPreProjectMap
|
|||||||
|
|
||||||
QueryListXzdVo queryListXzdVo = new QueryListXzdVo();
|
QueryListXzdVo queryListXzdVo = new QueryListXzdVo();
|
||||||
|
|
||||||
if (pageQuery.getPageNum() != null && pageQuery.getPageSize() != null){
|
if (pageQuery.getPageNum() != null && pageQuery.getPageSize() != null) {
|
||||||
bo.setNum((pageQuery.getPageNum() - 1 ) * pageQuery.getPageSize() );
|
bo.setNum((pageQuery.getPageNum() - 1) * pageQuery.getPageSize());
|
||||||
}
|
}
|
||||||
|
|
||||||
List<QuerListXzdBidPreVo> list = baseMapper.queryPageListBy(bo,pageQuery.getPageSize());
|
List<QuerListXzdBidPreVo> list = baseMapper.queryPageListBy(bo, pageQuery.getPageSize());
|
||||||
Integer res = baseMapper.queryPageListByNum(bo,pageQuery.getPageSize());
|
Integer res = baseMapper.queryPageListByNum(bo, pageQuery.getPageSize());
|
||||||
|
|
||||||
queryListXzdVo.setList(list);
|
queryListXzdVo.setList(list);
|
||||||
|
|
||||||
@ -203,19 +197,19 @@ public class XzdBidPreProjectServiceImpl extends ServiceImpl<XzdBidPreProjectMap
|
|||||||
public Boolean insertByBo(BiddingManagementDto bo) {
|
public Boolean insertByBo(BiddingManagementDto bo) {
|
||||||
String banBen = BatchNumberGenerator.generateBatchNumber("BQLX-");
|
String banBen = BatchNumberGenerator.generateBatchNumber("BQLX-");
|
||||||
// 标前立项
|
// 标前立项
|
||||||
XzdBidPreProjectBo xzdBidPreProjectBo = bo.getXzdBidPreProjectBo();
|
XzdBidPreProjectBo xzdBidPreProjectBo = bo.getXzdBidPreProjectBo();
|
||||||
XzdBidPreProject xzdBidPreProject = new XzdBidPreProject();
|
XzdBidPreProject xzdBidPreProject = new XzdBidPreProject();
|
||||||
if (xzdBidPreProjectBo != null) {
|
if (xzdBidPreProjectBo != null) {
|
||||||
BeanUtil.copyProperties(xzdBidPreProjectBo, xzdBidPreProject);
|
BeanUtil.copyProperties(xzdBidPreProjectBo, xzdBidPreProject);
|
||||||
xzdBidPreProject.setProjectNumber(banBen);
|
xzdBidPreProject.setProjectNumber(banBen);
|
||||||
baseMapper.insert(xzdBidPreProject);
|
baseMapper.insert(xzdBidPreProject);
|
||||||
}
|
}
|
||||||
|
|
||||||
//标前立项-项目信息
|
//标前立项-项目信息
|
||||||
XzdBqlxProjectInfoBo xzdBqlxProjectInfoBo = bo.getXzdBqlxProjectInfoBo();
|
XzdBqlxProjectInfoBo xzdBqlxProjectInfoBo = bo.getXzdBqlxProjectInfoBo();
|
||||||
xzdBqlxProjectInfoBo.setBidPreProjectId(xzdBidPreProject.getId());
|
xzdBqlxProjectInfoBo.setBidPreProjectId(xzdBidPreProject.getId());
|
||||||
|
|
||||||
iXzdBqlxProjectInfoService.insertByBo(xzdBqlxProjectInfoBo);
|
iXzdBqlxProjectInfoService.insertByBo(xzdBqlxProjectInfoBo);
|
||||||
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -253,14 +247,13 @@ public class XzdBidPreProjectServiceImpl extends ServiceImpl<XzdBidPreProjectMap
|
|||||||
iXzdBqlxProjectInfoService.saveOrUpdate(xzdBqlxProjectInfo);
|
iXzdBqlxProjectInfoService.saveOrUpdate(xzdBqlxProjectInfo);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存前的数据校验
|
* 保存前的数据校验
|
||||||
*/
|
*/
|
||||||
private void validEntityBeforeSave(XzdBidPreProject entity){
|
private void validEntityBeforeSave(XzdBidPreProject entity) {
|
||||||
//TODO 做一些数据校验,如唯一约束
|
//TODO 做一些数据校验,如唯一约束
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -275,7 +268,7 @@ public class XzdBidPreProjectServiceImpl extends ServiceImpl<XzdBidPreProjectMap
|
|||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
|
|
||||||
if(isValid){
|
if (isValid) {
|
||||||
|
|
||||||
}
|
}
|
||||||
for (Long id : ids) {
|
for (Long id : ids) {
|
||||||
@ -285,7 +278,7 @@ public class XzdBidPreProjectServiceImpl extends ServiceImpl<XzdBidPreProjectMap
|
|||||||
if (l > 0) throw new ServiceException("招标文件审估已引用,不允许删除");
|
if (l > 0) throw new ServiceException("招标文件审估已引用,不允许删除");
|
||||||
|
|
||||||
//投标文件
|
//投标文件
|
||||||
l = xzdBiddingDocumentService.getBaseMapper().selectCount(new LambdaQueryWrapper<XzdBiddingDocument>().eq(XzdBiddingDocument::getProjectName, id));
|
l = xzdBiddingDocumentService.getBaseMapper().selectCount(new LambdaQueryWrapper<XzdBiddingDocument>().eq(XzdBiddingDocument::getProjectName, id));
|
||||||
if (l > 0) throw new ServiceException("投标文件已引用,不允许删除");
|
if (l > 0) throw new ServiceException("投标文件已引用,不允许删除");
|
||||||
|
|
||||||
//投标保证金缴纳
|
//投标保证金缴纳
|
||||||
@ -305,23 +298,22 @@ public class XzdBidPreProjectServiceImpl extends ServiceImpl<XzdBidPreProjectMap
|
|||||||
if (l > 0) throw new ServiceException("招标代理服务费支付申请已引用,不允许删除");
|
if (l > 0) throw new ServiceException("招标代理服务费支付申请已引用,不允许删除");
|
||||||
|
|
||||||
// 删除附件
|
// 删除附件
|
||||||
if (!StringUtils.isEmpty(xzdBidPreProjectVo.getFileId())){
|
if (!StringUtils.isEmpty(xzdBidPreProjectVo.getFileId())) {
|
||||||
List<Long> collect = Arrays.stream(xzdBidPreProjectVo.getFileId().split(",")).map(item -> {
|
List<Long> collect = Arrays.stream(xzdBidPreProjectVo.getFileId().split(",")).map(Long::parseLong).collect(Collectors.toList());
|
||||||
return Long.parseLong(item);
|
|
||||||
}).collect(Collectors.toList());
|
|
||||||
sysOssService.deleteWithValidByIds(collect, false);
|
sysOssService.deleteWithValidByIds(collect, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 删除项目信息
|
// 删除项目信息
|
||||||
HashMap<String, Object> objectObjectHashMap = new HashMap<>();
|
HashMap<String, Object> objectObjectHashMap = new HashMap<>();
|
||||||
objectObjectHashMap.put("bid_pre_project_id",id);
|
objectObjectHashMap.put("bid_pre_project_id", id);
|
||||||
iXzdBqlxProjectInfoService.removeByMap(objectObjectHashMap);
|
iXzdBqlxProjectInfoService.removeByMap(objectObjectHashMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return baseMapper.deleteByIds(ids) > 0;
|
return baseMapper.deleteByIds(ids) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等)
|
* 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等)
|
||||||
* 正常使用只需#processEvent.flowCode=='leave1'
|
* 正常使用只需#processEvent.flowCode=='leave1'
|
||||||
@ -329,7 +321,7 @@ public class XzdBidPreProjectServiceImpl extends ServiceImpl<XzdBidPreProjectMap
|
|||||||
*
|
*
|
||||||
* @param processEvent 参数
|
* @param processEvent 参数
|
||||||
*/
|
*/
|
||||||
@org.springframework.context.event.EventListener(condition = "#processEvent.flowCode.endsWith('xzdbqlx')")
|
@EventListener(condition = "#processEvent.flowCode.endsWith('xzdbqlx')")
|
||||||
public void processPlansHandlErequipmentList(ProcessEvent processEvent) {
|
public void processPlansHandlErequipmentList(ProcessEvent processEvent) {
|
||||||
log.info("标前立项审核任务执行了{}", processEvent.toString());
|
log.info("标前立项审核任务执行了{}", processEvent.toString());
|
||||||
String id = processEvent.getBusinessId();
|
String id = processEvent.getBusinessId();
|
||||||
@ -351,7 +343,7 @@ public class XzdBidPreProjectServiceImpl extends ServiceImpl<XzdBidPreProjectMap
|
|||||||
*
|
*
|
||||||
* @param processTaskEvent 参数
|
* @param processTaskEvent 参数
|
||||||
*/
|
*/
|
||||||
@org.springframework.context.event.EventListener(condition = "#processTaskEvent.flowCode.endsWith('xzdbqlx')")
|
@EventListener(condition = "#processTaskEvent.flowCode.endsWith('xzdbqlx')")
|
||||||
public void processTaskPlansHandlerEquipmentList(ProcessTaskEvent processTaskEvent) {
|
public void processTaskPlansHandlerEquipmentList(ProcessTaskEvent processTaskEvent) {
|
||||||
log.info("标前立项审核任务创建了{}", processTaskEvent.toString());
|
log.info("标前立项审核任务创建了{}", processTaskEvent.toString());
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,11 +5,13 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.common.core.domain.event.ProcessDeleteEvent;
|
import org.dromara.common.core.domain.event.ProcessDeleteEvent;
|
||||||
import org.dromara.common.core.domain.event.ProcessEvent;
|
import org.dromara.common.core.domain.event.ProcessEvent;
|
||||||
import org.dromara.common.core.domain.event.ProcessTaskEvent;
|
import org.dromara.common.core.domain.event.ProcessTaskEvent;
|
||||||
|
import org.dromara.common.core.enums.BusinessStatusEnum;
|
||||||
import org.dromara.common.core.service.XzdProjectService;
|
import org.dromara.common.core.service.XzdProjectService;
|
||||||
import org.dromara.common.core.utils.MapstructUtils;
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
import org.dromara.common.core.utils.SpringUtils;
|
import org.dromara.common.core.utils.SpringUtils;
|
||||||
@ -18,6 +20,8 @@ import org.dromara.common.mybatis.core.page.PageQuery;
|
|||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
import org.dromara.common.satoken.utils.LoginHelper;
|
import org.dromara.common.satoken.utils.LoginHelper;
|
||||||
import org.dromara.common.utils.BatchNumberGenerator;
|
import org.dromara.common.utils.BatchNumberGenerator;
|
||||||
|
import org.dromara.project.domain.dto.project.BusProjectCreateReq;
|
||||||
|
import org.dromara.project.service.IBusProjectService;
|
||||||
import org.dromara.system.domain.vo.SysDeptVo;
|
import org.dromara.system.domain.vo.SysDeptVo;
|
||||||
import org.dromara.system.domain.vo.SysUserVo;
|
import org.dromara.system.domain.vo.SysUserVo;
|
||||||
import org.dromara.system.service.impl.SysDeptServiceImpl;
|
import org.dromara.system.service.impl.SysDeptServiceImpl;
|
||||||
@ -50,6 +54,9 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
|
|
||||||
private final XzdProjectMapper baseMapper;
|
private final XzdProjectMapper baseMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IBusProjectService projectService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private XzdProjectProfileServiceImpl xzdProjectProfileService;
|
private XzdProjectProfileServiceImpl xzdProjectProfileService;
|
||||||
@Autowired
|
@Autowired
|
||||||
@ -85,7 +92,7 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
* @return 项目信息
|
* @return 项目信息
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public XzdProjectVo queryById(Long id){
|
public XzdProjectVo queryById(Long id) {
|
||||||
XzdProjectVo projectVo = baseMapper.selectVoById(id);
|
XzdProjectVo projectVo = baseMapper.selectVoById(id);
|
||||||
setValue(projectVo);
|
setValue(projectVo);
|
||||||
return projectVo;
|
return projectVo;
|
||||||
@ -100,10 +107,10 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo<XzdProjectVo> queryPageList(XzdProjectBo bo, PageQuery pageQuery) {
|
public TableDataInfo<XzdProjectVo> queryPageList(XzdProjectBo bo, PageQuery pageQuery) {
|
||||||
if(pageQuery.getPageNum() != null && pageQuery.getPageSize() != null) {
|
if (pageQuery.getPageNum() != null && pageQuery.getPageSize() != null) {
|
||||||
bo.setPageNum(pageQuery.getPageNum());
|
bo.setPageNum(pageQuery.getPageNum());
|
||||||
bo.setPageSize(pageQuery.getPageSize());
|
bo.setPageSize(pageQuery.getPageSize());
|
||||||
}else {
|
} else {
|
||||||
bo.setPageNum(1);
|
bo.setPageNum(1);
|
||||||
bo.setPageSize(10);
|
bo.setPageSize(10);
|
||||||
}
|
}
|
||||||
@ -112,12 +119,12 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
SysDeptVo deptVo = iSysDeptService.selectDeptById(deptId);
|
SysDeptVo deptVo = iSysDeptService.selectDeptById(deptId);
|
||||||
if (LoginHelper.isSuperAdmin()) {
|
if (LoginHelper.isSuperAdmin()) {
|
||||||
bo.setSsgs(deptVo.getDeptId());
|
bo.setSsgs(deptVo.getDeptId());
|
||||||
}else {
|
} else {
|
||||||
String ancestors = deptVo.getAncestors();
|
String ancestors = deptVo.getAncestors();
|
||||||
List<Long> ids = StringUtils.splitTo(ancestors, Convert::toLong);
|
List<Long> ids = StringUtils.splitTo(ancestors, Convert::toLong);
|
||||||
if (ids.size() == 2) {
|
if (ids.size() == 2) {
|
||||||
bo.setSsgs(deptVo.getDeptId());
|
bo.setSsgs(deptVo.getDeptId());
|
||||||
}else {
|
} else {
|
||||||
bo.setSsgs(iSysDeptService.selectDeptById(ids.get(2)).getDeptId());
|
bo.setSsgs(iSysDeptService.selectDeptById(ids.get(2)).getDeptId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -202,30 +209,30 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
SysDeptVo deptVo = iSysDeptService.selectDeptById(deptId);
|
SysDeptVo deptVo = iSysDeptService.selectDeptById(deptId);
|
||||||
if (LoginHelper.isSuperAdmin()) {
|
if (LoginHelper.isSuperAdmin()) {
|
||||||
add.setSsgs(deptVo.getDeptId());
|
add.setSsgs(deptVo.getDeptId());
|
||||||
}else {
|
} else {
|
||||||
String ancestors = deptVo.getAncestors();
|
String ancestors = deptVo.getAncestors();
|
||||||
List<Long> ids = StringUtils.splitTo(ancestors, Convert::toLong);
|
List<Long> ids = StringUtils.splitTo(ancestors, Convert::toLong);
|
||||||
if (ids.size() == 2) {
|
if (ids.size() == 2) {
|
||||||
add.setSsgs(deptVo.getDeptId());
|
add.setSsgs(deptVo.getDeptId());
|
||||||
}else {
|
} else {
|
||||||
add.setSsgs(iSysDeptService.selectDeptById(ids.get(2)).getDeptId());
|
add.setSsgs(iSysDeptService.selectDeptById(ids.get(2)).getDeptId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
boolean flag = baseMapper.insert(add) > 0;
|
boolean flag = baseMapper.insert(add) > 0;
|
||||||
if (flag) {
|
if (flag) {
|
||||||
bo.setId(add.getId());
|
bo.setId(add.getId());
|
||||||
}else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//项目概况处理
|
//项目概况处理
|
||||||
if (bo.getXmgk() != null){
|
if (bo.getXmgk() != null) {
|
||||||
bo.getXmgk().setXzdProjectId(add.getId());
|
bo.getXmgk().setXzdProjectId(add.getId());
|
||||||
xzdProjectProfileService.insertByBo(bo.getXmgk());
|
xzdProjectProfileService.insertByBo(bo.getXmgk());
|
||||||
}
|
}
|
||||||
|
|
||||||
//项目人员处理
|
//项目人员处理
|
||||||
if (bo.getXmry() != null && !bo.getXmry().isEmpty()){
|
if (bo.getXmry() != null && !bo.getXmry().isEmpty()) {
|
||||||
for (XzdProjectPersonnelBo personnelBo : bo.getXmry()) {
|
for (XzdProjectPersonnelBo personnelBo : bo.getXmry()) {
|
||||||
personnelBo.setXzdProjectId(add.getId());
|
personnelBo.setXzdProjectId(add.getId());
|
||||||
xzdProjectPersonnelService.insertByBo(personnelBo);
|
xzdProjectPersonnelService.insertByBo(personnelBo);
|
||||||
@ -233,19 +240,19 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
}
|
}
|
||||||
|
|
||||||
//税务信息处理
|
//税务信息处理
|
||||||
if (bo.getSwxx() != null){
|
if (bo.getSwxx() != null) {
|
||||||
bo.getSwxx().setXzdProjectId(add.getId());
|
bo.getSwxx().setXzdProjectId(add.getId());
|
||||||
xzdProjectTaxInfoService.insertByBo(bo.getSwxx());
|
xzdProjectTaxInfoService.insertByBo(bo.getSwxx());
|
||||||
}
|
}
|
||||||
|
|
||||||
//核算信息
|
//核算信息
|
||||||
if (bo.getHsxx() != null){
|
if (bo.getHsxx() != null) {
|
||||||
bo.getHsxx().setXzdProjectId(add.getId());
|
bo.getHsxx().setXzdProjectId(add.getId());
|
||||||
xzdProjectAccountingInfoService.insertByBo(bo.getHsxx());
|
xzdProjectAccountingInfoService.insertByBo(bo.getHsxx());
|
||||||
}
|
}
|
||||||
|
|
||||||
//仓库信息
|
//仓库信息
|
||||||
if (bo.getXmck() != null && !bo.getXmck().isEmpty()){
|
if (bo.getXmck() != null && !bo.getXmck().isEmpty()) {
|
||||||
for (XzdProjectWarehousesBo warehousesBo : bo.getXmck()) {
|
for (XzdProjectWarehousesBo warehousesBo : bo.getXmck()) {
|
||||||
warehousesBo.setXzdProjectId(add.getId());
|
warehousesBo.setXzdProjectId(add.getId());
|
||||||
xzdProjectWarehousesService.insertByBo(warehousesBo);
|
xzdProjectWarehousesService.insertByBo(warehousesBo);
|
||||||
@ -253,7 +260,7 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
}
|
}
|
||||||
|
|
||||||
//内部账户信息
|
//内部账户信息
|
||||||
if (bo.getNbzj() != null && !bo.getNbzj().isEmpty()){
|
if (bo.getNbzj() != null && !bo.getNbzj().isEmpty()) {
|
||||||
for (XzdProjectInternalAccountsBo internalAccountsBo : bo.getNbzj()) {
|
for (XzdProjectInternalAccountsBo internalAccountsBo : bo.getNbzj()) {
|
||||||
internalAccountsBo.setXzdProjectId(add.getId());
|
internalAccountsBo.setXzdProjectId(add.getId());
|
||||||
xzdProjectInternalAccountsService.insertByBo(internalAccountsBo);
|
xzdProjectInternalAccountsService.insertByBo(internalAccountsBo);
|
||||||
@ -261,7 +268,7 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
}
|
}
|
||||||
|
|
||||||
//参与单位信息
|
//参与单位信息
|
||||||
if (bo.getCjdw() != null && !bo.getCjdw().isEmpty()){
|
if (bo.getCjdw() != null && !bo.getCjdw().isEmpty()) {
|
||||||
for (XzdProjectParticipatingUnitsBo participatingUnitsBo : bo.getCjdw()) {
|
for (XzdProjectParticipatingUnitsBo participatingUnitsBo : bo.getCjdw()) {
|
||||||
participatingUnitsBo.setXzdProjectId(add.getId());
|
participatingUnitsBo.setXzdProjectId(add.getId());
|
||||||
xzdProjectParticipatingUnitsService.insertByBo(participatingUnitsBo);
|
xzdProjectParticipatingUnitsService.insertByBo(participatingUnitsBo);
|
||||||
@ -287,17 +294,17 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
XzdProject update = MapstructUtils.convert(bo, XzdProject.class);
|
XzdProject update = MapstructUtils.convert(bo, XzdProject.class);
|
||||||
validEntityBeforeSave(update);
|
validEntityBeforeSave(update);
|
||||||
boolean b = baseMapper.updateById(update) > 0;
|
boolean b = baseMapper.updateById(update) > 0;
|
||||||
if (!b){
|
if (!b) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//项目概况处理
|
//项目概况处理
|
||||||
if (bo.getXmgk() != null){
|
if (bo.getXmgk() != null) {
|
||||||
xzdProjectProfileService.updateByBo(bo.getXmgk());
|
xzdProjectProfileService.updateByBo(bo.getXmgk());
|
||||||
}
|
}
|
||||||
|
|
||||||
//项目人员处理
|
//项目人员处理
|
||||||
if (bo.getXmry() != null && !bo.getXmry().isEmpty()){
|
if (bo.getXmry() != null && !bo.getXmry().isEmpty()) {
|
||||||
// 获取原有记录的ID列表
|
// 获取原有记录的ID列表
|
||||||
if (oldValue.getXmry() != null && !oldValue.getXmry().isEmpty()) {
|
if (oldValue.getXmry() != null && !oldValue.getXmry().isEmpty()) {
|
||||||
|
|
||||||
@ -323,9 +330,9 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
xzdProjectPersonnelService.removeById(warehouses.getId());
|
xzdProjectPersonnelService.removeById(warehouses.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
xzdProjectPersonnelService.saveOrUpdateBatch( now);
|
xzdProjectPersonnelService.saveOrUpdateBatch(now);
|
||||||
|
|
||||||
}else {
|
} else {
|
||||||
for (XzdProjectPersonnelBo boValue : bo.getXmry()) {
|
for (XzdProjectPersonnelBo boValue : bo.getXmry()) {
|
||||||
boValue.setXzdProjectId(update.getId());
|
boValue.setXzdProjectId(update.getId());
|
||||||
xzdProjectPersonnelService.insertByBo(boValue);
|
xzdProjectPersonnelService.insertByBo(boValue);
|
||||||
@ -334,18 +341,18 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
}
|
}
|
||||||
|
|
||||||
//税务信息处理
|
//税务信息处理
|
||||||
if (bo.getSwxx() != null){
|
if (bo.getSwxx() != null) {
|
||||||
xzdProjectTaxInfoService.updateByBo(bo.getSwxx());
|
xzdProjectTaxInfoService.updateByBo(bo.getSwxx());
|
||||||
}
|
}
|
||||||
|
|
||||||
//核算信息
|
//核算信息
|
||||||
if (bo.getHsxx() != null){
|
if (bo.getHsxx() != null) {
|
||||||
xzdProjectAccountingInfoService.updateByBo(bo.getHsxx());
|
xzdProjectAccountingInfoService.updateByBo(bo.getHsxx());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//仓库信息
|
//仓库信息
|
||||||
if (bo.getXmck() != null && !bo.getXmck().isEmpty()){
|
if (bo.getXmck() != null && !bo.getXmck().isEmpty()) {
|
||||||
// 获取原有记录的ID列表
|
// 获取原有记录的ID列表
|
||||||
if (oldValue.getXmck() != null && !oldValue.getXmck().isEmpty()) {
|
if (oldValue.getXmck() != null && !oldValue.getXmck().isEmpty()) {
|
||||||
|
|
||||||
@ -359,7 +366,7 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
|
|
||||||
List<XzdProjectWarehouses> now = new ArrayList<>();
|
List<XzdProjectWarehouses> now = new ArrayList<>();
|
||||||
for (XzdProjectWarehousesBo boValue : bo.getXmck()) {
|
for (XzdProjectWarehousesBo boValue : bo.getXmck()) {
|
||||||
if (boValue.getId() == null){
|
if (boValue.getId() == null) {
|
||||||
boValue.setXzdProjectId(update.getId());
|
boValue.setXzdProjectId(update.getId());
|
||||||
}
|
}
|
||||||
XzdProjectWarehouses temp = new XzdProjectWarehouses();
|
XzdProjectWarehouses temp = new XzdProjectWarehouses();
|
||||||
@ -373,9 +380,9 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
xzdProjectWarehousesService.removeById(warehouses.getId());
|
xzdProjectWarehousesService.removeById(warehouses.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
xzdProjectWarehousesService.saveOrUpdateBatch( now);
|
xzdProjectWarehousesService.saveOrUpdateBatch(now);
|
||||||
|
|
||||||
}else {
|
} else {
|
||||||
for (XzdProjectWarehousesBo boValue : bo.getXmck()) {
|
for (XzdProjectWarehousesBo boValue : bo.getXmck()) {
|
||||||
boValue.setXzdProjectId(update.getId());
|
boValue.setXzdProjectId(update.getId());
|
||||||
xzdProjectWarehousesService.insertByBo(boValue);
|
xzdProjectWarehousesService.insertByBo(boValue);
|
||||||
@ -384,7 +391,7 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
}
|
}
|
||||||
|
|
||||||
//内部账户信息
|
//内部账户信息
|
||||||
if (bo.getNbzj() != null && !bo.getNbzj().isEmpty()){
|
if (bo.getNbzj() != null && !bo.getNbzj().isEmpty()) {
|
||||||
// 获取原有记录的ID列表
|
// 获取原有记录的ID列表
|
||||||
if (oldValue.getNbzj() != null && !oldValue.getNbzj().isEmpty()) {
|
if (oldValue.getNbzj() != null && !oldValue.getNbzj().isEmpty()) {
|
||||||
|
|
||||||
@ -398,7 +405,7 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
|
|
||||||
List<XzdProjectInternalAccounts> now = new ArrayList<>();
|
List<XzdProjectInternalAccounts> now = new ArrayList<>();
|
||||||
for (XzdProjectInternalAccountsBo boValue : bo.getNbzj()) {
|
for (XzdProjectInternalAccountsBo boValue : bo.getNbzj()) {
|
||||||
if (boValue.getId() == null){
|
if (boValue.getId() == null) {
|
||||||
boValue.setXzdProjectId(update.getId());
|
boValue.setXzdProjectId(update.getId());
|
||||||
}
|
}
|
||||||
XzdProjectInternalAccounts temp = new XzdProjectInternalAccounts();
|
XzdProjectInternalAccounts temp = new XzdProjectInternalAccounts();
|
||||||
@ -412,9 +419,9 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
xzdProjectInternalAccountsService.removeById(warehouses.getId());
|
xzdProjectInternalAccountsService.removeById(warehouses.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
xzdProjectInternalAccountsService.saveOrUpdateBatch( now);
|
xzdProjectInternalAccountsService.saveOrUpdateBatch(now);
|
||||||
|
|
||||||
}else {
|
} else {
|
||||||
for (XzdProjectInternalAccountsBo boValue : bo.getNbzj()) {
|
for (XzdProjectInternalAccountsBo boValue : bo.getNbzj()) {
|
||||||
boValue.setXzdProjectId(update.getId());
|
boValue.setXzdProjectId(update.getId());
|
||||||
xzdProjectInternalAccountsService.insertByBo(boValue);
|
xzdProjectInternalAccountsService.insertByBo(boValue);
|
||||||
@ -423,7 +430,7 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
}
|
}
|
||||||
|
|
||||||
//参与单位信息
|
//参与单位信息
|
||||||
if (bo.getCjdw() != null && !bo.getCjdw().isEmpty()){
|
if (bo.getCjdw() != null && !bo.getCjdw().isEmpty()) {
|
||||||
// 获取原有记录的ID列表
|
// 获取原有记录的ID列表
|
||||||
if (oldValue.getCjdw() != null && !oldValue.getCjdw().isEmpty()) {
|
if (oldValue.getCjdw() != null && !oldValue.getCjdw().isEmpty()) {
|
||||||
|
|
||||||
@ -437,7 +444,7 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
|
|
||||||
List<XzdProjectParticipatingUnits> now = new ArrayList<>();
|
List<XzdProjectParticipatingUnits> now = new ArrayList<>();
|
||||||
for (XzdProjectParticipatingUnitsBo boValue : bo.getCjdw()) {
|
for (XzdProjectParticipatingUnitsBo boValue : bo.getCjdw()) {
|
||||||
if (boValue.getId() == null){
|
if (boValue.getId() == null) {
|
||||||
boValue.setXzdProjectId(update.getId());
|
boValue.setXzdProjectId(update.getId());
|
||||||
}
|
}
|
||||||
XzdProjectParticipatingUnits temp = new XzdProjectParticipatingUnits();
|
XzdProjectParticipatingUnits temp = new XzdProjectParticipatingUnits();
|
||||||
@ -451,9 +458,9 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
xzdProjectParticipatingUnitsService.removeById(warehouses.getId());
|
xzdProjectParticipatingUnitsService.removeById(warehouses.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
xzdProjectParticipatingUnitsService.saveOrUpdateBatch( now);
|
xzdProjectParticipatingUnitsService.saveOrUpdateBatch(now);
|
||||||
|
|
||||||
}else {
|
} else {
|
||||||
for (XzdProjectParticipatingUnitsBo boValue : bo.getCjdw()) {
|
for (XzdProjectParticipatingUnitsBo boValue : bo.getCjdw()) {
|
||||||
boValue.setXzdProjectId(update.getId());
|
boValue.setXzdProjectId(update.getId());
|
||||||
xzdProjectParticipatingUnitsService.insertByBo(boValue);
|
xzdProjectParticipatingUnitsService.insertByBo(boValue);
|
||||||
@ -467,7 +474,7 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
/**
|
/**
|
||||||
* 保存前的数据校验
|
* 保存前的数据校验
|
||||||
*/
|
*/
|
||||||
private void validEntityBeforeSave(XzdProject entity){
|
private void validEntityBeforeSave(XzdProject entity) {
|
||||||
//TODO 做一些数据校验,如唯一约束
|
//TODO 做一些数据校验,如唯一约束
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -480,7 +487,7 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
if(isValid){
|
if (isValid) {
|
||||||
//TODO 做一些业务上的校验,判断是否需要校验
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -549,7 +556,7 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
return xzdProjectVos;
|
return xzdProjectVos;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setValue(XzdProjectVo entity){
|
public void setValue(XzdProjectVo entity) {
|
||||||
if (entity != null) {
|
if (entity != null) {
|
||||||
//项目概况
|
//项目概况
|
||||||
LambdaQueryWrapper<XzdProjectProfile> profileLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<XzdProjectProfile> profileLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
@ -627,7 +634,7 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
if (xzdProjectTypeVo != null) {
|
if (xzdProjectTypeVo != null) {
|
||||||
entity.setProjectTypeName(xzdProjectTypeVo.getTypeName());
|
entity.setProjectTypeName(xzdProjectTypeVo.getTypeName());
|
||||||
XzdProjectTypeVo bigType = xzdProjectTypeService.getBigType(xzdProjectTypeVo.getId());
|
XzdProjectTypeVo bigType = xzdProjectTypeService.getBigType(xzdProjectTypeVo.getId());
|
||||||
if (bigType != null){
|
if (bigType != null) {
|
||||||
entity.setXmdl(bigType.getTypeName());
|
entity.setXmdl(bigType.getTypeName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -723,13 +730,38 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
*
|
*
|
||||||
* @param processEvent 参数
|
* @param processEvent 参数
|
||||||
*/
|
*/
|
||||||
@org.springframework.context.event.EventListener(condition = "#processEvent.flowCode.endsWith('XzdProject')")
|
@EventListener(condition = "#processEvent.flowCode.endsWith('XzdProject')")
|
||||||
@Transactional
|
@Transactional
|
||||||
public void processPlansHandler(ProcessEvent processEvent) {
|
public void processPlansHandler(ProcessEvent processEvent) {
|
||||||
log.info("项目信息审核任务执行了{}", processEvent.toString());
|
log.info("项目信息审核任务执行了{}", processEvent.toString());
|
||||||
String id = processEvent.getBusinessId();
|
String id = processEvent.getBusinessId();
|
||||||
XzdProject byId = this.getById(Long.valueOf(id));
|
XzdProject byId = this.getById(Long.valueOf(id));
|
||||||
byId.setShzt(processEvent.getStatus());
|
if (byId == null) {
|
||||||
|
log.error("项目信息审核任务更新状态失败:{} 无此项目", id);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String status = processEvent.getStatus();
|
||||||
|
if (BusinessStatusEnum.FINISH.getStatus().equals(status)) {
|
||||||
|
try {
|
||||||
|
// 创建系统项目
|
||||||
|
BusProjectCreateReq project = new BusProjectCreateReq();
|
||||||
|
project.setXzdProjectId(byId.getId());
|
||||||
|
project.setProjectName(byId.getProjectName());
|
||||||
|
project.setShortName(byId.getProjectAbbreviation());
|
||||||
|
project.setOnStreamTime(String.valueOf(byId.getActualStartDate()));
|
||||||
|
// 获取项目概括
|
||||||
|
XzdProjectProfile projectProfile = xzdProjectProfileService.lambdaQuery()
|
||||||
|
.eq(XzdProjectProfile::getXzdProjectId, byId.getId())
|
||||||
|
.last("limit 1")
|
||||||
|
.one();
|
||||||
|
project.setProjectGeneralize(projectProfile.getProjectProfile());
|
||||||
|
project.setProvince(projectProfile.getProvince());
|
||||||
|
projectService.insertByBo(project);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("自动创建系统项目失败:{} - {}", byId.getId(), byId.getProjectName(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
byId.setShzt(status);
|
||||||
boolean b = this.updateById(byId);
|
boolean b = this.updateById(byId);
|
||||||
if (!b) {
|
if (!b) {
|
||||||
log.error("项目信息审核任务更新状态失败");
|
log.error("项目信息审核任务更新状态失败");
|
||||||
@ -746,7 +778,7 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
|||||||
*
|
*
|
||||||
* @param processTaskEvent 参数
|
* @param processTaskEvent 参数
|
||||||
*/
|
*/
|
||||||
@org.springframework.context.event.EventListener(condition = "#processTaskEvent.flowCode.endsWith('XzdProject')")
|
@EventListener(condition = "#processTaskEvent.flowCode.endsWith('XzdProject')")
|
||||||
public void processTaskPlansHandlerEquipmentList(ProcessTaskEvent processTaskEvent) {
|
public void processTaskPlansHandlerEquipmentList(ProcessTaskEvent processTaskEvent) {
|
||||||
log.info("项目信息审批审核任务创建了{}", processTaskEvent.toString());
|
log.info("项目信息审批审核任务创建了{}", processTaskEvent.toString());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user