Browse Source

代码修改

LAPTOP-KB9HII50\70708 1 year ago
parent
commit
b091dd790e

+ 1 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/specialist/rehabilitation/RehabilitationDetailDO.java

@ -37,7 +37,7 @@ public class RehabilitationDetailDO extends UuidIdentityEntity implements Serial
    @Column(name = "execute_time", nullable = true, length = 0,updatable = false)
    private Date executeTime;//服务项目执行时间
    @Column(name = "status")
    private Integer status;//状态(0未完成,1已完成,2已预约,3待录入)
    private Integer status;//状态(0未完成,1已完成,2已预约,3待录入,4 确认接收)
    @Column(name = "expense")
    private Integer expense;
    @Column(name = "service_qr_code")

+ 21 - 1
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/rehabilitation/controller/RehabilitationManageController.java

@ -1,6 +1,7 @@
package com.yihu.jw.hospital.module.rehabilitation.controller;
import com.yihu.jw.entity.specialist.rehabilitation.PatientRehabilitationPlanDO;
import com.yihu.jw.entity.specialist.rehabilitation.RehabilitationOperateRecordsDO;
import com.yihu.jw.hospital.module.rehabilitation.dao.RehabilitationOperateRecordsDao;
import com.yihu.jw.hospital.module.rehabilitation.service.RehabilitationManageService;
@ -8,8 +9,10 @@ import com.yihu.jw.hospital.module.rehabilitation.service.SynchronizePatientServ
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.specialist.SpecialistMapping;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.entity.ServiceException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -28,7 +31,7 @@ import java.util.Map;
@RestController
@RequestMapping(SpecialistMapping.api_specialist_common)
@Api(tags = "康复计划管理相关操作", description = "康复计划管理相关操作")
public class RehabilitationManageController {
public class RehabilitationManageController extends EnvelopRestEndpoint {
    @Autowired
    private RehabilitationManageService rehabilitationManageService;
@ -39,6 +42,23 @@ public class RehabilitationManageController {
    @Autowired
    SynchronizePatientService synchronizePatientService;
    @PostMapping(value = "assignExecutor")
    @ApiOperation("计划负责人分配执行人")
    public Envelop assignExecutor(
            @ApiParam(name = "jsonData", value = "jsonData", required = true)
            @RequestParam(value = "jsonData", required = true) String jsonData) {
        try {
            PatientRehabilitationPlanDO planDO = toEntity(jsonData, PatientRehabilitationPlanDO.class);
            rehabilitationManageService.assignExecutor(planDO,getUID());
            return Envelop.getSuccess("分配成功");
        }catch (ServiceException se){
            return Envelop.getError(se.getMessage());
        }catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError(e.getMessage());
        }
    }
    @PostMapping(value = "synchronizePationSingle")
    @ApiOperation("手动重新下转")

+ 53 - 4
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/rehabilitation/service/RehabilitationManageService.java

@ -22,6 +22,7 @@ import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.rm.specialist.SpecialistMapping;
import com.yihu.jw.util.common.IdCardUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.entity.ServiceException;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONArray;
@ -36,6 +37,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.sql.Timestamp;
import java.text.DecimalFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
 * Created by 刘文彬 on 2018/8/16.
@ -64,19 +66,66 @@ public class RehabilitationManageService {
    @Autowired
    private RehabilitationDetailAppointmentDao rehabilitationDetailAppointmentDao;
    @Autowired
    ImUtil imUtil;
    private ImUtil imUtil;
    @Autowired
    BaseDoctorDao doctorDao;
    private BaseDoctorDao doctorDao;
    @Autowired
    BasePatientDao patientDao;
    private BasePatientDao patientDao;
    @Autowired
    private PatientMedicalRecordsRehabilitationDao medicalRecordsRehabilitationDao;
    @Autowired
    PatientDiseaseServerDao patientDiseaseServerDao;
    private PatientDiseaseServerDao patientDiseaseServerDao;
    @Autowired
    private SystemDictService systemDictService;
    @Autowired
    private PatientRehabilitationPlanLogDao patientRehabilitationPlanLogDao;
    //添加康复计划日志
    public void addPlanLog(String planId,String doctorCode,String doctorName){
        if(StringUtils.isBlank(doctorCode)){
            return;
        }
        if(StringUtils.isBlank(doctorName)){
            BaseDoctorDO doctorDO = doctorDao.findByIdAndDel(doctorCode);
            doctorName = doctorDO.getName();
        }
        PatientRehabilitationPlanLogDO planLogDO = new PatientRehabilitationPlanLogDO();
        planLogDO.setId(UUID.randomUUID().toString().replace("-",""));
        planLogDO.setPlanId(planId);
        planLogDO.setCreateTime(new Date());
        planLogDO.setCreateUser(doctorCode);
        planLogDO.setCreateUserName(doctorName);
        patientRehabilitationPlanLogDao.save(planLogDO);
    }
    //计划负责人分配执行人
    public void assignExecutor(PatientRehabilitationPlanDO planDO,String uid){
        if(StringUtils.isNotBlank(uid)){
            PatientRehabilitationPlanDO planDO1 = patientRehabilitationPlanDao.findById(planDO.getId()).orElse(null);
            if(planDO1==null){
                throw new ServiceException("康复计划不存在");
            }
            if(!uid.equals(planDO1.getPlanDoctor())){
                throw new ServiceException("您不是该康复计划负责人,不允许操作");
            }
        }
        List<RehabilitationDetailDO> detailDOS = rehabilitationDetailDao.findByPlanIdAndStatus(planDO.getId(),0);
        List<RehabilitationDetailDO> detailDOList = planDO.getDetailDOList();
        Map<String,RehabilitationDetailDO> map = detailDOList.stream().collect(Collectors.toMap
                (RehabilitationDetailDO::getHospitalServiceItemId, log->log,(oldLog, newLog)->oldLog));
        for (RehabilitationDetailDO detailDO : detailDOS){
            String serviceItemId = detailDO.getHospitalServiceItemId();
            if(map.containsKey(serviceItemId)){
                RehabilitationDetailDO newDetail = map.get(serviceItemId);
                detailDO.setDoctor(newDetail.getDoctor());
                detailDO.setDoctorName(newDetail.getDoctorName());
            }
        }
        rehabilitationDetailDao.saveAll(detailDOS);
        addPlanLog(planDO.getId(),uid,null);
    }
    public List<Map<String, Object>> selectPlanByPatient(String patient, Integer status, String planId, String doctor) {
        if (StringUtils.isNoneBlank(planId)) {

+ 5 - 0
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/rehabilitation/service/SynchronizePatientService.java

@ -109,6 +109,8 @@ public class SynchronizePatientService  {
    private RehabilitationDetailDao rehabilitationDetailDao;
    @Autowired
    private WlyyBusinessService businessService;
    @Autowired
    private RehabilitationManageService rehabilitationManageService;
    //手动重新下转
@ -988,6 +990,9 @@ public class SynchronizePatientService  {
            detailDOList.add(detail);
        }
        rehabilitationDetailDao.saveAll(detailDOList);
        rehabilitationManageService.addPlanLog(planDO.getId(),planDO.getPlanDoctor(),planDO.getPlanDoctorName());
        planDO.setDetailDOList(detailDOList);
        return planDO;
    }