This commit is contained in:
LiJianZhao 2025-04-30 10:12:43 +08:00
parent 8447c5c0c0
commit 9ac8ef0eee
11 changed files with 123 additions and 13 deletions

View File

@ -4,8 +4,11 @@ import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.common.vo.Page; import com.syjiaer.clinic.server.common.vo.Page;
import com.syjiaer.clinic.server.common.vo.Result; import com.syjiaer.clinic.server.common.vo.Result;
import com.syjiaer.clinic.server.controller.BaseController; import com.syjiaer.clinic.server.controller.BaseController;
import com.syjiaer.clinic.server.entity.charge.dto.ChargeQuery;
import com.syjiaer.clinic.server.entity.organization.OrganizationMember; import com.syjiaer.clinic.server.entity.organization.OrganizationMember;
import com.syjiaer.clinic.server.entity.organization.dto.DockerSearchQuery;
import com.syjiaer.clinic.server.entity.organization.dto.OrganizationMemberSaveDto; import com.syjiaer.clinic.server.entity.organization.dto.OrganizationMemberSaveDto;
import com.syjiaer.clinic.server.entity.organization.vo.MemberVo;
import com.syjiaer.clinic.server.service.organization.OrganizationMemberService; import com.syjiaer.clinic.server.service.organization.OrganizationMemberService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@ -56,8 +59,9 @@ public class OrganizationMemberController extends BaseController {
return success(organizationMemberService.get(id)); return success(organizationMemberService.get(id));
} }
@RequestMapping("/allDoctorList") @RequestMapping("/search")
public Result<List<OrganizationMember>> allDoctorList() { public Result<List<MemberVo>> allDoctorList() {
return success(organizationMemberService.doctorList()); DockerSearchQuery dockerSearchQuery = parmsUtil.getObject("query", DockerSearchQuery.class);
return success(organizationMemberService.doctorList(dockerSearchQuery));
} }
} }

View File

@ -7,5 +7,6 @@ public class ChargeQuery {
private String patientName; private String patientName;
private Integer pageNum; private Integer pageNum;
private Integer pageSize; private Integer pageSize;
private Integer patientId;
} }

View File

@ -1,5 +1,6 @@
package com.syjiaer.clinic.server.entity.charge.vo; package com.syjiaer.clinic.server.entity.charge.vo;
import com.syjiaer.clinic.server.entity.charge.ChargeGoodsList;
import com.syjiaer.clinic.server.entity.charge.ChargeItemList; import com.syjiaer.clinic.server.entity.charge.ChargeItemList;
import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalRecord; import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalRecord;
import com.syjiaer.clinic.server.entity.patient.PatientInfo; import com.syjiaer.clinic.server.entity.patient.PatientInfo;
@ -60,6 +61,6 @@ public class ChargeDetailVo {
@ApiModelProperty("诊疗服务") @ApiModelProperty("诊疗服务")
private List<ChargeItemList> serviceDetail; private List<ChargeItemList> serviceDetail;
@ApiModelProperty("药品耗材") @ApiModelProperty("药品耗材")
private List<ChargeGoodsListVo> goodsDetail; private List<ChargeGoodsList> goodsDetail;
} }

View File

@ -0,0 +1,10 @@
package com.syjiaer.clinic.server.entity.organization.dto;
import lombok.Data;
@Data
public class DockerSearchQuery {
private String name;
private Integer sectionId;
private Integer role;
}

View File

@ -0,0 +1,56 @@
package com.syjiaer.clinic.server.entity.organization.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class MemberVo {
@ApiModelProperty("自增主键")
private Integer id;
@ApiModelProperty("成员电话")
private String tel;
@ApiModelProperty("医保人员代码")
private String socialMemberCode;
@ApiModelProperty("电子签名")
private String electronicSignature;
@ApiModelProperty("性别")
private String gender;
@ApiModelProperty("年龄")
private String age;
@ApiModelProperty("创建时间")
private LocalDateTime createDatetime;
@ApiModelProperty("身份证号")
private String idCardNumber;
@ApiModelProperty("所属科室")
private Integer sectionId;
@ApiModelProperty("备注")
private String memo;
@ApiModelProperty("管理员id")
private Integer managerUserId;
@ApiModelProperty("成员名")
private String name;
@ApiModelProperty("角色")
private Integer role;
@ApiModelProperty("删除标记")
private Boolean delFlag;
@ApiModelProperty("科室名称")
private String sectionName;
}

View File

