zhaowenxuan
2025-02-28 524a0867c6e8343607d343a4f708498c21baf9d4
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
@@ -297,6 +297,7 @@
                                detilsDto.setYpmc(i.getYpmc());
                                detilsDto.setFzbl(i.getFzbl());
                                detilsDto.setZh(i.getZh());
                                detilsDto.setCflx(i.getCflx());
                                outpinmedicapplyDetilsDtos.add(detilsDto);
                            });
                        }
@@ -411,6 +412,7 @@
                            detilsDto.setYpmc(i.getYpmc());
                            detilsDto.setFzbl(i.getFzbl());
                            detilsDto.setZh(i.getZh());
                            detilsDto.setCflx(i.getCflx());
                            outpinmedicapplyDetilsDtos.add(detilsDto);
                        });
                    }
@@ -536,6 +538,7 @@
                            detilsDto.setYpmc(i.getYpmc());
                            detilsDto.setFzbl(i.getFzbl());
                            detilsDto.setZh(i.getZh());
                            detilsDto.setCflx(i.getCflx());
                            outpinmedicapplyDetilsDtos.add(detilsDto);
                        });
                    }
@@ -582,64 +585,129 @@
            }
        }
        //药品申请
        //药品申请原版
//        if(!outpinmedicapplyDetilsDtos.isEmpty()){
//            OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
//            dto1.setHisRegistrationId(cardId);
//            dto1.setSfzh(customer.getCusIdcard());
//            dto1.setSqysbm(ysbm);
//            dto1.setMzksbm(dept);
//            dto1.setSjrq(date);
//            String yfbm = configService.selectConfigByKey("chufang_yfbm");
//            String mzzd = configService.selectConfigByKey("chufang_mzzd");
//            String czybm = configService.selectConfigByKey("chufang_czybm");
//            String czyksbm = configService.selectConfigByKey("chufang_czyksbm");
//            String cflxbm = configService.selectConfigByKey("chufang_cflxbm");
//            if (czybm.equalsIgnoreCase("N"))
//                dto1.setCzybm(ysbm);
//            else dto1.setCzybm(czybm);
//            if (czyksbm.equalsIgnoreCase("N"))
//                dto1.setCzyksbm(dept);
//            else dto1.setCzyksbm(czyksbm);
//            dto1.setCflxbm(cflxbm);
//            if (yfbm.equalsIgnoreCase("N"))
//                dto1.setYfbm("1");
//            else dto1.setYfbm(yfbm);
//            dto1.setFyts("1");
//            if (mzzd.equalsIgnoreCase("N"))
//                dto1.setMzzd("");
//            else dto1.setMzzd(mzzd);
//            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("0")){
//                JSONObject resultData = object.getJSONObject("ResultData");
////                Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0);
//                String cfh = resultData.getStr("cfh");
//                log.info("药品申请后的处方号是: "+cfh+"  outpinmedicapplyDetilsDtos 里面的值为: "+outpinmedicapplyDetilsDtos.toString());
//                for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
//                    TjCf cf=new TjCf();
//                    cf.setCardId(cardId);
//                    cf.setSfzh(customer.getCusIdcard());
//                    cf.setCfh(cfh);
//                    cf.setSqysbm(ysbm);
//                    cf.setSqysxm(ysmc);
//                    cf.setMzksbn(dept);
//                    cf.setSqrq(date);
//                    cf.setCzybm(ysbm);
//                    cf.setYpbm(detilsDto.getYpbm());
//                    cf.setYpmc(detilsDto.getYpmc());
//                    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);
//                }
//            }
//        }
        /**
         * 药品申请 处方类型维护在药品表
         */
        if(!outpinmedicapplyDetilsDtos.isEmpty()){
            OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
            dto1.setHisRegistrationId(cardId);
            dto1.setSfzh(customer.getCusIdcard());
            dto1.setSqysbm(ysbm);
            dto1.setMzksbm(dept);
            dto1.setSjrq(date);
            String yfbm = configService.selectConfigByKey("chufang_yfbm");
            String mzzd = configService.selectConfigByKey("chufang_mzzd");
            String czybm = configService.selectConfigByKey("chufang_czybm");
            String czyksbm = configService.selectConfigByKey("chufang_czyksbm");
            String cflxbm = configService.selectConfigByKey("chufang_cflxbm");
            if (czybm.equalsIgnoreCase("N"))
                dto1.setCzybm(ysbm);
            else dto1.setCzybm(czybm);
            if (czyksbm.equalsIgnoreCase("N"))
                dto1.setCzyksbm(dept);
            else dto1.setCzyksbm(czyksbm);
            dto1.setCflxbm(cflxbm);
            if (yfbm.equalsIgnoreCase("N"))
                dto1.setYfbm("1");
            else dto1.setYfbm(yfbm);
            dto1.setFyts("1");
            if (mzzd.equalsIgnoreCase("N"))
                dto1.setMzzd("");
            else dto1.setMzzd(mzzd);
            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("0")){
                JSONObject resultData = object.getJSONObject("ResultData");
//                Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0);
                String cfh = resultData.getStr("cfh");
                log.info("药品申请后的处方号是: "+cfh+"  outpinmedicapplyDetilsDtos 里面的值为: "+outpinmedicapplyDetilsDtos.toString());
                for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
                    TjCf cf=new TjCf();
                    cf.setCardId(cardId);
                    cf.setSfzh(customer.getCusIdcard());
                    cf.setCfh(cfh);
                    cf.setSqysbm(ysbm);
                    cf.setSqysxm(ysmc);
                    cf.setMzksbn(dept);
                    cf.setSqrq(date);
                    cf.setCzybm(ysbm);
                    cf.setYpbm(detilsDto.getYpbm());
                    cf.setYpmc(detilsDto.getYpmc());
                    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);
