|
@@ -77,6 +77,7 @@ function guard(json: IRequest, cached_data: ICachedData): Promise<void> {
|
|
|
|
|
|
let prj_info = await PrjInfo.findOne({where: {id: task.prj_id}, raw: true});
|
|
|
if (!prj_info) return reject(Resp.gen_err(Resp.ResourceNotFound));
|
|
|
+ cached_data.started_at = prj_info.started_at; // 缓存项目的开始时间
|
|
|
cached_data.deliver_at = prj_info.deliver_at; // 缓存项目的交付时间
|
|
|
|
|
|
// 检查用户是否是项目负责人,只有项目负责人才可以修改任务
|
|
@@ -123,7 +124,10 @@ function modify(json: IRequest, params: IMethodParams, cached_data: ICachedData)
|
|
|
// 检查起止时间是否合法
|
|
|
let begin_at = data.begin_at || task.begin_at;
|
|
|
let end_at = data.end_at || task.end_at;
|
|
|
-
|
|
|
+ // 检查计划开始时间不能早于项目立项时间
|
|
|
+ if (dayjs(begin_at).diff(dayjs(cached_data.started_at)) < 0) {
|
|
|
+ return reject(Resp.gen_err(Resp.ParamsError, `计划开始时间不能早于项目立项时间 ${dayjs(cached_data.started_at).format('YYYY-MM-DD')}。`));
|
|
|
+ }
|
|
|
// 检查计划结束时间不能晚于项目交付时间
|
|
|
if (dayjs(data.end_at).diff(dayjs(cached_data.deliver_at)) > 0) {
|
|
|
return reject(Resp.gen_err(Resp.ParamsError, `计划结束时间不能晚于项目交付时间 ${dayjs(cached_data.deliver_at).format('YYYY-MM-DD')}。`));
|