新增了活动申请
This commit is contained in:
parent
d6133afeac
commit
ae6e93bfa7
@ -483,7 +483,6 @@ public class MedicalRecordService {
|
||||
for (DpmsAddForm dpma : dpmas) {
|
||||
LocalDate treatTime = dpma.getTreatTime().toLocalDate();
|
||||
|
||||
|
||||
if (!treatTime.isEqual(targetDate) && !treatTime.isAfter(targetDate)) {
|
||||
return ResponseDTO.userErrorParam("人工肝治疗时间需在2024年10月1日或之后");
|
||||
}
|
||||
|
||||
@ -70,7 +70,7 @@ public class CaseplatformBankService {
|
||||
}
|
||||
|
||||
if (!Objects.equals(expert.getName(), addForm.getIdCardName())){
|
||||
return ResponseDTO.userErrorParam("账户名与银行卡姓名不一致");
|
||||
return ResponseDTO.userErrorParam("登录用户名与银行卡姓名不一致");
|
||||
}
|
||||
|
||||
caseplatformBankEntity.setExpertId(expertId);
|
||||
|
||||
@ -0,0 +1,26 @@
|
||||
package net.lab1024.sa.admin.module.business.caseplatformcase.constant;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import net.lab1024.sa.common.common.enumeration.BaseEnum;
|
||||
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public enum CaseAcAppStatusEnum implements BaseEnum {
|
||||
DEFAULT(1, "审核通过"),
|
||||
BEFORE(2, "审核中"),
|
||||
;
|
||||
|
||||
private final Integer value;
|
||||
|
||||
private final String desc;
|
||||
|
||||
public static CaseAcAppStatusEnum getByVal(int val){
|
||||
for (CaseAcAppStatusEnum type: CaseAcAppStatusEnum.values()){
|
||||
if(type.getValue() == val){
|
||||
return type;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -5,6 +5,7 @@ import io.swagger.annotations.ApiOperation;
|
||||
import net.lab1024.sa.admin.module.app.medicalrecord.domain.MedicalRecordDetailVO;
|
||||
import net.lab1024.sa.admin.module.app.medicalrecord.service.MedicalRecordService;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.form.*;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.vo.CaseplatformAcAppVO;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.vo.CaseplatformCaseDetailVO;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.vo.CaseplatformCaseVO;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.service.CaseplatformCaseService;
|
||||
@ -121,4 +122,16 @@ public class CaseplatformCaseController {
|
||||
public ResponseDTO<String> caseCheckdataImg(@RequestBody @Valid CaseCheckdataImgForm form) {
|
||||
return caseplatformCaseService.caseCheckdataImg(form);
|
||||
}
|
||||
|
||||
@ApiOperation("分页查询-病例活动申请")
|
||||
@PostMapping("/caseplatformCase/activity/queryPage")
|
||||
public ResponseDTO<PageResult<CaseplatformAcAppVO>> CaseplatformAcAppQueryPage(@RequestBody @Valid CaseplatformAcAppQueryForm queryForm) {
|
||||
return caseplatformCaseService.caseplatformAcAppQueryPage(queryForm);
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/caseplatformCase/activity/delete/{id}")
|
||||
public ResponseDTO<String> deleteCaseplatformAcApp(@PathVariable("id") Long id) {
|
||||
return caseplatformCaseService.deleteCaseplatformAcApp(id);
|
||||
}
|
||||
}
|
||||
|
||||
@ -17,10 +17,7 @@ import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.validation.Valid;
|
||||
@ -51,4 +48,9 @@ public class CaseplatformExpertWhiteController {
|
||||
return caseplatformExpertWhiteService.queryPage(queryForm);
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/caseplatformExpertWhite/delete/{id}")
|
||||
public ResponseDTO<String> deleteCaseplatformAcApp(@PathVariable("id") Long id) {
|
||||
return caseplatformExpertWhiteService.delete(id);
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,31 @@
|
||||
package net.lab1024.sa.admin.module.business.caseplatformcase.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.lab1024.sa.admin.module.business.area.domain.vo.ProvVO;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.entity.CaseplatformAcAppEntity;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.form.CaseplatformAcAppQueryForm;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.form.CaseplatformCaseQueryForm;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.vo.CaseplatformAcAppVO;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.vo.CaseplatformCaseVO;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.vo.EasyExcelCaseDetailVO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
@Component
|
||||
public interface CaseplatformAcAppDao extends BaseMapper<CaseplatformAcAppEntity> {
|
||||
|
||||
/**
|
||||
* 分页 查询
|
||||
*
|
||||
* @param page
|
||||
* @param queryForm
|
||||
* @return
|
||||
*/
|
||||
List<CaseplatformAcAppVO> queryPage(Page page, @Param("queryForm") CaseplatformAcAppQueryForm queryForm, @Param("provList")List<ProvVO> provList);
|
||||
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
package net.lab1024.sa.admin.module.business.caseplatformcase.domain.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 活动申请表实体类
|
||||
*/
|
||||
@TableName("`t_caseplatform_activity_application`")
|
||||
@Data
|
||||
public class CaseplatformAcAppEntity {
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 专家id
|
||||
*/
|
||||
@TableField("expert_id")
|
||||
private Long expertId;
|
||||
|
||||
/**
|
||||
* 状态(1:审核通过 2:审核中)
|
||||
*/
|
||||
@TableField("status")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField("create_time")
|
||||
private LocalDateTime createTime;
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
package net.lab1024.sa.admin.module.business.caseplatformcase.domain.form;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.constant.CaseAcAppStatusEnum;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.constant.CaseSettlementEnum;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.constant.CaseStatusEnum;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.constant.CasetypeEnum;
|
||||
import net.lab1024.sa.common.common.domain.PageParam;
|
||||
import net.lab1024.sa.common.common.swagger.ApiModelPropertyEnum;
|
||||
import net.lab1024.sa.common.common.validator.enumeration.CheckEnum;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Data
|
||||
public class CaseplatformAcAppQueryForm extends PageParam{
|
||||
|
||||
@ApiModelProperty(value = "专家姓名")
|
||||
private String expertName;
|
||||
|
||||
@ApiModelProperty(value = "省份")
|
||||
private Long provId;
|
||||
|
||||
@ApiModelProperty(value = "市区")
|
||||
private Long cityId;
|
||||
|
||||
@ApiModelProperty(value = "医院")
|
||||
private String hospitalUuid;
|
||||
|
||||
@ApiModelPropertyEnum(value = CaseAcAppStatusEnum.class, desc = "审核状态")
|
||||
@CheckEnum(value = CaseAcAppStatusEnum.class, message = "审核状态 错误")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "申请时间")
|
||||
private List<LocalDateTime> createTime;
|
||||
}
|
||||
@ -0,0 +1,42 @@
|
||||
package net.lab1024.sa.admin.module.business.caseplatformcase.domain.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.constant.CaseAcAppStatusEnum;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.constant.CaseStatusEnum;
|
||||
import net.lab1024.sa.common.common.swagger.ApiModelPropertyEnum;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
@Data
|
||||
public class CaseplatformAcAppVO {
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "专家id")
|
||||
private Long expertId;
|
||||
|
||||
@ApiModelProperty(value = "专家姓名")
|
||||
private String expertName;
|
||||
|
||||
@ApiModelProperty(value = "专家所在医院")
|
||||
private String expertHospitalName;
|
||||
|
||||
@ApiModelProperty(value = "专家所在省份名称")
|
||||
private String expertProvName;
|
||||
|
||||
@ApiModelProperty(value = "专家所在城市名称")
|
||||
private String expertCityName;
|
||||
|
||||
@ApiModelPropertyEnum(value = CaseAcAppStatusEnum.class, desc = "状态(1:审核通过 2:审核中)")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "已审核通过病例数")
|
||||
private Integer caseNum = 0;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private LocalDateTime createTime;
|
||||
}
|
||||
@ -20,13 +20,11 @@ import net.lab1024.sa.admin.module.app.medicalrecord.domain.MedicalRecordCheckda
|
||||
import net.lab1024.sa.admin.module.app.medicalrecord.domain.MedicalRecordDpmsEntity;
|
||||
import net.lab1024.sa.admin.module.app.medicalrecord.domain.MedicalRecordEntity;
|
||||
import net.lab1024.sa.admin.module.business.area.domain.vo.ProvVO;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.dao.CaseplatformAcAppDao;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.dao.CaseplatformCaseDao;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.entity.CaseplatformCaseEntity;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.form.*;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.vo.CaseplatformCaseDetailVO;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.vo.CaseplatformCaseVO;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.vo.EasyExcelCaseDetailVO;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.vo.ExportExpertCaseExcelVo;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.vo.*;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcaseabstrac.domain.vo.CaseplatformCaseAbstracVO;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcaseabstrac.service.CaseplatformCaseAbstracService;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcasecheckdata.dao.CaseplatformCaseCheckdataDao;
|
||||
@ -100,6 +98,9 @@ public class CaseplatformCaseService {
|
||||
@Autowired
|
||||
private MedicalRecorDao medicalRecorDao;
|
||||
|
||||
@Autowired
|
||||
private CaseplatformAcAppDao caseplatformAcAppDao;
|
||||
|
||||
// 创建 ObjectMapper 实例(建议使用 Spring 注入或静态常量)
|
||||
private static final ObjectMapper objectMapper = new ObjectMapper();
|
||||
|
||||
@ -570,53 +571,33 @@ public class CaseplatformCaseService {
|
||||
}
|
||||
|
||||
/**
|
||||
* 白名单专家导入
|
||||
* 分页查询-病例活动申请
|
||||
*
|
||||
* @param queryForm
|
||||
* @return
|
||||
*/
|
||||
// public void importExperts(MultipartFile file) throws Exception {
|
||||
// ExcelReader reader = ExcelUtil.getReader(file.getInputStream());
|
||||
//
|
||||
// // 不读取表头(跳过第一行),直接读内容(按列索引)
|
||||
// List<List<Object>> rows = reader.read(1, reader.getRowCount());
|
||||
//
|
||||
// for (List<Object> row : rows) {
|
||||
// String name = !row.isEmpty() ? String.valueOf(row.get(0)).trim() : "";// 姓名
|
||||
// String prov = row.size() > 1 ? String.valueOf(row.get(1)).trim() : ""; // 省份
|
||||
// String hospitalName = row.size() > 1 ? String.valueOf(row.get(2)).trim() : ""; // 医院
|
||||
// String department = row.size() > 2 ? String.valueOf(row.get(3)).trim() : ""; // 科室
|
||||
// String title = row.size() > 3 ? String.valueOf(row.get(4)).trim() : ""; // 职称
|
||||
// String mobile = row.size() > 4 ? String.valueOf(row.get(5)).trim() : ""; // 手机号
|
||||
//
|
||||
// // 构造实体类
|
||||
//
|
||||
//
|
||||
// ExpertWhiteEntity expertWhite = new ExpertWhiteEntity();
|
||||
// expertWhite.setName(name);
|
||||
// expertWhite.setProvince(prov);
|
||||
// expertWhite.setHospitalName(hospitalName);
|
||||
// expertWhite.setDepartment(department);
|
||||
// expertWhite.setTitle(title);
|
||||
// expertWhite.setMobile(mobile);
|
||||
//
|
||||
// Map<String, Object> contentMap = new HashMap<>();
|
||||
// contentMap.put("name", name);
|
||||
// contentMap.put("hospital_name", hospitalName);
|
||||
// contentMap.put("department", department);
|
||||
// contentMap.put("title", title);
|
||||
// contentMap.put("mobile", mobile);
|
||||
// expertWhite.setContent(JSON.toJSONString(contentMap));
|
||||
//
|
||||
// // 构造 content 字段(json)
|
||||
//// JSONObject jsonObject = new JSONObject();
|
||||
//// jsonObject.put("name", name);
|
||||
//// jsonObject.put("hospital_name", hospitalName);
|
||||
//// jsonObject.put("aaa", department);
|
||||
//// jsonObject.put("title", title);
|
||||
//// jsonObject.put("mobile", mobile);
|
||||
//
|
||||
//// expertWhite.setContent(JSON.toJSONString(jsonObject));
|
||||
// expertWhite.setCreateTime(LocalDateTime.now());
|
||||
//
|
||||
// expertWhiteDao.insert(expertWhite);
|
||||
// }
|
||||
// }
|
||||
public ResponseDTO<PageResult<CaseplatformAcAppVO>> caseplatformAcAppQueryPage(CaseplatformAcAppQueryForm queryForm) {
|
||||
Page<?> page = SmartPageUtil.convert2PageQuery(queryForm);
|
||||
|
||||
LoginEmployeeDetail requestUser = (LoginEmployeeDetail)SmartRequestUtil.getRequestUser();
|
||||
List<ProvVO> provList = requestUser.getProvList();
|
||||
Long provId = queryForm.getProvId();
|
||||
if(provId != null){
|
||||
boolean match = provList.stream().anyMatch(item -> item.getId().equals(provId));
|
||||
if(!match){
|
||||
return ResponseDTO.ok(SmartPageUtil.emptyResult(page));
|
||||
}
|
||||
}
|
||||
List<CaseplatformAcAppVO> list = caseplatformAcAppDao.queryPage(page, queryForm, provList);
|
||||
PageResult<CaseplatformAcAppVO> pageResult = SmartPageUtil.convert2PageResult(page, list);
|
||||
return ResponseDTO.ok(pageResult);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除-病例活动申请
|
||||
*/
|
||||
public ResponseDTO<String> deleteCaseplatformAcApp(Long id) {
|
||||
caseplatformAcAppDao.deleteById(id);
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
}
|
||||
|
||||
@ -115,4 +115,12 @@ public class CaseplatformExpertWhiteService {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除-医生管理
|
||||
*/
|
||||
public ResponseDTO<String> delete(Long id) {
|
||||
expertWhiteEntityDao.deleteById(id);
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="net.lab1024.sa.admin.module.business.caseplatformcase.dao.CaseplatformAcAppDao">
|
||||
|
||||
<!-- 分页查询 -->
|
||||
<select id="queryPage" resultType="net.lab1024.sa.admin.module.business.caseplatformcase.domain.vo.CaseplatformAcAppVO">
|
||||
SELECT
|
||||
t_caseplatform_activity_application.*,
|
||||
t_caseplatform_expert.name expertName,
|
||||
(select name from t_area where id=t_caseplatform_expert.prov_id) expertProvName,
|
||||
(select name from t_area where id=t_caseplatform_expert.city_id) expertCityName,
|
||||
t_caseplatform_expert.hospital_name expertHospitalName,
|
||||
|
||||
-- 新增字段:统计 status=1 的 case 数量
|
||||
(SELECT COUNT(*) FROM t_caseplatform_case
|
||||
WHERE t_caseplatform_case.expert_id = t_caseplatform_activity_application.expert_id
|
||||
AND t_caseplatform_case.status = 1) AS caseNum
|
||||
|
||||
FROM t_caseplatform_activity_application
|
||||
left join t_caseplatform_expert on t_caseplatform_activity_application.expert_id = t_caseplatform_expert.id
|
||||
<where>
|
||||
<!--name-->
|
||||
<if test="queryForm.expertName != null and queryForm.expertName != ''">
|
||||
AND t_caseplatform_expert.name LIKE CONCAT('%', #{queryForm.expertName}, '%')
|
||||
)
|
||||
</if>
|
||||
<!--0待审核 1审核通过 2审核不通过-->
|
||||
<if test="queryForm.status != null">
|
||||
AND t_caseplatform_activity_application.status = #{queryForm.status}
|
||||
</if>
|
||||
|
||||
<choose>
|
||||
<when test="queryForm.provId != null and queryForm.provId != ''">
|
||||
AND t_caseplatform_expert.prov_id =#{queryForm.provId}
|
||||
</when>
|
||||
<when test="provList != null and provList.size > 0">
|
||||
and
|
||||
t_caseplatform_expert.prov_id
|
||||
in
|
||||
<foreach collection="provList" open="(" close=")" separator="," item="item">
|
||||
#{item.id}
|
||||
</foreach>
|
||||
</when>
|
||||
<otherwise>
|
||||
and 1=2
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="queryForm.cityId != null and queryForm.cityId != ''">
|
||||
AND t_caseplatform_expert.city_id =#{queryForm.cityId}
|
||||
</if>
|
||||
<if test="queryForm.hospitalUuid != null and queryForm.hospitalUuid != ''">
|
||||
AND t_caseplatform_expert.hospital_uuid =#{queryForm.hospitalUuid}
|
||||
</if>
|
||||
<if test="queryForm.createTime != null and queryForm.createTime.size == 2">
|
||||
AND t_caseplatform_activity_application.create_time BETWEEN #{queryForm.createTime[0]} AND #{queryForm.createTime[1]}
|
||||
</if>
|
||||
</where>
|
||||
order by t_caseplatform_activity_application.create_time desc
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
Loading…
x
Reference in New Issue
Block a user