ltkj-admin/src/main/java/com/ltkj/web/controller/system/SamplingServiceApi.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ltkj-admin/src/main/java/com/ltkj/web/controller/system/SamplingServiceApi.java
New file @@ -0,0 +1,104 @@ package com.ltkj.web.controller.system; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.common.core.domain.AjaxResult; import com.ltkj.hosp.domain.TjCustomer; import com.ltkj.hosp.domain.TjOrder; import com.ltkj.hosp.domain.TjSampling; import com.ltkj.hosp.service.ITjCustomerService; import com.ltkj.hosp.service.ITjOrderService; import com.ltkj.hosp.service.ITjSamplingService; import com.ltkj.web.controller.lis.LisApiMethod; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Slf4j @Service public class SamplingServiceApi { @Autowired private ITjSamplingService tjSamplingService; @Autowired private ITjOrderService orderService; @Autowired private ITjCustomerService customerService; @Autowired private LisApiMethod lisApiMethod; /** * 确认采样接口 */ public Boolean confirmSamplingApi(List<String> ids, String sfkqdyhis, String mergeRequest) { AjaxResult confirm = confirm(ids, sfkqdyhis, mergeRequest); log.info("确认采样返回 ->{}",confirm); return confirm.get("code").toString().equals("200"); } public AjaxResult confirm(List<String> ids,String config,String mergeRequest) { if (null == ids || ids.isEmpty()) { return AjaxResult.error("请选择要确认项"); } List<TjSampling> tjSamplings = tjSamplingService.listByIds(ids); if (tjSamplings.isEmpty()) return AjaxResult.error("请选择要确认项"); String errorMsg = ""; for (TjSampling sampling : tjSamplings) { if (sampling.getJyxmdm() == null) errorMsg+=sampling.getProName()+"在lis系统未找到对应编码无法发出申请"; sampling.setIsSignFor("0"); // LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); // wq.eq(TjProject::getProParentId, sampling.getProId()); // List<TjProject> projectList = projectService.list(wq); // List<String> collect = new ArrayList<>(); // for (TjProject project : projectList) { // Long proId = project.getProId(); // collect.add(String.valueOf(proId)); // } // LambdaQueryWrapper<TjSampling> wq1 = new LambdaQueryWrapper<>(); // wq1.eq(TjSampling::getTjNum, sampling.getTjNum()); // wq1.in(TjSampling::getProId, collect); // List<TjSampling> samplingList = tjSamplingService.list(wq1); // if (null != samplingList && samplingList.size() > 0) { // for (TjSampling tjSampling : samplingList) { // tjSampling.setIsSignFor("0"); // tjSamplingService.updateById(tjSampling); // } // } TjOrder tjOrder = orderService.getOrderByTjNum(sampling.getTjNum()); if(null==tjOrder) return AjaxResult.error("体检记录不存在"); TjCustomer tjCustomer = customerService.getById(tjOrder.getUserId()); boolean updChild; Boolean save; if (null != config && config.equals("Y") && !mergeRequest.equals("Y")) { save = lisApiMethod.save(sampling, tjOrder, tjCustomer); }else { save = true; } if (save) { if (sampling.getIsMerge() == 1) { LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjSampling::getParentId, sampling.getId()); List<TjSampling> list = tjSamplingService.list(wrapper); for (TjSampling tjSampling : list) { tjSampling.setIsSignFor("0"); } updChild = tjSamplingService.updateBatchById(list); } else { updChild = true; } if (!tjSamplingService.updateById(sampling) && !updChild) { // lisApiMethod.cancel(sampling.getJyxh(), tjOrder.getCardId(), PinyinUtil.getFirstLetter(tjCustomer.getCusName(), "")); // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return AjaxResult.error("操作失败请重试"); } } else { return AjaxResult.error("操作失败请重试"); } } if (StrUtil.isNotBlank(errorMsg)) return AjaxResult.error(errorMsg); return AjaxResult.success("操作成功"); } } ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java
@@ -69,6 +69,8 @@ private LisApiMethod lisApiMethod; @Autowired private ISysConfigService configService; @Autowired private SamplingServiceApi samplingService; /** * 查询体检采样管理列表 @@ -361,80 +363,6 @@ public AjaxResult confirmSampling(@RequestBody List<String> ids) { String config = configService.selectConfigByKey("sfkqdyhis"); String mergeRequest = configService.selectConfigByKey("use_lis_pacs_is_auto_merge_request"); return confirm(ids,config,mergeRequest); } /** * 确认采样接口 */ public Boolean confirmSamplingApi(List<String> ids,String sfkqdyhis,String mergeRequest) { AjaxResult confirm = confirm(ids, sfkqdyhis, mergeRequest); log.info("确认采样返回 ->{}",confirm); return confirm.get("code").toString().equals("200"); } private AjaxResult confirm(List<String> ids,String config,String mergeRequest) { if (null == ids || ids.isEmpty()) { return AjaxResult.error("请选择要确认项"); } List<TjSampling> tjSamplings = tjSamplingService.listByIds(ids); if (tjSamplings.isEmpty()) return AjaxResult.error("请选择要确认项"); String errorMsg = ""; for (TjSampling sampling : tjSamplings) { if (sampling.getJyxmdm() == null) errorMsg+=sampling.getProName()+"在lis系统未找到对应编码无法发出申请"; sampling.setIsSignFor("0"); // LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); // wq.eq(TjProject::getProParentId, sampling.getProId()); // List<TjProject> projectList = projectService.list(wq); // List<String> collect = new ArrayList<>(); // for (TjProject project : projectList) { // Long proId = project.getProId(); // collect.add(String.valueOf(proId)); // } // LambdaQueryWrapper<TjSampling> wq1 = new LambdaQueryWrapper<>(); // wq1.eq(TjSampling::getTjNum, sampling.getTjNum()); // wq1.in(TjSampling::getProId, collect); // List<TjSampling> samplingList = tjSamplingService.list(wq1); // if (null != samplingList && samplingList.size() > 0) { // for (TjSampling tjSampling : samplingList) { // tjSampling.setIsSignFor("0"); // tjSamplingService.updateById(tjSampling); // } // } TjOrder tjOrder = orderService.getOrderByTjNum(sampling.getTjNum()); if(null==tjOrder) return AjaxResult.error("体检记录不存在"); TjCustomer tjCustomer = customerService.getById(tjOrder.getUserId()); boolean updChild; Boolean save; if (null != config && config.equals("Y") && !mergeRequest.equals("Y")) { save = lisApiMethod.save(sampling, tjOrder, tjCustomer); }else { save = true; } if (save) { if (sampling.getIsMerge() == 1) { LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjSampling::getParentId, sampling.getId()); List<TjSampling> list = tjSamplingService.list(wrapper); for (TjSampling tjSampling : list) { tjSampling.setIsSignFor("0"); } updChild = tjSamplingService.updateBatchById(list); } else { updChild = true; } if (!tjSamplingService.updateById(sampling) && !updChild) { // lisApiMethod.cancel(sampling.getJyxh(), tjOrder.getCardId(), PinyinUtil.getFirstLetter(tjCustomer.getCusName(), "")); // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return AjaxResult.error("操作失败请重试"); } } else { return AjaxResult.error("操作失败请重试"); } } if (StrUtil.isNotBlank(errorMsg)) return AjaxResult.error(errorMsg); return AjaxResult.success("操作成功"); return samplingService.confirm(ids,config,mergeRequest); } } ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderService.java
@@ -146,6 +146,11 @@ Boolean delHuoQuJcsqdh(String cardId); List<String> getHuoQuJysqdh(String cardId); List<String> getHuoQuJysqdhNotBuLu(String cardId); List<String> getHuoQuJysqdhBuLu(String cardId); Boolean delHuoQuJysqdh(String cardId); List<String> getHuoQuZlsqdh(String cardId); ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java
@@ -35,7 +35,7 @@ void updateOrdeltile2(TjOrderDetail tjOrderDetail, SysUser sysUser); //单项收费 void iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser); Boolean iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser); //医生检查向缓存中添加数据(整体存入)