瀏覽代碼

上传优化

lihong 2 年之前
父節點
當前提交
3f7ec43fe7

+ 11 - 0
src/main/java/thyyxxk/webserver/service/inpatient/PatientService.java

@@ -8,6 +8,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import thyyxxk.webserver.config.exception.BizException;
 import thyyxxk.webserver.config.exception.ExceptionEnum;
 import thyyxxk.webserver.constants.Capacity;
 import thyyxxk.webserver.constants.sidicts.MedType;
@@ -76,6 +77,16 @@ public class PatientService {
         return ResultVoUtil.success(data);
     }
 
+    public Patient getPatientBaseInfo(String inpatientNo){
+        Patient data = dao.getPatientInfo(inpatientNo, "zy_actpatient", 0);
+        if (null == data) {
+            throw  new BizException(ExceptionEnum.LOGICAL_ERROR,"没有住院号【" + inpatientNo + "】的在院业务!");
+        }
+        setExpenseInformation(data);
+        return data;
+    }
+
+
     private void setDrgPatInfo(Patient p) {
         BaseInfo bf = new BaseInfo();
         bf.setVisitId(p.getInpatientNo() + "_" + p.getAdmissTimes() + "_" + p.getLedgerSn())

+ 15 - 6
src/main/java/thyyxxk/webserver/service/medicalinsurance/SetlListUpldService.java

@@ -365,13 +365,9 @@ public class SetlListUpldService {
         }
 
         Integer flag = getModifyFlag(patNo, times);
-        // 患者基本信息 先判断签收表是否有数据
-        Integer existCaseFrontsheetMain = dao.existCaseFrontsheetMain(patNo, times);
+
         SetlinfoUpld setlinfoUpld = dao.setlinfo1(patNo, times, ledgerSn);
-        if(existCaseFrontsheetMain ==null){
-        //    这里使用病案首页数据
-            covertCaseFrontsheetMain2SetlinfoUpld(setlinfoUpld,patNo,times);
-        }
+        dealSetlinfoUpld(patNo, times, setlinfoUpld);
         EntityCopy.Copy(dao.setlinfo2(patNo, times), setlinfoUpld);
         EntityCopy.Copy(dao.setlinfo3(String.format("inpatient_no ='%s'", patNo)), setlinfoUpld);
         EntityCopy.Copy(dao.setlinfo4(patNo, times), setlinfoUpld);
@@ -550,6 +546,17 @@ public class SetlListUpldService {
         setlinfoUpld.setSpPsnType(null);
         return ResultVoUtil.success(upldCollection);
     }
+
+    public void dealSetlinfoUpld(String patNo, Integer times, SetlinfoUpld setlinfoUpld) {
+        // 患者基本信息 先判断签收表是否有数据
+        Integer existCaseFrontsheetMain = dao.existCaseFrontsheetMain(patNo, times);
+        if(existCaseFrontsheetMain ==null){
+        //    这里使用病案首页数据
+            covertCaseFrontsheetMain2SetlinfoUpld(setlinfoUpld,patNo,times);
+        }
+    }
+
+
     /**
      * @description:病案首页转换为结算的的数据 用于签收表没有数据,重新取数据
      * @author: lihong
@@ -1972,6 +1979,7 @@ public class SetlListUpldService {
      **/
     public ResultVo<String> drgGroupTest(ZyInactpatient param) {
         SetlinfoUpld setlinfo1 = dao.setlinfo1(param.getInpatientNo(), param.getAdmissTimes(), param.getLedgerSn());
+        dealSetlinfoUpld(param.getInpatientNo(), param.getAdmissTimes(), setlinfo1);
         SetlinfoUpld setlinfo2 = dao.setlinfo2(param.getInpatientNo(), param.getAdmissTimes());
         SetlinfoUpld setlinfo5 = dao.setlinfo5(param.getInpatientNo(), param.getAdmissTimes(), param.getLedgerSn());
         BeanUtil.copyProperties(setlinfo2, setlinfo1);
@@ -2214,6 +2222,7 @@ public class SetlListUpldService {
     private SetlinfoUpld getSetlinfoUpldInfo(String patNo, Integer times, Integer ledgerSn) throws Exception {
         // 患者基本信息
         SetlinfoUpld setlinfoUpld = dao.setlinfo1(patNo, times, ledgerSn);
+        dealSetlinfoUpld(patNo,times,setlinfoUpld);
         EntityCopy.Copy(dao.setlinfo2(patNo, times), setlinfoUpld);
         EntityCopy.Copy(dao.setlinfo3(String.format("inpatient_no ='%s'", patNo)), setlinfoUpld);
         EntityCopy.Copy(dao.setlinfo4(patNo, times), setlinfoUpld);