Ver código fonte

医保结算流程

wangzhinan 1 ano atrás
pai
commit
8422411a4a

+ 8 - 4
business/base-service/src/main/java/com/yihu/jw/healthCare/service/HealthCareService.java

@ -1900,15 +1900,19 @@ public class HealthCareService {
            String insuranceSerial = jsonObject.getString("insurance_serial");
            String billSerial = jsonObject.getString("bill_serial");
            String personCash = jsonObject.getString("person_cash");
            String valiFlag = jsonObject.getString("vali_flag");
            YlzMedicalRelationDO ylzMedicalRelationDO = ylzMedicailRelationDao.findByInsuranceSerial(insuranceSerial);
            if (ylzMedicalRelationDO!=null){
                if (!ylzMedicalRelationDO.getPersonCash().equalsIgnoreCase(personCash)){
                    throw new Exception("医保结算金额不一致!");
                }else {
                    ylzMedicalRelationDO.setStatus(1);
                    ylzMedicalRelationDO.setBillSerial(billSerial);
                    ylzMedicalRelationDO.setPayDate(DateUtil.strToDate(jsonObject.getString("pay_date")+jsonObject.getString("pay_time")));
                    ylzMedicailRelationDao.save(ylzMedicalRelationDO);
                    if (valiFlag.equalsIgnoreCase("1")){
                        ylzMedicalRelationDO.setStatus(1);
                        ylzMedicalRelationDO.setBillSerial(billSerial);
                        ylzMedicalRelationDO.setPayDate(DateUtil.strToDate(jsonObject.getString("pay_date")+jsonObject.getString("pay_time")));
                        ylzMedicailRelationDao.save(ylzMedicalRelationDO);
                    }
                }
            }
        }

+ 53 - 3
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java

@ -14726,7 +14726,25 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    BigDecimal b4 = new BigDecimal(object1.getString("jzfp_pay"));
                    BigDecimal b5 = new BigDecimal(object1.getString("yljz_pay"));
                    BigDecimal b6 = new BigDecimal(object1.getString("other_pay"));
                    String payDateStr = object1.getString("pay_date");
                    String valiFlag = object1.getString("vali_flag");
                    if (valiFlag.equalsIgnoreCase("1")){
                        BigDecimal b7 = new BigDecimal(object1.getString("enterprise_supplement"));
                        Double price = b1.add(b2).add(b3).add(b4).add(b5).add(b6).add(b7).doubleValue();
                        if (Double.parseDouble(ylzMedicalRelationDO.getMedicalPrice())==price){
                            ylzMedicalRelationDO.setStatus(1);
                            ylzMedicailRelationDao.save(ylzMedicalRelationDO);
                        }else {
                            if (StringUtils.isNoneBlank(ylzMedicalRelationDO.getDiseaseCode())){
                                throw new Exception("已存在医保结算记录,请先处理后再结算!");
                            }
                            ylzMedicalRelationDO.setStatus(0);
                            ylzMedicailRelationDao.save(ylzMedicalRelationDO);
                        }
                    }else {
                        ylzMedicalRelationDO.setStatus(0);
                        ylzMedicailRelationDao.save(ylzMedicalRelationDO);
                    }
                    /*String payDateStr = object1.getString("pay_date");
                    Date payDate = DateUtil.strToDate(payDateStr);
                    Date now = DateUtil.getDateShort(new Date());
                    if (payDate.compareTo(now) == 0) {
@ -14737,10 +14755,16 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                            ylzMedicailRelationDao.save(ylzMedicalRelationDO);
                        }
                    } else {
                    }
*/
                }else {
                    if (jsonObject.getString("flag").equalsIgnoreCase("50204")){
                        ylzMedicalRelationDO.setStatus(0);
                        ylzMedicailRelationDao.save(ylzMedicalRelationDO);
                    }else {
                        throw new Exception(jsonObject.getString("cause"));
                    }
                }
            }
            if (ylzMedicalRelationDO != null && ylzMedicalRelationDO.getStatus() == 1) {
@ -14858,7 +14882,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    BigDecimal b5 = new BigDecimal(object1.getString("yljz_pay"));
                    BigDecimal b6 = new BigDecimal(object1.getString("other_pay"));
                    String payDateStr = object1.getString("pay_date");
                    Date payDate = DateUtil.strToDate(payDateStr);
                    /*Date payDate = DateUtil.strToDate(payDateStr);
                    Date now = DateUtil.getDateShort(new Date());
                    if (payDate.compareTo(now)==0){
                        BigDecimal b7 = new BigDecimal(object1.getString("enterprise_supplement"));
@ -14870,6 +14894,32 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    }else {
                        ylzMedicalRelationDO.setStatus(0);
                        ylzMedicailRelationDao.save(ylzMedicalRelationDO);
                    }*/
                    String valiFlag = object1.getString("vali_flag");
                    if (valiFlag.equalsIgnoreCase("1")){
                        BigDecimal b7 = new BigDecimal(object1.getString("enterprise_supplement"));
                        Double price = b1.add(b2).add(b3).add(b4).add(b5).add(b6).add(b7).doubleValue();
                        if (Double.parseDouble(ylzMedicalRelationDO.getMedicalPrice())==price){
                            ylzMedicalRelationDO.setStatus(1);
                            ylzMedicailRelationDao.save(ylzMedicalRelationDO);
                        }else {
                            if (StringUtils.isNoneBlank(ylzMedicalRelationDO.getDiseaseCode())){
                                throw new Exception("已存在医保结算记录,请先处理后再结算!");
                            }
                            ylzMedicalRelationDO.setStatus(0);
                            ylzMedicailRelationDao.save(ylzMedicalRelationDO);
                        }
                    }else {
                        ylzMedicalRelationDO.setStatus(0);
                        ylzMedicailRelationDao.save(ylzMedicalRelationDO);
                    }
                }else {
                    if (jsonObject.getString("flag").equalsIgnoreCase("50204")){
                        ylzMedicalRelationDO.setStatus(0);
                        ylzMedicailRelationDao.save(ylzMedicalRelationDO);
                    }else {
                        throw new Exception(jsonObject.getString("cause"));
                    }
                }

+ 2 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/WorkTimeService.java

@ -83,6 +83,8 @@ public class WorkTimeService {
                ruleDO = wlyyHospitalWorkRuleDao.save(ruleDO);
                ruleDOS.add(ruleDO);
            }
        }else {
            wlyyHospitalWorkRuleDao.deleteAll();
        }
        if (StringUtils.isNoneBlank(isDoctorWork)){
            JSONArray jsonArray = JSONArray.parseArray(isDoctorWork);

+ 1 - 0
business/im-service/src/main/java/com/yihu/jw/im/service/ImService.java

@ -1750,6 +1750,7 @@ public class ImService {
                } else {
                    wlyyOutpatientDO.setStatus("3");
                }
                wlyyOutpatientDO.setEndTime(new Date());
                outpatientDao.save(wlyyOutpatientDO);
            }