ソースを参照

[医保代码]

wangzhinan 3 年 前
コミット
040f34b3a1

+ 361 - 1
business/base-service/src/main/java/com/yihu/jw/healthCare/service/HealthCareService.java

@ -9,6 +9,8 @@ import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.healthCare.YlzMedicalBillDO;
import com.yihu.jw.entity.hospital.healthCare.YlzMedicalRelationDO;
import com.yihu.jw.entity.hospital.httplog.YlzHttpLogDO;
import com.yihu.jw.entity.hospital.httplog.YlzHttpLogDO;
import com.yihu.jw.entity.hospital.mapping.DoctorMappingDO;
import com.yihu.jw.entity.hospital.mapping.DoctorMappingDO;
import com.yihu.jw.entity.hospital.prescription.WlyyOutpatientDO;
import com.yihu.jw.entity.hospital.prescription.WlyyOutpatientDO;
@ -18,6 +20,8 @@ import com.yihu.jw.entity.hospital.prescription.WlyyPrescriptionInfoDO;
import com.yihu.jw.healthCare.utils.AES;
import com.yihu.jw.healthCare.utils.AES;
import com.yihu.jw.healthCare.utils.SafeUtil;
import com.yihu.jw.healthCare.utils.SafeUtil;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.healthCare.YlzMedicailBillDao;
import com.yihu.jw.hospital.healthCare.YlzMedicailRelationDao;
import com.yihu.jw.hospital.httplog.dao.YlzHttpLogDao;
import com.yihu.jw.hospital.httplog.dao.YlzHttpLogDao;
import com.yihu.jw.hospital.mapping.dao.PatientMappingDao;
import com.yihu.jw.hospital.mapping.dao.PatientMappingDao;
import com.yihu.jw.hospital.prescription.dao.OutpatientDao;
import com.yihu.jw.hospital.prescription.dao.OutpatientDao;
@ -68,6 +72,10 @@ public class HealthCareService {
    private PatientMappingDao patientMappingDao;
    private PatientMappingDao patientMappingDao;
    @Autowired
    @Autowired
    private PrescriptionInfoDao prescriptionInfoDao;
    private PrescriptionInfoDao prescriptionInfoDao;
    @Autowired
    private YlzMedicailRelationDao ylzMedicailRelationDao;
    @Autowired
    private YlzMedicailBillDao ylzMedicailBillDao;
    private String ylzConfigUrl;
    private String ylzConfigUrl;
    private String ylzConfigAppid;
    private String ylzConfigAppid;
@ -579,7 +587,7 @@ public class HealthCareService {
        data.put("zdlist",icdArray);
        data.put("zdlist",icdArray);
        JSONArray infoArray = new JSONArray();
        JSONArray infoArray = new JSONArray();
        for (WlyyPrescriptionDO wlyyPrescriptionDO:wlyyPrescriptionDOS){
        for (WlyyPrescriptionDO wlyyPrescriptionDO:wlyyPrescriptionDOS){
            List<WlyyPrescriptionInfoDO> prescriptionInfoDOS = prescriptionInfoDao.findByPrescriptionId(wlyyPrescriptionDO.getId());
            List<WlyyPrescriptionInfoDO> prescriptionInfoDOS = prescriptionInfoDao.findByPrescriptionId(wlyyPrescriptionDO.getId(),1);
            for (WlyyPrescriptionInfoDO wlyyPrescriptionInfoDO:prescriptionInfoDOS){
            for (WlyyPrescriptionInfoDO wlyyPrescriptionInfoDO:prescriptionInfoDOS){
                JSONObject infoObj = new JSONObject();
                JSONObject infoObj = new JSONObject();
                infoObj.put("prescription_code",wlyyPrescriptionDO.getRealOrder());//医院处方编号
                infoObj.put("prescription_code",wlyyPrescriptionDO.getRealOrder());//医院处方编号
@ -606,8 +614,360 @@ public class HealthCareService {
                infoArray.add(infoObj);
                infoArray.add(infoObj);
            }
            }
        }
        }
        data.put("mxlist",infoArray);
        String result = requestYlz(data,funid,"医保费用明细上传");
        String result = requestYlz(data,funid,"医保费用明细上传");
        if (result==null){
            throw new Exception("医保费用明细上传失败!");
        }
        JSONObject object = JSONObject.parseObject(result);
        if (object.getString("flag").equalsIgnoreCase("1")){
            JSONObject encryptData = object.getJSONObject("encrypt_data");
            String detailSerial = encryptData.getString("detail_serial");
            for (WlyyPrescriptionDO presDo:wlyyPrescriptionDOS){
                presDo.setDetailSerial(detailSerial);
                presDo.setMedicalStatus(1);
                prescriptionDao.save(presDo);
            }
            logger.info("医保费用明细上传失败保存成功");
        }
        return result;
        return result;
    }
    }
    /**
     * 2.5.4医保费用明细上传冲销(N20.17.04.04)
     *
     * 返回值
     *
     * @param outpatientId
     * @return
     * @throws Exception
     */
    public String feeDetailRefund(String outpatientId,String prescriptionId,String remark) throws Exception{
        String funid = "N20.17.04.04";
        WlyyOutpatientDO outpatientDO = outpatientDao.findById(outpatientId);
        if (outpatientDO==null){
            throw new Exception("上传医保失败:门诊为空!");
        }
        JSONObject data = new JSONObject();
        data.put("region_code","");//参保地区划代码
        data.put("idcard",outpatientDO.getIdcard());//证件号码
        data.put("name",outpatientDO.getPatientName());//姓名
        data.put("medical_mode","");//医疗就诊方式
        data.put("medical_type","");//医疗类别
        if (StringUtils.isNoneBlank(prescriptionId)){
            WlyyPrescriptionDO wlyyPrescriptionDO = prescriptionDao.findOne(prescriptionId);
            data.put("detail_serial",wlyyPrescriptionDO.getDetailSerial());//医保明细流水号
        }
        data.put("insurance_serial",outpatientDO.getInsuranceSerial());//医保流水号
        data.put("invalidation_reason",remark);//作废原因
        data.put("data_source","");//数据来源
        String result = requestYlz(data,funid,"医保费用明细上传冲销");
        if (result==null){
            throw new Exception("医保费用明细上传冲销失败!");
        }
        JSONObject object = JSONObject.parseObject(result);
        if (object.getString("flag").equalsIgnoreCase("1")){
            if (StringUtils.isNoneBlank(prescriptionId)){
                WlyyPrescriptionDO wlyyPrescriptionDO = prescriptionDao.findOne(prescriptionId);
                wlyyPrescriptionDO.setMedicalStatus(0);
                prescriptionDao.save(wlyyPrescriptionDO);
            }else {
                List<WlyyPrescriptionDO> prescriptionDOList = prescriptionDao.findByOutPatientIdListAndMedical(outpatientId);
                for (WlyyPrescriptionDO preDo:prescriptionDOList){
                    preDo.setMedicalStatus(0);
                    prescriptionDao.save(preDo);
                }
            }
            logger.info("医保费用明细上传冲销保存成功");
        }
        return result;
    }
    /**
     * 2.5.5医保预结算服务(N20.17.04.05)
     *
     * 返回值
     *
     * @param outpatientId
     * @return
     * @throws Exception
     */
    public String preSettlement(String outpatientId) throws Exception{
        String funid = "N20.17.04.05";
        WlyyOutpatientDO outpatientDO = outpatientDao.findById(outpatientId);
        if (outpatientDO==null){
            throw new Exception("上传医保失败:门诊为空!");
        }
        JSONObject data = new JSONObject();
        data.put("region_code","");//参保地区划代码
        data.put("idcard",outpatientDO.getIdcard());//证件号码
        data.put("name",outpatientDO.getPatientName());//姓名
        data.put("cert_type","");//证件类型
        data.put("medical_mode","");//医疗就诊方式
        data.put("medical_type","");//医疗类别
        data.put("his_bill_serial",outpatientDO.getXtgzh());//his收费单据流水号
        data.put("insurance_serial",outpatientDO.getInsuranceSerial());//医保流水号
        data.put("settlement_sign",0);//结算标识
        data.put("date",outpatientDO.getAdmDate());//实际就诊日期
        data.put("leave_method","");//离院方式
        data.put("pre_count","");//处方项目数
        data.put("total_amount","");//医疗费总金额
        data.put("data_source","");//数据来源
        data.put("his_serial",outpatientDO.getRegisterNo());//his流水号
        data.put("doctor_level","");//医师诊查费等级
        data.put("dept_code",outpatientDO.getDept());//科室编码
        data.put("charge_qty","");//本次收费次数
        data.put("trt_fee_level","");//医师诊查费等级
        String result = requestYlz(data,funid,"医保预结算服务");
        if (result==null){
            throw new Exception("医保预结算服务失败!");
        }
        JSONObject object = JSONObject.parseObject(result);
        if (object.getString("flag").equalsIgnoreCase("1")){
            JSONObject encryptData = object.getJSONObject("encrypt_data");
            String billSerial = encryptData.getString("bill_serial");
            outpatientDO.setBillSerial(billSerial);
            outpatientDao.save(outpatientDO);
            YlzMedicalRelationDO ylzMr = new YlzMedicalRelationDO();
            ylzMr.setCardNo(encryptData.getString("card_no"));
            ylzMr.setInsuranceSerial(encryptData.getString("insurance_serial"));
            ylzMr.setBillSerial(encryptData.getString("bill_serial"));
            ylzMr.setHisBillSerial(encryptData.getString("his_bill_serial"));
            ylzMr.setMedicalMode(encryptData.getString("medical_mode"));
            ylzMr.setMedicalType(encryptData.getString("medical_type"));
            ylzMr.setPersonalCode(encryptData.getString("personal_code"));
            ylzMr.setName(encryptData.getString("name"));
            ylzMr.setSex(encryptData.getString("sex"));
            ylzMr.setSexMc(encryptData.getString("sex_mc"));
            ylzMr.setTotalAmount(encryptData.getString("total_amount"));
            ylzMr.setPersonCash(encryptData.getString("person_cash"));
            ylzMr.setPersonAccount(encryptData.getString("person_account"));
            ylzMr.setFundPrice(encryptData.getString("fund_price"));
            ylzMr.setJkzhPay(encryptData.getString("jkzh_pay"));
            ylzMr.setOwnPay(encryptData.getString("own_pay"));
            ylzMr.setAccountBalance(encryptData.getString("account_balance"));
            ylzMr.setHospitalizationQty(encryptData.getString("hospitalization_qty"));
            ylzMr.setDate(DateUtil.strToDateLong(encryptData.getString("date")));
            ylzMr.setPayDate(DateUtil.strToDateLong(encryptData.getString("pay_date")));
            ylzMr.setInvoiceJj(encryptData.getString("invoice_jj"));
            ylzMr.setInvoiceXj(encryptData.getString("invoice_xj"));
            ylzMr.setInvoiceZh(encryptData.getString("invoice_zh"));
            ylzMr.setDel(1);
            ylzMr.setRelationCode(outpatientId);
            ylzMr.setCreateTime(new Date());
            ylzMr = ylzMedicailRelationDao.save(ylzMr);
            JSONArray jsonArray = encryptData.getJSONArray("fplist");
            for (int i=0;i<jsonArray.size();i++){
                JSONObject jsonObject = jsonArray.getJSONObject(i);
                YlzMedicalBillDO ylzMb = new YlzMedicalBillDO();
                ylzMb.setMedicalId(ylzMr.getId());
                ylzMb.setInvoicePay(jsonObject.getString("invoice_pay"));
                ylzMb.setInvoiceType(jsonObject.getString("invoice_type"));
                ylzMb.setInvoiceTypeName(jsonObject.getString("invoice_type_name"));
                ylzMb.setProjectPay(jsonObject.getString("project_pay"));
                ylzMb.setOwnPay(jsonObject.getString("own_pay"));
                ylzMb.setSpecialPay(jsonObject.getString("special_pay"));
                ylzMb.setUninsurancePay(jsonObject.getString("uninsurance_pay"));
                ylzMb.setCreateTime(new Date());
                ylzMedicailBillDao.save(ylzMb);
            }
            logger.info("医保预结算服务保存成功");
        }
        return result;
    }
    /**
     * 2.5.6医保结算冲销服务(N20.17.04.06)
     *
     * 返回值
     *
     * @param outpatientId
     * @return
     * @throws Exception
     */
    public String preSettlementRefund(String outpatientId) throws Exception{
        String funid = "N20.17.04.06";
        WlyyOutpatientDO outpatientDO = outpatientDao.findById(outpatientId);
        if (outpatientDO==null){
            throw new Exception("上传医保失败:门诊为空!");
        }
        JSONObject data = new JSONObject();
        data.put("region_code","");//参保地区划代码
        data.put("idcard",outpatientDO.getIdcard());//证件号码
        data.put("name",outpatientDO.getPatientName());//姓名
        data.put("cert_type","");//证件类型
        data.put("medical_mode","");//医疗就诊方式
        data.put("bill_serial",outpatientDO.getBillSerial());//医保收费流水号
        data.put("his_bill_serial",outpatientDO.getXtgzh());//his收费单据流水号
        data.put("insurance_serial",outpatientDO.getInsuranceSerial());//医保流水号
        data.put("data_source","");//数据来源
        data.put("refund_serial","");//医院退费操作流水号
        String result = requestYlz(data,funid,"医保结算冲销服务");
        if (result==null){
            throw new Exception("医保结算冲销服务失败!");
        }
        JSONObject object = JSONObject.parseObject(result);
        if (object.getString("flag").equalsIgnoreCase("1")){
            JSONObject encryptData = object.getJSONObject("encrypt_data");
            logger.info("医保结算冲销服务保存成功");
        }
        return result;
    }
    /**
     * 2.5.7获取医保结算页面地址(N20.17.04.07)
     *
     * 返回值
     *
     * @param outpatientId
     * @return
     * @throws Exception
     */
    public String getSettlementResultUrl(String outpatientId) throws Exception{
        String funid = "N20.17.04.07";
        JSONObject data = new JSONObject();
        WlyyOutpatientDO outpatientDO = outpatientDao.findById(outpatientId);
        if (outpatientDO==null){
            throw new Exception("获取医保结算页面地址失败:门诊为空!");
        }
        YlzMedicalRelationDO ylzMedicalRelationDO =ylzMedicailRelationDao.findByOutpatient(outpatientId);
        if (ylzMedicalRelationDO==null){
            throw new Exception("获取医保结算页面地址失败:预结算信息为空");
        }
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = hospitalSysDictDao.findById("ResultRedirectUrl");
        if (wlyyHospitalSysDictDO==null){
            throw new Exception("获取医保结算页面地址失败:回调地址为空");
        }
        data.put("region_code","");//参保地区划代码
        data.put("name",outpatientDO.getPatientName());//姓名
        data.put("idcard",outpatientDO.getIdcard());//证件号码
        data.put("cert_type","");//证件类型
        data.put("medical_mode",ylzMedicalRelationDO.getMedicalMode());//医疗就诊方式
        data.put("medical_type",ylzMedicalRelationDO.getMedicalType());//医疗类别
        data.put("insurance_serial",ylzMedicalRelationDO.getInsuranceSerial());//
        data.put("his_bill_serial",ylzMedicalRelationDO.getHisBillSerial());//his收费单据流水号
        data.put("date",ylzMedicalRelationDO.getDate());//实际就诊日期
        data.put("leave_method","");//离院方式
        data.put("pre_count","");//处方项目数
        data.put("total_amount",ylzMedicalRelationDO.getTotalAmount());//医疗费总金额
        data.put("person_cash",ylzMedicalRelationDO.getPersonCash());//个人现金支付金额(实付现金)
        data.put("person_account",ylzMedicalRelationDO.getPersonAccount());//个人账户支付金额
        data.put("fund_price",ylzMedicalRelationDO.getFundPrice());//基金支付总额
        data.put("data_source","");//数据来源
        data.put("his_serial",outpatientDO.getRegisterNo());//his流水号
        data.put("doctor_level","");//医师诊查费等级
        data.put("redirect_url",wlyyHospitalSysDictDO.getDictValue());//回调地址
        String result = requestYlz(data,funid,"获取医保结算结果");
        if (result==null){
            throw new Exception("获取医保结算结果失败!");
        }
        return result;
    }
    /**
     * 2.5.8获取医保结算结果(N20.17.04.08)
     *
     * 返回值
     *
     * @param code
     * @return
     * @throws Exception
     */
    public String getSettlementResult(String code) throws Exception{
        String funid = "N20.17.04.08";
        JSONObject data = new JSONObject();
        data.put("code",code);//参保地区划代码
        String result = requestYlz(data,funid,"获取医保结算结果");
        if (result==null){
            throw new Exception("获取医保结算结果失败!");
        }
        return result;
    }
    /**
     * 2.7.1上传用户病史病情及医学报告(N20.17.06.01)
     *
     * 返回值
     *
     * @param code
     * @return
     * @throws Exception
     */
    public String uploadMedicalHistory(String code) throws Exception{
        String funid = "N20.17.06.01";
        JSONObject data = new JSONObject();
        data.put("region_code","");//参保地区划代码
        data.put("idcard","");//身份证号
        data.put("name","");//姓名
        data.put("cert_type","");//证件类型
        data.put("insurance_serial","");//医保流水号
        data.put("blood_type","");//血型
        data.put("allergy","");//过敏史
        data.put("diagnosis","");//病理诊断
        data.put("describe","");//病情描述
        data.put("difficult_cases","");//疑难病例
        data.put("file_list_count",0);//医学报告附件数量
        data.put("data_source","");//数据来源
        String result = requestYlz(data,funid,"上传用户病史病情及医学报告");
        if (result==null){
            throw new Exception("上传用户病史病情及医学报告失败!");
        }
        return result;
    }
    /**
     * 2.7.2作废用户病史病情及医学报告(N20.17.06.06)
     *
     * 返回值
     *
     * @param code
     * @return
     * @throws Exception
     */
    public String RefundMedicalHistory(String code,String remark) throws Exception{
        String funid = "N20.17.06.06";
        JSONObject data = new JSONObject();
        data.put("insurance_serial","");//医保流水号
        data.put("insurance_med_hist_serial","");//医保病史上传流水号
        data.put("invalid_reason",remark);//作废原因
        data.put("data_source","");//数据来源
        String result = requestYlz(data,funid,"作废用户病史病情及医学报告");
        if (result==null){
            throw new Exception("作废用户病史病情及医学报告失败!");
        }
        return result;
    }
    /**
     * 2.7.3获取问诊过程数据(N20.17.06.02)
     *
     * 返回值
     *
     * @param code
     * @return
     * @throws Exception
     */
    public String uploadIcdProcess(String code) throws Exception{
        String funid = "N20.17.06.02";
        JSONObject data = new JSONObject();
        data.put("region_code","");//参保地区划代码
        data.put("idcard","");//身份证号
        data.put("name","");//姓名
        data.put("cert_type","");//证件类型
        data.put("service_serial_id","");//问诊流水号
        data.put("doctor_id_card","");//医师身份证
        data.put("doctor_name","");//医师姓名
        data.put("file_list_count","");//附件总数
        data.put("filelist","");//附件列表
        data.put("file_bytes","");//二进制字节流
        data.put("file_name","");//文件名
        data.put("order_num",0);//顺序号
        String result = requestYlz(data,funid,"获取问诊过程数据");
        if (result==null){
            throw new Exception("获取问诊过程数据失败!");
        }
        return result;
    }
}
}

