Browse Source

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

liuwenbin 7 năm trước cách đây
mục cha
commit
ed8f4b28fe
20 tập tin đã thay đổi với 2871 bổ sung15 xóa
  1. 108 0
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/manager/specialist/ServiceItemController.java
  2. 143 0
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/specialist/ServiceItemService.java
  3. 55 0
      patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/controller/FamilyLianqianController.java
  4. 18 0
      patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/dao/FamilyDao.java
  5. 26 0
      patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/dao/ResidenceInfoDao.java
  6. 15 0
      patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/dao/TblBasicDao.java
  7. 20 0
      patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/dao/TblsysParamDao.java
  8. 912 0
      patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/entity/DemographicInfo.java
  9. 192 0
      patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/entity/FamilyLianQian.java
  10. 163 0
      patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/entity/FoundationMedicalSystemParam.java
  11. 347 0
      patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/entity/ResidenceInfo.java
  12. 591 0
      patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/entity/SignFamilyLianQian.java
  13. 136 0
      patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/service/FamilyLianQianService.java
  14. 21 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/disease/PatientDiseaseService.java
  15. 42 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/specialist/SpecialistService.java
  16. 6 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/third/guahao/GuahaoXMService.java
  17. 6 3
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/specialist/SpecialistController.java
  18. 10 10
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/specialist/PatientSpecialistController.java
  19. 23 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/zysoft/BookingController.java
  20. 37 0
      patient-co/patient-co-wlyy/src/main/resources/application-dev.yml

+ 108 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/manager/specialist/ServiceItemController.java

@ -0,0 +1,108 @@
package com.yihu.wlyy.controller.manager.specialist;/**
 * Created by nature of king on 2018/8/17.
 */
import com.yihu.wlyy.controller.BaseController;
import com.yihu.wlyy.service.manager.specialist.ServiceItemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
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;
/**
 * @author wangzhinan
 * @create 2018-08-17 16:51
 * @desc 服务项目
 **/
@Controller
@RequestMapping(value="admin/specialist/")
public class ServiceItemController  extends BaseController {
    @Autowired
    private ServiceItemService serviceItemService;
    @RequestMapping(value = "initial")
    public String listInit() {
        return "specialty/index";
    }
    /**
     * 创建服务项目
     * @param serviceItem
     * @return
     */
    @RequestMapping(value = "createServiceItem", method = RequestMethod.POST)
    @ResponseBody
    public String createServiceItem(@RequestParam(name = "serviceItem") String serviceItem){
        try {
            return write(200, "操作成功", "data",serviceItemService.createServiceItem(serviceItem));
        } catch (Exception ex) {
            error(ex);
            return error(-1, "操作失败");
        }
    }
    /**
     * 更新服务项目
     *
     * @param serviceItem
     * @return
     */
    @RequestMapping(value = "updateServiceItem", method = RequestMethod.POST)
    @ResponseBody
    public String updateServiceItem(@RequestParam(name = "serviceItem") String serviceItem){
        try {
            return write(200, "操作成功", "data",serviceItemService.updateServiceItem(serviceItem));
        } catch (Exception ex) {
            error(ex);
            return error(-1, "操作失败");
        }
    }
    /**
     * 获取服务项目
     *
     * @param serviceItem
     * @param page
     * @param pageSize
     * @return
     */
    @RequestMapping(value = "updateServiceItem", method = RequestMethod.POST)
    @ResponseBody
    public String updateServiceItem(@RequestParam(name = "serviceItem") String serviceItem,
                                    @RequestParam(name = "page",defaultValue = "1")Integer page,
                                    @RequestParam(name = "pageSize",defaultValue = "10")Integer pageSize){
        try {
            return write(200, "操作成功", "data",serviceItemService.selectServiceItem(serviceItem,page,pageSize));
        } catch (Exception ex) {
            error(ex);
            return error(-1, "操作失败");
        }
    }
    /**
     * 删除服务项目
     *
     * @param ids
     * @return
     */
    @RequestMapping(value = "delete", method = RequestMethod.POST)
    @ResponseBody
    public String deleteServiceItem(@RequestParam(name = "ids") String ids){
        try {
            return write(200, "操作成功", "data",serviceItemService.delete(ids));
        } catch (Exception ex) {
            error(ex);
            return error(-1, "操作失败");
        }
    }
}

+ 143 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/specialist/ServiceItemService.java

@ -0,0 +1,143 @@
package com.yihu.wlyy.service.manager.specialist;/**
 * Created by nature of king on 2018/8/17.
 */
import com.alibaba.fastjson.JSONObject;
import com.yihu.wlyy.repository.SystemDictDao;
import com.yihu.wlyy.service.BaseService;
import com.yihu.wlyy.util.HttpClientUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
/**
 * @author wangzhinan
 * @create 2018-08-17 15:27
 * @desc 服务项目
 **/
@Service
public class ServiceItemService extends BaseService {
    private Logger logger = LoggerFactory.getLogger(ServiceItemService.class);
    private static String URL = "specialist:url";
    @Autowired
    private RedisTemplate redisTemplate;
    @Autowired
    private SystemDictDao systemDictDao;
    @Autowired
    private HttpClientUtil httpClientUtil;
    /**
     * 获取url
     *
     * @return
     */
    public  String getBaseUrl(){
        String url = (String) redisTemplate.opsForValue().get(URL);
        String url1 = systemDictDao.findByDictNameAndCode3("SPECIALIST_URL","SPECIALIST_URL");
        if (url != null && url1.equalsIgnoreCase(url)){
            return url;
        }else {
            redisTemplate.opsForValue().set(URL,url1);
            return url1;
        }
    }
    /**
     * 添加服务项目
     *
     * @param serviceItem
     * @return
     * @throws Exception
     */
    public JSONObject createServiceItem(String serviceItem) throws Exception {
        String response = null;
        String url =getBaseUrl() + "createActiveRecord";
        Map<String,String> params = new HashMap<>();
        params.put("serviceItem",serviceItem);
        try {
            response = httpClientUtil.httpPost(url,params);
        }catch (Exception e){
            e.printStackTrace();
            logger.error(e.getMessage());
        }
        return JSONObject.parseObject(response);
    }
    /**
     * 查询服务项目
     *
     * @param serviceItem
     * @param page
     * @param pageSize
     * @return
     * @throws Exception
     */
    public JSONObject selectServiceItem(String serviceItem,Integer page,Integer pageSize) throws Exception {
        String response = null;
        String url =getBaseUrl() + "getServiceItem";
        Map<String,String> params = new HashMap<>();
        params.put("serviceItem",serviceItem);
        params.put("page",page.toString());
        params.put("pageSize",pageSize.toString());
        try {
            response = httpClientUtil.httpPost(url,params);
        }catch (Exception e){
            e.printStackTrace();
            logger.error(e.getMessage());
        }
        return JSONObject.parseObject(response);
    }
    /**
     * 批量删除服务项目
     *
     * @param ids
     * @return
     * @throws Exception
     */
    public JSONObject delete(String ids) throws Exception {
        String response = null;
        String url =getBaseUrl() + "batchDelete";
        Map<String,String> params = new HashMap<>();
        params.put("ids",ids);
        try {
            response = httpClientUtil.httpPost(url,params);
        }catch (Exception e){
            e.printStackTrace();
            logger.error(e.getMessage());
        }
        return JSONObject.parseObject(response);
    }
    /**
     * 更新服务项目
     *
     * @param serviceItem
     * @return
     * @throws Exception
     */
    public JSONObject updateServiceItem(String serviceItem) throws Exception {
        String response = null;
        String url =getBaseUrl() + "updateServiceItem";
        Map<String,String> params = new HashMap<>();
        params.put("serviceItem",serviceItem);
        try {
            response = httpClientUtil.httpPost(url,params);
        }catch (Exception e){
            e.printStackTrace();
            logger.error(e.getMessage());
        }
        return JSONObject.parseObject(response);
    }
}

+ 55 - 0
patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/controller/FamilyLianqianController.java

@ -0,0 +1,55 @@
package com.yihu.wlyy.sign.controller;/**
 * Created by nature of king on 2018/8/10.
 */
import com.yihu.wlyy.sign.common.model.Result;
import com.yihu.wlyy.sign.service.FamilyLianQianService;
import com.zoe.phip.ssp.sdk.ApiException;
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.stereotype.Controller;
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;
/**
 * @author wangzhinan
 * @create 2018-08-10 8:59
 * @desc 家庭成员
 **/
@Controller
@RequestMapping(value = "/third/familyLianQian/")
@Api(description = "家庭成员信息")
public class FamilyLianqianController {
    @Autowired
    private FamilyLianQianService service;
    @RequestMapping(value = "select",method = RequestMethod.POST)
    @ResponseBody
    @ApiOperation("家庭成员报表")
    public Result insert(@ApiParam(name="status",value="签约状态",defaultValue = "1")
                                       @RequestParam(value="status",required = true) String status,
                         @ApiParam(name = "year",value = "签约年份",defaultValue = "2017")
                                        @RequestParam(value = "year",required = true)String year,
                         @ApiParam(name = "hospitalName",value = "签约社区",defaultValue = "思明区莲前街道社区卫生服务中心")
                                        @RequestParam(value = "hospitalName",required = true)String hospitalName){
        try {
            String response = service.selectByCondition(status,year,hospitalName);
            return Result.success("同步患者三师签约信息成功!",response);
        } catch (Exception ex) {
            if(ex instanceof ApiException)
            {
                ApiException apiEx = (ApiException) ex;
                return Result.error(apiEx.errorCode(),ex.getMessage());
            }
            else{
                return Result.error(ex.getMessage());
            }
        }
    }
}

+ 18 - 0
patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/dao/FamilyDao.java

@ -0,0 +1,18 @@
package com.yihu.wlyy.sign.dao;/**
 * Created by nature of king on 2018/8/9.
 */
import com.yihu.wlyy.sign.entity.FamilyLianQian;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * @author wangzhinan
 * @create 2018-08-09 10:52
 * @desc 家庭成员
 **/
public interface FamilyDao extends PagingAndSortingRepository<FamilyLianQian, Long>, JpaSpecificationExecutor<FamilyLianQian> {
    @Query("from FamilyLianQian a  where a.idcard = ?1 ")
    FamilyLianQian findByIdCard(String idcard);
}

+ 26 - 0
patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/dao/ResidenceInfoDao.java

@ -0,0 +1,26 @@
package com.yihu.wlyy.sign.dao;
import com.yihu.wlyy.sign.entity.ResidenceInfo;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * 户口信息DAO。
 */
