Bläddra i källkod

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

# Conflicts:
#	patient-co/patient-co-wlyy/src/main/resources/application-dev.yml
liuwenbin 7 år sedan
förälder
incheckning
2c12d55368
19 ändrade filer med 665 tillägg och 85 borttagningar
  1. 22 0
      common/common-entity/src/main/java/com/yihu/device/entity/DeviceDetail.java
  2. 30 0
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/manager/specialist/HopsitalServiceItemController.java
  3. 28 0
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/manager/specialist/ServiceItemController.java
  4. 9 1
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/device/entity/DeviceHealthIndexVO.java
  5. 142 0
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/entity/specialist/HospitalServiceItemDO.java
  6. 1 0
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/device/DeviceHealthIndexService.java
  7. 174 42
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/specialist/ServiceItemService.java
  8. 84 1
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/specialist/SpecialistHospitalItemService.java
  9. 4 3
      patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/device/deviceHealthIndex_list.jsp
  10. 14 0
      patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/device/deviceHealthIndex_list_js.jsp
  11. 20 17
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/health/PatientHealthIndexService.java
  12. 16 11
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/health/bank/TaskService.java
  13. 2 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/specialist/SpecialistService.java
  14. 80 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/data/DataHandingService.java
  15. 29 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/data/DataHandlingController.java
  16. 2 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/specialist/HospitalServiceItemController.java
  17. 3 3
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/specialist/SpecialistController.java
  18. 3 3
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/specialist/rehabilitation/DoctorRehabilitationManageController.java
  19. 2 1
      patient-co/patient-co-wlyy/src/main/resources/application-dev.yml

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

@ -41,6 +41,10 @@ public class DeviceDetail extends IdEntity{
    private String bindingCount;//绑定次数({"1":"0", "2":"0"})
    private Date grantTime;//发放时间
    //1.5.0版本新增字段
    private String grantDoctor;//发放医生code
    private String grantDoctorName;//发放医生姓名
    /** default constructor */
    public DeviceDetail() {
    }
@ -282,4 +286,22 @@ public class DeviceDetail extends IdEntity{
    public void setGrantTime(Date grantTime) {
        this.grantTime = grantTime;
    }
    @Column(name = "grant_doctor")
    public String getGrantDoctor() {
        return grantDoctor;
    }
    public void setGrantDoctor(String grantDoctor) {
        this.grantDoctor = grantDoctor;
    }
    @Column(name = "grant_doctor_name")
    public String getGrantDoctorName() {
        return grantDoctorName;
    }
    public void setGrantDoctorName(String grantDoctorName) {
        this.grantDoctorName = grantDoctorName;
    }
}

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

@ -4,6 +4,8 @@ package com.yihu.wlyy.controller.manager.specialist;/**
import com.yihu.wlyy.controller.BaseController;
import com.yihu.wlyy.service.manager.specialist.SpecialistHospitalItemService;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@ -11,6 +13,10 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.InputStream;
/**
 * @author wangzhinan
 * @create 2018-08-29 1:48
@ -123,4 +129,28 @@ public class HopsitalServiceItemController extends BaseController {
            return error(-1, "删除失败");
        }
    }
    /**
     * 机构服务项目导数据
     * @param request
     * @return
     */
    @RequestMapping(value = "importData", produces = "application/json;charset=UTF-8")
    @ResponseBody
    public String importData(HttpServletRequest request) {
        try {
            request.setCharacterEncoding("UTF-8");
            InputStream inputStream = request.getInputStream();
            Workbook workbook = Workbook.getWorkbook(inputStream);
            specialistHospitalItemService.importData(workbook);
            return write(200, "操作成功");
        } catch (IOException | BiffException e) {
            e.printStackTrace();
            error(e);
            return error(-1, "操作失败!");
        }
    }
}

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

@ -6,6 +6,8 @@ import com.alibaba.fastjson.JSONObject;
import com.yihu.wlyy.controller.BaseController;
import com.yihu.wlyy.entity.specialist.SpecialistServiceItemDO;
import com.yihu.wlyy.service.manager.specialist.ServiceItemService;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@ -13,6 +15,9 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
/**
@ -133,4 +138,27 @@ public class ServiceItemController  extends BaseController {
            return error(-1, "操作失败");
        }
    }
    /**
     * 服务项目导数据
     *
     * @param request
     * @return
     */
    @RequestMapping(value = "importData", produces = "application/json;charset=UTF-8")
    @ResponseBody
    public String importData(HttpServletRequest request) {
        try {
            request.setCharacterEncoding("UTF-8");
            InputStream inputStream = request.getInputStream();
            Workbook workbook = Workbook.getWorkbook(inputStream);
            serviceItemService.importData(workbook);
            return write(200, "操作成功");
        } catch (IOException | BiffException e) {
            e.printStackTrace();
            error(e);
            return error(-1, "操作失败!");
        }
    }
}

