提交 33a5d0c7 authored 作者: luzhangjian's avatar luzhangjian

feat:综管订单列表

上级 378b5a85
package com.ebaiyihui.family.doctor.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 管理端订单列表入参
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class OrderListReqDTO extends PageDTO {
@ApiModelProperty("搜索参数")
private String keyWord;
@ApiModelProperty("医院code")
private String appCode;
@ApiModelProperty("订单状态")
private String orderStatus;
@ApiModelProperty("科室名称")
private String deptName;
@ApiModelProperty("1订单开始时间/2订单结束时间")
private String timeType;
@ApiModelProperty("开始时间")
private String beginTime;
@ApiModelProperty("结束时间")
private String endTime;
}
package com.ebaiyihui.family.doctor.common.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class OrderListResVo {
@ApiModelProperty("主键id")
private Long id;
@ApiModelProperty("签约编号")
private String admId;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("平台code")
private String appCode;
@ApiModelProperty("组织id")
private Long organId;
@ApiModelProperty("组织名称")
private String organName;
@ApiModelProperty("患者id")
private String patientId;
@ApiModelProperty("患者im用户id")
private String patientUserId;
@ApiModelProperty("患者名称")
private String patientName;
@ApiModelProperty("患者手机号码")
private String patientPhone;
@ApiModelProperty("身份证号码")
private String credNo;
@ApiModelProperty("医生id")
private Long doctorId;
@ApiModelProperty("医生名称")
private String doctorName;
@ApiModelProperty("部门id")
private Long deptId;
@ApiModelProperty("部门名称")
private String deptName;
@ApiModelProperty("签约状态1.未签约2.已签约3:已解约")
private Integer signStatus;
@ApiModelProperty("改签状态1、正常2、已改签")
private Integer subStatus;
@ApiModelProperty("业务状态2:进行中3:已完成4:已过期")
private Integer status;
@ApiModelProperty("权益包id")
private String packageOrderId;
@ApiModelProperty("签名结束时间")
private Date signEndTime;
@ApiModelProperty("签约关联id")
private Long signId;
@ApiModelProperty("云his挂号编号")
private String clinicCode;
}
package com.ebaiyihui.family.doctor.common.vo;
import lombok.Data;
import lombok.ToString;
@Data
@ToString
public class QueryOrderTotalVo {
/**
* 总计
*/
private Integer sumOrder;
/**
* 完成订单
*/
private Integer sumCompleted;
/**
* 进行中订单
*/
private Integer sumProcessing;
}
package com.ebaiyihui.family.doctor.server.controller;
import com.ebaiyihui.family.doctor.common.dto.OrderListReqDTO;
import com.ebaiyihui.family.doctor.common.vo.OrderListResVo;
import com.ebaiyihui.family.doctor.server.service.PatientSignService;
import com.ebaiyihui.family.doctor.server.util.PageUtil;
import com.ebaiyihui.framework.response.BaseResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* 问诊订单管理
*/
@Slf4j
@RestController
@RequestMapping("/singOrder")
@Api(tags = "家庭医生订单管理API")
public class OrderManagementController {
@Autowired
private PatientSignService patientSignService;
@ApiOperation("管理端订单列表")
@PostMapping("/v1/orderList")
public BaseResponse<PageUtil<OrderListResVo>> orderList(@RequestBody OrderListReqDTO param) {
return patientSignService.orderList(param);
}
}
package com.ebaiyihui.family.doctor.server.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
@Data
@TableName(value = "patient_medical_record")
public class PatientMedicalRecordEntity {
/**
* 主键
*/
private String id;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 签约id
*/
private String admId;
/**
* 患者id
*/
private String patientId;
/**
* 主述
*/
private String mainSuit;
/**
* 诊断
*/
private String diagnosis;
/**
* 现病史
*/
private String currentHistory;
/**
* 既往史
*/
private String pastHistory;
/**
* 过敏史
*/
private String allergyHistory;
/**
* 其他病史
*/
private String othersHistory;
/**
* 其他
*/
private String remark;
/**
* 病例状态 1生效/0失效
*/
private Integer recordStatus;
}
package com.ebaiyihui.family.doctor.server.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ebaiyihui.family.doctor.server.entity.PatientMedicalRecordEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
@Mapper
public interface PatientMedicalRecordMapper extends BaseMapper<PatientMedicalRecordEntity> {
@Select("select * from patient_medical_record where id = #{id} and record_status = #{status}")
PatientMedicalRecordEntity getByIdAndStatus(String id, int status);
@Select("select * from patient_medical_record where adm_id = #{id} and record_status = 1")
PatientMedicalRecordEntity getByAdmId(String admId);
}
...@@ -2,7 +2,10 @@ package com.ebaiyihui.family.doctor.server.mapper; ...@@ -2,7 +2,10 @@ package com.ebaiyihui.family.doctor.server.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ebaiyihui.family.doctor.common.dto.ImInfoListDocReqDTO; import com.ebaiyihui.family.doctor.common.dto.ImInfoListDocReqDTO;
import com.ebaiyihui.family.doctor.common.dto.OrderListReqDTO;
import com.ebaiyihui.family.doctor.common.vo.ImInfoListResVo; import com.ebaiyihui.family.doctor.common.vo.ImInfoListResVo;
import com.ebaiyihui.family.doctor.common.vo.OrderListResVo;
import com.ebaiyihui.family.doctor.common.vo.QueryOrderTotalVo;
import com.ebaiyihui.family.doctor.server.entity.PatientSignEntity; import com.ebaiyihui.family.doctor.server.entity.PatientSignEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
...@@ -20,4 +23,8 @@ public interface PatientSignMapper extends BaseMapper<PatientSignEntity> { ...@@ -20,4 +23,8 @@ public interface PatientSignMapper extends BaseMapper<PatientSignEntity> {
List<ImInfoListResVo> queryImInfoList(ImInfoListDocReqDTO param); List<ImInfoListResVo> queryImInfoList(ImInfoListDocReqDTO param);
PatientSignEntity queryByAdmId(String admId); PatientSignEntity queryByAdmId(String admId);
List<OrderListResVo> orderList(OrderListReqDTO param);
QueryOrderTotalVo countSumOrder();
} }
package com.ebaiyihui.family.doctor.server.service; package com.ebaiyihui.family.doctor.server.service;
import com.ebaiyihui.family.doctor.common.dto.ImAccountReqDTO; import com.ebaiyihui.family.doctor.common.dto.*;
import com.ebaiyihui.family.doctor.common.dto.ImInfoDetailDocReqDTO; import com.ebaiyihui.family.doctor.common.vo.*;
import com.ebaiyihui.family.doctor.common.dto.ImInfoListDocReqDTO;
import com.ebaiyihui.family.doctor.common.dto.MasterUrlDTO;
import com.ebaiyihui.family.doctor.common.vo.ImAccountVo;
import com.ebaiyihui.family.doctor.common.vo.ImInfoDetailDocResVo;
import com.ebaiyihui.family.doctor.common.vo.ImInfoListResVo;
import com.ebaiyihui.family.doctor.common.vo.ImInfoResVo;
import com.ebaiyihui.family.doctor.server.entity.PatientSignEntity; import com.ebaiyihui.family.doctor.server.entity.PatientSignEntity;
import com.ebaiyihui.family.doctor.server.util.PageUtil; import com.ebaiyihui.family.doctor.server.util.PageUtil;
import com.ebaiyihui.framework.response.BaseResponse; import com.ebaiyihui.framework.response.BaseResponse;
...@@ -53,4 +47,6 @@ public interface PatientSignService { ...@@ -53,4 +47,6 @@ public interface PatientSignService {
int updateById(PatientSignEntity patientSignEntity); int updateById(PatientSignEntity patientSignEntity);
BaseResponse<String> queryMasterUrl(MasterUrlDTO reqVo); BaseResponse<String> queryMasterUrl(MasterUrlDTO reqVo);
BaseResponse<PageUtil<OrderListResVo>> orderList(OrderListReqDTO param);
} }
...@@ -347,6 +347,18 @@ public class PatientSignServiceImpl implements PatientSignService { ...@@ -347,6 +347,18 @@ public class PatientSignServiceImpl implements PatientSignService {
return BaseResponse.success(resulStr); return BaseResponse.success(resulStr);
} }
@Override
public BaseResponse<PageUtil<OrderListResVo>> orderList(OrderListReqDTO param) {
param.setPageNum((param.getPageNum() - 1) * param.getPageSize());
List<OrderListResVo> records = patientSignMapper.orderList(param);
PageUtil<OrderListResVo> pageUtil = new PageUtil<>();
pageUtil.setList(records);
QueryOrderTotalVo totalVo = patientSignMapper.countSumOrder();
pageUtil.setObject(totalVo);
return BaseResponse.success(pageUtil);
}
public ImAccountVo getImAccounts(PatientSignEntity patientSignEntity, String admId, String imAppCode, String doctorId) { public ImAccountVo getImAccounts(PatientSignEntity patientSignEntity, String admId, String imAppCode, String doctorId) {
ImAccountVo admission = new ImAccountVo(); ImAccountVo admission = new ImAccountVo();
......
...@@ -2,6 +2,51 @@ ...@@ -2,6 +2,51 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.ebaiyihui.family.doctor.server.mapper.PatientSignMapper"> <mapper namespace="com.ebaiyihui.family.doctor.server.mapper.PatientSignMapper">
<sql id="Base_Column_List">
id, adm_id, create_time, update_time, app_code, organ_id, organ_name, patient_user_id, patient_id, patient_name,
patient_phone, cred_no, doctor_id, doctor_name,dept_id, dept_name, sign_status, sub_status,
status, package_order_id, sign_end_time, sign_id,clinic_code
</sql>
<select id="countSumOrder" resultType="com.ebaiyihui.family.doctor.common.vo.QueryOrderTotalVo">
SELECT
COUNT(*) AS sumOrder,
SUM(CASE WHEN status = 2 THEN 1 ELSE 0 END) AS sumProcessing,
SUM(CASE WHEN status = 3 THEN 1 ELSE 0 END) AS sumCompleted
FROM
patient_sign;
</select>
<select id="orderList" parameterType="com.ebaiyihui.family.doctor.common.dto.OrderListReqDTO"
resultType="com.ebaiyihui.family.doctor.common.vo.OrderListResVo">
select
<include refid="Base_Column_List"/>
from patient_sign
where 1=1
<if test="keyWord!=null and keyWord!=''">
and patient_name like concat('%',#{keyWord},'%')
or patient_phone like concat('%',#{keyWord},'%')
or id like concat('%',#{keyWord},'%')
</if>
<if test="appCode!=null and appCode!=''">
and app_code = #{appCode}
</if>
<if test="orderStatus!=null and orderStatus!=''">
and status = #{orderStatus}
</if>
<if test="deptName!=null and deptName!=''">
and dept_name like concat('%',#{deptName},'%')
</if>
<if test="timeType!=null and timeType!=''">
<if test="timeType == 1">
and create_time BETWEEN #{startTime} AND #{endTime}
</if>
<if test="timeType == 2">
and sign_end_time BETWEEN #{startTime} AND #{endTime}
</if>
</if>
order by create_time asc
LIMIT #{pageNum}, #{pageSize}
</select>
<select id="queryImInfoList" parameterType="com.ebaiyihui.family.doctor.common.dto.ImInfoListDocReqDTO" <select id="queryImInfoList" parameterType="com.ebaiyihui.family.doctor.common.dto.ImInfoListDocReqDTO"
resultType="com.ebaiyihui.family.doctor.common.vo.ImInfoListResVo"> resultType="com.ebaiyihui.family.doctor.common.vo.ImInfoListResVo">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论