package com.ruoyi.web.controller.smartor; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.utils.HttpUtil; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.http.HttpUtils; import com.ruoyi.common.utils.sign.Md5Utils; import com.smartor.domain.PatArchive; import com.smartor.service.ExternalInfoService; import com.smartor.service.IPatArchiveService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.text.SimpleDateFormat; import java.util.Date; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; /** * 患者档案Controller * * @author smartor * @date 2023-03-04 */ @Api(description = "第三方数据") @RestController @RequestMapping("/smartor/external") public class ExternalInfoController extends BaseController { @Autowired private ExternalInfoService externalInfoService; @Autowired private IPatArchiveService patArchiveService; @Value("${xhsmsPath}") private String xhsmsPath; /** * 查询患者档案列表 */ @ApiOperation("查询患者档案列表") //@PreAuthorize("@ss.hasPermi('smartor:patarchive:list')") @PostMapping("/list") public PatArchive list(Long brid) { PatArchive patArchive = externalInfoService.getExternalPatientInfo(brid, "zy"); return patArchive; } /** * 查询患者档案列表 */ @ApiOperation("查询患者档案列表(默认查出入院的)") //@PreAuthorize("@ss.hasPermi('smartor:patarchive:list')") @PostMapping("/list2") public PatArchive list2() { List patArchives = patArchiveService.selectPatArchiveList(null); for (PatArchive patArchive : patArchives) { if (StringUtils.isNotEmpty(patArchive.getPatientno())) { //默认是出入院的,如果要查门急诊的,需要前端传参进来 externalInfoService.dealPatArchive(Long.valueOf(patArchive.getPatientno()), "zy"); } } return null; } /** * 查询患者档案列表 */ @ApiOperation("查询患者档案列表") //@PreAuthorize("@ss.hasPermi('smartor:patarchive:list')") @PostMapping("/getExternalInHospPatientInfo") public Boolean getExternalInHospPatientInfo() { Boolean externalInHospPatientInfo = externalInfoService.getExternalInHospPatientInfo(); return externalInHospPatientInfo; } /** * 获取出数院信息从2025-03-25开始(主要用与数据传的不对,进行修改) */ @ApiOperation("获取出数院信息从2025-03-25开始(主要用与数据传的不对,进行修改)") //@PreAuthorize("@ss.hasPermi('smartor:patarchive:list')") @PostMapping("/getExternalLeaveHospPatientInfo30Day") public Boolean getExternalLeaveHospPatientInfo30Day() { // Boolean externalInHospPatientInfoBY250325 = externalInfoService.getExternalInHospPatientInfoBY250325(); Boolean externalInHospPatientInfo = externalInfoService.getExternalLeaveHospPatientInfo30Day(); return externalInHospPatientInfo; } /** * 查询患者档案列表 */ @ApiOperation("第三方出院患者信息") //@PreAuthorize("@ss.hasPermi('smartor:patarchive:list')") @PostMapping("/getExternalLeaveHospPatientInfo") public Boolean getExternalLeaveHospPatientInfo() { Boolean externalInHospPatientInfo = externalInfoService.getExternalLeaveHospPatientInfo(); return externalInHospPatientInfo; } /** * 查询门急诊患者信息 */ @ApiOperation("查询门急诊患者信息") //@PreAuthorize("@ss.hasPermi('smartor:patarchive:list')") @PostMapping("/getExternalOutHospInfo") public Boolean getExternalOutHospInfo() { Boolean externalInHospPatientInfo = externalInfoService.getExternalOutHospInfo(); return externalInHospPatientInfo; } /** * 查询门急诊患者信息 */ @ApiOperation("查询门急诊患者信息") //@PreAuthorize("@ss.hasPermi('smartor:patarchive:list')") @PostMapping("/getExternalUserAndDeptInfo") public Boolean getExternalUserAndDeptInfo() { Boolean externalUserAndDeptInfo = externalInfoService.getExternalUserAndDeptInfo(); return externalUserAndDeptInfo; } /** * 查询门急诊患者信息 */ @ApiOperation("查询门急诊患者信息") //@PreAuthorize("@ss.hasPermi('smartor:patarchive:list')") @PostMapping("/getSrs") public String getSrs() { //send_mac:签名值,=md5(send_source+send_to_mobiles+send_text+签名编码),32位小写 String mac = "shuifang17607179857中国移动短信测试ShuiFang_jjty_20250106"; StringBuilder strb = new StringBuilder(); strb.append("send_source=shuifang&send_to_mobiles=17607179857"); strb.append("&send_text=中国移动短信测试"); strb.append("&send_mac=" + Md5Utils.hash(mac)); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddhhmmsszzz"); // 输出日期格式 strb.append("&send_time=" + dateFormat.format(new Date())); System.out.println("-----------------------getSrs的入参值为:" + strb.toString()); String isSuccess = HttpUtil.postFormRequest(xhsmsPath, strb.toString()); System.out.println("-----------------------getSrs的返回值为:" + isSuccess); return isSuccess; } }