mengkang преди 5 години
родител
ревизия
9e7393b45a

+ 10 - 4
business/base-service/src/main/java/com/yihu/jw/hospital/message/service/SystemMessageService.java

@ -2,6 +2,7 @@ package com.yihu.jw.hospital.message.service;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.hospital.message.dao.SystemMessageDao;
import com.yihu.jw.utils.StringUtil;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -42,16 +43,22 @@ public class SystemMessageService extends BaseJpaService<SystemMessageDO,SystemM
     * 更新线上就诊消息
     * @param id
     * @param read
     * @param del
     * @return
     * @throws Exception
     */
    public SystemMessageDO updateMessage(String id,String read) throws Exception{
    public SystemMessageDO updateMessage(String id,String read,String del) throws Exception{
        SystemMessageDO systemMessageDO = systemMessageDao.findOne(id);
        if (null == systemMessageDO){
            return null;
        }
        systemMessageDO.setIsRead(read);
        systemMessageDO.setReadTime(new Date());
        if (!StringUtil.isEmpty(read)){
            systemMessageDO.setIsRead(read);
            systemMessageDO.setReadTime(new Date());
        }
        if (!StringUtil.isEmpty(del)){
            systemMessageDO.setDel(del);
        }
        systemMessageDao.save(systemMessageDO);
        return systemMessageDO;
    }
@ -63,7 +70,6 @@ public class SystemMessageService extends BaseJpaService<SystemMessageDO,SystemM
     * @throws Exception
     */
    public void saveMessage(SystemMessageDO systemMessageDO) throws Exception{
        systemMessageDO.setHandleState("0");
        systemMessageDO.setIsRead("0");
        systemMessageDO.setDel("1");
        systemMessageDO.setCreateTime(new Date());

+ 3 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/dao/OutpatientDao.java

@ -35,4 +35,7 @@ public interface OutpatientDao extends PagingAndSortingRepository<WlyyOutpatient
    List<WlyyOutpatientDO> findByDoctorAndCreateTimeAndPatientCancelRemark(String doctor,Date createTime,String patientCancelRemark);
    @Query("select count(id) from  WlyyOutpatientDO a where a.outpatientType = ?1 and a.doctor = ?2 and a.admDate >=?3 and a.admDate <=?4")
    Integer countByTime(String type,String doctor,Date startTime,Date endTime);
}

+ 4 - 0
business/im-service/src/main/java/com/yihu/jw/im/dao/ConsultTeamDao.java

@ -6,6 +6,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;
/**
@ -23,4 +24,7 @@ public interface ConsultTeamDao  extends PagingAndSortingRepository<ConsultTeamD
//
//	@Query("select a from ConsultTeamDo a,ConsultTeamDoctor b where a.consult = b.consult and a.patient = ?1 and b.to = ?2 and a.del = '1' and a.type<>8 and a.status = 0")
//	List<ConsultTeamDo> findUnfinishedConsultType(String patient,String doctor);
	@Query("select count(id) from  ConsultTeamDo a where a.type = ?1 and a.doctor = ?2 and a.czrq >=?3 and a.czrq <=?4")
	Integer  countByTime(int type, String doctor, Date startTime, Date endTime);
}

+ 8 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/hospital/BaseHospitalRequestMapping.java

@ -590,4 +590,12 @@ public class BaseHospitalRequestMapping {
        public static final String searchMessagePageList  = "/searchMessagePageList";
        public static final String queryById  = "/queryById";
    }
    /**
     * 医生分析总览
     */
    public static class Analysis extends Basic {
        public static final String PREFIX  = "/analysis";
        public static final String queryAnalysis  = "/queryAnalysis";
    }
}

+ 49 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/analysis/AnalysisEndPoint.java

