|
@@ -1,23 +1,24 @@
|
|
|
package com.diagbot.facade;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.diagbot.dto.CheckWorkDTO;
|
|
|
import com.diagbot.dto.MedicalRecordDTO;
|
|
|
-import com.diagbot.entity.MedBehospitalType;
|
|
|
+import com.diagbot.entity.*;
|
|
|
+import com.diagbot.enums.IsDeleteEnum;
|
|
|
import com.diagbot.exception.CommonErrorCode;
|
|
|
import com.diagbot.exception.CommonException;
|
|
|
import com.diagbot.service.impl.MedBehospitalTypeServiceImpl;
|
|
|
import com.diagbot.service.impl.MedicalRecordServiceImpl;
|
|
|
import com.diagbot.util.DateUtil;
|
|
|
+import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.util.SysUserUtils;
|
|
|
import com.diagbot.vo.*;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
+import java.util.*;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -26,6 +27,8 @@ import java.util.List;
|
|
|
*/
|
|
|
@Component
|
|
|
public class MedCheckWorkFacade {
|
|
|
+ @Autowired
|
|
|
+ SysUserFacade sysUserFacade;
|
|
|
@Autowired
|
|
|
private MedCheckInfoFacade medCheckInfoFacade;
|
|
|
@Autowired
|
|
@@ -35,26 +38,69 @@ public class MedCheckWorkFacade {
|
|
|
|
|
|
/**
|
|
|
* @Author songxl
|
|
|
- * @Description 批量插入任务
|
|
|
+ * @Description 批量操作核查任务(增加和删除)
|
|
|
* @Date 2021/5/11
|
|
|
* @Param [medCheckWorkVO]
|
|
|
* @Return java.lang.Boolean
|
|
|
* @MethodName addCheck
|
|
|
*/
|
|
|
- public Boolean addCheck(MedCheckWorkAddVO medCheckWorkVO) {
|
|
|
+ public Boolean addCheckWork(MedCheckWorkAddVO medCheckWorkVO) {
|
|
|
|
|
|
+ Date now = DateUtil.now();
|
|
|
Long hospitalId = Long.parseLong(SysUserUtils.getCurrentHospitalID());
|
|
|
- String create = SysUserUtils.getCurrentPrincipleID();
|
|
|
- switch (medCheckWorkVO.getWorkType()){
|
|
|
- case 0:
|
|
|
- break;
|
|
|
- case 1:
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
+ Long principleId = Long.valueOf(SysUserUtils.getCurrentPrincipleID());
|
|
|
+ QueryWrapper<SysUser> userQuer = new QueryWrapper<>();
|
|
|
+ userQuer.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .eq("id", principleId)
|
|
|
+ .eq("status", 1);
|
|
|
+ SysUser user = sysUserFacade.getOne(userQuer);
|
|
|
+ String principleName = user.getLinkman();
|
|
|
+ //操作类型(0-取消,1-添加)
|
|
|
+ if (medCheckWorkVO.getCheckType() == 0) {
|
|
|
+ QueryWrapper<MedCheckInfo> medicalRecordQe = new QueryWrapper<>();
|
|
|
+ medicalRecordQe.eq("hospital_id", medCheckWorkVO.getHospitalId());
|
|
|
+ medicalRecordQe.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
+ if (medCheckWorkVO.getBehospitalCodeList().size() > 0) {
|
|
|
+ medicalRecordQe.in("behospital_code", medCheckWorkVO.getBehospitalCodeList());
|
|
|
+ }
|
|
|
+// List<MedCheckInfo> medCheckInfoList = medCheckInfoFacade.list(medicalRecordQe);
|
|
|
+ List<MedCheckInfo> list = medCheckInfoFacade.list(medicalRecordQe);
|
|
|
+ if (ListUtil.isEmpty(list)) {
|
|
|
+ throw new CommonException(CommonErrorCode.UPDATE_INFO_FAIL, "存在未生成数据!");
|
|
|
+ }
|
|
|
+
|
|
|
+ medCheckInfoFacade.getBaseMapper().getUpdateBatch(medCheckWorkVO.getBehospitalCodeList());
|
|
|
+ } else {
|
|
|
+ //获取核查任务类型(0-科室任务 1-院级 2-质控科)
|
|
|
+ switch (medCheckWorkVO.getWorkType()) {
|
|
|
+ case 0:
|
|
|
+ //该病历没有核查的时候, 就添加核查记录
|
|
|
+ List<MedCheckInfo> medCheckInfoList = new ArrayList<>();
|
|
|
+ for (String behospitalCode : medCheckWorkVO.getBehospitalCodeList()) {
|
|
|
+ MedCheckInfo medCheckInfo = new MedCheckInfo();
|
|
|
+ medCheckInfo.setBehospitalCode(behospitalCode);
|
|
|
+ medCheckInfo.setGmtCreate(now);
|
|
|
+ medCheckInfo.setGmtModified(now);
|
|
|
+ medCheckInfo.setHospitalId(hospitalId);
|
|
|
+ medCheckInfo.setCheckType(medCheckWorkVO.getCheckType());
|
|
|
+ medCheckInfo.setJobCreator(principleId);
|
|
|
+ medCheckInfo.setJobCreatorName(principleName);
|
|
|
+ medCheckInfo.setJobCreateTime(now);
|
|
|
+ medCheckInfo.setJobType(medCheckWorkVO.getWorkType());
|
|
|
+ medCheckInfo.setJobDistributionTime(now);
|
|
|
+ medCheckInfoList.add(medCheckInfo);
|
|
|
+ }
|
|
|
+ medCheckInfoFacade.saveBatch(medCheckInfoList);
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- List<MedCheckWork> checkWorkList = new ArrayList<>();
|
|
|
+
|
|
|
+// List<MedCheckWork> checkWorkList = new ArrayList<>();
|
|
|
|
|
|
// return medCheckWorkServiceImpl.saveBatch(checkWorkList, 10);
|
|
|
return null;
|