public interface ResidenceInfoDao extends PagingAndSortingRepository<ResidenceInfo, Long>, JpaSpecificationExecutor<ResidenceInfo> {
    @Query(" FROM ResidenceInfo a WHERE a.personid=?1 ")
    List<ResidenceInfo> findByPersonId(Integer personid);
    @Query(" FROM ResidenceInfo a WHERE a.familystateid=?1 ")
    List<ResidenceInfo> findByFamilyId(Integer familyinfoid);
    @Query(" FROM ResidenceInfo a WHERE a.personid=?1 and a.personstate = 0 and a.leavecau IS NULL and a.state = 1 and a.sn IS NOT NULL AND a.memo IS NULL")
    List<ResidenceInfo> findByPersonIdAndState(Integer personid);
    @Query(" FROM ResidenceInfo a WHERE a.familystateid=?1 and a.personstate = 0 and a.leavecau IS NULL and a.state = 1")
    List<ResidenceInfo> findByFamilyIdAndLeave(Integer familyinfoid);
}

+ 15 - 0
patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/dao/TblBasicDao.java

@ -0,0 +1,15 @@
package com.yihu.wlyy.sign.dao;
import com.yihu.wlyy.sign.entity.DemographicInfo;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by Administrator on 2016.08.20.
 */
public interface TblBasicDao extends PagingAndSortingRepository<DemographicInfo, Integer>, JpaSpecificationExecutor<DemographicInfo> {
    @Query("from DemographicInfo a  where a.cardid = ?1 and a.state='1'")
    DemographicInfo findByIdCard(String idcard);
}

+ 20 - 0
patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/dao/TblsysParamDao.java

@ -0,0 +1,20 @@
package com.yihu.wlyy.sign.dao;
import com.yihu.wlyy.sign.entity.FoundationMedicalSystemParam;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created by Administrator on 2016.08.20.
 */
public interface TblsysParamDao extends PagingAndSortingRepository<FoundationMedicalSystemParam, Long>, JpaSpecificationExecutor<FoundationMedicalSystemParam> {
    @Query(" FROM FoundationMedicalSystemParam a WHERE a.paramname=?1 ")
    List<FoundationMedicalSystemParam> findByParamname(String relaholder);
    @Query(" FROM FoundationMedicalSystemParam a WHERE a.paramname=?1 and a.code = ?2")
    FoundationMedicalSystemParam findByParamnameAndCode(String relaholder,String code);
}

+ 912 - 0
patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/entity/DemographicInfo.java

@ -0,0 +1,912 @@
package com.yihu.wlyy.sign.entity;
import javax.persistence.*;
import java.sql.Timestamp;
/**
 * 人口学信息。所有数据均从基卫数据库导出,数据库的表名与基卫一致。
 */
