/* * Copyright ©2023 CJB-CNIT Team. All rights reserved */ package com.openhis.controller; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import com.alibaba.fastjson2.JSON; import com.core.common.annotation.Anonymous; import com.openhis.config.InterfaceConfig; import com.openhis.service.FileService; import com.openhis.service.YbService; import com.openhis.vo.*; import cn.hutool.crypto.asymmetric.Sign; /** * TODO:医保控制层 * * @author SunJQ * @date 2025-03-18 */ @RestController @RequestMapping("/yb") public class YbController { /** 中心接口配置 */ @Autowired protected InterfaceConfig interfaceConfig; // logger.debug("这是专用日志测试"); Logger logger = LoggerFactory.getLogger(YbController.class); /** 医保服务 */ @Autowired private YbService ybService; /** 文件服务 */ @Autowired private FileService fileService; @PostMapping(value = "/signIn") @Anonymous public Result signIn(@RequestBody BaseParam sign, HttpServletRequest request) { return ybService.signIn(sign, request); } @PostMapping(value = "/signOut") @Anonymous public Result signOut(BaseParam baseParam, Sign sign) { return ybService.signOut(baseParam); } @PostMapping(value = "/getPatinfo") @Anonymous public Result getPerInfo(@RequestBody BaseParam baseParam) { return ybService.getPerInfo(baseParam); } @PostMapping(value = "/reg") @Anonymous public Result reg(@RequestBody BaseParam baseParam) { logger.info(JSON.toJSONString(baseParam)); return ybService.reg(baseParam); } @PostMapping(value = "/cancelReg") @Anonymous public Result cancelReg(@RequestBody BaseParam baseParam) { return ybService.cancelReg(baseParam); } @PostMapping(value = "/preSetl") @Anonymous public Result preSetl(@RequestBody BaseParam baseParam) { return ybService.preSetl(baseParam); } @PostMapping(value = "/unPreSettle") @Anonymous public Result unPreSettle(@RequestBody BaseParam baseParam) { return ybService.cancelFeeDetail(baseParam); } @PostMapping(value = "/upload2203-record") @Anonymous public Result upload2203Record(@RequestBody BaseParam baseParam) { return ybService.saveMedical(baseParam); } @PostMapping(value = "/upload2204-record") @Anonymous public Result preSettle(@RequestBody BaseParam baseParam) { return ybService.upFeeDetail(baseParam); } @PostMapping(value = "/cancel2205") @Anonymous public Result cancelFeeDetail(@RequestBody BaseParam baseParam) { return ybService.cancelFeeDetail(baseParam); } @PostMapping(value = "/setl") @Anonymous public Result setl(@RequestBody BaseParam baseParam) { return ybService.setl(baseParam); } @PostMapping(value = "/cancelSetl") @Anonymous public Result cancelSetl(@RequestBody BaseParam baseParam) { return ybService.cancelSetl(baseParam); } @PostMapping(value = "/download") @Anonymous public Result download(BaseParam baseParam, FileDownload fileDownload) { return ybService.download(baseParam, fileDownload); } @PostMapping(value = "/directoryCheck") @Anonymous public Result directoryCheck(@RequestBody BaseParam baseParam) { return ybService.directoryCheck(baseParam); } @PostMapping(value = "/directoryUnCheck") @Anonymous public Result directoryUnCheck(@RequestBody BaseParam baseParam) { return ybService.directoryUnCheck(baseParam); } @PostMapping(value = "/reconcile") @Anonymous public Result reconcileGeneralLedger(@RequestBody BaseParam baseParam) { return ybService.reconcileGeneralLedger(baseParam); } @PostMapping(value = "/reconcile-detail") @Anonymous public Result reconcileGeneralLedgerDetail(BaseParam baseParam, FinancialSettlement3202Param financial3202Param) { return ybService.reconcileGeneralLedgerDetail(baseParam, financial3202Param); } @PostMapping(value = "/three-part-search-err") @Anonymous public Result threePartSearch(BaseParam baseParam, FinancialSettlement3209AParam financialSettlement3209AParam) { return ybService.threePartSearch(baseParam, financialSettlement3209AParam); } @PostMapping(value = "/apply-clearing") @Anonymous public Result applyFinancialClearing(@RequestBody BaseParam baseParam, Financial3203AParam financial3203AParam) { return ybService.applyFinancialClearing(baseParam); } @PostMapping(value = "/cancel-clearing") @Anonymous public Result cancelFinancialClearing(@RequestBody BaseParam baseParam, Financial3204Param financial3204Param) { return ybService.cancelFinancialClearing(baseParam, financial3204Param); } @PostMapping(value = "/get-clearing-status") @Anonymous public Result getFinancialClearingStatus(@RequestBody BaseParam baseParam, Clearing3205AParma clearing3205AParma) { return ybService.getFinancialClearingStatus(baseParam, clearing3205AParma); } @PostMapping(value = "/upload-inventory-count") @Anonymous public Result uploadInventoryCount(@RequestBody BaseParam baseParam) { return ybService.uploadInventoryCount(baseParam); } @PostMapping(value = "/update-inventory") @Anonymous public Result updateInventoryCount(@RequestBody BaseParam baseParam) { return ybService.updateInventoryCount(baseParam); } @PostMapping(value = "/procurement") @Anonymous public Result procurement(@RequestBody BaseParam baseParam) { return ybService.procurement(baseParam); } @PostMapping(value = "/procurement-cancel") @Anonymous public Result cancelProcurement(@RequestBody BaseParam baseParam) { return ybService.cancelProcurement(baseParam); } @PostMapping(value = "/merchandise") @Anonymous public Result merchandise(@RequestBody BaseParam baseParam) { return ybService.merchandise(baseParam); } @PostMapping(value = "/cancel-merchandise") @Anonymous public Result cancelMerchandise(@RequestBody BaseParam baseParam) { return ybService.cancelMerchandise(baseParam); } @PostMapping(value = "/del-goods") @Anonymous public Result deleteGoodsInfo(BaseParam baseParam, Medical3507Param medical3507Param) { return ybService.deleteGoodsInfo(baseParam, medical3507Param); } @PostMapping(value = "/getclroptins") @Anonymous public Result getClrOptins(@RequestBody BaseParam baseParam) { return ybService.getClrOptins(baseParam); } @PostMapping(value = "/file-up1") @Anonymous public Result uploadFile(@RequestParam("in") MultipartFile file, // 对应接口参数名"in" @RequestParam("filename") String filename, @RequestParam("fixmedins_code") String fixmedinsCode) { // 1. 基础校验 if (file.isEmpty()) { return Result.error("文件不能为空"); } if (!file.getOriginalFilename().endsWith(".zip")) { return Result.error("仅支持ZIP格式文件"); } // 2. 调用Service处理业务逻辑 try { // FileResult fileResult = fileService.uploadFile(file.getInputStream(), filename, fixmedinsCode); return Result.ok(""); } catch (Exception e) { return Result.error("处理失败: " + e.getMessage()); } } @PostMapping(value = "/file-up2") @Anonymous public Result upload3202File(@RequestPart("file") MultipartFile file, @RequestParam("fixmedinsCode") String fixmedinsCode, @RequestParam("userId") String userId, @RequestParam("admvs") String admvs) { // File9101Param file9101Param = JSON.parseObject(JSON.toJSONString(baseParam.getData()), File9101Param.class); // MultipartFile file = file9101Param.getFile(); String filename = file.getOriginalFilename(); // String fixmedinsCode = file9101Param.getFixmedinsCode(); // 1. 基础校验 if (file.isEmpty()) { return Result.error("文件不能为空"); } // if (!file.getOriginalFilename().endsWith(".zip")) { // return Result.error("仅支持ZIP格式文件"); // } // 2. 调用Service处理业务逻辑 try { // FileResult fileResult = // fileService.uploadFile(file,filename, fixmedinsCode); return fileService.uploadFile(file, filename, fixmedinsCode, admvs, userId); } catch (Exception e) { return Result.error("处理失败: " + e.getMessage()); } } @PostMapping(value = "/file-down") @Anonymous public Result downloadFile(FileResult fileResult) { return fileService.downloadFile(fileResult); } @PostMapping(value = "/queryYbCatalogue") @Anonymous public Result queryYbCatalogue(@RequestBody BaseParam baseParam) { return ybService.queryYbCatalogue(baseParam); } @PostMapping(value = "/upload-2301-fee-detail") @Anonymous public Result uploadInpatientFeeDetail(@RequestBody BaseParam baseParam) { return ybService.uploadInpatientFeeDetail(baseParam); } @PostMapping(value = "/cancel-2302-fee-detail") @Anonymous public Result cancelInpatientFeeDetail(@RequestBody BaseParam baseParam) { return ybService.cancelInpatientFeeDetail(baseParam); } @PostMapping(value = "/inpa-pre-setl") @Anonymous public Result prePayInpatient(@RequestBody BaseParam baseParam) { return ybService.prePayInpatient(baseParam); } @PostMapping(value = "/inpa-setl") @Anonymous public Result payInpatient(@RequestBody BaseParam baseParam) { return ybService.payInpatient(baseParam); } @PostMapping(value = "/inpa-un-setl") @Anonymous public Result cancelInpatientPay(@RequestBody BaseParam baseParam) { return ybService.cancelInpatientPay(baseParam); } @PostMapping(value = "/inpatient-reg") @Anonymous public Result inpatientReg(@RequestBody BaseParam baseParam) { return ybService.inpatientReg(baseParam); } @PostMapping(value = "/discharge-patient") @Anonymous public Result dischargePatient(@RequestBody BaseParam baseParam) { return ybService.dischargePatient(baseParam); } @PostMapping(value = "/change-inpatient-info") @Anonymous public Result changeInpatientInfo(@RequestBody BaseParam baseParam) { return ybService.changeInpatientInfo(baseParam); } @PostMapping(value = "/cancel-inpatient-reg") @Anonymous public Result cancelInpatientReg(@RequestBody BaseParam baseParam) { return ybService.cancelInpatientReg(baseParam); } @PostMapping(value = "/cancel-discharge-patient") @Anonymous public Result cancelDischargePatient(@RequestBody BaseParam baseParam) { return ybService.cancelDischargePatient(baseParam); } /** * 【3101】明细审核事前事中分析服务 * * @param baseParam 基础参数 * @return 结果 */ @PostMapping(value = "/pre-mid-analysis") @Anonymous public Result yb3101PreMidAnalysis(@RequestBody BaseParam baseParam) { return ybService.yb3101PreMidAnalysis(baseParam); } /** * 【3103】事前事中服务反馈服务 * * @param baseParam 基础参数 * @return 结果 */ @PostMapping(value = "/pre-mid-feedback") @Anonymous public Result yb3103PreMidFeedback(@RequestBody BaseParam baseParam) { return ybService.yb3103PreMidFeedback(baseParam); } }