| 
					
				 | 
			
			
				@ -1,14 +1,31 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.base.service.system; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.fasterxml.jackson.databind.ObjectMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.netflix.discovery.converters.Auto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.enums.SystemDictEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.service.dict.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.util.ConstantUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.dict.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.system.SystemDictDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.dao.system.SystemDictDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.system.SystemDictEntryDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.rm.base.BaseRequestMapping; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				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.data.domain.Pageable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.data.domain.Sort; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import javax.persistence.criteria.Order; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.text.ParseException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Arrays; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Service - 系统字典 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Created by LiTaohong on 2017/12/01. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -34,14 +51,108 @@ public class SystemDictService extends BaseJpaService<SystemDictDO, SystemDictDa 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private DictMedicineService dictMedicineService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private SystemDictEntryService systemDictEntryService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private ObjectMapper objectMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public long getCount(String filters) throws ParseException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return super.getCount(filters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取系统所有相关字典, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param userId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String getAllDistList(String userId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getAllDistList(String userId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray jsonArray = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return jsonArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 根据字典类型获取系统所有相关字典, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param userId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getDistListByType(String type, String userId, String sorts, int page, int size) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isEmpty(type) || StringUtils.isEmpty(userId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray jsonArray = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject jsonObject = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        dictIcd10Service.queryAll(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (SystemDictEnum.Icd10Dict == SystemDictEnum.valueOf(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject = dictIcd10Service.queryAll(userId, creatPage(page,size,sorts)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (SystemDictEnum.HospitalDeptDict == SystemDictEnum.valueOf(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject = dictHospitalDeptService.queryAll("", creatPage(page,size,sorts)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (SystemDictEnum.JobTitleDict == SystemDictEnum.valueOf(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject = dictJobTitleService.queryAll("", creatPage(page,size,sorts)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (SystemDictEnum.HealthProblemDict == SystemDictEnum.valueOf(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject = dictHealthProblemService.queryAll("", creatPage(page,size,sorts)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (SystemDictEnum.MedicineDict == SystemDictEnum.valueOf(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject = dictMedicineService.queryAll("", creatPage(page,size,sorts)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (SystemDictEnum.DiseaseDict == SystemDictEnum.valueOf(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonObject = dictDiseaseService.queryAll("", creatPage(page,size,sorts)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jsonArray.add(jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return jsonArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 新增字典,包括字典项值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * "obj": { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     "      dict: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                code": "SYSTEM_SETTING", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     "          name": "系统设置", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     "          pyCode": "XTSZ", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     "          saasId": "string", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     "          type": "basic" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            valueArr:[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                dictCode:"SYSTEM_SETTING", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                code:"SYSTEM_SETTING_0", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                pyCode:"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                value:"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                sort:"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                remark:"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 },{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String createSystemDict(String jsonData) throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isEmpty(jsonData)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return "none params(jsonData)"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject jsonParam = JSONObject.parseObject(jsonData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(null == jsonParam.get("dict")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return "no dict element in " + jsonData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject dictJson = (JSONObject)jsonParam.get("dict"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SystemDictDO systemDictDO = objectMapper.readValue(dictJson.toString(),SystemDictDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isEmpty(systemDictDO.getCode()) || StringUtils.isEmpty(systemDictDO.getName())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return "code or name of dict is required"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SystemDictEntryDO> systemDictEntryDOList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray dictValueArr = jsonParam.getJSONArray("valueArr"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        dictValueArr.forEach((oneObj)->systemDictEntryDOList.add((SystemDictEntryDO)oneObj)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        save(systemDictDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        systemDictEntryService.batchInsert(systemDictEntryDOList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return ConstantUtils.SUCCESS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |