|
|
@@ -16,7 +16,9 @@ import org.dromara.zsjy.domain.bo.ZsjyEnrollmentProcessBo;
|
|
|
import org.dromara.zsjy.domain.vo.ZsjyEnrollmentProcessVo;
|
|
|
import org.dromara.zsjy.domain.vo.ZsjyEnrollmentRegisterExportVo;
|
|
|
import org.dromara.zsjy.domain.ZsjyEnrollmentProcess;
|
|
|
+import org.dromara.zsjy.domain.ZsjyEnrollmentInfo;
|
|
|
import org.dromara.zsjy.mapper.ZsjyEnrollmentProcessMapper;
|
|
|
+import org.dromara.zsjy.mapper.ZsjyEnrollmentInfoMapper;
|
|
|
import org.dromara.zsjy.service.IZsjyEnrollmentProcessService;
|
|
|
|
|
|
import java.util.List;
|
|
|
@@ -24,6 +26,7 @@ import java.util.Collection;
|
|
|
import java.util.Date;
|
|
|
import java.util.Set;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.LinkedHashSet;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
|
/**
|
|
|
@@ -37,7 +40,11 @@ import java.text.SimpleDateFormat;
|
|
|
@Service
|
|
|
public class ZsjyEnrollmentProcessServiceImpl implements IZsjyEnrollmentProcessService {
|
|
|
|
|
|
+ /** 报名状态:待审核 */
|
|
|
+ private static final String ENROLLMENT_STATUS_PENDING = "0";
|
|
|
+
|
|
|
private final ZsjyEnrollmentProcessMapper baseMapper;
|
|
|
+ private final ZsjyEnrollmentInfoMapper enrollmentInfoMapper;
|
|
|
|
|
|
/**
|
|
|
* 查询招生录取流程状态
|
|
|
@@ -167,10 +174,42 @@ public class ZsjyEnrollmentProcessServiceImpl implements IZsjyEnrollmentProcessS
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
|
|
+ if (ids == null || ids.isEmpty()) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
if (isValid) {
|
|
|
// 可以添加删除前的校验逻辑
|
|
|
}
|
|
|
- return baseMapper.deleteBatchIds(ids) > 0;
|
|
|
+
|
|
|
+ Set<Long> enrollmentIds = new LinkedHashSet<>();
|
|
|
+ for (Long id : ids) {
|
|
|
+ ZsjyEnrollmentProcess process = baseMapper.selectById(id);
|
|
|
+ if (process != null && process.getEnrollmentId() != null) {
|
|
|
+ enrollmentIds.add(process.getEnrollmentId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ boolean deleted = baseMapper.deleteBatchIds(ids) > 0;
|
|
|
+ if (deleted) {
|
|
|
+ for (Long enrollmentId : enrollmentIds) {
|
|
|
+ revertEnrollmentToPendingAudit(enrollmentId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return deleted;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除流程后,将对应报名信息回退为待审核状态(不触发流程同步,避免重新创建流程)
|
|
|
+ */
|
|
|
+ private void revertEnrollmentToPendingAudit(Long enrollmentId) {
|
|
|
+ ZsjyEnrollmentInfo enrollmentInfo = enrollmentInfoMapper.selectById(enrollmentId);
|
|
|
+ if (enrollmentInfo == null) {
|
|
|
+ log.warn("删除流程后回退报名状态失败,报名记录不存在,enrollmentId={}", enrollmentId);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ enrollmentInfo.setEnrollmentStatus(ENROLLMENT_STATUS_PENDING);
|
|
|
+ enrollmentInfoMapper.updateById(enrollmentInfo);
|
|
|
+ log.info("删除流程后已将报名ID:{} 状态回退为待审核", enrollmentId);
|
|
|
}
|
|
|
|
|
|
/**
|