Bladeren bron

投诉反馈接口修改

wangjun 3 jaren geleden
bovenliggende
commit
2bda770ae4

+ 4 - 0
business/base-service/src/main/java/com/yihu/jw/complaint/BaseComplaintDao.java

@ -14,4 +14,8 @@ public interface BaseComplaintDao extends PagingAndSortingRepository<BaseComplai
    @Query("select count(1) from BaseComplaintDO t where t.isDel='1' and t.status=?1 ")
    Integer getCountByStatus(String status);
    @Query("select count(1) from BaseComplaintDO t where t.isDel='1' and t.status=?1  and t.patient=?2")
    Integer getCountByStatusByPatient(String status,String patient);
}

+ 38 - 11
business/base-service/src/main/java/com/yihu/jw/complaint/BaseComplaintService.java

@ -17,6 +17,8 @@ import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.prescription.service.entrance.EntranceService;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.restmodel.web.MixEnvelop;
@ -57,6 +59,8 @@ public class BaseComplaintService {
    private BasePatientDao basePatientDao;
    @Autowired
    private EnterpriseService enterpriseService;
    @Autowired
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    @Value("${wechat.id}")
    private String wxId;
    @Value("${wechat.flag}")
@ -196,6 +200,14 @@ public class BaseComplaintService {
     * 患者举报接口
     * */
    public BaseComplaintDO patiemtComplaint(String json) throws Exception{
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO= wlyyHospitalSysDictDao.findById("complaintOpenControl");
        if (wlyyHospitalSysDictDO!=null){
            if (!"1".equalsIgnoreCase(wlyyHospitalSysDictDO.getDictValue())){
                throw new Exception("投诉通道已关闭");
            }
        }else {
            throw new Exception("投诉通道已关闭");
        }
        BaseComplaintDO baseComplaintDO =objectMapper.readValue(json,BaseComplaintDO.class);
        BaseComplaintDictDO baseComplaintDictDO = baseComplaintDictDao.findById(baseComplaintDO.getComplaintId());
        if (baseComplaintDictDO!=null){
@ -254,7 +266,7 @@ public class BaseComplaintService {
            }
            baseComplaintDO.setAcceptor(doctor);
            baseComplaintDO.setComplaintId(complaintId);
            BaseComplaintDictDO baseComplaintDictDO = baseComplaintDictDao.findById(id);
            BaseComplaintDictDO baseComplaintDictDO = baseComplaintDictDao.findById(complaintId);
            if (baseComplaintDictDO!=null){
                complaitTypeName=baseComplaintDictDO.getName();
                baseComplaintDO.setComplaintName(complaitTypeName);
@ -320,16 +332,12 @@ public class BaseComplaintService {
    }
    //查询投诉列表
    public MixEnvelop findComplaintList(String doctor,String status,String patientName,String patientId,String keyWord,String complaintId,
    public MixEnvelop findComplaintList(String role,String doctor,String status,String patientName,String patientId,String keyWord,String complaintId,
                                  String startTime,String endTime,Integer page ,Integer pageSize){
        MixEnvelop mixEnvelop = new MixEnvelop();
        List<BaseDoctorRoleDO>  rolelist= baseDoctorRoleDao.findByDoctorCode(doctor);
        Boolean queryAll=false;
        for (BaseDoctorRoleDO baseDoctorRoleDO:rolelist){
            if ("admin".equalsIgnoreCase(baseDoctorRoleDO.getRoleCode())){
                queryAll=true;
                break;
            }
        if ("admin".equalsIgnoreCase(role)){
            queryAll=true;
        }
        String sql="select t.id as \"id\"," +
                " t.complaint_id as \"complaintId\"," +
@ -546,11 +554,10 @@ public class BaseComplaintService {
    }
    /*
    * 查询投诉数量*/
    public Map<String,Object> findComplaintCount(String doctor){
    public Map<String,Object> findComplaintCount(String doctor,String role){
        BaseComplaintDoctorDO baseComplaintDoctorDO=baseComplaintDoctorDao.findbyDoctorAndDel(doctor);
        List<BaseDoctorRoleDO>  rolelist= baseDoctorRoleDao.findByDoctorCode(doctor);
        Boolean queryAll=false;
        if (rolelist!=null&&rolelist.contains("admin")){
        if ("admin".equalsIgnoreCase(role)){
            queryAll=true;
        }
        Integer complaints=0;
@ -575,6 +582,26 @@ public class BaseComplaintService {
        return map;
    }
    /*
     * 查询投诉数量*/
    public Map<String,Object> findComplaintCountPatient(String patient){
        Integer complaints=0;
        Integer recieve=0;
        Integer deal=0;
        complaints=baseComplaintDao.getCountByStatusByPatient("0",patient);
        recieve=baseComplaintDao.getCountByStatusByPatient("1",patient);
        deal=baseComplaintDao.getCountByStatusByPatient("2",patient);
        Integer total = complaints+recieve+deal;
        Map map=new HashMap();
        map.put("complaints",complaints);
        map.put("recieve",recieve);
        map.put("deal",deal);
        map.put("total",total);
        return map;
    }
}

+ 2 - 2
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java

@ -7056,8 +7056,8 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                String idcard = (String) outpatient.get("idcard");
                String patient_id = (String) outpatient.get("patient_id");
                outpatient.put("age", DateUtil.getAgeForIdcard(idcard));
                int patientAge = 0;
                int patientSex = 3;
                Integer patientAge = 0;
                Integer patientSex = 3;
                if (null!=outpatient.get("outPatient")){
                    BasePatientDO basePatientDO = basePatientDao.findById(outpatient.get("outPatient").toString());
                    if (null!=basePatientDO){

+ 13 - 0
business/base-service/src/main/java/com/yihu/jw/monitor/dao/BaseInterfaceDictDao.java

@ -0,0 +1,13 @@
package com.yihu.jw.monitor.dao;
import com.yihu.jw.entity.base.system.BaseInterfaceDictDO;
import com.yihu.jw.entity.base.system.BaseInterfaceMonitorDO;
import com.yihu.jw.entity.base.system.BaseSourceDictDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface BaseInterfaceDictDao  extends PagingAndSortingRepository<BaseInterfaceDictDO, String>, JpaSpecificationExecutor<BaseInterfaceDictDO> {
    @Query("from BaseInterfaceDictDO t where t.isDel='1' and t.interfaceName=?1")
    BaseInterfaceDictDO findByinterfaceName(String source);
}

+ 9 - 0
business/base-service/src/main/java/com/yihu/jw/monitor/dao/BaseInterfaceMonitorDao.java

@ -0,0 +1,9 @@
package com.yihu.jw.monitor.dao;
import com.yihu.jw.entity.base.message.BaseMessageDO;
import com.yihu.jw.entity.base.system.BaseInterfaceMonitorDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface BaseInterfaceMonitorDao extends PagingAndSortingRepository<BaseInterfaceMonitorDO, String>, JpaSpecificationExecutor<BaseInterfaceMonitorDO> {
}

+ 12 - 0
business/base-service/src/main/java/com/yihu/jw/monitor/dao/BaseSourceDictDao.java

@ -0,0 +1,12 @@
package com.yihu.jw.monitor.dao;
import com.yihu.jw.entity.base.system.BaseInterfaceDictDO;
import com.yihu.jw.entity.base.system.BaseSourceDictDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface BaseSourceDictDao extends PagingAndSortingRepository<BaseSourceDictDO, String>, JpaSpecificationExecutor<BaseSourceDictDO> {
    @Query("from BaseSourceDictDO t where t.isDel='1' and t.source=?1")
    BaseSourceDictDO findSourceBySource(String source);
}

+ 49 - 0
business/base-service/src/main/java/com/yihu/jw/monitor/service/BaseInterfaceMonitorService.java

@ -0,0 +1,49 @@
package com.yihu.jw.monitor.service;
import com.yihu.jw.entity.base.message.BaseMessageDO;
import com.yihu.jw.entity.base.system.BaseInterfaceDictDO;
import com.yihu.jw.entity.base.system.BaseInterfaceMonitorDO;
import com.yihu.jw.entity.base.system.BaseSourceDictDO;
import com.yihu.jw.message.dao.MessageDao;
import com.yihu.jw.monitor.dao.BaseInterfaceDictDao;
import com.yihu.jw.monitor.dao.BaseInterfaceMonitorDao;
import com.yihu.jw.monitor.dao.BaseSourceDictDao;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.utils.StringUtil;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class BaseInterfaceMonitorService extends BaseJpaService<BaseInterfaceMonitorDO, BaseInterfaceMonitorDao> {
    @Autowired
    private BaseInterfaceMonitorDao baseInterfaceMonitorDao;
    @Autowired
    private BaseSourceDictDao baseSourceDictDao;
    @Autowired
    private BaseInterfaceDictDao baseInterfaceDictDao;
    public void saveInterfaceMonitor(String source ,String functionName,Integer time ,String startTime,String endTime){
        BaseInterfaceMonitorDO baseInterfaceMonitorDO = new BaseInterfaceMonitorDO();
        baseInterfaceMonitorDO.setSource(source);
        BaseSourceDictDO baseSourceDictDO=baseSourceDictDao.findSourceBySource(source);
        if (null!=baseSourceDictDO){
            baseInterfaceMonitorDO.setSourceName(baseSourceDictDO.getSourceName());
        }
        BaseInterfaceDictDO baseInterfaceDictDO=baseInterfaceDictDao.findByinterfaceName(functionName);
        if (null!=baseInterfaceDictDO){
            baseInterfaceMonitorDO.setTypeName(baseInterfaceDictDO.getInterfaceTypeName());
            baseInterfaceMonitorDO.setType(Integer.valueOf(baseInterfaceDictDO.getInterfaceType()));
        }
        baseInterfaceMonitorDO.setTime(time);
        if (StringUtils.isNotBlank(startTime)){
            baseInterfaceMonitorDO.setStartTime(DateUtil.strToDate(startTime));
        }
        if (StringUtils.isNotBlank(startTime)){
            baseInterfaceMonitorDO.setEndTime(DateUtil.strToDate(endTime));
        }
        baseInterfaceMonitorDao.save(baseInterfaceMonitorDO);
    }
}

+ 49 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/system/BaseInterfaceDictDO.java

@ -0,0 +1,49 @@
package com.yihu.jw.entity.base.system;
import com.yihu.jw.entity.UuidIdentityEntityWithCreateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "base_interface_monitor")
public class BaseInterfaceDictDO extends UuidIdentityEntityWithCreateTime {
    private String interfaceType;
    private String interfaceTypeName;
    private String isDel;
    private String interfaceName;
    @Column(name = "interface_type")
    public String getInterfaceType() {
        return interfaceType;
    }
    public void setInterfaceType(String interfaceType) {
        this.interfaceType = interfaceType;
    }
    @Column(name = "interface_type_name")
    public String getInterfaceTypeName() {
        return interfaceTypeName;
    }
    public void setInterfaceTypeName(String interfaceTypeName) {
        this.interfaceTypeName = interfaceTypeName;
    }
    @Column(name = "is_del")
    public String getIsDel() {
        return isDel;
    }
    public void setIsDel(String isDel) {
        this.isDel = isDel;
    }
    @Column(name = "interface_name")
    public String getInterfaceName() {
        return interfaceName;
    }
    public void setInterfaceName(String interfaceName) {
        this.interfaceName = interfaceName;
    }
}

+ 77 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/system/BaseInterfaceMonitorDO.java

@ -0,0 +1,77 @@
package com.yihu.jw.entity.base.system;
import com.yihu.jw.entity.UuidIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
@Entity
@Table(name = "base_interface_monitor")
public class BaseInterfaceMonitorDO extends UuidIdentityEntityWithOperator {
    private String source;
    private String sourceName;
    private Integer type;
    private String typeName;
    private Integer time;
    private Date startTime;
    private Date endTime;
    @Column(name = "source")
    public String getSource() {
        return source;
    }
    public void setSource(String source) {
        this.source = source;
    }
    @Column(name = "source_name")
    public String getSourceName() {
        return sourceName;
    }
    public void setSourceName(String sourceName) {
        this.sourceName = sourceName;
    }
    @Column(name = "type")
    public Integer getType() {
        return type;
    }
    public void setType(Integer type) {
        this.type = type;
    }
    @Column(name = "type_name")
    public String getTypeName() {
        return typeName;
    }
    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }
    @Column(name = "time")
    public Integer getTime() {
        return time;
    }
    public void setTime(Integer time) {
        this.time = time;
    }
    @Column(name = "start_time")
    public Date getStartTime() {
        return startTime;
    }
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }
    @Column(name = "end_time")
    public Date getEndTime() {
        return endTime;
    }
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }
}

+ 40 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/system/BaseSourceDictDO.java

@ -0,0 +1,40 @@
package com.yihu.jw.entity.base.system;
import com.yihu.jw.entity.UuidIdentityEntityWithCreateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "base_source_dict")
public class BaseSourceDictDO extends UuidIdentityEntityWithCreateTime {
    private String source;
    private String sourceName;
    private String isDel;
    @Column(name = "source")
    public String getSource() {
        return source;
    }
    public void setSource(String source) {
        this.source = source;
    }
    @Column(name = "source_name")
    public String getSourceName() {
        return sourceName;
    }
    public void setSourceName(String sourceName) {
        this.sourceName = sourceName;
    }
    @Column(name = "is_del")
    public String getIsDel() {
        return isDel;
    }
    public void setIsDel(String isDel) {
        this.isDel = isDel;
    }
}

+ 21 - 4
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/complaint/BaseComplaintEndPoint.java

@ -241,6 +241,8 @@ public class BaseComplaintEndPoint  extends EnvelopRestEndpoint {
                                 @RequestParam(value = "doctor", required = false) String doctor,
                                 @ApiParam(name = "status", value = "status", required = false)
                                 @RequestParam(value = "status", required = false) String status,
                                     @ApiParam(name = "role", value = "role", required = false)
                                         @RequestParam(value = "role", required = false) String role,
                                 @ApiParam(name = "patientName", value = "patientName", required = false)
                                 @RequestParam(value = "patientName", required = false) String patientName,
                                 @ApiParam(name = "patientId", value = "patientId", required = false)
@ -258,7 +260,7 @@ public class BaseComplaintEndPoint  extends EnvelopRestEndpoint {
                                 @ApiParam(name = "startTime", value = "startTime", required = false)
                                 @RequestParam(value = "startTime", required = false) String startTime) throws Exception {
        try {
            return success(baseComplaintService.findComplaintList( doctor, status, patientName, patientId, keyWord,complaintId,
            return success(baseComplaintService.findComplaintList(role, doctor, status, patientName, patientId, keyWord,complaintId,
                     startTime, endTime, page , pageSize)) ;
        }catch (Exception e){
            return failedException(e);
@ -318,12 +320,27 @@ public class BaseComplaintEndPoint  extends EnvelopRestEndpoint {
    @GetMapping(value = "/findComplaintCount")
    @ApiOperation(value = "查询投诉建议数量", notes = "查询投诉建议单挑")
    public Envelop findComplaintCount(@ApiParam(name = "doctor", value = "doctor", required = false)
                                          @RequestParam(value = "doctor", required = false) String doctor) throws Exception {
                                      @RequestParam(value = "doctor", required = false) String doctor,
                                      @ApiParam(name = "role", value = "role", required = false)
                                      @RequestParam(value = "role", required = false) String role) throws Exception {
        try {
            return success(baseComplaintService.findComplaintCount(doctor)) ;
            return success(baseComplaintService.findComplaintCount(doctor,role)) ;
        }catch (Exception e){
            return failedException(e);
        }
    }
    /**
     * 查询投诉建议单挑
     * @return
     */
    @GetMapping(value = "/findComplaintCountByPatient")
    @ApiOperation(value = "患者查询投诉建议数量", notes = "患者查询投诉建议数量")
    public Envelop findComplaintCountByPatient(@ApiParam(name = "patient", value = "patient", required = false)
                                      @RequestParam(value = "patient", required = false) String patient) throws Exception {
        try {
            return success(baseComplaintService.findComplaintCountPatient(patient)) ;
        }catch (Exception e){
            return failedException(e);
        }
    }
}