Browse Source

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

humingfen 6 năm trước cách đây
mục cha
commit
0d172f84ec
21 tập tin đã thay đổi với 248 bổ sung78 xóa
  1. 10 0
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/entity/synergy/ManageSynergyWorkorderDO.java
  2. 1 1
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/repository/SignFamilyDao.java
  3. 20 8
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/account/CustomerService.java
  4. 1 1
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/specialist/SpecialistHospitalItemService.java
  5. 66 26
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/synergy/SynergyManageService.java
  6. 1 0
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/synergy/SynergyWorkorderServicerLogService.java
  7. 45 0
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/util/SpringContextUtil.java
  8. 1 1
      patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/desizenMan/service_project_management.jsp
  9. 1 0
      patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/repository/imm/ChildImmuneVaccinDao.java
  10. 6 4
      patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/service/imm/ChildVaccinImmuneService.java
  11. 12 4
      patient-co/patient-co-wlyy-job/src/main/resources/application-dev.yml
  12. 11 3
      patient-co/patient-co-wlyy-job/src/main/resources/application-devtest.yml
  13. 12 3
      patient-co/patient-co-wlyy-job/src/main/resources/application-test.yml
  14. 7 5
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/imm/ChildFamilyImmuneService.java
  15. 9 6
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/imm/ChildInfoService.java
  16. 4 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/jimeiJkEdu/DoctorJMJkEduArticleController.java
  17. 9 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/team/AdminTeamController.java
  18. 5 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/booking/PatientBookingController.java
  19. 3 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/family/FamilyMemberController.java
  20. 22 12
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/gateway/controller/message/GcOtherMessageController.java
  21. 2 0
      patient-co/patient-co-wlyy/src/main/resources/application-prod.yml

+ 10 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/entity/synergy/ManageSynergyWorkorderDO.java

@ -41,6 +41,7 @@ public class ManageSynergyWorkorderDO extends IdEntity {
    private String hospital;//创建人所属机构code;
    private String hospitalName;//创建人所属机构名称
    private Date receiverTime;//工单(客服管理员)接收时间
    private Date completeTime;//工单完成时间
    @Column(name = "code")
    public String getCode() {
@ -276,4 +277,13 @@ public class ManageSynergyWorkorderDO extends IdEntity {
    public void setCreateUserRole(Integer createUserRole) {
        this.createUserRole = createUserRole;
    }
    @Column(name = "complete_time")
    public Date getCompleteTime() {
        return completeTime;
    }
    public void setCompleteTime(Date completeTime) {
        this.completeTime = completeTime;
    }
}

+ 1 - 1
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/repository/SignFamilyDao.java

@ -34,7 +34,7 @@ public interface SignFamilyDao extends PagingAndSortingRepository<SignFamily, Lo
    @Query("select a from SignFamily a where a.patient = ?1 and a.status >= 0")
    List<SignFamily> findAllSignByPatient(String patient);
    @Query("select a from SignFamily a where a.patient = ?1 and a.status =1 and a.expensesStatus='1'")
    @Query("select a from SignFamily a where a.patient = ?1 and a.status =1")
    SignFamily findSignByPatient(String patient);
    @Query("select a from SignFamily a where a.patient = ?1 and a.status > 0 and a.expensesStatus ='1' order by a.czrq desc")

+ 20 - 8
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/account/CustomerService.java

@ -16,6 +16,7 @@ import com.yihu.wlyy.service.manager.sign.SignFamilyService;
import com.yihu.wlyy.service.synergy.SynergyManageService;
import com.yihu.wlyy.util.DateUtil;
import com.yihu.wlyy.util.HttpClientUtil;
import com.yihu.wlyy.util.SpringContextUtil;
import io.swagger.models.auth.In;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
@ -73,7 +74,9 @@ public class CustomerService extends BaseService{
	private ManageSynergyWorkorderReserveConsultDao manageSynergyWorkorderReserveConsultDao;
	@Autowired
	private SynergyManageService synergyManageService;
	
	enum profile{
		dev,devtest,test,prod
	}
	@Value(("${doctorAssistant.api}")+"/wlyygc/doctor/message")
	private String messageApi;
@ -206,7 +209,6 @@ public class CustomerService extends BaseService{
			par.add(new BasicNameValuePair("mobiles", mobile));
			par.add(new BasicNameValuePair("content", msg));
			try {
				logger.info("====================================================================");
				String result = HttpClientUtil.post(messageApi+"/sendMessage",par,"UTF-8");
				logger.info("发送短信消息返回结果:"+result);
@ -582,9 +584,12 @@ public class CustomerService extends BaseService{
		callService = callServiceDao.save(callService);
		//待处理发送消息给医生
		sendCallServiceMes(callService);
		//发送消息
		sendWxMes(callService);
		
		String activeProfile = SpringContextUtil.getActiveProfile();
		if(profile.prod.name().equals(activeProfile)){//正式环境才推送
			//发送消息
			sendWxMes(callService);
		}
		//将旧数据存储到新表---------START
		ManageSynergyWorkorderDO manageSynergyWorkorderDO = new ManageSynergyWorkorderDO();
		// 协同服务工单的服务对象表
@ -638,10 +643,11 @@ public class CustomerService extends BaseService{
		manageSynergyWorkorderServicerDO.setCode(UUID.randomUUID().toString());
		manageSynergyWorkorderServicerDO.setServicePatientCode(callService.getPatient());
		manageSynergyWorkorderServicerDO.setServicePatientName(callService.getPatientName());
		manageSynergyWorkorderServicerDO.setExecutorType(1);
		manageSynergyWorkorderServicerDao.save(manageSynergyWorkorderServicerDO);
		
		manageSynergyWorkorderExecutorDO.setWorkorderCode(manageSynergyWorkorderDO.getCode());
		manageSynergyWorkorderExecutorDO.setDel(0);
		manageSynergyWorkorderExecutorDO.setDel(1);
		manageSynergyWorkorderExecutorDO.setExecutorType(3);
		manageSynergyWorkorderExecutorDO.setExecutorCode(callService.getUser());
		manageSynergyWorkorderExecutorDO.setExecutorName(callService.getUserName());
@ -666,8 +672,13 @@ public class CustomerService extends BaseService{
		callServiceDao.save(callService);
		//待处理发送消息给医生
		sendCallServiceMes(callService);
		//发送消息
		sendWxMes(callService);
		String activeProfile = SpringContextUtil.getActiveProfile();
		if(profile.prod.name().equals(activeProfile)){//正式环境才推送
			//发送消息
			sendWxMes(callService);
		}
		
		//将旧数据存储到新表---------START
		ManageSynergyWorkorderDO manageSynergyWorkorderDO = manageSynergyWorkOrderDao.findByRelationCode(callService.getCode());
@ -720,10 +731,11 @@ public class CustomerService extends BaseService{
		manageSynergyWorkorderServicerDO.setServicePatientCode(callService.getPatient());
		manageSynergyWorkorderServicerDO.setServicePatientName(callService.getPatientName());
		manageSynergyWorkorderServicerDO.setCreateTime(new Date());
		manageSynergyWorkorderServicerDO.setExecutorType(1);
		manageSynergyWorkorderServicerDao.save(manageSynergyWorkorderServicerDO);
		
		manageSynergyWorkorderExecutorDO.setWorkorderCode(manageSynergyWorkorderDO.getCode());
		manageSynergyWorkorderExecutorDO.setDel(0);
		manageSynergyWorkorderExecutorDO.setDel(1);
		manageSynergyWorkorderExecutorDO.setExecutorType(3);
		manageSynergyWorkorderExecutorDO.setExecutorCode(callService.getUser());
		manageSynergyWorkorderExecutorDO.setExecutorName(callService.getUserName());

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

@ -201,7 +201,7 @@ public class SpecialistHospitalItemService extends BaseService {
            array.add(hospitalServiceItemDO);
        }
        String response = null;
        String url =getBaseUrl() + "importData2";
        String url ="http://localhost:10051/svr-specialist/"/*getBaseUrl()*/ + "importData2";
        Map<String,String> params = new HashMap<>();
        params.put("hospitalItems",array.toJSONString());
        try {

+ 66 - 26
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/synergy/SynergyManageService.java

@ -154,7 +154,7 @@ public class SynergyManageService extends BaseJpaService {
        //关键字查询
        servicerTable +=" left join wlyy.manage_synergy_workorder_servicer s on s.workorder_code=w.code ";
        if(StringUtils.isNotEmpty(keywords)){
            whereSql += " and w.servicer_count<=10  ";
//            whereSql += " and w.servicer_count<=10  ";
            whereSql += " and (w.create_user_name like '%"+keywords+"%' or s.service_patient_name like '%"+keywords+"%' " +
                    " or s.ssc like '%"+keywords+"%' or s.idcard like '%"+keywords+"%' ) ";
        }
@ -250,7 +250,8 @@ public class SynergyManageService extends BaseJpaService {
                map.put("patientCode",ls.size()>0?ls.get(0):null);//1对1服务工单,服务对象code
            }
            map.put("typeName",workorderTypeName);//服务类型名称
            map.put("serviceTime", DateUtil.dateToStr((Date)one.get("service_time"),"yyyy-MM-dd HH:mm"));//服务时间
            map.put("serviceTime", one.get("service_time")!=null?DateUtil.dateToStr((Date)one.get("service_time"),"yyyy-MM-dd HH:mm"):"");//服务时间
            map.put("createTime",one.get("create_time")!=null?DateUtil.dateToStr((Date)one.get("create_time"),"yyyy-MM-dd HH:mm"):"");
            map.put("priority",one.get("priority"));//工单优先级
            map.put("priorityName",((Integer)one.get("priority"))==1?"加急":"普通");
            if(one.get("service_time")!=null){//咨询、随访、预约的服务时间是null
@ -479,18 +480,29 @@ public class SynergyManageService extends BaseJpaService {
            whereSql+=" and s.status=1 ";
        }
        String sql =" select DISTINCT w.*,s.mobile,s.service_patient_name,s.service_patient_code,s.code as servicerCode,s.town_name,s.hospital_name, " +
                " w.create_user_name " +
                " from manage_synergy_workorder_servicer s " +
                " w.create_user_name " ;
        String sqlCenter = " from manage_synergy_workorder_servicer s " +
                " LEFT JOIN manage_synergy_workorder w on s.workorder_code=w.code " +
                " LEFT JOIN manage_synergy_workorder_executor e on e.workorder_code=w.code " + leftSql+
                " LEFT JOIN manage_synergy_workorder_customer_log l on l.workorder_service_code=s.service_patient_code " +
                " where s.workorder_code='"+workorderCode+"' " +
                " and w.del=1 and w.status=2 and e.del=1 "+
                whereSql+" order by "+orderBySql;
        List<Map<String,Object>> resultWorkorderList = jdbcTemplate.queryForList(sql);
                whereSql;
        String orderSql =" order by "+orderBySql;
        String sql1=" select count(1) as num ";
        String whereSql1=whereSql+" and l.id is not null ";
        List<Map<String,Object>> resultWorkorderListCount = jdbcTemplate.queryForList(sql1+sqlCenter+whereSql1);
        int count = resultWorkorderListCount.get(0).get("num")!=null?Integer.valueOf(resultWorkorderListCount.get(0).get("num")+""):0;
        List<Map<String,Object>> resultWorkorderList = jdbcTemplate.queryForList(sql+sqlCenter+orderSql);
        Map<String,Object> resultMap = new HashMap<>();
        if(resultWorkorderList.size()>0){
            Map<String,Object> workorderMap = resultWorkorderList.get(0);
            Integer ra = 0;
            if(count>0){
                ra = getRandom(0,count-1);
            }else{
                ra = getRandom(0,resultWorkorderList.size()-1);
            }
            Map<String,Object> workorderMap = resultWorkorderList.get(ra);
            //居民信息
            resultMap.put("mobile",workorderMap.get("mobile"));//电话号码
            resultMap.put("patientName",workorderMap.get("service_patient_name"));//居民姓名
@ -530,12 +542,17 @@ public class SynergyManageService extends BaseJpaService {
                healthType+=","+one.getLabelName();
            }
            resultMap.put("healthType",StringUtils.isNotEmpty(healthType)?healthType.substring(1):"");//健康情况
            List<SignPatientLabelInfo> labelServeType = signPatientLabelInfoDao.findByPatientAndLabelTypeAndStatus(workorderMap.get("service_patient_code")+"",  "2", 1);
            String serveType="";
            for(SignPatientLabelInfo one:labelServeType){
                serveType+=","+one.getLabelName();
//            List<SignPatientLabelInfo> labelServeType = signPatientLabelInfoDao.findByPatientAndLabelTypeAndStatus(workorderMap.get("service_patient_code")+"",  "2", 1);
//            for(SignPatientLabelInfo one:labelServeType){
//                serveType+=","+one.getLabelName();
//            }
            List<Map<String,Object>> signTypes = jdbcTemplate.queryForList("SELECT s.server_type_name,s.server_type FROM wlyy_sign_family_server s right join wlyy_sign_family f on s.sign_code=f.code WHERE f.patient='"+workorderMap.get("service_patient_code")+"' and f.status=1 and f.expenses_status='1' ");
            for(Map<String,Object> one:signTypes){
                serveType+=","+(one.get("server_type_name")!=null?one.get("server_type_name"):"");
            }
            resultMap.put("serveType",StringUtils.isNotEmpty(serveType)?serveType.substring(1):"");//服务类型
            resultMap.put("serveType",StringUtils.isNotEmpty(serveType)?serveType.substring(1):"");
//            resultMap.put("serveType",StringUtils.isNotEmpty(serveType)?serveType.substring(1):"");//服务类型
            resultMap.put("workorder",workorderMap.get("code"));//工单编号
            resultMap.put("patientCode",workorderMap.get("service_patient_code"));//居民code
            resultMap.put("doctorCode",workorderMap.get("create_user"));//创建人(医生)code
@ -554,11 +571,22 @@ public class SynergyManageService extends BaseJpaService {
                m.put("remark",log.getRemark());//备注
                m.put("returnVisit",log.getReturnVisit());//回访(1、有效回访,2、无效回访)
                resultMap.put("servicerLog",m);
                resultMap.put("haveNum",1);
            }
            return resultMap;
        }else{
            throw new Exception("没有任务");
            resultMap.put("haveNum",0);
        }
        return resultMap;
    }
    public int getRandom(int min, int max){
        if(max==0){
            return 0;
        }
        Random random = new Random();
        int s = random.nextInt(max) % (max - min + 1) + min;
        return s;
    }
    /**
@ -907,6 +935,7 @@ public class SynergyManageService extends BaseJpaService {
            resultMap.put("workorderTypeName",workorderTypeName);
            resultMap.put("workorderType",one.get("workorder_type"));
            resultMap.put("priority",one.get("priority"));
            resultMap.put("relationCode",one.get("relation_code"));
            resultMap.put("relationCodeName",one.get("relation_code_name"));
            resultMap.put("serviceTime",DateUtil.dateToStr((Date)one.get("service_time"),"yyyy-MM-dd HH:mm:ss"));
            resultMap.put("reminderTime",DateUtil.dateToStr((Date)one.get("create_time"),"yyyy-MM-dd HH:mm:ss"));
@ -961,9 +990,9 @@ public class SynergyManageService extends BaseJpaService {
        }
        manageSynergyWorkorderDO1.setPriority(manageSynergyWorkorderDO.getPriority());
        manageSynergyWorkorderDO1.setServiceTime(manageSynergyWorkorderDO.getServiceTime());
        manageSynergyWorkorderDO1.setReturnedRemark(manageSynergyWorkorderDO.getReturnedRemark());
        manageSynergyWorkorderDO.setStatus(1);
        workOrderDao.save(manageSynergyWorkorderDO);
        manageSynergyWorkorderDO1.setRemark(manageSynergyWorkorderDO.getRemark());
        manageSynergyWorkorderDO1.setStatus(1);
        workOrderDao.save(manageSynergyWorkorderDO1);
    }
    public String findByPatient(String patient){
@ -1130,6 +1159,7 @@ public class SynergyManageService extends BaseJpaService {
        ManageSynergyWorkorderDO manageSynergyWorkorderDO = workOrderDao.findByCode(workorderCode);
        manageSynergyWorkorderDO.setDealResultRemark(dealResultRemark);
        manageSynergyWorkorderDO.setStatus(3);
        manageSynergyWorkorderDO.setCompleteTime(new Date());
        workOrderDao.save(manageSynergyWorkorderDO);
    }
@ -1192,21 +1222,28 @@ public class SynergyManageService extends BaseJpaService {
                    whereSql += " and e.executor_code ='"+code+"' ";
                }else if(isAcceptTask==2){//我派发
                    whereSql +=" and w.create_user_type=2 ";//创建人为客服
                    whereSql += " and e.create_user ='"+code+"' ";
                    whereSql += " and w.create_user ='"+code+"' ";
                }
            }else if(userType==3){//医生
            }else if(userType==1){//医生
                if(isAcceptTask==1){//我接收
                    whereSql +=" and w.create_user_type=2 ";//创建人为客服
                    whereSql += " and e.executor_code ='"+code+"' ";
                }else if(isAcceptTask==2){//我派发
                    whereSql +=" and w.create_user_type=2 ";//创建人为医生
                    whereSql += " and e.create_user ='"+code+"' ";
                    whereSql += " and w.create_user_type=1 ";//创建人为医生
                    whereSql += " and w.create_user ='"+code+"' ";
                    whereSql += " and w.create_user_role=1 ";
                }
            }else if(userType==4){//医生管理员
                if(isAcceptTask==2){
                    whereSql += " and w.create_user_type=1 ";//创建人为医生
                    whereSql += " and w.create_user ='"+code+"' ";
                    whereSql += " and w.create_user_role=2 ";
                }
            }
            //关键字查询
            servicerTable +=" left join wlyy.manage_synergy_workorder_servicer s on s.workorder_code=w.code ";
            if(StringUtils.isNotEmpty(keywords)){
                servicerTable +=" left join wlyy.manage_synergy_workorder_servicer s on s.workorder_code=w.code ";
                whereSql += " and w.servicer_count<=10  ";
                whereSql += " and (w.create_user_name like '%"+keywords+"%' or s.service_patient_name like '%"+keywords+"%' " +
                        " or s.ssc like '%"+keywords+"%' or s.idcard like '%"+keywords+"%' ) ";
@ -1229,7 +1266,11 @@ public class SynergyManageService extends BaseJpaService {
            }
            //是否超时
            if(timeout!=null){
                whereSql +=" and w.service_time >'"+DateUtil.dateToStrLong(new Date())+"' ";
                if(timeout==1){
                    whereSql +=" and w.service_time >'"+DateUtil.dateToStrLong(new Date())+"' ";
                }else if(timeout==2){
                    whereSql +=" and w.service_time <='"+DateUtil.dateToStrLong(new Date())+"' ";
                }
            }
            //服务编码
            if(StringUtils.isNotEmpty(workorderCode)){
@ -1248,21 +1289,20 @@ public class SynergyManageService extends BaseJpaService {
            }
            //服务对象
            if(StringUtils.isNotEmpty(patientName)){
                whereSql+=" s.service_patient_name like '%"+keywords+"%' ";
                whereSql+=" and s.service_patient_name like '%"+keywords+"%' ";
            }
            //社保卡号
            if(StringUtils.isNotEmpty(ssc)){
                whereSql+=" s.ssc like '%"+keywords+"%' ";
                whereSql+=" and s.ssc like '%"+keywords+"%' ";
            }
            //身份证号
            if(StringUtils.isNotEmpty(idcard)){
                whereSql+=" s.idcard like '%"+keywords+"%' ";
                whereSql+=" and s.idcard like '%"+keywords+"%' ";
            }
            //需求方
            if(StringUtils.isNotEmpty(userName)){
                whereSql+=" and w.create_user_name like '%"+userName+"%' ";
            }
            //所属机构
            if(StringUtils.isNotEmpty(hospitalName)){
                whereSql+=" and w.hospital_name like '%"+hospitalName+"%' ";
            }

+ 1 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/synergy/SynergyWorkorderServicerLogService.java

@ -60,6 +60,7 @@ public class SynergyWorkorderServicerLogService extends BaseJpaService {
        if (workorderServicerDOS == null || workorderServicerDOS.size() == 0){
            ManageSynergyWorkorderDO workorderDO = manageSynergyWorkOrderDao.findByCode(workorderServicerLogDO.getWorkorderCode());
            workorderDO.setStatus(3);
            workorderDO.setCompleteTime(new Date());
            manageSynergyWorkOrderDao.save(workorderDO);
        }
    }

+ 45 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/util/SpringContextUtil.java

@ -0,0 +1,45 @@
package com.yihu.wlyy.util;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
import java.util.Locale;
/**
 * Created by 刘文彬 on 2018/10/17.
 */
@Component
public class SpringContextUtil implements ApplicationContextAware {
    private static ApplicationContext context = null;
    /* (non Javadoc)
     * @Title: setApplicationContext
     * @Description: spring获取bean工具类
     * @param applicationContext
     * @throws BeansException
     * @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)
     */
    @Override
    public void setApplicationContext(ApplicationContext applicationContext)
            throws BeansException {
        this.context = applicationContext;
    }
    // 传入线程中
    public static <T> T getBean(String beanName) {
        return (T) context.getBean(beanName);
    }
    // 国际化使用
    public static String getMessage(String key) {
        return context.getMessage(key, null, Locale.getDefault());
    }
    /// 获取当前环境
    public static String getActiveProfile() {
        return context.getEnvironment().getActiveProfiles()[0];
    }
    // 该工具类从网上抄来的,最后添加个获取方法就完成了,这样就能在代码级别通过环境条件来控制方法行为了。
}

+ 1 - 1
patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/desizenMan/service_project_management.jsp

@ -497,7 +497,7 @@
                    });
					console.log(t);
                    var grade = '',price = '',itemType='',hospitalGrade='';
					$('.item-title').text(t.hospitalServiceItem.serviceItemName);
					$('.item-title').text(t.hospitalServiceItem.specialistServiceItemDO.title);
                    t.hospitalServiceItem.specialistServiceItemDO.itemType == 0 ? itemType = '诊疗服务':itemType = '健康服务';
					$('.item-type').text(itemType);
					$('.item-content').text(t.hospitalServiceItem.specialistServiceItemDO.content);

+ 1 - 0
patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/repository/imm/ChildImmuneVaccinDao.java

@ -15,6 +15,7 @@ import java.util.List;
public interface ChildImmuneVaccinDao extends PagingAndSortingRepository<ChildImmuneVaccin, Long>,
		JpaSpecificationExecutor<ChildImmuneVaccin> {
	@Query("select v from ChildImmuneVaccin v where v.barcode=?1 and v.del=0")
	List<ChildImmuneVaccin> findByBarcode(String barcode);
	@Modifying

+ 6 - 4
patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/service/imm/ChildVaccinImmuneService.java

@ -79,7 +79,7 @@ public class ChildVaccinImmuneService extends BaseService {
					" WHERE" +
					" fi.del = 0";*/
            String sql ="SELECT `code`,`name`,idcard,ssc FROM wlyy_child_info WHERE del=0";
            String sql ="SELECT `code`,`name`,idcard,ssc,barcode FROM wlyy_child_info WHERE del=0";
			List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
			for (Map<String,Object> map : list){
				String barcode = String.valueOf(map.get("barcode"));
@ -117,7 +117,9 @@ public class ChildVaccinImmuneService extends BaseService {
											jdbcTemplate.update(uSql);
										}else {
											//判断是否过了7天提醒时间
											if (childImmuneVaccin.getAlert_tag()==1 && DateUtil.getPreDays(childImmuneVaccin.getAlert_time(),7).before(new Date())) {
											String afterAlertSevenDay = DateUtil.dateToStr(DateUtil.getPreDays(childImmuneVaccin.getAlert_time(),7),DateUtil.YYYY_MM_DD);
											String nowShotDay = DateUtil.dateToStrShort(new Date());
											if (childImmuneVaccin.getAlert_tag()==1 && DateUtil.strToDate(afterAlertSevenDay,DateUtil.YYYY_MM_DD).before(DateUtil.strToDate(nowShotDay,DateUtil.YYYY_MM_DD))) {
												String updateSql = "UPDATE wlyy_child_immune_vaccin SET alert_tag=0  AND `code`='" + childImmuneVaccin.getCode() + "'";
												jdbcTemplate.update(updateSql);
											}
@ -127,7 +129,7 @@ public class ChildVaccinImmuneService extends BaseService {
										result+= childImmuneVaccinDao.updateDelByCode(childImmuneVaccin.getCode());
									}
								}
								//如果本地没有就是新增的
								//如果本地没有就是新增的.
								List<ChildImmuneVaccin> vaccins = new ArrayList<>();
								for (int j=0;j<vaccinJsonJSONArray.length();j++){
									String ymbm = vaccinJsonJSONArray.getJSONObject(j).getString("ymBm");
@ -289,7 +291,7 @@ public class ChildVaccinImmuneService extends BaseService {
                            json.put("first", temp.getFirst().replace("key1",String.valueOf(map.get("name"))).replace("key2", childName));
                            json.put("url",temp.getUrl().replace("key1",childCode));
                            logger.info("weiTempJOSN:"+json.toString());
							pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 24,String.valueOf(map.get("openid")) , String.valueOf(map.get("name")), json);
							pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 11,String.valueOf(map.get("openid")) , String.valueOf(map.get("name")), json);
						}catch (Exception e){
							e.printStackTrace();
							flag = false;

+ 12 - 4
patient-co/patient-co-wlyy-job/src/main/resources/application-dev.yml

@ -34,12 +34,20 @@ im:
  im_list_get: http://172.19.103.88:3000/
  data_base_name: ichat
#wechat:
#  appId: wxd03f859efdf0873d
#  appSecret: 2935b54b53a957d9516c920a544f2537
#  wechat_token: 27eb3bb24f149a7760cf1bb154b08040
#  wechat_base_url: http%3a%2f%2fweixin.xmtyw.cn%2fwlyy-dev
#  accId: gh_ffd64560fb21
wechat:
  appId: wxd03f859efdf0873d
  appSecret: 2935b54b53a957d9516c920a544f2537
  appId: wxddece6347fe7fe87
  #appSecret: 988f005d8309ed1795939e0f042431fb
  wechat_token: 27eb3bb24f149a7760cf1bb154b08040
  wechat_base_url: http%3a%2f%2fweixin.xmtyw.cn%2fwlyy-dev
  accId: gh_ffd64560fb21
  wechat_base_url: http%3a%2f%2fehr.yihu.com%2fwlyy
  #accId: gh_ffd64560fb21
  appSecret: 41ade403de3d0e2e450f54a324ec013a
  accId: gh_710bf0b315a1
  message:
   ##医生追加建议提醒 --签约邀请
   doctor_invitel_template: TLWrBtNE2kBJaFCdVzDOOnQC8N2TtRY9ZxEzwZXQcR0

+ 11 - 3
patient-co/patient-co-wlyy-job/src/main/resources/application-devtest.yml

@ -34,12 +34,20 @@ im:
  im_list_get: http://172.19.103.88:3000/
  data_base_name: im_new
#wechat:
#  appId: wx1f129f7b51701428
#  appSecret: 988f005d8309ed1795939e0f042431fb
#  wechat_token: 27eb3bb24f149a7760cf1bb154b08040
#  wechat_base_url: http%3a%2f%2fehr.yihu.com%2fwlyy
#  accId: gh_ffd64560fb21
wechat:
  appId: wx1f129f7b51701428
  appSecret: 988f005d8309ed1795939e0f042431fb
  appId: wxddece6347fe7fe87
  #appSecret: 988f005d8309ed1795939e0f042431fb
  wechat_token: 27eb3bb24f149a7760cf1bb154b08040
  wechat_base_url: http%3a%2f%2fehr.yihu.com%2fwlyy
  accId: gh_ffd64560fb21
  #accId: gh_ffd64560fb21
  appSecret: 41ade403de3d0e2e450f54a324ec013a
  accId: gh_710bf0b315a1
  message:
    ##医生追加建议提醒 --签约邀请
    doctor_invitel_template:  uXdBJVbrhKG-WLaCG4s8C4SXSr2kknQ94vKFt-3rIiA

+ 12 - 3
patient-co/patient-co-wlyy-job/src/main/resources/application-test.yml

@ -35,12 +35,21 @@ im:
  im_list_get: http://172.19.103.88:3000/
  data_base_name: im_new
#wechat:
#  appId: wx1f129f7b51701428
#  appSecret: 988f005d8309ed1795939e0f042431fb
#  wechat_token: 27eb3bb24f149a7760cf1bb154b08040
#  wechat_base_url: http%3a%2f%2fehr.yihu.com%2fwlyy
#  accId: gh_ffd64560fb21
wechat:
  appId: wx1f129f7b51701428
  appSecret: 988f005d8309ed1795939e0f042431fb
  appId: wxddece6347fe7fe87
  #appSecret: 988f005d8309ed1795939e0f042431fb
  wechat_token: 27eb3bb24f149a7760cf1bb154b08040
  wechat_base_url: http%3a%2f%2fehr.yihu.com%2fwlyy
  accId: gh_ffd64560fb21
  #accId: gh_ffd64560fb21
  appSecret: 41ade403de3d0e2e450f54a324ec013a
  accId: gh_710bf0b315a1
  message:
   ##医生追加建议提醒 --签约邀请
   doctor_invitel_template: YA8VtN_JYORLHrbEhQkNoRjlpJXIGVGnb4_OhVq4OBs

+ 7 - 5
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/imm/ChildFamilyImmuneService.java

@ -398,11 +398,13 @@ public class ChildFamilyImmuneService extends BaseService {
		if (immVaccinList != null) {
			for (Map<String, Object> map : immVaccinList) {
				JSONObject jsonObject = new JSONObject();
				jsonObject.put("vaccinCode",map.get("code"));//待接种疫苗记录code
				jsonObject.put("childName", map.get("child_name"));//儿童姓名
				jsonObject.put("childCode", map.get("childCode"));//儿童code
				jsonObject.put("vaccinName", map.get("ymmc"));//疫苗名称
				jsonArray.put(jsonObject);
				if ("0".equals(String.valueOf(map.get("alert_tag")))){
                    jsonObject.put("vaccinCode",map.get("code"));//待接种疫苗记录code
                    jsonObject.put("childName", map.get("child_name"));//儿童姓名
                    jsonObject.put("childCode", map.get("childCode"));//儿童code
                    jsonObject.put("vaccinName", map.get("ymmc"));//疫苗名称
                    jsonArray.put(jsonObject);
                }
			}
		}
		alertJsonStr = jsonArray.toString();

+ 9 - 6
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/imm/ChildInfoService.java

@ -38,18 +38,21 @@ public class ChildInfoService extends BaseService {
		//2.如果本地数据库无记录则请求基卫接口查询
		if(childInfo == null){
		    String re = immuneService.GetChildrenInfo(barCode);
		    System.out.println("条形码--"+barCode+"请求基卫接口返回结果--"+re);
//		    String re = "{\"status\":200,\"message\":\"string\",\"data\":{\"birthday\":\"2017-01-05\",\"deptName\":\"金山街道社区卫生服务中心\",\"deptNum\":\"350211B1040\",\"name\":\"刘柠\",\"sex\":2.0}}";
			JSONObject rejson = JSONObject.parseObject(re);
			int status = rejson.getInteger("status");
			JSONObject data = rejson.getJSONObject("data");
			if(200 == status){
				JSONObject data = rejson.getJSONObject("data").getJSONObject("body");
				childInfo = new ChildInfo();
				childInfo.setCode(UUID.randomUUID().toString());
				childInfo.setBirthday(data.getString("birthday"));
				childInfo.setSex(data.getString("sex"));
				childInfo.setName(data.getString("name"));
				childInfo.setDeliverOrgname(data.getString("deptName"));
				childInfo.setDeliverJworgcode(data.getString("deptNum"));
				childInfo.setBirthday(data.getString("etCsrq"));
				childInfo.setSex(data.getString("etXb"));
				childInfo.setName(data.getString("etXm"));
				/*childInfo.setDeliverOrgname(data.getString("deptName"));
				childInfo.setDeliverJworgcode(data.getString("deptNum"));*/
				childInfo.setMotherIdcard(data.getString("etMqsfz"));
				childInfo.setMotherName(data.getString("etMqxm"));
				childInfo.setDel(0);
				childInfo.setCreate_time(new Date());
				childInfo.setBarcode(barCode);

+ 4 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/jimeiJkEdu/DoctorJMJkEduArticleController.java

@ -149,6 +149,7 @@ public class DoctorJMJkEduArticleController extends BaseController {
            if(StringUtils.isEmpty(currentRoleLevel)){
                currentRoleLevel = getCurrentRoleLevel();
            }
            leaveWords = StringUtils.isNotEmpty(leaveWords)?leaveWords:"";
            jmJkEduArticleService.initPatient(patientSet,labelUnitType,labelSexType,labelServeType,labelDiseaseType,labelHealthType,getUID(),currentRoleCode,currentRoleLevel);
//            patientSet.add(patientService.findByCode("wjw00000001000e6badcfa163e424525"));
            //获取保存发送记录
@ -405,11 +406,11 @@ public class DoctorJMJkEduArticleController extends BaseController {
                    // 如果queue为空,则当前线程会堵塞,直到有新数据加入
                    JSONObject json = queue.take();
                    Set<String> patientSet = (Set<String>)json.get("patientSet");
                    String sendCode = json.get("patientSet")+"";
                    String sendCode = json.get("sendCode")+"";
                    String sendType = json.get("sendType")+"";
                    Long teamCode = Long.valueOf(json.get("teamCode")+"");
                    String articleId = json.get("articleId")+"";
                    String leaveWords = json.get("leaveWords")+"";
                    String leaveWords = json.get("leaveWords")!=null?json.get("leaveWords")+"":"";
                    String currentUserRole = json.get("currentUserRole")+"";
                    String currentUserRoleLevel = json.get("currentUserRoleLevel")+"";
                    List<HealthEduArticleES> healthEduArticleESList = jmJkEduArticleService.savePCPushArticle(patientSet, sendCode, Integer.parseInt(sendType),"", teamCode, articleId,leaveWords,currentUserRole,currentUserRoleLevel);
@ -475,6 +476,7 @@ public class DoctorJMJkEduArticleController extends BaseController {
            List<Object> results = teamDao.findAdminTeamByPatientSignTeam(patientCode, new PageRequest(0, 1));
            Object[] result = (Object[]) results.get(0);
//            jmJkEduArticleService.initPatients(patientSet,labelType,condition,groupType,teamId,getUID());
            leaveWords = StringUtils.isNotEmpty(leaveWords)?leaveWords:"";
            List<HealthEduArticleES> healthEduArticleESList = jmJkEduArticleService.savePCPushArticle(patientSet, getUID(), 1,"", Long.parseLong(result[0].toString()), articleId,leaveWords,currentUserRole,currentUserRoleLevel);
            //推送微信模板消息和发送im消息
            new Thread(() -> {

+ 9 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/team/AdminTeamController.java

@ -172,7 +172,8 @@ public class AdminTeamController extends BaseController {
    @RequestMapping(value = "/{team_id}/members", method = RequestMethod.GET)
    @ApiOperation(value = "获取团队成员")
    public String getTeamMembers(@PathVariable("team_id") long teamId) {
    public String getTeamMembers(@PathVariable("team_id") long teamId,
                                 @RequestParam(value = "available", required = false) String available) {//true或者空过滤,false不过滤
        try {
            List<Object[]> members = memberService.findMembers(teamId);
            List<Map<String,Object>> list = new ArrayList<>();
@ -181,7 +182,14 @@ public class AdminTeamController extends BaseController {
                map = copyBeanProperties(member[0], "id", "code", "name", "hospital", "jobName", "level", "sex", "photo");
                map.put("available",member[1]);
                map.put("count",member[2]);
                //默认过滤只显示有效的(true或者空过滤),false或者不为空才不过滤
                if(StringUtils.isBlank(available) || "true".equals(available)){
                    if(!(Boolean)member[1]){
                        continue;
                    }
                }
                list.add(map);
                
            }
            return write(200, "OK", "data", new JSONArray(list));
        } catch (Exception e) {

+ 5 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/booking/PatientBookingController.java

@ -187,7 +187,11 @@ public class PatientBookingController extends WeixinBaseController{
    
        try{
            ChildInfo childInfo  = childInfoService.getByBarCode(barCode);
            return write(200, "查询成功","data",childInfo);
            if (childInfo==null){
                return write(-1,"根据免疫卡号查询不到儿童");
            }else {
                return write(200, "查询成功","data",childInfo);
            }
        }catch (Exception e){
            error(e);
            return error(-1, e.getMessage());

+ 3 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/family/FamilyMemberController.java

@ -498,6 +498,9 @@ public class FamilyMemberController extends WeixinBaseController {
        try {
    
            ChildInfo childInfo  = childInfoService.getByBarCode(barCode);
            if (childInfo==null){
                return write(-1,"根据免疫卡号查询不到儿童!");
            }
            
            if(StringUtils.isNotBlank(idcard) && !idcard.equals(childInfo.getIdcard()) && StringUtils.isNotBlank(childInfo.getIdcard())){
                return error(-1, "输入的新生儿身份证信息不一致,无法绑定");

+ 22 - 12
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/gateway/controller/message/GcOtherMessageController.java

@ -72,11 +72,7 @@ public class GcOtherMessageController {
            @ApiParam(name = "type", value = "1待支付,2支付成功", required = true) @RequestParam(value = "type", required = true) String type
            ) {
        try {
            System.out.println("------------start send message--------------");
            System.out.println("param1-------"+cardNo);
            System.out.println("param2-------"+templateJson);
            System.out.println("param3-------"+type);
            System.out.println("param4-------"+url);
            Patient patient =  patientDao.findBySsc(cardNo);
            SignFamily signFamily = null;
            if (patient!=null){
@ -92,16 +88,30 @@ public class GcOtherMessageController {
            }else if ("2".equals(type)){
                templateId=template_pay_success;
            }
            System.out.println("接收者id----"+patient.getOpenid());
            System.out.println("消息模板id----"+templateId);
            /*if ("oULM4xNdf4lqcjuq0-MGFRuhOcz8".equals(patient.getOpenid())){
                weiXinTempMsgSendUtils.sendTemplateMessage(templateId, patient.getOpenid(), url, new JSONObject(templateJson));
            }*/
            if ("3502110100".equals(signFamily.getHospital())){
            //郑松
            if ("oULM4xNdf4lqcjuq0-MGFRuhOcz8".equals(patient.getOpenid())){
                System.out.println("------------start send message--------------");
                System.out.println("param1-------"+cardNo);
                System.out.println("param2-------"+templateJson);
                System.out.println("param3-------"+type);
                System.out.println("param4-------"+url);
                System.out.println("接收者id----"+patient.getOpenid());
                System.out.println("消息模板id----"+templateId);
                weiXinTempMsgSendUtils.sendTemplateMessage(templateId, patient.getOpenid(), url, new JSONObject(templateJson));
            }
            /*if ("3502110100".equals(signFamily.getHospital())){
                weiXinTempMsgSendUtils.sendTemplateMessage(templateId, patient.getOpenid(), url, new JSONObject(templateJson));
            }*/
            //秀萍
            if ("oULM4xPHQO1MYOPJdI9AtVKx3fIo".equals(patient.getOpenid())){
                System.out.println("------------start send message--------------");
                System.out.println("param1-------"+cardNo);
                System.out.println("param2-------"+templateJson);
                System.out.println("param3-------"+type);
                System.out.println("param4-------"+url);
                System.out.println("接收者id----"+patient.getOpenid());
                System.out.println("消息模板id----"+templateId);
                weiXinTempMsgSendUtils.sendTemplateMessage(templateId, patient.getOpenid(), url, new JSONObject(templateJson));
            }
            return new BaseResultModel(BaseResultModel.statusEm.success.getCode(),BaseResultModel.statusEm.success.getMessage());

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

@ -180,12 +180,14 @@ es:
    FollowUp: wlyy_followup
    QuestionnaireWinning: wlyy_questionnaire_winning
    patientDevice: wlyy_patient_device
    patientRemindRecord: wlyy_patient_remind_record_prod
  type:
    HealthEduArticlePatient: health_edu_article_patient
    Statistics: wlyy_quota_prod
    FollowUpContent: wlyy_followup_content
    QuestionnaireWinning: wlyy_questionnaire_winning
    patientDevice: wlyy_patient_device
    patientRemindRecord: wlyy_patient_remind_record_prod
  host:  http://59.61.92.90:9065,http://59.61.92.90:9067
  tHost: 59.61.92.90:9066,59.61.92.90:9068
  clusterName: jkzl