Pārlūkot izejas kodu

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev

huangwenjie 7 gadi atpakaļ
vecāks
revīzija
97dc534507
18 mainītis faili ar 536 papildinājumiem un 226 dzēšanām
  1. 11 11
      common/common-entity/src/main/java/com/yihu/device/entity/DeviceDetail.java
  2. 25 9
      common/common-entity/src/main/java/com/yihu/wlyy/entity/device/DeviceDetail.java
  3. 24 1
      common/common-entity/src/main/java/com/yihu/wlyy/entity/device/PatientDevice.java
  4. 111 0
      common/common-entity/src/main/java/com/yihu/wlyy/entity/device/PatientDeviceLog.java
  5. 5 6
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/manager/device/DeviceHealthIndexController.java
  6. 15 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/health/repository/DeviceDetailDao.java
  7. 0 29
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/deviece/WlyyDeviceDetailDao.java
  8. 17 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/patient/PatientDeviceLogDao.java
  9. 3 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/patient/SignFamilyDao.java
  10. 160 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/device/DeviceDetailService.java
  11. 55 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/device/PatientDeviceLogService.java
  12. 16 23
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/device/PatientDeviceService.java
  13. 0 65
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/device/WlyyDeviceDetailService.java
  14. 10 5
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/healthBank/PatientHealthBankService.java
  15. 28 15
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/device/DoctorDeviceController.java
  16. 51 58
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/device/PatientDeviceController.java
  17. 3 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/healthBank/PatientHealthBankController.java
  18. 2 2
      patient-co/patient-co-wlyy/src/main/resources/application-test.yml

+ 11 - 11
common/common-entity/src/main/java/com/yihu/device/entity/DeviceDetail.java

