From 7e73e7699d55b4b229bef4dc5d89e01aedef5a19 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期一, 19 五月 2025 17:13:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java |  761 +++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 484 insertions(+), 277 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
index ec8118a..ccbb6c1 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -1,6 +1,5 @@
 package com.ltkj.web.controller.service;
 
-import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.IdUtil;
@@ -14,11 +13,13 @@
 import com.ltkj.common.core.domain.entity.SysDept;
 import com.ltkj.common.core.domain.entity.SysUser;
 import com.ltkj.common.core.redis.RedisCache;
-import com.ltkj.common.utils.IdUtils;
+import com.ltkj.hosp.idutil.IdUtils;
 import com.ltkj.common.utils.StringUtils;
 import com.ltkj.framework.config.MatchUtils;
 import com.ltkj.hosp.domain.*;
 import com.ltkj.hosp.hisDto.*;
+import com.ltkj.hosp.mapper.TjOrderDetailMapper;
+import com.ltkj.hosp.mapper.TjOrderRemarkMapper;
 import com.ltkj.hosp.mapper.TjSamplingMapper;
 import com.ltkj.hosp.pacsDto.SavePacsApply;
 import com.ltkj.hosp.service.*;
@@ -171,6 +172,12 @@
     private ITjRulesService rulesService;
     @Autowired
     private ITjProAdvicerulesService tjProAdvicerulesService;
+
+    @Autowired
+    private TjOrderDetailMapper detailMapper;
+
+    @Autowired
+    private TjOrderRemarkMapper remarkMapper;
 
 
 
@@ -444,101 +451,107 @@
     }
 
     public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) {
-        String lis_tmh_prefix = sysConfigService.selectConfigByKey("make_lis_tmh_prefix");
-        String config = configService.selectConfigByKey("sfkqdyhis");
-        Boolean lisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
-        if (null != detailList && detailList1) {
-            String format = DateUtil.format(new Date(), "yyMMddHHmmssSSS");
-            for (TjOrderDetail detail : detailList) {
-                TjSampling sampling = new TjSampling();
-                if (null == projectService.getById(detail.getProId())) continue;
-                TjProject project = projectService.getById(detail.getProId());
-                Long proParentId = project.getProParentId();
-                String dictLabel = sysDictDataService.selectDictLabel("sys_dict_specimen", project.getSpecimenType());
-                if (null != proParentId && proParentId == 0) {
-                    sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix));
-//                    LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project);
-//                    if (jyxmzd != null) {
-                    if (config.equals("Y") && lisAndPacsRegister)
-                        sampling.setJyxmdm(project.getLisXmbm());
-                    else sampling.setJyxmdm(String.valueOf(project.getProId()));
-                    sampling.setSpecimenTypeCode(project.getSpecimenType());
-                    sampling.setSpecimenType(dictLabel);
-//                        LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>();
-//                        wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
-//                        LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
-//                        sampling.setSpecimenType(jybbzd.getJybbmc());
-//                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
-//                    }
-                } else {
-                    TjProject project1 = projectService.getById(proParentId);
-                    sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix));
-                    sampling.setSpecimenTypeCode(project1.getSpecimenType());
-                    sampling.setSpecimenType(dictLabel);
-                    if (config.equals("Y") && lisAndPacsRegister)
-                        sampling.setJyxmdm(project1.getLisXmbm());
-                    else sampling.setJyxmdm(String.valueOf(project1.getProId()));
-//                    LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project1);
-//                    if (jyxmzd != null) {
-//                        sampling.setSpecimenTypeCode(jyxmzd.getJybbdm());
-//                        LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>();
-//                        wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
-//                        LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
-//                        sampling.setSpecimenType(jybbzd.getJybbmc());
-//                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
-//                    }
+        try {
+            String lis_tmh_prefix = sysConfigService.selectConfigByKey("make_lis_tmh_prefix");
+            String config = configService.selectConfigByKey("sfkqdyhis");
+            Boolean lisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
+            if (null != detailList && detailList1) {
+                String format = DateUtil.format(new Date(), "yyMMddHHmmssSSS");
+                for (TjOrderDetail detail : detailList) {
+                    int i = samplingService.isExistProId(order.getTjNumber(), String.valueOf(detail.getProId()));
+                    if(i>0) continue;
+                    TjSampling sampling = new TjSampling();
+                    if (null == projectService.getById(detail.getProId())) continue;
+                    TjProject project = projectService.getById(detail.getProId());
+                    Long proParentId = project.getProParentId();
+                    String dictLabel = sysDictDataService.selectDictLabel("sys_dict_specimen", project.getSpecimenType());
+                    if (null != proParentId && proParentId == 0) {
+                        sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix));
+    //                    LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project);
+    //                    if (jyxmzd != null) {
+                        if (config.equals("Y") && lisAndPacsRegister)
+                            sampling.setJyxmdm(project.getLisXmbm());
+                        else sampling.setJyxmdm(String.valueOf(project.getProId()));
+                        sampling.setSpecimenTypeCode(project.getSpecimenType());
+                        sampling.setSpecimenType(dictLabel);
+    //                        LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>();
+    //                        wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
+    //                        LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
+    //                        sampling.setSpecimenType(jybbzd.getJybbmc());
+    //                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
+    //                    }
+                    } else {
+                        TjProject project1 = projectService.getById(proParentId);
+                        sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix));
+                        sampling.setSpecimenTypeCode(project1.getSpecimenType());
+                        sampling.setSpecimenType(dictLabel);
+                        if (config.equals("Y") && lisAndPacsRegister)
+                            sampling.setJyxmdm(project1.getLisXmbm());
+                        else sampling.setJyxmdm(String.valueOf(project1.getProId()));
+    //                    LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project1);
+    //                    if (jyxmzd != null) {
+    //                        sampling.setSpecimenTypeCode(jyxmzd.getJybbdm());
+    //                        LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>();
+    //                        wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
+    //                        LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
+    //                        sampling.setSpecimenType(jybbzd.getJybbmc());
+    //                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
+    //                    }
+                    }
+                    sampling.setSamplingNumber(format);
+                    sampling.setTjNum(order.getTjNumber());
+                    sampling.setCusId(String.valueOf(order.getUserId()));
+                    if (tjCustomerService.getById(String.valueOf(order.getUserId())) != null) {
+                        sampling.setCusName(tjCustomerService.getById(String.valueOf(order.getUserId())).getCusName());
+                    }
+                    sampling.setApplicationTime(new Date());
+                    sampling.setTjTime(order.getCreateTime());
+                    sampling.setProId(String.valueOf(detail.getProId()));
+                    sampling.setProName(projectService.getById(detail.getProId()).getProName());
+                    sampling.setCreateBy(sysUser.getNickName());
+                    sampling.setCreateTime(new Date());
+                    sampling.setUpdateBy(sysUser.getNickName());
+                    sampling.setUpdateTime(new Date());
+                    sampling.setCreateId(String.valueOf(sysUser.getUserId()));
+                    sampling.setUpdateId(String.valueOf(sysUser.getUserId()));
+                    sampling.setJxbz(jxbz);
+                    samplingService.save(sampling);
                 }