+ 15 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/healthCare/YlzMedicailBillDao.java

@ -0,0 +1,15 @@
package com.yihu.jw.hospital.healthCare;
import com.yihu.jw.entity.hospital.healthCare.YlzMedicalBillDO;
import com.yihu.jw.entity.hospital.healthCare.YlzMedicalRelationDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by wangzhinan 20211003
 */
public interface YlzMedicailBillDao extends PagingAndSortingRepository<YlzMedicalBillDO, String>, JpaSpecificationExecutor<YlzMedicalBillDO> {
}

+ 21 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/healthCare/YlzMedicailRelationDao.java

@ -0,0 +1,21 @@
package com.yihu.jw.hospital.healthCare;
import com.yihu.jw.entity.hospital.healthCare.YlzMedicalRelationDO;
import com.yihu.jw.entity.hospital.httplog.YlzHttpLogDO;
import com.yihu.jw.entity.hospital.prescription.WlyyOutpatientDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.Date;
import java.util.List;
/**
 * Created by wangzhinan 20211003
 */
public interface YlzMedicailRelationDao extends PagingAndSortingRepository<YlzMedicalRelationDO, String>, JpaSpecificationExecutor<YlzMedicalRelationDO> {
    @Query("from YlzMedicalRelationDO a where a.relationCode = ?1 ")
    YlzMedicalRelationDO findByOutpatient(String relationCode);
}

+ 3 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/dao/PrescriptionDao.java

@ -60,6 +60,9 @@ public interface PrescriptionDao extends PagingAndSortingRepository<WlyyPrescrip
    @Query("select a from WlyyPrescriptionDO a where a.outpatientId = ?1 and a.status>=20 and a.status<30 ")
    @Query("select a from WlyyPrescriptionDO a where a.outpatientId = ?1 and a.status>=20 and a.status<30 ")
    List<WlyyPrescriptionDO> findByOutPatientIdList(String outpatientId);
    List<WlyyPrescriptionDO> findByOutPatientIdList(String outpatientId);
    @Query("select a from WlyyPrescriptionDO a where a.outpatientId = ?1 and a.status>=20 and a.status<30 and a.medicalStatus=1 ")
    List<WlyyPrescriptionDO> findByOutPatientIdListAndMedical(String outpatientId);
    List<WlyyPrescriptionDO> findByDoctorAndCreateTimeAndRemark(String doctor,Date createTime,String remark);
    List<WlyyPrescriptionDO> findByDoctorAndCreateTimeAndRemark(String doctor,Date createTime,String remark);
    @Query("select a from WlyyPrescriptionDO a where a.createTime>?1 and  a.createTime <?2 and a.status <30 and a.status>=0")
    @Query("select a from WlyyPrescriptionDO a where a.createTime>?1 and  a.createTime <?2 and a.status <30 and a.status>=0")
    List<WlyyPrescriptionDO> findListByCheckStatus(Date startTime,Date endTime);
    List<WlyyPrescriptionDO> findListByCheckStatus(Date startTime,Date endTime);

