|  | @ -1,169 +0,0 @@
 | 
	
		
			
				|  |  | /*
 | 
	
		
			
				|  |  | package com.yihu.jw.base.service.patient;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.alibaba.fastjson.JSONArray;
 | 
	
		
			
				|  |  | import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  | import com.fasterxml.jackson.databind.ObjectMapper;
 | 
	
		
			
				|  |  | import com.yihu.jw.base.dao.patient.BasePatientDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.base.util.ConstantUtils;
 | 
	
		
			
				|  |  | import com.yihu.jw.base.util.JavaBeanUtils;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.patient.PatientMedicareCardDO;
 | 
	
		
			
				|  |  | import com.yihu.mysql.query.BaseJpaService;
 | 
	
		
			
				|  |  | import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.data.domain.PageRequest;
 | 
	
		
			
				|  |  | import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.patient.BasePatientDO;
 | 
	
		
			
				|  |  | import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  | import org.springframework.util.CollectionUtils;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.io.IOException;
 | 
	
		
			
				|  |  | import java.util.*;
 | 
	
		
			
				|  |  | import java.util.regex.Pattern;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | */
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * 
 | 
	
		
			
				|  |  |  * 居民信息服务service
 | 
	
		
			
				|  |  |  * 
 | 
	
		
			
				|  |  |  * @version 
 | 
	
		
			
				|  |  |  * <pre>
 | 
	
		
			
				|  |  |  * Author	Version		Date		Changes
 | 
	
		
			
				|  |  |  * litaohong    1.0  2018年08月31日 Created
 | 
	
		
			
				|  |  |  *
 | 
	
		
			
				|  |  |  * </pre>
 | 
	
		
			
				|  |  |  * @since 1.
 | 
	
		
			
				|  |  |  *//*
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | @Service
 | 
	
		
			
				|  |  | public class BasePatientService extends BaseJpaService<BasePatientDO, BasePatientDao> {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private BasePatientDao basePatientDao;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private PatientMedicardCardService patientMedicardCardService;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private ObjectMapper objectMapper;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     */
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |      * 居民id
 | 
	
		
			
				|  |  |      * @param patientId
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      *//*
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public String getPatientById(String patientId) throws Exception{
 | 
	
		
			
				|  |  |         JSONObject result = new JSONObject();
 | 
	
		
			
				|  |  |         if(StringUtils.isEmpty(patientId)){
 | 
	
		
			
				|  |  |             result.put("result","parameter patientId is null");
 | 
	
		
			
				|  |  |             return result.toString();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         List<BasePatientDO> patientDOList = this.findByField("id",patientId);
 | 
	
		
			
				|  |  |         if(CollectionUtils.isEmpty(patientDOList)){
 | 
	
		
			
				|  |  |             result.put("result","not exist patient for id:"+patientId);
 | 
	
		
			
				|  |  |             return result.toString();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         result.put("patient",patientDOList.get(0));
 | 
	
		
			
				|  |  |         List<PatientMedicareCardDO> cards = patientMedicardCardService.findPatientCardByCode(patientId);
 | 
	
		
			
				|  |  |         result.put("medicareCard",cards);
 | 
	
		
			
				|  |  |         return result.toJSONString();
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     */
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |      * 获取用户基础信息,参数为空查全部
 | 
	
		
			
				|  |  |      * @param nameOrIdcard
 | 
	
		
			
				|  |  |      * @param page
 | 
	
		
			
				|  |  |      * @param size
 | 
	
		
			
				|  |  |      * @param sorts
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      *//*
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public List<Map<String,Object>> queryPatientBaseInfo(String nameOrIdcard,int page,int size,String sorts)throws Exception{
 | 
	
		
			
				|  |  |         List<Map<String,Object>> result = new ArrayList<>();
 | 
	
		
			
				|  |  |         if(StringUtils.isEmpty(nameOrIdcard)){
 | 
	
		
			
				|  |  |             result = basePatientDao.findBaseInfo(createPage(page,size,sorts));
 | 
	
		
			
				|  |  |         }else{
 | 
	
		
			
				|  |  |             String pattern = "^\\d+";
 | 
	
		
			
				|  |  |             boolean isMatch = Pattern.matches(pattern, nameOrIdcard);
 | 
	
		
			
				|  |  |             if(isMatch){
 | 
	
		
			
				|  |  |                 result = basePatientDao.findByIdcard("%"+nameOrIdcard+"%",createPage(page,size,sorts));
 | 
	
		
			
				|  |  |                 return result;
 | 
	
		
			
				|  |  |             }else{
 | 
	
		
			
				|  |  |                 result = basePatientDao.findByName("%"+nameOrIdcard+"%",createPage(page,size,sorts));
 | 
	
		
			
				|  |  |                 return result;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return result;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     */
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |      * 新增居民
 | 
	
		
			
				|  |  |      * @param jsonData
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      *//*
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |     public String createPatient(String jsonData) throws Exception {
 | 
	
		
			
				|  |  |         JSONObject jsonObject = JSONObject.parseObject(jsonData);
 | 
	
		
			
				|  |  |         JSONObject patient = jsonObject.getJSONObject("patient");
 | 
	
		
			
				|  |  |         JSONArray patientMedicareCards = jsonObject.getJSONArray("medicareCard");
 | 
	
		
			
				|  |  |         if(null == patient || CollectionUtils.isEmpty(patientMedicareCards)){
 | 
	
		
			
				|  |  |             return ConstantUtils.FAIL;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         BasePatientDO basePatientDO = objectMapper.readValue(patient.toJSONString(),BasePatientDO.class);
 | 
	
		
			
				|  |  |         List<PatientMedicareCardDO> list = new ArrayList<>();
 | 
	
		
			
				|  |  |         patientMedicareCards.forEach((card)->{
 | 
	
		
			
				|  |  |             try {
 | 
	
		
			
				|  |  |                 list.add(objectMapper.readValue(card.toString(),PatientMedicareCardDO.class));
 | 
	
		
			
				|  |  |             } catch (IOException e) {
 | 
	
		
			
				|  |  |                 e.printStackTrace();
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  |         this.save(basePatientDO);
 | 
	
		
			
				|  |  |         patientMedicardCardService.batchInsert(list);
 | 
	
		
			
				|  |  |         return ConstantUtils.SUCCESS;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     */
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |      * 修改居民
 | 
	
		
			
				|  |  |      * @param jsonData
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      *//*
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |     public String updatePatient(String jsonData) throws Exception {
 | 
	
		
			
				|  |  |         JSONObject jsonObject = JSONObject.parseObject(jsonData);
 | 
	
		
			
				|  |  |         JSONObject patient = jsonObject.getJSONObject("patient");
 | 
	
		
			
				|  |  |         JSONArray patientMedicareCards = jsonObject.getJSONArray("medicareCard");
 | 
	
		
			
				|  |  |         if(null == patient || CollectionUtils.isEmpty(patientMedicareCards)){
 | 
	
		
			
				|  |  |             return ConstantUtils.FAIL;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         BasePatientDO basePatientDO = objectMapper.readValue(patient.toJSONString(),BasePatientDO.class);
 | 
	
		
			
				|  |  |         if(StringUtils.isEmpty(basePatientDO.getId())){
 | 
	
		
			
				|  |  |             return ConstantUtils.FAIL;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         // 保存修改的居民信息
 | 
	
		
			
				|  |  |         this.save(basePatientDO);
 | 
	
		
			
				|  |  |         Set<Object> cardIdList = patientMedicardCardService.findIdListByPatientCode(basePatientDO.getId());
 | 
	
		
			
				|  |  |         // 有些卡可能是新增或修改的,一条一条修改居民相关的卡的信息
 | 
	
		
			
				|  |  |         for (Object obj : patientMedicareCards) {
 | 
	
		
			
				|  |  |             PatientMedicareCardDO card = objectMapper.readValue(obj.toString(), PatientMedicareCardDO.class);
 | 
	
		
			
				|  |  |             card.setPatientCode(basePatientDO.getId());
 | 
	
		
			
				|  |  |             if(cardIdList.contains(card.getId())){
 | 
	
		
			
				|  |  |                 cardIdList.remove(card.getId());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             patientMedicardCardService.save(card);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         // 有些卡可能是删除的
 | 
	
		
			
				|  |  |         if(cardIdList.size() > 0){
 | 
	
		
			
				|  |  |             patientMedicardCardService.delete(cardIdList.toArray());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return ConstantUtils.SUCCESS;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 | 
	
		
			
				|  |  | */
 |