-                sampling.setSamplingNumber(format);
-                sampling.setTjNum(order.getTjNumber());
-                sampling.setCusId(String.valueOf(order.getUserId()));
-                if (tjCustomerService.getById(String.valueOf(order.getUserId())) != null) {
-                    sampling.setCusName(tjCustomerService.getById(String.valueOf(order.getUserId())).getCusName());
-                }
-                sampling.setApplicationTime(new Date());
-                sampling.setTjTime(order.getCreateTime());
-                sampling.setProId(String.valueOf(detail.getProId()));
-                sampling.setProName(projectService.getById(detail.getProId()).getProName());
-                sampling.setCreateBy(sysUser.getNickName());
-                sampling.setCreateTime(new Date());
-                sampling.setUpdateBy(sysUser.getNickName());
-                sampling.setUpdateTime(new Date());
-                sampling.setCreateId(String.valueOf(sysUser.getUserId()));
-                sampling.setUpdateId(String.valueOf(sysUser.getUserId()));
-                sampling.setJxbz(jxbz);
-                samplingService.save(sampling);
             }
-        }
-        if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){
-            AjaxResult ajaxResult = lisApiMethod.getJyFlHb();
-            if (ajaxResult.get("code").toString().equals("200")){
-                String str = ajaxResult.get("data").toString();
-                str = str.replace("=", ":");
-                JSONArray array = JSONUtil.parseArray(str);
-                for (Object o : array) {
-                    JSONObject object = (JSONObject) o;
-                    LisJyflhb lisJyflhb = new LisJyflhb();
-                    lisJyflhb.setHbhxm(object.getStr("hbhxm"));
-                    lisJyflhb.setFlmc(object.getStr("flmc"));
-                    lisJyflhb.setMc(object.getStr("mc"));
-                    lisJyflhb.setFlbm(object.getStr("flbm"));
-                    LambdaQueryWrapper<LisJyflhb> wrapper = new LambdaQueryWrapper<>();
-                    wrapper.eq(LisJyflhb::getFlbm,lisJyflhb.getFlbm());
-                    LisJyflhb jyflhb = lisJyflhbService.getOne(wrapper);
-                    if (jyflhb == null) {
-                        lisJyflhb.setId(IdUtil.getSnowflake().nextId());
-                        lisJyflhbService.save(lisJyflhb);
-                    }else {
-                        lisJyflhb.setId(jyflhb.getId());
-                        lisJyflhbService.updateById(lisJyflhb);
+            if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){
+                AjaxResult ajaxResult = lisApiMethod.getJyFlHb();
+                if (ajaxResult.get("code").toString().equals("200")){
+                    String str = ajaxResult.get("data").toString();
+                    str = str.replace("=", ":");
+                    JSONArray array = JSONUtil.parseArray(str);
+                    for (Object o : array) {
+                        JSONObject object = (JSONObject) o;
+                        LisJyflhb lisJyflhb = new LisJyflhb();
+                        lisJyflhb.setHbhxm(object.getStr("hbhxm"));
+                        lisJyflhb.setFlmc(object.getStr("flmc"));
+                        lisJyflhb.setMc(object.getStr("mc"));
+                        lisJyflhb.setFlbm(object.getStr("flbm"));
+                        LambdaQueryWrapper<LisJyflhb> wrapper = new LambdaQueryWrapper<>();
+                        wrapper.eq(LisJyflhb::getFlbm,lisJyflhb.getFlbm());
+                        LisJyflhb jyflhb = lisJyflhbService.getOne(wrapper);
+                        if (jyflhb == null) {
+                            lisJyflhb.setId(IdUtil.getSnowflake().nextId());
+                            lisJyflhbService.save(lisJyflhb);
+                        }else {
+                            lisJyflhb.setId(jyflhb.getId());
+                            lisJyflhbService.updateById(lisJyflhb);
+                        }
                     }
                 }
-            }
 
-        }
-        if (StrUtil.isNotBlank(jxbz)){
-            tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()),jxbz);
-        }else {
-            tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()));
+            }
+            if (StrUtil.isNotBlank(jxbz)){
+                tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()),jxbz);
+            }else {
+                tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()));
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage());
         }
     }
 
