zjh
2024-12-16 8ee03ce807822e08ab7daebddf88f4cd79993fce
ltkj-admin/src/main/java/com/ltkj/web/controller/sqlserver/TjSqlController.java
@@ -3,21 +3,21 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.ltkj.common.annotation.RepeatSubmit;
import com.ltkj.common.core.controller.BaseController;
import com.ltkj.common.core.domain.AjaxResult;
import com.ltkj.common.core.redis.RedisCache;
import com.ltkj.common.enums.DataSourceType;
import com.ltkj.framework.config.UserHoder;
import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
import com.ltkj.hosp.domain.TjCustomer;
import com.ltkj.hosp.domain.TjOrder;
import com.ltkj.hosp.domain.TjOrderRemark;
import com.ltkj.hosp.domain.*;
import com.ltkj.hosp.service.*;
import com.ltkj.hosp.sqlDomain.*;
import com.ltkj.hosp.mapper.TestMapper;
import com.ltkj.system.service.ISysDeptService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.checkerframework.checker.units.qual.A;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.ConvertingCursor;
import org.springframework.data.redis.core.Cursor;
@@ -27,12 +27,12 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
import static com.ltkj.framework.datasource.DynamicDataSourceContextHolder.log;
import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.save;
@@ -75,15 +75,40 @@
    private ITjOrderService orderService;
    @Resource
    private ISysDeptService deptService;
    @Resource
    private LtkjHisUserService hisUserService;
    @Resource
    private ITjProjectService tjProjectService;
    @Autowired
    private ITjOrderDetailService tjOrderDetailService;
    @Resource
    private ITjOrderRemarkService tjOrderRemarkService;
    @GetMapping("/getTjHyBgList")
    @ApiOperation(value = "查询lis数据库项目信息接口")
    public AjaxResult getTjHyBgList(@RequestParam(required = false)String pacCode,
                                    @RequestParam(required = false)String pacName,
                                    @RequestParam(required = false)String pacRemark) {
        List<Map<String, Object>> maps = testMapper.getTjHyBgList(pacCode,pacName,pacRemark);
        DynamicDataSourceContextHolder.clearDataSourceType();
        return AjaxResult.success(maps);
    }
    @GetMapping("/newGetTjPat")
    @ApiOperation(value = "新的查询体检信息接口")
    @ApiOperation(value = "A------新的查询体检信息接口")
    public AjaxResult newGetTjPat(@RequestParam(required = false)String pacCode,
                                  @RequestParam(required = false)String pacName,
                                  @RequestParam(required = false)String pacRemark) {
        List<Map<String, Object>> maps = testMapper.newGetTjPat(pacCode,pacName,pacRemark);
        DynamicDataSourceContextHolder.clearDataSourceType();
        List<String> strings = orderService.selectTjOrderByCardId1();
        if(null !=strings && strings.size()>0){
            List<Map<String, Object>> collect = maps.stream()
                    .filter(item ->  !strings.contains(item.get("pacCode").toString())).collect(Collectors.toList());
            return AjaxResult.success(collect);
        }
        return AjaxResult.success(maps);
    }
@@ -322,5 +347,116 @@
    }
    @GetMapping("/getLtkjHisUser")
    @ApiOperation(value = "同步his用户")
    public AjaxResult getLtkjHisUser() {
        List<LtkjHisUser> list = testMapper.getLtkjHisUser();
        if(null !=list && list.size()>0){
            DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
            for (LtkjHisUser user : list) {
                LtkjHisUser hisUser= hisUserService.getHisUserByHisGh(user.getHisgh());
                if(null == hisUser){
                    hisUserService.save(user);
                }
            }
            DynamicDataSourceContextHolder.clearDataSourceType();
        }
        return AjaxResult.success();
    }
    @GetMapping("/dataSynchronization")
    @ApiOperation(value = "同步sql server数据到本地数据库数据接口")
    @RepeatSubmit
    public AjaxResult dataSynchronization(@RequestParam String tjNumber) {
        //根据配置调取存储过程 将临时表数据存入预约表2023.12.12
//        final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
//        if ("Y".equals(getInfoFromSqlData)) {
            TjOrder order = orderService.getOrderByTjNum(tjNumber);
            if (null != order) {
                List<LtkjHysqd> one = testMapper.getHysqdByTmh(order.getCardId());
                if (one != null && one.size() > 0) {
                    for (LtkjHysqd ltkjHysqd : one) {
//                        DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
                        LtkjHysqd hysqd = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(ltkjHysqd.getTjh(), ltkjHysqd.getTmh());
                        if(hysqd==null){
                            ltkjHysqdService.save(ltkjHysqd);
                            DynamicDataSourceContextHolder.clearDataSourceType();
                            List<LtkjHybgd> one1 = testMapper.getHybgdByTmh(ltkjHysqd.getTmh());
                            if (one1 != null && one1.size() > 0) {
                                DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
                                ltkjHybgdService.saveBatch(one1);
                                DynamicDataSourceContextHolder.clearDataSourceType();
                            }
                        }
                    }
                }
//                List<LtkjExamJcsqd> one2 = testMapper.getExamJcsqdTmh(tjNumber);
//                if (one2 != null && one2.size() > 0) {
//                    DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
//                    ltkjExamJcsqdService.saveBatch(one2);
//                    DynamicDataSourceContextHolder.clearDataSourceType();
//                    for (LtkjExamJcsqd ltkjExamJcsqd : one2) {
//                        List<LtkjExamJcbgd> one3 = testMapper.getExamJcbgdByTjh(ltkjExamJcsqd.getTmh());
//                        if (one3 != null && one3.size() > 0) {
//                            DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
//                            ltkjExamJcbgdService.saveBatch(one3);
//                            DynamicDataSourceContextHolder.clearDataSourceType();
//                        }
//                    }
//                }
                //同步化验项目
                testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()),order.getTjNumber(), "1");
                //同步检查项目
//                testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()),order.getTjNumber(),"1");
            }
//        }
        return AjaxResult.success("同步成功");
    }
    @GetMapping("/getTjYxjcList")
    @ApiOperation(value = "查询影响检查项目")
    public AjaxResult getTjYxjcList() {
        List<Map<String, Object>> tjYxjcList = testMapper.getTjYxjcList("杨云云",null,null);
        return AjaxResult.success(tjYxjcList);
    }
    @GetMapping("/getPacTjProjectList")
    @ApiOperation(value = "维护套餐页面新增项目时调用")
    public AjaxResult getPacTjProjectList() {
//        LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
//        wq.eq(TjProject::getProParentId, 0);
//        wq.eq(TjProject::getProStatus, 0);
        List<TjProject> tjProjects = tjProjectService.getPacTjProjectList();
//        if (tjProjects != null) {
//            for (TjProject project : tjProjects) {
//                List<TjProject> projectList = tjProjectService.getTjProjectListBySoneId(String.valueOf(project.getProId()));
//                project.setTjProjectList(projectList);
//            }
//            return AjaxResult.success(tjProjects);
//        }
        return AjaxResult.success(tjProjects);
    }
    @GetMapping("/getHuaYanProByTjNum")
    @ApiOperation(value = "根据体检号查询化验项目接口")
    public AjaxResult getHuaYanProByTjNum(@RequestParam @ApiParam(value = "体检号") String tjNumber) {
        Map<String,Object> map=new HashMap<>();
        List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.addHuaYanTable(tjNumber);
        List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.addHuaYanTable(tjNumber);
        map.put("tjOrderDetails",tjOrderDetails);
        map.put("tjOrderRemarks",tjOrderRemarks);
        return AjaxResult.success(map);
    }
}