| | |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.json.JSONObject; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.ltkj.common.core.domain.AjaxResult; |
| | | import com.ltkj.common.utils.SecurityUtils; |
| | | import com.ltkj.framework.config.SecurityConfig; |
| | | import com.ltkj.framework.config.UserHoder; |
| | | import com.ltkj.hosp.domain.TjCustomer; |
| | | import com.ltkj.hosp.domain.TjOrderDetail; |
| | | import com.ltkj.hosp.domain.TjProject; |
| | | import com.ltkj.hosp.hisDto.OutpinregapplyDto; |
| | | import com.ltkj.hosp.hisDto.OutpintestapplyDetailsDto; |
| | | import com.ltkj.hosp.hisDto.OutpintestapplyDto; |
| | | import com.ltkj.hosp.service.ITjCustomerService; |
| | | import com.ltkj.hosp.service.ITjOrderDetailService; |
| | | import com.ltkj.hosp.service.ITjOrderService; |
| | | import com.ltkj.hosp.service.ITjProjectService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | public class HisApiMethod { |
| | | @Autowired |
| | | private HisApiMethodService controller; |
| | | |
| | | @Resource |
| | | private ITjOrderService orderService; |
| | | @Autowired |
| | | private ITjCustomerService customerService; |
| | | |
| | | @Resource |
| | | private ITjOrderDetailService detailService; |
| | | @Resource |
| | | private ITjProjectService projectService; |
| | | |
| | | //将方法返回值解析成json格式 |
| | | public JSONObject getJSONObject (String builder) { |
| | | return JSONUtil.parseObj (builder); |
| | | public JSONObject getJSONObject(String builder) { |
| | | return JSONUtil.parseObj(builder); |
| | | } |
| | | |
| | | //获取方法返回值信息 |
| | | public String getAjaxResult (AjaxResult result) { |
| | | return result.get ("data").toString (); |
| | | public String getAjaxResult(AjaxResult result) { |
| | | return result.get("data").toString(); |
| | | } |
| | | |
| | | //对接his总接口 |
| | | public AjaxResult HisApiMethods (TjCustomer customer) { |
| | | public AjaxResult HisApiMethods(TjCustomer customer, Long orderId) { |
| | | |
| | | // Date date = new Date (); |
| | | AjaxResult result = controller.Outpincreateapply (customer); |
| | | String result1 = getAjaxResult (result); |
| | | JSONObject object = getJSONObject (result1); |
| | | String code = object.getStr ("ResultCode"); |
| | | if (code.equals ("0")) { |
| | | Map<String, Object> resultData = (Map<String, Object>) object.get ("ResultData"); |
| | | if (null != resultData && resultData.size () > 0) { |
| | | String cardId = resultData.get ("pationid").toString (); |
| | | if(null !=cardId){ |
| | | customer.setCardId (cardId); |
| | | customerService.updateById (customer); |
| | | Date date = new Date(); |
| | | AjaxResult result = controller.Outpincreateapply(customer); |
| | | String result1 = getAjaxResult(result); |
| | | JSONObject object = getJSONObject(result1); |
| | | String code = object.getStr("ResultCode"); |
| | | if (code.equals("0")) { |
| | | Map<String, Object> resultData = (Map<String, Object>) object.get("ResultData"); |
| | | if (null != resultData && resultData.size() > 0) { |
| | | String cardId = resultData.get("pationid").toString(); |
| | | if (null != cardId) { |
| | | customer.setCardId(cardId); |
| | | customerService.updateById(customer); |
| | | OutpinregapplyDto outpinregapplyDto = new OutpinregapplyDto(); |
| | | outpinregapplyDto.setPationid(cardId); |
| | | outpinregapplyDto.setHisRegistrationId(cardId); |
| | | outpinregapplyDto.setSqysbm(SecurityUtils.getUsername()); |
| | | outpinregapplyDto.setMzksbm(""); |
| | | outpinregapplyDto.setCzybm(SecurityUtils.getUsername()); |
| | | outpinregapplyDto.setSfjz("是"); |
| | | outpinregapplyDto.setGhzlbm(""); |
| | | outpinregapplyDto.setYwckbm(""); |
| | | outpinregapplyDto.setSflstd("0"); |
| | | outpinregapplyDto.setGhrq(date); |
| | | AjaxResult ajaxResult = controller.Outpinregapply(outpinregapplyDto); |
| | | String result2 = getAjaxResult(ajaxResult); |
| | | JSONObject object1 = getJSONObject(result2); |
| | | String code1 = object1.getStr("ResultCode"); |
| | | if (code1.equals("0")) { |
| | | List<Map<String, Object>> resultDatas = (List<Map<String, Object>>) object.get("ResultData"); |
| | | if (null != resultDatas && resultDatas.size() > 0) { |
| | | String hisRegistrationId = resultDatas.get(0).get("his_registration_id").toString(); |
| | | if (null != hisRegistrationId) { |
| | | AjaxResult result3 = controller.Outpinconapply(hisRegistrationId, date, SecurityUtils.getUsername()); |
| | | String result4 = getAjaxResult(result3); |
| | | JSONObject object2 = getJSONObject(result4); |
| | | String code2 = object2.getStr("ResultCode"); |
| | | if (code2.equals("0")) { |
| | | Map<String, Object> data = (Map<String, Object>) object.get("ResultData"); |
| | | String toString = data.get("his_registration_id").toString(); |
| | | if (null != toString) { |
| | | OutpintestapplyDto dto = new OutpintestapplyDto(); |
| | | dto.setHisRegistrationId(hisRegistrationId); |
| | | dto.setSfjz(customer.getCusIdcard()); |
| | | dto.setSqysbm(SecurityUtils.getUsername()); |
| | | dto.setMzksbm(""); |
| | | dto.setSjrq(date); |
| | | dto.setCzybm(SecurityUtils.getUsername()); |
| | | dto.setCzyksbm(""); |
| | | dto.setSfjz("1"); |
| | | List<TjOrderDetail> detailList = detailService.getTjOrderDetailListByOrderId(orderId.toString()); |
| | | |
| | | List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>(); |
| | | |
| | | if (null != detailList && detailList.size() > 0) { |
| | | LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); |
| | | wq.in(TjProject::getProId, detailList.stream().map(TjOrderDetail::getProId).collect(Collectors.toList())); |
| | | List<TjProject> projects = projectService.list(wq); |
| | | if (null != projects && projects.size() > 0) { |
| | | for (TjProject project : projects) { |
| | | OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto(); |
| | | detailsDto.setMxfyxmbm(project.getHisXmbm()); |
| | | detailsDto.setSfzhfy("1"); |
| | | detailsDto.setSl(1); |
| | | detailsDtos.add(detailsDto); |
| | | } |
| | | } |
| | | } |
| | | dto.setDetails(detailsDtos); |
| | | AjaxResult ajaxResult1 = controller.Outpintestapply(dto); |
| | | String result5 = getAjaxResult(ajaxResult1); |
| | | JSONObject object3 = getJSONObject(result5); |
| | | String code3 = object3.getStr("ResultCode"); |
| | | if (code3.equals("0")) { |
| | | Map<String, Object> datas = (Map<String, Object>) object.get("ResultData"); |
| | | //检验申请号(ResultData 数据集) |
| | | String jysqdh = data.get("jysqdh").toString(); |
| | | //费用合计 |
| | | String fyhj = data.get("fyhj").toString(); |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | return AjaxResult.success (); |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | } |