liubing 4 rokov pred
rodič
commit
5b4d04ed83

+ 4 - 1
common/common-entity/sql记录

@ -487,4 +487,7 @@ CREATE TABLE `base_device_sos_log` (
  `sos_send_message` varchar(500) DEFAULT NULL COMMENT '紧急救助发起返回消息',
  `create_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='设备紧急救助日志表';
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='设备紧急救助日志表';
-- 2021-05-10 lb
ALTER table base.base_emergency_assistance_order add column `order_source` tinyint(4) DEFAULT '1' COMMENT '工单发起来源状态 1APP 2手环3居家报警'

+ 9 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/care/assistance/EmergencyAssistanceDO.java

@ -38,6 +38,7 @@ public class EmergencyAssistanceDO extends UuidIdentityEntityWithOperator {
    private Date completeTime;//完成时间
    private String teamCode;
    private Integer type; //发起类型(1本人发起 2家人待预约 3医生代预约)
    private Integer orderSource;//工单发起来源状态 1APP 2手环 3居家报警
    private String sendMessage;//
    private Integer patientAge;
@ -290,4 +291,12 @@ public class EmergencyAssistanceDO extends UuidIdentityEntityWithOperator {
    public void setOtherDoctorDistance(String otherDoctorDistance) {
        this.otherDoctorDistance = otherDoctorDistance;
    }
    public Integer getOrderSource() {
        return orderSource;
    }
    public void setOrderSource(Integer orderSource) {
        this.orderSource = orderSource;
    }
}

+ 4 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/assistance/EmergencyAssistanceEndpoint.java

@ -32,10 +32,12 @@ public class EmergencyAssistanceEndpoint extends EnvelopRestEndpoint {
    public ObjEnvelop newOrder(@ApiParam(name="patientId",value = "居民id")
                               @RequestParam(value = "patientId") String patientId,
                               @ApiParam(name="jsonData",value = "创建工单json")
                               @RequestParam(value = "jsonData") String jsonData
                               @RequestParam(value = "jsonData") String jsonData,
                               @ApiParam(name="orderSource",value = "工单来源工单发起来源状态 1APP 2手环 3居家报警")
                               @RequestParam(value = "orderSource",defaultValue = "1") Integer orderSource
                               ){
        try {
            JSONObject result = assistanceService.newOrder(patientId,jsonData,getUID());
            JSONObject result = assistanceService.newOrder(patientId,jsonData,getUID(),orderSource);
            if (result.getIntValue(ResponseContant.resultFlag) == ResponseContant.fail) {
                return ObjEnvelop.getError(result.getString(ResponseContant.resultMsg));
            }

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/device/PatientDeviceController.java

@ -173,7 +173,7 @@ public class PatientDeviceController extends BaseController {
    @RequestMapping(value = "patientDeviceListByTopic", method = RequestMethod.GET)
    public ListEnvelop patientDeviceListByTopic(@ApiParam(name = "patient", value = "patient", defaultValue = "patient")
                                                @RequestParam(value = "patient", required = true) String patient,
                                                @ApiParam(name = "topic", value = "专题CODE;preventLost防走失", defaultValue = "topic")
                                                @ApiParam(name = "topic", value = "专题CODE;preventLost防走失", defaultValue = "preventLost")
                                                @RequestParam(value = "topic", required = true) String topic) {
        try {
            return ListEnvelop.getSuccess("查询成功",  patientDeviceService.patientDeviceListByTopic(patient,topic));

+ 28 - 6
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/doctor/DoctorEndpoint.java

@ -6,6 +6,7 @@ import com.yihu.jw.care.service.doctor.CareDoctorService;
import com.yihu.jw.care.service.sign.CapacityAssessmentRecordService;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
@ -95,19 +96,40 @@ public class DoctorEndpoint extends EnvelopRestEndpoint {
        return success("保存成功");
    }
    @GetMapping(value = "getOrgDoctor")
    @ApiOperation(value = "医生通讯录机构详情查询")
    public ObjEnvelop getOrgDoctor(
    @GetMapping(value = "getOrgList")
    @ApiOperation(value = "医生通讯录机构科室列表")
    public ListEnvelop getOrgList(
            @ApiParam(name = "doctorId", value = "doctorId", required = false)
            @RequestParam(value = "doctorId",required = false) String doctorId,
            @ApiParam(name = "orgType", value = "1,2医疗机构 3养老机构,4托育机构")
            @RequestParam(value = "orgType") String orgType
            @RequestParam(value = "orgType",defaultValue = "1,2") String orgType
    ){
        try {
            if (orgType.equals("3")&&StringUtils.isBlank(doctorId)){
                return ObjEnvelop.getError("参数错误");
                return ListEnvelop.getError("参数错误");
            }
            return ObjEnvelop.getSuccess("查询成功", doctorService.getOrgDoctor(doctorId,orgType));
            return ListEnvelop.getSuccess("查询成功", doctorService.getOrgList(doctorId,orgType));
        }catch (Exception e){
            e.printStackTrace();
            return ListEnvelop.getError("查询失败");
        }
    }
    @GetMapping(value = "getOrgDoctor")
    @ApiOperation(value = "医生通讯录机构医生查询")
    public ObjEnvelop getOrgDoctor(
            @ApiParam(name = "orgCode", value = "orgCode")
            @RequestParam(value = "orgCode") String orgCode,
            @ApiParam(name = "deptCode", value = "deptCode")
            @RequestParam(value = "deptCode",required = false) String deptCode,
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1")
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size
    ){
        try {
            return ObjEnvelop.getSuccess("查询成功", doctorService.getOrgDoctor(orgCode,deptCode,page,size));
        }catch (Exception e){
            e.printStackTrace();
            return ObjEnvelop.getError("查询失败");

+ 4 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/third/assistance/EmeAsEndpoint.java

@ -29,10 +29,12 @@ public class EmeAsEndpoint extends EnvelopRestEndpoint {
    public ObjEnvelop newOrder(@ApiParam(name="patientId",value = "居民id")
                               @RequestParam(value = "patientId") String patientId,
                               @ApiParam(name="jsonData",value = "创建工单json")
                               @RequestParam(value = "jsonData") String jsonData
                               @RequestParam(value = "jsonData") String jsonData,
                               @ApiParam(name="orderSource",value = "工单来源工单发起来源状态 1APP 2手环 3居家报警")
                               @RequestParam(value = "orderSource",defaultValue = "1") Integer orderSource
    ){
        try {
            JSONObject result = assistanceService.newOrder(patientId,jsonData,getUID());
            JSONObject result = assistanceService.newOrder(patientId,jsonData,getUID(),orderSource);
            if (result.getIntValue(ResponseContant.resultFlag) == ResponseContant.fail) {
                return ObjEnvelop.getError(result.getString(ResponseContant.resultMsg));
            }

+ 2 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/assistance/EmergencyAssistanceService.java

@ -72,7 +72,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
     * @param jsonData
     * @return
     */
    public JSONObject newOrder(String patient,String jsonData,String proxyPatient) throws Exception{
    public JSONObject newOrder(String patient,String jsonData,String proxyPatient,Integer orderSource) throws Exception{
        JSONObject result = new JSONObject();
        EmergencyAssistanceDO assistanceDO = JSON.parseObject(jsonData,EmergencyAssistanceDO.class);
        BasePatientDO patientDO = patientDao.findById(patient);
@ -82,6 +82,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
            result.put(ResponseContant.resultMsg,failMsg);
            return result;
        }
        assistanceDO.setOrderSource(orderSource);
        assistanceDO.setStatus(1);
        assistanceDO.setPatient(patient);
        assistanceDO.setPatientIdcard(patientDO.getIdcard());

+ 4 - 3
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/device/PatientDeviceService.java

@ -416,13 +416,14 @@ public class PatientDeviceService extends BaseJpaService<DevicePatientDevice, Pa
    }
    public List<Map<String,Object>> patientDeviceListByTopic(String patient,String serviceTopic){
        String sql = "select dd.photo,dd.brands,dd.category_code,dd.model,pd.device_name,pd.czrq deviceTime from dm_device dd INNER JOIN wlyy_patient_device pd on dd.category_code = pd.category_code\n" +
        String sql = "select dd.photo,pd.device_sn,dd.brands,dd.category_code,dd.model,pd.device_name,date_format(pd.czrq,'%Y-%m-%d %H:%i:%S' ) deviceTime " +
                "from dm_device dd INNER JOIN wlyy_patient_device pd on dd.category_code = pd.category_code\n" +
                "where 1=1 and  pd.del=0 ";
        if (StringUtils.isNotBlank(patient)) {
        sql += " pd.`user`='" + patient + "' ";
        sql += " and  pd.`user`='" + patient + "' ";
        }
        if (StringUtils.isNotBlank(serviceTopic)) {
            sql+= " and dd.service_topic='preventLost' ";
            sql+= " and dd.service_topic='"+serviceTopic+"' ";
        }
        sql+=" order by pd.czrq asc ";
        return jdbcTemplate.queryForList(sql);

+ 51 - 28
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/doctor/CareDoctorService.java

@ -15,6 +15,7 @@ import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.util.common.IdCardUtil;
import com.yihu.jw.utils.StringUtil;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -134,39 +135,61 @@ public class CareDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
        return true;
    }
    public Map<String,Object> getOrgDoctor(String doctorId,String orgType){
        List<BaseOrgDO> orgList = new ArrayList<>();
        Map<String,Object> orgListMap = new HashMap<>();
        Map<String,Object> result = new HashMap<>();
        if (orgType.equals("3")){//养老机构
            orgList = orgDao.findByDoctorAndType(doctorId,"3");
    public List<Map<String,Object>> getOrgList(String doctorId,String orgType){
        List<Map<String,Object>> result = new ArrayList<>();
        String sql ="SELECT org.code org_code,org.`name`,org.type from base_org org  where  org.del=1 ";
        if (orgType.equals("3")){
            sql= " SELECT org.code org_code,org.`name`,org.type from base_org org,base_doctor_hospital dh  where dh.org_code = org.code " +
                    "and  org.del=1 and dh.del=1 and doctor_code='"+doctorId+"' and org.type=3 GROUP BY org.`code` ";
        }
        if (orgType.equals("1,2")){//医疗机构
            orgList = orgDao.findByTypeIn(new String[]{"1","2"});
        else if (orgType.equals("1,2")){//医疗机构
           sql+=" and org.type in(1,2) ";
        }
        if (orgType.equals("4")){//托育机构
            orgList = orgDao.findByDoctorAndType(doctorId,"4");
        else {
            sql+=" and org.type='"+orgType+"' ";
        }
        List<Map<String,Object>> doctorList = new ArrayList<>();
        if (orgList.size()==0){
            return new HashMap<>();
        sql+=" ORDER BY org.`code` asc";
        List<Map<String,Object>> tmpList = jdbcTemplate.queryForList(sql);
        for (Map<String,Object>tmp:tmpList){
            sql ="select dict.code deptCode,dict.name deptName " +
                    "from base_org org LEFT JOIN dict_hospital_dept dict on org.code = dict.org_code  where org.del=1 " +
                    "and org.code ='"+tmp.get("org_code").toString()+"' ORDER BY dict.`code` asc ";
            List<Map<String,Object>> deptList = jdbcTemplate.queryForList(sql);
            tmp.put("deptList",deptList);
        }
        for (BaseOrgDO org:orgList){
            String sql = "select dh.org_code,dh.org_name,doc.id,doc.name,doc.mobile,doc.photo,dict.code deptCode,dict.name deptName,dh.doctor_duty_code job,dh.doctor_duty_name jobName\n" +
                    "from base_doctor_hospital dh,dict_hospital_dept dict,base_doctor doc where  dh.doctor_code = doc.id  " +
                    "and dh.dept_code = dict.`code` and dh.org_code = dict.org_code and dh.del=1 and dh.org_code='"+org.getCode()+"' GROUP BY doc.id" ;
            List<Map<String,Object>> tmpList = jdbcTemplate.queryForList(sql);
            Map<String,List<Map<String,Object>>> docTmp = tmpList.stream().collect(Collectors.groupingBy(e->e.get("deptCode").toString()));
          Map<String,String> deptList = tmpList.stream().collect(Collectors.toMap(s->s.get("deptCode").toString(),s->s.get("deptName").toString(),(oldVal, currVal) -> currVal));
            Map<String,Object> tmpMap = new HashMap<>();
            tmpMap.put("orgCode",org.getCode());
            tmpMap.put("orgName",org.getName());
//            tmpMap.put("deptList",deptList);
            orgListMap.put(org.getCode(),tmpMap);
            doctorList.addAll(tmpList);
        }
        result.put("orgList",orgListMap);
        System.out.println(1);
        return tmpList;
    }
    public JSONObject getOrgDoctor(String orgCode,String deptCode,int page,int size){
        JSONObject result = new JSONObject();
        String count = "select count(Distinct doc.id)\n" +
                "from base_doctor_hospital dh,dict_hospital_dept dict,base_doctor doc where  dh.doctor_code = doc.id  " +
                "and dh.dept_code = dict.`code` and dh.org_code = dict.org_code and dh.del=1 and dh.org_code='"+orgCode+"' " ;
        if (StringUtils.isNotBlank(deptCode)){
            count+=" and dict.code='"+deptCode+"' ";
        }
        String sql = "select dh.org_code,dh.org_name,doc.id,doc.name,doc.mobile,doc.photo,dict.code deptCode,dict.name deptName,dh.doctor_duty_code job,dh.doctor_duty_name jobName\n" +
                "from base_doctor_hospital dh,dict_hospital_dept dict,base_doctor doc where  dh.doctor_code = doc.id  " +
                "and dh.dept_code = dict.`code` and dh.org_code = dict.org_code and dh.del=1 and dh.org_code='"+orgCode+"' ";
        if (StringUtils.isNotBlank(deptCode)){
            sql+=" and dict.code='"+deptCode+"' ";
        }
        sql+=" GROUP BY doc.id limit "+(page-1)*size+","+size;
        List<Map<String,Object>> tmpList = jdbcTemplate.queryForList(sql);
        Integer total = jdbcTemplate.queryForObject(count,Integer.class);
        result.put("total",total);
        int totalPage = 0;
        if (total%size==0){
            totalPage = total/size;
        }
        else {
            totalPage = total/size+1;
        }
        result.put("totalPage",totalPage);
        result.put("doctorList",tmpList);
        return result;
    }

+ 3 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/security/SecurityMonitoringOrderService.java

@ -938,8 +938,9 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
                    Double lon = locationTmp.getJSONArray("coordinates").getDouble(0);
                    Double lat = locationTmp.getJSONArray("coordinates").getDouble(1);
                    JSONObject tmp = gpsUtil.gcj02_To_Bd09(lat,lon);
                    tmp.put("city",locationTmp.getString("city"));
                    tmp.put("address",locationTmp.getString("address"));
                    tmp.put("city",response.getString("last_city"));
                    tmp.put("province",response.getString("last_province"));
                    tmp.put("address",response.getString("last_address"));
                    result.put("location",tmp);
                }
                //围栏信息

+ 6 - 0
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/service/DeviceService.java

@ -163,6 +163,12 @@ public class DeviceService {
                String url = cloudCareUrl+"cloudCare/noLogin/emergency_assistance/newOrder";
                Map map = new HashMap<String, String>();
                map.put("patientId", logDO.getPatient());
                if (deviceDO.getCategoryCode().equals("4")) {
                    map.put("orderSource", 2); //工单来源工单发起来源状态 1APP 2手环 3居家报警
                }
                if (deviceDO.getCategoryCode().equals("7")) {
                    map.put("orderSource", 3);
                }
                map.put("jsonData", jsonObject.toJSONString());
                String content = com.alibaba.fastjson.JSONObject.toJSONString(map);
                String postParams = AesEncryptUtils.agEncrypt(content);