deb
This commit is contained in:
parent
2d9c1de4ce
commit
d850c02785
|
|
@ -0,0 +1,128 @@
|
|||
package com.syjiaer.clinic.server.common.api.output;
|
||||
import com.syjiaer.clinic.server.common.api.annotations.OMField;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class OM2206A extends BaseOutputModel{
|
||||
@OMField(key="setlinfo",name = "结算信息")
|
||||
private OM2206A.Setlinfo setlinfo;
|
||||
@OMField(key="setldetail",name = "结算基金分项信息")
|
||||
private List<Setldetail> setldetail;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
public static class Setlinfo{
|
||||
@OMField(key = "mdtrt_id", name = "就诊ID")
|
||||
private String mdtrt_id;
|
||||
@OMField(key = "psn_no", name = "人员编号")
|
||||
private String psn_no;
|
||||
@OMField(key = "psn_name", name = "人员姓名")
|
||||
private String psn_name;
|
||||
@OMField(key = "psn_cert_type", name = "人员证件类型")
|
||||
private String psn_cert_type;
|
||||
@OMField(key = "certno", name = "证件号码")
|
||||
private String certno;
|
||||
@OMField(key = "gend", name = "性别")
|
||||
private String gend;
|
||||
@OMField(key = "naty", name = "民族")
|
||||
private String naty;
|
||||
@OMField(key = "brdy", name = "出生日期")
|
||||
private LocalDate brdy;
|
||||
@OMField(key = "age", name = "年龄")
|
||||
private BigDecimal age;
|
||||
@OMField(key = "insutype", name = "险种类型")
|
||||
private String insutype;
|
||||
@OMField(key = "psn_type", name = "人员类别")
|
||||
private String psn_type;
|
||||
@OMField(key = "cvlserv_flag", name = "公务员标志")
|
||||
private String cvlserv_flag;
|
||||
@OMField(key = "setl_time", name = "结算时间")
|
||||
private LocalDateTime setl_time;
|
||||
@OMField(key = "mdtrt_cert_type", name = "就诊凭证类型")
|
||||
private String mdtrt_cert_type;
|
||||
@OMField(key = "med_type", name = "医疗类别")
|
||||
private String med_type;
|
||||
@OMField(key = "medfee_sumamt", name = "医疗费总额")
|
||||
private BigDecimal medfee_sumamt;
|
||||
@OMField(key = "fulamt_ownpay_amt", name = "全自费金额")
|
||||
private BigDecimal fulamt_ownpay_amt;
|
||||
@OMField(key = "overlmt_selfpay", name = "超限价自费费用")
|
||||
private BigDecimal overlmt_selfpay;
|
||||
@OMField(key = "preselfpay_amt", name = "先行自付金额")
|
||||
private BigDecimal preselfpay_amt;
|
||||
@OMField(key = "inscp_scp_amt", name = "符合政策范围金额")
|
||||
private BigDecimal inscp_scp_amt;
|
||||
@OMField(key = "act_pay_dedc", name = "实际支付起付线")
|
||||
private BigDecimal act_pay_dedc;
|
||||
@OMField(key = "hifp_pay", name = "基本医疗保险统筹基金支出")
|
||||
private BigDecimal hifp_pay;
|
||||
@OMField(key = "pool_prop_selfpay", name = "基本医疗保险统筹基金支付比例")
|
||||
private BigDecimal pool_prop_selfpay;
|
||||
@OMField(key = "cvlserv_pay", name = "公务员医疗补助资金支出")
|
||||
private BigDecimal cvlserv_pay;
|
||||
@OMField(key = "hifes_pay", name = "企业补充医疗保险基金支出")
|
||||
private BigDecimal hifes_pay;
|
||||
@OMField(key = "hifmi_pay", name = "居民大病保险资金支出")
|
||||
private BigDecimal hifmi_pay;
|
||||
@OMField(key = "hifob_pay", name = "职工大额医疗费用补助基金支出")
|
||||
private BigDecimal hifob_pay;
|
||||
@OMField(key = "maf_pay", name = "医疗救助基金支出")
|
||||
private BigDecimal maf_pay;
|
||||
@OMField(key = "oth_pay", name = "其他支出")
|
||||
private BigDecimal oth_pay;
|
||||
@OMField(key = "fund_pay_sumamt", name = "基金支付总额")
|
||||
private BigDecimal fund_pay_sumamt;
|
||||
@OMField(key = "psn_part_amt", name = "个人负担总金额")
|
||||
private BigDecimal psn_part_amt;
|
||||
@OMField(key = "acct_pay", name = "个人账户支出")
|
||||
private BigDecimal acct_pay;
|
||||
@OMField(key = "psn_cash_pay", name = "个人现金支出")
|
||||
private BigDecimal psn_cash_pay;
|
||||
@OMField(key = "hosp_part_amt", name = "医院负担金额")
|
||||
private BigDecimal hosp_part_amt;
|
||||
@OMField(key = "balc", name = "余额")
|
||||
private BigDecimal balc;
|
||||
@OMField(key = "acct_mulaid_pay", name = "其中个人账户共济支付金额")
|
||||
private BigDecimal acct_mulaid_pay;
|
||||
@OMField(key = "medins_setl_id", name = "医药机构结算ID")
|
||||
private String medins_setl_id;
|
||||
@OMField(key = "clr_optins", name = "清算经办机构")
|
||||
private String clr_optins;
|
||||
@OMField(key = "clr_way", name = "清算方式")
|
||||
private String clr_way;
|
||||
@OMField(key = "clr_type", name = "清算类别")
|
||||
private String clr_type;
|
||||
@OMField(key = "exp_content", name = "字段扩展")
|
||||
private String exp_content;
|
||||
}
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
public static class Setldetail{
|
||||
@OMField(key = "fund_pay_type", name = "基金支付类型")
|
||||
private String fund_pay_type;
|
||||
@OMField(key = "inscp_scp_amt", name = "符合政策范围金额")
|
||||
private BigDecimal inscp_scp_amt;
|
||||
@OMField(key = "crt_payb_lmt_amt", name = "本次可支付限额金额")
|
||||
private BigDecimal crt_payb_lmt_amt;
|
||||
@OMField(key = "fund_payamt", name = "基金支付金额")
|
||||
private BigDecimal fund_payamt;
|
||||
@OMField(key = "fund_pay_type_name", name = "基金支付类型名称")
|
||||
private String fund_pay_type_name;
|
||||
@OMField(key = "setl_proc_info", name = "结算过程信息")
|
||||
private String setl_proc_info;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,130 @@
|
|||
package com.syjiaer.clinic.server.common.api.output;
|
||||
|
||||
import com.syjiaer.clinic.server.common.api.annotations.OMField;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public class OM2207A extends BaseOutputModel {
|
||||
|
||||
@OMField(key="setlinfo",name = "结算信息")
|
||||
private Setlinfo setlinfo;
|
||||
@OMField(key="setldetail",name = "结算基金分项信息")
|
||||
private List<Setldetail> setldetail;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public static class Setlinfo {
|
||||
@OMField(key = "mdtrt_id", name = "就诊ID")
|
||||
private String mdtrt_id;
|
||||
@OMField(key = "psn_no", name = "人员编号")
|
||||
private String psn_no;
|
||||
@OMField(key = "psn_name", name = "人员姓名")
|
||||
private String psn_name;
|
||||
@OMField(key = "psn_cert_type", name = "人员证件类型")
|
||||
private String psn_cert_type;
|
||||
@OMField(key = "certno", name = "证件号码")
|
||||
private String certno;
|
||||
@OMField(key = "gend", name = "性别")
|
||||
private String gend;
|
||||
@OMField(key = "naty", name = "民族")
|
||||
private String naty;
|
||||
@OMField(key = "brdy", name = "出生日期")
|
||||
private LocalDate brdy;
|
||||
@OMField(key = "age", name = "年龄")
|
||||
private BigDecimal age;
|
||||
@OMField(key = "insutype", name = "险种类型")
|
||||
private String insutype;
|
||||
@OMField(key = "psn_type", name = "人员类别")
|
||||
private String psn_type;
|
||||
@OMField(key = "cvlserv_flag", name = "公务员标志")
|
||||
private String cvlserv_flag;
|
||||
@OMField(key = "setl_time", name = "结算时间")
|
||||
private LocalDateTime setl_time;
|
||||
@OMField(key = "mdtrt_cert_type", name = "就诊凭证类型")
|
||||
private String mdtrt_cert_type;
|
||||
@OMField(key = "med_type", name = "医疗类别")
|
||||
private String med_type;
|
||||
@OMField(key = "medfee_sumamt", name = "医疗费总额")
|
||||
private BigDecimal medfee_sumamt;
|
||||
@OMField(key = "fulamt_ownpay_amt", name = "全自费金额")
|
||||
private BigDecimal fulamt_ownpay_amt;
|
||||
@OMField(key = "overlmt_selfpay", name = "超限价自费费用")
|
||||
private BigDecimal overlmt_selfpay;
|
||||
@OMField(key = "preselfpay_amt", name = "先行自付金额")
|
||||
private BigDecimal preselfpay_amt;
|
||||
@OMField(key = "inscp_scp_amt", name = "符合政策范围金额")
|
||||
private BigDecimal inscp_scp_amt;
|
||||
@OMField(key = "act_pay_dedc", name = "实际支付起付线")
|
||||
private BigDecimal act_pay_dedc;
|
||||
@OMField(key = "hifp_pay", name = "基本医疗保险统筹基金支出")
|
||||
private BigDecimal hifp_pay;
|
||||
@OMField(key = "pool_prop_selfpay", name = "基本医疗保险统筹基金支付比例")
|
||||
private BigDecimal pool_prop_selfpay;
|
||||
@OMField(key = "cvlserv_pay", name = "公务员医疗补助资金支出")
|
||||
private BigDecimal cvlserv_pay;
|
||||
@OMField(key = "hifes_pay", name = "企业补充医疗保险基金支出")
|
||||
private BigDecimal hifes_pay;
|
||||
@OMField(key = "hifmi_pay", name = "居民大病保险资金支出")
|
||||
private BigDecimal hifmi_pay;
|
||||
@OMField(key = "hifob_pay", name = "职工大额医疗费用补助基金支出")
|
||||
private BigDecimal hifob_pay;
|
||||
@OMField(key = "maf_pay", name = "医疗救助基金支出")
|
||||
private BigDecimal maf_pay;
|
||||
@OMField(key = "oth_pay", name = "其他支出")
|
||||
private BigDecimal oth_pay;
|
||||
@OMField(key = "fund_pay_sumamt", name = "基金支付总额")
|
||||
private BigDecimal fund_pay_sumamt;
|
||||
@OMField(key = "psn_part_amt", name = "个人负担总金额")
|
||||
private BigDecimal psn_part_amt;
|
||||
@OMField(key = "acct_pay", name = "个人账户支出")
|
||||
private BigDecimal acct_pay;
|
||||
@OMField(key = "psn_cash_pay", name = "个人现金支出")
|
||||
private BigDecimal psn_cash_pay;
|
||||
@OMField(key = "hosp_part_amt", name = "医院负担金额")
|
||||
private BigDecimal hosp_part_amt;
|
||||
@OMField(key = "balc", name = "余额")
|
||||
private BigDecimal balc;
|
||||
@OMField(key = "acct_mulaid_pay", name = "其中个人账户共济支付金额")
|
||||
private BigDecimal acct_mulaid_pay;
|
||||
@OMField(key = "medins_setl_id", name = "医药机构结算ID")
|
||||
private String medins_setl_id;
|
||||
@OMField(key = "clr_optins", name = "清算经办机构")
|
||||
private String clr_optins;
|
||||
@OMField(key = "clr_way", name = "清算方式")
|
||||
private String clr_way;
|
||||
@OMField(key = "clr_type", name = "清算类别")
|
||||
private String clr_type;
|
||||
@OMField(key = "exp_content", name = "字段扩展")
|
||||
private String exp_content;
|
||||
}
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public static class Setldetail {
|
||||
@OMField(key = "fund_pay_type", name = "基金支付类型")
|
||||
private String fund_pay_type;
|
||||
@OMField(key = "inscp_scp_amt", name = "符合政策范围金额")
|
||||
private BigDecimal inscp_scp_amt;
|
||||
@OMField(key = "crt_payb_lmt_amt", name = "本次可支付限额金额")
|
||||
private BigDecimal crt_payb_lmt_amt;
|
||||
@OMField(key = "fund_payamt", name = "基金支付金额")
|
||||
private BigDecimal fund_payamt;
|
||||
@OMField(key = "fund_pay_type_name", name = "基金支付类型名称")
|
||||
private String fund_pay_type_name;
|
||||
@OMField(key = "setl_proc_info", name = "结算过程信息")
|
||||
private String setl_proc_info;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -174,12 +174,20 @@ public class SocialRequest {
|
|||
httpUtil.call("2204", im2204.buildToMap());
|
||||
}
|
||||
|
||||
public void call2206A(IM2206A im2206A) {
|
||||
httpUtil.call("2206A",im2206A.buildToMap());
|
||||
public OM2206A call2206A(IM2206A im2206A) {
|
||||
JSONObject data = httpUtil.call("2206A",im2206A.buildToMap());
|
||||
OM2206A om2206A=new OM2206A();
|
||||
om2206A.setSetlinfo(JSONObject.parseObject(data.get("setlinfo").toString(), OM2206A.Setlinfo.class));
|
||||
om2206A.setSetldetail(JSONArray.parseArray(data.get("setldetail").toString(), OM2206A.Setldetail.class));
|
||||
return om2206A;
|
||||
}
|
||||
|
||||
public void call2207A(IM2207A im2207A) {
|
||||
httpUtil.call("2207A",im2207A.buildToMap());
|
||||
public OM2207A call2207A(IM2207A im2207A) {
|
||||
JSONObject data = httpUtil.call("2207A",im2207A.buildToMap());
|
||||
OM2207A om2207A=new OM2207A();
|
||||
om2207A.setSetlinfo(JSONObject.parseObject(data.get("setlinfo").toString(), OM2207A.Setlinfo.class));
|
||||
om2207A.setSetldetail(JSONArray.parseArray(data.get("setldetail").toString(), OM2207A.Setldetail.class));
|
||||
return om2207A;
|
||||
}
|
||||
|
||||
public JSONObject call9001(IM9001 im9001){
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
package com.syjiaer.clinic.server.controller.charge;
|
||||
|
||||
import com.syjiaer.clinic.server.common.api.output.OM2206A;
|
||||
import com.syjiaer.clinic.server.common.api.output.OM2207A;
|
||||
import com.syjiaer.clinic.server.common.util.DateUtil;
|
||||
import com.syjiaer.clinic.server.common.vo.Result;
|
||||
import com.syjiaer.clinic.server.controller.BaseController;
|
||||
|
|
@ -24,7 +26,7 @@ public class ChargeController extends BaseController {
|
|||
public Result<Object> save() {
|
||||
ChargeSaveDto dto = parmsUtil.getObject("data", ChargeSaveDto.class);
|
||||
ChargeOrder chargeOrder = chargeService.save(dto);
|
||||
return success(chargeOrder.getId());
|
||||
return success(chargeOrder.getCode());
|
||||
}
|
||||
|
||||
@RequestMapping("/list")
|
||||
|
|
@ -40,26 +42,29 @@ public class ChargeController extends BaseController {
|
|||
chargeService.completeOrder(id,payType);
|
||||
return success();
|
||||
}
|
||||
@RequestMapping("/uploadCostDetails")
|
||||
public Result<Object> uploadCostDetails() {
|
||||
String changeOrderCode = parmsUtil.getString("changeOrderCode");
|
||||
chargeService.uploadCostDetails(changeOrderCode);
|
||||
return success();
|
||||
}
|
||||
@RequestMapping("/socialPrePay")
|
||||
public Result<Object> socialPrePay(){
|
||||
public Result<OM2206A> socialPrePay(){
|
||||
String changeOrderCode = parmsUtil.getString("changeOrderCode");
|
||||
String mdtrtCertType = parmsUtil.getString("mdtrtCertType");
|
||||
String mdtrtCertNO = parmsUtil.getString("mdtrtCertNO");
|
||||
String insutype = parmsUtil.getString("insutype");
|
||||
chargeService.uploadCostDetails(changeOrderCode);
|
||||
chargeService.socialPrePay(changeOrderCode,mdtrtCertType,mdtrtCertNO,insutype);
|
||||
return success();
|
||||
return success(chargeService.socialPrePay(changeOrderCode,mdtrtCertType,mdtrtCertNO,insutype));
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping("/socialRealPay")
|
||||
public Result<Object> socialRealPay(){
|
||||
public Result<OM2207A> socialRealPay(){
|
||||
String changeOrderCode = parmsUtil.getString("changeOrderCode");
|
||||
String mdtrtCertType = parmsUtil.getString("mdtrtCertType");
|
||||
String mdtrtCertNO = parmsUtil.getString("mdtrtCertNO");
|
||||
String insutype = parmsUtil.getString("insutype");
|
||||
chargeService.socialRealPay(changeOrderCode,mdtrtCertType,mdtrtCertNO,insutype);
|
||||
return success();
|
||||
return success( chargeService.socialRealPay(changeOrderCode,mdtrtCertType,mdtrtCertNO,insutype));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import com.syjiaer.clinic.server.entity.social.SocialItem;
|
|||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
public interface SocialItemMapper extends BaseMapper<SocialItem> {
|
||||
@Select("select * from social_item where social_code = #{code}")
|
||||
@Select("select * from social_item where code = #{code}")
|
||||
SocialItem getByCode(String code);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||
import com.syjiaer.clinic.server.common.api.input.IM2204;
|
||||
import com.syjiaer.clinic.server.common.api.input.IM2206A;
|
||||
import com.syjiaer.clinic.server.common.api.input.IM2207A;
|
||||
import com.syjiaer.clinic.server.common.api.output.OM2206A;
|
||||
import com.syjiaer.clinic.server.common.api.output.OM2207A;
|
||||
import com.syjiaer.clinic.server.common.api.request.SocialRequest;
|
||||
import com.syjiaer.clinic.server.common.config.Config;
|
||||
import com.syjiaer.clinic.server.common.constants.Constants;
|
||||
|
|
@ -105,11 +107,21 @@ public class ChargeService extends BaseService {
|
|||
public ChargeOrder save(ChargeSaveDto dto) {
|
||||
ChargeOrder dbOrder = chargeOrderMapper.selectById(dto.getId());
|
||||
if (dbOrder != null) {
|
||||
//清除已有的订单
|
||||
//编辑 清除已有的订单
|
||||
chargeItemListMapper.delete(new QueryWrapper<ChargeItemList>().eq("charge_order_code", dbOrder.getCode()));
|
||||
chargeGoodsListMapper.delete(new QueryWrapper<ChargeGoodsList>().eq("charge_order_code", dbOrder.getCode()));
|
||||
chargeOrderMapper.deleteById(dbOrder.getId());
|
||||
}
|
||||
QueryWrapper<ChargeOrder> listWrapper = new QueryWrapper<>();
|
||||
listWrapper.eq("diagnosis_code", dto.getDiagnosisMedicalRecord().getDiagnosisCode());
|
||||
listWrapper.eq("status",RetailOrderStatusEnum.FINISHED.getCode());
|
||||
List<ChargeOrder> dbList = chargeOrderMapper.selectList(listWrapper);
|
||||
if (!dbList.isEmpty()){
|
||||
throw new MessageException("该诊断已完成收费");
|
||||
}
|
||||
QueryWrapper<ChargeOrder> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("diagnosis_code", dto.getDiagnosisMedicalRecord().getDiagnosisCode());
|
||||
queryWrapper.eq("status",RetailOrderStatusEnum.UNFINISHED.getCode());
|
||||
chargeOrderMapper.delete(queryWrapper);
|
||||
|
||||
ManagerUser user = getManagerUser();
|
||||
String code = StringUtil.getCode("CO");
|
||||
|
|
@ -352,7 +364,7 @@ public class ChargeService extends BaseService {
|
|||
/**
|
||||
* 医保预支付
|
||||
*/
|
||||
public void socialPrePay(String changeOrderCode, String mdtrtCertType, String mdtrtCertNO, String insutype) {
|
||||
public OM2206A socialPrePay(String changeOrderCode, String mdtrtCertType, String mdtrtCertNO, String insutype) {
|
||||
ChargeOrder order = chargeOrderMapper.selectByCode(changeOrderCode);
|
||||
Diagnosis diagnosis = diagnosisMapper.selectByCode(order.getDiagnosisCode());
|
||||
|
||||
|
|
@ -373,11 +385,11 @@ public class ChargeService extends BaseService {
|
|||
IM2206A.ExpContent expContent = new IM2206A.ExpContent();
|
||||
data.setExp_content(expContent);
|
||||
im2206A.setData(data);
|
||||
socialRequest.call2206A(im2206A);
|
||||
return socialRequest.call2206A(im2206A);
|
||||
|
||||
}
|
||||
|
||||
public void socialRealPay(String changeOrderCode, String mdtrtCertType, String mdtrtCertNO, String insutype) {
|
||||
public OM2207A socialRealPay(String changeOrderCode, String mdtrtCertType, String mdtrtCertNO, String insutype) {
|
||||
ChargeOrder order = chargeOrderMapper.selectByCode(changeOrderCode);
|
||||
Diagnosis diagnosis = diagnosisMapper.selectByCode(order.getDiagnosisCode());
|
||||
|
||||
|
|
@ -398,7 +410,7 @@ public class ChargeService extends BaseService {
|
|||
IM2207A.ExpContent expContent = new IM2207A.ExpContent();
|
||||
data.setExp_content(expContent);
|
||||
im2207A.setData(data);
|
||||
socialRequest.call2207A(im2207A);
|
||||
return socialRequest.call2207A(im2207A);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -94,6 +94,12 @@ public class MedicalRecordService extends BaseService {
|
|||
patientRegistrationMapper.updateById(updateRegis);
|
||||
//诊断主表
|
||||
Diagnosis diagnosis = new Diagnosis();
|
||||
QueryWrapper<Diagnosis> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("registration_id", saveDto.getRegistrationId());
|
||||
Diagnosis dbDiagnosis = diagnosisMapper.selectOne(queryWrapper);
|
||||
if (dbDiagnosis!=null){
|
||||
diagnosis.setId(dbDiagnosis.getId());
|
||||
}
|
||||
String code = StringUtil.getCode("ZD");
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
BeanUtils.copyProperties(saveDto, diagnosis);
|
||||
|
|
|
|||
Loading…
Reference in New Issue