@ -0,0 +1,49 @@
package com.yihu.jw.hospital.endpoint.analysis;
import com.yihu.jw.hospital.service.analysis.AnalysisService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
 * @author zmk
 * @vsrsion 1.0
 * Created at 2019/11/21
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.Analysis.PREFIX)
@Api(value = "分析总览", description = "分析总览", tags = {"互联网医院 - 医生分析总览接口"})
public class AnalysisEndPoint extends EnvelopRestEndpoint {
    private static Logger logger = LoggerFactory.getLogger(AnalysisEndPoint.class);
    @Autowired
    private AnalysisService analysisService;
    @GetMapping(value= BaseHospitalRequestMapping.Analysis.queryAnalysis)
    @ApiOperation("查询分析数据")
    public Envelop queryAnalysis(
            @ApiParam(name = "doctor", value = "doctor", required = true)
            @RequestParam(value = "doctor", required = true)String doctor,
            @ApiParam(name = "startTime", value = "startTime", required = true)
            @RequestParam(value = "startTime", required = true)String startTime,
            @ApiParam(name = "endTime", value = "endTime", required = true)
            @RequestParam(value = "endTime", required = false)String endTime)throws Exception{
        Object num = analysisService.queryAnalysis(doctor,startTime,endTime);
        return success(num);
    }
}

+ 5 - 12
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/expressage/WlyyPatientExpressageAddrEndpoint.java

@ -39,16 +39,13 @@ public class WlyyPatientExpressageAddrEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "新增地址")
    public Envelop create(
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestParam String jsonData) {
        try {
            @RequestParam String jsonData)throws Exception{
            WlyyPatientExpressageAddrDO addrDO = wlyyPatientExpressageAddrService.createAddr(jsonData);
            if (addrDO == null){
                return failed("新增地址失败,新增数据为空");
            }
            return success(addrDO);
        }catch (Exception e){
            return failed("新增地址失败,"+e.getMessage());
        }
    }