+ 98 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/healthCare/YlzMedicalBillDO.java

@ -0,0 +1,98 @@
package com.yihu.jw.entity.hospital.healthCare;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
 * Created by wangzhinan on 20211003
 * 医保发票打印
 */
@Entity
@Table(name = "base_ylz_medical_bill")
public class YlzMedicalBillDO extends UuidIdentityEntity {
    private String medicalId;//医保关联表id
    private String invoiceType;//发票项目类别
    private String invoiceTypeName;//发票项目类别名称
    private String projectPay;//发票项目费用
    private String invoicePay;//医保发票费用
    private String ownPay;//医保个人费用
    private String specialPay;//特殊项目发票费用
    private String uninsurancePay;//非医保发票费用
    private Date createTime;//创建时间',
    public String getMedicalId() {
        return medicalId;
    }
    public void setMedicalId(String medicalId) {
        this.medicalId = medicalId;
    }
    public String getInvoiceType() {
        return invoiceType;
    }
    public void setInvoiceType(String invoiceType) {
        this.invoiceType = invoiceType;
    }
    public String getInvoiceTypeName() {
        return invoiceTypeName;
    }
    public void setInvoiceTypeName(String invoiceTypeName) {
        this.invoiceTypeName = invoiceTypeName;
    }
    public String getProjectPay() {
        return projectPay;
    }
    public void setProjectPay(String projectPay) {
        this.projectPay = projectPay;
    }
    public String getInvoicePay() {
        return invoicePay;
    }
    public void setInvoicePay(String invoicePay) {
        this.invoicePay = invoicePay;
    }
    public String getOwnPay() {
        return ownPay;
    }
    public void setOwnPay(String ownPay) {
        this.ownPay = ownPay;
    }
    public String getSpecialPay() {
        return specialPay;
    }
    public void setSpecialPay(String specialPay) {
        this.specialPay = specialPay;
    }
    public String getUninsurancePay() {
        return uninsurancePay;
    }
    public void setUninsurancePay(String uninsurancePay) {
        this.uninsurancePay = uninsurancePay;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}

+ 259 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/healthCare/YlzMedicalRelationDO.java

@ -0,0 +1,259 @@
package com.yihu.jw.entity.hospital.healthCare;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
 * Created by wangzhinan on 20211003
 */
@Entity
@Table(name = "base_ylz_medial_relation")
public class YlzMedicalRelationDO extends UuidIdentityEntity {
    private String insuranceSerial;//医保收费流水号,
    private String billSerial;//医保收费流水号,
    private String hisBillSerial;//his收费流水号',
    private String medicalMode;//医疗就诊方式,
    private String medicalType;//医疗类别,
    private String cardNo;//社会保障卡号
    private String personalCode;//个人管理码,
    private String name;//姓名,
    private String sex;//状态0成功,其他失败',
    private String sexMc;//性别
    private String totalAmount;//医疗费总金额
    private String personCash;//个人现金支付金额(实付现金)
    private String personAccount;//个人账户支付金额
    private String fundPrice;//基金支付总额
    private String jkzhPay;//健康帐户支付
    private String ownPay;//个人自费(非医保费用)
    private String accountBalance;//个人账户余额
    private String hospitalizationQty;//本年度住院次数
    private Date date;//实际就诊日期
    private Date payDate;//费用发生日期(结算日期)
    private String relationCode;//关联code
    private Integer del;//
    private String invoiceJj;//发票打印基金应支付
    private String invoiceXj;//发票打印现金应支付
    private String invoiceZh;//发票打印账户应支付
    private Date createTime;//创建时间',
    public String getInsuranceSerial() {
        return insuranceSerial;
    }
    public void setInsuranceSerial(String insuranceSerial) {
        this.insuranceSerial = insuranceSerial;
    }
    public String getBillSerial() {
        return billSerial;
    }
    public void setBillSerial(String billSerial) {
        this.billSerial = billSerial;
    }
    public String getHisBillSerial() {
        return hisBillSerial;
    }
    public void setHisBillSerial(String hisBillSerial) {
        this.hisBillSerial = hisBillSerial;
    }
    public String getMedicalMode() {
        return medicalMode;
    }
    public void setMedicalMode(String medicalMode) {
        this.medicalMode = medicalMode;
    }
    public String getMedicalType() {
        return medicalType;
    }
    public void setMedicalType(String medicalType) {
        this.medicalType = medicalType;
    }
    public String getCardNo() {
        return cardNo;
    }
    public void setCardNo(String cardNo) {
        this.cardNo = cardNo;
    }
    public String getPersonalCode() {
        return personalCode;
    }
    public void setPersonalCode(String personalCode) {
        this.personalCode = personalCode;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public String getSexMc() {
        return sexMc;
    }
    public void setSexMc(String sexMc) {
        this.sexMc = sexMc;
    }
    public String getTotalAmount() {
        return totalAmount;
    }
    public void setTotalAmount(String totalAmount) {
        this.totalAmount = totalAmount;
    }
    public String getPersonCash() {
        return personCash;
    }
    public void setPersonCash(String personCash) {
        this.personCash = personCash;
    }
    public String getPersonAccount() {
        return personAccount;
    }
    public void setPersonAccount(String personAccount) {
        this.personAccount = personAccount;
    }
    public String getFundPrice() {
        return fundPrice;
    }
    public void setFundPrice(String fundPrice) {
        this.fundPrice = fundPrice;
    }
    public String getJkzhPay() {
        return jkzhPay;
    }
    public void setJkzhPay(String jkzhPay) {
        this.jkzhPay = jkzhPay;
    }
    public String getOwnPay() {
        return ownPay;
    }
    public void setOwnPay(String ownPay) {
        this.ownPay = ownPay;
    }
    public String getAccountBalance() {
        return accountBalance;
    }
    public void setAccountBalance(String accountBalance) {
        this.accountBalance = accountBalance;
    }
    public String getHospitalizationQty() {
        return hospitalizationQty;
    }
    public void setHospitalizationQty(String hospitalizationQty) {
        this.hospitalizationQty = hospitalizationQty;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @Column(name="date")
    public Date getDate() {
        return date;
    }
    public void setDate(Date date) {
        this.date = date;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @Column(name="pay_date")
    public Date getPayDate() {
        return payDate;
    }
    public void setPayDate(Date payDate) {
        this.payDate = payDate;
    }
    public String getRelationCode() {
        return relationCode;
    }
    public void setRelationCode(String relationCode) {
        this.relationCode = relationCode;
    }
    public Integer getDel() {
        return del;
    }
    public void setDel(Integer del) {
        this.del = del;
    }
    public String getInvoiceJj() {
        return invoiceJj;
    }
    public void setInvoiceJj(String invoiceJj) {
        this.invoiceJj = invoiceJj;
    }
    public String getInvoiceXj() {
        return invoiceXj;
    }
    public void setInvoiceXj(String invoiceXj) {
        this.invoiceXj = invoiceXj;
    }
    public String getInvoiceZh() {
        return invoiceZh;
    }
    public void setInvoiceZh(String invoiceZh) {
        this.invoiceZh = invoiceZh;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @Column(name="create_time")
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}

+ 11 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/WlyyOutpatientDO.java

@ -297,6 +297,17 @@ public class WlyyOutpatientDO extends UuidIdentityEntity {
    private String invalidSerial;//医保作废流水号
    private String invalidSerial;//医保作废流水号
    private String billSerial;//医保收费流水号
    @Column(name = "bill_serial")
    public String getBillSerial() {
        return billSerial;
    }
    public void setBillSerial(String billSerial) {
        this.billSerial = billSerial;
    }
    @Column(name = "invalid_serial")
    @Column(name = "invalid_serial")
    public String getInvalidSerial() {
    public String getInvalidSerial() {
        return invalidSerial;
        return invalidSerial;

+ 23 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/WlyyPrescriptionDO.java

@ -278,6 +278,29 @@ public class WlyyPrescriptionDO extends UuidIdentityEntity {
    private String diagnosisSubName;
    private String diagnosisSubName;
    private Date disableTime;
    private Date disableTime;
    private String detailSerial;//医保明细上传流水号
    private Integer medicalStatus;//医保上传1上传0未上传
    @Column(name ="medical_status")
    public Integer getMedicalStatus() {
        return medicalStatus;
    }
    public void setMedicalStatus(Integer medicalStatus) {
        this.medicalStatus = medicalStatus;
    }
    @Column(name ="detail_serial")
    public String getDetailSerial() {
        return detailSerial;
    }
    public void setDetailSerial(String detailSerial) {
        this.detailSerial = detailSerial;
    }
    @Column(name = "disable_time")
    @Column(name = "disable_time")
    public Date getDisableTime() {
    public Date getDisableTime() {
        return disableTime;
        return disableTime;