From 06ef175a1e9f72b3863757319b2f6ff76c5a2f05 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期二, 03 十二月 2024 09:16:55 +0800
Subject: [PATCH] zjh20241202-3

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java |  145 +++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 125 insertions(+), 20 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
index 0eb3160..db6983c 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -23,6 +23,7 @@
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.RandomUtil;
 import cn.hutool.crypto.symmetric.DES;
 import cn.hutool.extra.pinyin.PinyinUtil;
@@ -43,10 +44,7 @@
 import com.ltkj.common.core.domain.entity.SysUser;
 import com.ltkj.common.core.redis.RedisCache;
 import com.ltkj.common.enums.DataSourceType;
-import com.ltkj.common.utils.AgeResult;
-import com.ltkj.common.utils.DateUtils;
-import com.ltkj.common.utils.PDFDocumentUtil;
-import com.ltkj.common.utils.SecurityUtils;
+import com.ltkj.common.utils.*;
 import com.ltkj.framework.config.MatchUtils;
 import com.ltkj.framework.config.ThreadPoolConfig;
 import com.ltkj.framework.config.UserHoder;
@@ -73,9 +71,8 @@
 import com.ltkj.mall.mallOrderUtils.TjConstants;
 import com.ltkj.mall.service.IMallCheckLogService;
 import com.ltkj.mall.service.IMallOrderService;
-import com.ltkj.system.service.ISysConfigService;
-import com.ltkj.system.service.ISysDeptService;
-import com.ltkj.system.service.ISysUserService;
+import com.ltkj.system.domain.TjDjdDyjl;
+import com.ltkj.system.service.*;
 import com.ltkj.web.controller.his.*;
 import com.ltkj.web.controller.lis.LisApiMethod;
 import com.ltkj.web.controller.pacs.PacsApiMethodService;
@@ -219,7 +216,16 @@
     private TjSamplingMapper tjSamplingMapper;
     @Autowired
     private ITjGroupingProService groupingProService;
-
+    @Autowired
+    private ITjDjdDyjlService djdDyjlService;
+    @Autowired
+    private IdUtils idUtils;
+    @Autowired
+    private LtkjJybbzdService jybbzdService;
+    @Autowired
+    private LisJyflhbService lisJyflhbService;
+    @Autowired
+    private ISysDictDataService sysDictDataService;
     //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡
     public JSONObject getJSONObject(String builder) {
         String Response = JSONUtil.parseObj(builder).getStr("Response");
@@ -454,6 +460,8 @@
                                 order.setPacName(dwDeptService.getById(order.getPacId()).getDwDeptName());
                             }
                         }
+                        TjDjdDyjl dycs = djdDyjlService.getDjdDyCsByTjNum(order.getTjNumber());
+                        if(null !=dycs)order.setDycs(Math.toIntExact(dycs.getDycs()));
                     }
                     collect = list.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
                 }
@@ -512,6 +520,8 @@
                         order.setPacName(dwDeptService.getById(order.getPacId()).getDwDeptName());
                     }
                 }
+                TjDjdDyjl dycs = djdDyjlService.getDjdDyCsByTjNum(order.getTjNumber());
+                if(null !=dycs)order.setDycs(Math.toIntExact(dycs.getDycs()));
             }
         }
         map.put("list", list);
@@ -946,7 +956,7 @@
             tjReservationService.updateById(tjReservation);
             if (null != tjReservation.getTeamNo() && tjOrder.getTjType().equals("1")) {
                 tjOrder.setTjType("1");
-            } else if (tjOrder.getTjType().equals("2")){
+            } else if (tjOrder.getTjType().equals("2")) {
                 tjOrder.setTjType("2");
             }
         }
@@ -1000,7 +1010,9 @@
         //鐢熸垚浣撴鍙�
         String tjNumber = (SecurityUtils.getUsername() + new SimpleDateFormat("yyMMddHHmmss").format(new Date()));
         tjOrder.setTjNumber(tjNumber);
+        BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount()));
 
+        tjOrder.setDiscount(discount.toString());
         if (tjOrderService.save(tjOrder)) {
             //淇濆瓨鏀惰揣鍦板潃
             if ("2".equals(tjOrder.getGetType())) {
@@ -1013,7 +1025,6 @@
             Long cusNumber = tjCustomer.getCusNumber();
             cusNumber += 1;
             tjCustomer.setCusNumber(cusNumber);
-            BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount()));
 
             if ("1".equals(tjOrder.getTjType())) {
                 if (null != tjReservation && tjReservation.getPayType() == 1) {
@@ -1111,7 +1122,7 @@
                     if (!ajaxResult.get("code").toString().equals("200")) return ajaxResult;
                     tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
                             sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
-                }else {
+                } else {
                     hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId());
                 }
 //                        hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId());
@@ -1133,12 +1144,104 @@
             if ("2".equals(tjOrder.getTjType())) {
                 //asyncService.newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
                 newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
+                List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
+                addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser,null);
             }
+            // 鏌ヨ 瀵规帴Lis銆丳acs鐢宠濡傛灉绫诲瀷鍖呭惈鍦ㄩ厤缃唴鍒欎娇鐢ㄥ鎺is銆乸acs
+            if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
+                // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁
+                tjFlowingWater.setPayStasus(1L);
+                newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
+//                AjaxResult ajaxResult = hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder, sysUser, result);
+//                if (!ajaxResult.get("code").toString().equals("200")) return ajaxResult;
+                tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
+                        sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
+
+                List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
+                addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser,null);
+
+            }
+
             return AjaxResult.success(tjNumber);
         }
         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
         return AjaxResult.error();
     }
