42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
"use strict";
|
|
|
|
const Service = require("egg").Service;
|
|
|
|
class SeriesService extends Service {
|
|
/**
|
|
* 更新并返回series
|
|
* @param {*} dicomInfo 更新的参数
|
|
* @param {*} _id DICOM文件_id 如果存在就设置
|
|
*/
|
|
async findAndUpsert(dicomInfo, user_id) {
|
|
let serie = await this.getSeriesExistByDicomInfo(dicomInfo, user_id);
|
|
if (!serie) {
|
|
serie = new this.ctx.model.Series({
|
|
SeriesInstanceUID: dicomInfo.SeriesInstanceUID,
|
|
user_id: user_id,
|
|
status: '1',
|
|
...dicomInfo
|
|
});
|
|
// let slug = await this.service.util.nextSequence('Series');
|
|
// serie.slug = slug;
|
|
} else {
|
|
serie.status = '1';
|
|
if (serie.ifOldData) {
|
|
serie.ifOldData = null;
|
|
}
|
|
}
|
|
return serie.save();
|
|
}
|
|
/**
|
|
* 根据dicomInfo信息获取是否存在series
|
|
* @param {*} dicomInfo
|
|
* @param {*} user_id
|
|
*/
|
|
getSeriesExistByDicomInfo(dicomInfo, user_id) {
|
|
return this.ctx.model.Series.findOne({
|
|
SeriesInstanceUID: dicomInfo.SeriesInstanceUID,
|
|
user_id: user_id
|
|
}).exec();
|
|
}
|
|
}
|
|
module.exports = SeriesService; |