@Entity
@Table(name = "tbl_basic")
public class DemographicInfo implements java.io.Serializable {
	private Integer personid;//人员编码
	private String persontype;//人员类型c2n(Persontype)
	private String name;//姓名
	private String oldname;//曾用名
	private String aliasname;//别名
	private String sex;//性别c2n(sex)
	private Timestamp birth;//出生年月
	private Timestamp doorbirth;//公安户籍出生年月
	private String cardid;//身份证号码  18
	private String nation;//民族c2n(Nation)
	private String edudegree;//文化程度c2n(Edudegree)
	private String work;//职业c2n(Work)
	private String party;//政治面貌c2n(Party)
	private String doorprop;//户口性质c2n(Whouse)
	private String farmer;//是否农户c2n(Whether)
	private String aviso;//是否重点通报对象
	private String publicize;//是否宣传访视重点
	private String hortation;//是否应奖励对象
	private String checktype;//是否三查对象
	private String single;//是否独生子女
	private Integer workid;//工作单位编码
	private String dooraddress;//户籍地编码
	private String dooraddressinfo;//户籍地详细地址
	private String nowaddress;//现居住地编码
	private String nowaddressinfo;//现居住地详细地址
	private String doortel;//户籍地电话
	private String marrytype;//当前婚姻状况c2n(Marriage)
	private Timestamp marrychangedate;//婚姻变动日期
	private Integer mateid;//'配偶ID
	private String matename;//配偶姓名
	private String matecardid;//配偶身份证号码
	private Timestamp matebrith;//配偶出生年月
	private Integer fatherid;//父亲ID
	private String fathername;//父亲姓名
	private Integer materid;//母亲ID
	private String matername;//母亲姓名
	private Integer girlcount;//现有女孩数
	private Integer boycount;//现有男孩数
	private Integer operatorid;//登记操作员
	private String checkunit;//登记单位
	private Timestamp checkdate;//登记日期
	private Integer uoperatorid;//'修改操作员
	private String updateunit;//修改单位
	private Timestamp updatedate;//修改日期
	private Timestamp indate;//入库日期
	private Integer cancel;//注销表ID(迁出的时候写随机写一个数进去'
	private String memo;//备注
	private String persontel;//人员联系电话
	private Timestamp arrivedate;//来厦日期
	private Timestamp leavedate;//离籍日期
	private String conclass;//避孕方法c2n(ConClass)
	private String munitid;//主管单位id (当人员迁出或死亡的时候置为空)
	private String state;//是否有效1为有效,2为迁出,3为死亡,4为重复人口
	private String health;//健康状态
	private String relaparents;//与父母关系 Relaparents',
	private String matebwork;//配偶职业 Work
	private String workaddress;//配偶工作单位
	private String mateaddtel;//配偶户籍联系电话
	private Integer nowchilden;//现有孩数
	private Timestamp schildbirth;//最小孩子出生日期
	private Timestamp singlenodate;//领独子证时间
	private String isviolate;//是否违纪 Whether (0否,1是)
	private String ismatefarmer;// '配偶是否农户c2n(Whether)'
	private String workaddressid;//'配偶工作单位编码
	private String workname;//工作单位名称
	private Timestamp condate;//避孕日期
	private String contramemo;//避孕备注c2n(Contramemo)
	private String matedooradd;//配偶户籍地编码
	private String matedooraddinfo;//配偶户籍地详细地址
	private Timestamp fmarrydate;//初婚日期
	private String unitname;//配偶工作单位名称
	private String addtype;//人口增加类型(2出生,1迁入)
	private String zjlxdm;//
	private String qtzjhm;//
	private String fathercode;//
	private String gjdm;//
	private Timestamp dbdate;//
	private String mothercode;//
	private String familyhtype;//
	public DemographicInfo() {
	}
	public DemographicInfo(String persontype, String name, String oldname,
						   String aliasname, String sex, Timestamp birth, Timestamp doorbirth,
						   String cardid, String nation, String edudegree, String work,
						   String party, String doorprop, String farmer, String aviso,
						   String publicize, String hortation, String checktype,
						   String single, Integer workid, String dooraddress,
						   String dooraddressinfo, String nowaddress, String nowaddressinfo,
						   String doortel, String marrytype, Timestamp marrychangedate,
						   Integer mateid, String matename, String matecardid,
						   Timestamp matebrith, Integer fatherid, String fathername,
						   Integer materid, String matername, Integer girlcount,
						   Integer boycount, Integer operatorid, String checkunit,
						   Timestamp checkdate, Integer uoperatorid, String updateunit,
						   Timestamp updatedate, Timestamp indate, Integer cancel,
						   String memo, String persontel, Timestamp arrivedate,
						   Timestamp leavedate, String conclass, String munitid, String state,
						   String health, String relaparents, String matebwork,
						   String workaddress, String mateaddtel, Integer nowchilden,
						   Timestamp schildbirth, Timestamp singlenodate, String isviolate,
						   String ismatefarmer, String workaddressid, String workname,
						   Timestamp condate, String contramemo, String matedooradd,
						   String matedooraddinfo, Timestamp fmarrydate, String unitname,
						   String addtype, String zjlxdm, String qtzjhm, String fathercode,
						   String gjdm, Timestamp dbdate, String mothercode, String familyhtype) {
		this.persontype = persontype;
		this.name = name;
		this.oldname = oldname;
		this.aliasname = aliasname;
		this.sex = sex;
		this.birth = birth;
		this.doorbirth = doorbirth;
		this.cardid = cardid;
		this.nation = nation;
		this.edudegree = edudegree;
		this.work = work;
		this.party = party;
		this.doorprop = doorprop;
		this.farmer = farmer;
		this.aviso = aviso;
		this.publicize = publicize;
		this.hortation = hortation;
		this.checktype = checktype;
		this.single = single;
		this.workid = workid;
		this.dooraddress = dooraddress;
		this.dooraddressinfo = dooraddressinfo;
		this.nowaddress = nowaddress;
		this.nowaddressinfo = nowaddressinfo;
		this.doortel = doortel;
		this.marrytype = marrytype;
		this.marrychangedate = marrychangedate;
		this.mateid = mateid;
		this.matename = matename;
		this.matecardid = matecardid;
		this.matebrith = matebrith;
		this.fatherid = fatherid;
		this.fathername = fathername;
		this.materid = materid;
		this.matername = matername;
		this.girlcount = girlcount;
		this.boycount = boycount;
		this.operatorid = operatorid;
		this.checkunit = checkunit;
		this.checkdate = checkdate;
		this.uoperatorid = uoperatorid;
		this.updateunit = updateunit;
		this.updatedate = updatedate;
		this.indate = indate;
		this.cancel = cancel;
		this.memo = memo;
		this.persontel = persontel;
		this.arrivedate = arrivedate;
		this.leavedate = leavedate;
		this.conclass = conclass;
		this.munitid = munitid;
		this.state = state;
		this.health = health;
		this.relaparents = relaparents;
		this.matebwork = matebwork;
		this.workaddress = workaddress;
		this.mateaddtel = mateaddtel;
		this.nowchilden = nowchilden;
		this.schildbirth = schildbirth;
		this.singlenodate = singlenodate;
		this.isviolate = isviolate;
		this.ismatefarmer = ismatefarmer;
		this.workaddressid = workaddressid;
		this.workname = workname;
		this.condate = condate;
		this.contramemo = contramemo;
		this.matedooradd = matedooradd;
		this.matedooraddinfo = matedooraddinfo;
		this.fmarrydate = fmarrydate;
		this.unitname = unitname;
		this.addtype = addtype;
		this.zjlxdm = zjlxdm;
		this.qtzjhm = qtzjhm;
		this.fathercode = fathercode;
		this.gjdm = gjdm;
		this.dbdate = dbdate;
		this.mothercode = mothercode;
		this.familyhtype = familyhtype;
	}
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "PERSONID", unique = true, nullable = false)
	public Integer getPersonid() {
		return this.personid;
	}
	public void setPersonid(Integer personid) {
		this.personid = personid;
	}
	@Column(name = "PERSONTYPE", length = 1)
	public String getPersontype() {
		return this.persontype;
	}
	public void setPersontype(String persontype) {
		this.persontype = persontype;
	}
	@Column(name = "NAME", length = 20)
	public String getName() {
		return this.name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@Column(name = "OLDNAME", length = 20)
	public String getOldname() {
		return this.oldname;
	}
	public void setOldname(String oldname) {
		this.oldname = oldname;
	}
	@Column(name = "ALIASNAME", length = 20)
	public String getAliasname() {
		return this.aliasname;
	}
	public void setAliasname(String aliasname) {
		this.aliasname = aliasname;
	}
	@Column(name = "SEX", length = 1)
	public String getSex() {
		return this.sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	@Column(name = "BIRTH", length = 0)
	public Timestamp getBirth() {
		return this.birth;
	}
	public void setBirth(Timestamp birth) {
		this.birth = birth;
	}
	@Column(name = "DOORBIRTH", length = 0)
	public Timestamp getDoorbirth() {
		return this.doorbirth;
	}
	public void setDoorbirth(Timestamp doorbirth) {
		this.doorbirth = doorbirth;
	}
	@Column(name = "CARDID", length = 18)
	public String getCardid() {
		return this.cardid;
	}
	public void setCardid(String cardid) {
		this.cardid = cardid;
	}
	@Column(name = "NATION", length = 2)
	public String getNation() {
		return this.nation;
	}
	public void setNation(String nation) {
		this.nation = nation;
	}
	@Column(name = "EDUDEGREE", length = 2)
	public String getEdudegree() {
		return this.edudegree;
	}
	public void setEdudegree(String edudegree) {
		this.edudegree = edudegree;
	}
	@Column(name = "WORK", length = 3)
	public String getWork() {
		return this.work;
	}
	public void setWork(String work) {
		this.work = work;
	}
	@Column(name = "PARTY", length = 2)
	public String getParty() {
		return this.party;
	}
	public void setParty(String party) {
		this.party = party;
	}
	@Column(name = "DOORPROP", length = 2)
	public String getDoorprop() {
		return this.doorprop;
	}
	public void setDoorprop(String doorprop) {
		this.doorprop = doorprop;
	}
	@Column(name = "FARMER", length = 1)
	public String getFarmer() {
		return this.farmer;
	}
	public void setFarmer(String farmer) {
		this.farmer = farmer;
	}
	@Column(name = "AVISO", length = 1)
	public String getAviso() {
		return this.aviso;
	}
	public void setAviso(String aviso) {
		this.aviso = aviso;
	}
	@Column(name = "PUBLICIZE", length = 1)
	public String getPublicize() {
		return this.publicize;
	}
	public void setPublicize(String publicize) {
		this.publicize = publicize;
	}
	@Column(name = "HORTATION", length = 1)
	public String getHortation() {
		return this.hortation;
	}
	public void setHortation(String hortation) {
		this.hortation = hortation;
	}
	@Column(name = "CHECKTYPE", length = 1)
	public String getChecktype() {
		return this.checktype;
	}
	public void setChecktype(String checktype) {
		this.checktype = checktype;
	}
	@Column(name = "SINGLE", length = 1)
	public String getSingle() {
		return this.single;
	}
	public void setSingle(String single) {
		this.single = single;
	}
	@Column(name = "WORKID")
	public Integer getWorkid() {
		return this.workid;
	}
	public void setWorkid(Integer workid) {
		this.workid = workid;
	}
	@Column(name = "DOORADDRESS", length = 12)
	public String getDooraddress() {
		return this.dooraddress;
	}
	public void setDooraddress(String dooraddress) {
		this.dooraddress = dooraddress;
	}
	@Column(name = "DOORADDRESSINFO", length = 100)
	public String getDooraddressinfo() {
		return this.dooraddressinfo;
	}
	public void setDooraddressinfo(String dooraddressinfo) {
		this.dooraddressinfo = dooraddressinfo;
	}
	@Column(name = "NOWADDRESS", length = 12)
	public String getNowaddress() {
		return this.nowaddress;
	}
	public void setNowaddress(String nowaddress) {
		this.nowaddress = nowaddress;
	}
	@Column(name = "NOWADDRESSINFO", length = 100)
	public String getNowaddressinfo() {
		return this.nowaddressinfo;
	}
	public void setNowaddressinfo(String nowaddressinfo) {
		this.nowaddressinfo = nowaddressinfo;
	}
	@Column(name = "DOORTEL", length = 60)
	public String getDoortel() {
		return this.doortel;
	}
	public void setDoortel(String doortel) {
		this.doortel = doortel;
	}
	@Column(name = "MARRYTYPE", length = 2)
	public String getMarrytype() {
		return this.marrytype;
	}
	public void setMarrytype(String marrytype) {
		this.marrytype = marrytype;
	}
	@Column(name = "MARRYCHANGEDATE", length = 0)
	public Timestamp getMarrychangedate() {
		return this.marrychangedate;
	}
	public void setMarrychangedate(Timestamp marrychangedate) {
		this.marrychangedate = marrychangedate;
	}
	@Column(name = "MATEID")
	public Integer getMateid() {
		return this.mateid;
	}
	public void setMateid(Integer mateid) {
		this.mateid = mateid;
	}
	@Column(name = "MATENAME", length = 30)
	public String getMatename() {
		return this.matename;
	}
	public void setMatename(String matename) {
		this.matename = matename;
	}
	@Column(name = "MATECARDID", length = 18)
	public String getMatecardid() {
		return this.matecardid;
	}
	public void setMatecardid(String matecardid) {
		this.matecardid = matecardid;
	}
	@Column(name = "MATEBRITH", length = 0)
	public Timestamp getMatebrith() {
		return this.matebrith;
	}
	public void setMatebrith(Timestamp matebrith) {
		this.matebrith = matebrith;
	}
	@Column(name = "FATHERID")
	public Integer getFatherid() {
		return this.fatherid;
	}
	public void setFatherid(Integer fatherid) {
		this.fatherid = fatherid;
	}
	@Column(name = "FATHERNAME", length = 20)
	public String getFathername() {
		return this.fathername;
	}
	public void setFathername(String fathername) {
		this.fathername = fathername;
	}
	@Column(name = "MATERID")
	public Integer getMaterid() {
		return this.materid;
	}
	public void setMaterid(Integer materid) {
		this.materid = materid;
	}
	@Column(name = "MATERNAME", length = 20)
	public String getMatername() {
		return this.matername;
	}
	public void setMatername(String matername) {
		this.matername = matername;
	}
	@Column(name = "GIRLCOUNT")
	public Integer getGirlcount() {
		return this.girlcount;
	}
	public void setGirlcount(Integer girlcount) {
		this.girlcount = girlcount;
	}
	@Column(name = "BOYCOUNT")
	public Integer getBoycount() {
		return this.boycount;
	}
	public void setBoycount(Integer boycount) {
		this.boycount = boycount;
	}
	@Column(name = "OPERATORID")
	public Integer getOperatorid() {
		return this.operatorid;
	}
	public void setOperatorid(Integer operatorid) {
		this.operatorid = operatorid;
	}
	@Column(name = "CHECKUNIT", length = 12)
	public String getCheckunit() {
		return this.checkunit;
	}
	public void setCheckunit(String checkunit) {
		this.checkunit = checkunit;
	}
	@Column(name = "CHECKDATE", length = 0)
	public Timestamp getCheckdate() {
		return this.checkdate;
	}
	public void setCheckdate(Timestamp checkdate) {
		this.checkdate = checkdate;
	}
	@Column(name = "UOPERATORID")
	public Integer getUoperatorid() {
		return this.uoperatorid;
	}
	public void setUoperatorid(Integer uoperatorid) {
		this.uoperatorid = uoperatorid;
	}
	@Column(name = "UPDATEUNIT", length = 12)
	public String getUpdateunit() {
		return this.updateunit;
	}
	public void setUpdateunit(String updateunit) {
		this.updateunit = updateunit;
	}
	@Column(name = "UPDATEDATE", length = 0)
	public Timestamp getUpdatedate() {
		return this.updatedate;
	}
	public void setUpdatedate(Timestamp updatedate) {
		this.updatedate = updatedate;
	}
	@Column(name = "INDATE", length = 0)
	public Timestamp getIndate() {
		return this.indate;
	}
	public void setIndate(Timestamp indate) {
		this.indate = indate;
	}
	@Column(name = "CANCEL")
	public Integer getCancel() {
		return this.cancel;
	}
	public void setCancel(Integer cancel) {
		this.cancel = cancel;
	}
	@Column(name = "MEMO", length = 210)
	public String getMemo() {
		return this.memo;
	}
	public void setMemo(String memo) {
		this.memo = memo;
	}
	@Column(name = "PERSONTEL", length = 60)
	public String getPersontel() {
		return this.persontel;
	}
	public void setPersontel(String persontel) {
		this.persontel = persontel;
	}
	@Column(name = "ARRIVEDATE", length = 0)
	public Timestamp getArrivedate() {
		return this.arrivedate;
	}
	public void setArrivedate(Timestamp arrivedate) {
		this.arrivedate = arrivedate;
	}
	@Column(name = "LEAVEDATE", length = 0)
	public Timestamp getLeavedate() {
		return this.leavedate;
	}
	public void setLeavedate(Timestamp leavedate) {
		this.leavedate = leavedate;
	}
	@Column(name = "CONCLASS", length = 3)
	public String getConclass() {
		return this.conclass;
	}
	public void setConclass(String conclass) {
		this.conclass = conclass;
	}
	@Column(name = "MUNITID", length = 12)
	public String getMunitid() {
		return this.munitid;
	}
	public void setMunitid(String munitid) {
		this.munitid = munitid;
	}
	@Column(name = "STATE", length = 1)
	public String getState() {
		return this.state;
	}
	public void setState(String state) {
		this.state = state;
	}
	@Column(name = "HEALTH", length = 2)
	public String getHealth() {
		return this.health;
	}
	public void setHealth(String health) {
		this.health = health;
	}
	@Column(name = "RELAPARENTS", length = 2)
	public String getRelaparents() {
		return this.relaparents;
	}
	public void setRelaparents(String relaparents) {
		this.relaparents = relaparents;
	}
	@Column(name = "MATEBWORK", length = 3)
	public String getMatebwork() {
		return this.matebwork;
	}
	public void setMatebwork(String matebwork) {
		this.matebwork = matebwork;
	}
	@Column(name = "WORKADDRESS", length = 100)
	public String getWorkaddress() {
		return this.workaddress;
	}
	public void setWorkaddress(String workaddress) {
		this.workaddress = workaddress;
	}
	@Column(name = "MATEADDTEL", length = 60)
	public String getMateaddtel() {
		return this.mateaddtel;
	}
	public void setMateaddtel(String mateaddtel) {
		this.mateaddtel = mateaddtel;
	}
	@Column(name = "NOWCHILDEN")
	public Integer getNowchilden() {
		return this.nowchilden;
	}
	public void setNowchilden(Integer nowchilden) {
		this.nowchilden = nowchilden;
	}
	@Column(name = "SCHILDBIRTH", length = 0)
	public Timestamp getSchildbirth() {
		return this.schildbirth;
	}
	public void setSchildbirth(Timestamp schildbirth) {
		this.schildbirth = schildbirth;
	}
	@Column(name = "SINGLENODATE", length = 0)
	public Timestamp getSinglenodate() {
		return this.singlenodate;
	}
	public void setSinglenodate(Timestamp singlenodate) {
		this.singlenodate = singlenodate;
	}
	@Column(name = "ISVIOLATE", length = 1)
	public String getIsviolate() {
		return this.isviolate;
	}
	public void setIsviolate(String isviolate) {
		this.isviolate = isviolate;
	}
	@Column(name = "ISMATEFARMER", length = 2)
	public String getIsmatefarmer() {
		return this.ismatefarmer;
	}
	public void setIsmatefarmer(String ismatefarmer) {
		this.ismatefarmer = ismatefarmer;
	}
	@Column(name = "WORKADDRESSID", length = 12)
	public String getWorkaddressid() {
		return this.workaddressid;
	}
	public void setWorkaddressid(String workaddressid) {
		this.workaddressid = workaddressid;
	}
	@Column(name = "WORKNAME", length = 100)
	public String getWorkname() {
		return this.workname;
	}
	public void setWorkname(String workname) {
		this.workname = workname;
	}
	@Column(name = "CONDATE", length = 0)
	public Timestamp getCondate() {
		return this.condate;
	}
	public void setCondate(Timestamp condate) {
		this.condate = condate;
	}
	@Column(name = "CONTRAMEMO", length = 3)
	public String getContramemo() {
		return this.contramemo;
	}
	public void setContramemo(String contramemo) {
		this.contramemo = contramemo;
	}
	@Column(name = "MATEDOORADD", length = 12)
	public String getMatedooradd() {
		return this.matedooradd;
	}
	public void setMatedooradd(String matedooradd) {
		this.matedooradd = matedooradd;
	}
	@Column(name = "MATEDOORADDINFO", length = 100)
	public String getMatedooraddinfo() {
		return this.matedooraddinfo;
	}
	public void setMatedooraddinfo(String matedooraddinfo) {
		this.matedooraddinfo = matedooraddinfo;
	}
	@Column(name = "FMARRYDATE", length = 0)
	public Timestamp getFmarrydate() {
		return this.fmarrydate;
	}
	public void setFmarrydate(Timestamp fmarrydate) {
		this.fmarrydate = fmarrydate;
	}
	@Column(name = "UNITNAME", length = 100)
	public String getUnitname() {
		return this.unitname;
	}
	public void setUnitname(String unitname) {
		this.unitname = unitname;
	}
	@Column(name = "ADDTYPE", length = 1)
	public String getAddtype() {
		return this.addtype;
	}
	public void setAddtype(String addtype) {
		this.addtype = addtype;
	}
	@Column(name = "ZJLXDM", length = 3)
	public String getZjlxdm() {
		return this.zjlxdm;
	}
	public void setZjlxdm(String zjlxdm) {
		this.zjlxdm = zjlxdm;
	}
	@Column(name = "QTZJHM", length = 20)
	public String getQtzjhm() {
		return this.qtzjhm;
	}
	public void setQtzjhm(String qtzjhm) {
		this.qtzjhm = qtzjhm;
	}
	@Column(name = "FATHERCODE", length = 18)
	public String getFathercode() {
		return this.fathercode;
	}
	public void setFathercode(String fathercode) {
		this.fathercode = fathercode;
	}
	@Column(name = "GJDM", length = 3)
	public String getGjdm() {
		return this.gjdm;
	}
	public void setGjdm(String gjdm) {
		this.gjdm = gjdm;
	}
	@Column(name = "DBDATE", length = 0)
	public Timestamp getDbdate() {
		return this.dbdate;
	}
	public void setDbdate(Timestamp dbdate) {
		this.dbdate = dbdate;
	}
	@Column(name = "MOTHERCODE", length = 18)
	public String getMothercode() {
		return this.mothercode;
	}
	public void setMothercode(String mothercode) {
		this.mothercode = mothercode;
	}
	@Column(name = "FAMILYHTYPE", length = 2)
	public String getFamilyhtype() {
		return this.familyhtype;
	}
	public void setFamilyhtype(String familyhtype) {
		this.familyhtype = familyhtype;
	}
}

+ 192 - 0
patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/entity/FamilyLianQian.java

@ -0,0 +1,192 @@
package com.yihu.wlyy.sign.entity;/**
 * Created by nature of king on 2018/8/9.
 */
import com.yihu.wlyy.entity.IdEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
/**
 * @author wangzhinan
 * @create 2018-08-09 10:27
 * @desc 家庭成员
 **/
@Entity
@Table(name = "tbl_lianqian_family")
public class FamilyLianQian extends IdEntity implements Serializable {
    @Column(name = "address_code")
    private String addressCode;//地址
    @Column(name = "relaholder")
    private String relaholder;//关系
    @Column(name = "code")
    private String code;//居民code
    @Column(name = "sex")
    private Integer sex;//性别
    @Column(name = "idcard")
    private String idcard;//身份证号
    @Column(name = "name")
    private String name;//姓名
    @Column(name = "address_name")
    private String addressName;//地址名称
    @Column(name = "phone")
    private String phone;//联系方式
    @Column(name = "high_blood_pressure")
    private Integer highBloodPressure;//是否高血压
    @Column(name = "diabetes")
    private Integer diabetes;//是否糖尿病
    @Column(name = "sign_type")
    private String signType;//签约类型
    @Column(name = "bind")
    private Integer bind;//是否绑定i健康
    @Column(name = "bp_bind")
    private Integer bpBind;//绑定血压计
    @Column(name = "glu_bind")
    private Integer gluBind;//绑定血糖仪
    @Column(name = "status")
    private String status;//签约状态
    @Column(name = "doctor_health_name")
    private String doctorHealthName;//健管师
    @Column(name = "sign_doctor_name")
    private String signDoctorName;//签约医生
    public String getAddressCode() {
        return addressCode;
    }
    public void setAddressCode(String addressCode) {
        this.addressCode = addressCode;
    }
    public String getRelaholder() {
        return relaholder;
    }
    public void setRelaholder(String relaholder) {
        this.relaholder = relaholder;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getIdcard() {
        return idcard;
    }
    public void setIdcard(String idcard) {
        this.idcard = idcard;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAddressName() {
        return addressName;
    }
    public void setAddressName(String addressName) {
        this.addressName = addressName;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public Integer getHighBloodPressure() {
        return highBloodPressure;
    }
    public void setHighBloodPressure(Integer highBloodPressure) {
        this.highBloodPressure = highBloodPressure;
    }
    public Integer getDiabetes() {
        return diabetes;
    }
    public void setDiabetes(Integer diabetes) {
        this.diabetes = diabetes;
    }
    public String getSignType() {
        return signType;
    }
    public void setSignType(String signType) {
        this.signType = signType;
    }
    public Integer getBind() {
        return bind;
    }
    public void setBind(Integer bind) {
        this.bind = bind;
    }
    public Integer getBpBind() {
        return bpBind;
    }
    public void setBpBind(Integer bpBind) {
        this.bpBind = bpBind;
    }
    public Integer getGluBind() {
        return gluBind;
    }
    public void setGluBind(Integer gluBind) {
        this.gluBind = gluBind;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    public String getDoctorHealthName() {
        return doctorHealthName;
    }
    public void setDoctorHealthName(String doctorHealthName) {
        this.doctorHealthName = doctorHealthName;
    }
    public String getSignDoctorName() {
        return signDoctorName;
    }
    public void setSignDoctorName(String signDoctorName) {
        this.signDoctorName = signDoctorName;
    }
    public Integer getSex() {
        return sex;
    }
    public void setSex(Integer sex) {
        this.sex = sex;
    }
}

+ 163 - 0
patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/entity/FoundationMedicalSystemParam.java

@ -0,0 +1,163 @@
package com.yihu.wlyy.sign.entity;
import javax.persistence.*;
/**
 * 基卫字典与系统参数,数据取自基卫
 */
@Entity
@Table(name = "tblsys_param")
public class FoundationMedicalSystemParam implements java.io.Serializable {
	private Integer codeid; //参数自动编码
	private String paramname;//参数英文名称
	private String code;//代码
	private Integer ord;//顺序号
	private String paramchina;//参数中文名称
	private String namespell;//拼音
	private String iscustom;//是否允许自定义自定义
	private String cancel;//注销
	private String paramdesc;
	private String canceldate;//注销时间
	private String classname;//分类名称
	private String bmlevel;//表码级别(1国家,2省,3市,4自定义)
	private String description;//描述
    public FoundationMedicalSystemParam(){}
	public FoundationMedicalSystemParam(String paramname, String code, Integer ord,
                                        String paramchina, String namespell, String iscustom,
                                        String cancel, String paramdesc, String canceldate,
                                        String classname, String bmlevel, String description) {
		this.paramname = paramname;
		this.code = code;
		this.ord = ord;
		this.paramchina = paramchina;
		this.namespell = namespell;
		this.iscustom = iscustom;
		this.cancel = cancel;
		this.paramdesc = paramdesc;
		this.canceldate = canceldate;
		this.classname = classname;
		this.bmlevel = bmlevel;
		this.description = description;
	}
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "CODEID", unique = true, nullable = false)
	public Integer getCodeid() {
		return this.codeid;
	}
	public void setCodeid(Integer codeid) {
		this.codeid = codeid;
	}
	@Column(name = "PARAMNAME", length = 20)
	public String getParamname() {
		return this.paramname;
	}
	public void setParamname(String paramname) {
		this.paramname = paramname;
	}
	@Column(name = "CODE", length = 12)
	public String getCode() {
		return this.code;
	}
	public void setCode(String code) {
		this.code = code;
	}
	@Column(name = "ORD")
	public Integer getOrd() {
		return this.ord;
	}
	public void setOrd(Integer ord) {
		this.ord = ord;
	}
	@Column(name = "PARAMCHINA", length = 250)
	public String getParamchina() {
		return this.paramchina;
	}
	public void setParamchina(String paramchina) {
		this.paramchina = paramchina;
	}
	@Column(name = "NAMESPELL", length = 20)
	public String getNamespell() {
		return this.namespell;
	}
	public void setNamespell(String namespell) {
		this.namespell = namespell;
	}
	@Column(name = "ISCUSTOM", length = 1)
	public String getIscustom() {
		return this.iscustom;
	}
	public void setIscustom(String iscustom) {
		this.iscustom = iscustom;
	}
	@Column(name = "CANCEL", length = 1)
	public String getCancel() {
		return this.cancel;
	}
	public void setCancel(String cancel) {
		this.cancel = cancel;
	}
	@Column(name = "PARAMDESC", length = 30)
	public String getParamdesc() {
		return this.paramdesc;
	}
	public void setParamdesc(String paramdesc) {
		this.paramdesc = paramdesc;
	}
	@Column(name = "CANCELDATE", length = 8)
	public String getCanceldate() {
		return this.canceldate;
	}
	public void setCanceldate(String canceldate) {
		this.canceldate = canceldate;
	}
	@Column(name = "CLASSNAME", length = 20)
	public String getClassname() {
		return this.classname;
	}
	public void setClassname(String classname) {
		this.classname = classname;
	}
	@Column(name = "BMLEVEL", length = 1)
	public String getBmlevel() {
		return this.bmlevel;
	}
	public void setBmlevel(String bmlevel) {
		this.bmlevel = bmlevel;
	}
	@Column(name = "DESCRIPTION", length = 200)
	public String getDescription() {
		return this.description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
}

+ 347 - 0
patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/entity/ResidenceInfo.java

@ -0,0 +1,347 @@
package com.yihu.wlyy.sign.entity;
import javax.persistence.*;
import java.sql.Timestamp;
/**
 * 户口信息。数据来自基卫,表名与基卫一致。
 */
@Entity
@Table(name = "tbl_personjoinfamilymid")
public class ResidenceInfo implements java.io.Serializable {
	private Integer id;//记录编码
	private Integer familystateid;//家庭户对应id
	private Integer personid;//人员编码
	private String property;//住户性质
	private String relaholder;//与户主关系
	private String personstate;//人户状态
	private Integer operatorid;//录入操作员
	private String checkunit;//登记单位
	private Timestamp checkdate;//登记时间
	private String leavecau;//出户原因
	private Timestamp canceldate;//出户日期
	private String memo;//备注
	private Integer familyinfoid;//户信息id对应表familystate
	private Timestamp indate;//入户日期
	private String state;//1为激活,2为未激活
	private String sn;//序号
	private String team;//组编码
	private String familyno;//家庭编号
	private String doornumb;//分户编号
	private String addno;//地址码(来源于:TEAM+FAMILYNO+DOORNUMB)
	private String persontype;//对应TBL_BASIC表的人员类型
	private String munittype;//管理单位类型(0为主管单位,1为协管单位
	private Integer manid;//对应TBLSYS_MANAGE表的记录ID
	private Timestamp startdate;//开始管理日期
	private Timestamp enddate;//结束管理日期
	private Integer jionid;//入户ID对应tblreg_move或tblhis_children表
	private String jiontype;//入户类型(01对应迁入,02对应出生)
	private Integer cancelid;//出户ID对应tblreg_move或tblreg_cancel表
	private String canceltype;//出户类型(03对应死亡,04对应迁出)
	public ResidenceInfo() {
	}
	public ResidenceInfo(Integer familystateid, Integer personid,
						 String property, String relaholder, String personstate,
						 Integer operatorid, String checkunit, Timestamp checkdate,
						 String leavecau, Timestamp canceldate, String memo,
						 Integer familyinfoid, Timestamp indate, String state, String sn,
						 String team, String familyno, String doornumb, String addno,
						 String persontype, String munittype, Integer manid,
						 Timestamp startdate, Timestamp enddate, Integer jionid,
						 String jiontype, Integer cancelid, String canceltype) {
		this.familystateid = familystateid;
		this.personid = personid;
		this.property = property;
		this.relaholder = relaholder;
		this.personstate = personstate;
		this.operatorid = operatorid;
		this.checkunit = checkunit;
		this.checkdate = checkdate;
		this.leavecau = leavecau;
		this.canceldate = canceldate;
		this.memo = memo;
		this.familyinfoid = familyinfoid;
		this.indate = indate;
		this.state = state;
		this.sn = sn;
		this.team = team;
		this.familyno = familyno;
		this.doornumb = doornumb;
		this.addno = addno;
		this.persontype = persontype;
		this.munittype = munittype;
		this.manid = manid;
		this.startdate = startdate;
		this.enddate = enddate;
		this.jionid = jionid;
		this.jiontype = jiontype;
		this.cancelid = cancelid;
		this.canceltype = canceltype;
	}
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "ID", unique = true, nullable = false)
	public Integer getId() {
		return this.id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	@Column(name = "FAMILYSTATEID")
	public Integer getFamilystateid() {
		return this.familystateid;
	}
	public void setFamilystateid(Integer familystateid) {
		this.familystateid = familystateid;
	}
	@Column(name = "PERSONID")
	public Integer getPersonid() {
		return this.personid;
	}
	public void setPersonid(Integer personid) {
		this.personid = personid;
	}
	@Column(name = "PROPERTY", length = 1)
	public String getProperty() {
		return this.property;
	}
	public void setProperty(String property) {
		this.property = property;
	}
	@Column(name = "RELAHOLDER", length = 2)
	public String getRelaholder() {
		return this.relaholder;
	}
	public void setRelaholder(String relaholder) {
		this.relaholder = relaholder;
	}
	@Column(name = "PERSONSTATE", length = 1)
	public String getPersonstate() {
		return this.personstate;
	}
	public void setPersonstate(String personstate) {
		this.personstate = personstate;
	}
	@Column(name = "OPERATORID")
	public Integer getOperatorid() {
		return this.operatorid;
	}
	public void setOperatorid(Integer operatorid) {
		this.operatorid = operatorid;
	}
	@Column(name = "CHECKUNIT", length = 12)
	public String getCheckunit() {
		return this.checkunit;
	}
	public void setCheckunit(String checkunit) {
		this.checkunit = checkunit;
	}
	@Column(name = "CHECKDATE", length = 0)
	public Timestamp getCheckdate() {
		return this.checkdate;
	}
	public void setCheckdate(Timestamp checkdate) {
		this.checkdate = checkdate;
	}
	@Column(name = "LEAVECAU", length = 1)
	public String getLeavecau() {
		return this.leavecau;
	}
	public void setLeavecau(String leavecau) {
		this.leavecau = leavecau;
	}
	@Column(name = "CANCELDATE", length = 0)
	public Timestamp getCanceldate() {
		return this.canceldate;
	}
	public void setCanceldate(Timestamp canceldate) {
		this.canceldate = canceldate;
	}
	@Column(name = "MEMO", length = 210)
	public String getMemo() {
		return this.memo;
	}
	public void setMemo(String memo) {
		this.memo = memo;
	}
	@Column(name = "FAMILYINFOID")
	public Integer getFamilyinfoid() {
		return this.familyinfoid;
	}
	public void setFamilyinfoid(Integer familyinfoid) {
		this.familyinfoid = familyinfoid;
	}
	@Column(name = "INDATE", length = 0)
	public Timestamp getIndate() {
		return this.indate;
	}
	public void setIndate(Timestamp indate) {
		this.indate = indate;
	}
	@Column(name = "STATE", length = 1)
	public String getState() {
		return this.state;
	}
	public void setState(String state) {
		this.state = state;
	}
	@Column(name = "SN", length = 4)
	public String getSn() {
		return this.sn;
	}
	public void setSn(String sn) {
		this.sn = sn;
	}
	@Column(name = "TEAM", length = 4)
	public String getTeam() {
		return this.team;
	}
	public void setTeam(String team) {
		this.team = team;
	}
	@Column(name = "FAMILYNO", length = 6)
	public String getFamilyno() {
		return this.familyno;
	}
	public void setFamilyno(String familyno) {
		this.familyno = familyno;
	}
	@Column(name = "DOORNUMB", length = 4)
	public String getDoornumb() {
		return this.doornumb;
	}
	public void setDoornumb(String doornumb) {
		this.doornumb = doornumb;
	}
	@Column(name = "ADDNO", length = 14)
	public String getAddno() {
		return this.addno;
	}
	public void setAddno(String addno) {
		this.addno = addno;
	}
	@Column(name = "PERSONTYPE", length = 1)
	public String getPersontype() {
		return this.persontype;
	}
	public void setPersontype(String persontype) {
		this.persontype = persontype;
	}
	@Column(name = "MUNITTYPE", length = 1)
	public String getMunittype() {
		return this.munittype;
	}
	public void setMunittype(String munittype) {
		this.munittype = munittype;
	}
	@Column(name = "MANID")
	public Integer getManid() {
		return this.manid;
	}
	public void setManid(Integer manid) {
		this.manid = manid;
	}
	@Column(name = "STARTDATE", length = 0)
	public Timestamp getStartdate() {
		return this.startdate;
	}
	public void setStartdate(Timestamp startdate) {
		this.startdate = startdate;
	}
	@Column(name = "ENDDATE", length = 0)
	public Timestamp getEnddate() {
		return this.enddate;
	}
	public void setEnddate(Timestamp enddate) {
		this.enddate = enddate;
	}
	@Column(name = "JIONID")
	public Integer getJionid() {
		return this.jionid;
	}
	public void setJionid(Integer jionid) {
		this.jionid = jionid;
	}
	@Column(name = "JIONTYPE", length = 2)
	public String getJiontype() {
		return this.jiontype;
	}
	public void setJiontype(String jiontype) {
		this.jiontype = jiontype;
	}
	@Column(name = "CANCELID")
	public Integer getCancelid() {
		return this.cancelid;
	}
	public void setCancelid(Integer cancelid) {
		this.cancelid = cancelid;
	}
	@Column(name = "CANCELTYPE", length = 2)
	public String getCanceltype() {
		return this.canceltype;
	}
	public void setCanceltype(String canceltype) {
		this.canceltype = canceltype;
	}
}

+ 591 - 0
patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/entity/SignFamilyLianQian.java

@ -0,0 +1,591 @@
package com.yihu.wlyy.sign.entity;
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;
/**
 *  莲前家庭医生签约
 *
 * @author George
 */
@Entity
@Table(name = "wlyy_sign_family_lianqian")
public class SignFamilyLianQian extends IdEntity {
    private static final long serialVersionUID = 364799142991631092L;
    private String code;        // 签约标识
    private String lwCode;      // 两网标识
    private Integer type;       // 签约类型:1三师签约,2网络签约
    private String patient;     // 患者标识
    private String openid;      // 微信OPENID
    private String name;        // 患者姓名
    private String idcard;      // 身份证号
    private String ssc;         // 社保卡号
    private String mobile;      // 手机号
    private String emerMobile;  // 紧急联系人手机号
    private String hospital;    // 签约医院标识
    private String hospitalName;    // 签约医院名称
    private String doctor;      // 全科医生
    private String doctorName;  // 全科医生姓名
    private String doctorHealth;    // 健康管理师
    private String doctorHealthName;    // 健康管理师姓名
    private Date begin;         // 签约开始日期
    private Date end;           // 签约结束日期
    private Integer status;     // 签约状态(-1患者已取消,-2已拒绝,-3已解约,-4已到期 -5超过1500同步智业不成功 -6智业返回不成功 未建档,0待签约,1已签约,2患者申请取消签约
    private String images;      // 签约图片附件URL,多图以逗号分隔
    private String reason;      // 解约原因
    private Date czrq;          // 操作时间
    private String teamCode;
    private Date applyDate;     //签约时间
    private Date applyUnsignDate;//解约时间
    private Date patientApplyDate;//患者发起签约时间
    private Date patientApplyUnsignDate;//患者发起解约时间
    private String signType;//1 用户自己申请  2医生手工带签  3.医生发起邀请
    private String familyCode;//签约code
    private Double expenses;//签约费用
    private String expensesStatus;//扣费状态【0未扣费 1已扣费 2已退费 3医保取消】
    private String signSource;// 签约来源【1 社区签约 2 移动签约】
    private String signDoctorCode;//簽約人code
    private String signDoctorName;//簽約人銘
    private String signDoctorLevel;//簽約人等级
    private String expensesType;//补贴类型(4种类型:01无补贴,02全部贴,03补个人承担部分(20),04补统筹基金(70))
    private String signYear;//签约年度
    private String medicalInsuranceNum;//医保流水号
    private String agentDoctorCode;//代理簽約人code
    private String agentDoctorName;//代理簽約人銘
    private String agentDoctorLevel;//代理簽約人等级
    private Long adminTeamId;//行政团队ID
    private Date expensesTime;//缴费时间
    private Integer num;//签约数
    //1.3.3.2新增字段
    //基卫服务类型
    private String serverType;
    //基卫服务类型名称
    private String serverTypeName;
    //基卫特殊人群类别
    private String specialPopulation;
    //基卫特殊人群类别名称
    private String specialPopulationName;
    //续签标志 1 医生续签 2 医生改签续签
    private String renewFlag;
    //转签原因
    private String renewChangeReason;
    //1.3.5新增居委会字段
    // 居委会字段id
    private String sickVillage;
    // 居委会字段名称
    private String sickVillageName;
    private Integer signPaySource;//签约支付渠道: 1线下 2线上
    //1.4.3新增医生拒签原因
    private String refuseSpeak;//医生拒签原因
    public static long getSerialVersionUID() {
        return serialVersionUID;
    }
    public String getRefuseSpeak() {
        return refuseSpeak;
    }
    public void setRefuseSpeak(String refuseSpeak) {
        this.refuseSpeak = refuseSpeak;
    }
    public Integer getSignPaySource() {
        return signPaySource;
    }
    public void setSignPaySource(Integer signPaySource) {
        this.signPaySource = signPaySource;
    }
    public String getRenewFlag() {
        return renewFlag;
    }
    public void setRenewFlag(String renewFlag) {
        this.renewFlag = renewFlag;
    }
    public String getRenewChangeReason() {
        return renewChangeReason;
    }
    public void setRenewChangeReason(String renewChangeReason) {
        this.renewChangeReason = renewChangeReason;
    }
    public String getServerType() {
        return serverType;
    }
    public void setServerType(String serverType) {
        this.serverType = serverType;
    }
    public String getServerTypeName() {
        return serverTypeName;
    }
    public void setServerTypeName(String serverTypeName) {
        this.serverTypeName = serverTypeName;
    }
    public String getSpecialPopulation() {
        return specialPopulation;
    }
    public void setSpecialPopulation(String specialPopulation) {
        this.specialPopulation = specialPopulation;
    }
    public String getSpecialPopulationName() {
        return specialPopulationName;
    }
    public void setSpecialPopulationName(String specialPopulationName) {
        this.specialPopulationName = specialPopulationName;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getLwCode() {
        return lwCode;
    }
    public void setLwCode(String lwCode) {
        this.lwCode = lwCode;
    }
    public Integer getType() {
        return type;
    }
    public void setType(Integer type) {
        this.type = type;
    }
    public String getPatient() {
        return patient;
    }
    public void setPatient(String patient) {
        this.patient = patient;
    }
    public String getOpenid() {
        return openid;
    }
    public void setOpenid(String openid) {
        this.openid = openid;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getIdcard() {
        return idcard;
    }
    public void setIdcard(String idcard) {
        this.idcard = idcard;
    }
    public String getSsc() {
        return ssc;
    }
    public void setSsc(String ssc) {
        this.ssc = ssc;
    }
    public String getMobile() {
        return mobile;
    }
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }
    @Column(name = "emer_mobile")
    public String getEmerMobile() {
        return emerMobile;
    }
    public void setEmerMobile(String emerMobile) {
        this.emerMobile = emerMobile;
    }
    public String getHospital() {
        return hospital;
    }
    public void setHospital(String hospital) {
        this.hospital = hospital;
    }
    @Column(name = "hospital_name")
    public String getHospitalName() {
        return hospitalName;
    }
    public void setHospitalName(String hospitalName) {
        this.hospitalName = hospitalName;
    }
    public String getDoctor() {
        return doctor;
    }
    public void setDoctor(String doctor) {
        this.doctor = doctor;
    }
    @Column(name = "doctor_name")
    public String getDoctorName() {
        return doctorName;
    }
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }
    @Column(name = "doctor_health")
    public String getDoctorHealth() {
        return doctorHealth;
    }
    public void setDoctorHealth(String doctorHealth) {
        this.doctorHealth = doctorHealth;
    }
    @Column(name = "doctor_health_name")
    public String getDoctorHealthName() {
        return doctorHealthName;
    }
    public void setDoctorHealthName(String doctorHealthName) {
        this.doctorHealthName = doctorHealthName;
    }
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+08:00")
    public Date getBegin() {
        return begin;
    }
    public void setBegin(Date begin) {
        this.begin = begin;
    }
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+08:00")
    public Date getEnd() {
        return end;
    }
    public void setEnd(Date end) {
        this.end = end;
    }
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
    public String getImages() {
        return images;
    }
    public void setImages(String images) {
        this.images = images;
    }
    public String getReason() {
        return reason;
    }
    public void setReason(String reason) {
        this.reason = reason;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getCzrq() {
        return czrq;
    }
    public void setCzrq(Date czrq) {
        this.czrq = czrq;
    }
    @Column(name = "team_code")
    public String getTeamCode() {
        return teamCode;
    }
    public void setTeamCode(String teamCode) {
        this.teamCode = teamCode;
    }
    @Column(name = "sign_type")
    public String getSignType() {
        return signType;
    }
    public void setSignType(String signType) {
        this.signType = signType;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @Column(name = "apply_date")
    public Date getApplyDate() {
        return applyDate;
    }
    public void setApplyDate(Date applyDate) {
        this.applyDate = applyDate;
    }
    @Column(name = "patient_apply_date")
    public Date getPatientApplyDate() {
        return patientApplyDate;
    }
    public void setPatientApplyDate(Date patientApplyDate) {
        this.patientApplyDate = patientApplyDate;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @Column(name = "patient_apply_unsgin_date")
    public Date getPatientApplyUnsignDate() {
        return patientApplyUnsignDate;
    }
    public void setPatientApplyUnsignDate(Date patientApplyUnsignDate) {
        this.patientApplyUnsignDate = patientApplyUnsignDate;
    }
    @Column(name = "family_code")
    public String getFamilyCode() {
        return familyCode;
    }
    public void setFamilyCode(String familyCode) {
        this.familyCode = familyCode;
    }
    @Column(name = "expenses")
    public Double getExpenses() {
        return expenses;
    }
    public void setExpenses(Double expenses) {
        this.expenses = expenses;
    }
    @Column(name = "sign_doctor_code")
    public String getSignDoctorCode() {
        return signDoctorCode;
    }
    public void setSignDoctorCode(String signDoctorCode) {
        this.signDoctorCode = signDoctorCode;
    }
    @Column(name = "sign_doctor_name")
    public String getSignDoctorName() {
        return signDoctorName;
    }
    public void setSignDoctorName(String signDoctorName) {
        this.signDoctorName = signDoctorName;
    }
    @Column(name = "sign_doctor_level")
    public String getSignDoctorLevel() {
        return signDoctorLevel;
    }
    public void setSignDoctorLevel(String signDoctorLevel) {
        this.signDoctorLevel = signDoctorLevel;
    }
    @Column(name = "apply_unsign_date")
    public Date getApplyUnsignDate() {
        return applyUnsignDate;
    }
    public void setApplyUnsignDate(Date applyUnsignDate) {
        this.applyUnsignDate = applyUnsignDate;
    }
    @Column(name = "expenses_type")
    public String getExpensesType() {
        return expensesType;
    }
    public void setExpensesType(String expensesType) {
        this.expensesType = expensesType;
    }
    @Column(name = "sign_year")
    public String getSignYear() {
        return signYear;
    }
    public void setSignYear(String signYear) {
        this.signYear = signYear;
    }
    @Column(name = "medical_insurance_num")
    public String getMedicalInsuranceNum() {
        return medicalInsuranceNum;
    }
    public void setMedicalInsuranceNum(String medicalInsuranceNum) {
        this.medicalInsuranceNum = medicalInsuranceNum;
    }
    @Column(name = "agent_doctor_code")
    public String getAgentDoctorCode() {
        return agentDoctorCode;
    }
    public void setAgentDoctorCode(String agentDoctorCode) {
        this.agentDoctorCode = agentDoctorCode;
    }
    @Column(name = "agent_doctor_name")
    public String getAgentDoctorName() {
        return agentDoctorName;
    }
    public void setAgentDoctorName(String agentDoctorName) {
        this.agentDoctorName = agentDoctorName;
    }
    @Column(name = "agent_doctor_level")
    public String getAgentDoctorLevel() {
        return agentDoctorLevel;
    }
    public void setAgentDoctorLevel(String agentDoctorLevel) {
        this.agentDoctorLevel = agentDoctorLevel;
    }
    @Column(name = "expenses_status")
    public String getExpensesStatus() {
        return expensesStatus;
    }
    public void setExpensesStatus(String expensesStatus) {
        this.expensesStatus = expensesStatus;
    }
    @Column(name = "sign_source")
    public String getSignSource() {
        return signSource;
    }
    public void setSignSource(String signSource) {
        this.signSource = signSource;
    }
    @Column(name = "admin_team_code")
    public Long getAdminTeamId() {
        return adminTeamId;
    }
    public void setAdminTeamId(Long adminTeamId) {
        this.adminTeamId = adminTeamId;
    }
    @Override
    public String toString() {
        return "SignFamily{" +
                "code='" + code + '\'' +
                ", lwCode='" + lwCode + '\'' +
                ", type=" + type +
                ", patient='" + patient + '\'' +
                ", openid='" + openid + '\'' +
                ", name='" + name + '\'' +
                ", idcard='" + idcard + '\'' +
                ", ssc='" + ssc + '\'' +
                ", mobile='" + mobile + '\'' +
                ", emerMobile='" + emerMobile + '\'' +
                ", hospital='" + hospital + '\'' +
                ", hospitalName='" + hospitalName + '\'' +
                ", doctor='" + doctor + '\'' +
                ", doctorName='" + doctorName + '\'' +
                ", doctorHealth='" + doctorHealth + '\'' +
                ", doctorHealthName='" + doctorHealthName + '\'' +
                ", begin=" + begin +
                ", end=" + end +
                ", status=" + status +
                ", images='" + images + '\'' +
                ", reason='" + reason + '\'' +
                ", czrq=" + czrq +
                ", teamCode='" + teamCode + '\'' +
                ", applyDate=" + applyDate +
                ", signType='" + signType + '\'' +
                ", familyCode='" + familyCode + '\'' +
                '}';
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getExpensesTime() {
        return expensesTime;
    }
    public void setExpensesTime(Date expensesTime) {
        this.expensesTime = expensesTime;
    }
    public String getSickVillage() {
        return sickVillage;
    }
    public void setSickVillage(String sickVillage) {
        this.sickVillage = sickVillage;
    }
    public String getSickVillageName() {
        return sickVillageName;
    }
    public void setSickVillageName(String sickVillageName) {
        this.sickVillageName = sickVillageName;
    }
    @Transient
    public Integer getNum() {
        return num;
    }
    public void setNum(Integer num) {
        this.num = num;
    }
}

+ 136 - 0
patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/service/FamilyLianQianService.java

@ -0,0 +1,136 @@
package com.yihu.wlyy.sign.service;/**
 * Created by nature of king on 2018/8/9.
 */
import com.alibaba.fastjson.JSONObject;
import com.yihu.wlyy.entity.patient.SignFamily;
import com.yihu.wlyy.sign.dao.*;
import com.yihu.wlyy.sign.entity.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.util.ArrayList;
import java.util.List;
/**
 * @author wangzhinan
 * @create 2018-08-09 11:19
 * @desc 家庭成员业务
 **/
@Service
@Transactional
public class FamilyLianQianService {
    private Logger logger = LoggerFactory.getLogger(FamilyLianQianService.class);
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private TblBasicDao tblBasicDao;
    @Autowired
    private ResidenceInfoDao residenceInfoDao;
    @Autowired
    private SignPatientLabelInfoDao signPatientLabelInfoDao;
    @Autowired
    private PatientDao patientDao;
    @Autowired
    private FamilyDao familyDao;
    @Autowired
    private TblsysParamDao tblsysParamDao;
    @Autowired
    private SignFamilyDao signFamilyDao;
    public String selectByCondition(String status, String year, String hospitalName)throws Exception{
        try{
        JSONObject object = new JSONObject();
        List<FamilyLianQian> familyLianQians = new ArrayList<>();
        String signSql = "select * from wlyy_sign_family_lianqian WHERE status = "+status+" " +
                "and sign_year= '"+year+"' and hospital_name = '" +hospitalName+"'";
        List<SignFamily> signFamilyList = jdbcTemplate.query(signSql,new BeanPropertyRowMapper(SignFamily.class));
        if (signFamilyList != null && signFamilyList.size() != 0){
            for (SignFamily signFamily:signFamilyList) {
                logger.info("身份证"+signFamily.getIdcard());
                DemographicInfo demographicInfo = tblBasicDao.findByIdCard(signFamily.getIdcard());
                if (demographicInfo != null) {
                    logger.info("personId"+demographicInfo.getPersonid().toString());
                    List<ResidenceInfo> residenceInfo = residenceInfoDao.findByPersonIdAndState(demographicInfo.getPersonid());
                    if (residenceInfo == null){
                        continue;
                    }
                    List<ResidenceInfo> residenceInfoList = residenceInfoDao.findByFamilyIdAndLeave(residenceInfo.get(0).getFamilystateid());
                    logger.info("关系表"+residenceInfoList.size()+"关系表JSON"+residenceInfoList.toString());
                    FamilyLianQian familyLianQian1 = new FamilyLianQian();
                    int i = 0;
                    int j = 0;
                    for (ResidenceInfo residenceInfo1 : residenceInfoList) {
                        DemographicInfo demographicInfo1 = tblBasicDao.findOne(residenceInfo1.getPersonid());
                        if (demographicInfo1 == null){
                            continue;
                        }
                        FamilyLianQian familyLianQian = familyDao.findByIdCard(demographicInfo1.getCardid());
                        if (familyLianQian == null) {
                            familyLianQian = new FamilyLianQian();
                            j=0;
                        }else{
                            j=1;
                        }
                        String signSql1 = "select * from wlyy_sign_family_lianqian WHERE status = " + status + " " +
                                "and sign_year= '" + year + "' and idcard = '" + demographicInfo1.getCardid() + "' and hospital_name = '" + hospitalName + "'";
                        List<SignFamily> signFamilyList1 = jdbcTemplate.query(signSql1, new BeanPropertyRowMapper(SignFamily.class));
                        if (signFamilyList1 != null && signFamilyList1.size() != 0) {
                            SignFamily signFamily1 = signFamilyList1.get(0);
                            familyLianQian.setAddressCode(signFamily1.getHospital());
                            familyLianQian.setAddressName(signFamily1.getHospitalName());
                            familyLianQian.setIdcard(signFamily1.getIdcard());
                            System.out.print("wang:" + residenceInfo1.getRelaholder() + "," + residenceInfo1.getPersonid());
                            FoundationMedicalSystemParam param = tblsysParamDao.findByParamnameAndCode("Relaholder", residenceInfo1.getRelaholder());
                            familyLianQian.setRelaholder(param.getParamchina());
                            SignPatientLabelInfo signPatientLabelInfo = signPatientLabelInfoDao.findByPatientAndLabelAndLabelTypeAndStatus(signFamily1.getPatient(), "1", "3", 1);
                            if (signPatientLabelInfo != null) {
                                familyLianQian.setHighBloodPressure(1);
                            } else {
                                familyLianQian.setHighBloodPressure(0);
                            }
                            SignPatientLabelInfo signPatientLabelInfo1 = signPatientLabelInfoDao.findByPatientAndLabelAndLabelTypeAndStatus(signFamily1.getPatient(), "2", "3", 1);
                            if (signPatientLabelInfo1 != null) {
                                familyLianQian.setDiabetes(1);
                            } else {
                                familyLianQian.setDiabetes(0);
                            }
                            if (signFamily1 != null && (signFamily1.getOpenid() != null || signFamily1.getOpenid() != "")) {
                                familyLianQian.setBind(1);
                            } else {
                                familyLianQian.setBind(0);
                            }
                            familyLianQian.setSex(Integer.parseInt(demographicInfo.getSex()));
                            familyLianQian.setPhone(signFamily1.getMobile());
                            familyLianQian.setDoctorHealthName(signFamily1.getDoctorHealthName());
                            familyLianQian.setSignDoctorName(signFamily1.getSignDoctorName());
                            familyLianQian.setSignType(signFamily1.getSignType());
                            familyLianQian.setName(demographicInfo1.getName());
                            familyLianQian.setStatus(signFamily1.getStatus().toString());
                            familyDao.save(familyLianQian);
                            ++i;
                        }
                    }
                    if (i == residenceInfoList.size()&& j==0) {
                        FamilyLianQian familyLianQian = new FamilyLianQian();
                        familyLianQian.setName("=====");
                        familyDao.save(familyLianQian);
                    }
                }
            }
        }
        return object.toString();
        }catch (Exception e){
            e.printStackTrace();
            return null;
        }
    }
}

+ 21 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/disease/PatientDiseaseService.java

@ -497,4 +497,25 @@ public class PatientDiseaseService extends BaseService {
            }
        }
    }
    
    public List<Map<String,Object>> getPatientDiseaseCount(String doctor, Long teamCode) {
        String sql ="SELECT " +
                "count(b.id) AS count," +
                "b.disease_name AS labelName," +
                "b.disease AS label " +
                "FROM wlyy_specialist.wlyy_specialist_patient_relation a " +
                "JOIN wlyy.wlyy_patient_disease_server b ON a.patient=b.patient " +
                "WHERE a.sign_status> 0 AND a.`status`>=0 " +
                "AND a.doctor='"+doctor+"' " +
                "GROUP BY b.disease";
    
        List<Map<String,Object>> result =  jdbcTemplate.queryForList(sql);
        if(!result.isEmpty()){
            for (int i = 0; i < result.size(); i++) {
                result.get(i).put("labelType","7");
            }
        }
        
        return result;
    }
}

+ 42 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/specialist/SpecialistService.java

@ -23,6 +23,9 @@ import com.yihu.wlyy.repository.specialist.SpecialDiseaseDao;
import com.yihu.wlyy.repository.specialist.TeamDiseaseRelationDao;
import com.yihu.wlyy.repository.wechat.WechatTemplateConfigDao;
import com.yihu.wlyy.service.BaseService;
import com.yihu.wlyy.service.app.account.DoctorInfoService;
import com.yihu.wlyy.service.app.disease.PatientDiseaseService;
import com.yihu.wlyy.service.app.label.SignPatientLabelService;
import com.yihu.wlyy.service.app.team.AdminTeamService;
import com.yihu.wlyy.task.PushMsgTask;
import com.yihu.wlyy.util.DateUtil;
@ -71,6 +74,8 @@ public class SpecialistService extends BaseService {
    @Autowired
    private PatientDiseaseServerDao patientDiseaseServerDao;
    @Autowired
    private PatientDiseaseService patientDiseaseService;
    @Autowired
    private PatientDao patientDao;
    @Autowired
    private SpecialDiseaseDao specialDiseaseDao;
@ -84,6 +89,8 @@ public class SpecialistService extends BaseService {
    private WechatTemplateConfigDao templateConfigDao;
    @Autowired
    private AdminTeamService memberService;
    @Autowired
    SignPatientLabelService labelService;
    public String setPatientLabelInfo(List<SignPatientLabelInfo> list) {
        if (list != null && list.size() > 0) {
@ -179,7 +186,10 @@ public class SpecialistService extends BaseService {
            List<SignPatientLabel> list = signPatientLabelDao.findByLabelTypeAndStatusAndTeamCode(type, 1, teamCode);
            return setPatientCount(list, doctor);
        } else {
        } else if("7".equals(type)){
            return patientDiseaseService.getPatientDiseaseCount(doctor,teamCode);
        }
        else {
            //非自定义标签
            List<SignPatientLabel> list = signPatientLabelDao.findByLabelTypeAndStatus(type, 1);
@ -537,11 +547,18 @@ public class SpecialistService extends BaseService {
        return mes;
    }
    public String agreeSpecialistTeam(String token, String state, String relationCode, String remark, Long mesId) throws Exception {
    public String agreeSpecialistTeam(String token, String state, String relationCode, String remark, Long mesId, String labelcode, String doctorcode) throws Exception {
        Map<String, Object> param = new HashedMap();
        param.put("state", state);
        param.put("relationCode", relationCode);
        param.put("remark", remark);
        
        if(StringUtils.isNotBlank(doctorcode)){
            Doctor doctor = doctorDao.findByCode(doctorcode);
            param.put("health_assistant", doctorcode);//计管医生
            param.put("health_assistant_name", doctor.getName());//计管医生名称
        }
        HttpResponse response = HttpUtils.doPost(specialistUrl + "svr-specialist/agreeSpecialistTeam", param);
        JSONObject rs = new JSONObject(response.getContent());
        if ("succes".equals(rs.getString("message"))) {
@ -568,6 +585,26 @@ public class SpecialistService extends BaseService {
                //推送给居民模板消息
                pushWeiTemp(token, "0", remark, p, d);
            } else {
    
                //保存居民健康情况标签
                if(StringUtils.isNotBlank(labelcode)){
                    SignPatientLabel signPatientLabel = labelService.getLabelByCodeAndType(labelcode,"8");
                    //先删除已有健康情况标签
                    signPatientLabelInfoDao.deleteByPatientAndLabelTypeAndStatus(p.getCode(),"8",1);
                    SignPatientLabelInfo signPatientLabelInfo = new SignPatientLabelInfo();
                    signPatientLabelInfo.setLabel(signPatientLabel.getLabelCode());
                    signPatientLabelInfo.setLabelType(signPatientLabel.getLabelType());
                    signPatientLabelInfo.setLabelName(signPatientLabel.getLabelName());
                    signPatientLabelInfo.setCzrq(new Date());
                    signPatientLabelInfo.setPatient(p.getCode());
                    signPatientLabelInfo.setPname(p.getName());
                    signPatientLabelInfo.setStatus(1);
                    //添加新的健康情况标签
                    signPatientLabelInfoDao.save(signPatientLabelInfo);
                    
                }
                
                
                //推送给居民模板消息
                pushWeiTemp(token, "1", "", p, d);
@ -629,6 +666,9 @@ public class SpecialistService extends BaseService {
            Long teamCode = json.getLong("teamCode");
            List<Doctor> members = memberService.getMembers(teamCode);
            json.put("doctors",members);
    
            List<SignPatientLabel> labels = labelService.getLabelsByTypeAndTeam("8", "");
            json.put("labels",labels);
            
            return json;
        }

+ 6 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/third/guahao/GuahaoXMService.java

@ -1255,6 +1255,12 @@ public class GuahaoXMService extends BaseService implements IGuahaoService {
        if (p == null) {
            throw new Exception("患者信息不存在!");
        }
        
        //判断居民是否有签约
        List<SignFamily> sign = signFamilyDao.findSSandJTByIdcard(p.getIdcard());
        if(sign == null || sign.size()==0){
            throw new Exception("未签约患者不能预约10天号源!");
        }
        Map<String, String> map = objectMapper.readValue(arrangeDate, Map.class);
        if (map.containsKey("sectionType") && map.containsKey("startTime")) {

+ 6 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/specialist/SpecialistController.java

@ -221,9 +221,12 @@ public class SpecialistController extends WeixinBaseController {
    public String agreeSpecialistTeam(@ApiParam(name = "state", value = "状态0为拒绝,1为同意") @RequestParam(required = true) String state,
                                      @ApiParam(name = "relationCode", value = "关联code") @RequestParam(required = true) String relationCode,
                                      @ApiParam(name = "remark", value = "审核失败原因") @RequestParam(required = false) String remark,
                                      @ApiParam(name = "mesId", value = "消息Id") @RequestParam(required = false) Long mesId) throws Exception {
                                      @ApiParam(name = "mesId", value = "消息Id") @RequestParam(required = false) Long mesId,
                                      @ApiParam(name = "labelcode", value = "健康情况") @RequestParam(required = false) String labelcode,
                                      @ApiParam(name = "doctorcode", value = "协管医生") @RequestParam(required = false) String doctorcode
                                      ) throws Exception {
        try {
            return write(200, "获取成功", "data", specialistService.agreeSpecialistTeam(getAccessToken(),state, relationCode, remark, mesId));
            return write(200, "获取成功", "data", specialistService.agreeSpecialistTeam(getAccessToken(),state, relationCode, remark, mesId,labelcode,doctorcode));
        } catch (Exception e) {
            error(e);
            return error(-1, "请求失败");
@ -231,7 +234,7 @@ public class SpecialistController extends WeixinBaseController {
    }
    @RequestMapping(value = "/findPatientSigninfo", method = RequestMethod.GET)
    @ApiOperation(value = "医生审核")
    @ApiOperation(value = "根据专科医生签约CODE获取相关信息")
    @ObserverRequired
    public String findPatientSigninfo(@ApiParam(name = "code", value = "专科医生签约code")
                                      @RequestParam(required = true) String code,

+ 10 - 10
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/specialist/PatientSpecialistController.java

@ -72,16 +72,16 @@ public class PatientSpecialistController extends WeixinBaseController{
        }
    }
    @RequestMapping(value = "/agreeSpecialistTeam", method = RequestMethod.GET)
    @ApiOperation(value = "医生审核")
    public String agreeSpecialistTeam(String state,String relationCode,String remark,Long mesId)throws Exception {
        try {
            return write(200, "获取成功", "data", specialistService.agreeSpecialistTeam(getAccessToken(),state, relationCode, remark, mesId));
        } catch (Exception e) {
            error(e);
            return error(-1, "请求失败");
        }
    }
//    @RequestMapping(value = "/agreeSpecialistTeam", method = RequestMethod.GET)
//    @ApiOperation(value = "医生审核")
//    public String agreeSpecialistTeam(String state,String relationCode,String remark,Long mesId)throws Exception {
//        try {
//            return write(200, "获取成功", "data", specialistService.agreeSpecialistTeam(getAccessToken(),state, relationCode, remark, mesId, labelcode, doctorcode));
//        } catch (Exception e) {
//            error(e);
//            return error(-1, "请求失败");
//        }
//    }
    @RequestMapping(value = "/findPatientTeamList", method = RequestMethod.GET)
    @ApiOperation(value = "获取居民所有专科医生签约信息")

+ 23 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/zysoft/BookingController.java

@ -1,10 +1,12 @@
package com.yihu.wlyy.web.third.zysoft;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.message.SMS;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.entity.patient.PatientReservation;
import com.yihu.wlyy.entity.wechat.WechatTemplateConfig;
import com.yihu.wlyy.logs.BusinessLogs;
import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.repository.message.SMSDao;
import com.yihu.wlyy.repository.wechat.WechatTemplateConfigDao;
import com.yihu.wlyy.service.app.consult.ConsultService;
@ -80,6 +82,9 @@ public class BookingController extends WeixinBaseController {
    
    @Autowired
    private StringRedisTemplate redisTemplate;
    
    @Autowired
    private DoctorDao doctorDao;
    /**
@ -608,6 +613,24 @@ public class BookingController extends WeixinBaseController {
                                      @ApiParam(name="surveyCode",value = "筛选code",defaultValue = "a")
                                      @RequestParam(value = "surveyCode",required = false)String surveyCode) {
        try {
            
            String currentdoctorid = getUID();
            //获取当前登录的医生CODE,判断接口传递的代预约医生CODE是否一致
            if(StringUtils.isBlank(currentdoctorid) || !currentdoctorid.equals(dcode)){
                return error(-1, "创建挂号单失败10001:当前登录医生和代预约医生不一致!");
            }
    
            //判断接口传入的代预约医生CODE是否为空
            if(StringUtils.isBlank(dcode)){
                return error(-1, "创建挂号单失败10002:代预约医生不能为空!");
            }
    
            //判断接口传入的代预约医生CODE查询代预约医生是否存在
            Doctor doctor = doctorDao.findByCode(dcode);
            if(doctor == null || StringUtils.isBlank(doctor.getCode())){
                return error(-1, "创建挂号单失败:代预约的医生不存在!");
            }
            
            String orderCode = guahaoXM.CreateOrderByDoctor(hospitalId, hospitalName, hosDeptId, hosDeptName, doctorId, doctorName, arrangeDate, patient, patientName, cardNo, clinicCard, patientPhone, dname, dcode,surveyCode);
            //获取预约信息查询是否挂号成功
            PatientReservation obj = patientReservationService.findByCode(orderCode);

+ 37 - 0
patient-co/patient-co-wlyy/src/main/resources/application-dev.yml

@ -97,6 +97,43 @@ wechat:
   template_patient_bind_device: 1GWPw6LFcSuz2LFTo6LhE-YY8abtmcKRvor1fUzfxBE
    #积分到账通知
   template_healthbank_credit: A2L6WBm1p6bDPYGkGnUmoMvpWlRruP2lapYwHfLV7Rg
  imgUrl:
    #居民wifi图片地址
    patient_wifi_pic_url: group1/M00/00/B0/Cl8WjVtgHqaAcNKWAABYgyiykZs906.png
    #居民抽奖图片地址
    patient_draw_pic_url: group1/M00/00/B0/Cl8WjVtgGbWAYqumAADhRnoXe38057.png
    #专科医生签约图片地址
    specialist_sign_url: group1/M00/00/AE/Cl8WjFtgHZqAHpknAAH7mgUpbH0162.png
    #健康金图片地址
    doctor_activity_url: group1/M00/00/B0/Cl8WjVtgGbWAUJixAAAde0sVAJk652.png
    #通用活动图片地址
    currency_url: group1/M00/00/B0/Cl8WjVtgGbWAfZI4AAD7PWeBzLo954.png
    #就诊记录
    patient_visit_pic: group1/M00/00/AE/Cl8WjFtgIK-AAhmHAAEML2dpBxA906.png
    #检查检验
    patient_inspect_pic: group1/M00/00/B0/Cl8WjVtgGy6AAs61AAAxJl28nU8047.png
    #社区体检
    patient_examination_pic: group1/M00/00/B0/Cl8WjVtgGbWAVj77AAAg8pVTY9s660.png
    #处方记录
    patient_prescription_pic: group1/M00/00/AE/Cl8WjFtgHZqAXPgzAAAyHL8RzEU114.png
    #居民取药码
    patient_QRCode_pic: group1/M00/00/B0/Cl8WjVtgG4WAC7JDAAAV7lNAUpY772.png
    #居民产检计划
    patient_prenata_pic: group1/M00/00/AE/Cl8WjFtgHZqAVhwaAACK6PRmuEE754.png
    #居民免疫计划
    patient_immune_pic: group1/M00/00/B0/Cl8WjVtgG4WANg5iAAAckaOvfLQ582.png
    #医生咨询操作指南
    patient_operatinginstrutions_pic_url: group1/M00/00/B0/Cl8WjVtgG4WALvB0AAFkoQR6sbI214.png
    #预约挂号
    patient_booking_pic_url: group1/M00/00/AE/Cl8WjFtgG8qAc0LRAAAh07_OGxo533.png
    #设备绑定
    patient_device_pic_url: group1/M00/00/AE/Cl8WjFtgG8qANy56AAArKMof5DE911.png
    #我的家庭
    patient_family_pic_url: group1/M00/00/AE/Cl8WjFtgHZmAb043AAA5I5LejjI793.png
    #续签
    patient_sign_again_pic_url: group1/M00/00/B0/Cl8WjVtgG4WAV-8SAAAc2gFIWBc275.png
    #家庭医生签约1+1+N
    doctor_qrcode_pic_url: group1/M00/00/AE/Cl8WjFtgJGaAZ1VyAAD3GkV403w850.png
yihu:
  yihu_OpenPlatform_url: http://ssotest.yihu.cn/OpenPlatform/cgiBin/1.0/