@@ -584,68 +597,157 @@
     }
 
     @Override
-    @Async("async")
-    public void updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order,TjOrderRemark orderRemark) {
-        String deptname="";
-        TjProject tjProject = projectService.getById(orderRemark.getProId());
-        if(null !=tjProject){
-            SysDept dept = deptService.getById(tjProject.getDeptId());
-            if(dept.getParentId()!=100L){
-                deptname= deptService.getprentks(dept.getParentId().toString());
-            }else {
-                deptname=dept.getDeptName();
-            }
+    //@Async("async")
+    public void updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order, TjOrderRemark orderRemark) {
+
+        try {
+            String deptname = "";
+            TjProject tjProject = projectService.getById(orderRemark.getProId());
+            if (null != tjProject) {
+                SysDept dept = deptService.getById(tjProject.getDeptId());
+                if (dept.getParentId() != 100L) {
+                    deptname = deptService.getprentks(dept.getParentId().toString());
+                } else {
+                    deptname = dept.getDeptName();
+                }
+                String xb= tjCustomerService.getSexByTjh(order.getTjNumber());
+
+                StringBuilder ssyszys = new StringBuilder();
+                StringBuilder ssyszyjgs = new StringBuilder();
+                List<Map<String, Object>> jianyilis=new ArrayList<>();
+                for (TjOrderDetail detail : tjOrderDetailList) {
+                    detail.setTjStatus(1L);
+                    LambdaQueryWrapper<TjStandard> wq0 = new LambdaQueryWrapper<>();
+                    wq0.eq(TjStandard::getProId, detail.getProId());
+                    detail.setUpdateBy(sysUser.getNickName());
+                    detail.setUpdateTime(new Date());
+                    detail.setCreateId(String.valueOf(sysUser.getUserId()));
+                    detail.setUpdateId(String.valueOf(sysUser.getUserId()));
+                    tjOrderDetailService.updateById(detail);
+
+                    LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
+                    wq.eq(TjOrderYcxm::getTjh, order.getTjNumber());
+                    wq.eq(TjOrderYcxm::getJcxm, detail.getProName());
+                    ycxmService.remove(wq);
+                    if (detail.getExceptionDesc() == 1) {
+                        if(tjProject.getSfcyyc()==0){
+                            String replacedAll = detail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+                                    .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "").replaceAll("鈼�", "");
+
+                            if(!detail.getProName().contains("鑸掑紶鍘�") && !detail.getProName().contains("鏀剁缉鍘�")){
+
+                                List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(detail.getProId().toString(), replacedAll, "", order.getTjNumber()
+                                        , replacedAll, detail.getProResult());
 
 
-            for (TjOrderDetail detail : tjOrderDetailList) {
-                detail.setTjStatus(1L);
-                LambdaQueryWrapper<TjStandard> wq0 = new LambdaQueryWrapper<>();
-                wq0.eq(TjStandard::getProId, detail.getProId());
-                detail.setUpdateBy(sysUser.getNickName());
-                detail.setUpdateTime(new Date());
-                detail.setCreateId(String.valueOf(sysUser.getUserId()));
-                detail.setUpdateId(String.valueOf(sysUser.getUserId()));
-                tjOrderDetailService.updateById(detail);
-                try {
-                    LambdaQueryWrapper<TjOrderYcxm> wq=new LambdaQueryWrapper<>();
-                    wq.eq(TjOrderYcxm::getTjh,order.getTjNumber());
-                    wq.eq(TjOrderYcxm::getJcxm,detail.getProName());
-                    TjOrderYcxm ycxm = ycxmService.getOne(wq);
-                    if(null !=ycxm){
-                        ycxm.setJcjg(detail.getProResult());
-                        List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(detail.getProId().toString()
-                                ,"","",order.getTjNumber()
-                                ,detail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "")
-                                        .replaceAll("[ 娴嬪畾妫�娴媇","")
-                                ,detail.getProResult());
+                                String[] split = detail.getProResult().split("[銆�,锛�:锛�.\\s]+");
+                                List<Map<String, Object>> mapList = new ArrayList<>();
+                                for (String s : split) {
+                                    s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "").replaceAll(" ","")
+                                            .replaceAll("鐥�","").replaceAll("[0-9]", "");
+                                    Map<String, Object> mapss = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname, s, "0",xb);
+                                    if (null != mapss && !mapss.isEmpty()) {
+                                        Object bt = mapss.get("bt");
+                                        Object nr = mapss.get("nr");
+                                        if (null != bt || null != nr) {
 
-                        String[] split = detail.getProResult().split("銆倈,|锛�");
-                        List<Map<String,Object>> mapList=new ArrayList<>();
-                        for (String s : split) {
-                            s = s.replaceAll("\n", "");
-//                                        Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s);
-                            Map<String,Object> mapss= tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname,s,"0");
-                            if(null !=mapss && !mapss.isEmpty()){
-                                Object bt = mapss.get("bt");
-                                Object nr = mapss.get("nr");
-                                if(null !=bt || null !=nr){
+                                        }
+                                        mapList.add(mapss);
+                                    }
+                                }
+                                TjOrderYcxm ycxm = ycxmService.getOne(wq);
+                                if (null != ycxm) {
+                                    ycxm.setJcjg(detail.getProResult());
+                                    if (null != maps && !maps.isEmpty()) {
+                                        ycxm.setJynr(JSONUtil.toJsonStr(maps));
+                                    }
+                                    if (!mapList.isEmpty()) {
+                                        ycxm.setJynr(JSONUtil.toJsonStr(mapList));
+                                    }
+                                    ycxmService.updateById(ycxm);
+                                }else {
+                                    TjOrderYcxm orderYcxm =new TjOrderYcxm();
+                                    orderYcxm.setTjh(order.getTjNumber());
+                                    orderYcxm.setParentName(tjProject.getProName());
+                                    orderYcxm.setJcxm(detail.getProName());
+                                    orderYcxm.setJcjg(detail.getProResult());
+                                    if (null != maps && !maps.isEmpty()) {
+                                        orderYcxm.setJynr(JSONUtil.toJsonStr(maps));
+                                    }
+                                    if (!mapList.isEmpty()) {
+                                        orderYcxm.setJynr(JSONUtil.toJsonStr(mapList));
+                                    }
+                                    orderYcxm.setJyjc("0");
+                                    ycxmService.save(orderYcxm);
+                                }
+                            }else {
 
-                                } mapList.add(mapss);
+                                List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(detail.getProId().toString()
+                                        , replacedAll, "", order.getTjNumber(), replacedAll, detail.getProResult());
+
+
+                                String[] split = detail.getProResult().split("[銆�,锛�:锛�.\\s]+");
+                                List<Map<String, Object>> mapList = new ArrayList<>();
+                                for (String s : split) {
+                                    s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "").replaceAll(" ","")
+                                            .replaceAll("鐥�","").replaceAll("[0-9]", "");
+                                    Map<String, Object> mapss = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname, s, "0",xb);
+                                    if (null != mapss && !mapss.isEmpty()) {
+                                        Object bt = mapss.get("bt");
+                                        Object nr = mapss.get("nr");
+                                        if (null != bt || null != nr) {
+
+                                        }
+                                        mapList.add(mapss);
+                                    }
+                                }
+
+                                if (null != maps && !maps.isEmpty()) {
+                                    jianyilis.addAll(maps);
+                                }
+                                if (!mapList.isEmpty()) {
+                                    jianyilis.addAll(mapList);
+                                }
+                                ssyszys.append(detail.getProName()).append("/");
+                                ssyszyjgs.append(detail.getProResult()).append("/");
                             }
                         }
+                    } else {
+                        if(detail.getProName().contains("鑸掑紶鍘�") || detail.getProName().contains("鏀剁缉鍘�")){
+                            ssyszys.append(detail.getProName()).append("/");
+                            ssyszyjgs.append(detail.getProResult()).append("/");
 
-                        if(null != maps && !maps.isEmpty()){
-                            ycxm.setJynr(JSONUtil.toJsonStr(maps));
                         }
-                        if( !mapList.isEmpty()){
-                            ycxm.setJynr(JSONUtil.toJsonStr(mapList));
-                        }
-                        ycxmService.updateById(ycxm);
-                        if(detail.getExceptionDesc()==0)ycxmService.remove(wq);
+
                     }
-                } catch (Exception e) {
+                }
+
+                // 浣跨敤 stream 杩囨护鍑� proName 涓� "鑸掑紶鍘�" 鎴� "鏀剁缉鍘�" 鐨勫厓绱�
+                List<TjOrderDetail> filteredList = tjOrderDetailList.stream()
+                        .filter(a -> ("鑸掑紶鍘�".equals(a.getProName()) || "鏀剁缉鍘�".equals(a.getProName())) && a.getExceptionDesc()==1)
+                        .collect(Collectors.toList());
+                if(StrUtil.isNotBlank(ssyszys.toString())){
+
+                    LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
+                    wq.eq(TjOrderYcxm::getTjh, order.getTjNumber());
+                    wq.like(TjOrderYcxm::getJcxm,"鑸掑紶鍘�");
+                    ycxmService.remove(wq);
+
+                    if(!filteredList.isEmpty()){
+                        TjOrderYcxm orderYcxm =new TjOrderYcxm();
+                        orderYcxm.setTjh(order.getTjNumber());
+                        orderYcxm.setParentName(tjProject.getProName());
+                        orderYcxm.setJcxm(ssyszys.toString().replaceFirst("/$", ""));
+                        orderYcxm.setJcjg(ssyszyjgs.toString().replaceFirst("/$", ""));
+                        orderYcxm.setJynr(JSONUtil.toJsonStr(jianyilis));
+                        orderYcxm.setJyjc("0");
+                        ycxmService.save(orderYcxm);
+                    }
                 }
             }
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error(String.valueOf(e));
         }
 
     }
@@ -745,7 +847,10 @@
                 //濡傛灉璇ラ」鐩瓨鍦� 鍒� 涓嶄繚瀛�
 
                 TjOrderDetail orderDetail = tjOrderDetailService.getTjOrderDetailByOrderId(String.valueOf(tjFlowingWater.getOrderId()), tjProId);
-                if(null !=orderDetail) continue;
+//                if(null !=orderDetail) continue;
+                if(null !=orderDetail) {
+                    detailMapper.updateTjOrderDetailDel(orderDetail.getOrderDetailId().toString());
+                }
 
                 TjProject projects = projectService.selectTjProjectByProId(Long.valueOf(tjProId));
                 if (null != projects) {
@@ -788,6 +893,12 @@
         if(!projectList.isEmpty()){
             List<TjProject> list = projectList.stream().distinct().collect(Collectors.toList());
             for (TjProject project : list) {
+
+                TjOrderRemark orderRemark = orderRemarkService.getTjOrderRemarkByTjNumAndProParentId(order.getTjNumber(), String.valueOf(project.getProId()));
+                if(null !=orderRemark){
+                    remarkMapper.updateTjOrderRemarkdel(orderRemark.getRemarkId().toString());
+                }
+
                 TjOrderRemark tjOrderRemark = new TjOrderRemark();
                 tjOrderRemark.setProId(project.getProId());
                 tjOrderRemark.setProName(project.getProName());
@@ -801,6 +912,12 @@
                 tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId()));
                 tjOrderRemark.setJxbz(jxbz);
                 orderRemarkService.save(tjOrderRemark);
+
+
+                TjOrderDetail orderDetail = tjOrderDetailService.getTjOrderDetailByOrderId(String.valueOf(tjFlowingWater.getOrderId()), project.getProId().toString());
+                if(null !=orderDetail) {
+                    detailMapper.updateTjOrderDetailDel(orderDetail.getOrderDetailId().toString());
+                }
 
                 TjOrderDetail detail1 = new TjOrderDetail();
                 detail1.setTjStatus(0L);
@@ -845,86 +962,93 @@
     }
 
     public void addCaiYangDengJiByDiaoYongShiTu(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) {
-        String lis_tmh_prefix = sysConfigService.selectConfigByKey("make_lis_tmh_prefix");
-        if (null != detailList && detailList1) {
-            Date date = new Date();
-            String format = DateUtil.format(date, "yyMMddHHmmssSSS");
-            for (TjOrderDetail detail : detailList) {
-                TjSampling sampling = new TjSampling();
-                if (null == projectService.getById(detail.getProId())) continue;
-                TjProject project = projectService.getById(detail.getProId());
-                Long proParentId = project.getProParentId();
-                String dictLabel = sysDictDataService.selectDictLabel("sys_dict_specimen", project.getSpecimenType());
-                if (null != proParentId && proParentId == 0) {
-                    sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix));
-                    sampling.setSpecimenTypeCode(project.getSpecimenType());
-                    sampling.setSpecimenType(dictLabel);
-                    sampling.setJyxmdm(project.getProId().toString());
-                } else {
-                    TjProject project1 = projectService.getById(proParentId);
-                    sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix));
+        try {
+            String lis_tmh_prefix = sysConfigService.selectConfigByKey("make_lis_tmh_prefix");
+            if (null != detailList && detailList1) {
+                Date date = new Date();
+                String format = DateUtil.format(date, "yyMMddHHmmssSSS");
+                for (TjOrderDetail detail : detailList) {
+                    int i = samplingService.isExistProId(order.getTjNumber(), String.valueOf(detail.getProId()));
+                    if(i>0) continue;
 
-                    sampling.setSpecimenTypeCode(project1.getSpecimenType());
-                    sampling.setSpecimenType(dictLabel);
-                    sampling.setJyxmdm(project.getProId().toString());
+                    TjSampling sampling = new TjSampling();
+                    if (null == projectService.getById(detail.getProId())) continue;
+                    TjProject project = projectService.getById(detail.getProId());
+                    Long proParentId = project.getProParentId();
+                    String dictLabel = sysDictDataService.selectDictLabel("sys_dict_specimen", project.getSpecimenType());
+                    if (null != proParentId && proParentId == 0) {
+                        sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix));
+                        sampling.setSpecimenTypeCode(project.getSpecimenType());
+                        sampling.setSpecimenType(dictLabel);
+                        sampling.setJyxmdm(project.getProId().toString());
+                    } else {
+                        TjProject project1 = projectService.getById(proParentId);
+                        sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix));
 
