From c42f62b32bac302a7ac9fcde7489f7c5fc6e11aa Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期五, 06 十二月 2024 15:35:17 +0800
Subject: [PATCH] zjh20241205-3

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java |  151 +++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 123 insertions(+), 28 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 27ce46e..d752b28 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
@@ -25,6 +25,7 @@
 import com.ltkj.mall.mallOrderUtils.TjConstants;
 import com.ltkj.system.service.ISysConfigService;
 import com.ltkj.system.service.ISysDeptService;
+import com.ltkj.system.service.ISysDictDataService;
 import com.ltkj.system.service.ISysUserService;
 import com.ltkj.web.controller.his.HisApiGetMethodService;
 import com.ltkj.web.controller.his.HisApiMethodService;
@@ -150,6 +151,8 @@
     private LisJyflhbService lisJyflhbService;
     @Autowired
     private SamplingServiceApi samplingServiceApi;
+    @Autowired
+    private ISysDictDataService sysDictDataService;
 
 
     @Override
@@ -828,8 +831,9 @@
             }
 
         }
-        List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(),jxbz);
-        addCaiYangDengJi(detailList,!detailList.isEmpty(), order, sysUser,jxbz);
+        // TODO 鍜岀鍒扮櫥璁颁竴鏍� 鍙湁閰嶇疆涓殑浠ュ強鏀惰垂绫诲瀷涓轰綋妫�绁ㄦ椂鎵嶅鍔犲埌閲囨牱绠$悊琛�
+//        List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(),jxbz);
+//        addCaiYangDengJi(detailList,!detailList.isEmpty(), order, sysUser,jxbz);
 
         tjOrderDetails = new ArrayList<>();
 
@@ -996,10 +1000,18 @@
             }
 
             // TODO 鍜岀鍒扮櫥璁颁竴鏍� 鍙湁閰嶇疆涓殑浠ュ強鏀惰垂绫诲瀷涓轰綋妫�绁ㄦ椂鎵嶅鍔犲埌閲囨牱绠$悊琛�
-            if (lisApiMethod.isUseLisAndPacsRegister(order) && tjFlowingWater.getPayType() == 6L) {
+            if(config.equals("Y")){
+                if (lisApiMethod.isUseLisAndPacsRegister(order) && tjFlowingWater.getPayType() == 6L) {
+                    List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz);
+                    addCaiYangDengJi(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
+                }
+            }else {
+                tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(order.getOrderId()),
+                        sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
                 List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz);
-                addCaiYangDengJi(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
+                addCaiYangDengJiByDiaoYongShiTu(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
             }
+
         }
 
 //        Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
@@ -1276,11 +1288,89 @@
         return true;
     }
 
+    public void addCaiYangDengJiByDiaoYongShiTu(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);
+                    }
+                }
+            }
+
+        }
+    }
+
+
 
     //浣撴瀵筯is鐢宠鍗曡皟鐢ㄦ柟娉�
     public AjaxResult tijianbulushenqing(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) {
         TjOrder order = orderService.getOrderByCardId(cardId);
         if(null !=order){
+            String dept = configService.selectConfigByKey("request_default_dept");
+            String ysbm = configService.selectConfigByKey("request_default_ysbm");
+            String ysmc = configService.selectConfigByKey("request_default_ysmc");
             List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(),cardId,jxbz);
             Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
             List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>();
@@ -1289,8 +1379,9 @@
                 pacsReg(order, customer, jianChaProjects);
                 LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
                 wrapper.eq(TjSampling::getTjNum,order.getTjNumber());
+                wrapper.eq(TjSampling::getJxbz,jxbz);
                 List<TjSampling> list = tjSamplingService.list(wrapper);
-                log.info("閲囨牱鏁版嵁 ->{}",list);
+                log.info("閲囨牱鏁版嵁 ->{}",JSONUtil.toJsonStr(list));
                 if (!list.isEmpty()){
                     Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode));
                     log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap));
@@ -1300,7 +1391,7 @@
                         // Lis鏍囨湰浠g爜
                         String specimenTypeCode = entry.getKey();
                         List<TjSampling> samplings = entry.getValue();