@ -2,9 +2,12 @@ package com.syjiaer.clinic.server.mapper.organization;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.syjiaer.clinic.server.entity.organization.OrganizationMember; import com.syjiaer.clinic.server.entity.organization.OrganizationMember;
import com.syjiaer.clinic.server.entity.organization.vo.MemberVo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
@ -16,5 +19,7 @@ import java.io.Serializable;
* @since 2025-04-11 * @since 2025-04-11
*/ */
public interface OrganizationMemberMapper extends BaseMapper<OrganizationMember> { public interface OrganizationMemberMapper extends BaseMapper<OrganizationMember> {
List<MemberVo> selectDetailByIds(@Param("ids") List<Integer> ids);
} }

View File

@ -247,6 +247,7 @@ public class ChargeService extends BaseService {
chargeOrder.setStatus(RetailOrderStatusEnum.UNFINISHED.getCode()); chargeOrder.setStatus(RetailOrderStatusEnum.UNFINISHED.getCode());
chargeOrder.setPatientId(dto.getPatientInfo().getId()); chargeOrder.setPatientId(dto.getPatientInfo().getId());
chargeOrder.setDiagnosisCode(dto.getDiagnosisMedicalRecord().getDiagnosisCode()); chargeOrder.setDiagnosisCode(dto.getDiagnosisMedicalRecord().getDiagnosisCode());
chargeOrder.setSalePersonId(dto.getPatientRegistration().getOrganizationDoctorId());
chargeOrderMapper.insert(chargeOrder); chargeOrderMapper.insert(chargeOrder);
return chargeOrder; return chargeOrder;
@ -264,16 +265,18 @@ public class ChargeService extends BaseService {
if (query.getPatientName() != null) { if (query.getPatientName() != null) {
queryWrapper.like("patient_name", query.getPatientName()); queryWrapper.like("patient_name", query.getPatientName());
} }
if (query.getPatientId() != null){
queryWrapper.eq("patient_id", query.getPatientId());
}
Page<ChargeOrder> orderPage = pageHelper(query.getPageNum(), query.getPageSize(), queryWrapper, chargeOrderMapper, "create_datetime", false); Page<ChargeOrder> orderPage = pageHelper(query.getPageNum(), query.getPageSize(), queryWrapper, chargeOrderMapper, "create_datetime", false);
List<ChargeDetailVo> voList = new ArrayList<>(); List<ChargeDetailVo> voList = new ArrayList<>();
for (ChargeOrder chargeOrder : orderPage.getList()) { for (ChargeOrder chargeOrder : orderPage.getList()) {
ChargeDetailVo detailVo = new ChargeDetailVo(); ChargeDetailVo detailVo = new ChargeDetailVo();
BeanUtils.copyProperties(chargeOrder, detailVo); BeanUtils.copyProperties(chargeOrder, detailVo);
detailVo.setPatientInfo(patientInfoMapper.selectById(chargeOrder.getPatientId())); detailVo.setPatientInfo(patientInfoMapper.selectById(chargeOrder.getPatientId()));
detailVo.setServiceDetail(chargeItemListMapper.selectList(new QueryWrapper<ChargeItemList>() detailVo.setServiceDetail(chargeItemListMapper.selectByCode(chargeOrder.getCode()));
.eq("charge_order_code", chargeOrder.getCode())));
detailVo.setGoodsDetail(chargeGoodsListMapper.selectDetailByCode(chargeOrder.getCode())); detailVo.setGoodsDetail(chargeGoodsListMapper.selectByCode(chargeOrder.getCode()));
voList.add(detailVo); voList.add(detailVo);
} }
Page<ChargeDetailVo> resultPage = new Page<>(); Page<ChargeDetailVo> resultPage = new Page<>();

View File

@ -10,7 +10,6 @@ import com.syjiaer.clinic.server.common.enums.RegistrationStatusEnum;
import com.syjiaer.clinic.server.common.exception.MessageException; import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.common.util.StringUtil; import com.syjiaer.clinic.server.common.util.StringUtil;
import com.syjiaer.clinic.server.common.vo.Page; import com.syjiaer.clinic.server.common.vo.Page;
import com.syjiaer.clinic.server.entity.charge.vo.ChargeDetailVo;
import com.syjiaer.clinic.server.entity.charge.vo.ChargeGoodsListVo; import com.syjiaer.clinic.server.entity.charge.vo.ChargeGoodsListVo;
import com.syjiaer.clinic.server.entity.charge.vo.ChargeItemListVo; import com.syjiaer.clinic.server.entity.charge.vo.ChargeItemListVo;
import com.syjiaer.clinic.server.entity.diagnosis.Diagnosis; import com.syjiaer.clinic.server.entity.diagnosis.Diagnosis;

View File

@ -2,12 +2,16 @@ package com.syjiaer.clinic.server.service.organization;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.syjiaer.clinic.server.common.api.annotations.IMField;
import com.syjiaer.clinic.server.common.exception.MessageException; import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.common.util.FileUtil; import com.syjiaer.clinic.server.common.util.FileUtil;
import com.syjiaer.clinic.server.common.vo.Page; import com.syjiaer.clinic.server.common.vo.Page;
import com.syjiaer.clinic.server.entity.charge.dto.ChargeQuery;
import com.syjiaer.clinic.server.entity.manager.ManagerUser; import com.syjiaer.clinic.server.entity.manager.ManagerUser;
import com.syjiaer.clinic.server.entity.organization.OrganizationMember; import com.syjiaer.clinic.server.entity.organization.OrganizationMember;
import com.syjiaer.clinic.server.entity.organization.dto.DockerSearchQuery;
import com.syjiaer.clinic.server.entity.organization.dto.OrganizationMemberSaveDto; import com.syjiaer.clinic.server.entity.organization.dto.OrganizationMemberSaveDto;
import com.syjiaer.clinic.server.entity.organization.vo.MemberVo;
import com.syjiaer.clinic.server.mapper.manager.ManagerUserMapper; import com.syjiaer.clinic.server.mapper.manager.ManagerUserMapper;
import com.syjiaer.clinic.server.mapper.organization.OrganizationMemberMapper; import com.syjiaer.clinic.server.mapper.organization.OrganizationMemberMapper;
import com.syjiaer.clinic.server.service.BaseService; import com.syjiaer.clinic.server.service.BaseService;
@ -145,9 +149,25 @@ public class OrganizationMemberService extends BaseService {
/* /*
* 获取医生列表 * 获取医生列表
*/ */
public List<OrganizationMember> doctorList() { public List<MemberVo> doctorList(DockerSearchQuery dockerSearchQuery) {
if (dockerSearchQuery == null){
return new ArrayList<>();
}
QueryWrapper<OrganizationMember> queryWrapper = new QueryWrapper<>(); QueryWrapper<OrganizationMember> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("role", 1);
return organizationMemberMapper.selectList(queryWrapper); queryWrapper.select("id");
if (dockerSearchQuery.getName() != null){
queryWrapper.like("name", dockerSearchQuery.getName());
}
if (dockerSearchQuery.getSectionId() != null){
queryWrapper.eq("section_id", dockerSearchQuery.getSectionId());
}
if (dockerSearchQuery.getRole() != null){
queryWrapper.eq("role", dockerSearchQuery.getRole());
}
List<Integer> ids = organizationMemberMapper.selectObjs(queryWrapper);
return organizationMemberMapper.selectDetailByIds(ids);
} }
} }

View File

@ -150,8 +150,10 @@ public class StatisticsService extends BaseService {
Integer salePersonId = (Integer) map.get("sale_person_id"); Integer salePersonId = (Integer) map.get("sale_person_id");
SalePersonReportVo vo = voMaps.getOrDefault(salePersonId, new SalePersonReportVo()); SalePersonReportVo vo = voMaps.getOrDefault(salePersonId, new SalePersonReportVo());
vo.setSalePersonId(salePersonId); vo.setSalePersonId(salePersonId);
OrganizationMember organizationMember = organizationMemberMapper.selectById(salePersonId); if (salePersonId != null){
vo.setSalePersonName(organizationMember.getName()); OrganizationMember organizationMember = organizationMemberMapper.selectById(salePersonId);
vo.setSalePersonName(organizationMember.getName());
}
vo.setTotalIncome(vo.getTotalIncome().add((BigDecimal) map.get("sum"))); vo.setTotalIncome(vo.getTotalIncome().add((BigDecimal) map.get("sum")));
vo.setCount(vo.getCount()+(Long) map.get("count")); vo.setCount(vo.getCount()+(Long) map.get("count"));
RetailOrderPayTypeEnum payType = RetailOrderPayTypeEnum.getByCode((Integer) map.get("pay_type")); RetailOrderPayTypeEnum payType = RetailOrderPayTypeEnum.getByCode((Integer) map.get("pay_type"));

View File

@ -2,4 +2,13 @@
<!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.syjiaer.clinic.server.mapper.organization.OrganizationMemberMapper"> <mapper namespace="com.syjiaer.clinic.server.mapper.organization.OrganizationMemberMapper">
<select id="selectDetailByIds" resultType="com.syjiaer.clinic.server.entity.organization.vo.MemberVo">
SELECT om.*,os.name AS section_name
FROM organization_member AS om LEFT JOIN organization_section AS os ON om.section_id = os.id
WHERE om.id IN
<foreach collection="ids" item="id" index="index" open="(" close=")" separator=",">
#{id}
</foreach>
</select>
</mapper> </mapper>