Browse Source

优化结算信息查询的结果

lighter 3 years ago
parent
commit
8321151a0f

+ 10 - 0
src/main/java/thyyxxk/webserver/entity/medicalinsurance/query/SetlInfo.java

@@ -3,8 +3,10 @@ package thyyxxk.webserver.entity.medicalinsurance.query;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
+import thyyxxk.webserver.entity.medicalinsurance.setlinfo.SiSetldetail;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * @description: 结算信息查询结果
@@ -325,4 +327,12 @@ public class SetlInfo {
     private Date optTime;
 
     private String clrTypeName;
+
+    private String medTypeName;
+
+    private String insutypeName;
+
+    private String psnTypeName;
+
+    private List<SiSetldetail> setldetail;
 }

+ 29 - 2
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiQueryService.java

@@ -15,6 +15,7 @@ import thyyxxk.webserver.entity.dictionary.PureCodeName;
 import thyyxxk.webserver.entity.medicalinsurance.inpatient.InHspPsnInfo;
 import thyyxxk.webserver.entity.medicalinsurance.outpatient.SpcChrDiseAcct;
 import thyyxxk.webserver.entity.medicalinsurance.query.*;
+import thyyxxk.webserver.entity.medicalinsurance.setlinfo.SiSetldetail;
 import thyyxxk.webserver.entity.medicalinsurance.setllist.*;
 import thyyxxk.webserver.utils.*;
 
@@ -245,8 +246,8 @@ public class SiQueryService {
     }
 
     public ResultVo<List<DiseInfo>> queryDiagnosisInfo(BscQryPrm q) {
-        JSONObject input = exec.makeTradeHeaderWithInsureArea(SiFunction.QUERY_DIAGNOSIS_INFO,
-                dao.selectAdmdvs(q.getPatNo(), q.getTimes()));
+        String admdvs = dao.selectAdmdvsByPsnNo(q.getPsnNo());
+        JSONObject input = exec.makeTradeHeaderWithInsureArea(SiFunction.QUERY_DIAGNOSIS_INFO, admdvs);
         JSONObject data = new JSONObject();
         data.put("psn_no", q.getPsnNo());
         data.put("mdtrt_id", q.getMdtrtId());
@@ -312,6 +313,32 @@ public class SiQueryService {
             if (null != clrType) {
                 setlInfo.setClrTypeName(clrType.getName());
             }
+            MedType medType = MedType.get(setlInfo.getMedType());
+            if (null != medType) {
+                setlInfo.setMedTypeName(medType.getName());
+            }
+            Insutype insutype = Insutype.get(setlInfo.getInsutype());
+            if (null != insutype) {
+                setlInfo.setInsutypeName(insutype.getName());
+            }
+            PsnType psnType = PsnType.get(setlInfo.getPsnType());
+            if (null != psnType) {
+                setlInfo.setPsnTypeName(psnType.getName());
+            }
+
+            JSONArray setldetail = output.getJSONArray("setldetail");
+            if (null != setldetail && setldetail.size() > 0) {
+                List<SiSetldetail> list = new ArrayList<>();
+                for (int i = 0; i < setldetail.size(); i++) {
+                    SiSetldetail setldtel = JSONObject.parseObject(setldetail.getJSONObject(i).toJSONString(), SiSetldetail.class);
+                    FundPayType fundPayType = FundPayType.get(setldtel.getFundPayType());
+                    if (null != fundPayType) {
+                        setldtel.setFundPayTypeName(fundPayType.getName());
+                    }
+                    list.add(setldtel);
+                }
+                setlInfo.setSetldetail(list);
+            }
             return ResultVoUtil.success(setlInfo);
         }
         return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, result.getString(ERROR_MESSAGE));