Merge branch 'master' of ssh://git.jizhiweb.cn:2222/clinic-v2/server
This commit is contained in:
commit
0bed77b5d7
|
|
@ -254,4 +254,12 @@ public class SocialRequest {
|
||||||
JSONObject jsonObject = httpUtil.callBackMsgId("3101", "data", im3101.buildToMap(), 10000);
|
JSONObject jsonObject = httpUtil.callBackMsgId("3101", "data", im3101.buildToMap(), 10000);
|
||||||
DebugUtil.out(jsonObject);
|
DebugUtil.out(jsonObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public JSONObject callMerge31013102(Map<String,Object> map,String code) {
|
||||||
|
JSONObject jsonObject = httpUtil.callBackMsgId(code, "data", map, 10000);
|
||||||
|
|
||||||
|
DebugUtil.out(jsonObject);
|
||||||
|
|
||||||
|
return jsonObject;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -77,6 +77,7 @@ public class RegistrationController extends BaseController {
|
||||||
if (registration == null) {
|
if (registration == null) {
|
||||||
throw new MessageException("data参数为空");
|
throw new MessageException("data参数为空");
|
||||||
}
|
}
|
||||||
|
|
||||||
patientRegistrationService.updateById(registration);
|
patientRegistrationService.updateById(registration);
|
||||||
return success();
|
return success();
|
||||||
}
|
}
|
||||||
|
|
@ -123,7 +124,7 @@ public class RegistrationController extends BaseController {
|
||||||
@RequestMapping("/getListByType")
|
@RequestMapping("/getListByType")
|
||||||
public Result<Page<PatientRegistration>> getListByType() {
|
public Result<Page<PatientRegistration>> getListByType() {
|
||||||
RegistrationQuery query = parmsUtil.getObject("query", RegistrationQuery.class);
|
RegistrationQuery query = parmsUtil.getObject("query", RegistrationQuery.class);
|
||||||
return success(patientRegistrationService.getPageByType(query));
|
return success(patientRegistrationService.getListByType(query));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -87,12 +87,12 @@ public class StatisticsController extends BaseController {
|
||||||
* 获取收费队列 就诊队列数量
|
* 获取收费队列 就诊队列数量
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/getTipCount")
|
@RequestMapping("/getTipCount")
|
||||||
public Result<TipCountVo> getChargeQueueCount() {
|
public Result<TipCountVo> getTipCount() {
|
||||||
String begin = parmsUtil.getString("beginTime", "开始时间为空");
|
String begin = parmsUtil.getString("beginTime", "开始时间为空");
|
||||||
String end = parmsUtil.getString("endTime", "结束时间为空");
|
String end = parmsUtil.getString("endTime", "结束时间为空");
|
||||||
LocalDateTime beginTime = DateUtil.getDateTime(begin);
|
LocalDateTime beginTime = DateUtil.getDateTime(begin);
|
||||||
LocalDateTime endTime = DateUtil.getDateTime(end);
|
LocalDateTime endTime = DateUtil.getDateTime(end);
|
||||||
return success( statisticsService.getWaitCount(beginTime, endTime));
|
return success( statisticsService.getTipCount(beginTime, endTime));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 商品统计
|
* 商品统计
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,25 @@
|
||||||
package com.syjiaer.clinic.server.entity.patient;
|
package com.syjiaer.clinic.server.entity.patient;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 挂号表
|
* 挂号表
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author NiuZiYuan
|
* @author NiuZiYuan
|
||||||
* @since 2025-04-30
|
* @since 2025-05-23
|
||||||
*/
|
*/
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
|
|
@ -55,6 +55,9 @@ public class PatientRegistration implements Serializable {
|
||||||
@ApiModelProperty("挂号时间")
|
@ApiModelProperty("挂号时间")
|
||||||
private LocalDateTime createDatetime;
|
private LocalDateTime createDatetime;
|
||||||
|
|
||||||
|
@ApiModelProperty("挂号时间")
|
||||||
|
private LocalDateTime updateDatetime;
|
||||||
|
|
||||||
@ApiModelProperty("推荐")
|
@ApiModelProperty("推荐")
|
||||||
private String recommendations;
|
private String recommendations;
|
||||||
|
|
||||||
|
|
@ -93,4 +96,11 @@ public class PatientRegistration implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty("流水号")
|
@ApiModelProperty("流水号")
|
||||||
private String fstNo;
|
private String fstNo;
|
||||||
|
|
||||||
|
@ApiModelProperty("挂号时间")
|
||||||
|
private LocalDateTime appointmentTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("是否预约")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Boolean isAppointment;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -79,4 +79,6 @@ public class RegistrationSaveDto {
|
||||||
|
|
||||||
@ApiModelProperty("医保余额")
|
@ApiModelProperty("医保余额")
|
||||||
private BigDecimal insuBalance;
|
private BigDecimal insuBalance;
|
||||||
|
@ApiModelProperty("预约时间")
|
||||||
|
private String appointmentTime;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalItemList;
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -27,5 +28,15 @@ public interface DiagnosisMedicalItemListMapper extends BaseMapper<DiagnosisMedi
|
||||||
" FROM diagnosis_medical_item_list AS dmil LEFT JOIN item ON dmil.item_id = item.id" +
|
" FROM diagnosis_medical_item_list AS dmil LEFT JOIN item ON dmil.item_id = item.id" +
|
||||||
" WHERE dmil.diagnosis_code = #{code} ")
|
" WHERE dmil.diagnosis_code = #{code} ")
|
||||||
List<ChargeItemListVo> selectDetailByCode(String code);
|
List<ChargeItemListVo> selectDetailByCode(String code);
|
||||||
|
|
||||||
|
|
||||||
|
@Select("SELECT" +
|
||||||
|
" dmil.unit AS selected_unit," +
|
||||||
|
" dmil.unit_price AS selected_price," +
|
||||||
|
" dmil.number AS selected_num," +
|
||||||
|
" item.*" +
|
||||||
|
" FROM diagnosis_medical_item_list AS dmil LEFT JOIN item ON dmil.item_id = item.id" +
|
||||||
|
" WHERE dmil.diagnosis_code = #{code} and item.del_flag != 1")
|
||||||
|
List<ChargeItemListVo> selectDetailByCodeNotDelete(String code);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,437 @@
|
||||||
|
package com.syjiaer.clinic.server.service.diagnosis;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.syjiaer.clinic.server.common.api.input.IM3101;
|
||||||
|
import com.syjiaer.clinic.server.common.api.input.im3101.FsiDiagnoseDtos;
|
||||||
|
import com.syjiaer.clinic.server.common.api.input.im3101.FsiEncounterDtos;
|
||||||
|
import com.syjiaer.clinic.server.common.api.input.im3101.FsiOrderDtos;
|
||||||
|
import com.syjiaer.clinic.server.common.api.input.im3101.PatientDtos;
|
||||||
|
import com.syjiaer.clinic.server.common.api.request.SocialRequest;
|
||||||
|
import com.syjiaer.clinic.server.common.util.DebugUtil;
|
||||||
|
import com.syjiaer.clinic.server.entity.charge.vo.ChargeItemListVo;
|
||||||
|
import com.syjiaer.clinic.server.entity.diagnosis.Diagnosis;
|
||||||
|
import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalGoodsList;
|
||||||
|
import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalItemList;
|
||||||
|
import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalRecord;
|
||||||
|
import com.syjiaer.clinic.server.entity.item.ItemGroupList;
|
||||||
|
import com.syjiaer.clinic.server.entity.organization.OrganizationMember;
|
||||||
|
import com.syjiaer.clinic.server.entity.patient.PatientInfo;
|
||||||
|
import com.syjiaer.clinic.server.entity.patient.PatientRegistration;
|
||||||
|
import com.syjiaer.clinic.server.entity.social.SocialDiagnose;
|
||||||
|
import com.syjiaer.clinic.server.entity.social.SocialUser;
|
||||||
|
import com.syjiaer.clinic.server.mapper.diagnosis.DiagnosisMapper;
|
||||||
|
import com.syjiaer.clinic.server.mapper.diagnosis.DiagnosisMedicalGoodsListMapper;
|
||||||
|
import com.syjiaer.clinic.server.mapper.diagnosis.DiagnosisMedicalItemListMapper;
|
||||||
|
import com.syjiaer.clinic.server.mapper.diagnosis.DiagnosisMedicalRecordMapper;
|
||||||
|
import com.syjiaer.clinic.server.mapper.item.ItemGroupListMapper;
|
||||||
|
import com.syjiaer.clinic.server.mapper.organization.OrganizationMemberMapper;
|
||||||
|
import com.syjiaer.clinic.server.mapper.patient.PatientInfoMapper;
|
||||||
|
import com.syjiaer.clinic.server.mapper.patient.PatientRegistrationMapper;
|
||||||
|
import com.syjiaer.clinic.server.mapper.social.SocialUserMapper;
|
||||||
|
import com.syjiaer.clinic.server.service.BaseService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import com.syjiaer.clinic.server.common.config.Config;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class CheckService extends BaseService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private PatientRegistrationMapper patientRegistrationMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SocialUserMapper socialUserMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DiagnosisMapper diagnosisMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private PatientInfoMapper patientInfoMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private Config config;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DiagnosisMedicalRecordMapper diagnosisMedicalRecordMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private OrganizationMemberMapper organizationMemberMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DiagnosisMedicalGoodsListMapper diagnosisMedicalGoodsListMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DiagnosisMedicalItemListMapper diagnosisMedicalItemListMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ItemGroupListMapper itemGroupListMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SocialRequest socialRequest;
|
||||||
|
|
||||||
|
public PatientRegistration getPatientRegistrationInfo(Integer registrationId)
|
||||||
|
{
|
||||||
|
return patientRegistrationMapper.selectById(registrationId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void loggerInfo(String message,Object data) {
|
||||||
|
log.info("CheckService:事前事中:{} :extra:{}", message, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void check(Integer registrationId,String imCode)
|
||||||
|
{
|
||||||
|
loggerInfo("接收到数据请求:registrationId:"+registrationId,null);
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 获取挂号信息
|
||||||
|
PatientRegistration patientRegistrationInfo = getPatientRegistrationInfo(registrationId);
|
||||||
|
|
||||||
|
if (patientRegistrationInfo == null)
|
||||||
|
{
|
||||||
|
loggerInfo("挂号表数据为空",null);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (patientRegistrationInfo.getType() != 2)
|
||||||
|
{
|
||||||
|
loggerInfo("挂号数据非医保类型",null);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (patientRegistrationInfo.getStatus() != 3)
|
||||||
|
{
|
||||||
|
loggerInfo("挂号数据非已诊状态",null);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取诊断主表
|
||||||
|
QueryWrapper<Diagnosis> diagnosisQueryWrapper = new QueryWrapper<>();
|
||||||
|
diagnosisQueryWrapper.eq("registration_id", registrationId);
|
||||||
|
diagnosisQueryWrapper.last("limit 1");
|
||||||
|
Diagnosis diagnosis = diagnosisMapper.selectOne(diagnosisQueryWrapper);
|
||||||
|
|
||||||
|
if (diagnosis == null)
|
||||||
|
{
|
||||||
|
loggerInfo("诊断数据不存在",null);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取患者信息
|
||||||
|
PatientInfo patientInfo = patientInfoMapper.selectById(diagnosis.getPatientId());
|
||||||
|
|
||||||
|
if (patientInfo==null)
|
||||||
|
{
|
||||||
|
loggerInfo("患者信息不存在",null);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//查询医保用户信息
|
||||||
|
QueryWrapper<SocialUser> socialUserQueryWrapper = new QueryWrapper<>();
|
||||||
|
socialUserQueryWrapper.eq("certno", patientInfo.getCertNo());
|
||||||
|
socialUserQueryWrapper.last("limit 1");
|
||||||
|
SocialUser socialUserInfo = socialUserMapper.selectOne(socialUserQueryWrapper);
|
||||||
|
|
||||||
|
if (socialUserInfo==null)
|
||||||
|
{
|
||||||
|
loggerInfo("医保用户信息不存在",null);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//查询病例 病例 diagnosis_medical_record
|
||||||
|
QueryWrapper<DiagnosisMedicalRecord> diagnosisMedicalRecordWrapper = new QueryWrapper<>();
|
||||||
|
diagnosisMedicalRecordWrapper.eq("diagnosis_code",diagnosis.getCode());
|
||||||
|
DiagnosisMedicalRecord record = diagnosisMedicalRecordMapper.selectOne(diagnosisMedicalRecordWrapper);
|
||||||
|
|
||||||
|
if (record==null)
|
||||||
|
{
|
||||||
|
loggerInfo("诊断信息为空",null);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//医生信息
|
||||||
|
OrganizationMember organizationMember = organizationMemberMapper.selectById(patientRegistrationInfo.getOrganizationDoctorId());
|
||||||
|
|
||||||
|
if (organizationMember==null)
|
||||||
|
{
|
||||||
|
loggerInfo("医生信息不存在",null);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String,Object> requestMap = mergeRequestParam(socialUserInfo,patientRegistrationInfo,diagnosis,record,organizationMember);
|
||||||
|
|
||||||
|
loggerInfo("组织请求接口数据",requestMap);
|
||||||
|
|
||||||
|
Map<String,Object> callResult = socialRequest.callMerge31013102(requestMap,imCode);
|
||||||
|
|
||||||
|
loggerInfo("调用成功",callResult);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("事前事中:error_message:{}",e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Map<String,Object> mergeRequestParam(SocialUser socialUser, PatientRegistration patientRegistration, Diagnosis diagnosis, DiagnosisMedicalRecord record, OrganizationMember organizationMember)
|
||||||
|
{
|
||||||
|
IM3101 im3101 = new IM3101();
|
||||||
|
|
||||||
|
im3101.setSyscode(config.get("social", "syscode"));
|
||||||
|
im3101.setTrigScen("1");
|
||||||
|
PatientDtos patientDtos = new PatientDtos();
|
||||||
|
patientDtos.setPatnId(socialUser.getPsnNo());
|
||||||
|
patientDtos.setPatnName(socialUser.getPsnName());
|
||||||
|
patientDtos.setGend(Integer.valueOf(socialUser.getGend()));
|
||||||
|
patientDtos.setBrdy(socialUser.getBrdy());
|
||||||
|
patientDtos.setPoolarea(patientRegistration.getInsutype());
|
||||||
|
patientDtos.setCurrMdtrtId(socialUser.getPsnNo());
|
||||||
|
im3101.setPatientDtos(patientDtos);
|
||||||
|
|
||||||
|
|
||||||
|
FsiEncounterDtos fsiEncounterDtos = new FsiEncounterDtos();
|
||||||
|
fsiEncounterDtos.setMdtrtId(diagnosis.getCode());
|
||||||
|
fsiEncounterDtos.setMedinsId(config.get("social", "medinsId"));
|
||||||
|
fsiEncounterDtos.setMedinsName(config.get("social", "fixmedinsName"));
|
||||||
|
fsiEncounterDtos.setMedinsAdmdvs(config.get("social", "insuplcAdmdvs"));
|
||||||
|
//定点医疗机构-1 定点零售药店-2 工伤定点康复机构-3 辅助器具配置机构-4 计划生育服务机构-5
|
||||||
|
fsiEncounterDtos.setMedinsType("1");
|
||||||
|
// 目前不知道啥意思写死05
|
||||||
|
fsiEncounterDtos.setMedinsLv("05");
|
||||||
|
fsiEncounterDtos.setAdmDate(diagnosis.getCreateTime());
|
||||||
|
fsiEncounterDtos.setDscgDate(diagnosis.getCreateTime());
|
||||||
|
// 获取主诊断
|
||||||
|
List<SocialDiagnose> diagnoseList = JSONArray.parseArray(record.getDiagnosisDetail(),SocialDiagnose.class);
|
||||||
|
fsiEncounterDtos.setDscgMainDiseCodg(diagnoseList.get(0).getCode());
|
||||||
|
fsiEncounterDtos.setDscgMainDiseName(diagnoseList.get(0).getName());
|
||||||
|
patientDtos.setFsiEncounterDtos(fsiEncounterDtos);
|
||||||
|
|
||||||
|
//诊断信息DTO
|
||||||
|
List<FsiDiagnoseDtos> fsiDiagnoseDtosList= new ArrayList<>();
|
||||||
|
for (int i = 0; i < diagnoseList.size(); i++) {
|
||||||
|
SocialDiagnose diagnoseInfo = diagnoseList.get(i);
|
||||||
|
|
||||||
|
//主诊断是1 其他的诊断是0
|
||||||
|
String maindiseFlag = "0";
|
||||||
|
|
||||||
|
if (i==0) {
|
||||||
|
maindiseFlag = "1";
|
||||||
|
}
|
||||||
|
|
||||||
|
FsiDiagnoseDtos fsiDiagnoseDtos = new FsiDiagnoseDtos();
|
||||||
|
fsiDiagnoseDtos.setDiseId(diagnosis.getCode()+"_"+i);
|
||||||
|
//干啥的不知道 默认1
|
||||||
|
fsiDiagnoseDtos.setInoutDiseType("1");
|
||||||
|
// 主诊断是1 别的是0 第一个是1其他的是0
|
||||||
|
fsiDiagnoseDtos.setMaindiseFlag(maindiseFlag);
|
||||||
|
//数组下标 从1开始
|
||||||
|
fsiDiagnoseDtos.setDiasSrtNo(String.valueOf(i + 1));
|
||||||
|
fsiDiagnoseDtos.setDiseCodg(diagnoseInfo.getCode());
|
||||||
|
fsiDiagnoseDtos.setDiseName(diagnoseInfo.getName());
|
||||||
|
//取diagnosis创建时间
|
||||||
|
fsiDiagnoseDtos.setDiseDate(diagnosis.getCreateTime());
|
||||||
|
fsiDiagnoseDtosList.add(fsiDiagnoseDtos);
|
||||||
|
}
|
||||||
|
fsiEncounterDtos.setFsiDiagnoseDtos(fsiDiagnoseDtosList);
|
||||||
|
|
||||||
|
//医生表里面查
|
||||||
|
fsiEncounterDtos.setDrCodg(organizationMember.getSocialMemberCode());
|
||||||
|
//下面的4个瞎写 写死就行
|
||||||
|
fsiEncounterDtos.setAdmDeptCodg("XY");
|
||||||
|
fsiEncounterDtos.setAdmDeptName("西医科");
|
||||||
|
fsiEncounterDtos.setDscgDeptCodg("XY");
|
||||||
|
fsiEncounterDtos.setDscgDeptName("西医科");
|
||||||
|
//这玩意儿没有 字典表没有
|
||||||
|
fsiEncounterDtos.setMedMdtrtType("1");
|
||||||
|
// 11是普通门诊 110104是门诊统筹
|
||||||
|
fsiEncounterDtos.setMedType("11");
|
||||||
|
|
||||||
|
|
||||||
|
//处方(医嘱)信息 医疗服务信息*------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
List<FsiOrderDtos> fsiOrderDtosList= new ArrayList<>();
|
||||||
|
//获取病例商品信息 和 病例服务信息
|
||||||
|
List<DiagnosisMedicalGoodsList> goodsList = diagnosisMedicalGoodsListMapper.listByDiagnosisCode(diagnosis.getCode());
|
||||||
|
List<ChargeItemListVo> itemList = diagnosisMedicalItemListMapper.selectDetailByCodeNotDelete(diagnosis.getCode());
|
||||||
|
|
||||||
|
for (DiagnosisMedicalGoodsList goodsInfo : goodsList) {
|
||||||
|
FsiOrderDtos fsiOrderDtos = new FsiOrderDtos();
|
||||||
|
fsiOrderDtos.setRxId(String.valueOf(goodsInfo.getId()));
|
||||||
|
fsiOrderDtos.setRxno(String.valueOf(goodsInfo.getId()));
|
||||||
|
//[1=是,0=否]
|
||||||
|
fsiOrderDtos.setLongDrordFlag("0");
|
||||||
|
//101 西药中成药 104 民族药
|
||||||
|
//102 中药饮片 201 医疗服务项目
|
||||||
|
//103 自制剂 301 医用耗材
|
||||||
|
fsiOrderDtos.setHilistType("101");
|
||||||
|
//收费类别 传啥不知道 ----字典表没有
|
||||||
|
fsiOrderDtos.setChrgType("02");
|
||||||
|
// 传啥不知道 ----字典表没有
|
||||||
|
fsiOrderDtos.setDrordBhvr("0");
|
||||||
|
fsiOrderDtos.setHilistCode(goodsInfo.getSocialCode());
|
||||||
|
fsiOrderDtos.setHilistName(goodsInfo.getName());
|
||||||
|
fsiOrderDtos.setHilistDosform(goodsInfo.getUnit());
|
||||||
|
//穿啥不知道 写死的
|
||||||
|
fsiOrderDtos.setHilistLv("01");
|
||||||
|
fsiOrderDtos.setHilistPric(goodsInfo.getUnitPrice());
|
||||||
|
fsiOrderDtos.setHosplistCode(goodsInfo.getSocialCode());
|
||||||
|
fsiOrderDtos.setHosplistName(goodsInfo.getName());
|
||||||
|
//数量 取diagnosis_medical_goods_list number字段
|
||||||
|
fsiOrderDtos.setCnt(BigDecimal.valueOf(goodsInfo.getNumber()));
|
||||||
|
fsiOrderDtos.setPric(goodsInfo.getUnitPrice());
|
||||||
|
fsiOrderDtos.setSumamt(goodsInfo.getUnitPrice().multiply(BigDecimal.valueOf(goodsInfo.getNumber())));
|
||||||
|
fsiOrderDtos.setOwnpayAmt(goodsInfo.getUnitPrice().multiply(BigDecimal.valueOf(goodsInfo.getNumber())));
|
||||||
|
fsiOrderDtos.setSelfpayAmt(goodsInfo.getUnitPrice().multiply(BigDecimal.valueOf(goodsInfo.getNumber())));
|
||||||
|
fsiOrderDtos.setSpec(goodsInfo.getUnit());
|
||||||
|
fsiOrderDtos.setSpecUnt(goodsInfo.getUnit());
|
||||||
|
fsiOrderDtos.setDrordBegnDate(diagnosis.getCreateTime());
|
||||||
|
fsiOrderDtos.setDrordDeptCodg("XY");
|
||||||
|
fsiOrderDtos.setDrordDeptName("西医科");
|
||||||
|
fsiOrderDtos.setDrordDrCodg(organizationMember.getSocialMemberCode());
|
||||||
|
fsiOrderDtos.setDrordDrName(organizationMember.getName());
|
||||||
|
// 7.171开单医生职称(drord_dr_profttl)
|
||||||
|
// 主任医师-231 副主任医师-232 主诊医师-233 医师-234 医士-235
|
||||||
|
fsiOrderDtos.setDrordDrProfttl("235");
|
||||||
|
//本次处方(医嘱)标记[1=是,0=否]
|
||||||
|
fsiOrderDtos.setCurrDrordFlag("1");
|
||||||
|
fsiOrderDtosList.add(fsiOrderDtos);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
for (ChargeItemListVo itemInfo : itemList)
|
||||||
|
{
|
||||||
|
if (!itemInfo.getIsGroup()) {
|
||||||
|
FsiOrderDtos fsiOrderDtos = new FsiOrderDtos();
|
||||||
|
fsiOrderDtos.setRxId(String.valueOf(itemInfo.getId()));
|
||||||
|
fsiOrderDtos.setRxno(String.valueOf(itemInfo.getId()));
|
||||||
|
//[1=是,0=否]
|
||||||
|
fsiOrderDtos.setLongDrordFlag("0");
|
||||||
|
//101 西药中成药 104 民族药
|
||||||
|
//102 中药饮片 201 医疗服务项目
|
||||||
|
//103 自制剂 301 医用耗材
|
||||||
|
fsiOrderDtos.setHilistType("201");
|
||||||
|
//收费类别 传啥不知道 ----字典表没有
|
||||||
|
fsiOrderDtos.setChrgType("02");
|
||||||
|
// 传啥不知道 ----字典表没有
|
||||||
|
fsiOrderDtos.setDrordBhvr("0");
|
||||||
|
fsiOrderDtos.setHilistCode(itemInfo.getItemSocialCode());
|
||||||
|
fsiOrderDtos.setHilistName(itemInfo.getItemName());
|
||||||
|
fsiOrderDtos.setHilistDosform(itemInfo.getSelectedUnit());
|
||||||
|
//穿啥不知道 写死的
|
||||||
|
fsiOrderDtos.setHilistLv("01");
|
||||||
|
//把itemInfo.getSelectedUnit()转化成BigDecimal价格
|
||||||
|
fsiOrderDtos.setHilistPric(itemInfo.getSelectedPrice());
|
||||||
|
fsiOrderDtos.setHosplistCode(itemInfo.getItemSocialCode());
|
||||||
|
fsiOrderDtos.setHosplistName(itemInfo.getItemName());
|
||||||
|
//数量 取diagnosis_medical_goods_list number字段
|
||||||
|
fsiOrderDtos.setCnt(BigDecimal.valueOf(itemInfo.getSelectedNum()));
|
||||||
|
fsiOrderDtos.setPric(itemInfo.getUnitPrice());
|
||||||
|
fsiOrderDtos.setSumamt(itemInfo.getUnitPrice().multiply(BigDecimal.valueOf(itemInfo.getSelectedNum())));
|
||||||
|
fsiOrderDtos.setOwnpayAmt(itemInfo.getUnitPrice().multiply(BigDecimal.valueOf(itemInfo.getSelectedNum())));
|
||||||
|
fsiOrderDtos.setSelfpayAmt(itemInfo.getUnitPrice().multiply(BigDecimal.valueOf(itemInfo.getSelectedNum())));
|
||||||
|
fsiOrderDtos.setSpec(itemInfo.getSelectedUnit());
|
||||||
|
fsiOrderDtos.setSpecUnt(itemInfo.getSelectedUnit());
|
||||||
|
fsiOrderDtos.setDrordBegnDate(diagnosis.getCreateTime());
|
||||||
|
fsiOrderDtos.setDrordDeptCodg("XY");
|
||||||
|
fsiOrderDtos.setDrordDeptName("西医科");
|
||||||
|
fsiOrderDtos.setDrordDrCodg(organizationMember.getSocialMemberCode());
|
||||||
|
fsiOrderDtos.setDrordDrName(organizationMember.getName());
|
||||||
|
// 7.171开单医生职称(drord_dr_profttl)
|
||||||
|
// 主任医师-231 副主任医师-232 主诊医师-233 医师-234 医士-235
|
||||||
|
fsiOrderDtos.setDrordDrProfttl("235");
|
||||||
|
//本次处方(医嘱)标记[1=是,0=否]
|
||||||
|
fsiOrderDtos.setCurrDrordFlag("1");
|
||||||
|
fsiOrderDtosList.add(fsiOrderDtos);
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryWrapper<ItemGroupList> itemGroupListWrapper = new QueryWrapper<>();
|
||||||
|
itemGroupListWrapper.eq("item_id",itemInfo.getId());
|
||||||
|
itemGroupListWrapper.ne("del_flag",1);
|
||||||
|
List<ItemGroupList> itemGroupList = itemGroupListMapper.selectList(itemGroupListWrapper);
|
||||||
|
|
||||||
|
for (ItemGroupList itemGroupInfo : itemGroupList){
|
||||||
|
FsiOrderDtos fsiOrderDtos = new FsiOrderDtos();
|
||||||
|
fsiOrderDtos.setRxId(String.valueOf(itemGroupInfo.getId()));
|
||||||
|
fsiOrderDtos.setRxno(String.valueOf(itemGroupInfo.getId()));
|
||||||
|
//[1=是,0=否]
|
||||||
|
fsiOrderDtos.setLongDrordFlag("0");
|
||||||
|
//101 西药中成药 104 民族药
|
||||||
|
//102 中药饮片 201 医疗服务项目
|
||||||
|
//103 自制剂 301 医用耗材
|
||||||
|
fsiOrderDtos.setHilistType("201");
|
||||||
|
//收费类别 传啥不知道 ----字典表没有
|
||||||
|
fsiOrderDtos.setChrgType("02");
|
||||||
|
// 传啥不知道 ----字典表没有
|
||||||
|
fsiOrderDtos.setDrordBhvr("0");
|
||||||
|
fsiOrderDtos.setHilistCode(itemGroupInfo.getSocialCode());
|
||||||
|
fsiOrderDtos.setHilistName(itemGroupInfo.getName());
|
||||||
|
fsiOrderDtos.setHilistDosform(itemGroupInfo.getUnit());
|
||||||
|
//穿啥不知道 写死的
|
||||||
|
fsiOrderDtos.setHilistLv("01");
|
||||||
|
//把itemInfo.getSelectedUnit()转化成BigDecimal价格
|
||||||
|
fsiOrderDtos.setHilistPric(itemGroupInfo.getUnitPrice());
|
||||||
|
fsiOrderDtos.setHosplistCode(itemGroupInfo.getSocialCode());
|
||||||
|
fsiOrderDtos.setHosplistName(itemGroupInfo.getName());
|
||||||
|
//数量 取diagnosis_medical_goods_list number字段
|
||||||
|
//用itemInfo.getSelectedNum() * itemGroupInfo.getNumber()
|
||||||
|
fsiOrderDtos.setCnt(BigDecimal.valueOf(itemInfo.getSelectedNum() * itemGroupInfo.getNumber()));
|
||||||
|
fsiOrderDtos.setPric(itemGroupInfo.getUnitPrice());
|
||||||
|
|
||||||
|
BigDecimal totel = itemGroupInfo.getUnitPrice().multiply(BigDecimal.valueOf(itemInfo.getSelectedNum() * itemGroupInfo.getNumber()));
|
||||||
|
fsiOrderDtos.setSumamt(totel);
|
||||||
|
fsiOrderDtos.setOwnpayAmt(totel);
|
||||||
|
fsiOrderDtos.setSelfpayAmt(totel);
|
||||||
|
fsiOrderDtos.setSpec(itemGroupInfo.getUnit());
|
||||||
|
fsiOrderDtos.setSpecUnt(itemGroupInfo.getUnit());
|
||||||
|
fsiOrderDtos.setDrordBegnDate(diagnosis.getCreateTime());
|
||||||
|
fsiOrderDtos.setDrordDeptCodg("XY");
|
||||||
|
fsiOrderDtos.setDrordDeptName("西医科");
|
||||||
|
fsiOrderDtos.setDrordDrCodg(organizationMember.getSocialMemberCode());
|
||||||
|
fsiOrderDtos.setDrordDrName(organizationMember.getName());
|
||||||
|
// 7.171开单医生职称(drord_dr_profttl)
|
||||||
|
// 主任医师-231 副主任医师-232 主诊医师-233 医师-234 医士-235
|
||||||
|
fsiOrderDtos.setDrordDrProfttl("235");
|
||||||
|
//本次处方(医嘱)标记[1=是,0=否]
|
||||||
|
fsiOrderDtos.setCurrDrordFlag("1");
|
||||||
|
fsiOrderDtosList.add(fsiOrderDtos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fsiEncounterDtos.setFsiOrderDtos(fsiOrderDtosList);
|
||||||
|
|
||||||
|
// 计算fsiOrderDtosList中所有元素的sumamt的总和
|
||||||
|
BigDecimal sumamt = fsiOrderDtosList.stream().map(FsiOrderDtos::getSumamt).reduce(BigDecimal::add).get();
|
||||||
|
|
||||||
|
fsiEncounterDtos.setMatnStas("0");
|
||||||
|
fsiEncounterDtos.setMedfeeSumamt(sumamt);
|
||||||
|
fsiEncounterDtos.setOwnpayAmt(sumamt);
|
||||||
|
fsiEncounterDtos.setSelfpayAmt(sumamt);
|
||||||
|
fsiEncounterDtos.setAcctPayamt(sumamt);
|
||||||
|
fsiEncounterDtos.setMaAmt(new BigDecimal("0"));
|
||||||
|
fsiEncounterDtos.setHifpPayamt(new BigDecimal("0"));
|
||||||
|
fsiEncounterDtos.setSetlTotlnum(1);
|
||||||
|
//在 social_user data字段中找
|
||||||
|
fsiEncounterDtos.setInsutype(patientRegistration.getInsutype());
|
||||||
|
//报销标志
|
||||||
|
fsiEncounterDtos.setReimFlag("1");
|
||||||
|
fsiEncounterDtos.setOutSetlFlag("0");
|
||||||
|
|
||||||
|
// socialRequest.call3101(im3101);
|
||||||
|
return im3101.buildToMap();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -124,6 +124,7 @@ public class DiagnosisService extends BaseService {
|
||||||
}
|
}
|
||||||
PatientRegistration updateRegis = new PatientRegistration();
|
PatientRegistration updateRegis = new PatientRegistration();
|
||||||
updateRegis.setId(dbRegis.getId());
|
updateRegis.setId(dbRegis.getId());
|
||||||
|
updateRegis.setUpdateDatetime(LocalDateTime.now());
|
||||||
updateRegis.setStatus(RegistrationStatusEnum.complete.getStatus());
|
updateRegis.setStatus(RegistrationStatusEnum.complete.getStatus());
|
||||||
patientRegistrationMapper.updateById(updateRegis);
|
patientRegistrationMapper.updateById(updateRegis);
|
||||||
//诊断主表
|
//诊断主表
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,8 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -79,6 +81,20 @@ public class PatientRegistrationService extends BaseService {
|
||||||
throw new MessageException("证件号码不能为空");
|
throw new MessageException("证件号码不能为空");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LocalDateTime appointmentTime=null;
|
||||||
|
if(registrationParam.getAppointmentTime()!=null &&!registrationParam.getAppointmentTime().isEmpty()){
|
||||||
|
try{
|
||||||
|
appointmentTime = LocalDateTime.parse(registrationParam.getAppointmentTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));
|
||||||
|
}
|
||||||
|
catch (Exception e){
|
||||||
|
appointmentTime=LocalDateTime.now();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if(appointmentTime==null||appointmentTime.isBefore(LocalDateTime.now())){
|
||||||
|
appointmentTime=LocalDateTime.now();
|
||||||
|
}
|
||||||
|
|
||||||
LocalDateTime now = LocalDateTime.now();
|
LocalDateTime now = LocalDateTime.now();
|
||||||
String fstNo = StringUtil.getCode("FSN");
|
String fstNo = StringUtil.getCode("FSN");
|
||||||
|
|
@ -100,7 +116,9 @@ public class PatientRegistrationService extends BaseService {
|
||||||
BeanUtils.copyProperties(registrationParam, registration);
|
BeanUtils.copyProperties(registrationParam, registration);
|
||||||
registration.setFstNo(fstNo);
|
registration.setFstNo(fstNo);
|
||||||
registration.setRegistrationMoney(new BigDecimal("0"));
|
registration.setRegistrationMoney(new BigDecimal("0"));
|
||||||
|
registration.setAppointmentTime(appointmentTime);
|
||||||
registration.setCreateDatetime(now);
|
registration.setCreateDatetime(now);
|
||||||
|
registration.setUpdateDatetime(now);
|
||||||
registration.setStatus(1);
|
registration.setStatus(1);
|
||||||
OrganizationMember docker = organizationMemberMapper.selectById(registration.getOrganizationDoctorId());
|
OrganizationMember docker = organizationMemberMapper.selectById(registration.getOrganizationDoctorId());
|
||||||
if (docker == null){
|
if (docker == null){
|
||||||
|
|
@ -224,40 +242,49 @@ public class PatientRegistrationService extends BaseService {
|
||||||
return registration;
|
return registration;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* 获取所有已删除挂号信息
|
|
||||||
* @param id 挂号id
|
|
||||||
*/
|
|
||||||
public List<PatientRegistration> allList() {
|
|
||||||
QueryWrapper<PatientRegistration> queryWrapper = new QueryWrapper<>();
|
|
||||||
queryWrapper.eq("del_flag", 1);
|
|
||||||
List<PatientRegistration> list = patientRegistrationMapper.selectList(queryWrapper);
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 根据查询条件查询挂号信息
|
* 根据查询条件查询挂号信息
|
||||||
* @param query 查询条件
|
* @param query 查询条件
|
||||||
*/
|
*/
|
||||||
public Page<PatientRegistration> getPageByType(RegistrationQuery query) {
|
public Page<PatientRegistration> getListByType(RegistrationQuery query) {
|
||||||
ManagerUser user = getManagerUser();
|
ManagerUser user = getManagerUser();
|
||||||
|
List<PatientRegistration> list=null;
|
||||||
|
//如果状态为1 获取挂号列表
|
||||||
|
if(query.getStatus()==RegistrationStatusEnum.waiting.getStatus()){
|
||||||
|
list = getRegisterList(query, user);
|
||||||
|
}
|
||||||
|
//否则获取患者列表 逻辑相同 但是排序规则不同
|
||||||
|
else{
|
||||||
|
list = getPatientList(query, user);
|
||||||
|
}
|
||||||
|
Page<PatientRegistration> page = new Page<>();
|
||||||
|
page.setList(list);
|
||||||
|
page.setTotal_count(10000);
|
||||||
|
page.setTotal_page(1);
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<PatientRegistration> getPatientList(RegistrationQuery query, ManagerUser user){
|
||||||
|
List<PatientRegistration> list =patientRegistrationMapper.selectList(getPatientQueryWrapper(query, user));;
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
private QueryWrapper getPatientQueryWrapper(RegistrationQuery query, ManagerUser user){
|
||||||
|
QueryWrapper<PatientRegistration> PatientQueryWrapper = new QueryWrapper<>();
|
||||||
ManagerUser dbUser = managerUserMapper.selectById(user.getId());
|
ManagerUser dbUser = managerUserMapper.selectById(user.getId());
|
||||||
OrganizationMember member= null;
|
OrganizationMember member= null;
|
||||||
if (dbUser != null && dbUser.getOrganizationMemberId() != null){
|
if (dbUser != null && dbUser.getOrganizationMemberId() != null){
|
||||||
member = organizationMemberMapper.selectById(dbUser.getOrganizationMemberId());
|
member = organizationMemberMapper.selectById(dbUser.getOrganizationMemberId());
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryWrapper<PatientRegistration> regisQuery = new QueryWrapper<>();
|
PatientQueryWrapper.eq("del_flag", 0);
|
||||||
regisQuery.eq("del_flag", 0);
|
|
||||||
if (member != null && member.getRole() == 1){
|
if (member != null && member.getRole() == 1){
|
||||||
regisQuery.eq("organization_doctor_id", member.getId());
|
PatientQueryWrapper.eq("organization_doctor_id", member.getId());
|
||||||
}
|
|
||||||
if (query.getStatus() != null) {
|
|
||||||
regisQuery.eq("status", query.getStatus());
|
|
||||||
}
|
}
|
||||||
|
PatientQueryWrapper.eq("status", query.getStatus());
|
||||||
if (query.getKeyword() != null) {
|
if (query.getKeyword() != null) {
|
||||||
regisQuery.like("name", query.getKeyword());
|
PatientQueryWrapper.like("name", query.getKeyword());
|
||||||
regisQuery.or().like("phone", query.getKeyword());
|
PatientQueryWrapper.or().like("phone", query.getKeyword());
|
||||||
}
|
}
|
||||||
if (query.getPageNum() == null) {
|
if (query.getPageNum() == null) {
|
||||||
query.setPageNum(1);
|
query.setPageNum(1);
|
||||||
|
|
@ -266,13 +293,73 @@ public class PatientRegistrationService extends BaseService {
|
||||||
query.setPageSize(Constants.DetailPageSize);
|
query.setPageSize(Constants.DetailPageSize);
|
||||||
}
|
}
|
||||||
if (query.getBeginTime() != null) {
|
if (query.getBeginTime() != null) {
|
||||||
regisQuery.ge("appointment_time", query.getBeginTime());
|
PatientQueryWrapper.ge("update_datetime", query.getBeginTime());
|
||||||
}
|
}
|
||||||
if (query.getEndTime() != null) {
|
if (query.getEndTime() != null) {
|
||||||
regisQuery.le("appointment_time", query.getEndTime());
|
PatientQueryWrapper.le("update_datetime", query.getEndTime());
|
||||||
|
}
|
||||||
|
PatientQueryWrapper.orderByDesc("update_datetime");
|
||||||
|
|
||||||
|
return PatientQueryWrapper;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<PatientRegistration> getRegisterList(RegistrationQuery query, ManagerUser user){
|
||||||
|
List<PatientRegistration> Beforlist = patientRegistrationMapper.selectList(getRegisterQueryWrapper(query, user,true));
|
||||||
|
List<PatientRegistration> Afterlist = patientRegistrationMapper.selectList(getRegisterQueryWrapper(query, user,false));
|
||||||
|
|
||||||
|
List<PatientRegistration> list = new ArrayList<>();
|
||||||
|
list.addAll(Beforlist);
|
||||||
|
list.addAll(Afterlist);
|
||||||
|
list.forEach((regis)->{
|
||||||
|
LocalDateTime appointmentTime = regis.getAppointmentTime();
|
||||||
|
if (appointmentTime.isBefore(LocalDateTime.now())) {
|
||||||
|
regis.setIsAppointment(false);
|
||||||
|
} else {
|
||||||
|
regis.setIsAppointment(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private QueryWrapper getRegisterQueryWrapper(RegistrationQuery query, ManagerUser user,boolean isBefore){
|
||||||
|
QueryWrapper<PatientRegistration> registerQueryWrapper = new QueryWrapper<>();
|
||||||
|
ManagerUser dbUser = managerUserMapper.selectById(user.getId());
|
||||||
|
OrganizationMember member= null;
|
||||||
|
if (dbUser != null && dbUser.getOrganizationMemberId() != null){
|
||||||
|
member = organizationMemberMapper.selectById(dbUser.getOrganizationMemberId());
|
||||||
}
|
}
|
||||||
|
|
||||||
return pageHelper(query.getPageNum(), query.getPageSize(), regisQuery, patientRegistrationMapper, "appointment_time", false);
|
registerQueryWrapper.eq("del_flag", 0);
|
||||||
|
if (member != null && member.getRole() == 1){
|
||||||
|
registerQueryWrapper.eq("organization_doctor_id", member.getId());
|
||||||
|
}
|
||||||
|
registerQueryWrapper.eq("status", query.getStatus());
|
||||||
|
if (query.getKeyword() != null) {
|
||||||
|
registerQueryWrapper.like("name", query.getKeyword());
|
||||||
|
registerQueryWrapper.or().like("phone", query.getKeyword());
|
||||||
|
}
|
||||||
|
if (query.getPageNum() == null) {
|
||||||
|
query.setPageNum(1);
|
||||||
|
}
|
||||||
|
if (query.getPageSize() == null) {
|
||||||
|
query.setPageSize(Constants.DetailPageSize);
|
||||||
|
}
|
||||||
|
if (query.getBeginTime() != null) {
|
||||||
|
registerQueryWrapper.ge("appointment_time", query.getBeginTime());
|
||||||
|
}
|
||||||
|
if (query.getEndTime() != null) {
|
||||||
|
registerQueryWrapper.le("appointment_time", query.getEndTime());
|
||||||
|
}
|
||||||
|
if(isBefore){
|
||||||
|
registerQueryWrapper.le("appointment_time", LocalDateTime.now());
|
||||||
|
registerQueryWrapper.orderByDesc("appointment_time");
|
||||||
|
}else{
|
||||||
|
registerQueryWrapper.ge("appointment_time", LocalDateTime.now());
|
||||||
|
registerQueryWrapper.orderByAsc("appointment_time");
|
||||||
|
}
|
||||||
|
return registerQueryWrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -305,6 +392,7 @@ public class PatientRegistrationService extends BaseService {
|
||||||
|
|
||||||
|
|
||||||
public void updateById(PatientRegistration registration) {
|
public void updateById(PatientRegistration registration) {
|
||||||
|
registration.setUpdateDatetime(LocalDateTime.now());
|
||||||
patientRegistrationMapper.updateById(registration);
|
patientRegistrationMapper.updateById(registration);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -369,6 +457,7 @@ public class PatientRegistrationService extends BaseService {
|
||||||
PatientRegistration updateRegistration = new PatientRegistration();
|
PatientRegistration updateRegistration = new PatientRegistration();
|
||||||
updateRegistration.setId(regisId);
|
updateRegistration.setId(regisId);
|
||||||
updateRegistration.setStatus(status);
|
updateRegistration.setStatus(status);
|
||||||
|
updateRegistration.setUpdateDatetime(LocalDateTime.now());
|
||||||
patientRegistrationMapper.updateById(updateRegistration);
|
patientRegistrationMapper.updateById(updateRegistration);
|
||||||
return patientRegistrationMapper.selectById(regisId);
|
return patientRegistrationMapper.selectById(regisId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -190,7 +190,7 @@ public class StatisticsService extends BaseService {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public TipCountVo getWaitCount(LocalDateTime beginTime, LocalDateTime endTime) {
|
public TipCountVo getTipCount(LocalDateTime beginTime, LocalDateTime endTime) {
|
||||||
ManagerUser user = getManagerUser();
|
ManagerUser user = getManagerUser();
|
||||||
ManagerUser dbUser = managerUserMapper.selectById(user.getId());
|
ManagerUser dbUser = managerUserMapper.selectById(user.getId());
|
||||||
OrganizationMember member= null;
|
OrganizationMember member= null;
|
||||||
|
|
@ -202,8 +202,8 @@ public class StatisticsService extends BaseService {
|
||||||
TipCountVo tipCountVo = new TipCountVo();
|
TipCountVo tipCountVo = new TipCountVo();
|
||||||
RegistrationStatusEnum registrationStatusEnum = RegistrationStatusEnum.waiting;
|
RegistrationStatusEnum registrationStatusEnum = RegistrationStatusEnum.waiting;
|
||||||
QueryWrapper<PatientRegistration> registrationWrapper = new QueryWrapper<>();
|
QueryWrapper<PatientRegistration> registrationWrapper = new QueryWrapper<>();
|
||||||
registrationWrapper.lt("create_datetime", endTime);
|
registrationWrapper.lt("appointment_time", endTime);
|
||||||
registrationWrapper.ge("create_datetime", beginTime);
|
registrationWrapper.ge("appointment_time", beginTime);
|
||||||
registrationWrapper.eq("status", registrationStatusEnum.getStatus());
|
registrationWrapper.eq("status", registrationStatusEnum.getStatus());
|
||||||
registrationWrapper.eq("del_flag",0);
|
registrationWrapper.eq("del_flag",0);
|
||||||
if (member != null && member.getRole() == 1){
|
if (member != null && member.getRole() == 1){
|
||||||
|
|
@ -213,8 +213,8 @@ public class StatisticsService extends BaseService {
|
||||||
|
|
||||||
registrationStatusEnum = RegistrationStatusEnum.inProgress;
|
registrationStatusEnum = RegistrationStatusEnum.inProgress;
|
||||||
registrationWrapper = new QueryWrapper<>();
|
registrationWrapper = new QueryWrapper<>();
|
||||||
registrationWrapper.lt("create_datetime", endTime);
|
registrationWrapper.lt("update_datetime", endTime);
|
||||||
registrationWrapper.ge("create_datetime", beginTime);
|
registrationWrapper.ge("update_datetime", beginTime);
|
||||||
registrationWrapper.eq("status", registrationStatusEnum.getStatus());
|
registrationWrapper.eq("status", registrationStatusEnum.getStatus());
|
||||||
registrationWrapper.eq("del_flag",0);
|
registrationWrapper.eq("del_flag",0);
|
||||||
if (member != null && member.getRole() == 1){
|
if (member != null && member.getRole() == 1){
|
||||||
|
|
@ -224,8 +224,8 @@ public class StatisticsService extends BaseService {
|
||||||
|
|
||||||
registrationStatusEnum = RegistrationStatusEnum.complete;
|
registrationStatusEnum = RegistrationStatusEnum.complete;
|
||||||
registrationWrapper = new QueryWrapper<>();
|
registrationWrapper = new QueryWrapper<>();
|
||||||
registrationWrapper.lt("create_datetime", endTime);
|
registrationWrapper.lt("update_datetime", endTime);
|
||||||
registrationWrapper.ge("create_datetime", beginTime);
|
registrationWrapper.ge("update_datetime", beginTime);
|
||||||
registrationWrapper.eq("status", registrationStatusEnum.getStatus());
|
registrationWrapper.eq("status", registrationStatusEnum.getStatus());
|
||||||
registrationWrapper.eq("del_flag",0);
|
registrationWrapper.eq("del_flag",0);
|
||||||
if (member != null && member.getRole() == 1){
|
if (member != null && member.getRole() == 1){
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue