|
@@ -60,7 +60,7 @@ public class MedAppealInfoManagementFacade {
|
|
|
|
|
|
public Boolean addAppealInfo(AddAppealInfoVO addAppealInfoVO) {
|
|
|
|
|
|
- if(addAppealInfoVO.getCasesId()!=null){
|
|
|
+ if (addAppealInfoVO.getCasesId() != null) {
|
|
|
//获取模块名称
|
|
|
String casesName = appealInfoFacade.getBaseMapper().getCasesName(addAppealInfoVO.getCasesId());
|
|
|
addAppealInfoVO.setCasesName(casesName);
|
|
@@ -73,8 +73,7 @@ public class MedAppealInfoManagementFacade {
|
|
|
//获取该病历缺陷申诉记录(医院id+病历id+质控缺陷id+未删除)
|
|
|
AppealInfo appealInfo = getAppealInfo(addAppealInfoVO.getHospitalId()
|
|
|
, addAppealInfoVO.getBehospitalCode()
|
|
|
- , addAppealInfoVO.getQcresultDetailId()
|
|
|
- , addAppealInfoVO.getClaimantId());
|
|
|
+ , addAppealInfoVO.getQcresultDetailId());
|
|
|
//缺陷状态-删除
|
|
|
if (IsDeleteEnum.Y.getKey().equals(qcresultDetail.getIsDeleted())) {
|
|
|
Asserts.fail2("该缺陷已被删除,请走恢复流程");
|
|
@@ -85,7 +84,7 @@ public class MedAppealInfoManagementFacade {
|
|
|
return addAppealInfoAndExamineInfo(addAppealInfoVO);
|
|
|
}
|
|
|
//获取申诉记录当前节点状态(1:申诉|2:撤销|3:科室审核)
|
|
|
- if (WorkFlowNodeEnum.APPEAL.getKey().equals(appealInfo.getWorkFlowNodeId()+ "")) {
|
|
|
+ if (WorkFlowNodeEnum.APPEAL.getKey().equals(appealInfo.getWorkFlowNodeId() + "")) {
|
|
|
Asserts.fail2("该缺陷已被申诉");
|
|
|
} else {
|
|
|
//删除申诉记录
|
|
@@ -101,16 +100,37 @@ public class MedAppealInfoManagementFacade {
|
|
|
.eq("hospital_id", addAppealInfoVO.getHospitalId())
|
|
|
.eq("behospital_code", addAppealInfoVO.getBehospitalCode())
|
|
|
.eq("cases_entry_id", addAppealInfoVO.getCasesEntryId()));
|
|
|
- if(StringUtil.isNotBlank(addAppealInfoVO.getCasesEntryMsg())){
|
|
|
+ if (StringUtil.isNotBlank(addAppealInfoVO.getCasesEntryMsg())) {
|
|
|
addAppealInfoVO.setQcresultDetailMsg(addAppealInfoVO.getCasesEntryMsg());
|
|
|
}
|
|
|
if (ListUtil.isNotEmpty(qcresultDetails)) {
|
|
|
Asserts.fail2("该缺陷已存在无需申诉新增");
|
|
|
}
|
|
|
+ //获取申诉新增已有待审核的申诉记录
|
|
|
+ AppealInfo oldAppealInfo = getAppealInfo(addAppealInfoVO);
|
|
|
+ if (oldAppealInfo != null) {
|
|
|
+ //如果最新的一条是已审核
|
|
|
+ if(WorkFlowNodeEnum.DEPT_CHECK.getKey().equals(oldAppealInfo.getWorkFlowNodeId() + "")){
|
|
|
+ //删除改新增已有(已审核)申诉记录
|
|
|
+ appealInfoFacade.update(new UpdateWrapper<AppealInfo>().set("is_deleted", IsDeleteEnum.Y.getKey())
|
|
|
+ .eq("id", oldAppealInfo.getId()));
|
|
|
+ }else if (WorkFlowNodeEnum.APPEAL.getKey().equals(oldAppealInfo.getWorkFlowNodeId() + "")) {
|
|
|
+ Asserts.fail2("该缺陷已被申诉无需再次恢复");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
//新增申诉记录+审核记录
|
|
|
return addAppealInfoAndExamineInfo(addAppealInfoVO);
|
|
|
//新增缺失
|
|
|
case "2":
|
|
|
+ //补全缺失模块信息
|
|
|
+ if (StringUtil.isNotBlank(addAppealInfoVO.getCasesName())) {
|
|
|
+ //获取模块名称
|
|
|
+ Long casesId = appealInfoFacade.getBaseMapper().getCasesIdByName(addAppealInfoVO.getCasesName());
|
|
|
+ if (casesId != null) {
|
|
|
+ addAppealInfoVO.setCasesId(casesId);
|
|
|
+ }
|
|
|
+ }
|
|
|
//新增申诉记录+审核记录
|
|
|
return addAppealInfoAndExamineInfo(addAppealInfoVO);
|
|
|
//恢复
|
|
@@ -120,8 +140,7 @@ public class MedAppealInfoManagementFacade {
|
|
|
//获取该病历缺陷申诉记录(医院id+病历id+质控缺陷id+未删除)
|
|
|
AppealInfo appealInfo1 = getAppealInfo(addAppealInfoVO.getHospitalId()
|
|
|
, addAppealInfoVO.getBehospitalCode()
|
|
|
- , addAppealInfoVO.getQcresultDetailId()
|
|
|
- , addAppealInfoVO.getClaimantId());
|
|
|
+ , addAppealInfoVO.getQcresultDetailId());
|
|
|
//缺陷状态-删除
|
|
|
if (qcresultDetail1.getIsDeleted().equals(IsDeleteEnum.N.getKey())) {
|
|
|
Asserts.fail2("缺陷已被恢复无需再次恢复");
|
|
@@ -147,6 +166,30 @@ public class MedAppealInfoManagementFacade {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
+ private AppealInfo getAppealInfo(AddAppealInfoVO addAppealInfoVO) {
|
|
|
+ if (addAppealInfoVO.getCasesEntryId() == null) {
|
|
|
+ Asserts.fail2("新增已有条目casesEntryId不能为空");
|
|
|
+ }
|
|
|
+ if (addAppealInfoVO.getIsReject() == null) {
|
|
|
+ Asserts.fail2("新增已有条目isReject不能为空");
|
|
|
+ }
|
|
|
+ if (addAppealInfoVO.getCasesScore() == null) {
|
|
|
+ Asserts.fail2("新增已有条目casesScore不能为空");
|
|
|
+ }
|
|
|
+ List<AppealInfo> appealInfos = appealInfoFacade.list(new QueryWrapper<AppealInfo>()
|
|
|
+ .eq("hospital_id", addAppealInfoVO.getHospitalId())
|
|
|
+ .eq("behospital_code", addAppealInfoVO.getBehospitalCode())
|
|
|
+ .eq("cases_entry_id", addAppealInfoVO.getCasesEntryId())
|
|
|
+ .eq("cases_score", addAppealInfoVO.getCasesScore())
|
|
|
+ .eq("is_reject", addAppealInfoVO.getIsReject())
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .orderByDesc("gmt_create"));
|
|
|
+ if (ListUtil.isNotEmpty(appealInfos)) {
|
|
|
+ return appealInfos.get(0);
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
private Boolean addAppealInfoAndExamineInfo(AddAppealInfoVO addAppealInfoVO) {
|
|
|
AppealInfo appealInfo = new AppealInfo();
|
|
|
BeanUtils.copyProperties(addAppealInfoVO, appealInfo);
|
|
@@ -169,7 +212,7 @@ public class MedAppealInfoManagementFacade {
|
|
|
* @Description获取该病历缺陷申诉记录
|
|
|
* @Return com.lantone.dblayermbg.entity.appeal.AppealInfo
|
|
|
*/
|
|
|
- private AppealInfo getAppealInfo(Long hospitalId, String behospitalCode, Long qcresultDetailId ,String claimantId) {
|
|
|
+ private AppealInfo getAppealInfo(Long hospitalId, String behospitalCode, Long qcresultDetailId) {
|
|
|
|
|
|
if (qcresultDetailId == null) {
|
|
|
Asserts.fail2("质控缺陷id为空");
|
|
@@ -178,7 +221,6 @@ public class MedAppealInfoManagementFacade {
|
|
|
.eq("hospital_id", hospitalId)
|
|
|
.eq("behospital_code", behospitalCode)
|
|
|
.eq("qcresult_detail_id", qcresultDetailId)
|
|
|
- .eq("claimant_id", claimantId)
|
|
|
.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
.orderByDesc("gmt_create"));
|
|
|
if (ListUtil.isNotEmpty(appealInfos)) {
|
|
@@ -325,12 +367,12 @@ public class MedAppealInfoManagementFacade {
|
|
|
|
|
|
public GetAppealInfoDTO getAppealInfo(GetAppealInfoVO getAppealInfoVO) {
|
|
|
//1.获取病历基本信息和病历内容
|
|
|
- GetAppealInfoDTO getAppealInfoDTO = appealInfoFacade.getBaseMapper().getAppealInfo(getAppealInfoVO);
|
|
|
+ GetAppealInfoDTO getAppealInfoDTO = appealInfoFacade.getBaseMapper().getAppealInfo(getAppealInfoVO);
|
|
|
//2.获取该条申诉记录详情
|
|
|
AppealInfo appealInfo = appealInfoFacade.getById(getAppealInfoVO.getId());
|
|
|
- if(appealInfo!=null){
|
|
|
+ if (appealInfo != null) {
|
|
|
//如果是新增缺失,获取申诉说明(通过申诉说明区别该病历新增的新增缺失)
|
|
|
- if(AppealOperationTypeEnum.ADD_NO_EXIST.getKey().equals(appealInfo.getAppealOperationType())){
|
|
|
+ if (AppealOperationTypeEnum.ADD_NO_EXIST.getKey().equals(appealInfo.getAppealOperationType())) {
|
|
|
getAppealInfoVO.setAppealExplain(appealInfo.getAppealExplain());
|
|
|
}
|
|
|
}
|