zjh
2024-07-29 ac1d836efbd5f5c8707ed0bf33b4631025d165c6
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
@@ -12,6 +12,7 @@
import com.ltkj.hosp.hisDto.*;
import com.ltkj.hosp.service.*;
import com.ltkj.system.service.ISysConfigService;
import com.ltkj.system.service.ISysDeptService;
import jdk.nashorn.internal.runtime.logging.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -48,7 +49,7 @@
    @Autowired
    private HisApiGetMethodService hisApiGetMethodService;
    @Resource
    private ISysConfigService configService;
    private ISysDeptService deptService;
    @Resource
    private ITbTransitionService transitionService;
    @Autowired
@@ -74,7 +75,6 @@
    }
    //对接his总接口  注册挂号接诊申请单操作
    @Transactional
    @Logger
    public AjaxResult HisApiMethods(TjCustomer customer, Long orderId) {
@@ -190,7 +190,8 @@
            LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
            wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
//            wq.groupBy(TjProject::getHisXmbm);
            wq.in(TjProject::getDeptId, "241", "317");
//            wq.in(TjProject::getDeptId, "241", "317");
            wq.in(TjProject::getDeptId,deptService.getJyDeptIds());
            List<TjProject> projects = projectService.list(wq);
            if (null != projects && projects.size() > 0) {
                for (TjProject project : projects) {
@@ -204,6 +205,7 @@
                                detailsDto.setSfzhfy("0");
                            }
                            detailsDto.setSl(project.getSl());
                            detailsDto.setProjg(project.getProPrice());
                            detailsDtos.add(detailsDto);
                        }
                        if(project.getProId()==1740177341251154377L){
@@ -215,6 +217,20 @@
                            detilsDto.setDcjl("1");
                            detilsDto.setPj("60");
                            detilsDto.setJj("60");
                            detilsDto.setJldw("");
                            detilsDto.setTjbm("");
                            detilsDto.setPs("");
                            detilsDto.setPsbm("");
                            detilsDto.setYyts("");
                            detilsDto.setXtph("");
                            detilsDto.setScph("");
                            detilsDto.setYpxq("");
                            detilsDto.setCdbm("");
                            detilsDto.setKfdw("");
                            detilsDto.setYfdw("");
                            detilsDto.setYysm("");
                            detilsDto.setFzbl("1");
                            detilsDto.setZh("0");
                            outpinmedicapplyDetilsDtos.add(detilsDto);
                        }
                    }
@@ -239,14 +255,24 @@
                    String mxfyxmbm = detail.getMxfyxmbm();
                    tree.setHisXmdm(mxfyxmbm);
                    tree.setType("检验");
                    LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
                    wrapper.eq(TjProject::getHisXmbm, mxfyxmbm);
                    List<TjProject> list = projectService.list(wrapper);
                    String tj_price = "";
                    for (TjProject project : list) {
                        tj_price += project.getProPrice() + "、";
                    }
                    tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1));
//                    LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
//                    wrapper.eq(TjProject::getHisXmbm, mxfyxmbm);
//                    List<TjProject> list = projectService.list(wrapper);
//                    String tj_price = "";
//                    for (TjProject project : list) {
//                        tj_price += project.getProPrice() + "、";
//                    }
//                    tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1));
//                    LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
//                    wrapper.eq(TjProject::getHisXmbm, mxfyxmbm);
//                    wrapper.eq(TjProject::getSl,1);
//                    wrapper.groupBy(TjProject::getHisXmbm);
//                    TjProject project = projectService.getOne(wrapper);
//                    if(null !=project){
//                        BigDecimal decimal = project.getProPrice().multiply(BigDecimal.valueOf(detail.getSl()));
//                        tree.setTjPrice(String.valueOf(decimal));
//                    }
                    tree.setTjPrice(String.valueOf(detail.getProjg()));
                    LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
                    if (detail.getSfzhfy().equals("1"))
                        wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