@ -65,8 +62,7 @@ public class WlyyPatientExpressageAddrEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "将地址设置为默认")
    public Envelop setAddrDefault(
            @ApiParam(name = "patient", value = "居民code", required = true) @RequestParam(value = "patient") String patient,
            @ApiParam(name = "addrId", value = "当前地址id", required = true) @RequestParam(value = "addrId") String addrId) {
        try {
            @ApiParam(name = "addrId", value = "当前地址id", required = true) @RequestParam(value = "addrId") String addrId)throws Exception{
            Object result = wlyyPatientExpressageAddrService.setAddrDefault(patient, addrId);
            if (!"OK".equals(result.toString())) {
@ -74,14 +70,11 @@ public class WlyyPatientExpressageAddrEndpoint extends EnvelopRestEndpoint {
            }
            return success("设置默认地址成功");
        }catch (Exception e){
            return failed("设置默认地址失败,"+e.getMessage());
        }
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyyPatientExpressageAddr.hasDefault)
    @ApiOperation(value = "判断当前居民是否已经存在默认地址")
    public Envelop setAddrDefault(
    public Envelop hasDefault(
            @ApiParam(name = "patient", value = "居民code", required = true) @RequestParam(value = "patient") String patient) {
        boolean result = wlyyPatientExpressageAddrService.hasDefault(patient);
        return success(result);
@ -96,7 +89,7 @@ public class WlyyPatientExpressageAddrEndpoint extends EnvelopRestEndpoint {
        if (null == wlyyPatientExpressageAddr.getId()) {
            return failed("ID不能为空", ObjEnvelop.class);
        }
        wlyyPatientExpressageAddr = wlyyPatientExpressageAddrService.save(wlyyPatientExpressageAddr);
        wlyyPatientExpressageAddr = wlyyPatientExpressageAddrService.updateAddr(wlyyPatientExpressageAddr);
        return success(wlyyPatientExpressageAddr, WlyyPatientExpressageAddrVO.class);
    }

+ 5 - 3
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/message/SystemMessageController.java

@ -54,10 +54,12 @@ public class SystemMessageController extends EnvelopRestEndpoint {
    public Envelop updateMessage(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id", required = true)String id,
            @ApiParam(name = "read", value = "read", required = true)
            @RequestParam(value = "read", required = true)String read)throws Exception{
            @ApiParam(name = "read", value = "read", required = false)
            @RequestParam(value = "read", required = false)String read,
            @ApiParam(name = "del", value = "del", required = false)
            @RequestParam(value = "del", required = false)String del)throws Exception{
        SystemMessageDO systemMessageDO = systemMessageService.updateMessage(id,read);
        SystemMessageDO systemMessageDO = systemMessageService.updateMessage(id,read,del);
        if (null == systemMessageDO){
            return failed("更新失败,就诊消息不存在");
        }

+ 52 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/service/analysis/AnalysisService.java

@ -0,0 +1,52 @@
package com.yihu.jw.hospital.service.analysis;
import com.yihu.jw.hospital.prescription.dao.OutpatientDao;
import com.yihu.jw.im.dao.ConsultTeamDao;
import com.yihu.jw.util.date.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
 * @author zmk
 * @vsrsion 1.0
 * Created at 2019/11/21
 */
@Service
public class AnalysisService {
    @Autowired
    private OutpatientDao outpatientDao;
    @Autowired
    private ConsultTeamDao consultTeamDao;
    /**
     * 分析总览数据查询
     * @param doctor
     * @param startTime
     * @param endTime
     * @return
     * @throws Exception
     */
    public Object queryAnalysis(String doctor,String startTime,String endTime)throws Exception{
        Map<String, Integer> map = new HashMap<>();
        Date start = DateUtil.strToDate(startTime, "yyyy-MM-dd HH:mm:ss");
        Date end = DateUtil.strToDate(endTime, "yyyy-MM-dd HH:mm:ss");
        //在线复诊
        Integer fzNum = outpatientDao.countByTime("1",doctor,start,end);
        //专科协同
        Integer xtNum = outpatientDao.countByTime("2",doctor,start,end);
        //专家咨询
        Integer imNum = consultTeamDao.countByTime(1,doctor,start,end);
        map.put("fzNum",fzNum);
        map.put("xtNum",xtNum);
        map.put("imNum",imNum);
        return map;
    }
}

+ 24 - 4
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/service/consult/WlyyPatientExpressageAddrService.java

@ -38,7 +38,7 @@ public class WlyyPatientExpressageAddrService extends BaseJpaService<WlyyPatient
     * @param jsonData
     * @return
     */
    public WlyyPatientExpressageAddrDO createAddr(String jsonData) {
    public WlyyPatientExpressageAddrDO createAddr(String jsonData)throws Exception{
        WlyyPatientExpressageAddrDO addrDO = null;
        if (!StringUtil.isEmpty(jsonData)){
            addrDO = EntityUtils.jsonToEntity(jsonData, WlyyPatientExpressageAddrDO.class);
@ -69,7 +69,7 @@ public class WlyyPatientExpressageAddrService extends BaseJpaService<WlyyPatient
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
    public Object setAddrDefault(String patient,String id){
    public Object setAddrDefault(String patient,String id)throws Exception{
        StringBuilder error = new StringBuilder("OK");
        WlyyPatientExpressageAddrDO newDefaultAddr = patientExpressageAddrDao.findOne(id);
        if(null == newDefaultAddr){
@ -81,10 +81,30 @@ public class WlyyPatientExpressageAddrService extends BaseJpaService<WlyyPatient
            WlyyPatientExpressageAddrDO oldDefaultAddr = defaultAddrDOList.get(0);
            oldDefaultAddr.setIsDefault(0);
            this.save(oldDefaultAddr);
            newDefaultAddr.setIsDefault(1);
            this.save(newDefaultAddr);
        }
        newDefaultAddr.setIsDefault(1);
        this.save(newDefaultAddr);
        return error;
    }
    /**
     * 更新居民收货地址
     * @param addrDO
     * @return
     * @throws Exception
     */
    public WlyyPatientExpressageAddrDO updateAddr(WlyyPatientExpressageAddrDO addrDO)throws Exception{
        if(1 == addrDO.getIsDefault()){
            List<WlyyPatientExpressageAddrDO> defaultAddrDOList = patientExpressageAddrDao.queryByPatientAndIsDefault(addrDO.getPatient(),1);
            if(defaultAddrDOList != null && defaultAddrDOList.size()>0){
                WlyyPatientExpressageAddrDO olddefaultAddr = defaultAddrDOList.get(0);
                olddefaultAddr.setIsDefault(0);
                this.save(olddefaultAddr);
            }
        }
        this.save(addrDO);
        return addrDO;
    }
}