diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM5267.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM5267.java new file mode 100644 index 0000000..24b5d90 --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM5267.java @@ -0,0 +1,21 @@ +package com.syjiaer.clinic.server.common.api.input; + +import com.syjiaer.clinic.server.common.api.annotations.IMField; +import com.syjiaer.clinic.server.common.api.annotations.OMField; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.time.LocalDate; + +@Getter +@Setter +@ToString +@Accessors(chain = true) +public class IM5267 extends BaseInputModel { + @IMField(key="psn_no",name = "就诊凭证类型",required = true) + private String psnNo; + @OMField(key="time",name = "判断时间") + private LocalDate time; +} diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM5283.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM5283.java new file mode 100644 index 0000000..3df3a2e --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM5283.java @@ -0,0 +1,16 @@ +package com.syjiaer.clinic.server.common.api.input; + +import com.syjiaer.clinic.server.common.api.annotations.IMField; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +@Getter +@Setter +@ToString +@Accessors(chain = true) +public class IM5283 extends BaseInputModel { + @IMField(key="psn_no",name = "就诊凭证类型",required = true) + private String psnNo; +} diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/output/OM5267.java b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM5267.java new file mode 100644 index 0000000..b248b4d --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM5267.java @@ -0,0 +1,34 @@ +package com.syjiaer.clinic.server.common.api.output; + +import com.syjiaer.clinic.server.common.api.annotations.OMField; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.time.LocalDate; + +@Getter +@Setter +@ToString +@Accessors(chain = true) +public class OM5267 extends BaseOutputModel{ + @OMField(key = "blo_type", name = "封锁种类") + private String blo_type; + @OMField(key = "insutype", name = "险种类型") + private String insutype; + @OMField(key = "blo_rea", name = "变更原因描述") + private String blo_rea; + @OMField(key = "psn_emp_no", name = "个人编号/单位编号") + private String psn_emp_no; + @OMField(key = "pausType", name = "暂停类别") + private String pausType; + @OMField(key = "begndate", name = "开始日期") + private String begndate; + @OMField(key = "enddate", name = "终止日期") + private String enddate; + @OMField(key = "opter", name = "经办人") + private String opter; + @OMField(key = "opt_date", name = "经办日期") + private String opt_date; +} diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/output/OM5283.java b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM5283.java new file mode 100644 index 0000000..e54c724 --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM5283.java @@ -0,0 +1,24 @@ +package com.syjiaer.clinic.server.common.api.output; + +import com.syjiaer.clinic.server.common.api.annotations.OMField; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.time.LocalDate; + +@Getter +@Setter +@ToString +@Accessors(chain = true) +public class OM5283 extends BaseOutputModel{ + @OMField(key = "fixmedins_code", name = "定点医药机构编号") + private String fixmedins_code; + @OMField(key = "fixmedins_name", name = "定点医药机构名称") + private String fixmedins_name; + @OMField(key = "begndate", name = "入院时间") + private LocalDate begndate; + @OMField(key = "enddate", name = "出院时间") + private LocalDate enddate; +} diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/request/SocialRequest.java b/src/main/java/com/syjiaer/clinic/server/common/api/request/SocialRequest.java index b465c5c..e421ba9 100644 --- a/src/main/java/com/syjiaer/clinic/server/common/api/request/SocialRequest.java +++ b/src/main/java/com/syjiaer/clinic/server/common/api/request/SocialRequest.java @@ -85,8 +85,11 @@ public class SocialRequest { om1319.makeFromJson(jsonObject); return om1319; } - public void call2001(IM2001 im2001){ + public OM2001 call2001(IM2001 im2001){ JSONObject jsonObject=httpUtil.call("2001", "data", im2001.buildToMap()); + OM2001 om2001 = new OM2001(); + om2001.makeFromJson(jsonObject); + return om2001; } public OM2101A call2101A(IM2101A im2101A){ Map map=im2101A.buildToMap(); @@ -191,7 +194,28 @@ public class SocialRequest { om2207A.setSetldetail(JSONArray.parseArray(data.get("setldetail").toString(), OM2207A.Setldetail.class)); return om2207A; } + public OM5267 call5267(IM5267 im5267){ + try { + JSONObject jsonObject=httpUtil.call("5267", "data", im5267.buildToMap()); + OM5267 om5267=new OM5267(); + om5267.makeFromJson(jsonObject); + return om5267; + }catch (Exception e){ + return null; + } + } + public OM5283 call5283(IM5283 im5283){ + try { + JSONObject jsonObject=httpUtil.call("5283", "data", im5283.buildToMap()); + OM5283 om5283=new OM5283(); + om5283.makeFromJson(jsonObject); + return om5283; + }catch (Exception e){ + return null; + } + + } public JSONObject call9001(IM9001 im9001){ return httpUtil.call("9001","signIn",im9001.buildToMap(),10000); } diff --git a/src/main/java/com/syjiaer/clinic/server/common/util/HttpUtil.java b/src/main/java/com/syjiaer/clinic/server/common/util/HttpUtil.java index d3aed5c..c67367e 100644 --- a/src/main/java/com/syjiaer/clinic/server/common/util/HttpUtil.java +++ b/src/main/java/com/syjiaer/clinic/server/common/util/HttpUtil.java @@ -45,7 +45,9 @@ public class HttpUtil { String result = ""; try { StringBuffer resultBuffer = new StringBuffer(); - logger.info("调用医保请求入参==》" + params); + + String infno =JSONObject.parseObject(params).getString("infno"); + logger.info("【"+infno+"】调用医保请求入参==》" + params); URL url = new URL(posturl); URLConnection conn = url.openConnection(); conn.setDoInput(true); diff --git a/src/main/java/com/syjiaer/clinic/server/controller/social/SocialPersonController.java b/src/main/java/com/syjiaer/clinic/server/controller/social/SocialPersonController.java index 030221a..db6e4fe 100644 --- a/src/main/java/com/syjiaer/clinic/server/controller/social/SocialPersonController.java +++ b/src/main/java/com/syjiaer/clinic/server/controller/social/SocialPersonController.java @@ -4,6 +4,7 @@ import com.syjiaer.clinic.server.common.api.input.IM1101; import com.syjiaer.clinic.server.common.api.output.OM1101; import com.syjiaer.clinic.server.common.vo.Result; import com.syjiaer.clinic.server.controller.BaseController; +import com.syjiaer.clinic.server.entity.social.vo.SocialPersonInfoVo; import com.syjiaer.clinic.server.service.social.SocialUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @@ -17,13 +18,12 @@ public class SocialPersonController extends BaseController { @Autowired private SocialUserService socialUserService; @RequestMapping("getCustomSocialInfo") - public Result getCustomSocialInfo() { + public Result getCustomSocialInfo() { IM1101 im1101 = parmsUtil.getObject("data", IM1101.class); if (im1101 == null) { return error("没有带数据"); } - OM1101 om1101 = socialUserService.getSocialInfo(im1101); - return success(om1101); + return success(socialUserService.getSocialInfo(im1101)); } } diff --git a/src/main/java/com/syjiaer/clinic/server/entity/social/vo/SocialPersonInfoVo.java b/src/main/java/com/syjiaer/clinic/server/entity/social/vo/SocialPersonInfoVo.java new file mode 100644 index 0000000..0ffb765 --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/entity/social/vo/SocialPersonInfoVo.java @@ -0,0 +1,20 @@ +package com.syjiaer.clinic.server.entity.social.vo; + +import com.syjiaer.clinic.server.common.api.annotations.IMField; +import com.syjiaer.clinic.server.common.api.annotations.OMField; +import com.syjiaer.clinic.server.common.api.output.OM1101; +import com.syjiaer.clinic.server.common.api.output.OM5267; +import com.syjiaer.clinic.server.common.api.output.OM5283; +import lombok.Data; + +import java.util.List; +@Data +public class SocialPersonInfoVo { + private Integer id; + private OM1101.Baseinfo baseinfo; + private List insuinfo; + private List iDetinfo; + private OM5267 blockInfo; + private OM5283 hospitalizationInfo; + +} diff --git a/src/main/java/com/syjiaer/clinic/server/service/social/SocialUserService.java b/src/main/java/com/syjiaer/clinic/server/service/social/SocialUserService.java index 92dcb59..bbf0254 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/social/SocialUserService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/social/SocialUserService.java @@ -1,31 +1,45 @@ package com.syjiaer.clinic.server.service.social; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.syjiaer.clinic.server.common.api.input.IM1101; +import com.syjiaer.clinic.server.common.api.input.*; import com.syjiaer.clinic.server.common.api.output.OM1101; +import com.syjiaer.clinic.server.common.api.output.OM2001; +import com.syjiaer.clinic.server.common.api.output.OM5267; +import com.syjiaer.clinic.server.common.api.output.OM5283; import com.syjiaer.clinic.server.common.api.request.SocialRequest; +import com.syjiaer.clinic.server.common.config.Config; import com.syjiaer.clinic.server.common.exception.MessageException; import com.syjiaer.clinic.server.entity.social.SocialUser; +import com.syjiaer.clinic.server.entity.social.vo.SocialPersonInfoVo; import com.syjiaer.clinic.server.mapper.social.SocialUserMapper; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDate; +import java.time.LocalDateTime; + /* * 医保用户 */ +@Slf4j @Service public class SocialUserService { @Autowired private SocialRequest socialRequest; @Autowired private SocialUserMapper socialUserMapper; + @Autowired + private Config config; + /* * 获取医保信息 * @param im1101 医保入参 */ @Transactional(rollbackFor = Exception.class) - public OM1101 getSocialInfo(IM1101 im1101) { + public SocialPersonInfoVo getSocialInfo(IM1101 im1101) { if (im1101 == null) { throw new MessageException("没有带数据"); } @@ -36,7 +50,7 @@ public class SocialUserService { SocialUser socialUser = new SocialUser(); BeanUtils.copyProperties(om1101.getBaseinfo(), socialUser); - if (dbUser != null){ + if (dbUser != null) { socialUser.setId(dbUser.getId()); } socialUser.setPsnNo(om1101.getBaseinfo().getPsn_no()); @@ -44,6 +58,26 @@ public class SocialUserService { socialUser.setPsnName(om1101.getBaseinfo().getPsn_name()); socialUserMapper.insertOrUpdate(socialUser); om1101.setId(socialUser.getId()); - return om1101; + IM5267 im5267 = new IM5267(); + im5267.setPsnNo(socialUser.getPsnNo()); + im5267.setTime(LocalDate.now()); + OM5267 om5267 = socialRequest.call5267(im5267); + if (om5267 == null){ + om5267 = new OM5267(); + } + IM5283 im5283 = new IM5283(); + im5283.setPsnNo(socialUser.getPsnNo()); + OM5283 om5283 = socialRequest.call5283(im5283); + + if (om5283 == null){ + om5283 = new OM5283(); + } + SocialPersonInfoVo socialPersonInfoVo = new SocialPersonInfoVo(); + BeanUtils.copyProperties(om1101, socialPersonInfoVo); + socialPersonInfoVo.setBlockInfo(om5267); + socialPersonInfoVo.setHospitalizationInfo(om5283); + + return socialPersonInfoVo; } + }