@@ -267,50 +293,7 @@
            }
        }
        //药品申请
        if(outpinmedicapplyDetilsDtos.size()>0){
            OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
            dto1.setHisRegistrationId(cardId);
            dto1.setSfzh(customer.getCusIdcard());
            dto1.setSqysbm("00029");
            dto1.setMzksbm("0101");
            dto1.setSjrq(date);
            dto1.setCzybm("00029");
            dto1.setCzyksbm("0101");
            dto1.setCflxbm("A");
            dto1.setYfbm("1");
            dto1.setDetails(outpinmedicapplyDetilsDtos);
            AjaxResult result = controller.Outpinmedicapply(dto1);
            String result1 = getAjaxResult(result);
            JSONObject object = getJSONObject(result1);
            String code = object.getStr("ResultCode");
            if(null !=code && code.equals("200")){
                JSONArray resultData = object.getJSONArray("ResultData");
                Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0);
                String cfh = resultDatasss.get("cfh").toString();
                for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
                    TjCf cf=new TjCf();
                    cf.setCardId(cardId);
                    cf.setSfzh(customer.getCusIdcard());
                    cf.setCfh(cfh);
                    cf.setSqysbm("00029");
                    cf.setSqysxm("王健萍");
                    cf.setMzksbn("0101");
                    cf.setSqrq(date);
                    cf.setCzybm("00029");
                    cf.setYpbm(detilsDto.getYpbm());
                    cf.setYpmc("尿素[14C]呼气试验药盒");
                    cf.setSl(String.valueOf(detilsDto.getSl()));
                    cf.setDj(String.valueOf(detilsDto.getDj()));
                    cf.setDcjl(String.valueOf(detilsDto.getDcjl()));
                    cf.setPj(String.valueOf(detilsDto.getPj()));
                    cf.setJj(String.valueOf(detilsDto.getJj()));
                    cf.setCreateTime(new Date());
                    cfService.save(cf);
                }
            }
        }
        //门诊检查申请
        OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto();
@@ -327,7 +310,8 @@
            LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
            wq.in(TjProject::getProId, detailLists.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
//            wq.groupBy(TjProject::getHisXmbm);
            wq.in(TjProject::getDeptId, "247", "248", "249", "250", "251", "252", "271", "273", "274", "275", "298");
//            wq.in(TjProject::getDeptId, "247", "248", "249", "250", "251", "252", "271", "273", "274", "275", "298");
            wq.in(TjProject::getDeptId,deptService.getJcDeptIds());
            List<TjProject> projects = projectService.list(wq);
            if (null != projects && projects.size() > 0) {
                for (TjProject project : projects) {
@@ -341,9 +325,34 @@
                                detailsDto.setSfzhfy("0");
                            }
                            detailsDto.setSl(project.getSl());
                            detailsDto.setProjg(project.getProPrice());
                            detailsDtoss.add(detailsDto);
                        }
                        if(project.getProId()==1740177341251154377L){
                            OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
                            detilsDto.setYpbm("00006670");
                            detilsDto.setPcbm("06");
                            detilsDto.setSl("1");
                            detilsDto.setDj("60");
                            detilsDto.setDcjl("1");
                            detilsDto.setPj("60");
                            detilsDto.setJj("60");
                            detilsDto.setJldw("");
                            detilsDto.setTjbm("");
                            detilsDto.setPs("");
                            detilsDto.setPsbm("");
                            detilsDto.setYyts("");
                            detilsDto.setXtph("");
                            detilsDto.setScph("");
                            detilsDto.setYpxq("");
                            detilsDto.setCdbm("");
                            detilsDto.setKfdw("");
                            detilsDto.setYfdw("");
                            detilsDto.setYysm("");
                            detilsDto.setFzbl("1");
                            detilsDto.setZh("0");
                            outpinmedicapplyDetilsDtos.add(detilsDto);
                        }
                    }
                }
            }
@@ -366,14 +375,24 @@
                    String mxfyxmbm = detail.getMxfyxmbm();
                    tree.setHisXmdm(mxfyxmbm);
                    tree.setType("检查");
                    LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
                    wrapper.eq(TjProject::getHisXmbm, mxfyxmbm);
                    List<TjProject> list = projectService.list(wrapper);
                    String tj_price = "";
                    for (TjProject project : list) {
                        tj_price += project.getProPrice() + "、";
                    }
                    tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1));
//                    LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
//                    wrapper.eq(TjProject::getHisXmbm, mxfyxmbm);
//                    List<TjProject> list = projectService.list(wrapper);
//                    String tj_price = "";
//                    for (TjProject project : list) {
//                        tj_price += project.getProPrice() + "、";
//                    }
//                    tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1));
//                    LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
//                    wrapper.eq(TjProject::getHisXmbm, mxfyxmbm);
//                    wrapper.eq(TjProject::getSl,1);
//                    wrapper.groupBy(TjProject::getHisXmbm);
//                    TjProject project = projectService.getOne(wrapper);
//                    if(null !=project){
//                        BigDecimal decimal = project.getProPrice().multiply(BigDecimal.valueOf(detail.getSl()));
//                        tree.setTjPrice(String.valueOf(decimal));
//                    }
                    tree.setTjPrice(String.valueOf(detail.getProjg()));
                    LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
                    if (detail.getSfzhfy().equals("1"))
                        wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