//            String cflxbm = configService.selectConfigByKey("chufang_cflxbm");
            Map<String, List<OutpinmedicapplyDetilsDto>> listMap = outpinmedicapplyDetilsDtos.stream().collect(Collectors.groupingBy(OutpinmedicapplyDetilsDto::getCflx));
            listMap.forEach((cflx, details) -> {
                OutpinmedicapplyDto dto1 = new OutpinmedicapplyDto();
                dto1.setHisRegistrationId(cardId);
                dto1.setSfzh(customer.getCusIdcard());
                dto1.setSqysbm(ysbm);
                dto1.setMzksbm(dept);
                dto1.setSjrq(date);
                if (czybm.equalsIgnoreCase("N"))
                    dto1.setCzybm(ysbm);
                else dto1.setCzybm(czybm);
                if (czyksbm.equalsIgnoreCase("N"))
                    dto1.setCzyksbm(dept);
                else dto1.setCzyksbm(czyksbm);
                dto1.setCflxbm(cflx);
                if (yfbm.equalsIgnoreCase("N"))
                    dto1.setYfbm("1");
                else dto1.setYfbm(yfbm);
                dto1.setFyts("1");
                if (mzzd.equalsIgnoreCase("N"))
                    dto1.setMzzd("");
                else dto1.setMzzd(mzzd);
                dto1.setDetails(details);
                AjaxResult result = controller.Outpinmedicapply(dto1);
                String result1 = getAjaxResult(result);
                JSONObject object = getJSONObject(result1);
                String code = object.getStr("ResultCode");
                if (null != code && code.equals("0")) {
                    JSONObject resultData = object.getJSONObject("ResultData");
                    String cfh = resultData.getStr("cfh");
                    log.info("药品申请后的处方号是: " + cfh + "  outpinmedicapplyDetilsDtos 里面的值为: " + outpinmedicapplyDetilsDtos.toString());
                    for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
                        TjCf cf = new TjCf();
                        cf.setCardId(cardId);
                        cf.setSfzh(customer.getCusIdcard());
                        cf.setCfh(cfh);
                        cf.setSqysbm(ysbm);
                        cf.setSqysxm(ysmc);
                        cf.setMzksbn(dept);
                        cf.setSqrq(date);
                        cf.setCzybm(ysbm);
                        cf.setYpbm(detilsDto.getYpbm());
                        cf.setYpmc(detilsDto.getYpmc());
                        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();
@@ -1515,6 +1583,7 @@
                                detilsDto.setYpmc(i.getYpmc());
                                detilsDto.setFzbl(i.getFzbl());
                                detilsDto.setZh(i.getZh());
                                detilsDto.setCflx(i.getCflx());
                                outpinmedicapplyDetilsDtos.add(detilsDto);
                            });
                        }
