You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
4.3 KiB
Java
112 lines
4.3 KiB
Java
4 years ago
|
package com.docus.bgts.service;
|
||
|
|
||
|
|
||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||
|
import com.docus.bgts.entity.*;
|
||
|
import com.docus.bgts.facade.IAfCollectTaskService;
|
||
|
import com.docus.bgts.mapper.AfCollectTaskMapper;
|
||
|
import com.docus.bgts.mapper.AfInterfaceCollectMapper;
|
||
|
import com.docus.bgts.mapper.AfInterfaceCollectSubMapper;
|
||
|
import org.apache.commons.lang3.StringUtils;
|
||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||
|
import org.springframework.stereotype.Service;
|
||
|
import org.springframework.transaction.annotation.Transactional;
|
||
|
|
||
|
import java.util.Date;
|
||
|
import java.util.List;
|
||
|
|
||
|
/**
|
||
|
* <p>
|
||
|
* 病案采集任务 服务实现类
|
||
|
* </p>
|
||
|
*
|
||
|
* @author 曾文和
|
||
|
* @since 2021-05-07
|
||
|
*/
|
||
|
@Service
|
||
|
public class AfCollectTaskServiceImpl extends ServiceImpl<AfCollectTaskMapper, AfCollectTask> implements IAfCollectTaskService {
|
||
|
|
||
|
@Autowired
|
||
|
AfCollectTaskMapper afCollectTaskMapper;
|
||
|
|
||
|
@Autowired
|
||
|
AfInterfaceCollectMapper afInterfaceCollectMapper;
|
||
|
|
||
|
@Autowired
|
||
|
AfInterfaceCollectSubMapper afInterfaceCollectSubMapper;
|
||
|
|
||
|
@Override
|
||
|
public String getpatientIdByEmpId(String empId) {
|
||
|
String patientId = afCollectTaskMapper.getpatientIdByEmpId(empId);
|
||
|
return patientId;
|
||
|
}
|
||
|
|
||
|
@Transactional
|
||
|
@Override
|
||
|
public void insert(ReportDownDto reportDownDto) {
|
||
|
AfCollectTask afCollectTask;
|
||
|
String patientId = getpatientIdByEmpId(reportDownDto.getPatient().getJzh());
|
||
|
if (StringUtils.isBlank(patientId)) {
|
||
|
throw new RuntimeException("操作的病案信息不存在");
|
||
|
}
|
||
|
Date date = new Date();
|
||
|
Integer save = null;
|
||
|
List<ReportDownScanFileDto> scanfiles = reportDownDto.getScanfiles();
|
||
|
for (ReportDownScanFileDto scanfile : scanfiles) {
|
||
|
// 判断任务是否已存在
|
||
|
afCollectTask = afCollectTaskMapper.selectOne(new QueryWrapper<AfCollectTask>().eq("C1", scanfile.getSerialnum()).eq("sysflag", reportDownDto.getCollectorid()));
|
||
|
if (afCollectTask == null) {
|
||
|
//不存在 新增
|
||
|
afCollectTask = new AfCollectTask();
|
||
|
afCollectTask.setPatientId(patientId);
|
||
|
afCollectTask.setSysflag(reportDownDto.getCollectorid());
|
||
|
afCollectTask.setState("0");
|
||
|
afCollectTask.setSyncTime(date);
|
||
|
afCollectTask.setC1(scanfile.getSerialnum());
|
||
|
afCollectTask.setC2(scanfile.getFiletitle());
|
||
|
save = afCollectTaskMapper.insert(afCollectTask);
|
||
|
} else {
|
||
|
//存在就修改
|
||
|
afCollectTask.setPatientId(patientId);
|
||
|
afCollectTask.setSysflag(reportDownDto.getCollectorid());
|
||
|
afCollectTask.setState("0");
|
||
|
afCollectTask.setSyncTime(date);
|
||
|
afCollectTask.setC1(scanfile.getSerialnum());
|
||
|
afCollectTask.setC2(scanfile.getFiletitle());
|
||
|
save = afCollectTaskMapper.updateById(afCollectTask);
|
||
|
}
|
||
|
|
||
|
if (save <= 0) {
|
||
|
throw new RuntimeException("插入病案任务表数据出错");
|
||
|
}
|
||
|
scanfile.setTaskid(afCollectTask.getId());
|
||
|
}
|
||
|
reportDownDto.setScanfiles(scanfiles);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void updateInterfaceCollect(String collectSubId, int state) {
|
||
|
AfInterfaceCollectSub afInterfaceCollectSub = afInterfaceCollectSubMapper.selectById(collectSubId);
|
||
|
if (afInterfaceCollectSub == null) {
|
||
|
throw new RuntimeException("afInterfaceCollectSub表数据为空");
|
||
|
}
|
||
|
int i;
|
||
|
afInterfaceCollectSub.setState(state);
|
||
|
i = afInterfaceCollectSubMapper.updateById(afInterfaceCollectSub);
|
||
|
if (i <= 0) {
|
||
|
throw new RuntimeException("记录任务数时出错");
|
||
|
}
|
||
|
if (state == 1) {
|
||
|
AfInterfaceCollect afInterfaceCollect = afInterfaceCollectMapper.selectById(afInterfaceCollectSub.getAfInterfaceCollectId());
|
||
|
afInterfaceCollect.setCompleteCount(afInterfaceCollect.getCompleteCount() + 1);
|
||
|
i = afInterfaceCollectMapper.updateById(afInterfaceCollect);
|
||
|
if (i <= 0) {
|
||
|
throw new RuntimeException("记录任务数时出错");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|