添加 家医用户同步小程序科室人员信息 接口;

This commit is contained in:
mengkuiliang 2023-10-20 17:08:31 +08:00
parent 1379142381
commit e83666f45a
14 changed files with 437 additions and 71 deletions

View File

@ -1,9 +1,11 @@
package com.xinelu.web.controller.fd; package com.xinelu.web.controller.fd;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.xinelu.common.core.domain.R; import com.xinelu.common.core.domain.R;
import com.xinelu.familydoctor.applet.pojo.body.ApprovalBody; import com.xinelu.familydoctor.applet.pojo.body.ApprovalBody;
import com.xinelu.familydoctor.applet.pojo.body.SyncHospitalPersonInfoBody;
import com.xinelu.familydoctor.applet.pojo.query.ApplyQuery; import com.xinelu.familydoctor.applet.pojo.query.ApplyQuery;
import com.xinelu.familydoctor.applet.pojo.vo.ResidentRescindApplyVo; import com.xinelu.familydoctor.applet.pojo.vo.ResidentRescindApplyVo;
import com.xinelu.familydoctor.applet.pojo.vo.ResidentServiceApplyVo; import com.xinelu.familydoctor.applet.pojo.vo.ResidentServiceApplyVo;
@ -11,11 +13,16 @@ import com.xinelu.familydoctor.applet.pojo.vo.ResidentSignApplyVo;
import com.xinelu.familydoctor.applet.service.IResidentRescindApplyService; import com.xinelu.familydoctor.applet.service.IResidentRescindApplyService;
import com.xinelu.familydoctor.applet.service.IResidentServiceAppletService; import com.xinelu.familydoctor.applet.service.IResidentServiceAppletService;
import com.xinelu.familydoctor.applet.service.IResidentSignAppletService; import com.xinelu.familydoctor.applet.service.IResidentSignAppletService;
import com.xinelu.manage.domain.hospitalinfo.HospitalInfo;
import com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo;
import com.xinelu.manage.service.hospitalinfo.IHospitalInfoService;
import com.xinelu.manage.service.hospitalpersoninfo.IHospitalPersonInfoService;
import com.xinelu.manage.service.patientinfo.IPatientInfoService; import com.xinelu.manage.service.patientinfo.IPatientInfoService;
import com.xinelu.manage.vo.patientinfo.PatientInfoVO; import com.xinelu.manage.vo.patientinfo.PatientInfoVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -31,8 +38,12 @@ public class FDController {
private IResidentSignAppletService residentSignAppletService; private IResidentSignAppletService residentSignAppletService;
@Resource @Resource
private IResidentServiceAppletService residentServiceAppletService; private IResidentServiceAppletService residentServiceAppletService;
@Resource @Resource
private IPatientInfoService patientInfoService; private IPatientInfoService patientInfoService;
@Resource
private IHospitalPersonInfoService hospitalPersonInfoService;
@Resource
private IHospitalInfoService hospitalInfoService;
@ApiOperation("服务申请列表") @ApiOperation("服务申请列表")
@PostMapping("/performanceBooking/list") @PostMapping("/performanceBooking/list")
@ -40,6 +51,7 @@ public class FDController {
PageHelper.startPage(query.getPageNum(), query.getPageSize()); PageHelper.startPage(query.getPageNum(), query.getPageSize());
return R.ok(PageInfo.of(residentServiceAppletService.findList(query))); return R.ok(PageInfo.of(residentServiceAppletService.findList(query)));
} }
@ApiOperation("服务申请详情") @ApiOperation("服务申请详情")
@GetMapping("/performanceBooking/detail/{bookingNo}") @GetMapping("/performanceBooking/detail/{bookingNo}")
public R<ResidentServiceApplyVo> performanceBookingDetail(@PathVariable String bookingNo) { public R<ResidentServiceApplyVo> performanceBookingDetail(@PathVariable String bookingNo) {
@ -66,13 +78,14 @@ public class FDController {
@ApiOperation("解约申请列表") @ApiOperation("解约申请列表")
@PostMapping("/rescindApply/list") @PostMapping("/rescindApply/list")
public R<PageInfo<ResidentRescindApplyVo>> rescindApplyList(@RequestBody ApplyQuery query) { public R<PageInfo<ResidentRescindApplyVo>> rescindApplyList(@RequestBody ApplyQuery query) {
if(StringUtils.isBlank(query.getUserNo())) { if (StringUtils.isBlank(query.getUserNo())) {
return R.fail("医生编号不能为空"); return R.fail("医生编号不能为空");
} }
PageHelper.startPage(query.getPageNum(), query.getPageSize()); PageHelper.startPage(query.getPageNum(), query.getPageSize());
query.setBookingStatus("0"); query.setBookingStatus("0");
return R.ok(PageInfo.of(residentRescindApplyService.findList(query))); return R.ok(PageInfo.of(residentRescindApplyService.findList(query)));
} }
@ApiOperation("解约申请详情") @ApiOperation("解约申请详情")
@GetMapping("/rescindApply/detail/{applyNo}") @GetMapping("/rescindApply/detail/{applyNo}")
public R<ResidentRescindApplyVo> rescindApplyDetail(@PathVariable String applyNo) { public R<ResidentRescindApplyVo> rescindApplyDetail(@PathVariable String applyNo) {
@ -92,7 +105,7 @@ public class FDController {
@ApiOperation("签约申请列表") @ApiOperation("签约申请列表")
@PostMapping("/signBooking/list") @PostMapping("/signBooking/list")
public R<PageInfo<ResidentSignApplyVo>> signBookingList(@RequestBody ApplyQuery query) { public R<PageInfo<ResidentSignApplyVo>> signBookingList(@RequestBody ApplyQuery query) {
if(StringUtils.isBlank(query.getUserNo())) { if (StringUtils.isBlank(query.getUserNo())) {
return R.fail("医生编号不能为空"); return R.fail("医生编号不能为空");
} }
PageHelper.startPage(query.getPageNum(), query.getPageSize()); PageHelper.startPage(query.getPageNum(), query.getPageSize());
@ -116,15 +129,67 @@ public class FDController {
return R.ok(); return R.ok();
} }
@ApiOperation("根据签约主键查询绑定编号") @ApiOperation("根据签约主键查询绑定编号")
@GetMapping("/signBooking/getBySignNo/{cardNo}") @GetMapping("/signBooking/getBySignNo/{cardNo}")
public R<JSONObject> getBySignNo(@PathVariable String cardNo) { public R<JSONObject> getBySignNo(@PathVariable String cardNo) {
JSONObject retObj = new JSONObject(); JSONObject retObj = new JSONObject();
PatientInfoVO patientInfo = patientInfoService.selectPatientInfoByCardNo(cardNo); PatientInfoVO patientInfo = patientInfoService.selectPatientInfoByCardNo(cardNo);
if (patientInfo != null) { if (patientInfo != null) {
retObj.fluentPut("bindingNo", patientInfo.getPatientCode()) retObj.fluentPut("bindingNo", patientInfo.getPatientCode())
.fluentPut("openid", patientInfo.getOpenid()); .fluentPut("openid", patientInfo.getOpenid());
} }
return R.ok(retObj); return R.ok(retObj);
} }
@ApiOperation("家医医生同步科室人员信息")
@PostMapping("/synHospatialPersonInfo")
public R<?> synHospatialPersonInfo(@RequestBody SyncHospitalPersonInfoBody body) {
if (body == null) {
return R.fail("请求参数不能为空");
}
if (StringUtils.isBlank(body.getPersonCode())) {
return R.fail("科室人员编号不能为空");
}
if (StringUtils.isBlank(body.getOrgCode())) {
return R.fail("家医机构编号不能为空");
}
// 判断是否已存在
HospitalPersonInfo hospitalPersonInfo = hospitalPersonInfoService.getByPersonCode(body.getPersonCode(), body.getStatus());
// 根据家医机构查询医院信息
HospitalInfo hospital = hospitalInfoService.getHosptalByOrgCode(body.getOrgCode());
// 新增
if (hospitalPersonInfo == null) {
hospitalPersonInfo = new HospitalPersonInfo();
BeanUtils.copyProperties(body, hospitalPersonInfo);
hospitalPersonInfo.setCreateBy(body.getPersonCode());
hospitalPersonInfo.setStatus("1");
if (hospital != null) {
hospitalPersonInfo.setHospitalId(hospital.getId());
}
hospitalPersonInfoService.insert(hospitalPersonInfo);
// 修改
} else {
if (!String.valueOf(hospitalPersonInfo.getPersonAccount()).equals(String.valueOf(body.getPersonAccount()))
|| !String.valueOf(hospitalPersonInfo.getPersonPhone()).equals(String.valueOf(body.getPersonPhone()))
|| !String.valueOf(hospitalPersonInfo.getPersonName()).equals(String.valueOf(body.getPersonName()))
|| !String.valueOf(hospitalPersonInfo.getPersonIntroduce()).equals(String.valueOf(body.getPersonIntroduce()))
|| !String.valueOf(hospitalPersonInfo.getCardNo()).equals(String.valueOf(body.getCardNo()))
) {
hospitalPersonInfo.setPersonName(body.getPersonName());
hospitalPersonInfo.setPersonPhone(body.getPersonPhone());
hospitalPersonInfo.setPersonAddress(body.getPersonAddress());
hospitalPersonInfo.setPersonAccount(body.getPersonAccount());
hospitalPersonInfo.setPersonIntroduce(body.getPersonIntroduce());
hospitalPersonInfo.setCardNo(body.getCardNo());
if (hospital != null) {
hospitalPersonInfo.setHospitalId(hospital.getId());
}
hospitalPersonInfo.setUpdateBy(body.getPersonCode());
hospitalPersonInfoService.updateByPersonCode(hospitalPersonInfo);
}
}
return R.ok();
}
} }

View File

@ -0,0 +1,115 @@
package com.xinelu.familydoctor.applet.pojo.body;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Author mengkuiliang
* @Description 同步科室人员信息请求对象
* @Date 2023-10-20 020 14:18
* @Param
* @return
**/
@Data
@ApiModel(value = "同步科室人员信息请求对象")
public class SyncHospitalPersonInfoBody {
/**
* 所属医院id
*/
@ApiModelProperty(value = "所属医院id")
private Long hospitalId;
/**
* 所属部门id
*/
@ApiModelProperty(value = "所属部门id")
private Long departmentId;
/**
* 科室人员编码
*/
@ApiModelProperty(value = "科室人员编码")
private String personCode;
/**
* 科室人员名称
*/
@ApiModelProperty(value = "科室人员名称")
private String personName;
/**
* 科室人员联系电话
*/
@ApiModelProperty(value = "科室人员联系电话")
private String personPhone;
/**
* 科室人员地址
*/
@ApiModelProperty(value = "科室人员地址")
private String personAddress;
/**
* 身份证号
*/
@ApiModelProperty(value = "身份证号")
private String cardNo;
/**
* 人员职称主任医师CHIEF_PHYSICIAN副主任医师DEPUTY_CHIEF_PHYSICIAN主治医师ATTENDING_DOCTOR医师PHYSICIAN医士HEALER住院医师RESIDENT_PHYSICIAN
*/
@ApiModelProperty(value = "人员职称主任医师CHIEF_PHYSICIAN副主任医师DEPUTY_CHIEF_PHYSICIAN主治医师ATTENDING_DOCTOR医师PHYSICIAN医士HEALER住院医师RESIDENT_PHYSICIAN")
private String academicTitle;
/**
* 咨询费用
*/
@ApiModelProperty(value = "咨询费用")
private BigDecimal consultingFee;
/**
* 个人简介
*/
@ApiModelProperty(value = "个人简介")
private String personIntroduce;
/**
* 显示顺序
*/
@ApiModelProperty(value = "显示顺序")
private Integer personSort;
/**
* 科室人员头像地址
*/
@ApiModelProperty(value = "科室人员头像地址")
private String personPictureUrl;
/**
* 科室人员账号
*/
@ApiModelProperty(value = "科室人员账号")
private String personAccount;
/**
* 科室人员密码
*/
@ApiModelProperty(value = "科室人员密码")
private String personPassword;
/**
*1家医医生 2泉医医生 3专病医生
*/
@ApiModelProperty(value = "1家医医生 2泉医医生 3专病医生")
private String status;
/**
*1家医机构编号
*/
@ApiModelProperty(value = "家医机构编号")
private String orgCode;
}

View File

@ -149,10 +149,10 @@ public class DoctorDetailVo {
private String phOrgId; private String phOrgId;
/** /**
* 公卫机构编号 * 家医机构编号
*/ */
@ApiModelProperty("公卫机构编号") @ApiModelProperty("家医机构编号")
private String phOrgCode; private String orgCode;
/** /**
* 个人简介 * 个人简介

View File

@ -59,10 +59,10 @@ public class OrgDetailVo {
private String phOrgId; private String phOrgId;
/** /**
* 公卫机构编码 * 家医机构编码
*/ */
@ApiModelProperty("公卫机构编码") @ApiModelProperty("家医机构编码")
private String phOrgCode; private String orgCode;
/** /**
* 机构类型0卫健委1卫健局2医院3乡镇卫生院4街道卫生服务中心5社区服务站6村卫生室 * 机构类型0卫健委1卫健局2医院3乡镇卫生院4街道卫生服务中心5社区服务站6村卫生室

View File

@ -3,6 +3,7 @@ package com.xinelu.familydoctor.applet.service;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.xinelu.familydoctor.applet.pojo.body.ApprovalBody; import com.xinelu.familydoctor.applet.pojo.body.ApprovalBody;
import com.xinelu.familydoctor.applet.pojo.body.ResidentSignApplyBody; import com.xinelu.familydoctor.applet.pojo.body.ResidentSignApplyBody;
import com.xinelu.familydoctor.applet.pojo.body.SyncHospitalPersonInfoBody;
import com.xinelu.familydoctor.applet.pojo.query.ApplyQuery; import com.xinelu.familydoctor.applet.pojo.query.ApplyQuery;
import com.xinelu.familydoctor.applet.pojo.vo.ResidentSignApplyVo; import com.xinelu.familydoctor.applet.pojo.vo.ResidentSignApplyVo;

View File

@ -275,7 +275,7 @@ public class ResidentServiceApplyServiceImpl implements IResidentServiceAppletSe
if (signInfo == null) { if (signInfo == null) {
throw new ServiceException("未查询到签约信息!"); throw new ServiceException("未查询到签约信息!");
} }
// 获取家医个性服务包 // 1获取家医个性服务包
result = (String) httpService.get(SpringUtils.getFdUrl(region) + "/package/getPackageOfGX/" + identity + (!StringUtils.isBlank(projectName) ? ("?formName=" + projectName) : "?formName=null"), null, String.class); result = (String) httpService.get(SpringUtils.getFdUrl(region) + "/package/getPackageOfGX/" + identity + (!StringUtils.isBlank(projectName) ? ("?formName=" + projectName) : "?formName=null"), null, String.class);
jsonObject = JSONObject.parseObject(result); jsonObject = JSONObject.parseObject(result);
if (!"1".equals(jsonObject.get("code"))) { if (!"1".equals(jsonObject.get("code"))) {
@ -307,41 +307,31 @@ public class ResidentServiceApplyServiceImpl implements IResidentServiceAppletSe
} }
} }
// 获取签约机构下的筛查项目 // 2获取签约机构下的筛查项目
// 获取家医机构详情 // 根据机构编码获取筛查机构
result = (String) httpService.get(SpringUtils.getFdUrl(region) + "/org/getOrgDetail/" + signInfo.getOrgNo(), null, String.class); HospitalInfo Hospital = hospitalInfoService.getHosptalByOrgCode(signInfo.getOrgNo());
jsonObject = JSONObject.parseObject(result); if (Hospital != null) {
if ("1".equals(jsonObject.get("code"))) { // 获取筛查项目
if (jsonObject.containsKey("data") && jsonObject.get("data") != null) { ScreeningProject query = new ScreeningProject();
OrgDetailVo org = JSONObject.parseObject(jsonObject.getJSONObject("data").toJSONString(), OrgDetailVo.class); query.setHospitalId(Hospital.getId());
if (org != null && !StringUtils.isBlank(org.getPhOrgId())) { query.setProjectName(projectName);
// 根据机构编码获取筛查机构 List<ScreeningProject> screeningProjectList = screeningProjectService.findList(query);
HospitalInfo Hospital = hospitalInfoService.getHosptalByOrgCode(org.getPhOrgId()); if (screeningProjectList != null && screeningProjectList.size() > 0) {
if (Hospital != null) { ScreeningProjectVo sp;
// 获取筛查项目 for (ScreeningProject project : screeningProjectList) {
ScreeningProject query = new ScreeningProject(); sp = new ScreeningProjectVo();
query.setHospitalId(Hospital.getId()); sp.setSourceType("2");
query.setProjectName(projectName); sp.setHospitalId(String.valueOf(project.getHospitalId()));
List<ScreeningProject> screeningProjectList = screeningProjectService.findList(query); sp.setHospitalName(project.getHospitalName());
if (screeningProjectList != null && screeningProjectList.size() > 0) { sp.setProjectId(project.getProjectId());
ScreeningProjectVo sp; sp.setProjectName(project.getProjectName());
for (ScreeningProject project : screeningProjectList) { sp.setPrice(project.getPrice());
sp = new ScreeningProjectVo(); sp.setDiscountPrice(project.getDiscountPrice());
sp.setSourceType("2"); projectList.add(sp);
sp.setHospitalId(String.valueOf(project.getHospitalId()));
sp.setHospitalName(project.getHospitalName());
sp.setProjectId(project.getProjectId());
sp.setProjectName(project.getProjectName());
sp.setPrice(project.getPrice());
sp.setDiscountPrice(project.getDiscountPrice());
projectList.add(sp);
}
}
}
} }
} }
} }
return projectList; return projectList;
} }

View File

@ -75,7 +75,7 @@ public class ResidentSignApplyServiceImpl implements IResidentSignAppletService
if (patientInfo == null) { if (patientInfo == null) {
throw new ServiceException("未查询到注册信息"); throw new ServiceException("未查询到注册信息");
} }
if(StringUtils.isBlank(body.getPatientId())) { if (StringUtils.isBlank(body.getPatientId())) {
entity.setPatientId(patientInfo.getPatientCode()); entity.setPatientId(patientInfo.getPatientCode());
} }
@ -85,10 +85,10 @@ public class ResidentSignApplyServiceImpl implements IResidentSignAppletService
// 审批状态0:待批准 1:已同意 2:已拒绝 // 审批状态0:待批准 1:已同意 2:已拒绝
entity.setApprovalStatus("0"); entity.setApprovalStatus("0");
entity.setBookingNo(IdUtils.simpleUUID()); entity.setBookingNo(IdUtils.simpleUUID());
if(StringUtils.isBlank(entity.getNation())) { if (StringUtils.isBlank(entity.getNation())) {
entity.setNation("1"); entity.setNation("1");
} }
if(entity.getSignYears() == null || entity.getSignYears() <= 0) { if (entity.getSignYears() == null || entity.getSignYears() <= 0) {
entity.setSignYears(1); entity.setSignYears(1);
} }
entity.setCrowdsNo(body.getCrowdList().stream().map(CrowdDto::getCrowdNo).collect(Collectors.joining(","))); entity.setCrowdsNo(body.getCrowdList().stream().map(CrowdDto::getCrowdNo).collect(Collectors.joining(",")));

View File

@ -85,6 +85,11 @@ public class HospitalInfo extends BaseDomain implements Serializable {
@NotNull(message = "显示顺序不能为空", groups = {Insert.class, Update.class}) @NotNull(message = "显示顺序不能为空", groups = {Insert.class, Update.class})
private Integer hospitalSort; private Integer hospitalSort;
/**
* 家医机构编号
*/
@ApiModelProperty(value = "家医机构编号")
private String orgCode;
@Override @Override
public String toString() { public String toString() {
@ -100,6 +105,7 @@ public class HospitalInfo extends BaseDomain implements Serializable {
.append("createTime", getCreateTime()) .append("createTime", getCreateTime())
.append("updateBy", getUpdateBy()) .append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime()) .append("updateTime", getUpdateTime())
.append("orgCode", getOrgCode())
.toString(); .toString();
} }
} }

View File

@ -6,10 +6,12 @@ import com.xinelu.common.custominterface.Insert;
import com.xinelu.common.custominterface.Update; import com.xinelu.common.custominterface.Update;
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.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -64,7 +66,7 @@ public class HospitalPersonInfo extends BaseDomain implements Serializable {
*/ */
@ApiModelProperty(value = "科室人员名称") @ApiModelProperty(value = "科室人员名称")
@Excel(name = "科室人员名称") @Excel(name = "科室人员名称")
@NotBlank(message = "科室人员名称不能为空!", groups = { Insert.class, Update.class}) @NotBlank(message = "科室人员名称不能为空!", groups = {Insert.class, Update.class})
@Length(max = 50, message = "科室人员名称不能超过50位", groups = {Insert.class, Update.class}) @Length(max = 50, message = "科室人员名称不能超过50位", groups = {Insert.class, Update.class})
private String personName; private String personName;
@ -128,16 +130,21 @@ public class HospitalPersonInfo extends BaseDomain implements Serializable {
*/ */
private String personPictureUrl; private String personPictureUrl;
/** /**
* 科室人员账号 * 科室人员账号
*/ */
private String personAccount; private String personAccount;
/** /**
* 科室人员密码 * 科室人员密码
*/ */
private String personPassword; private String personPassword;
/**
*1家医医生 2泉医医生 3专病医生
*/
@ApiModelProperty(value = "1家医医生 2泉医医生 3专病医生")
private String status;
@Override @Override
public String toString() { public String toString() {

View File

@ -109,4 +109,22 @@ public interface HospitalPersonInfoMapper {
* @return int * @return int
**/ **/
int selectHospitalPersonInfoByIdCount(Long id); int selectHospitalPersonInfoByIdCount(Long id);
/**
* @Author mengkuiliang
* @Description 根据科室人员编码查询人员信息
* @Date 2023-10-20 020 14:37
* @Param [personCode]
* @return com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo
**/
HospitalPersonInfo getByPersonCode(@Param("personCode") String personCode, @Param("status") String status);
/**
* @Author mengkuiliang
* @Description 根据科室人员编号更新
* @Date 2023-10-20 020 15:03
* @Param [hospitalPersonInfo]
* @return int
**/
int updateByPersonCode(HospitalPersonInfo hospitalPersonInfo);
} }

View File

@ -77,4 +77,31 @@ public interface IHospitalPersonInfoService {
* @return * @return
*/ */
int editHospitalPersonInfo(HospitalPersonInfoDtoo hospitalPersonInfo); int editHospitalPersonInfo(HospitalPersonInfoDtoo hospitalPersonInfo);
/**
* @Author mengkuiliang
* @Description 根据科室人员编码查询人员信息
* @Date 2023-10-20 020 14:34
* @Param
* @return
**/
HospitalPersonInfo getByPersonCode(String personCode, String status);
/**
* @Author mengkuiliang
* @Description 新增
* @Date 2023-10-20 020 14:42
* @Param [body]
* @return void
**/
int insert(HospitalPersonInfo body);
/**
* @Author mengkuiliang
* @Description 根据科室人员编号更新
* @Date 2023-10-20 020 15:02
* @Param [hospitalPersonInfo]
* @return void
**/
int updateByPersonCode(HospitalPersonInfo hospitalPersonInfo);
} }

View File

@ -329,4 +329,41 @@ public class HospitalPersonInfoServiceImpl implements IHospitalPersonInfoService
public int editHospitalPersonInfo(HospitalPersonInfoDtoo hospitalPersonInfo) { public int editHospitalPersonInfo(HospitalPersonInfoDtoo hospitalPersonInfo) {
return hospitalPersonInfoMapper.editHospitalPersonInfo(hospitalPersonInfo); return hospitalPersonInfoMapper.editHospitalPersonInfo(hospitalPersonInfo);
} }
/**
* @Author mengkuiliang
* @Description 根据科室人员编码查询人员信息
* @Date 2023-10-20 020 14:37
* @Param [personCode]
* @return com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo
**/
@Override
public HospitalPersonInfo getByPersonCode(String personCode, String status) {
return hospitalPersonInfoMapper.getByPersonCode(personCode, status);
}
/**
* @Author mengkuiliang
* @Description 新增
* @Date 2023-10-20 020 14:54
* @Param [body]
* @return void
**/
@Override
public int insert(HospitalPersonInfo body) {
return hospitalPersonInfoMapper.insertHospitalPersonInfo(body);
}
/**
* @Author mengkuiliang
* @Description 根据科室人员编号更新
* @Date 2023-10-20 020 15:02
* @Param [hospitalPersonInfo]
* @return int
**/
@Override
public int updateByPersonCode(HospitalPersonInfo hospitalPersonInfo) {
return hospitalPersonInfoMapper.updateByPersonCode(hospitalPersonInfo);
}
} }

View File

@ -16,6 +16,7 @@
<result property="createTime" column="create_time"/> <result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/> <result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/> <result property="updateTime" column="update_time"/>
<result property="orgCode" column="org_code"/>
</resultMap> </resultMap>
<sql id="selectHospitalInfoVo"> <sql id="selectHospitalInfoVo">
@ -29,7 +30,8 @@
create_by, create_by,
create_time, create_time,
update_by, update_by,
update_time update_time,
org_code
from hospital_info from hospital_info
</sql> </sql>
@ -91,6 +93,9 @@
</if> </if>
<if test="updateTime != null">update_time, <if test="updateTime != null">update_time,
</if> </if>
<if test="orgCode != null">
org_code,
</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="hospitalName != null">#{hospitalName}, <if test="hospitalName != null">#{hospitalName},
@ -113,6 +118,9 @@
</if> </if>
<if test="updateTime != null">#{updateTime}, <if test="updateTime != null">#{updateTime},
</if> </if>
<if test="orgCode != null">
#{orgCode},
</if>
</trim> </trim>
</insert> </insert>
@ -149,6 +157,9 @@
<if test="updateTime != null">update_time = <if test="updateTime != null">update_time =
#{updateTime}, #{updateTime},
</if> </if>
<if test="orgCode != null">
org_code = #{orgCode},
</if>
</trim> </trim>
where id = #{id} where id = #{id}
</update> </update>
@ -183,6 +194,6 @@
<!-- 根据家医机构编码查询医院 --> <!-- 根据家医机构编码查询医院 -->
<select id="getHosptalByOrgCode" resultType="com.xinelu.manage.domain.hospitalinfo.HospitalInfo"> <select id="getHosptalByOrgCode" resultType="com.xinelu.manage.domain.hospitalinfo.HospitalInfo">
<include refid="selectHospitalInfoVo"/> <include refid="selectHospitalInfoVo"/>
where ph_org_code = #{orgCode} limit 1 where org_code = #{orgCode} limit 1
</select> </select>
</mapper> </mapper>

View File

@ -24,6 +24,7 @@
<result property="updateTime" column="update_time"/> <result property="updateTime" column="update_time"/>
<result property="personAccount" column="person_account"/> <result property="personAccount" column="person_account"/>
<result property="personPassword" column="person_password"/> <result property="personPassword" column="person_password"/>
<result property="status" column="status"/>
</resultMap> </resultMap>
<resultMap type="com.xinelu.manage.vo.hospitalpersoninfo.HospitalPersonInfoVO" id="HospitalPersonByIdVO"> <resultMap type="com.xinelu.manage.vo.hospitalpersoninfo.HospitalPersonInfoVO" id="HospitalPersonByIdVO">
@ -46,6 +47,7 @@
<result property="updateTime" column="update_time"/> <result property="updateTime" column="update_time"/>
<result property="hospitalName" column="hospital_name"/> <result property="hospitalName" column="hospital_name"/>
<result property="departmentName" column="department_name"/> <result property="departmentName" column="department_name"/>
<result property="status" column="status"/>
<collection property="hospitalPersonCertificateList" javaType="java.util.List" <collection property="hospitalPersonCertificateList" javaType="java.util.List"
resultMap="HospitalPersonInfoById"/> resultMap="HospitalPersonInfoById"/>
</resultMap> </resultMap>
@ -78,7 +80,8 @@
create_by, create_by,
create_time, create_time,
update_by, update_by,
update_time update_time,
status
from hospital_person_info from hospital_person_info
</sql> </sql>
@ -104,7 +107,8 @@
hpi.create_by, hpi.create_by,
hpi.create_time, hpi.create_time,
hpi.update_by, hpi.update_by,
hpi.update_time hpi.update_time,
status
FROM FROM
hospital_person_info hpi hospital_person_info hpi
LEFT JOIN hospital_department_info hdi ON hpi.department_id = hdi.id LEFT JOIN hospital_department_info hdi ON hpi.department_id = hdi.id
@ -142,6 +146,9 @@
<if test="personSort != null "> <if test="personSort != null ">
and hpi.person_sort = #{personSort} and hpi.person_sort = #{personSort}
</if> </if>
<if test="status != null and status != ''">
and hpi.status = #{status}
</if>
</where> </where>
ORDER BY id DESC ORDER BY id DESC
</select> </select>
@ -162,7 +169,8 @@
hpi.create_by, hpi.create_by,
hpi.create_time, hpi.create_time,
hpi.update_by, hpi.update_by,
hpi.update_time hpi.update_time,
status
FROM hospital_person_info hpi FROM hospital_person_info hpi
<where> <where>
<if test="hospitalId != null "> <if test="hospitalId != null ">
@ -180,6 +188,9 @@
<if test="academicTitle != null and academicTitle != ''"> <if test="academicTitle != null and academicTitle != ''">
and hpi.academic_title = #{academicTitle} and hpi.academic_title = #{academicTitle}
</if> </if>
<if test="status != null and status != ''">
and hpi.status = #{status}
</if>
</where> </where>
ORDER BY id DESC ORDER BY id DESC
</select> </select>
@ -205,6 +216,7 @@
hpi.create_time, hpi.create_time,
hpi.update_by, hpi.update_by,
hpi.update_time, hpi.update_time,
hpi.status,
hpc.hospital_person_id, hpc.hospital_person_id,
hpc.certificate_name, hpc.certificate_name,
hpc.certificate_code, hpc.certificate_code,
@ -254,6 +266,9 @@
</if> </if>
<if test="updateTime != null">update_time, <if test="updateTime != null">update_time,
</if> </if>
<if test="status != null">
status,
</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="hospitalId != null">#{hospitalId}, <if test="hospitalId != null">#{hospitalId},
@ -290,6 +305,9 @@
</if> </if>
<if test="updateTime != null">#{updateTime}, <if test="updateTime != null">#{updateTime},
</if> </if>
<if test="status != null">
#{status},
</if>
</trim> </trim>
</insert> </insert>
@ -346,6 +364,9 @@
<if test="updateTime != null">update_time = <if test="updateTime != null">update_time =
#{updateTime}, #{updateTime},
</if> </if>
<if test="status != null">
status = #{status},
</if>
</trim> </trim>
where id = #{id} where id = #{id}
</update> </update>
@ -403,6 +424,9 @@
<if test="updateTime != null">update_time = <if test="updateTime != null">update_time =
#{updateTime}, #{updateTime},
</if> </if>
<if test="status != null">
status = #{status},
</if>
</trim> </trim>
where id = #{id} where id = #{id}
</update> </update>
@ -452,7 +476,8 @@
create_by, create_by,
create_time, create_time,
update_by, update_by,
update_time update_time,
status
from hospital_person_info from hospital_person_info
<where> <where>
<if test="hospitalPersonIdsList != null and hospitalPersonIdsList.size()>0 "> <if test="hospitalPersonIdsList != null and hospitalPersonIdsList.size()>0 ">
@ -489,4 +514,68 @@
</if> </if>
</where> </where>
</select> </select>
<!-- 根据科室人员编码查询人员信息 -->
<select id="getByPersonCode" resultType="com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo">
<include refid="selectHospitalPersonInfoVo"></include>
where person_code = #{personCode}
<if test="status != null and status != ''">
and status = #{status}
</if>
limit 1
</select>
<!-- 根据科室人员编号更新 -->
<update id="updateByPersonCode" parameterType="com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo">
update hospital_person_info
<trim prefix="SET" suffixOverrides=",">
<if test="hospitalId != null">hospital_id =
#{hospitalId},
</if>
<if test="departmentId != null">department_id =
#{departmentId},
</if>
<if test="personName != null">person_name =
#{personName},
</if>
<if test="personPhone != null">
person_phone = #{personPhone},
</if>
<if test="personAddress != null">person_address =
#{personAddress},
</if>
<if test="cardNo != null">
card_no = #{cardNo},
</if>
<if test="academicTitle != null">academic_title =
#{academicTitle},
</if>
<if test="consultingFee != null">consulting_fee =
#{consultingFee},
</if>
<if test="personIntroduce != null">person_introduce =
#{personIntroduce},
</if>
<if test="personSort != null">person_sort =
#{personSort},
</if>
<if test="personPictureUrl != null">person_picture_url =
#{personPictureUrl},
</if>
<if test="personAccount != null">person_account =
#{personAccount},
</if>
<if test="personPassword != null">person_password =
#{personPassword},
</if>
<if test="updateBy != null">update_by =
#{updateBy},
</if>
<if test="status != null">
status = #{status},
</if>
update_time = now(),
</trim>
where person_code = #{personCode}
</update>
</mapper> </mapper>