Merge branch 'jihan_0920_护理服务、商城、积分兑换、在线问诊功能分支' of http://182.92.166.109:3000/jihan/xinelu-api into jihan_0920_护理服务、商城、积分兑换、在线问诊功能分支

This commit is contained in:
mengkuiliang 2023-11-09 10:27:22 +08:00
commit 7e589eeabb
2 changed files with 55 additions and 25 deletions

View File

@ -3,11 +3,17 @@ package com.xinelu.applet.controller.appletscreeningproject;
import com.xinelu.common.core.controller.BaseController;
import com.xinelu.common.core.domain.R;
import com.xinelu.manage.domain.screeningproject.ScreeningProject;
import com.xinelu.manage.service.screeningproject.IScreeningProjectService;
import com.xinelu.manage.dto.screeningrecord.ScreeningRecordDTO;
import com.xinelu.manage.service.screeningrecord.IScreeningRecordService;
import com.xinelu.manage.vo.screeningrecord.ScreeningRecordVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -22,12 +28,29 @@ import org.springframework.web.bind.annotation.RestController;
@Api(tags = "项目控制器-小程序")
public class AppletScreeningProjectController extends BaseController {
@Resource
private IScreeningProjectService projectService;
private IScreeningRecordService screeningRecordService;
@ApiOperation("筛查项目列表")
@GetMapping("list")
public R<List<ScreeningProject>> list(ScreeningProject project) {
List<ScreeningProject> list = projectService.findList(project);
return R.ok(list);
public R<List<ScreeningProject>> list(ScreeningRecordDTO query) {
// 查询居民预约过的项目
List<ScreeningProject> projectList = new ArrayList<>();
query.setScreeningType("1");
List<ScreeningRecordVo> recordList = screeningRecordService.list(query);
if (CollectionUtils.isNotEmpty(recordList)) {
// 按照项目进行分组
Map<String, List<ScreeningRecordVo>> groupByProject = recordList.stream()
.collect(Collectors.groupingBy(ScreeningRecordVo::getProjectId));
for (String projectId : groupByProject.keySet()) {
ScreeningProject project = new ScreeningProject();
project.setProjectId(projectId);
project.setProjectName(groupByProject.get(projectId).get(0).getProjectName());
project.setHospitalId(groupByProject.get(projectId).get(0).getHospitalId());
project.setHospitalName(groupByProject.get(projectId).get(0).getHospitalName());
projectList.add(project);
}
}
return R.ok(projectList);
}
}

View File

@ -162,28 +162,35 @@ public class NursingOrderServiceImpl implements INursingOrderService {
if (CollectionUtils.isNotEmpty(goodsOrderAndConsultationOrder)) {
patientOrders.addAll(goodsOrderAndConsultationOrder);
}
String result = HttpUtils.sendGet(SpringUtils.getFdUrl(nurseOrder.getRegion()) + "/performance/recordV2/" + nurseOrder.getCardNo());
if (StringUtils.isBlank(result)) {
log.info("获取家医小程序用户订单信息失败result = " + result);
}
PatientOrderVO resultHttp = JSON.parseObject(result, PatientOrderVO.class);
if (Objects.nonNull(resultHttp) && CollectionUtils.isNotEmpty(resultHttp.getData()) && Objects.nonNull(resultHttp.getData().get(0).getOrderNo())) {
List<PatientOrder> data = resultHttp.getData();
data.forEach(item -> item.setOrderSource(OrderSourceEnum.FAMILY_DOCTOR.getInfo()));
List<PatientOrder> orderEvaluate = nursingOrderMapper.getOrderEvaluateByPatientId(nurseOrder.getParentId());
if (CollectionUtils.isNotEmpty(orderEvaluate) && EVALUATED.equals(nurseOrder.getOrderStatus())) {
for (PatientOrder patientOrder : orderEvaluate) {
PatientOrder dataFirst = data.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getOrderNo()) && patientOrder.getOrderNo().equals(item.getOrderNo())).findFirst().orElse(new PatientOrder());
dataFirst.setCompositeScore(patientOrder.getCompositeScore());
patientOrders.add(dataFirst);
PatientOrderVO resultHttp = new PatientOrderVO();
if (Objects.nonNull(nurseOrder.getRegion()) && !"3".equals(nurseOrder.getRegion())) {
try {
String result = HttpUtils.sendGet(SpringUtils.getFdUrl(nurseOrder.getRegion()) + "/performance/recordV2/" + nurseOrder.getCardNo());
if (StringUtils.isBlank(result)) {
log.info("获取家医小程序用户订单信息失败result = " + result);
}
resultHttp = JSON.parseObject(result, PatientOrderVO.class);
} catch (Exception e) {
log.error("查询家医履约评价记录异常: " + e.getMessage());
}
if (CollectionUtils.isNotEmpty(orderEvaluate) && NOT_EVALUATED.equals(nurseOrder.getOrderStatus())) {
Collection<PatientOrder> subtract = CollectionUtils.subtract(data, orderEvaluate);
patientOrders.addAll(subtract);
}
if (CollectionUtils.isEmpty(orderEvaluate) && NOT_EVALUATED.equals(nurseOrder.getOrderStatus())) {
patientOrders.addAll(data);
if (Objects.nonNull(resultHttp) && CollectionUtils.isNotEmpty(resultHttp.getData()) && Objects.nonNull(resultHttp.getData().get(0).getOrderNo())) {
List<PatientOrder> data = resultHttp.getData();
data.forEach(item -> item.setOrderSource(OrderSourceEnum.FAMILY_DOCTOR.getInfo()));
List<PatientOrder> orderEvaluate = nursingOrderMapper.getOrderEvaluateByPatientId(nurseOrder.getParentId());
if (CollectionUtils.isNotEmpty(orderEvaluate) && EVALUATED.equals(nurseOrder.getOrderStatus())) {
for (PatientOrder patientOrder : orderEvaluate) {
PatientOrder dataFirst = data.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getOrderNo()) && patientOrder.getOrderNo().equals(item.getOrderNo())).findFirst().orElse(new PatientOrder());
dataFirst.setCompositeScore(patientOrder.getCompositeScore());
patientOrders.add(dataFirst);
}
}
if (CollectionUtils.isNotEmpty(orderEvaluate) && NOT_EVALUATED.equals(nurseOrder.getOrderStatus())) {
Collection<PatientOrder> subtract = CollectionUtils.subtract(data, orderEvaluate);
patientOrders.addAll(subtract);
}
if (CollectionUtils.isEmpty(orderEvaluate) && NOT_EVALUATED.equals(nurseOrder.getOrderStatus())) {
patientOrders.addAll(data);
}
}
}
TableDataInfo rspData = new TableDataInfo();