From 53d149f491dba554ee035599059a1bf65ea92df2 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期三, 12 二月 2025 17:36:13 +0800
Subject: [PATCH] 增加手动同步lis接口

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java |  243 +++++++++++++++++++++++++++++++-----------------
 1 files changed, 157 insertions(+), 86 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 002bf74..c489848 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
@@ -11,6 +11,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ltkj.common.core.domain.AjaxResult;
+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;
@@ -162,6 +163,14 @@
     private ISysConfigService sysConfigService;
     @Resource
     private ITjXdPictureService xdPictureService;
+    @Autowired
+    private TjOutpinmedicXmService tjOutpinmedicXmService;
+    @Autowired
+    private TjOrderYcxmService ycxmService;
+    @Autowired
+    private ITjRulesService rulesService;
+    @Autowired
+    private ITjProAdvicerulesService tjProAdvicerulesService;
 
 
 
@@ -576,17 +585,69 @@
 
     @Override
     @Async("async")
-    public void updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order) {
-        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);
+    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();
+            }
+
+
+            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("銆倈,|锛�");
+                        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);
+                            }
+                        }
+
+                        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) {
+                }
+            }
         }
+
     }
 
     @Override
@@ -1748,7 +1809,7 @@
                         if (samplings.size() >= 2){
                             // 杩涜鍚堝苟
                             List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
-                            log.info("鎻愬彇id ->{}",stringList);
+//                            log.info("鎻愬彇id ->{}",stringList);
                             for (int i = 0; i < stringList.size(); i++) {
                                 String s = stringList.get(i);
                                 if (tjSamplingService.isMergeItem(s) != 0) {
@@ -1771,6 +1832,7 @@
                         return AjaxResult.error("澶勭悊澶辫触");
                 }
             }else {
+                List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list();
                 //妫�楠岀敵璇�
                 if (null != detailList && !detailList.isEmpty()) {
                     LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
@@ -1815,30 +1877,33 @@
                                         detailsDtos.add(detailsDto);
                                     }
                                 }
-                                if(project.getProId()==1740177341251154377L){
-                                    OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
-                                    detilsDto.setYpbm("00006670");
-                                    detilsDto.setPcbm("06");
-                                    detilsDto.setSl("1");
-                                    detilsDto.setDj("60");
-                                    detilsDto.setDcjl("1");
-                                    detilsDto.setPj("60");
-                                    detilsDto.setJj("60");
-                                    detilsDto.setJldw("");
-                                    detilsDto.setTjbm("");
-                                    detilsDto.setPs("");
-                                    detilsDto.setPsbm("");
-                                    detilsDto.setYyts("");
-                                    detilsDto.setXtph("");
-                                    detilsDto.setScph("");
-                                    detilsDto.setYpxq("");
-                                    detilsDto.setCdbm("");
-                                    detilsDto.setKfdw("");
-                                    detilsDto.setYfdw("");
-                                    detilsDto.setYysm("");
-                                    detilsDto.setFzbl("1");
-                                    detilsDto.setZh("0");
-                                    outpinmedicapplyDetilsDtos.add(detilsDto);
+                                if (!outpinmedicXms.isEmpty()) {
+                                    outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> {
+                                        OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+                                        detilsDto.setYpbm(i.getYpbm());
+                                        detilsDto.setPcbm(i.getPcbm());
+                                        detilsDto.setSl(i.getSl());
+                                        detilsDto.setDj(i.getDj());
+                                        detilsDto.setDcjl(i.getDcjl());
+                                        detilsDto.setPj(i.getPj());
+                                        detilsDto.setJj(i.getJj());
+                                        detilsDto.setJldw("");
+                                        detilsDto.setTjbm("");
+                                        detilsDto.setPs("");
+                                        detilsDto.setPsbm("");
+                                        detilsDto.setYyts("");
+                                        detilsDto.setXtph("");
+                                        detilsDto.setScph("");
+                                        detilsDto.setYpxq("");
+                                        detilsDto.setCdbm("");
+                                        detilsDto.setKfdw("");
+                                        detilsDto.setYfdw("");
+                                        detilsDto.setYysm("");
+                                        detilsDto.setYpmc(i.getYpmc());
+                                        detilsDto.setFzbl(i.getFzbl());
+                                        detilsDto.setZh(i.getZh());
+                                        outpinmedicapplyDetilsDtos.add(detilsDto);
+                                    });
                                 }
                             }
                             if (!detailsDtos.isEmpty()) {
@@ -1922,31 +1987,34 @@
                                     }
                                 }
                             }