@@ -1623,6 +1692,7 @@
                            detilsDto.setYpmc(i.getYpmc());
                            detilsDto.setFzbl(i.getFzbl());
                            detilsDto.setZh(i.getZh());
                            detilsDto.setCflx(i.getCflx());
                            outpinmedicapplyDetilsDtos.add(detilsDto);
                        });
                    }
@@ -1744,6 +1814,7 @@
                            detilsDto.setYpmc(i.getYpmc());
                            detilsDto.setFzbl(i.getFzbl());
                            detilsDto.setZh(i.getZh());
                            detilsDto.setCflx(i.getCflx());
                            outpinmedicapplyDetilsDtos.add(detilsDto);
                        });
                    }
@@ -1790,64 +1861,128 @@
            }
        }
        //药品申请
        //药品申请 原版
//        if(!outpinmedicapplyDetilsDtos.isEmpty()){
//            OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
//            dto1.setHisRegistrationId(cardId);
//            dto1.setSfzh(customer.getCusIdcard());
//            dto1.setSqysbm(ysbm);
//            dto1.setMzksbm(dept);
//            dto1.setSjrq(date);
//            String yfbm = configService.selectConfigByKey("chufang_yfbm");
//            String mzzd = configService.selectConfigByKey("chufang_mzzd");
//            String czybm = configService.selectConfigByKey("chufang_czybm");
//            String czyksbm = configService.selectConfigByKey("chufang_czyksbm");
//            String cflxbm = configService.selectConfigByKey("chufang_cflxbm");
//            if (czybm.equalsIgnoreCase("N"))
//                dto1.setCzybm(ysbm);
//            else dto1.setCzybm(czybm);
//            if (czyksbm.equalsIgnoreCase("N"))
//                dto1.setCzyksbm(dept);
//            else dto1.setCzyksbm(czyksbm);
//            dto1.setCflxbm(cflxbm);
//            if (yfbm.equalsIgnoreCase("N"))
//                dto1.setYfbm("1");
//            else dto1.setYfbm(yfbm);
//            dto1.setFyts("1");
//            if (mzzd.equalsIgnoreCase("N"))
//                dto1.setMzzd("");
//            else dto1.setMzzd(mzzd);
//            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("0")){
//                JSONObject resultData = object.getJSONObject("ResultData");
////                Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0);
//                String cfh = resultData.getStr("cfh");
//                log.info("药品申请后的处方号是: "+cfh+"  outpinmedicapplyDetilsDtos 里面的值为: "+outpinmedicapplyDetilsDtos.toString());
//                for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
//                    TjCf cf=new TjCf();
//                    cf.setCardId(cardId);
//                    cf.setSfzh(customer.getCusIdcard());
//                    cf.setCfh(cfh);
//                    cf.setSqysbm(ysbm);
//                    cf.setSqysxm(ysmc);
//                    cf.setMzksbn(dept);
//                    cf.setSqrq(date);
//                    cf.setCzybm(ysbm);
//                    cf.setYpbm(detilsDto.getYpbm());
//                    cf.setYpmc(detilsDto.getYpmc());
//                    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);
//                }
//            }
//        }
        /**
         * 药品申请 处方类型维护在药品表
         */
        if(!outpinmedicapplyDetilsDtos.isEmpty()){
            OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
            dto1.setHisRegistrationId(cardId);
            dto1.setSfzh(customer.getCusIdcard());
            dto1.setSqysbm(ysbm);
            dto1.setMzksbm(dept);
            dto1.setSjrq(date);
            String yfbm = configService.selectConfigByKey("chufang_yfbm");
            String mzzd = configService.selectConfigByKey("chufang_mzzd");
            String czybm = configService.selectConfigByKey("chufang_czybm");
            String czyksbm = configService.selectConfigByKey("chufang_czyksbm");
            String cflxbm = configService.selectConfigByKey("chufang_cflxbm");
            if (czybm.equalsIgnoreCase("N"))
                dto1.setCzybm(ysbm);
            else dto1.setCzybm(czybm);
            if (czyksbm.equalsIgnoreCase("N"))
                dto1.setCzyksbm(dept);
            else dto1.setCzyksbm(czyksbm);
            dto1.setCflxbm(cflxbm);
            if (yfbm.equalsIgnoreCase("N"))
                dto1.setYfbm("1");
            else dto1.setYfbm(yfbm);
            dto1.setFyts("1");
            if (mzzd.equalsIgnoreCase("N"))
                dto1.setMzzd("");
            else dto1.setMzzd(mzzd);
            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("0")){
                JSONObject resultData = object.getJSONObject("ResultData");
//                Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0);
                String cfh = resultData.getStr("cfh");
                log.info("药品申请后的处方号是: "+cfh+"  outpinmedicapplyDetilsDtos 里面的值为: "+outpinmedicapplyDetilsDtos.toString());
                for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
                    TjCf cf=new TjCf();
                    cf.setCardId(cardId);
                    cf.setSfzh(customer.getCusIdcard());
                    cf.setCfh(cfh);
                    cf.setSqysbm(ysbm);
                    cf.setSqysxm(ysmc);
                    cf.setMzksbn(dept);
                    cf.setSqrq(date);
                    cf.setCzybm(ysbm);
                    cf.setYpbm(detilsDto.getYpbm());
                    cf.setYpmc(detilsDto.getYpmc());
                    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);
//            String cflxbm = configService.selectConfigByKey("chufang_cflxbm");
            Map<String, List<OutpinmedicapplyDetilsDto>> listMap = outpinmedicapplyDetilsDtos.stream().collect(Collectors.groupingBy(OutpinmedicapplyDetilsDto::getCflx));
            listMap.forEach((cflx, details) -> {
                OutpinmedicapplyDto dto1 = new OutpinmedicapplyDto();
                dto1.setHisRegistrationId(cardId);
                dto1.setSfzh(customer.getCusIdcard());
                dto1.setSqysbm(ysbm);
                dto1.setMzksbm(dept);
                dto1.setSjrq(date);
                if (czybm.equalsIgnoreCase("N"))
                    dto1.setCzybm(ysbm);
                else dto1.setCzybm(czybm);
                if (czyksbm.equalsIgnoreCase("N"))
                    dto1.setCzyksbm(dept);
                else dto1.setCzyksbm(czyksbm);
                dto1.setCflxbm(cflx);
                if (yfbm.equalsIgnoreCase("N"))
                    dto1.setYfbm("1");
                else dto1.setYfbm(yfbm);
                dto1.setFyts("1");
                if (mzzd.equalsIgnoreCase("N"))
                    dto1.setMzzd("");
                else dto1.setMzzd(mzzd);
                dto1.setDetails(details);
                AjaxResult result = controller.Outpinmedicapply(dto1);
                String result1 = getAjaxResult(result);
                JSONObject object = getJSONObject(result1);
                String code = object.getStr("ResultCode");
                if (null != code && code.equals("0")) {
                    JSONObject resultData = object.getJSONObject("ResultData");
                    String cfh = resultData.getStr("cfh");
                    log.info("药品申请后的处方号是: " + cfh + "  outpinmedicapplyDetilsDtos 里面的值为: " + outpinmedicapplyDetilsDtos.toString());
                    for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
                        TjCf cf = new TjCf();
                        cf.setCardId(cardId);
                        cf.setSfzh(customer.getCusIdcard());
                        cf.setCfh(cfh);
                        cf.setSqysbm(ysbm);
                        cf.setSqysxm(ysmc);
                        cf.setMzksbn(dept);
                        cf.setSqrq(date);
                        cf.setCzybm(ysbm);
                        cf.setYpbm(detilsDto.getYpbm());
                        cf.setYpmc(detilsDto.getYpmc());
                        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();