feat(declare): 同一申报项目进行中只允许一条申报
- 新增 DeclareGuardService:按已通过/未处理驳回/待审核数判重,申报项目行加锁防连点 - 9 张申报表补 declare_id / declare_status / declare_remark,提交时写入并随审核结果回写 - 新增撤回、作废(强制放行)接口;挑战杯团队成员按手机号判重 - 申报项目支持配置允许重复提交与最多同时条数 - 迁移脚本 sql/20261102_add_declare_uniqueness.sql(含存量回填与重复清单)
This commit is contained in:
@@ -14,6 +14,9 @@ import com.gxwebsoft.gxmu.entity.QmgcForm;
|
||||
import com.gxwebsoft.gxmu.param.QmgcFormParam;
|
||||
import com.gxwebsoft.gxmu.service.QmgcFormService;
|
||||
import com.gxwebsoft.gxmu.service.ReviewFlowStarterService;
|
||||
import com.gxwebsoft.gxmu.model.DeclareCheckResult;
|
||||
import com.gxwebsoft.gxmu.service.DeclareGuardService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import com.gxwebsoft.gxmu.util.GxmuQueryHelper;
|
||||
import com.gxwebsoft.gxmu.util.QmgcDocxExportUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -41,6 +44,8 @@ public class QmgcFormController extends BaseController {
|
||||
@Resource
|
||||
private ReviewFlowStarterService reviewFlowStarterService;
|
||||
@Resource
|
||||
private DeclareGuardService declareGuardService;
|
||||
@Resource
|
||||
private FileRecordService fileRecordService;
|
||||
|
||||
@Value("${config.upload-path}")
|
||||
@@ -134,11 +139,21 @@ public class QmgcFormController extends BaseController {
|
||||
@OperationLog
|
||||
@ApiOperation("添加青马工程培训班学员登记表")
|
||||
@PostMapping()
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ApiResult<?> save(@RequestBody QmgcForm qmgcForm) {
|
||||
User loginUser = getLoginUser();
|
||||
if (loginUser != null) {
|
||||
qmgcForm.setUserId(loginUser.getUserId());
|
||||
}
|
||||
DeclareCheckResult declareCheck = declareGuardService.checkBeforeCreate("gxmu_qmgc_form",
|
||||
qmgcForm.getDeclareId(), qmgcForm.getYear(), qmgcForm.getUserId());
|
||||
if (declareCheck.isRejected()) {
|
||||
return fail(declareCheck.getError());
|
||||
}
|
||||
if (declareCheck.getDeclareId() != null) {
|
||||
qmgcForm.setDeclareId(declareCheck.getDeclareId());
|
||||
}
|
||||
qmgcForm.setDeclareStatus(1);
|
||||
if (qmgcFormService.save(qmgcForm)) {
|
||||
reviewFlowStarterService.startReview("gxmu_qmgc_form", qmgcForm.getId());
|
||||
return success("添加成功");
|
||||
@@ -187,4 +202,4 @@ public class QmgcFormController extends BaseController {
|
||||
}
|
||||
return String.valueOf(java.time.LocalDate.now().getYear());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user