Files
his/openhis-server-new/openhis-ybapp/src/main/java/com/openhis/controller/YbController.java
2025-09-02 19:16:04 +08:00

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);
}
}