-                        if (samplings.size() > 1){
+                        if (samplings.size() >= 2){
                             // 杩涜鍚堝苟
                             List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
                             log.info("鎻愬彇id ->{}",stringList);
@@ -1311,8 +1402,12 @@
                                     ids.add(s);
                                 }
                             }
-                            String id = tjSamplingService.mergeCaiYangApi(stringList);
-                            ids.add(id);
+                            if (stringList.size() > 1) {
+                                String id = tjSamplingService.mergeCaiYangApi(stringList);
+                                ids.add(id);
+                            }else {
+                                ids.add(stringList.get(0));
+                            }
                         }else {
                             ids.add(samplings.get(0).getId());
                         }
@@ -1326,11 +1421,11 @@
                 OutpintestapplyDto dto = new OutpintestapplyDto();
                 dto.setHisRegistrationId(cardId);
                 dto.setSfzh(customer.getCusIdcard());
-                dto.setSqysbm("00029");
-                dto.setMzksbm("0101");
+                dto.setSqysbm(ysbm);
+                dto.setMzksbm(dept);
                 dto.setSjrq(date);
-                dto.setCzybm("00029");
-                dto.setCzyksbm("0101");
+                dto.setCzybm(ysbm);
+                dto.setCzyksbm(dept);
                 dto.setSfjz("0");
 
                 List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
@@ -1431,10 +1526,10 @@
                 OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto();
                 outpinexamapplyDto.setHisRegistrationId(cardId);
                 outpinexamapplyDto.setSfzh(customer.getCusIdcard());
-                outpinexamapplyDto.setSqysbm("00029");
-                outpinexamapplyDto.setMzksbm("0101");
-                outpinexamapplyDto.setCzybm("00029");
-                outpinexamapplyDto.setCzyksbm("0101");
+                outpinexamapplyDto.setSqysbm(ysbm);
+                outpinexamapplyDto.setMzksbm(dept);
+                outpinexamapplyDto.setCzybm(ysbm);
+                outpinexamapplyDto.setCzyksbm(dept);
                 outpinexamapplyDto.setSfjz("0");
 //        List<TbTransition> detailLists = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
                 List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>();
@@ -1533,11 +1628,11 @@
                 OutpintreatapplyDto dao = new OutpintreatapplyDto();
                 dao.setHisRegistrationId(cardId);
                 dao.setSfzh(customer.getCusIdcard());
-                dao.setSqysbm("00029");
-                dao.setMzksbm("0101");
+                dao.setSqysbm(ysbm);
+                dao.setMzksbm(dept);
                 dao.setSjrq(date);
-                dao.setCzybm("00029");
-                dao.setCzyksbm("0101");
+                dao.setCzybm(ysbm);
+                dao.setCzyksbm(dept);
                 dao.setSfjz("0");
 //        List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
                 List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
@@ -1636,11 +1731,11 @@
                     OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
                     dto1.setHisRegistrationId(cardId);
                     dto1.setSfzh(customer.getCusIdcard());
-                    dto1.setSqysbm("00029");
-                    dto1.setMzksbm("0101");
+                    dto1.setSqysbm(ysbm);
+                    dto1.setMzksbm(dept);
                     dto1.setSjrq(date);
-                    dto1.setCzybm("00029");
-                    dto1.setCzyksbm("0101");
+                    dto1.setCzybm(ysbm);
+                    dto1.setCzyksbm(dept);
                     dto1.setCflxbm("A");
                     dto1.setYfbm("1");
                     dto1.setFyts("1");
@@ -1661,11 +1756,11 @@
                             cf.setCardId(cardId);
                             cf.setSfzh(customer.getCusIdcard());
                             cf.setCfh(cfh);
-                            cf.setSqysbm("00029");
-                            cf.setSqysxm("鐜嬪仴钀�");
-                            cf.setMzksbn("0101");
+                            cf.setSqysbm(ysbm);
+                            cf.setSqysxm(ysmc);
+                            cf.setMzksbn(dept);
                             cf.setSqrq(date);
-                            cf.setCzybm("00029");
+                            cf.setCzybm(ysbm);
                             cf.setYpbm(detilsDto.getYpbm());
                             cf.setYpmc("灏跨礌[14C]鍛兼皵璇曢獙鑽洅");
                             cf.setSl(String.valueOf(detilsDto.getSl()));

--
Gitblit v1.8.0