zhaowenxuan
2024-10-14 18dd637d9a579540d54584525e0137e5b324d4b6
ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -15,6 +15,7 @@
import com.ltkj.framework.config.MatchUtils;
import com.ltkj.hosp.domain.*;
import com.ltkj.hosp.hisDto.*;
import com.ltkj.hosp.pacsDto.SavePacsApply;
import com.ltkj.hosp.service.*;
import com.ltkj.hosp.vodomain.AddNewReservationConfirm;
import com.ltkj.hosp.vodomain.LineChartsVo;
@@ -26,6 +27,9 @@
import com.ltkj.system.service.ISysUserService;
import com.ltkj.web.controller.his.HisApiGetMethodService;
import com.ltkj.web.controller.his.HisApiMethodService;
import com.ltkj.web.controller.pacs.PacsApiMethodService;
import com.ltkj.web.controller.system.TjOrderController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
@@ -48,6 +52,7 @@
 * @Date: 2023/9/15 15:57
 */
@Slf4j
@Service
@Transactional
public class TjSysAsyncServiceImpl implements TjAsyncService {
@@ -131,6 +136,10 @@
    private TjCfService cfService;
    @Resource
    private LtkjHysqdService hysqdService;
    @Autowired
    private TjOrderController tjOrderController;
    @Autowired
    private PacsApiMethodService pacsApiMethodService;
    @Override
    public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
@@ -773,6 +782,9 @@
        }
        ArrayList<TjProject> jianChaProjects = new ArrayList<>();
        ArrayList<TjProject> jianYanProjects = new ArrayList<>();
        if(!projectList.isEmpty()){
            List<TjProject> list = projectList.stream().distinct().collect(Collectors.toList());
            for (TjProject project : list) {
@@ -808,6 +820,7 @@
//                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && (project.getDeptId() == 241L || project.getDeptId() == 317L)) {
                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJyDeptIds().contains(project.getDeptId().toString())) {
                        if (null != project.getHisXmbm()) {
                            jianYanProjects.add(project);
                            OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
                            detailsDto.setMxfyxmbm(project.getHisXmbm());
@@ -855,6 +868,7 @@
//                                    project.getDeptId() == 275L || project.getDeptId() == 298L)) {
                        if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJcDeptIds().contains(project.getDeptId().toString())) {
                        if (null != project.getHisXmbm()) {
                            jianChaProjects.add(project);
                            OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
                            detailsDto.setMxfyxmbm(project.getHisXmbm());
                            if (project.getSfzhfy().equals("Y")) {
@@ -941,7 +955,18 @@
        }
        if(null !=config && config.equals("Y")){
            if (tjOrderController.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);
                // 检查申请
                pacsReg(order, customer, jianChaProjects);
            }else {
            //检验申请
            if(!detailsDtos.isEmpty()){
                OutpintestapplyDto dto = new OutpintestapplyDto();
@@ -1065,7 +1090,7 @@
                    }
                }
            }
            }
            //药品申请
            if(!outpinmedicapplyDetilsDtos.isEmpty()){
                OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
@@ -1197,6 +1222,28 @@
//        }
    }
    private void pacsReg(TjOrder order, TjCustomer customer, ArrayList<TjProject> jianChaProjects) {
        List<TjProject> projectList1 = jianChaProjects.stream().distinct().collect(Collectors.toList());
        JSONArray array = JSONUtil.createArray();
        ArrayList<SavePacsApply> successPacsList = new ArrayList<>();
        ArrayList<SavePacsApply> errorPacsList = new ArrayList<>();
        int allTotal = 0;
        try {
            allTotal = pacsApiMethodService.saveProjects(order, customer, projectList1, array, successPacsList, errorPacsList);
        } catch (Exception e) {
            log.error(e.getMessage());
            for (Object object : array) {
                JSONObject jsonObject = (JSONObject) object;
                pacsApiMethodService.updatePacsApply(jsonObject.getStr("regNo"), jsonObject.getStr("cardId"), jsonObject.getStr("name"));
            }
        }
        log.info("检查总计 ->{}个", allTotal);
        if (!errorPacsList.isEmpty()) {
            log.info("成功 ->{}", successPacsList);
            log.error("失败 ->{}", errorPacsList);
        }
    }
    @Override
    @Async("async")
    public void dockerSetCustomerLisByRedis(List<Long> ksproList, String ksId) {