Browse Source

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

yeshijie 3 years ago
parent
commit
0d764b4e47
21 changed files with 452 additions and 66 deletions
  1. 14 0
      common/common-entity/sql记录
  2. 92 0
      common/common-entity/src/main/java/com/yihu/jw/entity/door/BaseAdminServiceDynamic.java
  3. 15 0
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/lifeCare/BaseAdminServiceDynamicDao.java
  4. 113 0
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/admin/AdminDoorCoachOrderController.java
  5. 6 6
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/device/PatientDeviceController.java
  6. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/statistics/DetectionPlatformEndpoint.java
  7. 6 6
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/third/device/PDeviceController.java
  8. 32 0
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/admin/AdminDoorCoachOrderService.java
  9. 2 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/assistance/EmergencyAssistanceService.java
  10. 8 5
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/device/PatientDeviceService.java
  11. 50 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/doorCoach/DoctorDoorCoachOrderService.java
  12. 20 0
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/doorCoach/PatientDoorCoachOrderService.java
  13. 36 5
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/lifeCare/LifeCareOrderService.java
  14. 6 8
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/security/SecurityMonitoringOrderService.java
  15. 13 13
      svr/svr-cloud-device/src/main/java/com/yihu/jw/care/endpoint/DeviceController.java
  16. 4 0
      svr/svr-cloud-device/src/main/java/com/yihu/jw/care/service/DeviceService.java
  17. 7 3
      svr/svr-cloud-device/src/main/java/com/yihu/jw/care/service/DeviceUploadService.java
  18. 2 2
      svr/svr-cloud-device/src/main/java/com/yihu/jw/care/service/HvDeviceService.java
  19. 1 1
      svr/svr-cloud-device/src/main/java/com/yihu/jw/care/service/YsDeviceService.java
  20. 17 10
      svr/svr-cloud-device/src/main/java/com/yihu/jw/care/util/SecurityOrderUtil.java
  21. 6 2
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/job/device/PatientSosContactsJob.java

+ 14 - 0
common/common-entity/sql记录

