|  | @ -1,7 +1,11 @@
 | 
	
		
			
				|  |  | package com.yihu.jw.care.service.patient;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  | import com.fasterxml.jackson.databind.ObjectMapper;
 | 
	
		
			
				|  |  | import com.yihu.jw.care.service.common.DictService;
 | 
	
		
			
				|  |  | import com.yihu.jw.care.service.sign.ServicePackageService;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.patient.BasePatientDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.servicePackage.ServicePackageSignRecordDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.patient.dao.BasePatientDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.patient.service.BasePatientMedicardCardService;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.PageEnvelop;
 | 
	
	
		
			
				|  | @ -10,6 +14,7 @@ import com.yihu.jw.utils.StringUtil;
 | 
	
		
			
				|  |  | import com.yihu.mysql.query.BaseJpaService;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.data.repository.CrudRepository;
 | 
	
		
			
				|  |  | import org.springframework.jdbc.core.BeanPropertyRowMapper;
 | 
	
		
			
				|  |  | import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.util.List;
 | 
	
	
		
			
				|  | @ -35,9 +40,12 @@ public class CarePatientService<T, R extends CrudRepository> extends BaseJpaServ
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private BasePatientMedicardCardService basePatientMedicardCardService;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private ServicePackageService servicePackageService;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private ObjectMapper objectMapper;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private DictService dictService;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 签约记录
 | 
	
	
		
			
				|  | @ -81,8 +89,43 @@ public class CarePatientService<T, R extends CrudRepository> extends BaseJpaServ
 | 
	
		
			
				|  |  |      * @param patientId
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public BasePatientDO findPatientById(String patientId) throws Exception{
 | 
	
		
			
				|  |  |         return basePatientDao.findById(patientId);
 | 
	
		
			
				|  |  |     public JSONObject findPatientById(String patientId) throws Exception{
 | 
	
		
			
				|  |  |         JSONObject res = new JSONObject();
 | 
	
		
			
				|  |  |         BasePatientDO patientDO = basePatientDao.findById(patientId);
 | 
	
		
			
				|  |  |         patientDO.setArchiveStatusName(dictService.fingByNameAndCode("archiveStatus",String.valueOf(patientDO.getArchiveStatus())));
 | 
	
		
			
				|  |  |         patientDO.setNationalName(dictService.fingByNameAndCode("national",String.valueOf(patientDO.getNational())));
 | 
	
		
			
				|  |  |         patientDO.setArchiveTypeName(dictService.fingByNameAndCode("archiveType",String.valueOf(patientDO.getArchiveType())));
 | 
	
		
			
				|  |  |         patientDO.setBloodName(dictService.fingByNameAndCode("blood",String.valueOf(patientDO.getBlood())));
 | 
	
		
			
				|  |  |         patientDO.setMarriageName(dictService.fingByNameAndCode("marriage_status",String.valueOf(patientDO.getMarriage())));
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         res.put("patient",patientDO);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String sql = "select * from base_service_package_sign_record where patient = '"+patientId+"' and status = 1 limit 1";
 | 
	
		
			
				|  |  |         List<ServicePackageSignRecordDO> signRecordDOs = jdbcTemplate.query(sql,new BeanPropertyRowMapper(ServicePackageSignRecordDO.class));
 | 
	
		
			
				|  |  |         if(signRecordDOs.size()>0){
 | 
	
		
			
				|  |  |             ServicePackageSignRecordDO signRecordDO = signRecordDOs.get(0);
 | 
	
		
			
				|  |  |             String signId = signRecordDO.getId();
 | 
	
		
			
				|  |  |             List<Map<String,Object>> packageList = servicePackageService.fingdBySignId(signId);
 | 
	
		
			
				|  |  |             List<Map<String,Object>> doctorList = servicePackageService.fingdDoctorBySignId(signId,"generalDoctor");
 | 
	
		
			
				|  |  |             List<Map<String,Object>> helperList = servicePackageService.fingdDoctorBySignId(signId,"helper");
 | 
	
		
			
				|  |  |             String doctorInfo = "";
 | 
	
		
			
				|  |  |             String helperInfo = "";
 | 
	
		
			
				|  |  |             String packageInfo = "";
 | 
	
		
			
				|  |  |             if(doctorList.size()>0){
 | 
	
		
			
				|  |  |                 doctorInfo = doctorList.get(0).get("name").toString()+"等"+doctorList.size()+"名";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if(helperList.size()>0){
 | 
	
		
			
				|  |  |                 helperInfo = doctorList.get(0).get("name").toString()+"等"+helperList.size()+"名";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if(packageList.size()>0){
 | 
	
		
			
				|  |  |                 packageInfo = packageList.get(0).get("name").toString()+"等"+packageList.size()+"个";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             signRecordDO.setDoctorInfo(doctorInfo);
 | 
	
		
			
				|  |  |             signRecordDO.setHelperInfo(helperInfo);
 | 
	
		
			
				|  |  |             signRecordDO.setPackageInfo(packageInfo);
 | 
	
		
			
				|  |  |             res.put("signRecordDO",signRecordDO);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return res;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |