372 lines
12 KiB
Java
372 lines
12 KiB
Java
/*
|
|
* 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);
|
|
}
|
|
|
|
}
|