@@ -422,7 +441,8 @@
            LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
            wq.in(TjProject::getProId, details.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
//            wq.groupBy(TjProject::getHisXmbm);
            wq.in(TjProject::getDeptId, "100", "240", "253", "254", "255", "257", "258", "259", "269", "270");
//            wq.in(TjProject::getDeptId, "100", "240", "253", "254", "255", "257", "258", "259", "269", "270");
            wq.in(TjProject::getDeptId,deptService.getCzDeptIds());
//            wq.isNull(TjProject::getDeptId);
            List<TjProject> projects = projectService.list(wq);
            if (null != projects && projects.size() > 0) {
@@ -437,7 +457,33 @@
                                detailsDto.setSfzhfy("0");
                            }
                            detailsDto.setSl(project.getSl());
                            detailsDto.setProjg(project.getProPrice());
                            detailDtos.add(detailsDto);
                        }
                        if(project.getProId()==1740177341251154377L){
                            OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
                            detilsDto.setYpbm("00006670");
                            detilsDto.setPcbm("06");
                            detilsDto.setSl("1");
                            detilsDto.setDj("60");
                            detilsDto.setDcjl("1");
                            detilsDto.setPj("60");
                            detilsDto.setJj("60");
                            detilsDto.setJldw("");
                            detilsDto.setTjbm("");
                            detilsDto.setPs("");
                            detilsDto.setPsbm("");
                            detilsDto.setYyts("");
                            detilsDto.setXtph("");
                            detilsDto.setScph("");
                            detilsDto.setYpxq("");
                            detilsDto.setCdbm("");
                            detilsDto.setKfdw("");
                            detilsDto.setYfdw("");
                            detilsDto.setYysm("");
                            detilsDto.setFzbl("1");
                            detilsDto.setZh("0");
                            outpinmedicapplyDetilsDtos.add(detilsDto);
                        }
                    }
                }
@@ -461,14 +507,16 @@
                    String mxfyxmbm = detail.getMxfyxmbm();
                    tree.setHisXmdm(mxfyxmbm);
                    tree.setType("处置");
                    LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
                    wrapper.eq(TjProject::getHisXmbm, mxfyxmbm);
                    List<TjProject> list = projectService.list(wrapper);
                    String tj_price = "";
                    for (TjProject project : list) {
                        tj_price += project.getProPrice() + "、";
                    }
                    tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1));
//                    LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
//                    wrapper.eq(TjProject::getHisXmbm, mxfyxmbm);
//                    wrapper.eq(TjProject::getSl,1);
//                    wrapper.groupBy(TjProject::getHisXmbm);
//                    TjProject project = projectService.getOne(wrapper);
//                    if(null !=project){
//                     BigDecimal decimal = project.getProPrice().multiply(BigDecimal.valueOf(detail.getSl()));
//                    tree.setTjPrice(String.valueOf(decimal));
//                    }
                    tree.setTjPrice(String.valueOf(detail.getProjg()));
                    LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
                    if (detail.getSfzhfy().equals("1"))
                        wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
@@ -498,6 +546,54 @@
//                return AjaxResult.error("处置申请失败!");
//            }
        }
        //药品申请
        if(outpinmedicapplyDetilsDtos.size()>0){
            OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
            dto1.setHisRegistrationId(cardId);
            dto1.setSfzh(customer.getCusIdcard());
            dto1.setSqysbm("00029");
            dto1.setMzksbm("0101");
            dto1.setSjrq(date);
            dto1.setCzybm("00029");
            dto1.setCzyksbm("0101");
            dto1.setCflxbm("A");
            dto1.setYfbm("1");
            dto1.setFyts("1");
            dto1.setMzzd("");
            dto1.setDetails(outpinmedicapplyDetilsDtos);
            AjaxResult result = controller.Outpinmedicapply(dto1);
            String result1 = getAjaxResult(result);
            JSONObject object = getJSONObject(result1);
            String code = object.getStr("ResultCode");
            if(null !=code && code.equals("200")){
                JSONArray resultData = object.getJSONArray("ResultData");
                Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0);
                String cfh = resultDatasss.get("cfh").toString();
                for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
                    TjCf cf=new TjCf();
                    cf.setCardId(cardId);
                    cf.setSfzh(customer.getCusIdcard());
                    cf.setCfh(cfh);
                    cf.setSqysbm("00029");
                    cf.setSqysxm("王健萍");
                    cf.setMzksbn("0101");
                    cf.setSqrq(date);
                    cf.setCzybm("00029");
                    cf.setYpbm(detilsDto.getYpbm());
                    cf.setYpmc("尿素[14C]呼气试验药盒");
                    cf.setSl(String.valueOf(detilsDto.getSl()));
                    cf.setDj(String.valueOf(detilsDto.getDj()));
                    cf.setDcjl(String.valueOf(detilsDto.getDcjl()));
                    cf.setPj(String.valueOf(detilsDto.getPj()));
                    cf.setJj(String.valueOf(detilsDto.getJj()));
                    cf.setCreateTime(new Date());
                    cfService.save(cf);
                }
            }
        }
        return AjaxResult.success();
    }