|
@@ -3,6 +3,7 @@ package thyyxxk.webserver.service.medicalinsurance;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -38,6 +39,8 @@ import thyyxxk.webserver.utils.*;
|
|
|
import thyyxxk.webserver.websocket.WebSocketServer;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.lang.reflect.InvocationTargetException;
|
|
|
+import java.lang.reflect.Method;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -50,6 +53,11 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
|
@Slf4j
|
|
|
public class SetlListUpldService {
|
|
|
+
|
|
|
+ private static final int NOT_UPLOADED = 1;
|
|
|
+ private static final int UPLOADED = 2;
|
|
|
+ private static final int All = 4;
|
|
|
+
|
|
|
private static final String RESULT_CODE = "infcode";
|
|
|
private static final String ERROR_MESSAGE = "err_msg";
|
|
|
private static final String OUTPUT = "output";
|
|
@@ -512,7 +520,8 @@ public class SetlListUpldService {
|
|
|
*/
|
|
|
public ResultVo<IPage<SiSetlinfoTemp>> huoQuJieSuanRenYuan(JieSuanDanChaXun param) {
|
|
|
IPage<SiSetlinfoTemp> page = new Page<>();
|
|
|
- page.setRecords(dao.huoQuJieSuanRenYuan(param.getStartTime(), param.getEndTime(), param.getClrType(), param.getPatNo(), param.getInsutype(), param.getOutDept(), param.getMedType(), param.getPsnType(), param.getClrOptins(), param.getDecTypes(), param.getFlag(), param.getReferPhysician(), param.getAuditFlag(), param.getHiPaymtd(), param.getCurrentPage(), param.getPageSize()));
|
|
|
+ page.setRecords(dao.huoQuJieSuanRenYuan(statementQueryConditions(param),
|
|
|
+ param.getCurrentPage(), param.getPageSize()));
|
|
|
if (ListUtil.isBlank(page.getRecords())) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST);
|
|
|
}
|
|
@@ -586,6 +595,62 @@ public class SetlListUpldService {
|
|
|
return ResultVoUtil.success(page);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 结算单上传条件查询
|
|
|
+ *
|
|
|
+ * @param param 参数
|
|
|
+ * @return 返回
|
|
|
+ */
|
|
|
+ private QueryWrapper<?> statementQueryConditions(JieSuanDanChaXun param) {
|
|
|
+ QueryWrapper<?> qw = new QueryWrapper<>();
|
|
|
+ if (StringUtil.notBlank(param.getStartTime())) {
|
|
|
+ qw.ge("a.setl_time", param.getStartTime());
|
|
|
+ qw.le("a.setl_time", param.getEndTime());
|
|
|
+ }
|
|
|
+ if (StringUtil.notBlank(param.getClrType())) {
|
|
|
+ qw.eq("a.setl_type", param.getClrType());
|
|
|
+ }
|
|
|
+ if (StringUtil.notBlank(param.getPatNo())) {
|
|
|
+ qw.eq("a.pat_no", param.getPatNo());
|
|
|
+ }
|
|
|
+ if (ListUtil.notBlank(param.getInsutype())) {
|
|
|
+ qw.in("insutype", param.getInsutype());
|
|
|
+ }
|
|
|
+ if (ListUtil.notBlank(param.getOutDept())) {
|
|
|
+ qw.in("isnull(zk_ward,small_dept)", param.getOutDept());
|
|
|
+ }
|
|
|
+ if (ListUtil.notBlank(param.getMedType())) {
|
|
|
+ qw.in("a.med_type", param.getMedType());
|
|
|
+ }
|
|
|
+ if (ListUtil.notBlank(param.getInsuplcAdmdvs())) {
|
|
|
+ qw.in("insuplc_admdvs", param.getInsuplcAdmdvs());
|
|
|
+ }
|
|
|
+ if (ListUtil.notBlank(param.getPsnType())) {
|
|
|
+ qw.in("psn_type", param.getPsnType());
|
|
|
+ }
|
|
|
+ if (ListUtil.notBlank(param.getDecTypes())) {
|
|
|
+ qw.in("b.dec_type", param.getDecTypes());
|
|
|
+ }
|
|
|
+ if (ListUtil.notBlank(param.getClrOptins())) {
|
|
|
+ qw.in("clr_optins", param.getClrOptins());
|
|
|
+ }
|
|
|
+ if (param.getFlag() == NOT_UPLOADED) {
|
|
|
+ qw.isNull("a.setl_list_id");
|
|
|
+ } else if (param.getFlag() == UPLOADED) {
|
|
|
+ qw.isNotNull("a.setl_list_id");
|
|
|
+ }
|
|
|
+ if (param.getAuditFlag() != All) {
|
|
|
+ qw.eq("c.audit_flag", param.getFlag());
|
|
|
+ }
|
|
|
+ if (param.getHiPaymtd() != null && param.getHiPaymtd() != 0) {
|
|
|
+ qw.eq("a.hi_paymtd", param.getHiPaymtd());
|
|
|
+ }
|
|
|
+ if (StringUtil.notBlank(param.getReferPhysician())) {
|
|
|
+ qw.eq("b.refer_physician", param.getHiPaymtd());
|
|
|
+ }
|
|
|
+ return qw;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 获取 医疗类别
|
|
|
*
|