@ -1393,3 +1393,17 @@ ALTER table base_patient_sos_contacts add column update_info VARCHAR(1000) defau
-- 20210828
alter table base_patient add `sign_status` tinyint(1) DEFAULT NULL COMMENT '签约状态 1已签约 0未签约';
-- 20210831 已执行
CREATE TABLE `base_admin_service_dynamic` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `patient` varchar(255) DEFAULT NULL COMMENT '居民code',
  `name` varchar(50) DEFAULT NULL COMMENT '居民姓名',
  `type` int(1) DEFAULT NULL COMMENT '1上门辅导   2生活照料',
  `number` varchar(20) DEFAULT NULL COMMENT '工单编号',
  `value` varchar(255) DEFAULT NULL COMMENT '操作',
  `doctor` varchar(255) DEFAULT NULL COMMENT '接单医生code',
  `doctor_name` varchar(255) DEFAULT NULL COMMENT '接单医生',
  `create_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='调度分析,管理员调度实时动态';

+ 92 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/door/BaseAdminServiceDynamic.java

@ -0,0 +1,92 @@
package com.yihu.jw.entity.door;
/***
 * @ClassName: BaseAdminServiceDynamic
 * @Description:
 * @Auther: shi kejing
 * @Date: 2021/8/31 15:24
 */
import com.yihu.jw.entity.iot.gateway.IdEntity;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@Entity
@Table(name = "base_admin_service_dynamic")
@SequenceGenerator(name="id_generated", sequenceName="base_admin_service_dynamic")
public class BaseAdminServiceDynamic extends IdEntity {
    private String patient;
    private String name;
    private Integer type;  //1上门辅导   2生活照料
    private String number;
    private String value;
    private String createTime;
    private String doctor;
    private String doctorName;
    public String getPatient() {
        return patient;
    }
    public void setPatient(String patient) {
        this.patient = patient;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getType() {
        return type;
    }
    public void setType(Integer type) {
        this.type = type;
    }
    public String getNumber() {
        return number;
    }
    public void setNumber(String number) {
        this.number = number;
    }
    public String getValue() {
        return value;
    }
    public void setValue(String value) {
        this.value = value;
    }
    public String getCreateTime() {
        return createTime;
    }
    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }
    public String getDoctor() {
        return doctor;
    }
    public void setDoctor(String doctor) {
        this.doctor = doctor;
    }
    public String getDoctorName() {
        return doctorName;
    }
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }
}

+ 15 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/lifeCare/BaseAdminServiceDynamicDao.java

@ -0,0 +1,15 @@
package com.yihu.jw.care.dao.lifeCare;
import com.yihu.jw.entity.care.lifeCare.LifeCareOrderDO;
import com.yihu.jw.entity.door.BaseAdminServiceDynamic;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/***
 * @ClassName: BaseAdminServiceDynamicDao
 * @Description:
 * @Auther: shi kejing
 * @Date: 2021/8/31 15:28
 */
public interface BaseAdminServiceDynamicDao extends PagingAndSortingRepository<BaseAdminServiceDynamic, String>, JpaSpecificationExecutor<BaseAdminServiceDynamic> {
}

+ 113 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/admin/AdminDoorCoachOrderController.java

@ -0,0 +1,113 @@
package com.yihu.jw.care.endpoint.admin;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.endpoint.BaseController;
import com.yihu.jw.care.service.admin.AdminDoorCoachOrderService;
import com.yihu.jw.care.service.doorCoach.DoctorDoorCoachOrderService;
import com.yihu.jw.restmodel.ResponseContant;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
/***
 * @ClassName: AdminDoorCoachOrderController
 * @Description: 管理员调度端终端
 * @Auther: shi kejing
 * @Date: 2021/8/31 14:38
 */
@RestController
@RequestMapping(value = "/admin/doorCoach/serviceOrder", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@Api(description = "医生端-上门辅导")
public class AdminDoorCoachOrderController extends EnvelopRestEndpoint {
    @Autowired
    private DoctorDoorCoachOrderService doctorDoorCoachOrderService;
    @Autowired
    private AdminDoorCoachOrderService adminDoorCoachOrderService;
    private BaseController baseController = new BaseController();
    @GetMapping(value = "queryBriefList")
    @ApiOperation(value = "调度员查询工单列表")
    public String queryBriefList(
            @ApiParam(name = "dispatcher", value = "调度员code") @RequestParam(value = "dispatcher", required = true) String dispatcher,
            @ApiParam(name = "hospital", value = "调度员所在机构code") @RequestParam(value = "hospital", required = true) String hospital,
            @ApiParam(name = "orderNumber", value = "工单号") @RequestParam(value = "orderNumber", required = false) String orderNumber,
            @ApiParam(name = "patientName", value = "工单服务对象姓名") @RequestParam(value = "patientName", required = false) String patientName,
            @ApiParam(name = "phone", value = "发起工单的居民的联系方式") @RequestParam(value = "phone", required = false) String phone,
            @ApiParam(name = "status", value = "工单状态") @RequestParam(value = "status", required = false) Integer status,
            @ApiParam(name = "patientType", value = "居民类型") @RequestParam(value = "patientType", required = false) String patientType,
            @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{
            JSONObject result = doctorDoorCoachOrderService.queryBriefList(dispatcher,hospital, orderNumber, patientName, phone, status,patientType, page, size);
            if (result.getIntValue(ResponseContant.resultFlag) == ResponseContant.fail) {
                return baseController.error(-1,result.getString(ResponseContant.resultMsg));
            }
            int count = result.getIntValue(ResponseContant.count);
            JSONObject object = new JSONObject();
            object.put("total",count);
            object.put("detailModelList",result.get(ResponseContant.resultMsg));
            object.put("currPage",page);
            object.put("pageSize",size);
            return baseController.write(200,"查询成功","data",object);
        }catch (Exception e){
            return baseController.errorResult(e);
        }
    }
    @GetMapping(value = "queryDoctorList")
    @ApiOperation(value = "服务人员列表(医生列表)")
    public String queryDoctorList(
            @ApiParam(name = "hospital", value = "调度员所在的机构code") @RequestParam(value = "hospital", required = false) String hospital,
            @ApiParam(name = "doctorName", value = "医生姓名") @RequestParam(value = "doctorName", required = false) String doctorName,
            @ApiParam(name = "status", value = "医生接单状态,状态为全部时不传") @RequestParam(value = "status", required = false) String status,
            @ApiParam(name = "patient", value = "居民code") @RequestParam(value = "patient", required = false) String patient,
            @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{
            doctorDoorCoachOrderService.initDoorStatus(hospital);
            JSONObject result = doctorDoorCoachOrderService.queryDoctorList(patient,hospital, doctorName, status, page, size);
            if (result.getIntValue(ResponseContant.resultFlag) == ResponseContant.fail) {
                return baseController.error(-1,result.getString(ResponseContant.resultMsg));
            }
            int count = result.getIntValue(ResponseContant.count);
            JSONObject object = new JSONObject();
            object.put("total",count);
            if (count > 0){
                object.put("detailModelList",result.get(ResponseContant.resultMsg));
            }else {
                List list = new ArrayList();
                object.put("detailModelList",list);
            }
            object.put("currPage",page);
            object.put("pageSize",size);
            return baseController.write(200,"查询成功","data",object);
        }catch (Exception e){
            return baseController.errorResult(e);
        }
    }
    @GetMapping(value = "getServiceDynamic")
    @ApiOperation(value = "管理员调度实时动态")
    public String getServiceDynamic(
            @ApiParam(name = "page", value = "分页大小", required = true) @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true) @RequestParam(value = "size") int size) {
        try{
            return baseController.write(200,"查询成功","data",adminDoorCoachOrderService.getServiceDynamic(page,size));
        }catch (Exception e){
            return baseController.errorResult(e);
        }
    }
}

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

@ -327,16 +327,16 @@ public class PatientDeviceController extends BaseController {
    public String updateDeviceFenceArea(@ApiParam(name = "deviceSn",value = "设备sn码")
                                        @RequestParam(value = "deviceSn",required = true)String deviceSn,
                                        @ApiParam(name = "fenceNO",value = "安全区编号")
                                        @RequestParam(value = "fenceNO",required = false)Integer fenceNO,
                                        @RequestParam(value = "fenceNO",defaultValue = "1",required = false)Integer fenceNO,
                                        @ApiParam(name = "enable",value = "0,1 是否启用")
                                        @RequestParam(value = "enable",required = false)String enable,
                                        @RequestParam(value = "enable",defaultValue = "1",required = false)String enable,
                                        @ApiParam(name = "name",value = "安全区名称")
                                        @RequestParam(value = "name",required = false)String name,
                                        @RequestParam(value = "name",defaultValue = "安全区域1",required = false)String name,
                                        @ApiParam(name = "freq",value = "0,触发一天;1,每日触发 ")
                                        @RequestParam(value = "freq",required = false)String freq,
                                        @ApiParam(name = "time_begin",value = "目标时间与当日0点之间相差的秒数 ")
                                        @RequestParam(value = "freq",defaultValue = "1",required = false)String freq,
                                        @ApiParam(name = "time_begin",defaultValue = "0",value = "目标时间与当日0点之间相差的秒数 ")
                                        @RequestParam(value = "time_begin",defaultValue = "0",required = false)String time_begin,
                                        @ApiParam(name = "time_end",value = "同上 ")
                                        @ApiParam(name = "time_end",defaultValue = "86400",value = "同上 ")
                                        @RequestParam(value = "time_end",defaultValue = "86400",required = false)String time_end,
                                        @ApiParam(name = "safe_area",value = "lon1,lat1;lon2,lat2; 5个坐标 形成一个封闭区域  A;B;C;D;A ")
                                        @RequestParam(value = "safe_area",required = false)String safe_area,

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/statistics/DetectionPlatformEndpoint.java

@ -146,8 +146,8 @@ public class DetectionPlatformEndpoint extends EnvelopRestEndpoint {
                                       @RequestParam(value = "pageSize")Integer pageSize){
        try {
            org.json.JSONObject result = patientDeviceService.getPatientDeviceData(patient,deviceSn,page,pageSize);
            if (result.getInt(ResponseContant.resultFlag)==ResponseContant.success){
            com.alibaba.fastjson.JSONObject result = patientDeviceService.getPatientDeviceData(patient,deviceSn,page,pageSize);
            if (result.getInteger(ResponseContant.resultFlag)==ResponseContant.success){
                return success(JSON.parseObject(result.getString(ResponseContant.resultMsg)));
            }else {
                return success(result.getString(ResponseContant.resultMsg), -1);

+ 6 - 6
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/third/device/PDeviceController.java

@ -108,17 +108,17 @@ public class PDeviceController extends BaseController {
    public String updateDeviceFenceArea(@ApiParam(name = "deviceSn",value = "设备sn码")
                                        @RequestParam(value = "deviceSn",required = true)String deviceSn,
                                        @ApiParam(name = "fenceNO",value = "安全区编号")
                                        @RequestParam(value = "fenceNO",required = false)Integer fenceNO,
                                        @RequestParam(value = "fenceNO",defaultValue = "1",required = false)Integer fenceNO,
                                        @ApiParam(name = "enable",value = "0,1 是否启用")
                                        @RequestParam(value = "enable",required = false)String enable,
                                        @RequestParam(value = "enable",defaultValue = "1",required = false)String enable,
                                        @ApiParam(name = "name",value = "安全区名称")
                                        @RequestParam(value = "name",required = false)String name,
                                        @RequestParam(value = "name",defaultValue = "安全区域1",required = false)String name,
                                        @ApiParam(name = "freq",value = "0,触发一天;1,每日触发 ")
                                        @RequestParam(value = "freq",required = false)String freq,
                                        @RequestParam(value = "freq",defaultValue = "1",required = false)String freq,
                                        @ApiParam(name = "time_begin",defaultValue = "0",value = "目标时间与当日0点之间相差的秒数 ")
                                        @RequestParam(value = "time_begin",required = false)String time_begin,
                                        @RequestParam(value = "time_begin",defaultValue = "0",required = false)String time_begin,
                                        @ApiParam(name = "time_end",defaultValue = "86400",value = "同上 ")
                                        @RequestParam(value = "time_end",required = false)String time_end,
                                        @RequestParam(value = "time_end",defaultValue = "86400",required = false)String time_end,
                                        @ApiParam(name = "safe_area",value = "lon1,lat1;lon2,lat2; 5个坐标 形成一个封闭区域  A;B;C;D;A ")
                                        @RequestParam(value = "safe_area",required = false)String safe_area,
                                        @ApiParam(name = "clear",value = "删除标志,删除传1")

+ 32 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/admin/AdminDoorCoachOrderService.java

@ -0,0 +1,32 @@
package com.yihu.jw.care.service.admin;
import com.yihu.jw.care.dao.lifeCare.BaseAdminServiceDynamicDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/***
 * @ClassName: AdminDoorCoachOrderService
 * @Description:
 * @Auther: shi kejing
 * @Date: 2021/8/31 16:40
 */
@Service
public class AdminDoorCoachOrderService {
    @Autowired
    private BaseAdminServiceDynamicDao baseAdminServiceDynamicDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    public List<Map<String , Object>> getServiceDynamic(Integer page,Integer size){
        size = (page-1)*size;
        String sql = "SELECT * FROM base_admin_service_dynamic ORDER BY create_time DESC LIMIT "+page+","+size+"";
        List<Map<String , Object>> list = jdbcTemplate.queryForList(sql);
        return list;
    }
}

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

@ -296,8 +296,8 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
            if (StringUtils.isNotBlank(assistanceDO.getDeviceSn())){
                List<BaseYxDeviceIndex> points = yxDeviceIndexDao.findBySn(assistanceDO.getDeviceSn());
                if (points.size()>0){
                    long lat = Long.parseLong(points.get(0).getLat());
                    long lon = Long.parseLong(points.get(0).getLon());
                    double lat = Double.parseDouble(points.get(0).getLat());
                    double lon = Double.parseDouble(points.get(0).getLon());
                    if (!(lat==0.0&&lon==0.0)){
                        assistanceDO.setServeAddress(LatitudeUtils.getLocationAddress(lat+"",lon+""));
                        assistanceDO.setServeLat(lat+"");

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

@ -1068,9 +1068,9 @@ public class PatientDeviceService extends BaseJpaService<DevicePatientDevice, Pa
     * @param deviceSn 设备sn码
     * @return
     */
    public JSONObject getPatientDeviceData(String patient,String deviceSn,Integer page,Integer pageSize)throws Exception{
    public com.alibaba.fastjson.JSONObject getPatientDeviceData(String patient,String deviceSn,Integer page,Integer pageSize)throws Exception{
        page = page>0?page-1:0;
        JSONObject result = new JSONObject();
        com.alibaba.fastjson.JSONObject result = new com.alibaba.fastjson.JSONObject();
        List<DevicePatientDevice> devices = patientDeviceDao.findByDeviceSn(deviceSn);
        if (devices.size()>0){
            DevicePatientDevice device = devices.get(0);
@ -1097,7 +1097,7 @@ public class PatientDeviceService extends BaseJpaService<DevicePatientDevice, Pa
        return result;
    }
    public JSONObject getHealthIndex(JSONObject result,Integer type,String deviceSn,String patient,Integer page,Integer pageSize){
    public com.alibaba.fastjson.JSONObject getHealthIndex(com.alibaba.fastjson.JSONObject result,Integer type,String deviceSn,String patient,Integer page,Integer pageSize){
        page = page>0?page-1:0;
        Long count =0l;
        PageRequest pageRequest = new PageRequest(page, pageSize);
@ -1199,7 +1199,7 @@ public class PatientDeviceService extends BaseJpaService<DevicePatientDevice, Pa
        return result;
    }
    public JSONObject getEmeWarn(JSONObject result,String deviceSn,String patient,Integer page,Integer pageSize){
    public com.alibaba.fastjson.JSONObject getEmeWarn(com.alibaba.fastjson.JSONObject result,String deviceSn,String patient,Integer page,Integer pageSize){
        String sqlCount = "select SUM(total) from( \n" +
                "select count(ord.id) as total from base_emergency_assistance_order ord  where ord.device_sn='"+deviceSn+"' " +
@ -1224,10 +1224,13 @@ public class PatientDeviceService extends BaseJpaService<DevicePatientDevice, Pa
        long count = jdbcTemplate.queryForObject(sqlCount,long.class);
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        String str = JSON.toJSONString(list,SerializerFeature.WriteMapNullValue);
        com.alibaba.fastjson.JSONArray arr = com.alibaba.fastjson.JSONArray.parseArray(str);
        result.put("total",count);
        result.put("page",page+1);
        result.put("pageSize",pageSize);
        result.put("dataList",list);
        result.put("dataList", arr);
        return result;
    }

+ 50 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/doorCoach/DoctorDoorCoachOrderService.java

@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.care.dao.doorCoach.*;
import com.yihu.jw.care.dao.lifeCare.BaseAdminServiceDynamicDao;
import com.yihu.jw.care.service.consult.ConsultTeamService;
import com.yihu.jw.care.util.EntranceUtil;
import com.yihu.jw.care.util.MessageUtil;
@ -17,6 +18,7 @@ import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
import com.yihu.jw.entity.care.doorCoach.*;
import com.yihu.jw.entity.door.BaseAdminServiceDynamic;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.hospital.message.dao.SystemMessageDao;
import com.yihu.jw.hospital.prescription.dao.PrescriptionDao;
@ -94,7 +96,8 @@ public class DoctorDoorCoachOrderService {
    private BaseOrgDao hospitalDao;
    @Autowired
    private ConsultTeamService consultTeamService;
    @Autowired
    private BaseAdminServiceDynamicDao baseAdminServiceDynamicDao;
    @Autowired
    private MessageDao messageDao;
    @Autowired
@ -401,6 +404,21 @@ public class DoctorDoorCoachOrderService {
        baseDoorCoachOrderDao.save(doorServiceOrder);
        try {
            BaseAdminServiceDynamic adminServiceDynamic = new BaseAdminServiceDynamic();
            adminServiceDynamic.setCreateTime(DateUtil.getTime());
            adminServiceDynamic.setName(doorServiceOrder.getPatientName());
            adminServiceDynamic.setPatient(doorServiceOrder.getPatient());
            adminServiceDynamic.setDoctor(doorServiceOrder.getDoctor());
            adminServiceDynamic.setDoctorName(doorServiceOrder.getDoctorName());
            adminServiceDynamic.setNumber(doorServiceOrder.getNumber());
            adminServiceDynamic.setType(1);
            adminServiceDynamic.setValue("已接单,工单编号:");
            baseAdminServiceDynamicDao.save(adminServiceDynamic);
        }catch (Exception e) {
            logger.info(e.getMessage());
        }
        systemMessageDao.orderMessageDel(doorServiceOrder.getDoctor(),orderId);
        if(doorServiceOrder.getType() == null|| doorServiceOrder.getType() != 3) {
@ -491,6 +509,21 @@ public class DoctorDoorCoachOrderService {
        doorServiceOrder.setCancelReason(reason);   // 拒绝原因
        doorServiceOrder.setCancelTime(new Date());
        try {
            BaseAdminServiceDynamic baseAdminServiceDynamic = new BaseAdminServiceDynamic();
            baseAdminServiceDynamic.setCreateTime(DateUtil.getTime());
            baseAdminServiceDynamic.setName(doorServiceOrder.getPatientName());
            baseAdminServiceDynamic.setPatient(doorServiceOrder.getPatient());
            baseAdminServiceDynamic.setDoctor(doorServiceOrder.getDoctor());
            baseAdminServiceDynamic.setDoctorName(doorServiceOrder.getDoctorName());
            baseAdminServiceDynamic.setNumber(doorServiceOrder.getNumber());
            baseAdminServiceDynamic.setType(1);
            baseAdminServiceDynamic.setValue("已拒单,工单编号:");
            baseAdminServiceDynamicDao.save(baseAdminServiceDynamic);
        }catch (Exception e) {
            logger.info(e.getMessage());
        }
        baseDoorCoachOrderDao.save(doorServiceOrder);
    }
@ -599,6 +632,22 @@ public class DoctorDoorCoachOrderService {
        one.setPatientConfirmFinishTime(new Date());
        // 更新记录
        this.setUpdateColumnInfo(one);
        try {
            BaseAdminServiceDynamic baseAdminServiceDynamic = new BaseAdminServiceDynamic();
            baseAdminServiceDynamic.setType(1);
            baseAdminServiceDynamic.setValue("已完成服务,工单编号:");
            baseAdminServiceDynamic.setNumber(one.getNumber());
            baseAdminServiceDynamic.setDoctorName(one.getDoctorName());
            baseAdminServiceDynamic.setDoctor(one.getDoctor());
            baseAdminServiceDynamic.setPatient(one.getPatient());
            baseAdminServiceDynamic.setName(one.getPatientName());
            baseAdminServiceDynamic.setCreateTime(DateUtil.getTime());
            baseAdminServiceDynamicDao.save(baseAdminServiceDynamic);
        }catch (Exception e){
            logger.info(e.getMessage());
        }
        // 计算保存服务总的支付费用
        Integer times = patientDoorCoachOrderService.countPatientDoorTimes(one.getPatient());
        String jsonData = this.serverPackagePriceByOrderId(orderId);

+ 20 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/doorCoach/PatientDoorCoachOrderService.java

@ -3,6 +3,7 @@ package com.yihu.jw.care.service.doorCoach;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.dao.doorCoach.*;
import com.yihu.jw.care.dao.lifeCare.BaseAdminServiceDynamicDao;
import com.yihu.jw.care.service.consult.ConsultTeamService;
import com.yihu.jw.care.service.message.BaseServiceNewsService;
import com.yihu.jw.care.service.pay.PayService;
@ -16,6 +17,7 @@ import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
import com.yihu.jw.entity.care.doorCoach.*;
import com.yihu.jw.entity.care.lifeCare.LifeCareFeeDetailDO;
import com.yihu.jw.entity.care.lifeCare.LifeCareOrderDO;
import com.yihu.jw.entity.door.BaseAdminServiceDynamic;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.entity.order.BusinessOrderDO;
import com.yihu.jw.hospital.message.dao.SystemMessageDao;
@ -103,6 +105,8 @@ public class PatientDoorCoachOrderService extends BaseJpaService<BaseDoorCoachOr
    private PayService payService;
    @Autowired
    private BusinessOrderDao businessOrderDao;
    @Autowired
    private BaseAdminServiceDynamicDao baseAdminServiceDynamicDao;
    /**
     * 创建上门辅导服务工单
@ -190,6 +194,22 @@ public class PatientDoorCoachOrderService extends BaseJpaService<BaseDoorCoachOr
            orderDO.setType(2);
        }
        orderDO.setServiceStatus("1");
        try {
            BaseAdminServiceDynamic baseAdminServiceDynamic = new BaseAdminServiceDynamic();
            baseAdminServiceDynamic.setDoctorName(orderDO.getDoctorName());
            baseAdminServiceDynamic.setDoctor(orderDO.getDoctor());
            baseAdminServiceDynamic.setName(orderDO.getPatientName());
            baseAdminServiceDynamic.setPatient(orderDO.getPatient());
            baseAdminServiceDynamic.setType(1);
            baseAdminServiceDynamic.setValue("创建了上门辅导申请");
            baseAdminServiceDynamic.setCreateTime(DateUtil.getTime());
            baseAdminServiceDynamic.setName(orderDO.getNumber());
            baseAdminServiceDynamicDao.save(baseAdminServiceDynamic);
        }catch (Exception e) {
            logger.info(e.getMessage());
        }
        this.save(orderDO);
        result.put("orderId",orderDO.getId());
        result.put(ResponseContant.resultFlag, ResponseContant.success);

+ 36 - 5
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/lifeCare/LifeCareOrderService.java

@ -2,10 +2,7 @@ package com.yihu.jw.care.service.lifeCare;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.dao.lifeCare.LifeCareCancelLogDao;
import com.yihu.jw.care.dao.lifeCare.LifeCareFeeDetailDao;
import com.yihu.jw.care.dao.lifeCare.LifeCareItemDictDao;
import com.yihu.jw.care.dao.lifeCare.LifeCareOrderDao;
import com.yihu.jw.care.dao.lifeCare.*;
import com.yihu.jw.care.dao.team.BaseTeamMemberDao;
import com.yihu.jw.care.service.common.OrderNoService;
import com.yihu.jw.care.service.message.BaseServiceNewsService;
@ -23,6 +20,7 @@ import com.yihu.jw.entity.care.lifeCare.LifeCareCancelLogDO;
import com.yihu.jw.entity.care.lifeCare.LifeCareFeeDetailDO;
import com.yihu.jw.entity.care.lifeCare.LifeCareItemDictDO;
import com.yihu.jw.entity.care.lifeCare.LifeCareOrderDO;
import com.yihu.jw.entity.door.BaseAdminServiceDynamic;
import com.yihu.jw.entity.order.BusinessOrderDO;
import com.yihu.jw.order.dao.BusinessOrderDao;
import com.yihu.jw.org.dao.BaseOrgDao;
@ -91,7 +89,8 @@ public class LifeCareOrderService extends BaseJpaService<LifeCareOrderDO, LifeCa
    private BusinessOrderDao businessOrderDao;
    @Autowired
    private BaseTeamMemberDao baseTeamMemberDao;
    @Autowired
    private BaseAdminServiceDynamicDao baseAdminServiceDynamicDao;
    /**
     * 记录完成情况
     * @param orderId
@ -135,6 +134,22 @@ public class LifeCareOrderService extends BaseJpaService<LifeCareOrderDO, LifeCa
        lifeCareOrderDO.setCompleteRemark(completeRemark);
        lifeCareOrderDO.setCompleteTime(new Date());
        lifeCareOrderDao.save(lifeCareOrderDO);
        try {
            BaseAdminServiceDynamic baseAdminServiceDynamic = new BaseAdminServiceDynamic();
            baseAdminServiceDynamic.setCreateTime(DateUtil.getTime());
            baseAdminServiceDynamic.setType(2);
            baseAdminServiceDynamic.setNumber(lifeCareOrderDO.getNumber());
            baseAdminServiceDynamic.setValue("完成了生活照料");
            baseAdminServiceDynamic.setPatient(lifeCareOrderDO.getPatient());
            baseAdminServiceDynamic.setName(lifeCareOrderDO.getPatientName());
            baseAdminServiceDynamic.setDoctor(lifeCareOrderDO.getDoctor());
            baseAdminServiceDynamic.setDoctorName(lifeCareOrderDO.getDoctorName());
            baseAdminServiceDynamicDao.save(baseAdminServiceDynamic);
        }catch (Exception e) {
            logger.info(e.getMessage());
        }
        return 0;
    }
@ -553,6 +568,22 @@ public class LifeCareOrderService extends BaseJpaService<LifeCareOrderDO, LifeCa
        orderDO.setNumber(orderNoService.getOrderNo(1));
        orderDO.setCreateTime(new Date());
        orderDO.setStatus(0);//待付款状态
        try {
            BaseAdminServiceDynamic baseAdminServiceDynamic = new BaseAdminServiceDynamic();
            baseAdminServiceDynamic.setValue("申请了生活照料");
            baseAdminServiceDynamic.setType(2);
            baseAdminServiceDynamic.setNumber(orderDO.getNumber());
            baseAdminServiceDynamic.setDoctorName(orderDO.getDoctorName());
            baseAdminServiceDynamic.setDoctor(orderDO.getDoctor());
            baseAdminServiceDynamic.setPatient(orderDO.getPatient());
            baseAdminServiceDynamic.setNumber(orderDO.getPatientName());
            baseAdminServiceDynamic.setCreateTime(DateUtil.getTime());
            baseAdminServiceDynamicDao.save(baseAdminServiceDynamic);
        } catch (Exception e) {
            logger.info(e.getMessage());
        }
        this.save(orderDO);
        result.put("orderId",orderDO.getId());
        orderDO.setTotalFee(new BigDecimal(0));

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

@ -265,11 +265,8 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
    }
    public List<Map<String,Object>>getNewList(String deviceSn,String day){
        SimpleDateFormat sdf = new SimpleDateFormat();
        if (StringUtils.isBlank(day)){
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
            Date date = new Date();
            day = dateFormat.format(date);
            day = DateUtil.getStringDateShort();
        }
        String sql = "SELECT * FROM base_yxdevice_index WHERE sn = '"+deviceSn+"' AND create_time LIKE '"+day+"%' AND lon != 0 AND lat != 0 ORDER BY create_time DESC limit 1";
        return jdbcTemplate.queryForList(sql);
@ -1478,14 +1475,15 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
                        dayTime = getSleepMonitoringDay(new Date(),patient);
                    }
                    List<BaseSleepPlanDetail> planDetails = sleepPlanDetailDao.findByPatientAndDay(patient,dayTime);
                    BaseSleepPlanDetail planDetail = new BaseSleepPlanDetail();
                    if (planDetails.size()>0){
                        BaseSleepPlanDetail planDetail =  planDetails.get(0);
                        planDetail =  planDetails.get(0);
                        List<BaseSleepNightRecord> sleepNightRecordList = nightRecordDao.findByPatientAndDayOrderByCreateTimeDesc(patient,dayTime);
                        planDetail.setSleepNightRecordList(sleepNightRecordList);
                        String jsonStr = JSON.toJSONStringWithDateFormat(planDetail, "yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue);
                        sleepInfo = JSONObject.parseObject(jsonStr);
                        sleepInfo.put("day",dayTime);
                    }
                    String jsonStr = JSON.toJSONStringWithDateFormat(planDetail, "yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue);
                    sleepInfo = JSONObject.parseObject(jsonStr);
                    sleepInfo.put("day",dayTime);
                    List<BaseSleepPlan> sleepPlans = sleepPlanDao.findByPatient(patient);
                    if (sleepPlans.size()>0){
                        BaseSleepPlan sleepPlan = sleepPlans.get(0);

+ 13 - 13
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/endpoint/DeviceController.java

@ -31,7 +31,7 @@ import java.util.*;
 * @Description:
 */
@RestController
@RequestMapping("/device")
@RequestMapping(value = "/device",produces = "application/json")
@Api(value = "爱牵挂设备相关服务", description = "设备相关服务")
public class DeviceController {
@ -161,7 +161,7 @@ public class DeviceController {
    }
    @ApiOperation("爱牵挂设备sos数据接收")
    @RequestMapping(value = "aqgsos", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = {RequestMethod.POST,RequestMethod.GET})
    @RequestMapping(value = "aqgsos", method = {RequestMethod.POST,RequestMethod.GET})
    public String aqgsos(
            @ApiParam(name="imei",required = false,value="15位设备唯一序号",defaultValue = "")
            @RequestParam(value = "imei",required = false) String imei,
@ -186,7 +186,7 @@ public class DeviceController {
    }
    @ApiOperation("爱牵挂设备开关机数据接收")
    @RequestMapping(value = "aqgSwitch", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = {RequestMethod.POST,RequestMethod.GET})
    @RequestMapping(value = "aqgSwitch", method = {RequestMethod.POST,RequestMethod.GET})
    public String aqgSwitch(
            @ApiParam(name="imei",required = false,value="15位设备唯一序号",defaultValue = "")
            @RequestParam(value = "imei",required = false) String imei,
@ -210,7 +210,7 @@ public class DeviceController {
    }
    @ApiOperation("爱牵挂设备消息通知数据接收")
    @RequestMapping(value = "pushdata", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = {RequestMethod.POST,RequestMethod.GET})
    @RequestMapping(value = "pushdata", method = {RequestMethod.POST,RequestMethod.GET})
    public String pushdata(
            @ApiParam(name="type",required = false,value="根据type来定义给用户推送提示  type=1 SOS,type=5 设备低电, 其他类型非本机型所有",defaultValue = "")
            @RequestParam(value = "type",required = false) int type,
@ -234,7 +234,7 @@ public class DeviceController {
    //
    @ApiOperation("爱牵挂位置接收")
    @RequestMapping(value = "byLocation", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = {RequestMethod.POST,RequestMethod.GET})
    @RequestMapping(value = "byLocation", method = {RequestMethod.POST,RequestMethod.GET})
    public String byLocation(
            @ApiParam(name="imei",required = false,value="15位设备唯一序号",defaultValue = "")
            @RequestParam(value = "imei",required = true) String imei,
@ -269,7 +269,7 @@ public class DeviceController {
    @ApiOperation("爱牵挂心率数据接收")
    @RequestMapping(value = "byHeartRate", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = {RequestMethod.POST,RequestMethod.GET})
    @RequestMapping(value = "byHeartRate",  method = {RequestMethod.POST,RequestMethod.GET})
    public String byHeartRate(
            @ApiParam(name = "imei", value = "15位设备唯一序号")
            @RequestParam(value = "imei",required = true)String imei,
@ -295,7 +295,7 @@ public class DeviceController {
    }
    @ApiOperation("爱牵挂血压数据接收")
    @RequestMapping(value = "byBloodPressure", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = {RequestMethod.POST,RequestMethod.GET})
    @RequestMapping(value = "byBloodPressure",  method = {RequestMethod.POST,RequestMethod.GET})
    public String byBloodPressure(
            @ApiParam(name = "imei", value = "15位设备唯一序号", required = true)
            @RequestParam(value = "imei",required = true)String imei,
@ -323,7 +323,7 @@ public class DeviceController {
    }
    @ApiOperation("爱牵挂跌倒数据接收")
    @RequestMapping(value = "byFall", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = {RequestMethod.POST,RequestMethod.GET})
    @RequestMapping(value = "byFall",  method = {RequestMethod.POST,RequestMethod.GET})
    public String byFall(
            @ApiParam(name = "imei", value = "15位设备唯一序号", required = true)
            @RequestParam(value = "imei",required = true)String imei,
@ -353,7 +353,7 @@ public class DeviceController {
    }
    @ApiOperation("设备步数接收")
    @RequestMapping(value = "bySteps", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = {RequestMethod.POST,RequestMethod.GET})
    @RequestMapping(value = "bySteps",  method = {RequestMethod.POST,RequestMethod.GET})
    public String bySteps(
            @ApiParam(name="imei",required = false,value="15位设备唯一序号",defaultValue = "")
            @RequestParam(value = "imei",required = true) String imei,
@ -376,7 +376,7 @@ public class DeviceController {
    /*******************************************睡眠带begin****************************************************************/
    @ApiOperation("爱牵挂-睡眠带睡眠接收")
    @RequestMapping(value = "bySleep", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = {RequestMethod.POST,RequestMethod.GET})
    @RequestMapping(value = "bySleep",  method = {RequestMethod.POST,RequestMethod.GET})
    public String bySleep(
            @ApiParam(name="device",required = false,value="睡眠带MAC地址",defaultValue = "")
            @RequestParam(value = "device",required = true) String device,
@ -386,7 +386,7 @@ public class DeviceController {
            @RequestParam(value = "heartrate",required = false) String heartrate,
            @ApiParam(name="breath",required = false,value="呼吸率(离床或翻身测量失败时为0)")
            @RequestParam(value = "breath",required = false) String breath,
                @ApiParam(name="bed_status",required = false,value="在离床状态(0 离床,1 在床) ")
            @ApiParam(name="bed_status",required = false,value="在离床状态(0 离床,1 在床) ")
            @RequestParam(value = "bed_status",required = false) String bed_status,
            @ApiParam(name="turn_over",required = false,value="翻身状态(0 没翻身,1 在翻身)")
            @RequestParam(value = "turn_over",required = false)String turn_over,
@ -408,7 +408,7 @@ public class DeviceController {
    }
    @ApiOperation("爱牵挂-睡眠带睡眠报告接收")
    @RequestMapping(value = "bySleepReport", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = {RequestMethod.POST,RequestMethod.GET})
    @RequestMapping(value = "bySleepReport",  method = {RequestMethod.POST,RequestMethod.GET})
    public String bySleep(
            @ApiParam(name="device",required = false,value="睡眠带MAC地址",defaultValue = "")
            @RequestParam(value = "device",required = true) String device,
@ -465,7 +465,7 @@ public class DeviceController {
    }
    @ApiOperation("爱牵挂-睡眠带wifi在线状态接收")
    @RequestMapping(value = "byOnlineStatus", produces = "application/x-www-form-urlencoded;charset=UTF-8", method = {RequestMethod.POST,RequestMethod.GET})
    @RequestMapping(value = "byOnlineStatus",  method = {RequestMethod.POST,RequestMethod.GET})
    public String byOnlineStatus(
            @ApiParam(name="device",required = false,value="睡眠带MAC地址",defaultValue = "")
            @RequestParam(value = "device",required = true) String device,

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

@ -597,6 +597,10 @@ public class DeviceService {
                        planDetail.setDay(dayTime);
                        planDetail.setPatient(patient);
                        planDetail.setDeviceSn(device);
                        if (!needSiesta){//无午睡计划
                            SiestaBegin = bedBegin;
                        }
                        /***起床***/
                        Long timeDiffer = timeDate.getTime() - bedUp.getTime();
                        if(DateUtil.isInArea(timeDate,bedUpBegin,SiestaBegin)){//起床时间内

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

@ -500,13 +500,17 @@ public class DeviceUploadService {
                                        com.alibaba.fastjson.JSONObject positionTmp = new com.alibaba.fastjson.JSONObject();
                                        Double areaLon = Double.parseDouble( areaPoint[0]);
                                        Double areaLat = Double.parseDouble( areaPoint[1]);
//                                com.alibaba.fastjson.JSONObject positionTmp = gpsUtil.gcj02_To_Bd09(lat,lon);
//                                      com.alibaba.fastjson.JSONObject positionTmp = gpsUtil.gcj02_To_Bd09(lat,lon);
                                        positionTmp.put("lat",areaLat);
                                        positionTmp.put("lon",areaLon);
                                        fenceLocation.add(positionTmp);
                                    }
                                    if (!countDistance.isInPolygon(dulon,dulat,fenceLocation)){
                                        orderUtil.createSecurityOrder(sn,null,null,8,"1","yslkaqqy",null);
                                        com.alibaba.fastjson.JSONObject addressInfo = new com.alibaba.fastjson.JSONObject();
                                        addressInfo.put("lat",dulat+"");
                                        addressInfo.put("lon",dulon+"");
                                        addressInfo.put("address",LatitudeUtils.getLocationAddress(dulat+"",dulon+""));
                                        orderUtil.createSecurityOrder(sn,null,null,addressInfo,8,"1","preventLost",null);
                                    }
                                }
                            }
@ -519,7 +523,7 @@ public class DeviceUploadService {
                        yxDeviceIndexDao.save(deviceIndex);
                        hvDeviceService.updContactStatus(sn,1);
                    }
                    if ("AL".equals(equals(tmp1[0]))){//触发报警
                    if ("AL".equals(tmp1[0])){//触发报警
                        String lat,lon;
                        if("A".equals(tmp1[4])){
                            lat = tmp1[5];

+ 2 - 2
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/service/HvDeviceService.java

@ -109,14 +109,14 @@ public class HvDeviceService {
                //独立式可燃气体探测器(NB)
                JSONObject tmp = new JSONObject();
                tmp.put("gas",monitorValue);
                orderUtil.createSecurityOrder(resourceSerial,null,new JSONObject(),6,"11","preventGasLeakage",JSON.toJSONString(tmp, SerializerFeature.WriteMapNullValue));
                orderUtil.createSecurityOrder(resourceSerial,null,new JSONObject(),null,6,"11","preventGasLeakage",JSON.toJSONString(tmp, SerializerFeature.WriteMapNullValue));
            }
            if("600002".equals(deviceType)){
                //独立式光电感烟探测器(NB)
                JSONObject tmp = new JSONObject();
                tmp.put("smoke",monitorValue);
                orderUtil.createSecurityOrder(resourceSerial,null,new JSONObject(),7,"10","preventFire",JSON.toJSONString(tmp, SerializerFeature.WriteMapNullValue));
                orderUtil.createSecurityOrder(resourceSerial,null,new JSONObject(),null,7,"10","preventFire",JSON.toJSONString(tmp, SerializerFeature.WriteMapNullValue));
            }
        }

+ 1 - 1
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/service/YsDeviceService.java

@ -143,7 +143,7 @@ public class YsDeviceService {
                }
            }
            if (fallFlag){//发起安防工单
                result = orderUtil.createSecurityOrder(deviceSN,sceneUrl,result,4,"2","preventFall",null);
                result = orderUtil.createSecurityOrder(deviceSN,sceneUrl,result,null,4,"2","preventFall",null);
            }
        }catch (Exception e){
            e.printStackTrace();

+ 17 - 10
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/util/SecurityOrderUtil.java

@ -54,22 +54,29 @@ public class SecurityOrderUtil {
    private DeviceSosLogDao sosLogDao;
    /***创建安防工单***/
    public JSONObject createSecurityOrder(String deviceSN, String sceneUrl, JSONObject result, Integer orderSource, String dictCode, String topicItem, String warnInfo){
    public JSONObject createSecurityOrder(String deviceSN, String sceneUrl, JSONObject result,JSONObject addressInfo, Integer orderSource, String dictCode, String topicItem, String warnInfo){
        try {
            String lat = "";
            String lon = "";
            String address=" ";
            List<DevicePatientDevice> devicePatientDeviceDos = patientDeviceDao.findByDeviceSn(deviceSN);
            if (devicePatientDeviceDos.size()>0){
                DevicePatientDevice deviceDO = devicePatientDeviceDos.get(0);
                Map<String, String> json = null;
                if (org.apache.commons.lang.StringUtils.isNotBlank(deviceDO.getSosAddress())) {
                    json = LatitudeUtils.getGeocoderLatitude(deviceDO.getSosAddress().replace("G.", "").replace("(糖友网)", "").replace("(高友网)", ""));
                if (null!=addressInfo){
                    lat = addressInfo.getString("lat");
                    lon = addressInfo.getString("lon");
                    address = addressInfo.getString("address");
                }else {
                    Map<String, String> json = null;
                    if (org.apache.commons.lang.StringUtils.isNotBlank(deviceDO.getSosAddress())) {
                        json = LatitudeUtils.getGeocoderLatitude(deviceDO.getSosAddress().replace("G.", "").replace("(糖友网)", "").replace("(高友网)", ""));
                    }
                    if (json != null) {
                        lat = json.get("lat").toString();
                        lon = json.get("lng").toString();
                        address = deviceDO.getSosAddress();
                    }
                }
                if (json != null) {
                    lat = json.get("lat").toString();
                    lon = json.get("lng").toString();
                }
                BasePatientDO patientDO = patientDao.findById(deviceDO.getUser());
                String  url = cloudCareUrl+"/cloudCare/noLogin/security/createOrder";
                String hospital = "";
@ -95,7 +102,7 @@ public class SecurityOrderUtil {
                jsonObject.put("patientPhone",patientDO.getMobile());
                jsonObject.put("serveDesc",serveDesc);
                jsonObject.put("hospital",sqlResult.get(0).get("org_code"));
                jsonObject.put("serveAddress",deviceDO.getSosAddress());
                jsonObject.put("serveAddress",address);
                jsonObject.put("serveLat",lat);
                jsonObject.put("serveLon",lon);
                jsonObject.put("topicItem",topicItem);

+ 6 - 2
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/job/device/PatientSosContactsJob.java

@ -67,7 +67,11 @@ public class PatientSosContactsJob implements Job {
                        JSONObject response = cardService.setPatientContacts(sim, null, null, "1", sos_phone, null);//移动白名单
                        //0成功 12102名单重复
                        if (response.getInteger("status")==0||response.getInteger("status")==12108){
                            sosContactsDO.setSuccessFlag(1);
                            if (1==sosContactsDO.getSuccessFlag()||0==sosContactsDO.getSuccessFlag()){
                                sosContactsDO.setSuccessFlag(1);
                            }else {
                                sosContactsDO.setSuccessFlag(-1);
                            }
                            sosContactsDO.setUpdateInfo(sosContactsDO.getUpdateInfo()+",{sim:"+sim+":"+1+"}");
                        }else {
                            sosContactsDO.setSuccessFlag(-1);
@ -78,7 +82,7 @@ public class PatientSosContactsJob implements Job {
                    if ("4".equals(category_code)||"7".equals(category_code)){
                        JSONObject response2 =  deviceService.updAqgDeviceSosInfo(device_sn,phone_seqid,sos_name,sos_phone,"1",null);
                        if (response2.getBoolean("success")){
                            if (1==sosContactsDO.getSuccessFlag()){
                            if (1==sosContactsDO.getSuccessFlag()||0==sosContactsDO.getSuccessFlag()){
                                sosContactsDO.setSuccessFlag(1);
                            }else {
                                sosContactsDO.setSuccessFlag(-1);