Browse Source

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

yeshijie 7 years ago
parent
commit
0838df2c8b

+ 1 - 1
patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/service/ZysoftService.java

@ -869,7 +869,7 @@ public class ZysoftService {
        
        com.alibaba.fastjson.JSONObject json = JSON.parseObject(data);
        
        String response = postSecond("getEhrChroDaysFollowUpInfoRecord","上传家庭医生服务日常随访信息",json,header);
        String response = postSecond("uploadEhrSickChroDaysFollowUpRecord ","上传家庭医生服务日常随访信息",json,header);
        
        return response;
	}

+ 9 - 0
patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/event/ApplicationEvent.java

@ -178,6 +178,15 @@ public class ApplicationEvent implements ApplicationListener<ContextRefreshedEve
            } else {
                logger.info("patient_followup_syb_job  job exist");
            }
    
            //居民随访信息上传基卫,每天凌晨4点执行一次
            if (!quartzHelper.isExistJob("patient_followup_upload_job")) {
                String trigger = SystemConf.getInstance().getSystemProperties().getProperty("patient_followup_upload_job");
                quartzHelper.addJob(FollowUpUploadJob.class, trigger, "patient_followup_upload_job", new HashMap<String, Object>());
                logger.info("patient_followup_upload_job  job success");
            } else {
                logger.info("patient_followup_upload_job  job exist");
            }
            //老年人体检消息发送记录,每天凌晨1点执行一次
            if (!quartzHelper.isExistJob("patient_physical_examination_job")) {

+ 6 - 0
patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/repository/followup/FollowUpMappingDao.java

@ -2,6 +2,8 @@ package com.yihu.wlyy.repository.followup;
import com.yihu.wlyy.entity.followup.FollowupMapping;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
@ -14,4 +16,8 @@ import java.util.List;
public interface FollowUpMappingDao extends PagingAndSortingRepository<FollowupMapping, Long>, JpaSpecificationExecutor<FollowupMapping> {
	
	List<FollowupMapping> findByNeedUpload(Integer needupload);
	
	@Modifying
	@Query("update FollowupMapping p set p.needUpload=?1 where p.followupId=?2")
	void updateNeedUploadByFollowupId(Integer needUpload,Integer followupId);
}

+ 17 - 11
patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/service/third/jw/JwPrescriptionService.java

@ -34,11 +34,14 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.stereotype.Service;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.DefaultTransactionDefinition;
import java.text.DecimalFormat;
@ -852,6 +855,7 @@ public class JwPrescriptionService {
    /**
     * 上传居民随访记录到基卫
     */
    @Transactional
    public void uploadFollowUpRecordToJW() throws Exception {
        //查找出需要上传的随访映射记录
        List<Followup> followupMappings = followUpDao.findByFollowMappingNeedUpload(1);
@ -962,16 +966,16 @@ public class JwPrescriptionService {
                    if(!followupDrugsInsulin.isEmpty()){
                        for (int  j= 0; j < followupDrugsInsulin.size(); j++) {
                            int tag = j+1;
                            followupResultMap.put("PHYSIC_NAME"+tag,followupDrugsInsulin.get(j).getDrugsName());
                            followupResultMap.put("FREQUENCY"+tag,followupDrugsInsulin.get(j).getFrequency());
                            followupResultMap.put("PHYSIC_UNIT"+tag,followupDrugsInsulin.get(j).getUnit());
                            followupResultMap.put("PHYSIC_DOSE"+tag,df.format(followupDrugsInsulin.get(j).getDose()));
                            followupResultMap.put("INSULIN_NAME"+tag,followupDrugsInsulin.get(j).getDrugsName());
                            followupResultMap.put("INSULIN_FREQUENCY"+tag,followupDrugsInsulin.get(j).getFrequency());
                            followupResultMap.put("INSULIN_UNIT"+tag,followupDrugsInsulin.get(j).getUnit());
                            followupResultMap.put("INSULIN_DOSE"+tag,df.format(followupDrugsInsulin.get(j).getDose()));
                        }
                    }
    
                    jsonObject = JSONObject.parseObject(JSON.toJSONString(followupResultMap));
                    
                    String url = jwUrl + "/third/archives/uploadEhrSickChroDaysFollowUpRecord";
                    String url = jwUrl + "/third/sign/uploadEhrSickChroDaysFollowUpRecord";
    
                    List<NameValuePair> params = new ArrayList<>();
                    params.add(new BasicNameValuePair("OPERATOR", OPERATOR));
@ -989,8 +993,6 @@ public class JwPrescriptionService {
                                JSONArray dataArray = jwData.getJSONArray("DATA");
                                for (int i = 0; i < dataArray.size(); i++) {
                    
                                    OldPeoplePhysicalExaminationEntity oldPeoplePhysicalExaminationEntity = new OldPeoplePhysicalExaminationEntity();
                    
                                    JSONObject json = dataArray.getJSONObject(i);
                                    
                                    String jw_followup_no = json.getString("FOLLOWUP_NO");
@ -998,24 +1000,28 @@ public class JwPrescriptionService {
                                    followup.setFollowupNo(jw_followup_no);
    
                                    followUpDao.save(followup);//获取的基卫随访主表ID,更新回数据库
    
                                    String strid = String.valueOf(followup.getId());
                                    
                                    followUpMappingDao.updateNeedUploadByFollowupId(0,Integer.parseInt(strid));
                                }
                                
                            } else {
                                String jwMessage = jwData.getString("MESSAGE");
                                logger.info("随访记录上传失败,普通药品或者胰岛素类药瓶超过了上线,随访主表ID:" + followup.getId().toString()+",err:"+jwMessage);
                                logger.info("随访记录上传失败,随访主表ID:" + followup.getId().toString()+",err:"+jwMessage);
                                continue;
                            }
            
                        } else {
                            logger.info("随访记录上传失败,普通药品或者胰岛素类药瓶超过了上线,随访主表ID:" + followup.getId().toString()+",err:请求失败");
                            logger.info("随访记录上传失败,随访主表ID:" + followup.getId().toString()+",err:请求失败");
                            continue;
                        }
                    } else {
                        logger.info("随访记录上传失败,普通药品或者胰岛素类药瓶超过了上线,随访主表ID:" + followup.getId().toString()+",无返回值");
                        logger.info("随访记录上传失败:" + followup.getId().toString()+",无返回值");
                        continue;
                    }
                } catch (Exception e) {
                    logger.info("随访记录上传失败,普通药品或者胰岛素类药瓶超过了上线,随访主表ID:" + followup.getId().toString()+",err"+e.getMessage());
                    logger.info("随访记录上传失败,随访主表ID:" + followup.getId().toString()+",err"+e.getMessage());
                    continue;
                }
            }

+ 23 - 0
patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/web/quota/JobController.java

@ -641,6 +641,29 @@ public class JobController extends BaseController {
            return error(-1, e.getMessage());
        }
    }
    
    /**
     * 居民随访记录上传(上传到基卫)
     *@author huangwenjie
     *@date 2017/10/23 08:45
     */
    @RequestMapping(value = "/executeFollowUpUploadJob", method = RequestMethod.POST)
    @ApiOperation("居民随访记录上传(上传到基卫)")
    public String executeFollowUpSynByTime() {
        try {
            try {
                //上传居民随访记录到基卫
                jwPrescriptionService.uploadFollowUpRecordToJW();
            }catch (Exception e){
                e.printStackTrace();
            }
            
            return write(200, "执行成功");
        } catch (Exception e) {
            error(e);
            return error(-1, e.getMessage());
        }
    }
    /**
     *老年人体检系统发送提醒,每天早上8点执行一次

+ 4 - 1
patient-co/patient-co-wlyy-job/src/main/resources/system.properties

@ -113,9 +113,12 @@ onepay_query_job=0 0/3 * * * ?
# 老年人体检记录同步,每天凌晨1点执行一次
old_people_tijian_syb_job=0 0 1 * * ?
# 老年人体检记录同步,每天凌晨1点执行一次
# 同步居民随访记录,每天凌晨3点执行一次
patient_followup_syb_job=0 0 3 * * ?
# 居民随访记录上传(上传到基卫),每天凌晨4点执行一次
patient_followup_upload_job=0 0 3 * * ?
# 老年人体检系统发送提醒记录,每天8点执行一次
patient_physical_examination_job=0 0 8 * * ?