+ 9 - 1
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/device/entity/DeviceHealthIndexVO.java

@ -2,7 +2,6 @@ package com.yihu.wlyy.device.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import javax.persistence.*;
import java.util.Date;
/**
@ -30,6 +29,7 @@ public class DeviceHealthIndexVO {
    private String value6;
    private String value7;
    private String healthStandard;
    private String button;
    public DeviceHealthIndexVO() {
    }
@ -196,4 +196,12 @@ public class DeviceHealthIndexVO {
    public void setHealthStandard(String healthStandard) {
        this.healthStandard = healthStandard;
    }
    public String getButton() {
        return button;
    }
    public void setButton(String button) {
        this.button = button;
    }
}

+ 142 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/entity/specialist/HospitalServiceItemDO.java

@ -0,0 +1,142 @@
package com.yihu.wlyy.entity.specialist;/**
 * Created by nature of king on 2018/8/16.
 */
import com.yihu.wlyy.entity.IdEntityWithOperation;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
/**
 * @author wangzhinan
 * @create 2018-08-16 14:49
 * @desc 机构服务
 **/
@Entity
@Table(name = "wlyy_hospital_service_item")
public class HospitalServiceItemDO extends IdEntityWithOperation implements Serializable {
    @Column(name = "saas_id")
    private String saasId;//saasId
    @Column(name = "hospital")
    private String hospital; //医院code
    @Column(name = "hospital_name")
    private String hospitalName;//医院名称
    @Column(name = "service_item_id")
    private String serviceItemId;//服务项目id
    @Column(name = "service_item_name")
    private String serviceItemName;//服务项目名称
    @Column(name = "status")
    private Integer status;//状态
    @Column(name = "expense")
    private Integer expense;//价格
    @Transient
    private Integer flag;//标识(1:社区,2、医院,3、社区、医院)
    @Column(name = "imediate")
    private Integer imediate;//(1:立即生效、0:未立即生效 )
    @Transient
    private SpecialistServiceItemDO specialistServiceItemDO;
    @Column(name = "saas_id")
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    @Column(name = "hospital")
    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;
    }
    @Column(name = "service_item_id")
    public String getServiceItemId() {
        return serviceItemId;
    }
    public void setServiceItemId(String serviceItemId) {
        this.serviceItemId = serviceItemId;
    }
    @Column(name = "status")
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
    @Transient
    public SpecialistServiceItemDO getSpecialistServiceItemDO() {
        return specialistServiceItemDO;
    }
    public void setSpecialistServiceItemDO(SpecialistServiceItemDO specialistServiceItemDO) {
        this.specialistServiceItemDO = specialistServiceItemDO;
    }
    @Column(name = "expense")
    public Integer getExpense() {
        return expense;
    }
    public void setExpense(Integer expense) {
        this.expense = expense;
    }
    @Column(name = "service_item_name")
    public String getServiceItemName() {
        return serviceItemName;
    }
    public void setServiceItemName(String serviceItemName) {
        this.serviceItemName = serviceItemName;
    }
    @Transient
    public Integer getFlag() {
        return flag;
    }
    public void setFlag(Integer flag) {
        this.flag = flag;
    }
    @Column(name = "imediate")
    public Integer getImediate() {
        return imediate;
    }
    public void setImediate(Integer imediate) {
        this.imediate = imediate;
    }
}

+ 1 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/device/DeviceHealthIndexService.java

@ -179,6 +179,7 @@ public class DeviceHealthIndexService extends BaseDeviceJpaService<DeviceHealthI
                    bean.setIdcard(bean.getIdcard().replaceAll(regex, "$1****$3"));
                }
                bean.setHealthStandard(gethealthStandard(bean.getType(),bean.getUser()).toString());
                bean.setButton(info.get("button") != null ? info.get("button") + "" : null);
                listTemp.add(bean);
            }
        }

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

