This commit is contained in:
LiJianZhao 2025-04-24 14:17:09 +08:00
parent 567e369d68
commit ed6120c1a4
4 changed files with 70 additions and 2 deletions

View File

@ -1,6 +1,7 @@
package com.syjiaer.clinic.server.common.api.input; package com.syjiaer.clinic.server.common.api.input;
import com.syjiaer.clinic.server.common.api.annotations.IMField; import com.syjiaer.clinic.server.common.api.annotations.IMField;
import lombok.Data;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
@ -17,6 +18,8 @@ import java.util.List;
public class IM2204 extends BaseInputModel{ public class IM2204 extends BaseInputModel{
@IMField(key = "feedetail", name = "费用明细列表", required = true) @IMField(key = "feedetail", name = "费用明细列表", required = true)
private List<Feedetail> feedetail; private List<Feedetail> feedetail;
@Data
public static class Feedetail { public static class Feedetail {
@IMField(key = "feedetl_sn", name = "费用明细流水号", required = true) @IMField(key = "feedetl_sn", name = "费用明细流水号", required = true)
private String feedetl_sn; private String feedetl_sn;

View File

@ -169,4 +169,8 @@ public class SocialRequest {
public void call2203A(IM2203A im2203A) { public void call2203A(IM2203A im2203A) {
httpUtil.call("2203A", im2203A.buildToMap()); httpUtil.call("2203A", im2203A.buildToMap());
} }
public void call2204(IM2204 im2204) {
httpUtil.call("2204", im2204.buildToMap());
}
} }

View File

@ -2,6 +2,7 @@ package com.syjiaer.clinic.server.service.charge;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.IM2204;
import com.syjiaer.clinic.server.common.api.request.SocialRequest;
import com.syjiaer.clinic.server.common.constants.Constants; import com.syjiaer.clinic.server.common.constants.Constants;
import com.syjiaer.clinic.server.common.enums.InventorySocialTypeEnum; import com.syjiaer.clinic.server.common.enums.InventorySocialTypeEnum;
import com.syjiaer.clinic.server.common.enums.InventoryTypeEnum; import com.syjiaer.clinic.server.common.enums.InventoryTypeEnum;
@ -20,10 +21,12 @@ import com.syjiaer.clinic.server.entity.diagnosis.Diagnosis;
import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalItemList; import com.syjiaer.clinic.server.entity.diagnosis.DiagnosisMedicalItemList;
import com.syjiaer.clinic.server.entity.goods.Goods; import com.syjiaer.clinic.server.entity.goods.Goods;
import com.syjiaer.clinic.server.entity.inventory.InventoryLog; import com.syjiaer.clinic.server.entity.inventory.InventoryLog;
import com.syjiaer.clinic.server.entity.item.Item;
import com.syjiaer.clinic.server.entity.manager.ManagerUser; import com.syjiaer.clinic.server.entity.manager.ManagerUser;
import com.syjiaer.clinic.server.entity.organization.OrganizationMember; import com.syjiaer.clinic.server.entity.organization.OrganizationMember;
import com.syjiaer.clinic.server.entity.organization.OrganizationSection; import com.syjiaer.clinic.server.entity.organization.OrganizationSection;
import com.syjiaer.clinic.server.entity.patient.PatientRegistration; import com.syjiaer.clinic.server.entity.patient.PatientRegistration;
import com.syjiaer.clinic.server.entity.social.SocialDirectory;
import com.syjiaer.clinic.server.mapper.charge.ChargeGoodsListMapper; import com.syjiaer.clinic.server.mapper.charge.ChargeGoodsListMapper;
import com.syjiaer.clinic.server.mapper.charge.ChargeItemListMapper; import com.syjiaer.clinic.server.mapper.charge.ChargeItemListMapper;
import com.syjiaer.clinic.server.mapper.charge.ChargeOrderMapper; import com.syjiaer.clinic.server.mapper.charge.ChargeOrderMapper;
@ -31,10 +34,12 @@ import com.syjiaer.clinic.server.mapper.diagnosis.DiagnosisMapper;
import com.syjiaer.clinic.server.mapper.goods.GoodsMapper; import com.syjiaer.clinic.server.mapper.goods.GoodsMapper;
import com.syjiaer.clinic.server.mapper.inventory.InventoryLogMapper; import com.syjiaer.clinic.server.mapper.inventory.InventoryLogMapper;
import com.syjiaer.clinic.server.mapper.diagnosis.DiagnosisMedicalRecordMapper; import com.syjiaer.clinic.server.mapper.diagnosis.DiagnosisMedicalRecordMapper;
import com.syjiaer.clinic.server.mapper.item.ItemMapper;
import com.syjiaer.clinic.server.mapper.organization.OrganizationMemberMapper; import com.syjiaer.clinic.server.mapper.organization.OrganizationMemberMapper;
import com.syjiaer.clinic.server.mapper.organization.OrganizationSectionMapper; import com.syjiaer.clinic.server.mapper.organization.OrganizationSectionMapper;
import com.syjiaer.clinic.server.mapper.patient.PatientInfoMapper; import com.syjiaer.clinic.server.mapper.patient.PatientInfoMapper;
import com.syjiaer.clinic.server.mapper.patient.PatientRegistrationMapper; import com.syjiaer.clinic.server.mapper.patient.PatientRegistrationMapper;
import com.syjiaer.clinic.server.mapper.social.SocialDirectoryMapper;
import com.syjiaer.clinic.server.service.BaseService; import com.syjiaer.clinic.server.service.BaseService;
import com.syjiaer.clinic.server.service.inventory.InventoryService; import com.syjiaer.clinic.server.service.inventory.InventoryService;
import com.syjiaer.clinic.server.service.patient.PatientRegistrationService; import com.syjiaer.clinic.server.service.patient.PatientRegistrationService;
@ -61,6 +66,8 @@ public class ChargeService extends BaseService {
@Autowired @Autowired
private GoodsMapper goodsMapper; private GoodsMapper goodsMapper;
@Autowired @Autowired
private ItemMapper itemMapper;
@Autowired
private PatientInfoMapper patientInfoMapper; private PatientInfoMapper patientInfoMapper;
@Autowired @Autowired
private DiagnosisMapper diagnosisMapper; private DiagnosisMapper diagnosisMapper;
@ -71,9 +78,13 @@ public class ChargeService extends BaseService {
@Autowired @Autowired
private OrganizationSectionMapper organizationSectionMapper; private OrganizationSectionMapper organizationSectionMapper;
@Autowired @Autowired
private SocialDirectoryMapper socialDirectoryMapper;
@Autowired
private InventoryService inventoryService; private InventoryService inventoryService;
@Autowired @Autowired
private InventoryLogMapper inventoryLogMapper; private InventoryLogMapper inventoryLogMapper;
@Autowired
private SocialRequest socialRequest;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -259,9 +270,55 @@ public class ChargeService extends BaseService {
List<ChargeItemList> itemLists = chargeItemListMapper.selectByCode(changeOrderCode); List<ChargeItemList> itemLists = chargeItemListMapper.selectByCode(changeOrderCode);
IM2204 im2204 = new IM2204(); IM2204 im2204 = new IM2204();
List<IM2204.Feedetail> feedetails = new ArrayList<>();
for (ChargeGoodsList goodsList : goodsLists){ for (ChargeGoodsList goodsList : goodsLists){
IM2204.Feedetail feedetail = new IM2204.Feedetail();
feedetail.setFeedetl_sn(goodsList.getFeedetlSn());
feedetail.setMdtrt_id(registration.getMdtrtId());
feedetail.setPsn_no(registration.getPsnNo());
feedetail.setChrg_bchno(order.getCode());
feedetail.setRx_circ_flag("0");
feedetail.setFee_ocur_time(LocalDateTime.now());
Goods goods = goodsMapper.selectById(goodsList.getGoodsId());
SocialDirectory sdGoods = socialDirectoryMapper.getByCode(goods.getHilistCode());
feedetail.setMed_list_codg(sdGoods.getCode());
feedetail.setMedins_list_codg(sdGoods.getId());
BigDecimal totalPrice = goodsList.getUnitPrice().multiply(new BigDecimal(goodsList.getNumber()));
feedetail.setDet_item_fee_sumamt(totalPrice);
feedetail.setCnt(new BigDecimal(goodsList.getNumber()));
feedetail.setPric(goodsList.getUnitPrice());
feedetail.setBilg_dept_codg(section.getCode());
feedetail.setBilg_dept_name(section.getName());
feedetail.setBilg_dr_codg(docker.getSocialMemberCode());
feedetail.setBilg_dr_name(docker.getName());
feedetail.setHosp_appr_flag("1");
feedetails.add(feedetail);
} }
for (ChargeItemList itemList : itemLists){
IM2204.Feedetail feedetail = new IM2204.Feedetail();
feedetail.setFeedetl_sn(itemList.getFeedetlSn());
feedetail.setMdtrt_id(registration.getMdtrtId());
feedetail.setPsn_no(registration.getPsnNo());
feedetail.setChrg_bchno(order.getCode());
feedetail.setRx_circ_flag("0");
feedetail.setFee_ocur_time(LocalDateTime.now());
Item item = itemMapper.selectById(itemList.getServiceId());
SocialDirectory sdGoods = socialDirectoryMapper.getByCode(item.getItemSocialCode());
feedetail.setMed_list_codg(sdGoods.getCode());
feedetail.setMedins_list_codg(sdGoods.getId());
BigDecimal totalPrice = itemList.getUnitPrice().multiply(new BigDecimal(itemList.getNumber()));
feedetail.setDet_item_fee_sumamt(totalPrice);
feedetail.setCnt(new BigDecimal(itemList.getNumber()));
feedetail.setPric(itemList.getUnitPrice());
feedetail.setBilg_dept_codg(section.getCode());
feedetail.setBilg_dept_name(section.getName());
feedetail.setBilg_dr_codg(docker.getSocialMemberCode());
feedetail.setBilg_dr_name(docker.getName());
feedetail.setHosp_appr_flag("1");
feedetails.add(feedetail);
}
im2204.setFeedetail(feedetails);
socialRequest.call2204(im2204);
} }

View File

@ -1,6 +1,7 @@
package com.syjiaer.clinic.server; package com.syjiaer.clinic.server;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.syjiaer.clinic.server.service.charge.ChargeService;
import com.syjiaer.clinic.server.service.diagnosis.MedicalRecordService; import com.syjiaer.clinic.server.service.diagnosis.MedicalRecordService;
import com.syjiaer.clinic.server.service.social.SocialDiagnoseService; import com.syjiaer.clinic.server.service.social.SocialDiagnoseService;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
@ -14,12 +15,15 @@ class ServerApplicationTests {
private MedicalRecordService medicalRecordService; private MedicalRecordService medicalRecordService;
@Autowired @Autowired
private SocialDiagnoseService socialDiagnoseService; private SocialDiagnoseService socialDiagnoseService;
@Autowired
private ChargeService chargeService;
@Test @Test
void contextLoads() { void contextLoads() {
// medicalRecordService.uploadDiagnosis("ZD20250424105340459612"); // medicalRecordService.uploadDiagnosis("ZD20250424105340459612");
socialDiagnoseService.download("0"); // socialDiagnoseService.download("0");
chargeService.uploadCostDetails("CO20250424125949820609");
} }