|  | @ -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;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 | 
	
		
			
				|  |  | 
 |