Преглед изворни кода

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

zdm пре 6 година
родитељ
комит
fec04367ec

+ 27 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/specialist/rehabilitation/PatientRehabilitationPlanDO.java

@ -1,11 +1,14 @@
package com.yihu.jw.entity.specialist.rehabilitation;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import org.springframework.data.annotation.CreatedDate;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
/**
 * Created by humingfen on 2018/8/10.
@ -36,6 +39,10 @@ public class PatientRehabilitationPlanDO extends UuidIdentityEntityWithOperator
    private String servicePackageId;//服务包id
    @Column(name = "status")
    private Integer status;//状态(0已中止,1进行中,2已完成)
    @Column(name = "abort_reason")
    private String abortReason;//中止原因
    @Column(name = "abort_time")
    private Date abortTime;//中止时间
    @Column(name = "saas_id")
    public String getSaasId() {
@ -135,4 +142,24 @@ public class PatientRehabilitationPlanDO extends UuidIdentityEntityWithOperator
    public void setDiseaseName(String diseaseName) {
        this.diseaseName = diseaseName;
    }
    @Column(name = "abort_reason")
    public String getAbortReason() {
        return abortReason;
    }
    public void setAbortReason(String abortReason) {
        this.abortReason = abortReason;
    }
    @CreatedDate
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @Column(name = "abort_time", nullable = false, length = 0,updatable = false)
    public Date getAbortTime() {
        return abortTime;
    }
    public void setAbortTime(Date abortTime) {
        this.abortTime = abortTime;
    }
}

+ 2 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/specialist/SpecialistMapping.java

@ -91,6 +91,7 @@ public class SpecialistMapping {
        public static final String patientCount = "/patientCount";
        public static final String selectByIds = "/selectByIds";
        public static final String sendToFamilyDoctor = "/sendToFamilyDoctor";
        public static final String abortPlanById = "/abortPlanById";
    }
    public static class serviceItem{
@ -112,5 +113,6 @@ public class SpecialistMapping {
        public static final String importData1 = "/importData1";
        public static final String importData2 = "/importData2";
        public static final String selectByDoctor = "/selectByDoctor";
        public static final String getServiceItemsAfterStop="getServiceItemsAfterStop";
    }
}

+ 1 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/service/saas/SaasService.java

@ -149,7 +149,7 @@ public class SaasService extends BaseJpaService<SaasDO, SaasDao> {
    public void send(SaasDO saasDO) {
        try {
            SaasDO.Status status = saasDO.getStatus();
            String password = saasDO.getMobile().substring(0, 6);
            String password = saasDO.getMobile().substring(saasDO.getMobile().length()-6);
            BaseEmailTemplateConfigDO baseEmailTemplateConfigDO = baseEmailTemplateConfigService.findByCode(status.name());
            if (null == baseEmailTemplateConfigDO) {
                return;

+ 13 - 0
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/controller/rehabilitation/RehabilitationManageController.java

@ -391,4 +391,17 @@ public class RehabilitationManageController {
            return ObjEnvelop.getError(e.getMessage());
        }
    }
    @GetMapping(value = SpecialistMapping.serviceItem.getServiceItemsAfterStop)
    @ApiOperation(value = "康复管理-中止康复计划结算项目清单")
    public ObjEnvelop getServiceItemsAfterStop(@ApiParam(name = "planId", value = "康复计划id", required = true)
                                  @RequestParam(value = "planId", required = true)String planId){
        try {
            return rehabilitationManageService.getServiceItemsAfterStop(planId);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return ObjEnvelop.getError(e.getMessage());
        }
    }
}

+ 17 - 2
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/controller/rehabilitation/RehabilitationPlanController.java

@ -265,7 +265,7 @@ public class RehabilitationPlanController extends EnvelopRestEndpoint {
    @PostMapping(value = SpecialistMapping.rehabilitation.updatePlanStatusById)
    @ApiOperation(value = "康复管理-更新康复计划状态")
    public Envelop updatePlanStatusById(@ApiParam(name = "planId", value = "康复计划id", required = true)
    public MixEnvelop updatePlanStatusById(@ApiParam(name = "planId", value = "康复计划id", required = true)
                                              @RequestParam(value = "planId", required = true)String planId,
                                              @ApiParam(name = "status", value = "状态", required = true)
                                              @RequestParam(value = "status", required = true)Integer status){
@ -274,7 +274,7 @@ public class RehabilitationPlanController extends EnvelopRestEndpoint {
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
            return MixEnvelop.getError(e.getMessage());
        }
    }
@ -299,4 +299,19 @@ public class RehabilitationPlanController extends EnvelopRestEndpoint {
            return Envelop.getError(e.getMessage());
        }
    }
    @PostMapping(value = SpecialistMapping.rehabilitation.abortPlanById)
    @ApiOperation(value = "康复管理-中止康复计划填写中止原因")
    public Envelop abortPlanById(@ApiParam(name = "planId", value = "康复计划id", required = true)
                                           @RequestParam(value = "planId", required = true)String planId,
                                           @ApiParam(name = "abortReason", value = "中止原因", required = true)
                                           @RequestParam(value = "abortReason", required = true)String abortReason){
        try {
            return rehabilitationPlanService.abortPlanById(planId,abortReason);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
}

+ 5 - 0
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/dao/rehabilitation/PatientRehabilitationPlanDao.java

@ -8,6 +8,7 @@ import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.Date;
import java.util.List;
/**
@ -37,4 +38,8 @@ public interface PatientRehabilitationPlanDao extends PagingAndSortingRepository
    @Query("select count(distinct p.patient) from PatientRehabilitationPlanDO p where p.createUser=?1  and p.status=1 ")
    Integer patientCountByUnfinish(String doctorCode);
    @Query("update PatientRehabilitationPlanDO a set a.status=0,a.abortReason=?1,a.abortTime=?3 where a.id =?2 ")
    @Modifying
    int abortPlanById(String abortReason, String id, Date abortTime);
}

+ 61 - 1
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/service/rehabilitation/RehabilitationManageService.java

@ -573,7 +573,8 @@ public class RehabilitationManageService {
     */
    public ObjEnvelop serviceItem(String planDetailId,String doctorCode) throws Exception{
        String sql = "select i.title,i.content,i.type as itemType,i.reserve,d.id,d.execute_time,d.hospital_name,d.status,d.type,d.expense,d.doctor as executeDoctor, " +
                " d.doctor_name as executeDoctorName,p.patient ,p.name as patientName,p.create_user as createDoctor,p.create_user_name as createDoctorName, p.status as planStatus" +
                " d.doctor_name as executeDoctorName,p.patient ,p.name as patientName,p.create_user as createDoctor,p.create_user_name as createDoctorName, p.status as planStatus," +
                " p.disease,p.disease_name as diseaseName,p.title as planTitle"+
                " from wlyy_specialist.wlyy_rehabilitation_plan_detail d " +
                " LEFT JOIN wlyy_specialist.wlyy_hospital_service_item h on d.hospital_service_item_id = h.id "+
                " LEFT JOIN wlyy_specialist.wlyy_service_item i on i.id = h.service_item_id " +
@ -616,6 +617,9 @@ public class RehabilitationManageService {
        }
        resultMap.put("statusName",statusName);//状态名称
        resultMap.put("status",status);//状态
        resultMap.put("disease",one.get("disease"));
        resultMap.put("diseaseName",one.get("diseaseName"));
        resultMap.put("planTitle",one.get("planTitle"));
        //指导与汇报
        List<GuidanceMessageLogDO> messageList = guidanceMessageLogDao.findByPlanDetailId(one.get("id").toString());
        List<Map<String,Object>> messageMapList = new ArrayList<>();
@ -1156,8 +1160,15 @@ public class RehabilitationManageService {
        Map<String,Object> resultMap = new HashMap<>();
        Integer allCount = rehabilitationDetailDao.findAllByPlanId(planId);//计划总服务项目数
        Integer finishedCount = rehabilitationDetailDao.findByStatusAndPlanId(1,planId);
        PatientRehabilitationPlanDO p =patientRehabilitationPlanDao.findById(planId);
        resultMap.put("allCount",allCount);
        resultMap.put("finishedCount",finishedCount);
        if (p!=null){
            resultMap.put("disease",p.getDisease());
            resultMap.put("diseaseName",p.getDiseaseName());
            resultMap.put("createUser",p.getCreateUser());
            resultMap.put("planTitle",p.getTitle());
        }
//        resultMap.put("healthyCondition",healthyCondition);
        return ObjEnvelop.getSuccess(SpecialistMapping.api_success,resultMap);
    }
@ -1233,4 +1244,53 @@ public class RehabilitationManageService {
        envelop.setObj(rehabilitationDetailDOS);
        return envelop;
    }
    public ObjEnvelop getServiceItemsAfterStop(String planId)throws Exception{
        Map<String,Object> reslutMap = new HashMap<>();
        String sql ="SELECT" +
                " p.patient," +
                " p.`name`," +
                " p.title," +
                " p.disease_name,p.abort_reason,p.abort_time," +
                " a.*" +
                " FROM" +
                " wlyy_patient_rehabilitation_plan p" +
                " LEFT JOIN (" +
                "  SELECT" +
                "  d.id," +
                "  d.plan_id," +
                "  d.hospital," +
                "  d.hospital_name," +
                "  i.service_item_id," +
                "  i.service_item_name," +
                "  d.expense," +
                "  r.doctor_code," +
                "  r.doctor_name," +
                "  r.complete_time" +
                "  FROM" +
                "  wlyy_rehabilitation_plan_detail d" +
                "  LEFT JOIN wlyy_hospital_service_item i ON d.hospital_service_item_id = i.id" +
                "  LEFT JOIN wlyy_rehabilitation_operate_records r ON d.id = r.rehabilitation_detail_id" +
                "  WHERE" +
                "  r.`status` = 1" +
                " ) a ON p.id = a.plan_id" +
                " WHERE" +
                " p.id = '"+planId+"'";
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        Integer allCount = rehabilitationDetailDao.findAllByPlanId(planId);//计划总服务项目数
        Integer finishCount = list.size();//完成服务项目数
        double totalExpense = 0;
        DecimalFormat df = new DecimalFormat("0.00");
        for (Map<String,Object> map : list){
            double expense = Integer.valueOf(String .valueOf(map.get("expense")));
            totalExpense += expense;
            map.put("expense",df.format(expense/100));
        }
        reslutMap.put("totalExpense",df.format(totalExpense/100));
        reslutMap.put("allCount",allCount);
        reslutMap.put("finishCount",finishCount);
        reslutMap.put("serviceList",list);
        return ObjEnvelop.getSuccess(SpecialistMapping.api_success,reslutMap);
    }
}

+ 9 - 1
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/service/rehabilitation/RehabilitationPlanService.java

@ -392,9 +392,17 @@ public class RehabilitationPlanService extends BaseJpaService<RehabilitationPlan
     * @param planId
     * @return
     */
    public Envelop updatePlanStatusById(Integer status, String planId) throws Exception{
    public MixEnvelop updatePlanStatusById(Integer status, String planId) throws Exception{
        if(patientRehabilitationPlanDao.updateStatusById(status,planId)>0){
            return MixEnvelop.getSuccess(SpecialistMapping.api_success,patientRehabilitationPlanDao.findById(planId));
        }
        return MixEnvelop.getError("更新失败!");
    }
    public Envelop abortPlanById(String planId,String abortReason){
        if(patientRehabilitationPlanDao.abortPlanById(abortReason,planId,new Date())>0){
            return Envelop.getSuccess(SpecialistMapping.api_success);
        }
        return Envelop.getError("更新失败!");