@ -34,10 +34,10 @@ public class DeviceDetail extends IdEntity{
    //1.4.8版本新增字段
    private String sim;//SIM卡
    private String manufacturerId;//厂商表的业务关联code
    private Boolean grant;//是否发放(0否1是)
    private Integer isGrant;//是否发放(0否1是)
    private String grantAdminTeam;//发放的患者所在团队
    private String grantOrgCode;//发放所在机构
    private Integer binding;//是否绑定(0否 1 绑定单端口 2 绑定双端口)
    private Integer isBinding;//是否绑定(0否 1 绑定单端口 2 绑定双端口)
    private String bindingCount;//绑定次数({"1":"0", "2":"0"})
    private Date grantTime;//发放时间
@ -230,12 +230,12 @@ public class DeviceDetail extends IdEntity{
    }
    @Column(name = "is_grant")
    public Boolean getGrant() {
        return grant;
    public Integer getIsGrant() {
        return isGrant;
    }
    public void setGrant(Boolean grant) {
        this.grant = grant;
    public void setIsGrant(Integer grant) {
        isGrant = grant;
    }
    @Column(name = "grant_admin_team")
@ -256,13 +256,13 @@ public class DeviceDetail extends IdEntity{
        this.grantOrgCode = grantOrgCode;
    }
    @Column(name = "binding")
    public Integer getBinding() {
        return binding;
    @Column(name = "is_binding")
    public Integer getIsBinding() {
        return isBinding;
    }
    public void setBinding(Integer binding) {
        this.binding = binding;
    public void setIsBinding(Integer isBinding) {
        this.isBinding = isBinding;
    }
    @Column(name = "binding_count")

+ 25 - 9
common/common-entity/src/main/java/com/yihu/wlyy/entity/device/DeviceDetail.java

@ -31,7 +31,8 @@ public class DeviceDetail extends IdEntity{
    private String applicantMail;
    private Integer isGrant;
    private String grantAdminTeam;
    private String grantHospital;
    private String grantOrgCode;
    private Integer isBinding;
    private String bindingCount;
    private Date grantTime;
@ -40,10 +41,9 @@ public class DeviceDetail extends IdEntity{
    public DeviceDetail() {
    }
    /** full constructor */
    public DeviceDetail(String deviceName, String deviceModel, String deviceCode, String manufacturer, String applyDate
            , String orgName, String linkman, String tel, String serverIp, String manufacturerCode, String address
            , String representative, String applicantName, String applicantIdentity, String applicantTel, String applicantMail) {
    public DeviceDetail(String deviceName, String deviceModel, String deviceCode, String manufacturer, String applyDate, String orgName, String linkman, String tel, String serverIp, String manufacturerCode, String address, String representative, String applicantName, String applicantIdentity, String applicantTel, String applicantMail, Integer isGrant, String grantAdminTeam, String grantOrgCode, Integer isBinding, String bindingCount, Date grantTime) {
        this.deviceName = deviceName;
        this.deviceModel = deviceModel;
        this.deviceCode = deviceCode;
@ -60,8 +60,15 @@ public class DeviceDetail extends IdEntity{
        this.applicantIdentity = applicantIdentity;
        this.applicantTel = applicantTel;
        this.applicantMail = applicantMail;
        this.isGrant = isGrant;
        this.grantAdminTeam = grantAdminTeam;
        this.grantOrgCode = grantOrgCode;
        this.isBinding = isBinding;
        this.bindingCount = bindingCount;
        this.grantTime = grantTime;
    }
    @Column(name = "device_name")
    public String getDeviceName() {
        return deviceName;
@ -224,13 +231,22 @@ public class DeviceDetail extends IdEntity{
        this.grantAdminTeam = grantAdminTeam;
    }
    @Column(name = "grant_hospital")
    public String getGrantHospital() {
        return grantHospital;
    @Column(name = "grant_org_code")
    public String getGrantOrgCode() {
        return grantOrgCode;
    }
    public void setGrantOrgCode(String grantOrgCode) {
        this.grantOrgCode = grantOrgCode;
    }
    @Column(name = "is_binding")
    public Integer getIsBinding() {
        return isBinding;
    }
    public void setGrantHospital(String grantHospital) {
        this.grantHospital = grantHospital;
    public void setIsBinding(Integer isBinding) {
        this.isBinding = isBinding;
    }
    @Column(name = "binding_count")

+ 24 - 1
common/common-entity/src/main/java/com/yihu/wlyy/entity/device/PatientDevice.java

@ -31,7 +31,12 @@ public class PatientDevice extends IdEntity {
    private String userIdcard;
    // 操作医生代码
    private String doctor;
    private String agent;//代绑人代码(家人)
    //操作医生姓名
    private String doctorName;
    //代绑人代码(家人)
    private String agent;
    //代绑人姓名
    private String agentName;
    // 操作时间
    private Date czrq;
@ -166,6 +171,15 @@ public class PatientDevice extends IdEntity {
        this.doctor = doctor;
    }
    @Column(name = "doctor_name")
    public String getDoctorName() {
        return doctorName;
    }
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }
    @Column(name = "agent")
    public String getAgent() {
        return agent;
@ -175,6 +189,15 @@ public class PatientDevice extends IdEntity {
        this.agent = agent;
    }
    @Column(name = "agent_name")
    public String getAgentName() {
        return agentName;
    }
    public void setAgentName(String agentName) {
        this.agentName = agentName;
    }
    @Column(name = "del_user")
    public String getDelUser() {
        return delUser;

+ 111 - 0
common/common-entity/src/main/java/com/yihu/wlyy/entity/device/PatientDeviceLog.java

@ -0,0 +1,111 @@
package com.yihu.wlyy.entity.device;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.wlyy.entity.IdEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;
@Entity
@Table(name = "wlyy_patient_device_log")
public class PatientDeviceLog extends IdEntity {
    //患者id
    private String patient;
    //设备sn码
    private String deviceSn;
    //设备名称
    private String deviceName;
    // 设备类型标识
    private String categoryCode;
    //操作人code
    private String operator;
    // 医生或者患者(1医生 2患者)
    private Integer role;
    //操作动作(1绑定 2解绑)
    private Integer operateCode;
    // 创建时间
    private Date createTime;
    @Column(name = "patient")
    public String getPatient() {
        return patient;
    }
    public void setPatient(String patient) {
        this.patient = patient;
    }
    @Column(name = "device_sn")
    public String getDeviceSn() {
        return deviceSn;
    }
    public void setDeviceSn(String deviceSn) {
        this.deviceSn = deviceSn;
    }
    @Column(name = "device_name")
    public String getDeviceName() {
        return deviceName;
    }
    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }
    @Column(name = "category_code")
    public String getCategoryCode() {
        return categoryCode;
    }
    public void setCategoryCode(String categoryCode) {
        this.categoryCode = categoryCode;
    }
    @Column(name = "operator")
    public String getOperator() {
        return operator;
    }
    public void setOperator(String operator) {
        this.operator = operator;
    }
    @Column(name = "role")
    public Integer getRole() {
        return role;
    }
    public void setRole(Integer role) {
        this.role = role;
    }
    @Column(name = "operate_code")
    public Integer getOperateCode() {
        return operateCode;
    }
    public void setOperateCode(Integer operateCode) {
        this.operateCode = operateCode;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public PatientDeviceLog() {
    }
}

+ 5 - 6
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/manager/device/DeviceHealthIndexController.java

@ -1,8 +1,6 @@
package com.yihu.wlyy.controller.manager.device;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.wlyy.controller.BaseController;
import com.yihu.wlyy.device.entity.DeviceHealthIndex;
import com.yihu.wlyy.device.entity.DeviceHealthIndexExportVO;
import com.yihu.wlyy.device.entity.DeviceHealthIndexVO;
import com.yihu.wlyy.service.manager.device.DeviceHealthIndexService;
@ -11,15 +9,16 @@ import jxl.write.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * Created by Administrator on 2016/12/5.
@ -112,7 +111,7 @@ public class DeviceHealthIndexController extends BaseController{
    
    public void addHeader(WritableSheet ws) throws WriteException {
        
        String[] header = {"居民姓名","手机号","身份证","设备码","设备名称","签约医生", "地址", "更新日期", "总记录数"};
        String[] header = {"居民姓名","手机号","身份证","设备码","设备名称","签约医生", "地址", "记录时间", "上传次数"};
        int i = 0;
        for (String h : header) {
            addCell(ws, 0, i, h);//表名,行,列,header

+ 15 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/health/repository/DeviceDetailDao.java

@ -2,9 +2,12 @@ package com.yihu.wlyy.health.repository;
import com.yihu.device.entity.DeviceDetail;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.Date;
/**
 * @author yeshijie on 2018/1/10.
 */
@ -12,4 +15,16 @@ public interface DeviceDetailDao extends PagingAndSortingRepository<DeviceDetail
    @Query(value = "select a.* from device.wlyy_devices a where a.device_code=?1 limit 0,1",nativeQuery = true)
    DeviceDetail findBySn(String sn);
    @Modifying
    @Query("update DeviceDetail dd set dd.isGrant=1,dd.grantAdminTeam=?1,dd.grantOrgCode=?2,dd.bindingCount=?3,dd.grantTime = ?4,dd.isBinding=1 where dd.deviceCode=?5")
    void updateAfterBindingFirst(String adminTeam, String hospital, String isFirstBinding, Date grantTime, String deviceSn);
    @Modifying
    @Query("update DeviceDetail dd set dd.isGrant=1,dd.grantAdminTeam=?1,dd.grantOrgCode=?2,dd.bindingCount=?3,dd.isBinding=1 where dd.deviceCode=?4")
    void updateAfterBinding(String adminTeam, String hospital, String isFirstBinding,String deviceSn,int isBinding);
    @Modifying
    @Query("update DeviceDetail dd set dd.isBinding=0 where dd.deviceCode=?1")
    void updateUnbindAll(int isbinding,String deviceSn);
}

+ 0 - 29
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/deviece/WlyyDeviceDetailDao.java

@ -1,29 +0,0 @@
/*******************************************************************************
 * Copyright (c) 2005, 2014 springside.github.io
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 *******************************************************************************/
package com.yihu.wlyy.repository.deviece;
import com.yihu.wlyy.entity.device.Device;
import com.yihu.wlyy.entity.device.DeviceDetail;
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;
public interface WlyyDeviceDetailDao extends PagingAndSortingRepository<DeviceDetail, Long> {
	@Query("select dd from DeviceDetail dd where dd.deviceCode=?1")
	DeviceDetail findByDeviceSn(String devicrSn);
	@Modifying
	@Query("update DeviceDetail dd set dd.isGrant=1,dd.grantAdminTeam=?1,dd.grantHospital=?2,dd.bindingCount=?3,dd.grantTime = ?4 where dd.deviceCode=?5")
	void updateAfterBindingFirst(String adminTeam, String hospital, String isFirstBinding, Date grantTime,String deviceSn);
	@Modifying
	@Query("update DeviceDetail dd set dd.isGrant=1,dd.grantAdminTeam=?1,dd.grantHospital=?2,dd.bindingCount=?3 where dd.deviceCode=?4")
	void updateAfterBinding(String adminTeam, String hospital, String isFirstBinding,String deviceSn);
}

+ 17 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/patient/PatientDeviceLogDao.java

@ -0,0 +1,17 @@
package com.yihu.wlyy.repository.patient;
import com.yihu.wlyy.entity.device.PatientDevice;
import com.yihu.wlyy.entity.device.PatientDeviceLog;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
public interface PatientDeviceLogDao extends PagingAndSortingRepository<PatientDeviceLog, Long>, JpaSpecificationExecutor<PatientDeviceLog> {
    @Query("select pdl from PatientDeviceLog pdl where pdl.patient=?1 and pdl.categoryCode=?2")
    List<PatientDeviceLog> findByPatientAndCategoryCode(String patient,String categoryCode);
}

+ 3 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/patient/SignFamilyDao.java

@ -430,4 +430,7 @@ public interface SignFamilyDao extends PagingAndSortingRepository<SignFamily, Lo
    @Query("select count(1) from SignFamily a where a.idcard=?1 and a.status>0 and a.type=2")
    int hasSignCount(String idcard);
    //根据patient查找有效签约的hospital
    @Query("select a.hospital from SignFamily a where a.patient = ?1 and (a.status = 1 or a.status = 2)")
    String getHospital(String patient);
}

+ 160 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/device/DeviceDetailService.java

@ -0,0 +1,160 @@
package com.yihu.wlyy.service.app.device;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yihu.device.entity.DeviceDetail;
import com.yihu.wlyy.entity.device.Device;
import com.yihu.wlyy.entity.device.PatientDevice;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.entity.patient.SignFamily;
import com.yihu.wlyy.health.repository.DeviceDetailDao;
import com.yihu.wlyy.repository.deviece.DeviceDao;
import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.repository.patient.PatientDao;
import com.yihu.wlyy.repository.patient.PatientDeviceDao;
import com.yihu.wlyy.repository.patient.SignFamilyDao;
import com.yihu.wlyy.service.BaseService;
import com.yihu.wlyy.util.DateUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
 * 设备管理(device库)
 * zd
 */
@Component
@Transactional(rollbackFor = Exception.class)
public class DeviceDetailService extends BaseService {
	@Autowired
	private DeviceDetailDao deviceDetailDao;
	@Autowired
	private SignFamilyDao signFamilyDao;
	@Autowired
	private DeviceDao deviceDao;
	@Autowired
	private PatientDao patientDao;
	@Autowired
	private DoctorDao doctorDao;
	@Autowired
	private PatientDeviceDao patientDeviceDao;
	/**
	 * 绑定时更新设备表中的信息
	 * @param patientDevice
	 * @param grantTime
	 * @param isFirst
	 * @throws Exception
	 */
	public void updateAfterBinding(PatientDevice patientDevice, Date grantTime,boolean isFirst)throws Exception{
		DeviceDetail deviceDetail = deviceDetailDao.findBySn(patientDevice.getDeviceSn());
		List<SignFamily> signFamilyList = signFamilyDao.findSSandJTByIdcard(patientDevice.getUserIdcard());
		long adminTeam=0L;
		String hospital = "";
		String isFirstBind = "";
		String hospitalName = "";
		String keyType = "1";
		if ("2".equals(patientDevice.getUserType())){
			keyType="2";
		}
		if (signFamilyList!=null && signFamilyList.size()>0){
			adminTeam = signFamilyList.get(0).getAdminTeamId();
			hospital = signFamilyList.get(0).getHospital();
			hospitalName = signFamilyList.get(0).getHospitalName();
		}
		//设备表没有数据则插入一条数据
		if (deviceDetail==null){
			insertDevice(patientDevice,String.valueOf(adminTeam),hospitalName,hospital);
			deviceDetail = deviceDetailDao.findBySn(patientDevice.getDeviceSn());
		}
		isFirstBind = deviceDetail.getBindingCount();
		if (StringUtils.isNotBlank(isFirstBind)){
			JSONObject jsonObject = JSON.parseObject(isFirstBind);
			int bindCount = Integer.valueOf(String.valueOf(jsonObject.get(keyType)));
			jsonObject.replace(keyType,bindCount+1+"");
			isFirstBind = jsonObject.toJSONString();
		}
		if (isFirst){
			deviceDetailDao.updateAfterBindingFirst(String.valueOf(adminTeam),hospital,isFirstBind,grantTime,patientDevice.getDeviceSn());
		}else {
			List<PatientDevice> patientDeviceList = patientDeviceDao.findByDeviceSn(patientDevice.getDeviceSn());
			int patientDeviceSize = patientDeviceList.size();
			deviceDetailDao.updateAfterBinding(String.valueOf(adminTeam),hospital,isFirstBind,patientDevice.getDeviceSn(),patientDeviceSize);
		}
	}
	/**
	 * 绑定时设备表如果没有数据则插入一条数据
	 * @param patientDevice
	 * @param adminTeam
	 * @param orgName
	 * @param orgCode
	 * @throws Exception
	 */
	public void insertDevice(PatientDevice patientDevice, String adminTeam, String orgName, String orgCode)throws Exception{
		//获取原始数据
		DeviceDetail deviceDetail = new DeviceDetail();
		Patient patient = patientDao.findByCode(patientDevice.getUser());
		Doctor doctor = doctorDao.findByCode(patientDevice.getDoctor());
		Device device = deviceDao.findOne(patientDevice.getDeviceId());
		//添加数据到具体字段
		deviceDetail.setDeviceCode(patientDevice.getDeviceSn());
		deviceDetail.setDeviceName(patientDevice.getDeviceName());
		deviceDetail.setSim(patientDevice.getSim());
		deviceDetail.setIsGrant(1);
		deviceDetail.setGrantAdminTeam(adminTeam);
		deviceDetail.setGrantOrgCode(orgCode);
		deviceDetail.setIsBinding(1);
		deviceDetail.setGrantTime(new Date());
		deviceDetail.setApplyDate(DateUtil.getStringDate("yyyy-MM-dd HH:mm:ss"));
		deviceDetail.setOrgName(orgName);
		if (device!=null){
			deviceDetail.setDeviceModel(device.getModel());
		}
		if (Integer.valueOf(patientDevice.getUserType())>0){
			deviceDetail.setBindingCount("{\"1\":\"0\",\"2\":\"0\"}");
		}else {
			deviceDetail.setBindingCount("{\"1\":\"0\"}");
		}
		if (patient!=null){
			deviceDetail.setLinkman(patient.getName());
			deviceDetail.setTel(patient.getPhone());
		}
		if (doctor!=null){
			deviceDetail.setApplicantName(doctor.getName());
			deviceDetail.setApplicantIdentity(doctor.getIdcard());
			deviceDetail.setApplicantTel(doctor.getMobile());
			deviceDetail.setApplicantMail(doctor.getMobile());
		}
		deviceDetailDao.save(deviceDetail);
	}
	/**
	 * 全部解绑后设备表更新为未绑定
	 * @param deviceSn
	 */
	public void unBindUpdateIsBinding(String deviceSn)throws Exception{
		List<PatientDevice> patientDeviceList = patientDeviceDao.findByDeviceSn(deviceSn);
		if (patientDeviceList.size()==0){
			deviceDetailDao.updateUnbindAll(0,deviceSn);
		}
		if (patientDeviceList.size()==1){
			deviceDetailDao.updateUnbindAll(1,deviceSn);
		}
		if (patientDeviceList.size()>1){
			deviceDetailDao.updateUnbindAll(2,deviceSn);
		}
	}
}

+ 55 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/device/PatientDeviceLogService.java

@ -0,0 +1,55 @@
package com.yihu.wlyy.service.app.device;
import com.yihu.wlyy.entity.device.PatientDevice;
import com.yihu.wlyy.entity.device.PatientDeviceLog;
import com.yihu.wlyy.repository.patient.PatientDeviceDao;
import com.yihu.wlyy.repository.patient.PatientDeviceLogDao;
import com.yihu.wlyy.service.BaseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springside.modules.utils.Clock;
import java.util.Date;
@Component
@Transactional(rollbackFor = Exception.class)
public class PatientDeviceLogService extends BaseService {
    private Clock clock = Clock.DEFAULT;
    @Autowired
    private PatientDeviceLogDao patientDeviceLogDao;
    @Autowired
    private PatientDeviceDao patientDeviceDao;
    /**
     *
     * @param patientDevice
     * @param role
     * @param operateCode
     * @throws Exception
     */
    public void savePatientDeviceLog(PatientDevice patientDevice,String deviceSn,int role,int operateCode)throws Exception{
       if (patientDevice==null){
           patientDevice = patientDeviceDao.findByDeviceSn(deviceSn).get(0);
       }
        PatientDeviceLog patientDeviceLog = new PatientDeviceLog();
        patientDeviceLog.setPatient(patientDevice.getUser());
        patientDeviceLog.setCategoryCode(patientDevice.getCategoryCode());
        patientDeviceLog.setDeviceName(patientDevice.getDeviceName());
        patientDeviceLog.setDeviceSn(patientDevice.getDeviceSn());
        patientDeviceLog.setRole(role);
        patientDeviceLog.setOperateCode(operateCode);
        if (role==1){
            patientDeviceLog.setOperator(patientDevice.getDoctor());
        }else if (role==2){
            patientDeviceLog.setOperator(patientDevice.getAgent());
        }
        patientDeviceLog.setCreateTime(new Date());
        patientDeviceLogDao.save(patientDeviceLog);
    }
}

+ 16 - 23
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/device/PatientDeviceService.java

@ -12,7 +12,6 @@ import com.yihu.wlyy.health.repository.DeviceDetailDao;
import com.yihu.wlyy.repository.deviece.DeviceDao;
import com.yihu.wlyy.repository.deviece.PatientBloodSuggerDao;
import com.yihu.wlyy.repository.deviece.PatientHealthTimeDao;
import com.yihu.wlyy.repository.deviece.WlyyDeviceDetailDao;
import com.yihu.wlyy.repository.dict.Icd10DictDao;
import com.yihu.wlyy.repository.doctor.DoctorAdminTeamMemberDao;
import com.yihu.wlyy.repository.doctor.DoctorDao;
@ -64,9 +63,6 @@ public class PatientDeviceService extends BaseService {
    @Autowired
    private PatientDeviceDao patientDeviceDao;
    @Autowired
    private WlyyDeviceDetailDao wlyyWlyyDeviceDetailDao;
    @Autowired
    private DeviceDao deviceDao;
    @Autowired
@ -112,6 +108,8 @@ public class PatientDeviceService extends BaseService {
    private IotDeviceService iotDeviceService;
    @Autowired
    private Icd10DictDao icd10DictDao;
    @Autowired
    private PatientDeviceLogDao patientDeviceLogDao;
    //健康问题 高血压
    private static final String gxy = "HP0093";
    //健康问题 糖尿病
@ -1191,27 +1189,22 @@ public class PatientDeviceService extends BaseService {
        String msg = "";
        String deviceSn = patientDevice.getDeviceSn();
        String userType = patientDevice.getUserType();
        //绑定前判断是都已经绑定过同样类型的设备
        List<PatientDevice> patientDevices = patientDeviceDao.findByDeviceSn(deviceSn);
        String sql = "SELECT dd.category_code FROM wlyy_devices wd LEFT JOIN dm_device dd ON wd.device_model = dd.model where wd.device_code='"+deviceSn+"'";
        Map<String,Object> map = jdbcTemplate.queryForMap(sql);
        if(patientDevices!=null && patientDevices.size()>0){
            for (PatientDevice patientDevice1 : patientDevices){
                if (patientDevice1.getCategoryCode().equals(String.valueOf(map.get("category_code")))){
                    flag=false;
                    msg="已经绑定过同样类型的设备了";
                    code=-10000;
                }
            }
        //判断患者是否第一次绑定设备
        List<PatientDeviceLog> patientDeviceLogList = patientDeviceLogDao.findByPatientAndCategoryCode(patientDevice.getUser(),patientDevice.getCategoryCode());
        if (patientDeviceLogList!=null && patientDeviceLogList.size()>0){
            flag=false;
            msg="已经绑定过同样类型的设备了";
            code=-10000;
        }
        //判断设备是否首次绑定
        //设备是否是第一次被绑定
        String keyType = "1";
        if("2".equals(userType)){
            keyType = "2";
        }
        com.yihu.wlyy.entity.device.DeviceDetail deviceDetail = wlyyWlyyDeviceDetailDao.findByDeviceSn(deviceSn);
        if (deviceDetail!=null){
            JSONObject jsonObject =new JSONObject(deviceDetail.getBindingCount());
        String sql = "SELECT binding_count FROM wlyy_devices WHERE device_code='"+deviceSn+"'";
        Map<String,Object> devicesMap = jdbcTemplate.queryForMap(sql);
        if (devicesMap!=null){
            JSONObject jsonObject =new JSONObject(String.valueOf(devicesMap.get("binding_count")));
            if (jsonObject.getInt(keyType)>0){
                flag=false;
                msg="设备不是首次绑定";
@ -1248,7 +1241,7 @@ public class PatientDeviceService extends BaseService {
            if ("10000".equals(code) || "10001".equals(code)) {
                flag = true;
            }else {
                String sql ="select count(*) num from wlyy_devices where device_code = '"+deviceSn+"'";
                String sql ="select count(*) num from device.wlyy_devices where device_code = '"+deviceSn+"'";
                Map<String,Object> map  = jdbcTemplate.queryForMap(sql);
                if (Integer.valueOf(String.valueOf(map.get("num")))>0){
                    flag = true ;
@ -1263,7 +1256,7 @@ public class PatientDeviceService extends BaseService {
            flag = false;
        }
        String sql ="select count(*) num from wlyy_devices where device_code = '"+deviceSn+"'";
        String sql ="select count(*) num from device.wlyy_devices where device_code = '"+deviceSn+"'";
        Map<String,Object> map  = jdbcTemplate.queryForMap(sql);
        if (Integer.valueOf(String.valueOf(map.get("num")))>0){
            flag = true ;
@ -1305,7 +1298,7 @@ public class PatientDeviceService extends BaseService {
        int resultHealty= 0;
        boolean hasUploadHealth = false;
        String today = DateUtil.dateToStr(DateUtil.getDateShort(new Date()),"yyyy-MM-dd");
        String healthSql ="SELECT type as healtyType,device_sn deviceSn FROM device.wlyy_patient_health_index where czrq >'"+today+" 00:00:00' and czrq<='"+today+" 23:59:59' and  status = 0 and  del = 1 and user = '"+patientCode+"'";
        String healthSql ="SELECT type as healtyType,device_sn deviceSn FROM device.wlyy_patient_health_index where record_date >'"+today+" 00:00:00' and record_date <='"+today+" 23:59:59' and  status = 0 and  del = 1 and user = '"+patientCode+"'";
        List<Map<String,Object>>  maps =jdbcTemplate.queryForList(healthSql);
        for (Map<String,Object> map : maps){
            if (map.get("type")!=null && String.valueOf(map.get("Type")).equals("1")){

+ 0 - 65
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/device/WlyyDeviceDetailService.java

@ -1,65 +0,0 @@
package com.yihu.wlyy.service.app.device;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yihu.wlyy.entity.device.DeviceDetail;
import com.yihu.wlyy.entity.patient.SignFamily;
import com.yihu.wlyy.repository.deviece.WlyyDeviceDetailDao;
import com.yihu.wlyy.repository.patient.SignFamilyDao;
import com.yihu.wlyy.service.BaseService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
 * 设备管理
 * zd
 */
@Component
@Transactional(rollbackFor = Exception.class)
public class WlyyDeviceDetailService extends BaseService {
	@Autowired
	private WlyyDeviceDetailDao wlyyDeviceDetailDao;
	@Autowired
	private SignFamilyDao signFamilyDao;
	public DeviceDetail findBySn(String sn){
		return  wlyyDeviceDetailDao.findByDeviceSn(sn);
	}
	public void updateAfterBinding(String deviceSn, String idCard, String userType, Date grantTime,boolean isFirst)throws Exception{
		DeviceDetail deviceDetail = wlyyDeviceDetailDao.findByDeviceSn(deviceSn);
		List<SignFamily> signFamilyList = signFamilyDao.findSSandJTByIdcard(idCard);
		long adminTeam=0L;
		String hospital = "";
		String isFirstBind = "";
		String keyType = "1";
		if ("2".equals(userType)){
			keyType="2";
		}
		if (signFamilyList!=null && signFamilyList.size()>0){
			adminTeam = signFamilyList.get(0).getAdminTeamId();
			hospital = signFamilyList.get(0).getHospital();
		}
		if (deviceDetail!=null){
			isFirstBind = deviceDetail.getBindingCount();
			if (StringUtils.isNotBlank(isFirstBind)){
				JSONObject jsonObject = JSON.parseObject(isFirstBind);
				int bindCount = Integer.valueOf(String.valueOf(jsonObject.get(keyType)));
				jsonObject.replace(keyType,bindCount+1+"");
				isFirstBind = jsonObject.toJSONString();
			}
		}
		if (isFirst){
			wlyyDeviceDetailDao.updateAfterBindingFirst(String.valueOf(adminTeam),hospital,isFirstBind,grantTime,deviceSn);
		}else {
			wlyyDeviceDetailDao.updateAfterBinding(String.valueOf(adminTeam),hospital,isFirstBind,deviceSn);
		}
	}
}

+ 10 - 5
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/healthBank/PatientHealthBankService.java

@ -1,6 +1,8 @@
package com.yihu.wlyy.service.app.healthBank;
import com.yihu.wlyy.repository.patient.PatientDao;
import com.yihu.wlyy.entity.organization.Hospital;
import com.yihu.wlyy.repository.organization.HospitalDao;
import com.yihu.wlyy.repository.patient.SignFamilyDao;
import com.yihu.wlyy.service.BaseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@ -10,15 +12,18 @@ import org.springframework.transaction.annotation.Transactional;
@Transactional(rollbackFor = Exception.class)
public class PatientHealthBankService extends BaseService {
    @Autowired
    private PatientDao patientDao;
    private SignFamilyDao signFamilyDao;
    @Autowired
    private HospitalDao hospitalDao;
    /**
     * 根据patient判断居民是否为海沧区
     * @param patient
     * @return
     */
    public boolean distinguish(String patient){
        String address = patientDao.getAddress(patient);
        return address.contains("海沧");
    public Hospital distinguish(String patient){
        String hospital = signFamilyDao.getHospital(patient);
        Hospital h = hospitalDao.findByCode(hospital);
        return h;
    }
}

+ 28 - 15
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/device/DoctorDeviceController.java

@ -4,14 +4,17 @@ import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.wlyy.aop.ObserverRequired;
import com.yihu.wlyy.entity.device.PatientDevice;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.doctor.team.admin.AdminTeam;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.entity.wechat.WechatTemplateConfig;
import com.yihu.wlyy.repository.patient.PatientDao;
import com.yihu.wlyy.repository.wechat.WechatTemplateConfigDao;
import com.yihu.wlyy.service.app.device.WlyyDeviceDetailService;
import com.yihu.wlyy.service.app.device.DeviceDetailService;
import com.yihu.wlyy.service.app.device.PatientDeviceLogService;
import com.yihu.wlyy.service.app.device.PatientDeviceService;
import com.yihu.wlyy.service.app.team.AdminTeamService;
import com.yihu.wlyy.service.common.account.DoctorService;
import com.yihu.wlyy.service.common.account.PatientService;
import com.yihu.wlyy.service.third.health.bank.CreditLogService;
import com.yihu.wlyy.task.PushMsgTask;
@ -36,7 +39,7 @@ import java.util.List;
import java.util.Map;
/**
 * 患者端:设备管理控制类
 * 医生端:设备管理控制类
 * @author George
 *
 */
@ -50,7 +53,7 @@ public class DoctorDeviceController extends BaseController {
	private PatientDeviceService patientDeviceService;
	@Autowired
	private WlyyDeviceDetailService wlyyDeviceDetailService;
	private DeviceDetailService deviceDetailService;
	@Autowired
	private AdminTeamService adminTeamService;
@ -58,8 +61,6 @@ public class DoctorDeviceController extends BaseController {
	@Autowired
	private CreditLogService creditLogService;
	@Autowired
	private PatientService patientService;
	@Autowired
	private WechatTemplateConfigDao templateConfigDao;
	@Autowired
@ -68,11 +69,13 @@ public class DoctorDeviceController extends BaseController {
	private WeiXinAccessTokenUtils weiXinAccessTokenUtils;
	@Autowired
	private PatientDao patientDao;
	@Autowired
	private DoctorService doctorService;
	@Autowired
	private PatientDeviceLogService patientDeviceLogService;
	private ObjectMapper  objectMapper=new ObjectMapper();
	private JdbcTemplate jdbcTemplate;
	@ApiOperation("设备保存接口--医生端")
	@RequestMapping(value = "SavePatientDevice",method = RequestMethod.POST)
	@ResponseBody
@ -98,24 +101,26 @@ public class DoctorDeviceController extends BaseController {
	@RequestMapping(value = "SavePatientDeviceAndCredit",method = RequestMethod.POST)
	@ResponseBody
	@ObserverRequired
	public String SavePatientDeviceAndCredit(@ApiParam(name="data",value="设备数据json",defaultValue = "{\"user\":\"915cca0a-5b1d-11e6-8344-fa163e8aee56\",\"deviceId\": \"3\",\"deviceName\": \"血压计-优瑞恩\",\"deviceSn\": \"16C000337\",\"categoryCode\": \"1\",\"userType\": \"-1\"}")
	public String SavePatientDeviceAndCredit(@ApiParam(name="data",value="设备数据json",defaultValue = "{\"user\":\"915cca0a-5b1d-11e6-834 4-fa163e8aee56\",\"deviceId\": \"3\",\"deviceName\": \"血压计-优瑞恩\",\"deviceSn\": \"16C000337\",\"categoryCode\": \"1\",\"userType\": \"-1\"}")
							 @RequestParam(value="data",required = true) String data) {
		try {
			PatientDevice device = objectMapper.readValue(data,PatientDevice.class);
			// 设置操作医生标识
			device.setDoctor(getUID());
			//首绑和设备类型判断
			Doctor doctor = doctorService.findDoctorByCode(getUID());
			if (doctor!=null){
				device.setDoctorName(doctor.getName());
			}
			//首绑和设备类型判断  判断是否可以增加积分
			Map<String,Object> checkMap = patientDeviceService.checkBindingFirstAndType(device);
			boolean flag = (Boolean)checkMap.get("flag");
			int checkCode = Integer.valueOf(String.valueOf(checkMap.get("code")));
			//已经绑定过同样的设备类型了,无法继续绑定
			if (checkCode == -10000){
				return write(-1,String.valueOf(checkMap.get("msg")));
			}
			//绑定
			patientDeviceService.saveDevice(device);
			patientDeviceLogService.savePatientDeviceLog(device,device.getDeviceSn(),1,1);
			//修改设备表中{"1":"0", "2":"0"}绑定次数 和其他绑定信息,
			wlyyDeviceDetailService.updateAfterBinding(device.getDeviceSn(),device.getUserIdcard(),device.getUserType(),new Date(),flag);
			deviceDetailService.updateAfterBinding(device,new Date(),flag);
			Patient patient = patientDao.findByCode(device.getUser());
			//调用增加积分接口  海沧区的居民才能添加积分
			if (flag && "350205".equals(patient.getTown())){
@ -211,6 +216,9 @@ public class DoctorDeviceController extends BaseController {
			{
				if(StringUtils.isNotBlank(pd.getDoctor())&&StringUtils.equals(pd.getDoctor(), getUID())){
					List<com.alibaba.fastjson.JSONObject> objects = patientDeviceService.deleteDevice(id,getUID());
					//全部解绑后去判断就更新设备表中是否绑定字段
					deviceDetailService.unBindUpdateIsBinding(pd.getDeviceSn());
					patientDeviceLogService.savePatientDeviceLog(pd,pd.getDeviceSn(),1,2);
					return write(200,"","data",objects);
				}
				else if(StringUtils.isNotBlank(pd.getDoctor())&&!StringUtils.equals(pd.getDoctor(), getUID())){
@ -222,6 +230,8 @@ public class DoctorDeviceController extends BaseController {
					}
					if(bo){//同行政团队
						List<com.alibaba.fastjson.JSONObject> objects = patientDeviceService.deleteDevice(id,getUID());
						deviceDetailService.unBindUpdateIsBinding(pd.getDeviceSn());
						patientDeviceLogService.savePatientDeviceLog(pd,pd.getDeviceSn(),1,2);
						return write(200,"","data",objects);
					}else{
						return error(-1, "只允许删除自己及自己行政团队绑定的设备!");
@ -252,6 +262,9 @@ public class DoctorDeviceController extends BaseController {
						@RequestParam(value="type",required = true) String type) {
		try{
			patientDeviceService.deleteDevices(deviceSn,type,getUID());
			//全部解绑后去判断就更新设备表中是否绑定字段
			deviceDetailService.unBindUpdateIsBinding(deviceSn);
			patientDeviceLogService.savePatientDeviceLog(null,deviceSn,1,2);
			return write(200,"解绑成功!");
		}catch (Exception e){
			error(e);

+ 51 - 58
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/device/PatientDeviceController.java

@ -9,8 +9,9 @@ import com.yihu.wlyy.entity.wechat.WechatTemplateConfig;
import com.yihu.wlyy.repository.deviece.PatientHealthTimeDao;
import com.yihu.wlyy.repository.patient.PatientDeviceDao;
import com.yihu.wlyy.repository.wechat.WechatTemplateConfigDao;
import com.yihu.wlyy.service.app.device.PatientDeviceLogService;
import com.yihu.wlyy.service.app.device.PatientDeviceService;
import com.yihu.wlyy.service.app.device.WlyyDeviceDetailService;
import com.yihu.wlyy.service.app.device.DeviceDetailService;
import com.yihu.wlyy.service.app.health.PatientHealthIndexService;
import com.yihu.wlyy.service.common.account.PatientService;
import com.yihu.wlyy.service.third.health.bank.CreditLogService;
@ -18,7 +19,6 @@ import com.yihu.wlyy.task.PushMsgTask;
import com.yihu.wlyy.util.DateUtil;
import com.yihu.wlyy.util.HttpClientUtil;
import com.yihu.wlyy.web.BaseController;
import com.yihu.wlyy.web.doctor.device.DoctorDeviceController;
import com.yihu.wlyy.wechat.util.WeiXinAccessTokenUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -59,11 +59,9 @@ public class PatientDeviceController extends BaseController {
    @Autowired
    private PatientDeviceDao patientDeviceDao;
    @Autowired
    private HttpClientUtil HttpClientUtil;
    @Autowired
    private PatientHealthIndexService patientHealthIndexService;
    @Autowired
    private WlyyDeviceDetailService wlyyDeviceDetailService;
    private DeviceDetailService deviceDetailService;
    @Autowired
    private CreditLogService creditLogService;
    @Autowired
@ -74,6 +72,8 @@ public class PatientDeviceController extends BaseController {
    private PushMsgTask pushMsgTask;
    @Autowired
    private WeiXinAccessTokenUtils weiXinAccessTokenUtils;
    @Autowired
    private PatientDeviceLogService patientDeviceLogService;
    @Value("${yihu.yihu_OpenPlatform_url}")
    private String url;
@ -213,66 +213,62 @@ public class PatientDeviceController extends BaseController {
            // 设置患者标识
            device.setUser(getRepUID());
//            device.setUser(getUID());
            //首绑和设备类型判断
            //患者和设备是否首绑
            Map<String,Object> checkMap = patientDeviceService.checkBindingFirstAndType(device);
            boolean flag = (Boolean)checkMap.get("flag");
            int checkCode = Integer.valueOf(String.valueOf(checkMap.get("code")));
            //已经绑定过同样的设备类型了,无法继续绑定
            if (checkCode == -10000){
                return write(-1,String.valueOf(checkMap.get("msg")));
            }
            Patient patient = patientService.findByCode(device.getUser());
            if(!getUID().equals(getRepUID())&&device.getId()==null){
                device.setAgent(getRepUID());
                device.setAgentName(patient.getName());
            }
            String sn = device.getDeviceSn();
            synchronized (sn.intern()){
                patientDeviceService.saveDevice(device);
                patientDeviceLogService.savePatientDeviceLog(device,device.getDeviceSn(),2,1);
            }
            //判断是否为积分设备
            DeviceDetail deviceDetail = wlyyDeviceDetailService.findBySn(device.getDeviceSn());
            if (deviceDetail!=null){
                //修改设备表中{"1":"0", "2":"0"}的绑定次数 和其他绑定信息,
                wlyyDeviceDetailService.updateAfterBinding(device.getDeviceSn(),device.getUserIdcard(),device.getUserType(),new Date(),flag);
                Patient patient = patientService.findByCode(device.getUser());
                if (flag && "350205".equals(patient.getTown())){
                    String creditDetail = "{\"tradeType\":\"HEALTH_TASK\",\"flag\":\"BIND\",\"tradeDirection\":1,\"status\":1,\"patientId\":\""+device.getUser()+"\",\"hospital\":\""+patient.getTown()+"\"}";
                    com.alibaba.fastjson.JSONObject jsonObject = com.alibaba.fastjson.JSONObject.parseObject(creditDetail);
                    com.alibaba.fastjson.JSONObject response = creditLogService.insert(jsonObject);
                    System.out.println("添加积分返回数据======"+response.toJSONString());
                    String status = response.getString("status");
                    if ("200".equals(status)){
                        List<Map<String,Object>> list = (List<Map<String,Object>>)response.get("detailModelList");
                        if (list!=null && list.size()>0){
                            String integrate = String.valueOf(list.get(0).get("integrate"));
                            String flagType = String.valueOf(list.get(0).get("flag"));
                            //@TODO 调用发送微信模板接口
	                        //Patient people = patientDao.findByCode(device.getUser());
                        }
            //修改设备表中{"1":"0", "2":"0"}的绑定次数 和其他绑定信息,
            deviceDetailService.updateAfterBinding(device,new Date(),flag);
            if (flag && "350205".equals(patient.getTown())){
                String creditDetail = "{\"tradeType\":\"HEALTH_TASK\",\"flag\":\"BIND\",\"tradeDirection\":1,\"status\":1,\"patientId\":\""+device.getUser()+"\",\"hospital\":\""+patient.getTown()+"\"}";
                com.alibaba.fastjson.JSONObject jsonObject = com.alibaba.fastjson.JSONObject.parseObject(creditDetail);
                com.alibaba.fastjson.JSONObject response = creditLogService.insert(jsonObject);
                System.out.println("添加积分返回数据======"+response.toJSONString());
                String status = response.getString("status");
                /*if ("200".equals(status)){
                    List<Map<String,Object>> list = (List<Map<String,Object>>)response.get("detailModelList");
                    if (list!=null && list.size()>0){
                        String integrate = String.valueOf(list.get(0).get("integrate"));
                        String flagType = String.valueOf(list.get(0).get("flag"));
                        //@TODO 调用发送微信模板接口
                        //Patient people = patientDao.findByCode(device.getUser());
                    }
                }*/
                if (!"200".equals(status)){
                    logger.info("添加积分失败!");
                }
    
                try {
                    String openId = patient.getOpenid();
                    String name = patient.getName();
        
                    org.json.JSONObject sendJson = new org.json.JSONObject();
                    String first = "";
                    String remark = "";
                    String deviceName = device.getDeviceName();
                    WechatTemplateConfig templateConfig = templateConfigDao.findByScene("template_patient_bind_device","bdsb");
                    first = templateConfig.getFirst();
                    first = first.replace("key1",(deviceName==null?"":deviceName));
                    remark = templateConfig.getRemark();
        
                    sendJson.put("keyword1", deviceName);
                    sendJson.put("keyword2", DateUtil.dateToStrLong(device.getCzrq()));
                    sendJson.put("keyword3", templateConfig.getKeyword3());
                    sendJson.put("first", first);
                    sendJson.put("remark", remark);
                    sendJson.put("url", templateConfig.getUrl());//带参数的模板跳转链接
                    System.out.println(sendJson.toString());
                    pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 22, openId, name, sendJson);
            }
            try {
                String openId = patient.getOpenid();
                String name = patient.getName();
                org.json.JSONObject sendJson = new org.json.JSONObject();
                String first = "";
                String remark = "";
                String deviceName = device.getDeviceName();
                WechatTemplateConfig templateConfig = templateConfigDao.findByScene("template_patient_bind_device","bdsb");
                first = templateConfig.getFirst();
                first = first.replace("key1",(deviceName==null?"":deviceName));
                remark = templateConfig.getRemark();
                sendJson.put("keyword1", deviceName);
                sendJson.put("keyword2", DateUtil.dateToStrLong(device.getCzrq()));
                sendJson.put("keyword3", templateConfig.getKeyword3());
                sendJson.put("first", first);
                sendJson.put("remark", remark);
                sendJson.put("url", templateConfig.getUrl());//带参数的模板跳转链接
                System.out.println(sendJson.toString());
                pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 22, openId, name, sendJson);
//	                    //发送代理人
//	                    jsonArray = weiXinOpenIdUtils.getAgentOpenId(patient, openId);
//	                    if (jsonArray != null && jsonArray.length() > 0) {
@ -289,13 +285,10 @@ public class PatientDeviceController extends BaseController {
//			                    pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 19, member.getOpenid(), name, sendJson);
//		                    }
//	                    }
                }catch (Exception e){
                    logger.info("设备绑定微信模板消息发送失败:"+e.getMessage());
            }catch (Exception e){
                logger.info("设备绑定微信模板消息发送失败:"+e.getMessage());
//	                        e.printStackTrace();
                }
            }
            return success("设备保存成功!");
        } catch (Exception ex) {
            error(ex);

+ 3 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/healthBank/PatientHealthBankController.java

@ -1,5 +1,6 @@
package com.yihu.wlyy.web.patient.healthBank;
import com.yihu.wlyy.entity.organization.Hospital;
import com.yihu.wlyy.service.app.healthBank.PatientHealthBankService;
import com.yihu.wlyy.web.BaseController;
import io.swagger.annotations.Api;
@ -27,8 +28,8 @@ public class PatientHealthBankController extends BaseController {
    @ApiOperation("区分门户显示(判断是否为海沧区居民)")
    public String distinguish(@RequestParam(value = "patient") String patient){
        try {
            Boolean d = patientHealthBankService.distinguish(patient);
            return write(200, "查询成功!","data", d);
            Hospital h = patientHealthBankService.distinguish(patient);
            return write(200, "查询成功!","data", h);
        } catch (Exception e) {
            error(e);
            return error(-1, "查询失败");

+ 2 - 2
patient-co/patient-co-wlyy/src/main/resources/application-test.yml

@ -28,9 +28,9 @@ im:
  im_list_get: http://172.19.103.88:3000/
  data_base_name: im_new
#专病配置
#专病配置基础服务地址
specialist:
  url: http://localhost:10051/svr-wlyy-specialist/
  url: http://172.19.103.33:10051/svr-wlyy-specialist/
#物联网配置
iot:
  url: http://172.19.103.33:8088/svr-iot/