+
+    public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) {
+        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());
+                        sampling.setSpecimenTypeCode(project.getSpecimenType());
+                        sampling.setSpecimenType(dictLabel);
+                        sampling.setJyxmdm(project.getProId().toString());
+                } else {
+                    TjProject project1 = projectService.getById(proParentId);
+                    sampling.setJyxh(idUtils.generateLisID());
+
+                        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);
+            }
+        }
+        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);
+                    }
+                }
+            }
+
+        }
+    }
+
 
 
     @PostMapping("/addPlOrderAndDetail")
@@ -1830,6 +1933,7 @@
                     }
                 }
             }
+            remarkService.updateRemark(tjNumber);
             asyncService.tjGoutAsync(domainVos, sysUser, list);
 
             TjCustomer customer = tjCustomerService.selectTjCustomerByCusId(tjOrder.getUserId());
@@ -1866,6 +1970,7 @@
             }*/
             return AjaxResult.success("绛剧鎴愬姛锛�");
         } else {
+            remarkService.updateRemark(tjNumber);
             return getAjaxResult(tjNumber);
         }
     }
@@ -2341,7 +2446,7 @@
 
         tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId()));
         boolean b = tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(),
-                String.valueOf(sysUser.getUserId()),tjOrder.getCardId());
+                String.valueOf(sysUser.getUserId()), tjOrder.getCardId());
         if (!b) {
             List<TjGroupingPro> proList = groupingProService.list(new LambdaQueryWrapper<TjGroupingPro>().eq(TjGroupingPro::getGroupingId, tjOrder.getGroupId()));
             if (null != proList && !proList.isEmpty()) {
@@ -2406,7 +2511,7 @@
             transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), BigDecimal.valueOf(Long.parseLong(tjFlowingWater.getDiscount())), tjOrder.getTjNumber());
         }
 
-        tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()),tjOrder.getCardId());
+        tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId());
 //        List<TjOrderDetail> list = tjOrderDetailService.getTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()));
 //        if (list != null) {
 //            for (TjOrderDetail tjOrderDetail : list) {
@@ -2679,7 +2784,7 @@
             customer.setCardId("0");
             tjCustomerService.updateById(customer);
             String configByKey = configService.selectConfigByKey("sfkqdyhis");
-            tjSamplingMapper.deleteByTjNumAndCusId(tjNum,order.getUserId());
+            tjSamplingMapper.deleteByTjNumAndCusId(tjNum, order.getUserId());
             if (configByKey.equals("Y")) {
 
                 HashMap<String, Object> hisRequestParams = new HashMap<>();
@@ -2951,7 +3056,7 @@
                 HashMap<String, Object> hisRequestParams = new HashMap<>();
                 hisRequestParams.put("patientId", order.getCardId());
                 AjaxResult queryPay = hisApiGetMethodService.getHISDataNew("QueryPay", hisRequestParams);
-                log.info("queryPay ->{}",JSONUtil.toJsonStr(queryPay));
+                log.info("queryPay ->{}", JSONUtil.toJsonStr(queryPay));
                 if (Integer.parseInt(queryPay.get("code").toString()) == 200) {
                     List<Map<String, String>> data = (List<Map<String, String>>) queryPay.get("data");
                     log.info("data鐨勬暟鎹槸" + JSONUtil.toJsonStr(data));
@@ -2979,13 +3084,13 @@
 
                 boolean b = hisApiMethod.ZfBlXm(dto.getBldhs(), order);
                 if (!b) {
-                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                     log.info("鎾ら攢澶辫触,璋冪敤浣滃簾鍑虹幇澶辫触");
                     return AjaxResult.error("鎾ら攢澶辫触,璋冪敤浣滃簾鍑虹幇澶辫触");
                 }
             }
             try {
-                extracted(dto,order);
+                extracted(dto, order);
             } catch (Exception e) {
                 log.info("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�");
                 return AjaxResult.error("鎾ら攢澶辫触,鍒犻櫎琛ㄥけ璐�!");
@@ -2995,8 +3100,8 @@
         return AjaxResult.error();
     }
 
-//    @Transactional(propagation =Propagation.REQUIRES_NEW)
-    public void extracted(TjProBlDto dto,TjOrder order) {
+    //    @Transactional(propagation =Propagation.REQUIRES_NEW)
+    public void extracted(TjProBlDto dto, TjOrder order) {
         for (String bldh : dto.getBldhs()) {
             remarkService.deleteTjOrderDetailByjxbz(bldh);
             tjOrderDetailService.deleteTjOrderDetailByjxbz(bldh);
@@ -3004,7 +3109,7 @@
             transitionService.deleteTjOrderDetailByjxbz(bldh);
             blService.remove(new LambdaQueryWrapper<TjProBl>().eq(TjProBl::getTjh, dto.getTjh()).eq(TjProBl::getBldh, bldh));
         }
-        tjSamplingMapper.deleteByTjNumAndCusIdAndJxbz(dto.getTjh(),order.getUserId(),dto.getBldhs());
+        tjSamplingMapper.deleteByTjNumAndCusIdAndJxbz(dto.getTjh(), order.getUserId(), dto.getBldhs());
     }
 
 

--
Gitblit v1.8.0