| 
					
				 | 
			
			
				@ -0,0 +1,142 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.hospital.endpoint.consult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.hospital.service.consult.SysDictService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.Envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.ListEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.ObjEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.Api; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.ApiOperation; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.ApiParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import net.sf.json.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import net.sf.json.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.http.MediaType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.web.bind.annotation.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.HashMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Created by Trick on 2019/5/16. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@RestController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@RequestMapping("internet/consult/sysdict" ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@Api(tags = "互联网医院功能业务字典及开关设置表", description = "互联网医院") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class SysDictEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private SysDictService sysDictService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 新增功能业务字典 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param jsonData 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @PostMapping(value = "/create", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "新增&修改功能业务字典", notes = "互联网医院功能业务字典及开关设置表") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop createSysDict( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "json_data", value = "Json数据", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestBody String jsonData) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int flag = -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Envelop envelop = new Envelop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = new WlyyHospitalSysDictDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map dataDetail  = JSONObject.fromObject(jsonData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String hospital = dataDetail.get("hospital") == "" ? "": dataDetail.get("hospital") .toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String dictName = dataDetail.get("dictName") == "" ? "": dataDetail.get("dictName") .toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String data = dataDetail.get("data") == "" ? "": dataDetail.get("data") .toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray array = JSONArray.fromObject(data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(array.size()>0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (int i = 0; i < array.size(); i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                JSONObject jsonObject = array.getJSONObject(i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                wlyyHospitalSysDictDO = sysDictService.saveConsultSetting(jsonObject, hospital, dictName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (wlyyHospitalSysDictDO != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    flag = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (flag < 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return failed("配置新增失败!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return success("配置新增成功!", wlyyHospitalSysDictDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return failed("获取待更新配置项失败!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 该接口实现按医院编号、字典名称、字典项编码进行查询的功能 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 字典及项值约定: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * dictName( 候诊延时: WaitingDelay )  dictCode ( 等待时长:WaitingTime  过号延时保号: OverdueDelay   过号延时时长: OverdueTime  延时退费规则: DelayedRefundRule ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * dictName( 邀请专家配置: InvitedConfig )   dictCode ( 支付配置:PayType  邀请确认:InvitedValid   退费规则:RefundRule ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @PostMapping(value = "/findByHosAndDn", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "基于医院编号及字典名称,查询配置列表", notes = "互联网医院功能业务字典及开关设置表") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop findByHosAndDn( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "hospital", value = "医院编码", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "hospital", required = true) String hospital, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "dictName", value = "字典名称", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "dictName", required = false) String dictName ) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ListEnvelop listEnvelop = new ListEnvelop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyyHospitalSysDictDO>  wlyyHospitalSysDictDOS = new ArrayList<WlyyHospitalSysDictDO>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        wlyyHospitalSysDictDOS = sysDictService.findByHospitalAndDictName(hospital,dictName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map res = new HashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        res.put("hospital",hospital); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        res.put("dictName",dictName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(wlyyHospitalSysDictDOS != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(WlyyHospitalSysDictDO wlyyHospitalSysDictDO : wlyyHospitalSysDictDOS){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                res.put(wlyyHospitalSysDictDO.getDictCode().toString(),wlyyHospitalSysDictDO.getDictValue().toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success("查询配置信息成功!",res); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return failed("配置信息未存储,请先保存!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 根据医院编号及字典编码,获取配置界面中某一配置项的值信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * dictName( 候诊延时: WaitingDelay )  dictCode ( 等待时长:WaitingTime  过号延时保号: OverdueDelay   过号延时时长: OverdueTime  延时退费规则: DelayedRefundRule ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * dictName( 邀请专家配置: InvitedConfig )   dictCode ( 支付配置:PayType  邀请确认:InvitedValid   退费规则:RefundRule ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param hospital 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param dictCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @PostMapping(value = "/findByHosAndDc", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "基于医院编号、字典名称及字典项编码,查询指定配置", notes = "互联网医院功能业务字典及开关设置表") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ObjEnvelop findByHosAndDc( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "hospital", value = "医院编码", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "hospital", required = true) String hospital, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "dictCode", value = "字典项编码", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "dictCode", required = false) String dictCode ) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ObjEnvelop objEnvelop = new ObjEnvelop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = new WlyyHospitalSysDictDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        wlyyHospitalSysDictDO = sysDictService.findByHospitalAndDictCode(hospital,dictCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(wlyyHospitalSysDictDO != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            objEnvelop.setObj(wlyyHospitalSysDictDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            objEnvelop.setStatus(200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            objEnvelop.setMessage("查询配置信息成功!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            objEnvelop.setStatus(-1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            objEnvelop.setMessage("对不起,未查询到相关的配置信息!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return objEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 |