+                        sampling.setSpecimenTypeCode(project1.getSpecimenType());
+                        sampling.setSpecimenType(dictLabel);
+                        sampling.setJyxmdm(project.getProId().toString());
+
+                    }
+                    sampling.setSamplingNumber(format);
+                    sampling.setTjNum(order.getTjNumber());
+                    sampling.setCusId(String.valueOf(order.getUserId()));
+                    if (tjCustomerService.getById(String.valueOf(order.getUserId())) != null) {
+                        sampling.setCusName(tjCustomerService.getById(String.valueOf(order.getUserId())).getCusName());
+                    }
+                    sampling.setApplicationTime(date);
+                    sampling.setTjTime(order.getCreateTime());
+                    sampling.setProId(String.valueOf(detail.getProId()));
+                    sampling.setProName(projectService.getById(detail.getProId()).getProName());
+                    sampling.setCreateBy(sysUser.getNickName());
+                    sampling.setCreateTime(date);
+                    sampling.setUpdateBy(sysUser.getNickName());
+                    sampling.setUpdateTime(date);
+                    sampling.setCreateId(String.valueOf(sysUser.getUserId()));
+                    sampling.setUpdateId(String.valueOf(sysUser.getUserId()));
+                    sampling.setJxbz(jxbz);
+                    samplingService.save(sampling);
                 }
-                sampling.setSamplingNumber(format);
-                sampling.setTjNum(order.getTjNumber());
-                sampling.setCusId(String.valueOf(order.getUserId()));
-                if (tjCustomerService.getById(String.valueOf(order.getUserId())) != null) {
-                    sampling.setCusName(tjCustomerService.getById(String.valueOf(order.getUserId())).getCusName());
-                }
-                sampling.setApplicationTime(date);
-                sampling.setTjTime(order.getCreateTime());
-                sampling.setProId(String.valueOf(detail.getProId()));
-                sampling.setProName(projectService.getById(detail.getProId()).getProName());
-                sampling.setCreateBy(sysUser.getNickName());
-                sampling.setCreateTime(date);
-                sampling.setUpdateBy(sysUser.getNickName());
-                sampling.setUpdateTime(date);
-                sampling.setCreateId(String.valueOf(sysUser.getUserId()));
-                sampling.setUpdateId(String.valueOf(sysUser.getUserId()));
-                sampling.setJxbz(jxbz);
-                samplingService.save(sampling);
             }
-        }
-        String config = configService.selectConfigByKey("sfkqdyhis");
-        if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){
-            AjaxResult ajaxResult = lisApiMethod.getJyFlHb();
-            if (ajaxResult.get("code").toString().equals("200")){
-                String str = ajaxResult.get("data").toString();
-                str = str.replace("=", ":");
-                JSONArray array = JSONUtil.parseArray(str);
-                for (Object o : array) {
-                    JSONObject object = (JSONObject) o;
-                    LisJyflhb lisJyflhb = new LisJyflhb();
-                    lisJyflhb.setHbhxm(object.getStr("hbhxm"));
-                    lisJyflhb.setFlmc(object.getStr("flmc"));
-                    lisJyflhb.setMc(object.getStr("mc"));
-                    lisJyflhb.setFlbm(object.getStr("flbm"));
-                    LambdaQueryWrapper<LisJyflhb> wrapper = new LambdaQueryWrapper<>();
-                    wrapper.eq(LisJyflhb::getFlbm,lisJyflhb.getFlbm());
-                    LisJyflhb jyflhb = lisJyflhbService.getOne(wrapper);
-                    if (jyflhb == null) {
-                        lisJyflhb.setId(IdUtil.getSnowflake().nextId());
-                        lisJyflhbService.save(lisJyflhb);
-                    }else {
-                        lisJyflhb.setId(jyflhb.getId());
-                        lisJyflhbService.updateById(lisJyflhb);
+            String config = configService.selectConfigByKey("sfkqdyhis");
+            if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){
+                AjaxResult ajaxResult = lisApiMethod.getJyFlHb();
+                if (ajaxResult.get("code").toString().equals("200")){
+                    String str = ajaxResult.get("data").toString();
+                    str = str.replace("=", ":");
+                    JSONArray array = JSONUtil.parseArray(str);
+                    for (Object o : array) {
+                        JSONObject object = (JSONObject) o;
+                        LisJyflhb lisJyflhb = new LisJyflhb();
+                        lisJyflhb.setHbhxm(object.getStr("hbhxm"));
+                        lisJyflhb.setFlmc(object.getStr("flmc"));
+                        lisJyflhb.setMc(object.getStr("mc"));
+                        lisJyflhb.setFlbm(object.getStr("flbm"));
+                        LambdaQueryWrapper<LisJyflhb> wrapper = new LambdaQueryWrapper<>();
+                        wrapper.eq(LisJyflhb::getFlbm,lisJyflhb.getFlbm());
+                        LisJyflhb jyflhb = lisJyflhbService.getOne(wrapper);
+                        if (jyflhb == null) {
+                            lisJyflhb.setId(IdUtil.getSnowflake().nextId());
+                            lisJyflhbService.save(lisJyflhb);
+                        }else {
+                            lisJyflhb.setId(jyflhb.getId());
+                            lisJyflhbService.updateById(lisJyflhb);
+                        }
                     }
                 }
-            }
 
-        }
-        if (StrUtil.isNotBlank(jxbz)){
-            tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()),jxbz);
-        }else {
-            tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()));
+            }
+            if (StrUtil.isNotBlank(jxbz)){
+                tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()),jxbz);
+            }else {
+                tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()));
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage());
         }
     }
 
-    List<String> mapJinchuan=null;
+    private static List<String> mapJinchuan=null;
     public AjaxResult tijianbulushenqingJinchuanNew(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) {
         mapJinchuan=new ArrayList<>();
         tijianbulushenqingOld( customer,date, cardId, jxbz, jianChaProjects, isTuanTiPiao);
@@ -1489,7 +1613,7 @@
                             if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
                                 if (null != project.getHisXmbm()) {
                                     if (project.getSfzhfy().equals("Y")) {
-                                        mapJinchuan.add(project.getProParentId().toString());
+                                        mapJinchuan.add(project.getProId().toString());
                                         OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
                                         detailsDto.setMxfyxmbm(project.getHisXmbm());
                                         if (project.getSfzhfy().equals("Y")) {
@@ -1707,17 +1831,32 @@
                             if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
                                 if (null != project.getHisXmbm()) {
                                     {
-                                        mapJinchuan.add(project.getProParentId().toString());
-                                        OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
-                                        detailsDto.setMxfyxmbm(project.getHisXmbm());
+
                                         if (project.getSfzhfy().equals("Y")) {
-                                            detailsDto.setSfzhfy("1");
-                                        } else {
-                                            detailsDto.setSfzhfy("0");
+                                            mapJinchuan.add(project.getProParentId().toString());
+                                            OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+                                            detailsDto.setMxfyxmbm(project.getHisXmbm());
+                                            if (project.getSfzhfy().equals("Y")) {
+                                                detailsDto.setSfzhfy("1");
+                                            } else {
+                                                detailsDto.setSfzhfy("0");
+                                            }
+                                            detailsDto.setSl(project.getSl());
+                                            detailsDto.setProjg(project.getProPrice());
+                                            detailDtos.add(detailsDto);
                                         }
-                                        detailsDto.setSl(project.getSl());
-                                        detailsDto.setProjg(project.getProPrice());
-                                        detailDtos.add(detailsDto);
+
+//                                        mapJinchuan.add(project.getProParentId().toString());
+//                                        OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+//                                        detailsDto.setMxfyxmbm(project.getHisXmbm());
+//                                        if (project.getSfzhfy().equals("Y")) {
+//                                            detailsDto.setSfzhfy("1");
+//                                        } else {
+//                                            detailsDto.setSfzhfy("0");
+//                                        }
+//                                        detailsDto.setSl(project.getSl());
+//                                        detailsDto.setProjg(project.getProPrice());
+//                                        detailDtos.add(detailsDto);
                                     }
                                 }
                                 List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
@@ -2411,6 +2550,7 @@
                                         detilsDto.setYpmc(i.getYpmc());
                                         detilsDto.setFzbl(i.getFzbl());
                                         detilsDto.setZh(i.getZh());
+                                        detilsDto.setCflx(i.getCflx());
                                         outpinmedicapplyDetilsDtos.add(detilsDto);
                                     });
                                 }
@@ -2522,6 +2662,7 @@
                                     detilsDto.setYpmc(i.getYpmc());
                                     detilsDto.setFzbl(i.getFzbl());
                                     detilsDto.setZh(i.getZh());
+                                    detilsDto.setCflx(i.getCflx());
                                     outpinmedicapplyDetilsDtos.add(detilsDto);
                                 });
                             }
@@ -2641,6 +2782,7 @@
                                     detilsDto.setYpmc(i.getYpmc());
                                     detilsDto.setFzbl(i.getFzbl());
                                     detilsDto.setZh(i.getZh());
+                                    detilsDto.setCflx(i.getCflx());
                                     outpinmedicapplyDetilsDtos.add(detilsDto);
                                 });
                             }
@@ -2688,65 +2830,130 @@
                     }
                 }
 
-                //鑽搧鐢宠
+                //鑽搧鐢宠 鍘熺増
+//                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(dept);
+//                    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.setJxbz(jxbz);
+//                            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(dept);
-                    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.setJxbz(jxbz);
-                            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);
+                            }
                         }
-                    }
+                    });
                 }
             }
         }

--
Gitblit v1.8.0