@ -3,10 +3,16 @@ package com.yihu.wlyy.service.manager.specialist;/**
 */
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.wlyy.entity.specialist.SpecialistServiceItemDO;
import com.yihu.wlyy.repository.SystemDictDao;
import com.yihu.wlyy.service.BaseService;
import com.yihu.wlyy.service.common.excel.ExcelData;
import com.yihu.wlyy.util.HttpClientUtil;
import com.yihu.wlyy.util.ReadExcelUtil;
import jxl.Sheet;
import jxl.Workbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -167,58 +173,184 @@ public class ServiceItemService extends BaseService {
    }
    /*public JSONObject importData(HttpServletRequest request) throws Exception {
        String response = null;
        String url =getBaseUrl() + "importData";
        JSONObject object =
        try {
            response = httpClientUtil.po;
        }catch (Exception e){
            e.printStackTrace();
            logger.error(e.getMessage());
        }
        return JSONObject.parseObject(response);
    }*/
   /* public boolean importData(Workbook workbook) {
    /**
     * 导数据
     *
     * @param workbook
     * @return
     */
    public JSONObject importData(Workbook workbook) {
        Sheet[] sheets = workbook.getSheets();
        Sheet sheet = sheets[0];
        int rows = ReadExcelUtil.getRightRows(sheet);
        JSONArray array = new  JSONArray();
        for (int row = 1; row < rows; row++) {  //索引从0开始,第一行为标题
            Hospital hospital = new Hospital();
            Map<Integer, ExcelData> mapping = mapping(hospital);
            SpecialistServiceItemDO itemDO = new SpecialistServiceItemDO();
            Map<Integer, ExcelData> mapping = mapping(itemDO);
            int finalRow = row;
            mapping.forEach((index, excelData) -> {
                String value = sheet.getCell(index, finalRow).getContents().trim();
                excelData.transform(value);
            });
            JSONObject object = JSONObject.parseObject(itemDO.toString());
            array.add(object);
        }
        String response = null;
        String url =getBaseUrl() + "importData1";
        Map<String,String> params = new HashMap<>();
        params.put("serviceItems",array.toJSONString());
        try {
            response = httpClientUtil.httpPost(url,params);
        }catch (Exception e){
            e.printStackTrace();
            logger.error(e.getMessage());
        }
        return JSONObject.parseObject(response);
    }
            //Additional Handel
            String hospitalExist = this.isNameExist(hospital.getName());
            if (hospitalExist.equals("true")) {//机构存在,但是未判断wlyyRole是否存在
                hospital = hospitalDao.findByName(hospital.getName());
                WlyyRole wlyyRole = new WlyyRole();
                WlyyRole wlyyRole1 = wlyyRoleDao.findByName(hospital.getName());
                if(wlyyRole1==null){//不存在则保存
                    wlyyRole.setName(hospital.getName());
                    wlyyRole.setCode(hospital.getCode());
                    wlyyRole.setCzrq(new Date());
                    wlyyRoleDao.save(wlyyRole);
                }
                continue;
    /**
     * 表格数据转为对象
     *
     * @param specialistServiceItemDO
     * @return
     */
    private Map<Integer, ExcelData> mapping(SpecialistServiceItemDO specialistServiceItemDO) {
        Map<Integer, ExcelData> dataMap = new HashMap<>();
        //项目名称
        dataMap.put(1, new ExcelData() {
            @Override
            public void transform(String data) {
                specialistServiceItemDO.setTitle(data);
            }
            //机构不存在,先保存机构,在判断wlyyRole是否存在
            hospital.setDel("1");
            hospital = hospitalDao.save(hospital);
            WlyyRole wlyyRole = new WlyyRole();
            WlyyRole wlyyRole1 = wlyyRoleDao.findByName(hospital.getName());
            if(wlyyRole1==null){//不存在则保存
                wlyyRole.setName(hospital.getName());
                wlyyRole.setCode(hospital.getCode());
                wlyyRole.setCzrq(new Date());
                wlyyRoleDao.save(wlyyRole);
        });
        //项目内涵
        dataMap.put(2, new ExcelData() {
            @Override
            public void transform(String data) {
                specialistServiceItemDO.setContent(data);
            }
        }
        return true;
    }*/
        });
        //除去内容
        dataMap.put(3, new ExcelData() {
            @Override
            public void transform(String data) {
                specialistServiceItemDO.setExcludeContent(data);
            }
        });
        //项目类型
        dataMap.put(4, new ExcelData() {
            @Override
            public void transform(String data) {
                Map<String, String> centerSite = new HashMap<>();
                centerSite.put("康复服务", "1");
                centerSite.put("健康服务", "2");
                specialistServiceItemDO.setItemType(Integer.parseInt(centerSite.get(data)));
            }
        });
        //医院等级
        dataMap.put(5, new ExcelData() {
            @Override
            public void transform(String data) {
                Map<String,Integer> grade = new HashMap<>();
                grade.put("所有",0);
                grade.put("一级及一级以下医疗机构",1);
                grade.put("二级医院",2);
                grade.put("三级医院",3);
                specialistServiceItemDO.setHospitalGrade(grade.get(data));
            }
        });
        //三级医院收费
        dataMap.put(6, new ExcelData() {
            @Override
            public void transform(String data) {
                specialistServiceItemDO.setThreeHospitals(Integer.parseInt(data));
            }
        });
        //二级医院收费
        dataMap.put(7, new ExcelData() {
            @Override
            public void transform(String data) {
                specialistServiceItemDO.setTwoHospitals(Integer.parseInt(data));
            }
        });
        //一级及下收费
        dataMap.put(8, new ExcelData() {
            @Override
            public void transform(String data) {
                specialistServiceItemDO.setOneHospitals(Integer.parseInt(data));
            }
        });
        //计价单位
        dataMap.put(9, new ExcelData() {
            @Override
            public void transform(String data) {
                specialistServiceItemDO.setUnit(Integer.parseInt(data));
            }
        });
        //加收项目
        dataMap.put(10, new ExcelData() {
            @Override
            public void transform(String data) {
                specialistServiceItemDO.setAddItem(data);
            }
        });
        //病案项目
        dataMap.put(11, new ExcelData() {
            @Override
            public void transform(String data) {
                specialistServiceItemDO.setDiseaseItem(data);
            }
        });
        //是否预约
        dataMap.put(12, new ExcelData() {
            @Override
            public void transform(String data) {
                Map<String,Integer> reserve = new HashMap<>();
                reserve.put("是",1);
                reserve.put("否",0);
                specialistServiceItemDO.setReserve(reserve.get(data));
            }
        });
        //完成方式
        dataMap.put(13, new ExcelData() {
            @Override
            public void transform(String data) {
                Map<String,Integer> type = new HashMap<>();
                type.put("扫码",1);
                type.put("上传附件",0);
                type.put("健康教育",2);
                type.put("健康指导",3);
                type.put("随访",4);
                specialistServiceItemDO.setType(type.get(data));
            }
        });
        //是否评价
        dataMap.put(14, new ExcelData() {
            @Override
            public void transform(String data) {
                Map<String,Integer> evaluate = new HashMap<>();
                evaluate.put("是",1);
                evaluate.put("否",0);
                specialistServiceItemDO.setEvaluation(evaluate.get(data));
            }
        });
        //是否生效
        dataMap.put(15, new ExcelData() {
            @Override
            public void transform(String data) {
                Map<String,Integer> imediate = new HashMap<>();
                imediate.put("是",1);
                imediate.put("否",0);
                specialistServiceItemDO.setEvaluation(imediate.get(data));
            }
        });
        return dataMap;
    }
}

+ 84 - 1
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/specialist/SpecialistHospitalItemService.java

@ -5,10 +5,15 @@ package com.yihu.wlyy.service.manager.specialist;/**
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.wlyy.entity.Hospital;
import com.yihu.wlyy.entity.specialist.HospitalServiceItemDO;
import com.yihu.wlyy.repository.HospitalDao;
import com.yihu.wlyy.repository.SystemDictDao;
import com.yihu.wlyy.service.BaseService;
import com.yihu.wlyy.service.common.excel.ExcelData;
import com.yihu.wlyy.util.HttpClientUtil;
import com.yihu.wlyy.util.ReadExcelUtil;
import jxl.Sheet;
import jxl.Workbook;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -128,7 +133,7 @@ public class SpecialistHospitalItemService extends BaseService {
            array.add(hospital);
        }
        String response = null;
        String url =getBaseUrl() + "selectItemByHospital";
        String url =getBaseUrl() + "selectByCondition";
        Map<String,String> params = new HashMap<>();
        params.put("serviceItemName",serviceItemName);
        params.put("hospitals",array.toJSONString());
@ -159,4 +164,82 @@ public class SpecialistHospitalItemService extends BaseService {
        }
        return JSONObject.parseObject(response);
    }
    /**
     * 机构服务项目导数据
     *
     * @param workbook
     * @return
     */
    public JSONObject importData(Workbook workbook) {
        Sheet[] sheets = workbook.getSheets();
        Sheet sheet = sheets[0];
        int rows = ReadExcelUtil.getRightRows(sheet);
        JSONArray array = new  JSONArray();
        for (int row = 1; row < rows; row++) {  //索引从0开始,第一行为标题
            HospitalServiceItemDO hospitalServiceItemDO = new HospitalServiceItemDO();
            Map<Integer, ExcelData> mapping = mapping(hospitalServiceItemDO);
            int finalRow = row;
            mapping.forEach((index, excelData) -> {
                String value = sheet.getCell(index, finalRow).getContents().trim();
                excelData.transform(value);
            });
            JSONObject object = JSONObject.parseObject(hospitalServiceItemDO.toString());
            array.add(object);
        }
        String response = null;
        String url =getBaseUrl() + "importData2";
        Map<String,String> params = new HashMap<>();
        params.put("hospitalItems",array.toJSONString());
        try {
            response = httpClientUtil.httpPost(url,params);
        }catch (Exception e){
            e.printStackTrace();
            logger.error(e.getMessage());
        }
        return JSONObject.parseObject(response);
    }
    /**
     * 导入机构服务项目表
     *
     * @param hospitalServiceItemDO
     * @return
     */
    private Map<Integer, ExcelData> mapping(HospitalServiceItemDO hospitalServiceItemDO) {
        Map<Integer, ExcelData> dataMap = new HashMap<>();
        dataMap.put(1, new ExcelData() {
            @Override
            public void transform(String data) {
                hospitalServiceItemDO.setHospital(hospitalServiceItemDO.getHospital());
            }
        });
        //医院名称
        dataMap.put(2, new ExcelData() {
            @Override
            public void transform(String data) {
                hospitalServiceItemDO.setHospitalName(hospitalServiceItemDO.getHospitalName());
            }
        });
        //服务项目id
        dataMap.put(3, new ExcelData() {
            @Override
            public void transform(String data) {
                hospitalServiceItemDO.setServiceItemId(hospitalServiceItemDO.getServiceItemId());
            }
        });
        //服务项目名称
        dataMap.put(4, new ExcelData() {
            @Override
            public void transform(String data) {
                hospitalServiceItemDO.setServiceItemName(hospitalServiceItemDO.getServiceItemName());
            }
        });
        hospitalServiceItemDO.setSaasId("dev");
        hospitalServiceItemDO.setStatus(1);
        hospitalServiceItemDO.setImediate(1);
        return dataMap;
    }
}

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

@ -36,6 +36,9 @@
			<div class="m-form-control f-ml15">
				<input type="text" id="inp_index_type" placeholder="血糖/血压/体重/腰围" class="f-ml10" data-attr-scan="indexType"/>
			</div>
			<div class="m-form-control f-ml15 ">
				<input type="text" id="inp_doctor_name" placeholder="请输入医生/健管师名称" class="f-ml10" data-attr-scan="doctorName"/>
			</div>
			<sec:authorize url="/admin/healthIndex/list">
				<div id="btn_search" class="l-button u-btn u-btn-primary u-btn-small f-ib f-vam  f-ml10" >
					<span>查询</span>
@ -46,9 +49,7 @@
					<span>导出</span>
				</div>
			</sec:authorize>
			<div class="m-form-control f-ml15 f-mt10">
				<input type="text" id="inp_doctor_name" placeholder="请输入医生/健管师名称" class="f-ml10" data-attr-scan="doctorName"/>
			</div>
			<div id="select-list" class="f-mt10" style="display: none">
				<div class="m-form-control f-ml15">
					<input type="text" id="search-min-1" placeholder="" class="f-ml10" data-attr-scan="indexTypeMin1"/>

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

@ -196,6 +196,20 @@
									}
								}
							},
                            {
                                display: '设备绑定类型', name: 'button', width: '5%', align: "center",
                                render: function (row) {
                                    if (row.button == 1) {
                                        return "A键";
                                    }
                                    if (row.button == 2) {
                                        return "B键";
                                    }
                                    if (row.button == -1) {
                                        return "默认";
                                    }
                                }
                            },
							{display: 'value1', name: 'value1', width: '5%', align: "center",
                                render: function (row) {
                                    var standard = typeof(row.healthStandard)=='object'?row.healthStandard:JSON.parse(row.healthStandard)

+ 20 - 17
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/health/PatientHealthIndexService.java

@ -307,25 +307,28 @@ public class PatientHealthIndexService extends BaseService {
        // 查询病人家庭签约的健康管理师
        SignFamily signFamily = signFamilyDao.findByjiatingPatientYes(patientCode);
        String healthDoctorFamily = "";
        String doctotFamily = "";
        String doctorFamily = "";
        /*String doctorName = "";
        String doctorOpenID = "";*/
        if (signFamily != null) {
            healthDoctorFamily = signFamily.getDoctorHealth();
            doctotFamily = signFamily.getDoctor();
            if (StringUtils.isNotEmpty(healthDoctorFamily)) {
            doctorFamily = signFamily.getDoctor();
            if (StringUtils.isNotEmpty(healthDoctorFamily) && StringUtils.isNotEmpty(doctorFamily)){
                // 添加到消息接收人列表
                if (doctorFamily.equals(healthDoctorFamily)){
                    System.out.println("-------------健管师和家医同一个人-------------");
                    receivers.add(healthDoctorFamily);
                }else {
                    System.out.println("-------------健管师和家医不是同一个人-------------");
                    receivers.add(healthDoctorFamily);
                    receivers.add(doctorFamily);
                }
            }else if (StringUtils.isNotEmpty(healthDoctorFamily) && StringUtils.isEmpty(doctorFamily)){
                System.out.println("-------------家医为空-------------");
                receivers.add(healthDoctorFamily);
               /* Doctor doctor = doctorDao.findByCode(healthDoctorFamily);
                doctorName = doctor.getName();
                doctorOpenID = doctor.getOpenid();*/
            }
            if (StringUtils.isNotEmpty(doctotFamily)){
                // 添加到消息接收人列表
                receivers.add(signFamily.getDoctor());
                /*Doctor doctor = doctorDao.findByCode(signFamily.getDoctor());
                doctorName = doctor.getName();
                doctorOpenID = doctor.getOpenid();*/
            }else if (StringUtils.isNotEmpty(doctorFamily) && StringUtils.isEmpty(healthDoctorFamily)){
                System.out.println("-------------健管师为空-------------");
                receivers.add(doctorFamily);
            }
        }
@ -338,9 +341,9 @@ public class PatientHealthIndexService extends BaseService {
                // 添加到消息接收人列表
                receivers.add(healthDoctorTeam);
            }
            if (StringUtils.isNotEmpty(signFamilySS.getDoctor()) && !StringUtils.equals(doctotFamily, signFamilySS.getDoctor())) {
            if (StringUtils.isNotEmpty(signFamilySS.getDoctor()) && !StringUtils.equals(doctorFamily, signFamilySS.getDoctor())) {
                // 添加到消息接收人列表
                receivers.add(doctotFamily);
                receivers.add(doctorFamily);
            }
        }
        List<Message> messages = new ArrayList<Message>();
@ -573,9 +576,9 @@ public class PatientHealthIndexService extends BaseService {
            } else { //餐前
                if (!checkHealthIndex(NumberUtils.toDouble(value1), maxValueBefore, minValueBefore)) {
                    oldMsgContent += patient.getName() + "血糖异常(" + value1 + "mmol/L)";
                    if(checkHealthIndexDetail(NumberUtils.toDouble(value1), maxValueAfter ,minValueAfter)==1){
                    if(checkHealthIndexDetail(NumberUtils.toDouble(value1), maxValueBefore ,minValueBefore)==1){
                        msgContent = "<a>"+patient.getName()+"</a><span style=\"color: #FF4C4C;\">血糖偏高</span>";
                    }else if(checkHealthIndexDetail(NumberUtils.toDouble(value1), maxValueAfter ,minValueAfter)==2){
                    }else if(checkHealthIndexDetail(NumberUtils.toDouble(value1), maxValueBefore ,minValueBefore)==2){
                        msgContent = "<a>"+patient.getName()+"</a><span style=\"color: #FF4C4C;\">血糖偏低</span>";
                    }
                    updateStatus(data);

+ 16 - 11
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/health/bank/TaskService.java

@ -303,18 +303,23 @@ public class TaskService {
    public JSONObject createActiveRecord(JSONObject object) throws Exception {
        String response = null;
        Patient patient = patientDao.findByCode(object.getString("patientId"));
        object.put("unionId",patient.getUnionid());
        object.put("patientIdcard",patient.getIdcard());
        object.put("patientOpenid",patient.getOpenid());
        String url =getBaseUrl() + "createActiveRecord";
        //String url = "http://localhost:10051/svr-health-bank/createActiveRecord";
        try {
            response = httpClientUtil.iotPostBody(url,object.toString());
        }catch (Exception e){
            e.printStackTrace();
            logger.error(e.getMessage());
        if (patient!=null){
            object.put("unionId",patient.getUnionid());
            object.put("patientIdcard",patient.getIdcard());
            object.put("patientOpenid",patient.getOpenid());
            String url =getBaseUrl() + "createActiveRecord";
            //String url = "http://localhost:10051/svr-health-bank/createActiveRecord";
            try {
                response = httpClientUtil.iotPostBody(url,object.toString());
            }catch (Exception e){
                e.printStackTrace();
                logger.error(e.getMessage());
            }
            return JSONObject.parseObject(response);
        }else {
            return null;
        }
        return JSONObject.parseObject(response);
    }

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

@ -843,7 +843,7 @@ public class SpecialistService extends BaseService {
        return null;
    }
    public JSONArray getPatientByDoctorAndDisease(String doctor, String patientInfo, String disease, String page, String size) throws Exception{
    public JSONArray getPatientByDoctorAndDisease(String doctor, String patientInfo, String disease, Integer page, Integer size) throws Exception{
        Map<String, Object> param = new HashedMap();
        param.put("doctor", doctor);
        param.put("patientInfo", patientInfo);
@ -857,7 +857,7 @@ public class SpecialistService extends BaseService {
            e.printStackTrace();
        }
        JSONObject result = new JSONObject(response.getContent());
        if(result.getInt("status")==200){
        if(result.getInt("status") == 200){
            return result.getJSONArray("detailModelList");
        }
        throw new Exception("请求获取居民信息失败!");

+ 80 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/data/DataHandingService.java

@ -21,6 +21,7 @@ import com.yihu.wlyy.repository.patient.SignFamilyDao;
import com.yihu.wlyy.service.app.device.DeviceDetailService;
import com.yihu.wlyy.service.app.device.PatientDeviceService;
import com.yihu.wlyy.service.app.health.bank.CreditLogService;
import com.yihu.wlyy.service.app.health.bank.TaskService;
import com.yihu.wlyy.util.*;
import net.sf.json.JSONArray;
import org.apache.commons.collections.map.HashedMap;
@ -72,6 +73,8 @@ public class DataHandingService {
    private DeviceDetailDao deviceDetailDao;
    @Autowired
    private SignFamilyDao signFamilyDao;
    @Autowired
    private TaskService taskService;
    @Transactional
    public String producePatientAndDoctorPassword() {
@ -666,4 +669,81 @@ public class DataHandingService {
        }
        return errorList;
    }
    @Transactional(rollbackFor = Exception.class)
    public void updateDeviceGrantDoctor()throws Exception{
        String sql ="SELECT" +
                " wd.device_code,s.* FROM device.wlyy_devices wd" +
                " LEFT JOIN (" +
                " SELECT wat.id, d.`code`, d.`name` FROM wlyy.wlyy_admin_team wat" +
                " LEFT JOIN wlyy.wlyy_doctor d ON wat.leader_code = d.`code`" +
                " WHERE available = 1" +
                ") s ON wd.grant_admin_team = s.id" +
                " WHERE  wd.is_grant = 1 AND wd.grant_admin_team IN(SELECT id from wlyy.wlyy_admin_team where available=1)";
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        List<String> sqlList = new ArrayList<>();
        for (Map<String,Object> map : list){
            String updateSql ="update device.wlyy_devices set grant_doctor='"+String.valueOf(map.get("code"))+"'," +
                    " grant_doctor_name='"+String.valueOf(map.get("name"))+"'"+
                    " where device_code='"+String.valueOf(map.get("device_code"))+"'";
            sqlList.add(updateSql);
        }
        String[] sqlStr = new String[sqlList.size()];
        sqlStr = sqlList.toArray(sqlStr);
        jdbcTemplate.batchUpdate(sqlStr);
    }
    @Transactional(rollbackFor = Exception.class)
    public int addHealthActivitRecord()throws Exception{
        String creditsSql ="SELECT" +
                " cd.patient_id," +
                " bt.title," +
                " bt.task_code" +
                " FROM" +
                " wlyy_health_bank.wlyy_health_bank_credits_detail cd" +
                " LEFT JOIN wlyy_health_bank.wlyy_health_bank_task bt ON cd.transaction_id = bt.id" +
                " WHERE" +
                " (" +
                "  bt.task_code = 'GLU_BIND'" +
                "  OR task_code = 'BP_BIND'" +
                " )" +
                " AND cd.`status` = 1" +
                " GROUP BY cd.patient_id";
        List<Map<String,Object>> creditsRecordList = jdbcTemplate.queryForList(creditsSql);
        String activitSql ="SELECT" +
                " bar.patient_id,bt.title,bt.task_code" +
                " FROM" +
                " wlyy_health_bank.wlyy_health_bank_active_record bar" +
                " LEFT JOIN wlyy_health_bank.wlyy_health_bank_task bt ON bar.task_id = bt.id" +
                " WHERE" +
                " (" +
                "  bt.task_code = 'GLU_BIND'" +
                "  OR task_code = 'BP_BIND'" +
                " )" +
                " GROUP BY bar.patient_id ";
        List<Map<String,Object>> activitRecordList = jdbcTemplate.queryForList(activitSql);
        int result =0;
        for (Map<String,Object> creditMap : creditsRecordList){
            String creditPatient = String.valueOf(creditMap.get("patient_id"));
            int i =0;
            for (Map<String,Object> activitMap : activitRecordList){
                String acPatient = String.valueOf(activitMap.get("patient_id"));
                if (creditPatient.equals(acPatient)){
                    i++;
                }
            }
            if (i==0){
                com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject();
                jsonObject.put("patientId",creditPatient);
                jsonObject.put("taskCode",String.valueOf(creditMap.get("task_code")));
                com.alibaba.fastjson.JSONObject resultJson = taskService.createActiveRecord(jsonObject);
                if(resultJson!=null && resultJson.getInteger("status")==200){
                    result++;
                }
            }
        }
        return result;
    }
}

+ 29 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/data/DataHandlingController.java

@ -361,4 +361,33 @@ public class DataHandlingController extends BaseController {
            return write(-1,"导入数据失败!");
        }
    }
    @RequestMapping(value = "/updateDeviceGrantDoctor",method = RequestMethod.GET)
    @ResponseBody
    @ApiOperation("清洗device库加上发放医生的code和姓名为团队长的数据")
    public String updateDeviceGrantDoctor(){
        try{
            dataHandingService.updateDeviceGrantDoctor();
            return write(200,"清洗数据成功!");
        }catch (Exception e){
            System.out.println(e.getMessage());
            e.printStackTrace();
            return write(-1,"清洗数据失败!");
        }
    }
    @RequestMapping(value = "/addHealthActivitRecord",method = RequestMethod.GET)
    @ResponseBody
    @ApiOperation("将之前没有增加的首绑活动积分完善")
    public String addHealthActivitRecord(){
        try{
            int result = dataHandingService.addHealthActivitRecord();
            return write(200,"清洗数据成功","data",result);
        }catch (Exception e){
            System.out.println(e.getMessage());
            e.printStackTrace();
            return write(-1,"清洗数据失败!");
        }
    }
}

+ 2 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/specialist/HospitalServiceItemController.java

@ -51,7 +51,8 @@ public class HospitalServiceItemController extends BaseController {
     */
    @RequestMapping(value = "/selectByIds",method = RequestMethod.GET)
    @ApiOperation(value = "根据机构id获取服务项目")
    public String selectByIds(@ApiParam(name = "ids", value = "机构服务项目id")@RequestParam(value = "hospitals")String ids){
    public String selectByIds(@ApiParam(name = "ids", value = "机构服务项目id")
                                  @RequestParam(value = "ids")String ids){
        try {
            return write(200,"获取成功!","data",specialistHospitalItemService.selectByIds(ids));
        }catch (Exception e){

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

@ -373,7 +373,7 @@ public class SpecialistController extends WeixinBaseController {
    @RequestMapping(value = "/getPatientInfoByDoctor", method = RequestMethod.GET)
    @ApiOperation(value = "根据医生code获取签约居民信息")
    @ApiOperation(value = "获取医生签约居民信息")
    public String getPatientInfoByDoctor(@ApiParam(name = "doctor", value = "医生标识")
                                         @RequestParam(required = true)String doctor,
                                         @ApiParam(name = "patientInfo", value = "居民信息")
@ -381,9 +381,9 @@ public class SpecialistController extends WeixinBaseController {
                                         @ApiParam(name = "disease", value = "疾病类型")
                                             @RequestParam(required = false)String disease,
                                         @ApiParam(name = "page", value = "第几页,1开始")
                                             @RequestParam(required = true)String page,
                                             @RequestParam(required = true)Integer page,
                                         @ApiParam(name = "size", value = "每页大小")
                                             @RequestParam(required = true)String size){
                                             @RequestParam(required = true)Integer size){
        try {
            return write(200, "获取成功", "data", specialistService.getPatientByDoctorAndDisease(doctor, patientInfo, disease, page, size));
        } catch (Exception e) {

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

@ -336,11 +336,11 @@ public class DoctorRehabilitationManageController extends BaseController {
    }
    @RequestMapping(value = "updateNoteAndImageRehabilitationOperate", method = RequestMethod.POST)
    @ApiOperation("康复管理-康复计划完成时更新服务完成笔记和图片接口")
    @ApiOperation("康复管理-康复计划完成时更新服务完成笔记和图片接口并且确认完成")
    @ObserverRequired
    public String updateNoteAndImageRehabilitationOperate(@ApiParam(name = "planDetailId", value = "康复计划项目明细ID")@RequestParam(value = "planDetailId", required = true)String planDetailId,
                                                          @ApiParam(name = "node", value = "服务完成笔记", required = true)@RequestParam(value = "node", required = true)String node,
                                                          @ApiParam(name = "image", value = "相关记录图片,json格式", required = true)@RequestParam(value = "image", required = true)String image){
                                                          @ApiParam(name = "node", value = "服务完成笔记", required = false)@RequestParam(value = "node", required = true)String node,
                                                          @ApiParam(name = "image", value = "相关记录图片,json格式", required = false)@RequestParam(value = "image", required = true)String image){
        try {
            JSONObject result = rehabilitationManageService.updateNodeAndRelationRecordImg(planDetailId, node, image);

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

@ -208,7 +208,8 @@ activemq:
neiwang:
  enable: true
  #wlyy: http://59.61.92.90:8072/wlyy
  wlyy: http://192.168.131.130:8080/
  wlyy: http://172.19.103.54:22122/
  #wlyy: http://192.168.131.130:8080/
#系统中使用的双层对称加密使用到的KEY
Riva: