Selaa lähdekoodia

Merge branch 'dev' of humingfen/patient-co-management into dev

huangwenjie 7 vuotta sitten
vanhempi
commit
7a7a9765cc

+ 2 - 1
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/manager/datastatic/ReplyStaticController.java

@ -37,11 +37,12 @@ public class ReplyStaticController extends BaseController {
    //导出报表
    @RequestMapping(value="toExcel",method = RequestMethod.POST,produces = "application/json;charset=UTF-8" )
    public void exportList(
            @RequestParam(value = "createTime",required = false)String createTime,
            @RequestParam(value = "town",required = false)String town,
            @RequestParam(value = "hospital",required = false)String hospital,
            HttpServletResponse response){
        try {
            List<WlyyConsultTeamExportVO> consultTeams = consultTeamService.exportReplyDelayList(town,hospital);
            List<WlyyConsultTeamExportVO> consultTeams = consultTeamService.exportReplyDelayList(town,hospital,createTime);
            /*String data = "[{" +
                    "\"symptoms\":\"李医生,我孩子赖抒明的续费,为什么无法操作?\"," +
                    "\"name\":\"易鹭燕\"," +

+ 13 - 11
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/manager/datastatic/WeChatStaticController.java

@ -121,7 +121,7 @@ public class WeChatStaticController extends BaseController {
			WritableSheet ws;
			ws = wwb.createSheet("sheet",1);
			
			String[] header = {"居民openid","居民姓名","手机号码","openid更新时间","医疗保险号", "身份证号","全科医生", "健管师", "社区医院", "居委会","住址","街道","openid重复数"};
			String[] header = {"居民openid","居民姓名","手机号码","出生日期","性别","openid更新时间","医疗保险号", "身份证号","全科医生", "健管师", "社区医院", "居委会","住址","街道","openid重复数"};
			int k = 0;
			for (String h : header) {
				addCell(ws, 0, k, h);//表名,行,列,header
@ -133,16 +133,18 @@ public class WeChatStaticController extends BaseController {
				addCell(ws, i, 0, m.getOpenid(),"");
				addCell(ws, i, 1, m.getPatientname(),"");
				addCell(ws, i, 2, m.getMobile(),"");
				addCell(ws, i, 3, m.getOpenid_time(),"");
				addCell(ws, i, 4, m.getMedicare_number(), "");
				addCell(ws, i, 5, m.getIdcard(),"");
				addCell(ws, i, 6, m.getDoctor_name(),"");
				addCell(ws, i, 7, m.getDoctor_health_name(),"");
				addCell(ws, i, 8, m.getHospital_name(),"");
				addCell(ws, i, 9, m.getSick_village_name(),"");
				addCell(ws, i, 10, m.getAddress(),"");
				addCell(ws, i, 11, m.getStreet_name(),"");
				addCell(ws, i, 12, m.getTcount(),"");
				addCell(ws, i, 3, m.getBirthday(),"");
				addCell(ws, i, 4, m.getSex(), "");
				addCell(ws, i, 5, m.getOpenid_time(),"");
				addCell(ws, i, 6, m.getMedicare_number(), "");
				addCell(ws, i, 7, m.getIdcard(),"");
				addCell(ws, i, 8, m.getDoctor_name(),"");
				addCell(ws, i, 9, m.getDoctor_health_name(),"");
				addCell(ws, i, 10, m.getHospital_name(),"");
				addCell(ws, i, 11, m.getSick_village_name(),"");
				addCell(ws, i, 12, m.getAddress(),"");
				addCell(ws, i, 13, m.getStreet_name(),"");
				addCell(ws, i, 14, m.getTcount(),"");
				i++;
			}
			wwb.write();

+ 18 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/entity/wechat/WechatSignVO.java

@ -20,6 +20,8 @@ public class WechatSignVO {
	private String street_name;
	private String hospital_name;
	private String tcount;
	private String birthday;
	private String sex;
	
	public String getOpenid() {
		return openid;
@ -132,4 +134,20 @@ public class WechatSignVO {
	public void setHospital_name(String hospital_name) {
		this.hospital_name = hospital_name;
	}
	public String getBirthday() {
		return birthday;
	}
	public void setBirthday(String birthday) {
		this.birthday = birthday;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
}

+ 6 - 4
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/consult/WlyyConsultTeamService.java

@ -3,7 +3,6 @@ package com.yihu.wlyy.service.manager.consult;
import com.yihu.wlyy.entity.WlyyConsultTeam;
import com.yihu.wlyy.entity.consult.WlyyConsultTeamExportVO;
import com.yihu.wlyy.repository.WlyyConsultTeamDao;
import com.yihu.wlyy.util.DateUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
@ -37,7 +36,7 @@ public class WlyyConsultTeamService {
     * @param hospital
     * @return
     */
    public List<WlyyConsultTeamExportVO> exportReplyDelayList(String town, String hospital) {
    public List<WlyyConsultTeamExportVO> exportReplyDelayList(String town, String hospital, String createTime) {
        List<WlyyConsultTeamExportVO> list = new ArrayList<>();
        String sql  = "SELECT " +
                "c.symptoms," +
@ -49,12 +48,15 @@ public class WlyyConsultTeamService {
                "f.doctor_name," +
                "f.doctor_health_name "+
                " FROM wlyy_consult_team c, im.topics t, wlyy_admin_team a, wlyy_sign_family f, im.muc_messages m " +
                "WHERE t.create_time >= '"+DateUtil.getSignYear() +"-07-01' and c.admin_team_code = a.id  "+
                "WHERE c.admin_team_code = a.id  "+
                "and c.consult = t.id and (TIMESTAMPDIFF(HOUR,t.create_time,t.reply_time)>=24 ) and f.patient = c.patient and f.`status`>0 " +
                "and t.reply_message_id=m.id ORDER BY t.create_time";
        if(StringUtils.isNotBlank(hospital)){
            sql = sql.replace("and c.admin_team_code = a.id ", "and a.org_code = '"+hospital+"' and c.admin_team_code = a.id");
            sql = sql.replace("c.admin_team_code = a.id", "c.admin_team_code = a.id and a.org_code = '"+hospital+"' ");
        }
        if(StringUtils.isNotBlank(createTime)) {
            sql = sql.replace("c.admin_team_code = a.id", "c.admin_team_code = a.id and t.create_time >= '"+createTime +"'");
        }
        list =  jdbcTemplate.query(sql,new BeanPropertyRowMapper(WlyyConsultTeamExportVO.class));
        return list ;

+ 16 - 3
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/wechat/WechatService.java

@ -41,11 +41,18 @@ public class WechatService extends BaseService {
		}
		List<WechatSignVO> list = new ArrayList<>();
		String sql  = "";
		Boolean atten = false;
		if(StringUtils.isBlank(attention)){
			attention = "0";
			atten = true;
		}
		if("1".equals(attention)){
			sql = "SELECT m.*,n.tcount FROM (" +
					"SELECT t.openid," +
					"t.CODE as patientcode," +
					"t.NAME as patientname," +
					"t.birthday, " +
					"case  t.sex when 1 then '男' when 2 then '女' end  as sex ," +
					"a.mobile," +
					"t.openid_time," +
					"t.medicare_number,"+
@ -56,7 +63,7 @@ public class WechatService extends BaseService {
					"t.address," +
					"a.hospital_name,"+
					"t.street_name FROM (" +
					"SELECT b.patient,b.mobile,b.idcard,b.doctor_name,b.doctor_health_name,b.hospital_name FROM wlyy_sign_family b WHERE b.hospital='"+hospital+"' AND b.sign_year='"+year+"' AND b.STATUS=1 AND b.expenses_status=1) a,wlyy_patient t WHERE t.CODE=a.patient) m," +
					"SELECT b.patient,b.mobile,b.idcard,b.doctor_name,b.doctor_health_name,b.hospital_name FROM wlyy_sign_family b WHERE b.hospital='"+hospital+"' AND b.sign_year='"+year+"' AND b.STATUS=1 AND b.expenses_status=1) a,wlyy_patient t WHERE t.CODE=a.patient and t.openid is not null) m," +
					"(SELECT t.openid,count(t.openid) tcount FROM wlyy_patient t WHERE t.`code` IN (" +
					"SELECT patient FROM wlyy_sign_family s WHERE s.hospital='"+hospital+"' AND s.sign_year='"+year+"' AND s.expenses_status=1 AND s.STATUS=1 AND s.sign_source = '"+signSource+"') GROUP BY t.openid) n WHERE m.openid=n.openid";
			if(StringUtils.isBlank(signSource)){
@ -67,7 +74,10 @@ public class WechatService extends BaseService {
					"SELECT a.mobile," +
					"a.code as patientcode ," +
					"a.NAME as patientname ," +
					"a.birthday, " +
					"case  a.sex when 1 then '男' when 2 then '女' end  as sex ," +
					"a.openid_time," +
					"a.openid, " +
					"a.medicare_number," +
					"CONCAT(LEFT (a.idcard,6),'**********',RIGHT (a.idcard,2)) idcard," +
					"b.doctor_name," +
@ -76,11 +86,14 @@ public class WechatService extends BaseService {
					"a.address," +
					"a.sick_village_name," +
					"a.street_name FROM (" +
					"SELECT t.CODE,t.NAME,t.address,t.sick_village_name,t.street_name,t.medicare_number,idcard,mobile,openid_time FROM wlyy_patient t WHERE t.`code` IN (" +
					"SELECT patient FROM wlyy_sign_family s WHERE s.hospital='"+hospital+"' AND s.sign_year='"+year+"' AND s.expenses_status=1 AND s.STATUS=1 AND s.expenses_time IS NOT NULL) AND t.openid IS NULL) a,wlyy_sign_family b WHERE b.hospital='"+hospital+"' AND b.sign_year='"+year+"' AND b.STATUS=1 AND b.expenses_status=1 AND a.CODE=b.patient AND b.expenses_time IS NOT NULL AND b.sign_source ='"+signSource+"') m";
					"SELECT t.CODE,t.NAME,t.address,t.sick_village_name,t.street_name,t.medicare_number,t.sex,t.birthday,idcard,mobile,openid_time,t.openid FROM wlyy_patient t WHERE t.`code` IN (" +
					"SELECT patient FROM wlyy_sign_family s WHERE s.hospital='"+hospital+"' AND s.sign_year='"+year+"' AND s.expenses_status=1 AND s.STATUS=1 AND s.expenses_time IS NOT NULL) AND t.openid IS NULL ORDER BY t.openid desc) a,wlyy_sign_family b WHERE b.hospital='"+hospital+"' AND b.sign_year='"+year+"' AND b.STATUS=1 AND b.expenses_status=1 AND a.CODE=b.patient AND b.expenses_time IS NOT NULL AND b.sign_source ='"+signSource+"') m";
			if(StringUtils.isBlank(signSource)){
				sql = sql.replace("AND b.sign_source =''","");
			}
			if(atten){
				sql = sql.replace("AND t.openid IS NULL", "");
			}
		}
		
		list =  jdbcTemplate.query(sql,new BeanPropertyRowMapper(WechatSignVO.class));

+ 4 - 3
patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/device/deviceHealthIndex_list_js.jsp

@ -174,9 +174,10 @@
						ajaxHeaderValue: ajaxHeaderValue,
						columns: [
							{display: 'ID', name: 'id', hide: true},
							{display: 'SN码', name: 'deviceSn', width: '15%', align: "left"},
							{display: '创建日期', name: 'czrq', width: '15%', align: "left"},
							{display: '身份证号', name: 'idcard', width: '15%', align: "center"},
							{display: 'SN码', name: 'deviceSn', width: '10%', align: "left"},
							{display: '创建日期', name: 'czrq', width: '10%', align: "left"},
                            {display: '记录时间', name: 'recordDate', width: '10%', align: "left"},
							{display: '身份证号', name: 'idcard', width: '10%', align: "center"},
							{display: '姓名', name: 'userName', width: '10%', align: "center"},
							{
								display: '数据类型', name: 'type', width: '10%', align: "center",

+ 9 - 5
patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/static/static_consult.jsp

@ -14,18 +14,22 @@
<div >
    <div style="font-family:微软雅黑;font-size:Small;display:block;clear:left;padding:0;margin:0;margin-left: 5px">
        <div style="position:relative;display:inline;left:10px;top:8px;white-space:nowrap;text-align:center;background-color:#ffffff;font-weight:bold">信息咨询详情</div>
        <div style="height:auto;width:auto;border:#dde7f1 1px solid;">
        <div id ="consult_static_btn_div" data-role-form style="height:auto;width:auto;border:#dde7f1 1px solid;">
            <div class="m-form-group f-mt10" id="we_export_div">
                <div class="m-form-control f-ml15" style="display: none">
                    <input type="text" id="inp_device_name" placeholder="请选择城市" class="f-ml10"/></div>
                    <input type="text" id="inp_device_name" placeholder="请选择城市" class="required useTitle f-ml10" required-title="城市不能为空"/></div>
                <br>
            </div>
            <div class="m-form-control f-ml15">
                <input type="text" id="inp_categoryCode" placeholder="请选择市区" class="f-ml10"/>
            <div class="m-form-control f-ml15 essential">
                <input type="text" id="inp_categoryCode" placeholder="请选择市区" class="required useTitle f-ml10" required-title="市区不能为空"/>
            </div>
            <br>
            <div class="m-form-control f-ml15 essential">
                <input type="text" id="inp_hos" placeholder="请选择机构" class="required useTitle f-ml10" required-title="机构不能为空"/>
            </div>
            <br>
            <div class="m-form-control f-ml15">
                <input type="text" id="inp_hos" placeholder="请选择机构" class="f-ml10"/>
                <input type="text" id="inp_create_time" placeholder="请选择创建时间" class="f-ml10" data-attr-scan="createTime" />
            </div>
            <br>
            <div id="export_consult_reply_delay" class="l-button u-btn u-btn-primary u-btn-small f-ib f-vam  f-ml10" >

+ 27 - 3
patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/static/static_consult_js.jsp

@ -14,7 +14,8 @@
            /* ************************** 变量定义 ******************************** */
            // 通用工具类库
            var retrieve = null;
            var inpStarDate = null,inpEndDate = null;
            var createTime = null;
            var jValidation = $.jValidation;
            retrieve = {
                url: {
@ -28,10 +29,11 @@
                    * */
                    hospitalsByType: '/admin/hos/hospitalsByType',
                },
                $element: $('#consult_static_btn_div'),
                $inpDeviceName: $('#inp_device_name'),//城市
                $inpCategoryCode: $('#inp_categoryCode'),//区
                $inpHos: $('#inp_hos'),//机构
                $inpCreateTime: $('#inp_create_time'),
                dnc: null,
                ccc: null,
@ -40,6 +42,13 @@
                $btnReplyDelayList: $('#export_consult_reply_delay'),
                init: function () {
                    inpCreateTime = this.$inpCreateTime.ligerDateEditor({
                        format: "yyyy-MM-dd",
                        showTime: false,
                        labelWidth: 100,
                        labelAlign: 'center',
                        cancelable: true
                    });
                    this.initComboBox();
                    this.bindEvents();
@ -122,7 +131,14 @@
                    }
                },
                bindEvents: function () {
                    var validator = new jValidation.Validation($("#consult_static_btn_div"), {
                        immediate: true, onSubmit: false,
                        onElementValidateForAjax: function (elm) {
                        }
                    });
                    var me = this;
                    me.$element.attrScan();
                    //城市下拉
                    me.$inpDeviceName.on( 'change', function () {
                        me.setCityFun(me);
@ -137,11 +153,19 @@
                    });
                    //咨询未及时回复详情导出
                    me.$btnReplyDelayList.on('click',function () {
                        if (!validator.validate()) {
                            return;
                        }
                        var values = me.$element.Fields.getValues();
                        //定义一个form表单
                        var myform = $("<form></form>");
                        myform.attr('method','post')
                        myform.attr('action',ctx + '/admin/static/consult/toExcel');
                        //创建时间
                        var createTime = $("<input type='hidden' name='createTime' />")
                        createTime.attr('value',values.createTime);
                        //区
                        var town = $("<input type='hidden' name='town' />")
                        town.attr('value',$("#inp_categoryCode").val());
@ -154,7 +178,7 @@
                        var attention = $("<input type='hidden' name='attention' />")
                        attention.attr('value',$("#inp_att_val").val());
                        myform.append(createTime);
                        myform.append(town);
                        myform.append(hospital);
                        myform.append(attention);

+ 8 - 8
patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/static/static_device.jsp

@ -13,19 +13,19 @@
<body>
<div >
    <div style="font-family:微软雅黑;font-size:Small;display:block;clear:left;padding:0;margin:0;margin-left: 5px">
        <div style="position:relative;display:inline;left:10px;top:8px;white-space:nowrap;text-align:center;background-color:#ffffff;font-weight:bold">微信关注量详情</div>
        <div style="height:auto;width:auto;border:#dde7f1 1px solid;">
        <div style="position:relative;display:inline;left:10px;top:8px;white-space:nowrap;text-align:center;background-color:#ffffff;font-weight:bold">设备报表详情</div>
        <div id = "device_static_btn_div" style="height:auto;width:auto;border:#dde7f1 1px solid;">
            <div class="m-form-group f-mt10" id="we_export_div">
                <div class="m-form-control f-ml15" style="display: none">
                    <input type="text" id="inp_device_name" placeholder="请选择城市" class="f-ml10"/></div>
                <div class="m-form-control f-ml15 essential" style="display: none">
                    <input type="text" id="inp_device_name" placeholder="请选择城市" class="required useTitle f-ml10" required-title="城市不能为空"/></div>
                <br>
            </div>
            <div class="m-form-control f-ml15">
                <input type="text" id="inp_categoryCode" placeholder="请选择市区" class="f-ml10"/>
            <div class="m-form-control f-ml15 essential">
                <input type="text" id="inp_categoryCode" placeholder="请选择市区" class="required useTitle f-ml10" required-title="市区不能为空"/>
            </div>
            <br>
            <div class="m-form-control f-ml15">
                <input type="text" id="inp_hos" placeholder="请选择机构" class="f-ml10"/>
            <div class="m-form-control f-ml15 essential">
                <input type="text" id="inp_hos" placeholder="请选择机构" class="required useTitle f-ml10" required-title="机构不能为空"/>
            </div>
            <br>
            <div id="export_patient_device_list" class="l-button u-btn u-btn-primary u-btn-small f-ib f-vam  f-ml10" >

+ 16 - 0
patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/static/static_device_js.jsp

@ -15,6 +15,7 @@
            // 通用工具类库
            var retrieve = null;
            var inpStarDate = null,inpEndDate = null;
            var jValidation = $.jValidation;
            retrieve = {
                url: {
@ -123,6 +124,12 @@
                    }
                },
                bindEvents: function () {
                    var validator = new jValidation.Validation($("#device_static_btn_div"), {
                        immediate: true, onSubmit: false,
                        onElementValidateForAjax: function (elm) {
                        }
                    });
                    var me = this;
                    //城市下拉
                    me.$inpDeviceName.on( 'change', function () {
@ -138,6 +145,9 @@
                    });
                    //居民设备绑定详情导出
                    me.$btnDeviceList.on('click',function () {
                        if (!validator.validate()) {
                            return;
                        }
                        //定义一个form表单
                        var myform = $("<form></form>");
                        myform.attr('method','post')
@ -164,6 +174,9 @@
                    //居民提振数据详情导出
                    me.$btnHealthindexList.on('click',function () {
                        if (!validator.validate()) {
                            return;
                        }
                        //定义一个form表单
                        var myform = $("<form></form>");
                        myform.attr('method','post')
@ -190,6 +203,9 @@
                    //居民体征设备详情(包含绑定没有使用过)导出
                    me.$btnDeviceHealthList.on('click',function () {
                        if (!validator.validate()) {
                            return;
                        }
                        //定义一个form表单
                        var myform = $("<form></form>");
                        myform.attr('method','post')

+ 2 - 2
patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/static/static_wechat.jsp

@ -25,8 +25,8 @@
                        <input type="text" id="inp_hos" placeholder="请选择机构" class="required useTitle f-ml10" required-title="机构不能为空"/>
                    </div>
                    <br>
                    <div class="m-form-control f-ml15 essential">
                        <input type="text" id="inp_att" placeholder="请选择关注状态" class="required useTitle f-ml10" required-title="关注状态不能为空"  />
                    <div class="m-form-control f-ml15 ">
                        <input type="text" id="inp_att" placeholder="请选择关注状态" class="f-ml10" required-title="关注状态不能为空"  />
                    </div>
                    <br>
                    <div class="m-form-control f-ml15">