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.system.mapper.SysConfigMapper; import com.ltkj.system.service.ISysConfigService; 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; @Autowired private SysConfigMapper sysConfigMapper; @Autowired private ISysConfigService sysConfigService; /** * 确认采样接口 */ public Boolean confirmSamplingApi(List 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 ids,String config,String mergeRequest) { // sfkqdshitulianjie if (null == ids || ids.isEmpty()) { return AjaxResult.error("请选择要确认项"); } List tjSamplings = tjSamplingService.listByIds(ids); if (tjSamplings.isEmpty()) return AjaxResult.error("请选择要确认项"); String errorMsg = ""; for (TjSampling sampling : tjSamplings) { if (!sysConfigService.selectConfigByKey("sfkqdshitulianjie").toLowerCase().equals("y")) { if (sampling.getJyxmdm() == null) errorMsg+=sampling.getProName()+"在lis系统未找到对应编码无法发出申请"; } sampling.setIsSignFor("0"); // LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); // wq.eq(TjProject::getProParentId, sampling.getProId()); // List projectList = projectService.list(wq); // List collect = new ArrayList<>(); // for (TjProject project : projectList) { // Long proId = project.getProId(); // collect.add(String.valueOf(proId)); // } // LambdaQueryWrapper wq1 = new LambdaQueryWrapper<>(); // wq1.eq(TjSampling::getTjNum, sampling.getTjNum()); // wq1.in(TjSampling::getProId, collect); // List 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 wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjSampling::getParentId, sampling.getId()); List 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("操作成功"); } }