From aa17e1c55a7093a95f506c0343c6dcfe49d91161 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期一, 21 十月 2024 17:52:26 +0800 Subject: [PATCH] 体检状态判断修改 --- ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java | 131 +++++++++++++++++++++++++++++++++++-------- 1 files changed, 106 insertions(+), 25 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 039a8b7..d1e9395 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 @@ -3,6 +3,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; @@ -10,6 +11,7 @@ import com.ltkj.common.core.domain.AjaxResult; import com.ltkj.common.core.domain.entity.SysUser; import com.ltkj.common.core.redis.RedisCache; +import com.ltkj.common.utils.IdUtils; import com.ltkj.common.utils.SecurityUtils; import com.ltkj.common.utils.StringUtils; import com.ltkj.framework.config.MatchUtils; @@ -25,6 +27,7 @@ import com.ltkj.system.service.ISysConfigService; import com.ltkj.system.service.ISysDeptService; import com.ltkj.system.service.ISysUserService; +import com.ltkj.web.config.IdcardUtil.IdcardUtil; import com.ltkj.web.controller.his.HisApiGetMethodService; import com.ltkj.web.controller.his.HisApiMethodService; import com.ltkj.web.controller.lis.LisApiMethod; @@ -141,6 +144,13 @@ private PacsApiMethodService pacsApiMethodService; @Autowired private LisApiMethod lisApiMethod; + @Autowired + private IdUtils idUtils; + @Autowired + private LtkjJybbzdService jybbzdService; + @Autowired + private LisJyflhbService lisJyflhbService; + @Override public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) { @@ -403,25 +413,46 @@ chargingStandardService.save(tjChargingStandard); } - LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>(); - wq.eq(TjOrderDetail::getOrderId, order.getOrderId()); - wq.isNotNull(TjOrderDetail::getFlowingWaterId); - wq.eq(TjOrderDetail::getIsSampling, 0); - List<TjOrderDetail> detailList = tjOrderDetailService.list(wq); - addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser); +// LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>(); +// wq.eq(TjOrderDetail::getOrderId, order.getOrderId()); +// wq.isNotNull(TjOrderDetail::getFlowingWaterId); +// wq.eq(TjOrderDetail::getIsSampling, 0); +// List<TjOrderDetail> detailList = tjOrderDetailService.list(wq); + List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); + addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser,null); } - public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser) { + public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) { 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; - Long proParentId = projectService.getById(detail.getProId()).getProParentId(); + TjProject project = projectService.getById(detail.getProId()); + Long proParentId = project.getProParentId(); if (null != proParentId && proParentId == 0) { - sampling.setSpecimenType(projectService.getById(detail.getProId()).getSpecimenType()); + sampling.setJyxh(idUtils.generateLisID()); + LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project); + 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()); + } } else { - sampling.setSpecimenType(projectService.getById(projectService.getById(detail.getProId()).getProParentId()).getSpecimenType()); + TjProject project1 = projectService.getById(proParentId); + sampling.setJyxh(idUtils.generateLisID()); + 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()); @@ -439,8 +470,37 @@ sampling.setUpdateTime(new 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); + } + } + } + } } @@ -554,6 +614,7 @@ List<TjProject> projectList=new ArrayList<>(); + ArrayList<TjOrderDetail> tjOrderDetails = new ArrayList<>(); for (String tjProId : tjProIds) { // LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>(); // wqq.eq(TbTransition::getCusId, customer.getCusIdcard()); @@ -744,6 +805,12 @@ } else { // wqq.in(TbTransition::getProId, Arrays.asList(tjProIds)); + + //濡傛灉璇ラ」鐩瓨鍦� 鍒� 涓嶄繚瀛� + + TjOrderDetail orderDetail = tjOrderDetailService.getTjOrderDetailByOrderId(String.valueOf(tjFlowingWater.getOrderId()), tjProId); + if(null !=orderDetail) continue; + TjProject projects = projectService.selectTjProjectByProId(Long.valueOf(tjProId)); if (null != projects) { TjProject projectss = projectService.getById(projects.getProParentId()); @@ -764,6 +831,7 @@ detail.setUpdateId(String.valueOf(sysUser.getUserId())); detail.setJxbz(jxbz); tjOrderDetailService.save(detail); + tjOrderDetails.add(detail); } @@ -782,6 +850,15 @@ } } +// List<TjOrderDetail> collect = tjOrderDetails.stream().filter(item -> { +// TjProject project = projectService.getById(item.getProId()); +// return project != null && project.getProParentId() == 0; +// }).collect(Collectors.toList()); +//// addCaiYangDengJi(collect, !collect.isEmpty(), order, sysUser,jxbz); + List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); + addCaiYangDengJi(detailList,!detailList.isEmpty(), order, sysUser,jxbz); + + tjOrderDetails = new ArrayList<>(); ArrayList<TjProject> jianChaProjects = new ArrayList<>(); ArrayList<TjProject> jianYanProjects = new ArrayList<>(); @@ -816,6 +893,7 @@ detail1.setUpdateId(String.valueOf(sysUser.getUserId())); detail1.setJxbz(jxbz); tjOrderDetailService.save(detail1); + tjOrderDetails.add(detail1); if(null !=config && config.equals("Y")){ //妫�楠� // if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && (project.getDeptId() == 241L || project.getDeptId() == 317L)) { @@ -953,18 +1031,19 @@ } } } +// collect = tjOrderDetails.stream().filter(item -> { +// TjProject project = projectService.getById(item.getProId()); +// return project != null && project.getProParentId() == 0; +// }).collect(Collectors.toList()); +//// addCaiYangDengJi(collect, !collect.isEmpty(), order, sysUser,jxbz); + List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); + addCaiYangDengJi(detailLists,!detailLists.isEmpty(), order, sysUser,jxbz); } + Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); if(null !=config && config.equals("Y")){ - if (lisApiMethod.isUseLisAndPacsRegister(order)) { - List<TjProject> projectList2 = jianYanProjects.stream().distinct().collect(Collectors.toList()); - LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>(); - wq.eq(TjOrderDetail::getOrderId, order.getOrderId()); - wq.isNotNull(TjOrderDetail::getFlowingWaterId); - wq.eq(TjOrderDetail::getIsSampling, 0); - List<TjOrderDetail> detailList = tjOrderDetailService.list(wq); - addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser); - + if (useLisAndPacsRegister) { +// List<TjProject> projectList2 = jianYanProjects.stream().distinct().collect(Collectors.toList()); // 妫�鏌ョ敵璇� pacsReg(order, customer, jianChaProjects); }else { @@ -1003,6 +1082,7 @@ tree.setType("妫�楠�"); LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjProject::getHisXmbm, mxfyxmbm); + wrapper.eq(TjProject::getProParentId,0); List<TjProject> list = projectService.list(wrapper); String tj_price = ""; for (TjProject project : list) { @@ -1027,6 +1107,9 @@ tree.setCreateTime(dates); ltkjJianchajianyanTreeService.save(tree); } + +// List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); +// addCaiYangDengJi(detailList,!detailList.isEmpty(), order, sysUser,jxbz); } } @@ -1065,6 +1148,7 @@ tree.setType("妫�鏌�"); LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjProject::getHisXmbm, mxfyxmbm); + wrapper.eq(TjProject::getProParentId,0); List<TjProject> list = projectService.list(wrapper); String tj_price = ""; for (TjProject project : list) { @@ -1175,6 +1259,7 @@ tree.setType("澶勭疆"); LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjProject::getHisXmbm, mxfyxmbm); + wrapper.eq(TjProject::getProParentId,0); List<TjProject> list = projectService.list(wrapper); String tj_price = ""; for (TjProject project : list) { @@ -1740,12 +1825,8 @@ chargingStandardService.save(tjChargingStandard); } - LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>(); - wq.eq(TjOrderDetail::getOrderId, order.getOrderId()); - wq.isNotNull(TjOrderDetail::getFlowingWaterId); - wq.eq(TjOrderDetail::getIsSampling, 0); - List<TjOrderDetail> detailList = tjOrderDetailService.list(wq); - addCaiYangDengJi(detailList, detailList.size() > 0, order, sysUser); + List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); + addCaiYangDengJi(detailList, detailList.size() > 0, order, sysUser,null); } //棣栭〉楗肩姸鍥剧櫥璁颁汉鏁版帴鍙� -- Gitblit v1.8.0