zjh
2024-04-25 a74b5ffd9c25edd8096220920934e3e42f62cc23
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java
@@ -5,7 +5,6 @@
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ltkj.common.enums.DataSourceType;
import com.ltkj.common.utils.bean.BeanUtils;
import com.ltkj.framework.config.MatchUtils;
import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
import com.ltkj.hosp.domain.TjReservation;
@@ -18,14 +17,10 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.DigestUtils;
import org.springframework.web.bind.annotation.*;
import com.ltkj.common.annotation.Log;
import com.ltkj.common.core.controller.BaseController;
import com.ltkj.common.core.domain.AjaxResult;
import com.ltkj.common.enums.BusinessType;
import com.ltkj.hosp.domain.TjCustomer;
import com.ltkj.common.utils.poi.ExcelUtil;
import com.ltkj.common.core.page.TableDataInfo;
@@ -34,6 +29,7 @@
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -63,6 +59,8 @@
    private LtkjMiddleHeadService headService;
    @Resource
    private LtkjMiddleDetailService middleDetailService;
    @Resource
    private ITjOrderService tjOrderService;
    @GetMapping("/newGetTjPat")
    @ApiOperation(value = "查询his数据库返回新的数据")
@@ -71,7 +69,28 @@
                                  @RequestParam(required = false)String pacRemark) {
        List<Map<String, Object>> maps = testMapper.newGetTjPat(pacCode,pacName,pacRemark);
        DynamicDataSourceContextHolder.clearDataSourceType();
//        List<Map<String, Object>> list=new ArrayList<>();
//        if(null !=maps && maps.size()>0){
//            for (Map<String, Object> map : maps) {
//                String pacCode1 = map.get("pacCode").toString();
//                List<String> s = tjOrderService.selectTjOrderByCardId1();
//                if(null !=s && s.size()>0){
//                    if(s.contains(pacCode1)){
////                        maps.remove(map);
//                        continue;
//                    }
//                    list.add(map);
//                }
//            }
//        }
        List<String> strings = tjOrderService.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);
//        return AjaxResult.success(maps);
    }
@@ -85,7 +104,6 @@
    public AjaxResult getInfoByIdCard(@RequestParam @ApiParam(value = "客户身份证号") String cusIdcard) {
        if (!"".equals(cusIdcard) && cusIdcard != null) {
            //判断身份证号格式是否正确
            // TODO: 2023/2/10  判断身份证号格式是否正确
//            if(cusIdcard.length()==18){
//                if (! MatchUtils.isIdCard(cusIdcard)) {
//                    return AjaxResult.error("身份证号码错误");
@@ -103,8 +121,11 @@
                LtkjTjPat tjPatByIdCard = testMapper.getTjPatByIdCard(cusIdcard);
                if(null != tjPatByIdCard){
                    String fcardNo = tjPatByIdCard.getFcardNo();
                    if(null !=fcardNo){
                    if(null !=fcardNo && !fcardNo.equals("")){
                        fcardNo=fcardNo.trim();
                        tjPatByIdCard.setFcardNo(fcardNo);
                    }else {
                        fcardNo=cusIdcard.trim();
                        tjPatByIdCard.setFcardNo(fcardNo);
                    }
                    //根据身份证号从数据库拿信息 没有的话保存
@@ -125,9 +146,13 @@
                        extracted(customer);
                        return success(customer);
                    }else {
                        String cardId = tjCustomer.getCardId();
                        if(null !=cardId && cardId.equals(tjPatByIdCard.getFcardId())){
                            return AjaxResult.error("不可重复签到");
                        String cardId = tjPatByIdCard.getFcardId();
                        if(null !=cardId && !cardId.equals("0")){
                            int i = tjOrderService.selectTjOrderByCardId(cardId);
                            if(i>0){
                                return AjaxResult.error("不可重复签到");
                            }
                        }
                        tjCustomer.setReservationId(tjCustomer.getCardId());
                        tjCustomer.setCardId(tjPatByIdCard.getFcardId());
@@ -223,6 +248,12 @@
        //从his表抓数据
        LtkjMiddleHead pat = testMapper.getMiddleHeadByPartId(customer.getCardId());
        if (null != pat) {
            LambdaQueryWrapper<LtkjMiddleHead> wq1=new LambdaQueryWrapper<>();
            wq1.eq(LtkjMiddleHead::getFeadId,customer.getCardId());
            headService.remove(wq1);
            LambdaQueryWrapper<LtkjMiddleDetail> wq0=new LambdaQueryWrapper<>();
            wq0.eq(LtkjMiddleDetail::getFheadId,pat.getFeadId());
            middleDetailService.remove(wq0);
            List<LtkjMiddleDetail> list = testMapper.getMiddleDetailByFeadId(pat.getFeadId());
            DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
            LtkjMiddleHead o = headService.getMiddleHeadByPartId(customer.getCardId());
@@ -294,9 +325,10 @@
        if(null !=tjCustomer.getIdType()){
            if(tjCustomer.getIdType().equals("1")){
                b = MatchUtils.isIdCard(cusIdcard);
            }else {
                b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType());
            }
//            else {
//                b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType());
//            }
        }else {
            return AjaxResult.error("请选择证件类型");
        }
@@ -321,7 +353,9 @@
        String substring = cusIdcard.substring(cusIdcard.length() - 6);
        substring = DigestUtils.md5DigestAsHex(substring.getBytes());
        tjCustomer.setCusPassword(substring);
        tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()), "yyyy-MM-dd"));
        if(tjCustomer.getIdType().equals("1")){
            tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()), "yyyy-MM-dd"));
        }
        tjCustomer.setCusNumber(0L);
        if (tjCustomerService.save(tjCustomer)) {
            return AjaxResult.success(tjCustomer);