-                            boolean anyMatch = projects.stream().anyMatch(i -> i.getProParentId() == 1740177341251154377L);
-                            if(anyMatch){
-                                OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
-                                detilsDto.setYpbm("00006670");
-                                detilsDto.setPcbm("06");
-                                detilsDto.setSl("1");
-                                detilsDto.setDj("60");
-                                detilsDto.setDcjl("1");
-                                detilsDto.setPj("60");
-                                detilsDto.setJj("60");
-                                detilsDto.setJldw("");
-                                detilsDto.setTjbm("");
-                                detilsDto.setPs("");
-                                detilsDto.setPsbm("");
-                                detilsDto.setYyts("");
-                                detilsDto.setXtph("");
-                                detilsDto.setScph("");
-                                detilsDto.setYpxq("");
-                                detilsDto.setCdbm("");
-                                detilsDto.setKfdw("");
-                                detilsDto.setYfdw("");
-                                detilsDto.setYysm("");
-                                detilsDto.setFzbl("1");
-                                detilsDto.setZh("0");
-                                outpinmedicapplyDetilsDtos.add(detilsDto);
+                            List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
+                            if (!outpinmedicXms.isEmpty()) {
+                                outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
+                                    OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+                                    detilsDto.setYpbm(i.getYpbm());
+                                    detilsDto.setPcbm(i.getPcbm());
+                                    detilsDto.setSl(i.getSl());
+                                    detilsDto.setDj(i.getDj());
+                                    detilsDto.setDcjl(i.getDcjl());
+                                    detilsDto.setPj(i.getPj());
+                                    detilsDto.setJj(i.getJj());
+                                    detilsDto.setJldw("");
+                                    detilsDto.setTjbm("");
+                                    detilsDto.setPs("");
+                                    detilsDto.setPsbm("");
+                                    detilsDto.setYyts("");
+                                    detilsDto.setXtph("");
+                                    detilsDto.setScph("");
+                                    detilsDto.setYpxq("");
+                                    detilsDto.setCdbm("");
+                                    detilsDto.setKfdw("");
+                                    detilsDto.setYfdw("");
+                                    detilsDto.setYysm("");
+                                    detilsDto.setYpmc(i.getYpmc());
+                                    detilsDto.setFzbl(i.getFzbl());
+                                    detilsDto.setZh(i.getZh());
+                                    outpinmedicapplyDetilsDtos.add(detilsDto);
+                                });
                             }
                             if (!detailsDtoss.isEmpty()) {
                                 OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto();
@@ -2038,31 +2106,34 @@
                                     detailDtos.add(detailsDto);
                                 }
                             }
-                            boolean anyMatch = projects.stream().anyMatch(i -> i.getProParentId() == 1740177341251154377L);
-                            if(anyMatch){
-                                OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
-                                detilsDto.setYpbm("00006670");
-                                detilsDto.setPcbm("06");
-                                detilsDto.setSl("1");
-                                detilsDto.setDj("60");
-                                detilsDto.setDcjl("1");
-                                detilsDto.setPj("60");
-                                detilsDto.setJj("60");
-                                detilsDto.setJldw("");
-                                detilsDto.setTjbm("");
-                                detilsDto.setPs("");
-                                detilsDto.setPsbm("");
-                                detilsDto.setYyts("");
-                                detilsDto.setXtph("");
-                                detilsDto.setScph("");
-                                detilsDto.setYpxq("");
-                                detilsDto.setCdbm("");
-                                detilsDto.setKfdw("");
-                                detilsDto.setYfdw("");
-                                detilsDto.setYysm("");
-                                detilsDto.setFzbl("1");
-                                detilsDto.setZh("0");
-                                outpinmedicapplyDetilsDtos.add(detilsDto);
+                            List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
+                            if (!outpinmedicXms.isEmpty()) {
+                                outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
+                                    OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+                                    detilsDto.setYpbm(i.getYpbm());
+                                    detilsDto.setPcbm(i.getPcbm());
+                                    detilsDto.setSl(i.getSl());
+                                    detilsDto.setDj(i.getDj());
+                                    detilsDto.setDcjl(i.getDcjl());
+                                    detilsDto.setPj(i.getPj());
+                                    detilsDto.setJj(i.getJj());
+                                    detilsDto.setJldw("");
+                                    detilsDto.setTjbm("");
+                                    detilsDto.setPs("");
+                                    detilsDto.setPsbm("");
+                                    detilsDto.setYyts("");
+                                    detilsDto.setXtph("");
+                                    detilsDto.setScph("");
+                                    detilsDto.setYpxq("");
+                                    detilsDto.setCdbm("");
+                                    detilsDto.setKfdw("");
+                                    detilsDto.setYfdw("");
+                                    detilsDto.setYysm("");
+                                    detilsDto.setYpmc(i.getYpmc());
+                                    detilsDto.setFzbl(i.getFzbl());
+                                    detilsDto.setZh(i.getZh());
+                                    outpinmedicapplyDetilsDtos.add(detilsDto);
+                                });
                             }
                             if (!detailDtos.isEmpty()) {
                                 dao.setDetails(detailDtos);
@@ -2144,7 +2215,7 @@
                             cf.setSqrq(date);
                             cf.setCzybm(ysbm);
                             cf.setYpbm(detilsDto.getYpbm());
-                            cf.setYpmc("灏跨礌[14C]鍛兼皵璇曢獙鑽洅");
+                            cf.setYpmc(detilsDto.getYpmc());
                             cf.setSl(String.valueOf(detilsDto.getSl()));
                             cf.setDj(String.valueOf(detilsDto.getDj()));
                             cf.setDcjl(String.valueOf(detilsDto.getDcjl()));

--
Gitblit v1.8.0